✒️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
Unidad-4-Leccion-10: Creación de un programa Z para los IDocs de salida
1. 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.
2. Acto siguiente, 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
a. El tipo de mensaje
b. El tipo base
c. El número de partner que recibe
d. El puerto de salida
e. 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.
3. Luego en la subrutina data_idoc, haremos dos cosas:
a. Primero obtenemos la información de la tabla Z_TABLA_USUARIOS a partir del parámetro ingresado por pantalla
b. 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.
4. En la subrutina outbound_usuarios, ejecutamos la función MASTER_IDOC_DISTRIBUTE, que crea y procesa el IDoc.
5. 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 Oscar Perez, en su ámbito de estudios para la Carrera Consultor ABAP.
Oscar Perez
Profesión: Ingeniero de Sistemas. Consultor y Desarrollador en Peoplesoft - Canada - Legajo: FD38F
✒️Autor de: 105 Publicaciones Académicas
🎓Cursando Actualmente: Master en Programación ABAP Orientado a Objetos
🎓Egresado de los módulos:
Certificación Académica de Oscar Perez