![](/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/86.jpg)
VIDEO - CREACION DEL PROGRAMA DE EXTRACCION Z PARA IDOCS DE SALIDA
En este video veremos como procesar IDOCS de salida mediante un programa de extraccion Z, para ello crearemos el programa Z_ENVIAR_IDOC_SALIDA, el cual enviara los datos de usuarios de la tabla ZTABLA_USUARIOS
El programa tiene una pantalla de seleccion donde ingresamos un numero de DNI que sera procesado, y validaremos que el DNI ingresado no este vacio.
Luego en el evento START-OF-SELECTION creamos la subrutina EDIDC la cual carga el registro de control del IDOC, los datos mas importantes que se cargan son:
- El tipo de mensaje (mestyp)
- El tipo base (idoctp)
- El numero de partner que recibe (rcvprn)
- El puerto de salida (rcvpor)
- La indicacion que utilizamos un sistema logico (rcvprt)
Tambien indicamos la direccion del IDOC en el campo direc con un 1 que significa salida, luego en la subrutina IDOC haremos dos cosas:
PRIMERO obtenemos la informacion de la tabla ZTABLA_USUARIO a partir del parametro ingresado por pantalla,
SEGUNDO cargamos el segmento con los resultados de la busqueda de la tabla de USUARIOS
Es ideal crear una subrutina por cada segmento a cargar en caso de existir mas de uno
Luego en la subrutina OUTBOUND_USUARIOS ejecutamos la funcion 'MASTER_IDOC_DISTRIBUTE' que crea y procesa el IDOC, por ultimo ejecutamos el programa estandar RSEOUT00 que fuerza la salida del IDOC al exterior
Ahora vamos a ejecutar el programa, para ello seleccionamos un DNI de usuario, ponemos el DEBUGGER (/H) y ejecutamos
En la variable LS_USUARIOS recuperamos los datos de la tabla ZTABLA_USUARIOS, luego de ejecutar la funcion MASTER_IDOC_DISTRIBUTE vemos en la variable PT_IDOC_CTRL-DOCNUM el numero de IDOC creado, finalmente ejecutamos el programa estandar RSEOUT00, y vemos en pantalla el mensaje de creacion de un IDOC
Ahora vamos a la transaccion /NBD87 para ejecutar el IDOC, esto se debe a que como mencionamos en las lecciones, el procesamiento de los IDOC es asincronico y si queremos que sea sincronico entonces debemos forzarlo
Aqui vemos que el estatus actual del IDOC es 30, vamos a seleccionar el IDOC y presionamos el boton PROCESAR (PROCESS)
Ahora vemos que el estado del IDOC paso del 30 (OLD STATUS) al 03 (NEW STATUS) con estatus OK
Por ultimo vamos a ejecutar la transaccion /NWE05 para visualizar el IDOC que acabamos de crear / En IDOC NUMBER: 3001 / EJECUTAR
Aqui podemos ver los registros de control, datos y estatus del IDOC junto con su contenido situar la informacion referida al mismo
 
 
 
Sobre el autor
Publicación académica de Ixhel Magai Lopez Valencia, en su ámbito de estudios para la Carrera Consultor ABAP.
Ixhel Magai Lopez Valencia
Mexico - Legajo: PM62E
✒️Autor de: 134 Publicaciones Académicas
🎓Egresado de los módulos:
- Máster ABAP for HANA
- Máster ABAP Orientado a Objetos
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: PartTime
Presentación:
Soy ingeniera en telematica, estoy interesada en aprender programacion en sap, solo tengo conocimientos basicos en java
Certificación Académica de Ixhel Lopez