PDA

Ver la Versión Completa : UserExit PM EXIT_SAPLITO0_002


katanka3
14/01/11, 09:47:07
Hola saperos, tengo un problema y este ha derivado en otros.

Me piden que modifique una userexit en mi caso la EXIT_SAPLITO0_001 y la EXIT_SAPLITO0_002. Para que se añada una pestaña nueva con 3 checkbox en las transacciones IL01, IL02, IL03. Esa pestaña, que llevan 3 Check box que se alimenta de los datos de la ILOA y guarda los datos en la ILOA, en esta tabla previamente he creado los tres campos en el include de la ILOA ( CI_ILOA ) que será donde se guarden los nuevos datos de la nueva subscreen creada.

Para mostrar o modificar no tengo problemas, muestro los que contenga la ILOA con la exit, EXIT_SAPLITO0_001:

* Muevo los datos de la estructura de la exit i_data_iflo a una interna para mostrar el contenido de los checkbox
MOVE-CORRESPONDING i_data_iflo TO wa_iloa.
MOVE wa_iloa-gmp TO box_gmp.
MOVE wa_iloa-seguridad TO box_segur.
MOVE wa_iloa-ma TO box_ma.
* Guardo en una variable el tplnr,
v_tplnr = i_data_iflo-tplnr.

Y para guardar los datos modificados uso la exit EXIT_SAPLITO0_002 y modifico con un Modify a la ILOA.

MOVE v_tplnr TO wa_iloa-tplnr.
MOVE box_gmp TO wa_iloa-gmp.
MOVE box_segur TO wa_iloa-seguridad.
MOVE box_ma TO wa_iloa-ma.

MODIFY iloa FROM wa_iloa.


El problema es al crear (IL01), que NO me crea bien la ubicación porque sap tiene que hacer mas cosas aparte de meter los registros en la ILOA, entonces he pensado mandar los tres campos del checkbox a una de las estructuras de la exit, y intentar que ella haga los cambios a las tablas.

Para eso he modificado una estructura que usa la exit la (IFLO_USR1) para que lleve los tres campos de los checkboxs a la ILOA, ( que era lo que hacia antes con le modify pero que para crear no me funciona por que me pide el estatus y otros campos ) Y AQUI ESTA EL PROBLEMA.

Al haber modificado los includes de tablas CI_ILOA y CI_IFLOT con los mismos campos (gmp, seguridad, ma), hay una tabla la DIIFLO que usa ambos includes, por lo que me da al activar el error de campos duplicados.

He borrado los campos de la CI_IFLOT, para que no me de el fallo de campos duplicados en DIIFLO y no haya inconsitencias en las transacciones, pero ahora no se como pasar mis campos de los check box a la ILOA, SIN EL MODIFY, y como creo las ubicaciones con las exit EXIT_SAPLITO0_002.

Necesito un poco de orientación sobre el tema, y ver que solución le puedo dar para crear la "Ubicación técnica usando las estructuras de la userexit y no un modify a la tabla ILOA.

Gracias, por los aportes, ademas estoy creando un manual de como usar estas userexit con todo detalle.