Truco 61. Añadir campos adicionales en los informes de pedidos de Compras.


Aunque no suele ser un requerimiento muy habitual, pues los informes estandar de pedidos ya ofrecen bastante información (por ejemplo, en las transacciones ME2L, ME2M, etc), en ocasiones podemos tener la necesidad de incluir otros campos en estas transacciones para visualizar contenido adicional o campos de cliente.

Si teneis este requerimiento y estáis en la versión de SAP ECC (EHP4 FOR SAP ERP 6.0 / NW7.01), podreís utilizar la Badi ME_CHANGE_OUTTAB_CUS donde podremos incluir este requerimiento.

Para poder hacer efectivo este cambio, tendremos que trabajar en los informes de pedidos con el alcance de lista en modo «ALV». Los pasos a seguir utilizando esta alternativa serían los siguientes:

1. Incluir los campos adicionales en las estructuras correspondientes.

La estructura a modificar para incluir los campos adicionales será la MEREP_OUTTAB_PURCHDOC. Esta estructura corresponde a la vista «Lista básica» de los documentos de compras.

Tendremos otras estructuras similares para incluir campos adicionales en las otras vistas disponibles en estos informes:

  • MEREP_OUTTAB_SCHEDLINES: vista Repartos.
  • MEREP_OUTTAB_ACCOUNTING: vista Imputación.

En nuestro ejemplo, trabajaremos  con la «Lista básica» y por tanto modificaremos la estructura MEREP_OUTTAB_PURCHDOC utilizando la transacción SE11.

me2l_1Para incluir los campos, añadiremos una estructura Append siguiendo las instrucciones que vemos en la imagen. A continuación incluiremos los campos de la estructura append (recomendable que empiezen por ZZ) . En nuestro ejemplo, hemos incluidos tres campos donde mostraremos el usuario que ha creado un pedido, la fecha y hora de creación (podíamos haber incluido otras muchas cosas como información de liberación, información adicional de la cabecera o posiciones relacionada con el proveedor, material, etc).

me2l_2Finalmente, desde la opción de menú Detalles –> Categoría de ampliación realizaremos la clasficación de la ampliación, indicadando «Ampliable de cualquier manera». A continuación activaremos el objeto, que ya quedará listo para su posterior «llenado» utilizando la Badi.

Desde este momento, los campos ya aparecen disponibles en los informes de pedidos (ME2L, ME2M), aunque sin valor alguno.

2. Implementar la Badi con el código que llenará los valores de los campos incluidos.

Con las transaccion habitual (SE19), crearemos una implementación de la Badi ME_CHANGE_OUTTAB_CUS e incluiremos el código Abap para realizar el llenado de los campos añadidos en la estructura MEREP_OUTTAB_PURCHDOC (usaremos para ello el parametro CH_OUTTAB, que es la tabla accesible en la Badi donde estarán disponibles todos los campos mostrados en el informe).

En el caso de estar en una versión anterior de Sap, os recomiendo la lectura detallada del Blog de nuestros amigos de Saptechnical.com donde explican la forma de hacerlo utilizando Enhancement points. Podéis acceder al contenido en este enlace:

http://saptechnical.com/Tutorials/ExitsBADIs/ME2N/Index.htm

En esta segunda alternativa crearemos un enhacement point en el método BUILD_BASE_LIST que se encuentra en el include LMEREPD02 del programa SAPLMEREP (el que se llama desde los informes de pedidos).

En esa ampliación incluiremos el código que llenará con valor los campos incluidos en la estructura (que tendremos accesibles en la tabla RE_OUTTAB_PURCHDOC) y que se visualizaran con el valor correspondiente en los informes de pedidos.

En esta entrada del SCN teneís información adicional sobre este método:

http://scn.sap.com/community/erp/logistics-mm/blog/2014/12/12/add-the-field-user-name-in-various-purchasing-reports-output-alv-list

Espero que os sea de utilidad.

