
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