Skip to Content
0
Former Member
Feb 11, 2009 at 09:03 AM

BAPI_SALESORDER_CREATEFROMDAT2

3004 Views

Hello,

I am trying to use BAPI_SALESORDER_CREATEFROMDAT2 in SAP Version 4.0B system to create sales orders.

I have attached my sample code below but for some reason no sales order is being created and nothing is returned in the return parameter so I cannot tell what I am doing wrong.

Does anyone have any ideas?

I did notice that there were two other similarly named BAPIs in this system but I assumed this was the latest version (on this system).

Thanks,

Ruby

REPORT ZSD_SALES_ORDER_LOAD.

DATA: LS_ORDER_HEADER_IN LIKE BAPISDHD1,

LS_ORDER_HEADER_INX LIKE BAPISDHD1X.

DATA: LT_ORDER_ITEMS_IN LIKE BAPISDITM OCCURS 0 WITH HEADER LINE,

LT_ORDER_ITEMS_INX LIKE BAPISDITMX OCCURS 0 WITH HEADER LINE,

LT_RETURN LIKE BAPIRET2 OCCURS 0 WITH HEADER LINE,

LT_ORDER_PARTNERS LIKE BAPIPARNR OCCURS 0 WITH HEADER LINE.

  • Set default header data

LS_ORDER_HEADER_IN-SALES_ORG = 'SA01'.

LS_ORDER_HEADER_IN-DISTR_CHAN = 'C1'.

LS_ORDER_HEADER_IN-DIVISION = '01'.

LS_ORDER_HEADER_IN-SALES_GRP = '203'.

LS_ORDER_HEADER_IN-SALES_OFF = '0500'.

  • req date will need to come from file

LS_ORDER_HEADER_IN-REQ_DATE_H = SY-DATUM + 5.

LS_ORDER_HEADER_INX-UPDATEFLAG = 'U'.

LS_ORDER_HEADER_INX-SALES_ORG = 'X'.

LS_ORDER_HEADER_INX-DISTR_CHAN = 'X'.

LS_ORDER_HEADER_INX-DIVISION = 'X'.

LS_ORDER_HEADER_INX-SALES_GRP = 'X'.

LS_ORDER_HEADER_INX-SALES_OFF = 'X'.

LS_ORDER_HEADER_INX-REQ_DATE_H = 'X'.

  • lt_order_items_in-itm_number = '3397'.

LT_ORDER_ITEMS_IN-MATERIAL = '3397'.

LT_ORDER_ITEMS_IN-CUST_MAT22 = '1111111111111111111111'.

LT_ORDER_ITEMS_IN-TARGET_QTY = '1'.

LT_ORDER_ITEMS_IN-TARGET_QU = 'PC'.

APPEND LT_ORDER_ITEMS_IN.

LT_ORDER_ITEMS_INX-CUST_MAT22 = 'X'.

LT_ORDER_ITEMS_INX-TARGET_QTY = 'X'.

LT_ORDER_ITEMS_INX-TARGET_QU = 'X'.

APPEND LT_ORDER_ITEMS_INX.

LT_ORDER_PARTNERS-PARTN_ROLE = 'SH'.

LT_ORDER_PARTNERS-PARTN_NUMB = '327'.

APPEND LT_ORDER_PARTNERS.

LT_ORDER_PARTNERS-PARTN_ROLE = 'SP'.

LT_ORDER_PARTNERS-PARTN_NUMB = '327'.

APPEND LT_ORDER_PARTNERS.

CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'

EXPORTING

  • SALESDOCUMENT =

ORDER_HEADER_IN = LS_ORDER_HEADER_IN

ORDER_HEADER_INX = LS_ORDER_HEADER_INX

  • SENDER =

  • BINARY_RELATIONSHIPTYPE = ' '

  • INT_NUMBER_ASSIGNMENT = ' '

  • BEHAVE_WHEN_ERROR = ' '

  • LOGIC_SWITCH = ' '

  • TESTRUN = ' '

  • CONVERT = ' '

  • IMPORTING

  • SALESDOCUMENT_EX =

TABLES

RETURN = LT_RETURN

ORDER_ITEMS_IN = LT_ORDER_ITEMS_IN

ORDER_ITEMS_INX = LT_ORDER_ITEMS_IN

ORDER_PARTNERS = LT_ORDER_PARTNERS

  • ORDER_SCHEDULES_IN =

  • ORDER_SCHEDULES_INX =

  • ORDER_CONDITIONS_IN =

  • ORDER_CFGS_REF =

  • ORDER_CFGS_INST =

  • ORDER_CFGS_PART_OF =

  • ORDER_CFGS_VALUE =

  • ORDER_CFGS_BLOB =

  • ORDER_CFGS_VK =

  • ORDER_CFGS_REFINST =

  • ORDER_CCARD =

  • ORDER_TEXT =

  • ORDER_KEYS =

  • EXTENSIONIN =

  • PARTNERADDRESSES =

EXCEPTIONS

OTHERS = 1.

IF SY-SUBRC = 0.

ENDIF.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

EXPORTING

WAIT = 'X'

  • IMPORTING

  • RETURN =

EXCEPTIONS

OTHERS = 1.