![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️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
![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](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/63.jpg)
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 Juan Carlos Pavicich, en su ámbito de estudios para la Carrera Consultor ABAP.
Juan Carlos Pavicich
Profesión: Técnico Informático - Argentina - Legajo: VR91L
✒️Autor de: 116 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Presentación:
Tengo el agrado de dirigirme a ud/s con el objeto de mencionar mi experiencia y conocimientos técnicos necesarios para desarrollar actividades en el rubro de su empresa.
Certificación Académica de Juan Pavicich