✒️ABAP Los IDocs de salida
ABAP Los IDocs de salida
IDOCS DE SALIDA
INTRODUCCION A LAS INTERFACES DE SALIDA
Los IDOC de salida se pueden generar mediante
OUTPUT TYPES
Se utilizan cuando la información a enviar se trata de documentos de negocio o mejor llamados transaccionales como por ejemplo un pedido o factura. Para ello la aplicación debe ser EDI/Ale ENABLE.
PUNTEROS DE MODIFICACION
Se utilizan para replicar datos maestros o modificaciones de los mismos
PROGRAMAS EXTRACCIÓN ESTANDAR
Se utilizan para replicar datos maestros o modificaciones delos mismos
PROGRAMAS DE EXTRACCIÓN Z
OUTPUT TYPES
Se crean a través de la transacción NACE, cuando se crea se generan automáticamente registro en las tablas estándar NAST y TNAPR. Generalmente esto tipos son creados por los administradores del sistema SAP o SAP BASIS
Método de generación de IDOCS de salida para datos transaccionales
El manejo del lado funcional es el mismo utilizado para impresión de formularios:
· Se define un OUTPUT MESSAGE (mensaje de salida), configurado como salida ALE/EDI
· Se asocia dicho mensaje al documento que desea enviarse
· Se debe configurar además, el mensaje de logística en la herramienta ALE (en el acuerdo de interlocutores)
Los pasos para configurar un mensaje vía output type son:
Identificamos el TIPO DE MENSAJE IDoc a enviar.
Por tratarse de documentos de negocio se utilizan tipos de mensaje estándar y eventualmente, se generan ampliaciones de estos mensajes, para enviar información no contenida en el mismo
Definimos el código de proceso de salida.
Si se utiliza un tipo de mensaje estándar, se utiliza un código de procesa estándar.
Si se han generado ampliaciones para este tipo de mensaje, se modifica el módulo de función del código de proceso utilizando USER EXITS o ampliaciones.
Definimos el puerto de salida y la forma de envío
Definimos (si es necesario) la función de la puerta ABAP
CODIGO DE PROCESO DE SALIDA
También llamado PROCESS CODE DE SALIDA, indica cómo se debe procesar el IDOC de salida.
A diferencia de los código de proceso de entrada, que realmente procesan el IDOC para crear o modificar información en documentos de negocio, los código de proceso de salida, no graban información en el documento o en el objeto, sino que obtienen la información del mismo y la transforman a formato IDoc para poder ser enviada.
Se definen código de proceso para cada TIPO DE MENSAJE (Tipos de IDOCS).
Cada código de proceso está asociado a un módulo de función, que es el encargado de ejecutarlo
En la mayoría de procesos de salida, se utilizan códigos de proceso estándar para generación de IDOCS ya que la información a enviar proviene por lo general de documentos de negocio.
Todos los módulos de función estándar asociados a códigos de proceso cuanta con una serie de ampliaciones donde puede agregarse código Z en el caso que el TIPO BASE vaya asociado a una ampliación Z
Para definir códigos de procesos de salida Z se utiliza la transacción WE41
TRANSACCION WE41
Para la creación de los códigos de proceso de salida.
PUNTERO DE MODIFICACION
Se utilizan para enviar o duplicar datos maestros en sistemas externos, cuando estos datos son creados o modificados.
Para realizar la activación de punteros de modificación en forma global utilizaremos la transacción BD61
Transacciones BD61 y BD50
Para ala activación de los punteros de modificación
Transacción BD52
Para generación del os punteros de modificación
Pasos
· Entramos en la transacción BD61
· Marcamos la opción PUNTERO MODIFICACION GENERAL ACTIVADO
· Ahora realizamos la activación de los punteros de modificación por TIPO DE MENSAJE.
· Entramos en la transacción BD50
· Pulsamos modificar
· Pulsamos ENTRADAS NUEVAS
· Entramos el tipo de MENSAJE
· Marcamos la casilla ACTIVO
· Ahora debemos definir las tablas y campos relevantes para la generación de punteros de modificación.
· Entramos en la transacción BD52
· Entramos el tipo de mensaje
· Pulsamos el botón MODIFICAR
· Pulsamos el botón ENTRADAS NUEVAS
· Entramos el objeto de modificación
· Entramos la tabla
· Entramos el campo
· Ahora debemos crear la relación entre el TIPO DE MENSAJE y el módulo de funciona a través de la transacción BD60
· Pulsamos el botón MODIFICAR
· Pulsamos el botón ENTRADAS NUEVAS
· Entramos e Tipo de mensaje
· Entramos el mensaje de referencia
· Entramos el Modulo de función
NOTA: Para crear la relación entre el tipo de mensaje y el módulo de función, previamente debemos crear el módulo de función. Este módulo será el que entremos en la transacción BD60
Para crear el módulo de funciones Z, tomamos el encabezado del módulo estándar y agregamos nuestro código. La lógica del módulo de función contendrá los siguientes pasos:
1. Leer los punteros de modificación generados usando la función CHANGE_POINTERS_READ.
2. Analizar los punteros de modificación para determinar cuáles documentos son validos
3. Determinar la clave del documento de aplicación del paso anterior
4. Seleccionar datos de aplicación de la base de datos, usando la clave de objeto identificada
5. Completar la información del registro de control del IDOC
6. Completar una tabla interna de estructura EDIDD con registros de datos para todos los segmentos
7. Llamar al servicio MASTER_IDOC_DISTRIBUTE para crear los datos en la base de datos
8. Actualizar el Estado de los punteros de modificación
9. Ejecutar un COMMIT WORK
Finalmente ejecutaremos el programa RBDMIDOC para ejecutar el IDOC, introduciendo el tipo de mensaje. El programa RBDMIDOC se utiliza para crear IDOCS para un mensaje especifico, a través de punteros de modificación. Una vez creados, los envía al sistema receptor y marca los punteros de modificación como procesados en el respectivo tipo de mensaje.
Otras transacciones
BD21 selecciona punteros de modificación
BD22 borrar punteros de modificación
BD40 leer punteros de modificación para grupos
PROGRAMA DE EXTRACCION ESTANDAR
Existen programas estándar para la creación de IDOCS.
Estos programas se utilizan para enviar a los sistemas receptores datos maestros en forma masiva para cargas iniciales, por ejemplo.
Algunos son:
BD10 -> Maestro de Materiales
BD12 -> Maestro de Clientes
BD14 -> Maestro de Proveedores
Además podemos programar los propios programas extractores generadores de IDOC, estos utilizan el módulo de función MASTER_IDOC_DISTRIBUTE para distribuir la información generada a los sistemas receptores.
Se debe Actualizar el Acuerdo de interlocutores y el Modelo de distribución para definir cuáles serán los sistemas receptores.
PROGRAMA DE EXTRACCION Z
Los pasos a seguir para la creación de un IDCO de salida desde un programa ABAP son los siguientes:
1. Selecciona la información de la base de datos de acuerdo o con los parámetros de selección ingresados
2. Completar la información correspondiente al registro de control
3. Completar una tabla interna de tipo EDIDD con los registros de datos de los segmentos correspondientes
4. Llamar el servicio de la capa ALE MASTER_IDOC_DISTRIBUTE para crear los IDOCS en la base de datos
5. Ejecutar un COMMIT WORK
6. Enviar el IDCO a su destinatario invocando el programa RSEOUT00
7. Una vez completado estos pasos, el IDCO está creado. El mismo se guarda físicamente en las tablas EDIDC y EDID4. Podemos visualizarlo desde la transacción WE05
Transacción WE05
Para visualizar un listado con los IDocs existentes en el sistema.
 
 
 
Sobre el autor
Publicación académica de Josep Antoni Lopez Moyano, en su ámbito de estudios para la Carrera Consultor ABAP.
Josep Antoni Lopez Moyano
Profesión: It Manager - España - Legajo: QP26P
✒️Autor de: 375 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP HCM Nivel Inicial
- Carrera Consultor Basis NetWeaver Nivel Avanzado
- Carrera Consultor Basis NetWeaver Nivel Inicial
- Máster Funcional ABAP
- Máster ABAP Orientado a Objetos
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial