Hace unos días me encontré con un problema que no sabía resolver. Buscando a través de internet di con un post de @DavidRuedaB que me dio la idea para la solución. En él explicaba cómo agregar campos nuevos sobre transacciones de Gestión de Calidad. Su caso era algo diferente al mío pero su explicación me resultó muy útil. Yo tenía que modificar la transacción de reclamaciones para incluir el campo número de orden en las reclamaciones de clientes. Sin embargo, las tablas que subyacen y la estructura de las transacciones es la misma tanto para calidad como para reclamaciones. Así que en este artículo voy a explicar cómo resolví este problema en Gestión de Reclamaciones y, sobre todo, cómo se pueden incluir nuevos campos en el listado de reclamaciones CLM10.
Crear campos nuevos en la CLM1
- Creé un campo nuevo en la tabla QMEL a la que di el nombre ZZAUFNR a la vez que creaba una append para esta estructura.
- A través de la ampliación QQMA0001 (QM/PM/SM: Subscreen usuario p.cabecera aviso) utilicé la exit EXIT_SAPMIWO0_009 para que se pudiese almacenar la información introducida por el usuario en la tabla QMEL.
*Customer Exit: Transfer Notification Data
move viqmel-zzaufnr to e_viqmel-zzaufnr.
- Activé la dynpro SAPLXQQM 0100 como subscreen dentro de la ampliación.
- A través del customizing de Clase de aviso asocié la dynpro 100 de la ampliación al ámbito de imagen visible en la transacción
IMG: Mantenimiento y servicio al cliente / Gestión de mantenimiento y servicios / Aviso de mantenimiento y de servicios / Resumen de clase de aviso
Hasta aquí los pasos fueron parecidos a los descritos por David.
Añadir campos al listado CLM10
- Creamos un campo adicional en la estructura RCLAIM001 que soporta el listado de reclamaciones. Yo creé una estructura append a la que añadí un campo llamado ZZ_AUFNR.
- Hay que crear una implementación nueva para la definición de BADI CLAIM_REPORT_ADD_1. Yo creé una llamada Z_RECLAMACIONES.
- Dentro de la BADI incluimos nuestro código ABAP que permitirá traspasar la información de la tabla VIQMEL al listado de reclamaciones.
data: lt_qmel type RCLAIM001.
loop at pt_qmel into lt_qmel.
* Orden
select single zzaufnr from viqmel
into lt_qmel-zz_aufnr
where qmnum = lt_qmel-qmnum.
modify pt_qmel from lt_qmel
transporting zz_aufnr
where objnr = lt_qmel-objnr.
endloop.
Listado de reclamaciones
Ya sólo nos queda listar la información y ver cómo queda nuestro nuevo campo.
Logística / Sistema de proyectos / Reclamación / CLM10 - Resumen
- En la pantalla de selección entraremos las condiciones de selección.
- Y vemos cómo ya nos aparece el nuevo campo.
No hay comentarios:
Publicar un comentario