📘ABAP - WE15
Definición de WE15
Es la transacción estándar de SAP que se utiliza para enviar un IDoc que quedó acumulado en la pila de salida (Tabla NAST).
Veamos a continuación un ejemplo de nuestro primer IDoc:
REPORT zeze7 .
* DECLARACION DE DATOS
DATA: c_message_type LIKE edidc-mestyp VALUE 'ZINVRV', "Tipo
"Mensaje
c_base_idoc_type LIKE edidc-idoctp VALUE 'ZIDOCEZE1',"Tipo de Idoc
c_invrev_segname(13) TYPE C VALUE 'ZSEGMENTOEZE1', "Nombre
"Segmento
c_rcvprn LIKE edidc-rcvprn VALUE 'SAPBCD', "Interloc.
"Destinat
* IDOC_CONTROL LIKE EDIDC OCCURS 0 WITH HEADER LINE,
IDOC_CONTROL LIKE EDIDC,
T_COMM_CONTROL LIKE EDIDC OCCURS 0 WITH HEADER LINE,
IDOC_DATA LIKE EDIDD OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF ZSEGMENTOEZE1,
KUNNR(10) TYPE c,
NAME1(35) TYPE c,
STRAS(35) TYPE c,
END OF ZSEGMENTOEZE1.
*----------------------------------------------------------------------*
START-OF-SELECTION.
*----------------------------------------------------------------------*
* CAMPOS DE CONTROL DEL IDOC
idoc_control-doctyp = c_message_type. "Tipo Mensaje
idoc_control-mestyp = c_message_type. "Tipo Mensaje
idoc_control-idoctp = c_base_idoc_type. "Tipo de Idoc
idoc_control-serial = space.
idoc_control-direct = '1'.
idoc_control-serial = sy-datum.
idoc_control-serial+8 = sy-uzeit.
idoc_control-rcvprn = c_rcvprn. "Nro Interlocutor
"Destinatario
idoc_control-rcvprt = 'LS'. "Tipo interlocutor
"destinatario
* APPEND idoc_control.
* CAMPOS DE DATOS DEL IDOC
* Esta sección la repite una vez por cada registro de datos a insertar
* en el IDoc.
* Indica cuál es el tipo de segmento
IDOC_DATA-SEGNAM = C_INVREV_SEGNAME. "Nombre Segmento
* Completa los datos de la estructura del segmento
CLEAR ZSEGMENTOEZE1.
ZSEGMENTOEZE1-KUNNR = '0000000001'.
ZSEGMENTOEZE1-NAME1 = 'Ezequiel Karsz'.
ZSEGMENTOEZE1-stras = 'Frias 552'.
* Mueve la estructura con los datos del segmento al único campo de datos
IDOC_DATA-SDATA = ZSEGMENTOEZE1. "Datos del Segmento
* Inserta el registro actual a la tabla interna de datos del Idoc
APPEND IDOC_DATA.
*--- Call the distribute function with the required parameters
CALL FUNCTION 'MASTER_IDOC_DISTRIBUTE'
EXPORTING
MASTER_IDOC_CONTROL = IDOC_CONTROL
TABLES
COMMUNICATION_IDOC_CONTROL = T_COMM_CONTROL
MASTER_IDOC_DATA = IDOC_DATA
EXCEPTIONS
ERROR_IN_IDOC_CONTROL = 1
ERROR_WRITING_IDOC_STATUS = 2
ERROR_IN_IDOC_DATA = 3
SENDING_LOGICAL_SYSTEM_UNKNOWN = 4
OTHERS = 5.
if sy-subrc = 0.
COMMIT WORK.
endif.