Está en la página 1de 2

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.

Para 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).
REPORT THIS AD

Finalmente, 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.