![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️ABAP Los IDocs de salida
ABAP Los IDocs de salida
![ABAP Los IDocs de salida ABAP Los IDocs de salida](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/345.jpg)
- Introduccion a las interfaces de salida.
- output types
- punteros de modificacion
- programa de extraccion estandar
- programa de extraccion z
Los output types se utilizan cuando la información a enviar se trata de documentos de negocio o mejor llamado transaccionales como por ejemplo un pedido o una factura. para ello, la aplicación debe ser EDI/ALE enable.
Los punteros de modificacion y los programa extractores, se utilizan para replicar datos maestros, o modificaciones de los mismos.
a continuacion analizaremos en detalle cada uno de ellos.
2. output types
Es un metodo de generacion de IDocs de salida que se utiliza para datos transaccionales.
El manejo del lado funcional es el mismo utilizado impresión de formularios:
- Se define un output message, configurado como salida ALE/EDI.
- se asocia dicho mensaje al documento que desea enviarse.
- se debe configurar ademas, el mensaje de logistica en la herramienta ALE(en el acuerdo de interlocutores).
Los pasos para configurar un mensaje via output type son:
- Identificamos el tipo de mensaje IDoc a enviar.
Por tratarse de documentos de negocio, generalmente se utilizan tipos de mensaje estandar y eventualmente, se generan ampliaciones de estos mensajes, para enviar información no contenida en el mismo.
- Definimos el codigo de proceso de salida.
Si se utiliza un tipo de mensaje estandar, se utilizara un codigo de proceso estandar. si se han generado ampliaciones para este tipo de mensaje, se modificara el modulo de funcion del codigo de proceso utilizando User Exits o ampliaciones. este tema lo veremos en detalle en los proximos puntos.
- Definimos el puerto de salida y la forma de envio
- Definimos ( en el caso en que sea necesario) la funcion de la puerta ABAP.
3. codigo de proceso de salida
Codigo de proceso de salida: tambien llamado process code de salida, es el que indica como se debe procesar el IDoc de salida.
A diferencia de los codigos de proceso de entraa, que realmente procesan el IDoc para crear o modificar informacion en documentos de negocio, los codigos de proceso de salida, no graban informacion en el documento o en el objeto, sino que obtienen la informacion del mismo, y la transforman a formato IDoc para poder ser enviada.
Se definen codigos de proceso para cada tipos de mensaje, y cada codigo de proceso esta asociado a un modulo de funcion, que es el encargado de ejecutarlo.
En la mayoria de los procesos de salida, se utilizan codigos de proceso estandar para la generacion de IDocs, ya que la información a enviar proviene, por lo general, de documentos de negocio.
Igualmente, todos los modulos de funcion estandar asociados a codigos de proceso, cuentan con una serie de ampliaciones, donde puede agregarse codigo Z, en caso que el tipo base vaya asociado a una ampliacion z.
Para definir codigos de procesos de salida Z, se utiliza la transaccion WE41.
Transaccion WE41 utilizaremos la transaccion estandar WE41 para la creacion de los codigos de proceso de salida.
4. Punteros de modificacion
se utilizan para enviar o duplicar datos maestros en sistemas externos, cuando estos datos son creados o modificados.
Para realizar la activacion de punteros de modificacion en forma global utilizaremos la transaccion BD61 tal como vemos a continuacion.
Luego realizaremos la activacion de los punteros de modificacion por Tipo de mensaje a través de la transaccion BD50.
Transacciones BD61 y BD50: utilizaremos las transacciones estandar BD61 y BD50 para la activacion de los punteros de modificacion.
se agrega una entrada ,para el mensaje deseado y marcarla como activa.
Transaccion BD52: utilizaremos la transaccion estandar BD51 para la generacion de los punteros de modificacion.
Luego se ingresara el objeto de modificacion, la tabla y el campo.
Ahora debemos crear la relacion entre el tipo de mensaje y el modulo de funcion a traves de la transaccion BD60.
Sabias que ...Para crear la relación entre el tipo de mensaje y el modulo de función, previamente deberemos crear el modulo de funcion. este modulo de funcion sera el que ingresemos en la transaccion BD60.
Para crear el modulo de funciones Z, tomaremos el encabezado de un modulo estandar y agregaremos nuestro codigo. la logica del modulo de funcion contendra los siguientes pasos:
- Leer los ,punteros de modificacion generados usando lafuncion change_pointers_read
- analizar los punteros de modificacion para determinar cuales documentos son validos.
- determinar la clave del documento de aplicacion del paso anterior.
- seleccionar datos de aplicacion de labase de datos, usando la clave de objeto identificada.
- completar la informacion del registro de control IDoc
- Completar una tabla interna de estructura EDIDD con registros de datos para todos los segmentos.
- llamar al servicio master_idoc_distribute para crear los datos en la bdd
- actualizar el estado de los punteros de modificacion
- ejecutar un commit work.
Finalmente ejecutaremos el programa RBDMIDOC para ejecutar el IDoc, introduciendo el tipo de mensaje.
Programa RBDMIDOC
El programa estandar RBDMIDOC se utiliza para crear IDocs a traves de punteros de modificacion para un tipo de mensaje especifico.
Luego de creados, los envia al sistema receptor y marca a los punteros de modificacion como procesados en el respectivo tipo de mensaje.
5. Programas de extraccion estandar
existen programas estandar para la creacion de IDocs. estos programas se utilizan para enviar a los sistemas receptores, datos maestros en forma masiva, para cargas iniciales, por ejemplo donde se desea replicar gran parte de los datos maestros del sistema central a los subsistemas del ambiente.
Algunos programas extractores estandar son:
- BD10- Maestro de materiales
- BD12 - Maestro de Clientes
- BD14 - Maestro de Proveedores
Ademas, podemos programar los propios programas extractores generadores de IDocs. estos programas, utilizan el modulo de funcion master_idoc_distribute para distribuir la informacion generada a los sistemas receptores.
Se debe actualizar el acuerdo de interlocutores y el modelo de distribucion, para definir cuales seran los sistemas receptores.
6. Programas de extraccion Z
Los pasos a seguir para la creacion de un IDoc de salida desde un programa ABAP son los siguientes:
- Seleccionar la informacion de la base de datos de acuerdo a los parametros de seleccion ingresados.
- completar la informacion correspondiente al registro de control
- completar una tabla interna de tipo EDIDD con los registros de datos de lso segmentos correspondientes
- llamar al servicio de la capa ALE master_idoc_distribute para crear los IDocs en la base de datos
- ejecutar un commit work.
- Enviar el IDoc a su destinatario invocando al programa RSEOUT00
Una vez completados estos pasos, queda creado el IDoc el mismo se guarda fisicamente en las tablas EDIDC y DID4. se lo puede ver desde la transaccion WE05.
Transaccion WE05: utilizaremos la transaccion estandar WE05 para visualizar un listado con los IDocs existentes en el sistema.
 
 
 
Sobre el autor
Publicación académica de Natalia Alejandra Garcia Milla, en su ámbito de estudios para la Carrera Consultor ABAP.
Natalia Alejandra Garcia Milla
Profesión: Ingeniero en Informática - Chile - Legajo: ZE97A
✒️Autor de: 41 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime