Sunteți pe pagina 1din 2

*&---------------------------------------------------------------------*

*& Report ZOUTBOUND_POSTING


*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT zoutbound_posting.
DATA: wa_edidc TYPE edidc.
DATA: it_edidd TYPE STANDARD TABLE OF edidd.
DATA it_edidc TYPE STANDARD TABLE OF edidc.
DATA: g_vbeln TYPE vbrk-vbeln.
DATA wa_vbrk TYPE z1vbrk.
DATA wa_edidd TYPE edidd.
SELECT-OPTIONS: s_vbeln FOR g_vbeln.
PARAMETERS: p_mestyp LIKE edmsg-msgtyp OBLIGATORY
DEFAULT 'ZINV'
MODIF ID in.

"
"cfo/4.0

PARAMETERS: p_logsys LIKE tbdlst-logsys.


CONSTANTS: c_zidoctyp TYPE edi_idoctp VALUE 'ZIDOCTYP'.
CONSTANTS c_z1vbrk TYPE edilsegtyp VALUE 'Z1VBRK'.
DATA lv_lines TYPE i..
DATA lv_master_idoc TYPE i.
START-OF-SELECTION.
*Fill the control records
*
wa_edidc-idoctp = c_zidoctyp.
wa_edidc-mestyp = p_mestyp.
wa_edidc-rcvprn = p_logsys.
wa_edidc-RCVPRT = 'LS'.
*8Fill the data records.
*Prepare the master data
SELECT SINGLE vbeln
ktgrd
mansp
INTO wa_vbrk
FROM vbrk
WHERE vbeln IN s_vbeln.
IF sy-subrc IS INITIAL.
*Populate the data records into EDIDD structure
wa_edidd-segnam = c_z1vbrk.
wa_edidd-sdata = wa_vbrk.
APPEND wa_edidd TO it_edidd.
*Note we need to acll an interface here which is globally used for all the outbo
und
*interfaces.
CALL FUNCTION 'MASTER_IDOC_DISTRIBUTE'
EXPORTING
master_idoc_control
= wa_edidc
* OBJ_TYPE
= ''
* CHNUM
= ''
TABLES
communication_idoc_control
= it_edidc

master_idoc_data
= it_edidd
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 IS INITIAL AND it_edidc[] IS NOT INITIAL.
lv_lines = LINES( it_edidc ).
lv_master_idoc = LINES( it_edidd ) .
MESSAGE i000(zmsg) WITH lv_master_idoc ' Number of master IDOCs created'
.
MESSAGE i000(zmsg) WITH lv_lines
eated' .
ENDIF.
ENDIF.

' Number of communication IDOCs cr

S-ar putea să vă placă și