2009 Feb 11 9:03 AM
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.
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.
2009 Feb 11 9:17 AM
2009 Feb 11 9:21 AM
Hi,,,
CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
EXPORTING
SALESDOCUMENT = v_salesdocument "declare the variable.
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.
Declare the variable V_Salesdoc and check whether the sales order number is population are not....
If the sales oreder Number is not populating the we nned to check for where the issue comes
2009 Feb 11 9:23 AM
Hi,
Check this link
http://www.sap-img.com/abap/bapi-salesorder-createfromdat2.htm
might be useful.
Regards,
Nagaraj
2009 Feb 11 9:23 AM
if u have sales order created after BAPI_TRAS_COMIT.
Use waoit up to 5 seconds command in ur program....
Some time it may not store when system is fast.
2009 Feb 20 9:32 AM
Hello,
I think you have to fill ORDER_SCHEDULES_IN and ORDER_SCHEDULES_INX, too. Than it will work.
Regards,
Timo
2009 Apr 03 8:49 AM
in this FM u assing like that
data : begin of it_success occurs 0,
SALESDOCUMENT LIKE BAPIVBELN-VBELN, "PROJECT
end of it_success.
DATA : SALESDOCUMENT LIKE BAPIVBELN-VBELN.
*****************
CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
EXPORTING
ORDER_HEADER_IN = ORDER_HEADER_IN
ORDER_HEADER_INX = headerx
IMPORTING
SALESDOCUMENT = SALESDOCUMENT
TABLES
RETURN = RETURN
ORDER_ITEMS_IN = ORDER_ITEMS_IN
ORDER_PARTNERS = ORDER_PARTNERS
ORDER_SCHEDULES_IN = ORDER_SCHEDULES_IN
ORDER_SCHEDULES_INX = ORDER_SCHEDULES_INX
ORDER_KEYS = ORDER_KEYS.
2009 Apr 03 9:03 AM
Hi please find code below
CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
EXPORTING
SALESDOCUMENTIN =
order_header_in = wa_bapihead
order_header_inx = wa_bapiheadx
SENDER =
BINARY_RELATIONSHIPTYPE =
int_number_assignment = 'X'
BEHAVE_WHEN_ERROR =
LOGIC_SWITCH =
testrun = testrun
CONVERT = ' '
IMPORTING
SALESDOCUMENT =
TABLES
return = it_return
order_items_in = it_bapiitem
order_items_inx = it_bapiitemx
order_partners = it_bapipartner
order_schedules_in = it_bapischdl
order_schedules_inx = it_bapischdlx
order_conditions_in = it_bapicond
order_conditions_inx = it_bapicondx
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 = it_bapitext
ORDER_KEYS =
EXTENSIONIN =
PARTNERADDRESSES =
.
Edited by: yogesh Kothavade on Apr 3, 2009 10:06 AM
2009 Apr 03 9:11 AM
Hi Ruby,
Put your BAPI_TRANSACTION_COMMIT inside the sy-subrc = 0 if condition.
Put an else condition and write an error message, to check if the call was succesful at all.
Also, are you able to create a sales order with the same data using VA01 transaction manually?
Regards,
Ravi Kanth Talagana
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.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'
* IMPORTING
* RETURN =
EXCEPTIONS
OTHERS = 1.
ELSE.
WRITE:/ 'ERROR'.
ENDIF.
2010 May 10 2:36 PM
| User | Count |
|---|---|
| 6 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |