Truco 41. Campos de cliente para definir estrategias de liberación en compras.


Nuestro truco de hoy habla de la forma de añadir campos de cliente para poderlos utilizarlos en las estrategias de liberación de pedidos de compras. En una entrada anterior del blog hablabamos de la forma de configurar esta funcionalidad en nuestro sistema ().

Tal y como vimos en dicha entrada, cuando creabamos las características (criterios) que luego ibamos a utilizar en la definición de las estrategias de liberación, utilizabamos la estructura CEKKO que es la que tenemos disponible al crear/modificar los pedidos de compra para obtener información con la que “llenar” las estrategias y decidir que tipo de liberaciones son necesarias.truco41_1

Puede haber ocasiones en que los campos disponibles no cubren nuestros requerimientos y tenemos que recurrir a la puerta de atras que casi siempre Sap nos deja abierta via ampliaciones o badis. En este caso, la ampliación “M06E0004 – Modif.estructura comunicación p.liberación docs.compras” nos permite personalizar el código Abap para dotar de valor a estos posibles criterios de clasificación adicionales.

Por si no conoceis la forma de activar las ampliaciones, en esta otra entrada del blog hablabamos de la forma de hacerlo.

AMPLIACION DE LA ESTRUCTURA CEKKO.

El primer paso para cubrir nuestra necesidad sera añadir en la estructura nuestros nuevos campos de clasificación. Tener en cuenta que la estructura ya cuenta con varios campos de usuario (USRC1, USRC2, USRN1 y USRN2) que nos podrían valer para este cometido. En caso contrario, con la transacción SE11 añadiremos los campos adicionales utilizando la estructura append CEKKOZZ. Tendremos que registrar la modificación del objeto en el OSS de Sap sino se ha realizado previamente en el sistema. truco41_2

Como podemos ver, los campos que hemos añadido a la estructura append ya aparecen en la definición de la CEKKO una vez hemos terminado. En nuestro caso, hemos añadido el campo LAND1 porque vamos a realizar una personalización de las estrategias de liberacion según si el proveedor de la compra es nacional o extranjero. Las compras al extranjero tendrán un esquema de liberación diferente, con un paso de aprobación adicional.

CREACION DEL PROYECTO DE AMPLIACION Y PROGRAMACION PARA LLENAR LA TABLA.

De la forma habitual, crearemos un nuevo proyecto de ampliación con la transacción CMOD y le asignamos la ampliación M06E0004.truco41_3

A continuación accedemos a los componentes de la ampliación y vemos que utiliza el módulo de función EXIT_SAPLEBND_002 para hacer la llamada a la Exit. Dentro del módulo tenemos el include  ZXM06U22 que tendremos que crear para incluir nuestro código Abap. En este caso, leeremos del maestro de proveedores (tabla LFA1) el pais de este y lo pasaremos a la estructura de salida. Dentro del include tenemos disponibles varias estructuras con información de cabecera y posiciones del pedido, ademas de la misma CEKKO que contiene informacion general del pedido de compras.truco41_4

Para simplificar luego la gestión de las estrategias de liberación, tendremos el pais ES para las compras nacionales y el pais ficticio OT para indicar cualquier otro país. Esto se podría complicar tanto como se quisiera según area geográficas, zonas, etc.

Activaremos el include y el proyecto de ampliación, y el nuevo campo estara listo para ser incluido en las caracteristicas de la clase para definir las estrategias de liberación.

NOTA IMPORTANTE: en las tablas que tenemos disponibles dentro de la exit podemos acceder de forma detallada a información del pedido:  IT_BEKPO Información de las posiciones, IT_BEKET información de los repartos e IT_EKKNU Información de las imputaciones. De esta ultima tabla leeremos para el caso de que quisieramos leer información de imputación de las posiciones para incluirla en nuestros criterios de clasificación para la liberación (Peps, Centros de coste, Ordenes, etc).

Cuando estemos creando las características para la estrategia de liberación, ya tendremos disponible el nuevo campo que hemos añadido.truco41_5

Incluiremos la caracteristica en la clase que estemos utilizando y finalmente en los definición de la estrategia de liberación indicaremos los valores correspondientes para que sea necesario un aprobador más o no según el pais de la compra.truco41_6

Finalmente, al crear los pedidos, el sistema se estara comportando de forma diferente. En la imagen siguiente vemos en la pestaña “Estrategia liberacion” como para un cliente nacional aparece un esquema de liberación. En cambio, para el cliente extranjero (numero 29) aparece una paso de liberación adicional, con la obligación de pasar por el código de aprobador “Z4-Aprob.Importación” antes de poder hacer cualquier tipo de liberación del pedido.truco41_7

Es un ejemplo sencillo de como podemos personalizar con los criterios mas variados la forma de generar nuestras estrategías de liberación.

Como información adicional os dejo este interesante documento que habla sobre la Exit extraido del SCN de Sap: Release Strategy Enhancement in Purchase Order. Gracias a Zafar A.Valsal por su aportación.

 

NOTA: si estuvieramos trabajando con estrategias de liberación en Solicitudes de Pedido, hubieramos trabajado con la estructura CEBAN de la misma manera y la ampliación “M06B0005 – Modif.estruct.comunicación p.liberación general solic.pedido”.

Anuncios
Esta entrada fue publicada en Formacion, SAP MM. Guarda el enlace permanente.

