✒️ABAP La creación del programa de extracción Z para IDocs de salida
ABAP La creación del programa de extracción Z para IDocs de salida
Creación de un programa Z para los IDocs de salida
- Crearemos el programa Z_ENVIAR_IDOC_SALIDA, el cual enviará los datos de un usuario de la tabla Z_TABLA_USUARIOS. El programa tiene una pantalla de selección donde ingresamos un número de DNI que será procesado. Luego validaremos que el DNI ingresado no este vacío.
- Luego en el evento START-OF-SELECTION creamos la subrutina edidc, la cual carga el registro de control del IDoc. Los datos más importantes que se cargan son
- El tipo de mensaje
- El tipo base
- El número de partner que recibe
- El puerto de salida
- La indicación de que utilizamos un sistema lógico.
También indicamos la dirección del IDoc en el campo direct con un 1 que significa "salida".
- Luego en la subrutina data_idoc, haremos dos cosas:
- Primero obtenemos la información de la tabla Z_TABLA_USUARIOS a partir del parámetro ingresado por pantalla
- Y segundo cargamos el segmento con los resultados de la búsqueda de la tabla de usuarios. Es ideal crear una subrutina por cada segmento a cargar en caso de existir más de uno.
- En la subrutina outbound_usuarios, ejecutamos la función MASTER_IDOC_DISTRIBUTE, que crea y procesa el IDoc.
- Por ultimo ejecutamos el programa estándar RSEOUT00 que fuerza la salida del IDoc al exterior.
Ahora vamos a ejecutar el programa, para ello seleccionamos un DNI de un usuario ponemos el debbuger (/h) y ejecutamos.
En la variable ls_usuarios recuperamos los datos de la tabla Z_TABLA_USUARIOS. Luego de ejecutar la función MASTER_IDOC_DISTRIBUTE veremos en la variable pt_idoc_ctrl-docnum, el número de IDoc creado.
Finalmente ejecutamos el programa estándar RSEOUT00 y vemos en pantalla el mensaje de creación de un IDoc.
Ahora vamos a la transacción BD87 para ejecutar el IDoc. Esto se debe a como mencionamos en la lecciones el procesamiento de los IDoc es asincrónico, y si queremos que sea sincrónico entonces debemos forzarlo.
Aquí vemos que el estatus actual de IDoc es 30. Vamos a seleccionar el IDoc y presionar el botón procesar. Ahora vemos que el estado del IDoc pasó del 30 al 03 con estatus OK.
Por ultimo vamos a ejecutar la transacción WE05 para visualizar el IDoc que acabamos de crear. Aquí podremos ver los registros de control, datos y estatus del IDoc, junto con su contenido y toda la información referida al mismo.
 
 
 
Sobre el autor
Publicación académica de Ninoska Marquez, en su ámbito de estudios para la Carrera Consultor ABAP.
Ninoska Marquez
Profesión: Ing. de Sistema - Honduras - Legajo: FU90M
✒️Autor de: 99 Publicaciones Académicas
🎓Egresado de los módulos:
Presentación:
Me llamo ninoska marquez tengo 44 anos, tengo varios años de trabajar para una empresa donde me desempeño con el cargo de programador junior, soy perseverante, amable, tranquila
Certificación Académica de Ninoska Marquez