Esta entrada fue publicada en Abap, Formacion, SAP MM y etiquetada , , . Guarda el enlace permanente.

9 respuestas a Truco 61. Añadir campos adicionales en los informes de pedidos de Compras.

  1. lizette mendez_plata dijo:

    Roberto buenos días, espero puedas ayudarme con un problema que tengo con unas estrategias de liberación, fijate que hemos detectado con algunas pruebas que no toma algunos rangos que tenemos dentro de las estrategias y otro problema que tambien estamos detectando que cuando cambiamos la cantidad dentro de nuestro pedido no se reinicia la estragtegia de liberación. Espero me puedas ayudar con este tema ya que nos urgue solucionarlo Date: Wed, 1 Jan 2014 18:14:43 +0000 To: lizette_plata@hotmail.com

  2. Hola Lizette:

    Para el tema de los rangos que no se toman, tendréis que revisar que los valores de caracteristica estan bien definidos en todos los sistemas (y las características estan correctametne creadas).

    Respecto a que no se reinicie la estrategia de liberación, tienes que revisar la parametrización de los indicadores de liberación en la ruta de custo:

    Gestion de materiales –> Compras –> Pedido –> Procedimiento de liberacion para pedidos –> Especificar procedimiento de liberacion –> INdicador de liberacion

    Te recomiendo que para que se reinicie la liberacion pongas el valor 6 en Modif, eso hará que siempre se reinicie. Te en cuenta que tambien el valor de la columna Mod.valor en % determina para que porcentaje hacia arriba de modificación del importe se ha de reiniciar la liberación (si se disminuye el importe nunca se reinicia la liberación).

    Un saludo.

  3. Germán Obregón dijo:

    Buenos días Roberto, ante todo te felicito, toda tu información nos facilita tareas y nos resuelve dudas en infinidad de situaciones del trabajo en el día a día. No se si es sobre este truco que tengo que consultar, te comento. Utilizamos la transacción MC$> para analizar las compras, y te posibilita desgloce por grupo de compras o por proveedor. Mi necesidad es abarcar ambos puntos de desgloce, o sea, tener un reporte por proveedor que muestre también el grupo de compras (se alargaría el informe ante el caso de un proveedor que nos vende materiales de mas de un grupo de compras obviamente). Existe una transacción? Existe otro informe que me sirva a tal fin? Desde ya mil gracias.

    • Hola German:

      No conozco un informe que saque la información desglosada en esos dos niveles. Una opción que puedes utilizar desde la misma MC$> es hacer la descarga a Excel. El sistema te pregunta a que nivel quieres hacer el desglose de la información, y puedes seleccionar a la vez proveedor y grupo de compras…teniendo el resultado de la forma que deseas.

      En la excel te bajara la información con ese desglose (o con cualquier otro que necesites con las características disponibles en el informe).

      Un saludo.

      • Germán Obregón dijo:

        Excelente Roberto, como siempre, te vuelvo a felicitar por el contenido, la experiencia y la rapidez de respuesta. Esto que me pasaste es justo lo que estaba precisando, gracias!!!

  4. MARIO dijo:

    Roberto buenas tardes,

    Hay una manera de que los pedidos que están liberados se puedan dar el indicador de factura final, sin necesidad de quitare la liberación?, ya que como sabrás cuando están liberados no se pueden modificar. Desde ya te agradezco tu apoyo.

  5. Pepe García dijo:

    ¿Y por qué no pones directamente el ERNAM en la ampliación de la estructura en vez de crear un campo Z?

  6. Buen día Roberto. Después de tantos años vuelvo a felicitarte porque veo que es información que con el correr del tiempo siempre termina siendo necesaria. Por un lado, nos das la forma de incluir los campos en el reporte, y por el otro, de tomar la información de donde esté guardada. Cómo tendría que hacer para llenar estos campos desde la orden de compra? Desde ya muchas gracias!!!

Deja un comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.