메뉴 건너뛰기

SAP 한국 커뮤니티



bapi

꿀단지 2011.10.11 11:16 조회 수 : 20250

REPORT  YTEST001 MESSAGE-ID ZMSG.

**********************************************************
*BAPI TEST
**********************************************************
DATA : BEGIN OF ORDER_HEADER_IN.
        INCLUDE STRUCTURE BAPISDHD1.
DATA : END OF ORDER_HEADER_IN.

DATA : CONVERT_PARVW_AUART LIKE BAPIFLAG-BAPIFLAG.

DATA:  BAPIFLAG-BAPIFLAG LIKE BAPIFLAG-BAPIFLAG.

DATA : SALESDOCUMENT_EX LIKE BAPIVBELN-VBELN.

DATA : BEGIN OF RETURN OCCURS 0.
        INCLUDE STRUCTURE BAPIRET2.
DATA : END OF RETURN.

DATA : BEGIN OF ORDER_ITEMS_IN OCCURS 0.
        INCLUDE STRUCTURE  BAPISDITM.
DATA : END OF ORDER_ITEMS_IN.

DATA : BEGIN OF ORDER_CONDITIONS_IN OCCURS 0.
        INCLUDE STRUCTURE BAPICOND.
DATA : END OF ORDER_CONDITIONS_IN.

DATA : BEGIN OF ORDER_TEXT OCCURS 0.
        INCLUDE STRUCTURE BAPISDTEXT.
DATA : END OF ORDER_TEXT.

DATA : BEGIN OF ORDER_PARTNERS OCCURS 0.
        INCLUDE STRUCTURE BAPIPARNR.
DATA : END OF ORDER_PARTNERS.

DATA : BEGIN OF ORDER_SCHEDULES_IN OCCURS 0.
        INCLUDE STRUCTURE BAPISCHDL.
DATA : END OF ORDER_SCHEDULES_IN.

DATA : BEGIN OF PARTNERADDRESSES OCCURS 0.
        INCLUDE STRUCTURE  BAPIADDR1.
DATA : END OF PARTNERADDRESSES.

DATA :LOGIC_SWITCH LIKE TABLE OF BAPISDLS WITH HEADER LINE.

*HEADER
ORDER_HEADER_IN-REFOBJKEY = 'VBBK'.
ORDER_HEADER_IN-DOC_TYPE = 'ZEC'.
ORDER_HEADER_IN-SALES_ORG = 'C001'.
ORDER_HEADER_IN-DISTR_CHAN = '40'.
ORDER_HEADER_IN-DIVISION = '00'.
ORDER_HEADER_IN-REQ_DATE_H = '20010208'.
ORDER_HEADER_IN-PURCH_DATE = '20010208'.
ORDER_HEADER_IN-PURCH_NO_C = 'Bapi TEST'.

*CONVERT FLAG (중요)
CONVERT_PARVW_AUART = 'X'.

*LGOIC _SWITCH (중요)
LOGIC_SWITCH-PRICING = 'G'.
APPEND LOGIC_SWITCH.

*TEXT
ORDER_TEXT-TEXT_ID = '0002'.
ORDER_TEXT-LANGU = '3'.
ORDER_TEXT-TEXT_LINE = 'Bapi로 낸 오더에요. 똑같죠 뭐~ ^^'.
APPEND ORDER_TEXT.

*ITEM
ORDER_ITEMS_IN-ITM_NUMBER = '10'.
ORDER_ITEMS_IN-MATERIAL = '000000000002002510'.
APPEND ORDER_ITEMS_IN.

*SCHEDULE
ORDER_SCHEDULES_IN-ITM_NUMBER = '10'.
ORDER_SCHEDULES_IN-REQ_QTY = '1'.
ORDER_SCHEDULES_IN-REQ_DATE = '20010208'.
APPEND ORDER_SCHEDULES_IN.

*CONDITION
ORDER_CONDITIONS_IN-ITM_NUMBER = '10'.
ORDER_CONDITIONS_IN-COND_TYPE = 'ZR00'.
ORDER_CONDITIONS_IN-COND_VALUE = '145000'.
ORDER_CONDITIONS_IN-CURRENCY = 'KRW'.
APPEND ORDER_CONDITIONS_IN.

*PARTNERS
ORDER_PARTNERS-PARTN_ROLE = 'AG'.         "SOLD-TO-PARTY
ORDER_PARTNERS-PARTN_NUMB = '0005000002'.
ORDER_PARTNERS-ADDR_LINK = '11'.
APPEND ORDER_PARTNERS.
ORDER_PARTNERS-PARTN_ROLE = 'WE'.         "SHIP-TO-PARTY
ORDER_PARTNERS-PARTN_NUMB = '0005000002'.
ORDER_PARTNERS-ADDR_LINK = '22'.
APPEND ORDER_PARTNERS.

*DETAIL ADDRESS
PARTNERADDRESSES-ADDR_NO = '11'.         "SOLD-TO-PARTY
PARTNERADDRESSES-NAME = '이승철'.
PARTNERADDRESSES-NAME_2 = '승철'.
PARTNERADDRESSES-CITY = '서울'.
PARTNERADDRESSES-STREET ='영등포'.
PARTNERADDRESSES-TEL1_NUMBR = '1232-6552'.
PARTNERADDRESSES-COUNTRY = 'KR'.
PARTNERADDRESSES-LANGU = '3'.
APPEND PARTNERADDRESSES.
PARTNERADDRESSES-ADDR_NO = '22'.         "SHIP-TO-PARTY
PARTNERADDRESSES-NAME = '이승철'.
PARTNERADDRESSES-NAME_2 = '승철'.
PARTNERADDRESSES-CITY = '서울'.
PARTNERADDRESSES-STREET ='영등포'.
PARTNERADDRESSES-TEL1_NUMBR = '1232-6552'.
PARTNERADDRESSES-COUNTRY = 'KR'.
PARTNERADDRESSES-LANGU = '3'.
APPEND PARTNERADDRESSES.


CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
     EXPORTING
          ORDER_HEADER_IN     = ORDER_HEADER_IN
          LOGIC_SWITCH        = LOGIC_SWITCH
          CONVERT_PARVW_AUART = CONVERT_PARVW_AUART
     IMPORTING
          SALESDOCUMENT_EX    = SALESDOCUMENT_EX
     TABLES
          RETURN              = RETURN
          ORDER_ITEMS_IN      = ORDER_ITEMS_IN
          ORDER_CONDITIONS_IN = ORDER_CONDITIONS_IN
          ORDER_TEXT          = ORDER_TEXT
          ORDER_PARTNERS      = ORDER_PARTNERS
          ORDER_SCHEDULES_IN  = ORDER_SCHEDULES_IN
          PARTNERADDRESSES    = PARTNERADDRESSES.

IF SY-SUBRC = 0.
  CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
ELSE.
  CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ENDIF.

LOOP AT RETURN.
  WRITE :   '오더번호', SALESDOCUMENT_EX,
          / '메세지', RETURN-MESSAGE.
ENDLOOP.