24 respuestas a Truco 41. Campos de cliente para definir estrategias de liberación en compras.

  1. Carlos dijo:

    Hola Roberto;

    Ante todo quisiera darte las gracias, por tu dedicación y aporte.

    Tengo una pregunta puntual:
    Si quiero realizar un control de OC y Solped, para Centro de costos y elemento PEP, los mismo son por posiciones del pedido o solped.
    ¿En la activación de las estrategias de liberación tomaría solo la primera posición, para las liberaciones?
    Veo un poco complicado el control de OC, con varias posiciones y datos diferentes…

    Muchas gracias!

    • Hola Carlos:

      Liberacion de solpeds: se realiza a nivel de posicion
      Liberacion de OC (pedido): se realiza a nivel de documento.

      Implementar la liberacion por centro de coste/elemento pep en la OC/Pedido implica que puedes tener posiciones que vayan a imputaciones diferentes, lo que te complica todo mucho. En la exit tienes que controlarlo, y no parece algo sencillo. Tu leerias los diferentes datos de las diferentes posiciones y decidirias los valores que pasas en la estructura CEKKO, que son los que luego se pasan para que los valores de características determinen la estrategia de liberacion. Para mi, hacerlo asi no tiene mucho sentido. Ademas puede haber muchisimos cecos y peps (que ademas son un dato variable que da de alta el usuario). Y piensa que cuando se vayan dando de alta nuevos codigos ceco/pep, tienes que tratar las estrategias para ver si incluyes los nuevos valores en alguna caracteristica o creas nuevas estrategias de liberacion.

      Si lo haces en la solicitud de pedido, al hacerse las liberaciones por posicion, es mas sencillo. Aunque la complejidad si tienes muchos codigos diferentes sigue estando.

      Un saludo.

  2. Hector dijo:

    Hola Roberto gracias por la ayuda que das.

    tengo una consulta: En las estrategias de HES se utiliza la estructura CESSR, pero en esta no encuentro un campo que necesito. existe alguna ampliación para esta estructura al igual como existe para la CEKKO y la CEBAN.

    de antemano muchas gracias
    saludos

    • Hola Hector:

      Para modificar el contenido de la estrucutura CESSR, tienes la exit:
      SRVREL – Modif.estruct.comunicación para liberación hoja entrada

      que llama al modulo de funcion:
      EXIT_SAPLEBND_003 – Change to Comm. Structure for Release Strategy Determination, Entry Sheet

      La puedes gestionar de la forma habitual con la CMOD (SMOD).

      Saludos.

  3. Dante dijo:

    Roberto:

    Existe un reporte en Project System donde pueda visualizar el campo “No. necesidad” para una Operación trabajo externo?

  4. Candela dijo:

    Hola Roberto!
    Una consulta: Existe alguna transacción que permita ver cuáles son las estrategias de liberación, y todo el detalle de sus características, que tiene asociadas un usuario?
    A través de la SUIM, sería posible obtener esta información?
    Muchas gracias!

    • Hola Candela:

      Para sacar esta información tendrías que hacerlo desde dos sitios.

      Por un lado, se puede ver forma más o menos rápida las estrategias que tenemos definidas en nuestro sistema con sus valores de clasificación utilizando la transacción CL24N (te recomiendo la lectura del siguiente post del blog):

      https://saptricks.wordpress.com/2013/11/21/truco-59-analizando-la-clasificacion-en-nuestras-estrategias-de-liberacion-en-compras/

      Por otro lado, para ver los usuarios que pueden liberar en cada estrategia, efectivamente te tienes que ir a la transaccion SUIM. Tienes que buscar los usuarios que tengan asociado el objeto de autorización M_EINK_FRG y las transacciones de liberacion ME29N o ME28 (objeto de autorizacion S_TCODE).

      Un saludo.

      • Candelaria Dajuvi dijo:

        Gracias, Roberto!
        Tus respuestas y consejos siempre son excelentes. El Truco 59 me resultó de gran ayuda.
        Una nueva consulta: sabrías decirme si existe alguna tabla donde se defina para cada estrategia de liberación, cuáles son las condiciones o características específicas?

        Ejemplo: para la CLASE FRG_EKKO, hay definidas en el sistema las siguientes características:

        BSART: (múltiples valores)
        EKORG: (múltiples valores)
        EKGRP: (múltiples valores)
        GNETW: (múltiples valores)

        Cómo puedo saber a través de una tabla de SAP, o la combinación de varias tablas, cuáles de esos valores se aplican a una estrategia determinada? Porque me imagino que si en el campo GNETW están registrados los valores:
        500010000
        deberá especificarse en alguna parte cuál de ellos corresponde a una estrategia en particular

        Desde ya, muchísimas gracias!
        Saludos cordiales
        Candelaria

    • Prueba con la transaccion CL24N.

      Pones la clase de tus estrategias y la categoria 032 y podrás ver todos los valores. Por las tablas no te sabria decir cuales son.

      Un saludo.

  5. Juan José dijo:

    Hola Roberto.
    Muchas gracias por todo lo que nos instruyes. Estamos aplicando estrategias a nivel de posiciones en la ME51N. El usuario ahora nos pide que además de todas las validaciones actuales, tomemos determinadas estrategias dependiendo del valor total de la solped. Nuestro problema es que tenemos que volver a revisar todas las posiciones en el momento de tener el total general y no sabemos como hacerlo. Por ejemplo:
    Estrategia AA: total $20.000
    Ingresamos una posición con importe = $15.000, lo que nos determina la estrategia AA
    Luego ingresamos una nueva posición de $10.000, entonces para esta segunda posición se determina la estrategia AB. Nuestro problema es que la estrategia de la 1° posición se queda fijada en AA y necesitamos que cambie a AB.
    Podrías ayudarme con este ISSUE que se nos presentó?
    Muchas gracias. Saludos, Juan José

    • Juan José dijo:

      Perdón, quedó mal expresado:
      Sería… Por ejemplo:
      Estrategia AA: total menor e igual a $20.000
      Estrategia AB: total mayor a $20.000
      Muchas gracias nuevamente.

    • Hola Juan Jose:

      En las solicitudes de pedido, se puede realizar una liberación por documento, en lugar de por posición.

      Eso se parametriza por clase de documento. Hay un flag en la definición de las clases de documento, en el campo LibGSolped, que determina que la libereacion sea por todo el documento.

      Entiendo que en ese caso (tendrías que comprobarlo), en la estructura de intercambio de la liberacion (estructura CEBAN), en el campo importe debe de venir el importe total de todas las posiciones de la solped.

      Creo que así podráis solucionar tu problema. A ver si te vale. Ya nos cuentas.

      Un saludo.

  6. Juan José dijo:

    Hola.
    Gracias por la respuesta.
    Efectivamente hemos agregado un campo Z para almacenar el total.
    Nuestro caso es que no podemos cambiar la liberación por posiciones y pasarlo a nivel de cabecera porque impactamos a varios países.
    El campo Z del total recién tiene el valor que necesitamos cuando ya terminamos de completar las posiciones y no antes. Entonces las estrategias que ya se definieron para las posiciones previas hasta que llegamos a nuestro límite de $20.000 tienen una estrategia incorrecta.

    Saludos, Juan José.

  7. Marcos Irizar dijo:

    Hola gusto en saludarles, una pregunta bajo el estandar puedo configurar que la estrategia de liberación de pedidos me concidere los indicadores de impuesto de bienes y servicios (IVA)?

    gRACIAS.

  8. Marcos Irizar dijo:

    Buenos días, en las solped hay un Status tratamiento solicitud pedido, cuando esta en estatus 2 que significa 02 Activa, veo que la ventana de estrategia desaparece. Gracias

  9. Milena Mendoza Martinez dijo:

    Hola, una pregunta como podria hacer para que un usuario no me cambie el texto breve de material de una solped que ya esta liberada? existe alguna configuración estandar? igual que en los pedidos, existira como bloquear cambios de campos que no estan dentro de la configuración de la estrategia de liberación, ejemplo: condiciones de pago a proveedor

  10. Lucia Marcer dijo:

    Hola Roberto.
    Se me presenta que tengo un tipo de pedido con un esquema de precios en el tengo una condición de descuento pero al hacer la Hoja de entrada de servicio contra este documento no se lleva la condicion del descuento, la condicion esta configurada en el esquema de pedido y servicios, que puede faltarme para que al hacer la hoja de entrada se lleve el descuento indicado en el pedido.

  11. Lucia Marcer dijo:

    Hola Roberto, tengo una estrategia de liberacion en la que hay cuatro codigos liberadores, el ultimo lo voy a cambiar por que el Coordinador cambio. El tema es que si cambio este codigo liberador los pedidos anteriores muestran el cambio.

    El mismo caso si elimino un codigo liberador, todos los pedidos anteriores no muestran ese codigo liberador?

    Existira alguna configuracion para que no pase esto o solo queda crear estrategias nuevas?

    Muchas gracias.

    • Hola Lucia:

      Me temo que no existe ninguna configuración para hacer lo que tu quieres. Tendrias que crear estrategias nuevas, con la nueva configuración.

      Hay gente que mete la fecha en las estrategias para poder hacer “cortes” limpios por fecha de documento, y asi hacer el transito de unas estrategias a otras. Pero es un poco complicado una vez tienes todo montado.

      Un saludo.

  12. Alberto Guerrero dijo:

    Hola Roberto,
    No se si se le habrá presentado este caso, estoy trabajando con Estrategias de Liberación para Peticiones de Oferta, pero en la clase que valida el documento de compras valida unos documentos y otros no. En la característica estoy usando la tabla CEKKO y el campo BSART. Adicionalmente tengo otra característica para diferenciar el tipo de documento con el campo CEKKO-BSTYP.

    Gracias por sus comentarios

  13. Maria dijo:

    Hola Roberto,

    tenemos un problema. Hemos añadido los pasos que indicas para tener un campo de cliente en las estrategias de liberacion. El problema es que los datos de ese campo vienen determinados por un campo Z, al modificar unicamente ese campo, en la funcion ME_REL_STRATEGIE_EKKO, no detecta que se haya modificado, y por tanto la estrategia no se redetermina.

    ¿Nos podrías ayudar?

    Muchas gracias!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s