Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Comprobar que el tipo de mensaje exista, para ello se debe ingresar a la transacción
we81. A veces el tipo de mensaje debe crearse, pero este no es el caso.
Ahora, para ver la relación entre tipo de mensaje y tipo base, se entra a la we82.
Con el tipo base encontrado en esa relación (Tipo base = PREQCR01) se entra a la
WE30 y se obtienen los segmentos correspondientes a ese tipo Base
Si se ingresa a la SE11 con el nombre del tipo de segmento, se puede visualizar que es
una estructura:
Y estos son los datos que se tienen que cargar en la tabla de datos del idoc de acuerdo
a lo que requiera el requerimiento.
Declaración de datos:
TYPES: BEGIN OF tys_idoc.
INCLUDE STRUCTURE edidc.
TYPES: END OF tys_idoc .
* Data
DATA: gt_comm_control LIKE edidc OCCURS 0 WITH HEADER LINE,
gt_idoc_data LIKE edidd OCCURS 0 WITH HEADER LINE.
* Estructuras
DATA: gs_idoc_control TYPE tys_idoc,
gs_e1bpebanc TYPE e1bpebanc.
* Constantes
CONSTANTS:
c_message_type TYPE edi_mestyp VALUE 'PREQCR',"Tipo mensaje
c_base_idoc_type TYPE edi_idoctp VALUE 'PREQCR01', "Tipo Idoc
c_invrev_segname(9) TYPE c VALUE 'E1BPEBANC'," Nombre segmento
c_rcvprn TYPE edi_rcvprn VALUE 'LSMW'. "Interl.dest. Este dato lo deben dar
*&---------------------------------------------------------------------*
*& Form GENERAR_IDOC
*&---------------------------------------------------------------------*
FORM generar_idoc.
* Llena los campos de control del IDOC.
PERFORM llenar_campos_control_idoc.
* Llena los campos de datos del idoc.
PERFORM llenar_datos_idoc.
* Llamar a la función Master IDoc Distribute
PERFORM llamar_función.
ENDFORM. " GENERAR_IDOC
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form LLENAR_CAMPOS_CONTROL_IDOC
*&---------------------------------------------------------------------*
FORM llenar_campos_control_idoc.
CLEAR gs_idoc_control.
gs_idoc_control-doctyp = c_message_type.
gs_idoc_control-mestyp = c_message_type.
gs_idoc_control-idoctp = c_base_idoc_type.
gs_idoc_control-serial = space.
gs_idoc_control-direct = '1'.
gs_idoc_control-serial = sy-datum.
gs_idoc_control-serial+8 = sy-uzeit.
gs_idoc_control-rcvprn = c_rcvprn. "Nro de interlocutor destinatario
gs_idoc_control-rcvprt = 'US'. "Tipo interlocutor destinatario . Este dato lo deben dar
gt_idoc_data-segnam = c_invrev_segname.
CLEAR gs_e1bpebanc.
gs_e1bpebanc-preq_no+0(1) = c_nueve.
gs_e1bpebanc-preq_item = gs_eban-bnfpo.
gs_e1bpebanc-doc_type = gs_eban-bsart.
gs_e1bpebanc-pur_group = gs_eban-ekgrp.
gs_e1bpebanc-preq_date = gs_eban-badat.
gs_e1bpebanc-material = gs_eban-matnr.
gs_e1bpebanc-plant = gs_eban-werks.
gs_e1bpebanc-store_loc = gs_eban-lgort.
gs_e1bpebanc-quantity = gs_eban-menge.
gs_e1bpebanc-unit = gs_eban-meins.
gs_e1bpebanc-deliv_date = gs_eban-lfdat.
* Transformar datos para ser leidos en 6.0
gs_e1bpebanc-des_vendor = gs_eban-lifnr.
gs_e1bpebanc-fixed_vend = gs_eban-flief.
* Se agrega 1 al campo purch_org.
gs_e1bpebanc-purch_org = gs_eban-ekorg.
* Según la descripción de la conversión, se agrega 1 al purch_org
ADD 1 TO gs_e1bpebanc-purch_org.
gt_idoc_data-sdata = gs_e1bpebanc.
APPEND gt_idoc_data.
ENDLOOP.
*&---------------------------------------------------------------------*
*& Form LLAMAR_FUNCIÓN
*&---------------------------------------------------------------------*
FORM llamar_función.
REFRESH: gt_comm_control.
CLEAR gv_flag.
CALL FUNCTION 'MASTER_IDOC_DISTRIBUTE'
EXPORTING
master_idoc_control = gs_idoc_control
TABLES
communication_idoc_control = gt_comm_control
master_idoc_data = gt_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.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
COMMIT WORK.
gv_flag = 'X'.
ENDIF.
Una vez que se hace el envío del Idoc, se ingresará a la función we05 para visualizar el
número de idoc generado y el status del mismo.
De salida
Esto tiene lugar mediante el informe RSEOUT00, que se puede planificar como un job
periódico o iniciado directamente utilizando el menú de transporte Logística Ventas
y distribución Transporte Sistemas externos Planificación de
transporte Supervisión ALE Trabajo periódico IDoc, Salida ALE Enviar.
Aquí se debería verificar el modo de salida para el IDOC relevante en el acuerdo entre
interlocutores EDI. En el modo de salida ‘2’ el IDOC creado se transmite directamente,
en ‘4’ los IDOCs se reúnen y se envían en dimensiones definidas de paquetes.
recomendamos que los IDOCs no se transmitan directamente para el modo ‘4’.
Normalmente el status ‘30’ en el IDOC sólo puede ocurrir si el modo de salida se fija
en ‘4’.