
1 | CREACIÒN DEL PROGRAMA DE EXTRACCIÒN Z PARA LOS IDOCS DE SALIDA
1.- Crear el programa z_enviar_idoc_salida.- El cual enviarà la informaciòn del usuario de la taba ZTABLA_USUARIOS.
2.- El programa tiene una pantalla de selecciòn, en la cual se debe ingresar un nùmero de DNI, que serà procesado.
3.- Validaremos que el DNI ingresado no estè vacìo.
4.- En el evento START-OF-SELECTION, creamos la subrutina editc, la cual carga el registro de control del IDOC
Los datos màs importantes que se cargan son:
- Tipo de mensaje
- Tipo base
- El nùmero de partner que recibe
- El puerto de salida
- y la indicaciòn de que utilizamos un sistema lògico
- Tambièn se indica la direcciòn del IDOC en el campo direct = "1" si el IDOC es de salida, "2" si es de entrada
5.- Luego la subrutina data_idoc:
- primero obtenemos los datos del usuario basado en el DNI.
- 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
6.- En la subrutina outbund_usuarios, ejecutamos la funciòn "MASTER_IDOC_DITRIBUTE" que crea y procesa el IDOC.
Por ùltimo ejecutamos el programa estàndar RSEOUT00 que que fuerza la salida del IDOC al exterior
Entonces ejecutamos nuestro programa:
- seleccionar un DNI de usuario, ponemos en modo debugger y ejecutamos.
- En la variable ls_usuarios, recuperamos los datos de la tabla ZTABLA_USUARIOS
- Luego de ejecutar la funciòn MASTER_IDOC_DISTRIBUTE, vemos en la variable pt_idoc_ctrl_docnum, el nùmero de idoc creado.
Finalmente ejecutamos el programa estàndar RESOUT00, y vemos en pantalla el mensaje de creaciòn de un IDOC
Ahora vamos a la transacciòn BD87, para ejecutar el IDOC
El procesamiento de los IDOC es asincrònico y si queremos que sea sincrònico, debemos forzarlo
Aquì vemos que es estatus actual del IDOC es 30.
Seleccionamos el IDOC y presionamos el botòn procesar
Ahora vemos que el estado del IDOC, pasò a 03 que significa procesado con estatus OK
Por ùltimo ejecutamos la transacciòn WE05, para visualizar el IDOC que acabamos de crear.