Creación de un Idoc de Salida
Existen tres formas de creación de Idocs:
- Desde un programa ABAP (desarrollo Z).
- Desde un puntero de modificación (Change Pointer).
- Desde mensajes de logística.
Creación de Idocs desde un Programa ABAP
Los pasos a seguir para la creación de un IDoc de salida desde un programa ABAP son los siguientes:
a. Seleccionar la información de la base de datos de acuerdo a los parámetros de selección ingresados.
b. Completar la información correspondiente al registro de control.
c. Completar una tabla interna de tipo EDIDD con los registros de datos de los segmentos correspondientes.
d. Llamar al servicio de la capa ALE (MASTER_IDOC_DISTRIBUTE) para crear los IDOCs en la base de datos.
e. Ejecutar COMMIT WORK.
f. Enviar el Idoc invocando al programa RSEOUT00.
Una vez completados estos pasos, queda creado el Idoc. El mismo se guarda físicamente en las tablas EDIDC y EDID4. Se lo puede ver desde la transacción WE05. Para enviar el Idoc a su destinatario, se invoca al programa RSEOUT00.
Creación de Idocs Utilizando Punteros de Modificación (Change Pointers)
Toda vez que se crean o modifican datos maestros, tal como datos maestros de materiales, proveedores, etc., el sistema escribe “punteros de modificación” (change pointers) como registro de cada una de estas modificaciones para cada documento. El report estándar RBDMIDOC es ejecutado a fin de procesar todas las entradas en la tabla de punteros de modificación. Para generar los IDocs, este programa llama a un módulo de función especifico para cada mensaje.
Los pasos a seguir para la creación de un Idoc de salida utilizando Punteros de Modificación
son los siguientes:
- Activar los punteros de modificación en forma global: BD61
- Activar los punteros de modificación para nuestro tipo de mensaje: BD50
- Definir los campos relevantes para la generación de punteros de modificación. BD52
- Relacionar el tipo de mensaje con el módulo de función. BD60
- Programar un job con el report RBDMIDOC para crear los Idocs.
Creación de Idocs desde Mensajes de Logística
El proceso lógico de generación de Idocs de salida desde Mensajes de Logística es el siguiente:
- Un programa ABAP (desarrollo Z) o transacción estándar crea un mensaje en la tabla NAST.
- El mensaje es procesado por el programa ABAP estándar RSNAST00, el cual lee el mensaje desde la tabla NAST, y llama al módulo de función adecuado para crear el Idoc, invocando a la función MASTERIDOC_DISTRIBUTE.
- El Idoc es enviado a su destinatario al ejecutar el programa RSEOUT00.
Se puede usar el concepto de Mensajes R/3 para disparar la creación de Idocs de la misma manera que se dispara la impresión de formularios.
La tabla utilizada para esto es la NAST. Esta tabla guarda recordatorios escritos por aplicaciones. Estos recordatorios son llamados Mensajes.
Cada vez que una aplicación ve la necesidad de pasar información a un sistema externo, un mensaje es escrito en la tabla NAST. Un controlador de mensajes (message handler) eventualmente chequeará las entradas en esta tabla y ejecutará la acción apropiada. Un mensaje NAST de salida es guardado en un solo registro en la tabla NAST. El registro guarda toda la información que es necesaria para crear el Idoc. Esto incluye, entre otras cosas, una clave de objeto para identificar al objeto procesado, el emisor y receptor del mensaje.