*&---------------------------------------------------------------------*
*& Report YBO_NOTE01
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT YBO_NOTE01.
DATA:
LS_SALES_HEADER_IN TYPE BAPISDHD1,
LS_SALES_HEADER_INX TYPE BAPISDHD1X,
LV_SALESDOCUMENT_EX TYPE BAPIVBELN-VBELN,
LT_RETURN TYPE TABLE OF BAPIRET2 WITH HEADER LINE,
LT_SALES_ITEMS_IN TYPE TABLE OF BAPISDITM WITH HEADER LINE,
LT_SALES_ITEMS_INX TYPE TABLE OF BAPISDITMX WITH HEADER LINE,
LT_SALES_PARTNERS TYPE TABLE OF BAPIPARNR WITH HEADER LINE,
LT_SALES_SCHEDULES_IN TYPE TABLE OF BAPISCHDL WITH HEADER LINE,
LT_SALES_SCHEDULES_INX TYPE TABLE OF BAPISCHDLX WITH HEADER LINE,
LT_SALES_CONDITIONS_IN TYPE TABLE OF BAPICOND WITH HEADER LINE,
LT_SALES_CONDITIONS_INX TYPE TABLE OF BAPICONDX WITH HEADER LINE,
LT_SALES_TEXT TYPE TABLE OF BAPISDTEXT,
LT_PARTNERADDRESSES TYPE TABLE OF BAPIADDR1
.
LS_SALES_HEADER_IN-DOC_TYPE = 'ZOD8'. " 销售凭证类型
LS_SALES_HEADER_IN-SALES_ORG = '3000'. " 销售组织
LS_SALES_HEADER_IN-DISTR_CHAN = '10'. " 分销渠道
LS_SALES_HEADER_IN-DIVISION = '30'. " 产品组
LS_SALES_HEADER_IN-SALES_GRP = '809'. " 销售组
LS_SALES_HEADER_IN-SALES_OFF = '1000'. " 销售办事处
LS_SALES_HEADER_IN-PURCH_NO_C = '20231114104000'. "客户参考
LS_SALES_HEADER_IN-PURCH_DATE = '20231114'. "客户参考日期
LS_SALES_HEADER_IN-PMNTTRMS = 'Z001'. " 付款条件
LS_SALES_HEADER_INX-DOC_TYPE = ABAP_TRUE .
LS_SALES_HEADER_INX-SALES_ORG = ABAP_TRUE .
LS_SALES_HEADER_INX-DISTR_CHAN = ABAP_TRUE .
LS_SALES_HEADER_INX-DIVISION = ABAP_TRUE .
LS_SALES_HEADER_INX-SALES_GRP = ABAP_TRUE .
LS_SALES_HEADER_INX-SALES_OFF = ABAP_TRUE .
LS_SALES_HEADER_INX-PURCH_NO_C = ABAP_TRUE .
LS_SALES_HEADER_INX-PMNTTRMS = ABAP_TRUE .
LT_SALES_PARTNERS-PARTN_ROLE = 'AG'.
LT_SALES_PARTNERS-PARTN_NUMB = '0000010035'.
APPEND LT_SALES_PARTNERS.
LT_SALES_PARTNERS-PARTN_ROLE = 'WE'.
LT_SALES_PARTNERS-PARTN_NUMB = '0000010035'.
APPEND LT_SALES_PARTNERS.
LT_SALES_ITEMS_IN-ITM_NUMBER = '000010' .
LT_SALES_ITEMS_IN-MATERIAL = '000000008200000267' .
LT_SALES_ITEMS_IN-PLANT = '3000' .
LT_SALES_ITEMS_IN-TARGET_QTY = '1000' .
LT_SALES_ITEMS_IN-SALES_UNIT = 'KG' .
APPEND LT_SALES_ITEMS_IN.
LT_SALES_ITEMS_INX-ITM_NUMBER = '000010' .
LT_SALES_ITEMS_INX-MATERIAL = ABAP_TRUE .
LT_SALES_ITEMS_INX-TARGET_QTY = ABAP_TRUE .
LT_SALES_ITEMS_INX-SALES_UNIT = ABAP_TRUE .
APPEND LT_SALES_ITEMS_INX.
LT_SALES_SCHEDULES_IN-ITM_NUMBER = '000010' .
*LT_SALES_SCHEDULES_IN-SCHED_LINE = '0001' .
LT_SALES_SCHEDULES_IN-REQ_DATE = SY-DATUM .
LT_SALES_SCHEDULES_IN-REQ_QTY = '1000' .
APPEND LT_SALES_SCHEDULES_IN.
LT_SALES_SCHEDULES_INX-ITM_NUMBER = '000010' .
*LT_SALES_SCHEDULES_INX-SCHED_LINE = '0001' .
LT_SALES_SCHEDULES_INX-REQ_DATE = ABAP_TRUE .
LT_SALES_SCHEDULES_INX-REQ_QTY = ABAP_TRUE .
APPEND LT_SALES_SCHEDULES_INX.
LT_SALES_CONDITIONS_IN-ITM_NUMBER = '000010' .
*LT_SALES_CONDITIONS_IN-COND_ST_NO = '010' .
*LT_SALES_CONDITIONS_IN-COND_COUNT = '01'.
LT_SALES_CONDITIONS_IN-COND_TYPE = 'ZFN0'.
LT_SALES_CONDITIONS_IN-COND_VALUE = '30' .
LT_SALES_CONDITIONS_IN-CURRENCY = 'CNY' .
APPEND LT_SALES_CONDITIONS_IN.
LT_SALES_CONDITIONS_INX-ITM_NUMBER = '000010' .
*LT_SALES_CONDITIONS_IN-COND_ST_NO = '010' .
*LT_SALES_CONDITIONS_IN-COND_COUNT = '01'.
LT_SALES_CONDITIONS_INX-COND_TYPE = ABAP_TRUE .
LT_SALES_CONDITIONS_INX-COND_VALUE = ABAP_TRUE .
LT_SALES_CONDITIONS_INX-CURRENCY = ABAP_TRUE .
APPEND LT_SALES_CONDITIONS_INX.
CALL FUNCTION 'SD_SALESDOCUMENT_CREATE'
EXPORTING
* SALESDOCUMENT =
SALES_HEADER_IN = LS_SALES_HEADER_IN
SALES_HEADER_INX = LS_SALES_HEADER_INX
* SENDER =
* BINARY_RELATIONSHIPTYPE = ' '
* INT_NUMBER_ASSIGNMENT = ' '
* BEHAVE_WHEN_ERROR = ' '
* LOGIC_SWITCH = ' '
* BUSINESS_OBJECT = ' '
* TESTRUN =
CONVERT_PARVW_AUART = ABAP_TRUE
* STATUS_BUFFER_REFRESH = 'X'
* CALL_ACTIVE = ' '
* I_WITHOUT_INIT = ' '
* I_REFRESH_V45I = 'X'
IMPORTING
SALESDOCUMENT_EX = LV_SALESDOCUMENT_EX
* SALES_HEADER_OUT =
* SALES_HEADER_STATUS =
TABLES
RETURN = LT_RETURN
SALES_ITEMS_IN = LT_SALES_ITEMS_IN
SALES_ITEMS_INX = LT_SALES_ITEMS_INX
SALES_PARTNERS = LT_SALES_PARTNERS
SALES_SCHEDULES_IN = LT_SALES_SCHEDULES_IN
SALES_SCHEDULES_INX = LT_SALES_SCHEDULES_INX
SALES_CONDITIONS_IN = LT_SALES_CONDITIONS_IN
SALES_CONDITIONS_INX = LT_SALES_CONDITIONS_INX
* SALES_CFGS_REF =
* SALES_CFGS_INST =
* SALES_CFGS_PART_OF =
* SALES_CFGS_VALUE =
* SALES_CFGS_BLOB =
* SALES_CFGS_VK =
* SALES_CFGS_REFINST =
* SALES_CCARD =
SALES_TEXT = LT_SALES_TEXT
* SALES_KEYS =
* SALES_CONTRACT_IN =
* SALES_CONTRACT_INX =
* EXTENSIONIN =
PARTNERADDRESSES = LT_PARTNERADDRESSES
* SALES_SCHED_CONF_IN =
* ITEMS_EX =
* SCHEDULE_EX =
* BUSINESS_EX =
* INCOMPLETE_LOG =
* EXTENSIONEX =
* CONDITIONS_EX =
* PARTNERS_EX =
* TEXTHEADERS_EX =
* TEXTLINES_EX =
* BATCH_CHARC =
* CAMPAIGN_ASGN =
.
IF LV_SALESDOCUMENT_EX IS NOT INITIAL.
WRITE: LV_SALESDOCUMENT_EX.
ENDIF.
COMMIT WORK AND WAIT .
LOOP AT LT_RETURN.
WRITE: / , LT_RETURN-MESSAGE .
ENDLOOP.