2007 Jan 16 1:14 PM
AFTER USING THE FOLLOWING CODE IN THE RETURN PARAMETER IT GIVES ME THAT I NEED TO ENTER SOLD TO PARTY...... BUT WHEN I TRY TESTING IT AND PASS THE PARAMETER THRU SE37 IT CREATES SD DOC. KINDLY HELP. IAM PASSING MINIMUM PARAMTERS TO CREATE SD DOC THRU BILLING REF DOC.
&----
*& Report ZNMTEST1
*&
&----
*&
*&
&----
REPORT znmtest1.
TABLES: vbak,vbap.
DATA: BEGIN OF errmsg OCCURS 10.
INCLUDE STRUCTURE bapiret2.
DATA: END OF errmsg.
DATA: begin of return OCCURS 1 .
INCLUDE STRUCTURE BAPIRET2.
data: end of return.
*data: return like BAPIRET2 occurs 1 with header line.
DATA: sd_vbeln TYPE BAPIVBELN-VBELN.
DATA: order_header_in LIKE bapisdhd1.
DATA: begin of order_partners OCCURS 0 .
INCLUDE STRUCTURE BAPIPARNR.
data: end of order_partners.
DATA: order_items_in LIKE bapisditm OCCURS 10 WITH HEADER LINE.
DATA: it_vbrp LIKE vbrp OCCURS 10 WITH HEADER LINE.
PARAMETER: svbeln LIKE vbrk-vbeln OBLIGATORY,
kunnr LIKE kuagv-kunnr OBLIGATORY,
werks LIKE vbap-werks OBLIGATORY.
START-OF-SELECTION.
SELECT * FROM vbrp INTO CORRESPONDING FIELDS OF TABLE it_vbrp WHERE vbeln = sd_vbeln AND pstyv = 'ZTAB'.
LOOP AT it_vbrp.
order_header_in-doc_type = 'ZQIC'.
order_header_in-sales_org = '1000'.
order_header_in-distr_chan = '30'.
order_header_in-division = '00'.
order_header_in-ref_doc = svbeln.
ORDER_HEADER_IN-REFDOCTYPE = 'ZQSR'.
ORDER_HEADER_IN-SD_DOC_CAT = 'C'.
CLEAR order_partners.
order_partners-partn_numb = kunnr.
order_partners-partn_role = 'SP'.
APPEND order_partners.
ENDLOOP.
CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
EXPORTING
SALESDOCUMENTIN =
order_header_in = order_header_in
ORDER_HEADER_INX =
SENDER =
BINARY_RELATIONSHIPTYPE =
INT_NUMBER_ASSIGNMENT =
BEHAVE_WHEN_ERROR =
LOGIC_SWITCH =
TESTRUN =
CONVERT = ' '
IMPORTING
salesdocument = sd_vbeln
TABLES
RETURN = return
ORDER_ITEMS_IN =
ORDER_ITEMS_INX =
order_partners = order_partners
ORDER_SCHEDULES_IN =
ORDER_SCHEDULES_INX =
ORDER_CONDITIONS_IN =
ORDER_CONDITIONS_INX =
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 =
.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = '1'
IMPORTING
RETURN = errmsg
.
WRITE: / sd_vbeln.
*write: / errmsg.
2007 Jan 16 2:45 PM
Hi,
1. Pass a structure to ORDER_HEADER_INX . Pass 'X' to all the respective values that you are passing in ORDER_HEADER_INX.
2. Pass ORDER_ITEMS_IN, ORDER_ITEMS_INX , ORDER_SCHEDULES_IN and ORDER_SCHEDULES_INX .
3. Call FM BAPI_TRANSACTION_COMMIT.
Reward points if the answer is helpful. If the question is answered, please close the thread.
Regards,
Mukul
AFTER USING THE FOLLOWING CODE IN THE RETURN PARAMETER IT GIVES ME THAT I NEED TO ENTER SOLD TO PARTY...... BUT WHEN I TRY TESTING IT AND PASS THE PARAMETER THRU SE37 IT CREATES SD DOC. KINDLY HELP. IAM PASSING MINIMUM PARAMTERS TO CREATE SD DOC THRU BILLING REF DOC.
&----
*& Report ZNMTEST1
*&
&----
*&
*&
&----
REPORT znmtest1.
TABLES: vbak,vbap.
DATA: BEGIN OF errmsg OCCURS 10.
INCLUDE STRUCTURE bapiret2.
DATA: END OF errmsg.
DATA: begin of return OCCURS 1 .
INCLUDE STRUCTURE BAPIRET2.
data: end of return.
*data: return like BAPIRET2 occurs 1 with header line.
DATA: sd_vbeln TYPE BAPIVBELN-VBELN.
DATA: order_header_in LIKE bapisdhd1.
DATA: begin of order_partners OCCURS 0 .
INCLUDE STRUCTURE BAPIPARNR.
data: end of order_partners.
DATA: order_items_in LIKE bapisditm OCCURS 10 WITH HEADER LINE.
DATA: it_vbrp LIKE vbrp OCCURS 10 WITH HEADER LINE.
PARAMETER: svbeln LIKE vbrk-vbeln OBLIGATORY,
kunnr LIKE kuagv-kunnr OBLIGATORY,
werks LIKE vbap-werks OBLIGATORY.
START-OF-SELECTION.
SELECT * FROM vbrp INTO CORRESPONDING FIELDS OF TABLE it_vbrp WHERE vbeln = sd_vbeln AND pstyv = 'ZTAB'.
LOOP AT it_vbrp.
order_header_in-doc_type = 'ZQIC'.
order_header_in-sales_org = '1000'.
order_header_in-distr_chan = '30'.
order_header_in-division = '00'.
order_header_in-ref_doc = svbeln.
ORDER_HEADER_IN-REFDOCTYPE = 'ZQSR'.
ORDER_HEADER_IN-SD_DOC_CAT = 'C'.
CLEAR order_partners.
order_partners-partn_numb = kunnr.
order_partners-partn_role = 'SP'.
APPEND order_partners.
ENDLOOP.
CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
EXPORTING
SALESDOCUMENTIN =
order_header_in = order_header_in
ORDER_HEADER_INX =
SENDER =
BINARY_RELATIONSHIPTYPE =
INT_NUMBER_ASSIGNMENT =
BEHAVE_WHEN_ERROR =
LOGIC_SWITCH =
TESTRUN =
CONVERT = ' '
IMPORTING
salesdocument = sd_vbeln
TABLES
RETURN = return
ORDER_ITEMS_IN =
ORDER_ITEMS_INX =
order_partners = order_partners
ORDER_SCHEDULES_IN =
ORDER_SCHEDULES_INX =
ORDER_CONDITIONS_IN =
ORDER_CONDITIONS_INX =
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 =
.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = '1'
IMPORTING
RETURN = errmsg
.
WRITE: / sd_vbeln.
*write: / errmsg.
2007 Jan 16 2:17 PM
Hi Navid,
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = '1'
IMPORTING
RETURN = errmsg
.
In this function module dont enterany value against WAIT.
Try out this.
Reward Points if it solved your issue.
regards,
Kiran I
2007 Jan 16 2:32 PM
hi
1.pass this structure also--> ORDER_HEADER_INX put the value as X if you r
passing the field in ORDER_HEADER_IN. same way fill the ORDER_ITEMS_INX also
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
<b> WAIT = 'X'.</b>
u r passing 1.
hope it works
Please Close this thread.. when u r problem is solved
Reward if Helpful
Regards
Naresh Reddy K
2007 Jan 16 2:41 PM
Hi navid,
you don't pass any items to the order. Try again with at least one item. Probably the system gets confused when trying to save empty order.
Note: The message 'Enter sold-to party' not necessarily means what it says.
Note: Please release CAPS LOCK. It saves our eyes.
Regards,
Clemens
2007 Jan 17 6:20 AM
actually i was trying to create a sales order by reference and thats why i did not fill any line item.
2007 Jan 16 2:45 PM
Hi,
1. Pass a structure to ORDER_HEADER_INX . Pass 'X' to all the respective values that you are passing in ORDER_HEADER_INX.
2. Pass ORDER_ITEMS_IN, ORDER_ITEMS_INX , ORDER_SCHEDULES_IN and ORDER_SCHEDULES_INX .
3. Call FM BAPI_TRANSACTION_COMMIT.
Reward points if the answer is helpful. If the question is answered, please close the thread.
Regards,
Mukul
2007 Jan 17 6:23 AM
why is it necessary to do so. can you explain it to me please. thank you in advance
2007 Jan 17 6:25 AM
the problem i was having is that in order_header_in there were 2 refernce fields and probabaly i was putting it the wrong one. my problem was not related to commit but populating the bapi. everybody thanks for your input.
| User | Count |
|---|---|
| 6 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |