‎2007 Sep 04 6:17 AM
Hi,
I want to create the sales order using BAPI.
This is my program. But when iam executing it iam not getting the result. plz let me know the correct code.
DATA:
WA_ORDERHEADER TYPE BAPISDHD1,
WA_ORDERHEADERX TYPE BAPISDHD1X,
V_ORDERNUMBER TYPE BAPIVBELN-VBELN,
IT_RETURN TYPE TABLE OF BAPIRET2,
WA_RETURN TYPE BAPIRET2,
IT_ITEMS TYPE TABLE OF BAPISDITM,
WA_ITEMS TYPE BAPISDITM,
IT_ITEMSX TYPE TABLE OF BAPISDITMX,
WA_ITEMSX TYPE BAPISDITMX,
IT_PARTNER TYPE TABLE OF BAPIPARNR,
WA_PATNR TYPE BAPIPARNR,
WA_SCHEDULES TYPE BAPISCHDL,
IT_SCHEDULES TYPE TABLE OF BAPISCHDL,
WA_SCHEDULESX TYPE BAPISCHDLX,
IT_SCHEDULESX TYPE TABLE OF BAPISCHDLX.
CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
EXPORTING
SALESDOCUMENTIN =
ORDER_HEADER_IN = WA_ORDERHEADER
ORDER_HEADER_INX = WA_ORDERHEADERX
SENDER =
BINARY_RELATIONSHIPTYPE =
INT_NUMBER_ASSIGNMENT =
BEHAVE_WHEN_ERROR =
LOGIC_SWITCH =
TESTRUN =
CONVERT = ' '
IMPORTING
SALESDOCUMENT = V_ORDERNUMBER
TABLES
RETURN = IT_RETURN
ORDER_ITEMS_IN = IT_ITEMS
ORDER_ITEMS_INX = IT_ITEMSX
ORDER_PARTNERS = IT_PARTNER
ORDER_SCHEDULES_IN = IT_SCHEDULES
ORDER_SCHEDULES_INX = IT_SCHEDULESX.
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 =
.
IF IT_RETURN IS NOT INITIAL.
READ TABLE IT_RETURN INTO WA_RETURN
WITH KEY TYPE = 'E'.
IF SY-SUBRC NE 0.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
EXPORTING
WAIT =
IMPORTING
RETURN =
ENDIF.
ENDIF.
START-OF-SELECTION.
PERFORM FILL_ORDERHEADER.
PERFORM FILL_ORDERHEADER_FLAGS.
PERFORM FILL_PARTNERDATA.
PERFORM FILL_ORDERITEMS.
PERFORM FILL_ORDERITEMS_FLAGS.
PERFORM FILL_SCHEDULELINES.
PERFORM FILL_SCHEDULELINES_FLAGS.
&----
*& Form FILL_ORDERHEADER
&----
text
----
--> p1 text
<-- p2 text
----
FORM FILL_ORDERHEADER .
WA_ORDERHEADER-DOC_TYPE = 'OR'.
WA_ORDERHEADER-SALES_ORG = '0001'.
WA_ORDERHEADER-DISTR_CHAN = '01'.
WA_ORDERHEADER-DIVISION = '01'.
WA_ORDERHEADERX-PURCH_DATE = ''.
WA_ORDERHEADERX-PURCH_NO_C = '12344'.
ENDFORM. " FILL_ORDERHEADER
&----
*& Form FILL_ORDERHEADER_FLAGS
&----
text
----
--> p1 text
<-- p2 text
----
FORM FILL_ORDERHEADER_FLAGS .
CLEAR WA_ORDERHEADERX.
WA_ORDERHEADERX-UPDATEFLAG = 'I'.
WA_ORDERHEADERX-DOC_TYPE = 'X'.
WA_ORDERHEADERX-SALES_ORG = 'X'.
WA_ORDERHEADERX-DISTR_CHAN = 'X'.
WA_ORDERHEADERX-DIVISION = 'X'.
WA_ORDERHEADERX-PURCH_DATE = 'X'.
WA_ORDERHEADERX-PURCH_NO_C = 'X'.
ENDFORM. " FILL_ORDERHEADER_FLAGS
&----
*& Form FILL_PARTNERDATA
&----
text
----
--> p1 text
<-- p2 text
----
FORM FILL_PARTNERDATA .
CLEAR WA_PATNR.
WA_PATNR-PARTN_ROLE = 'SP'.
WA_PATNR-PARTN_NUMB = '3250'.
APPEND WA_PATNR TO IT_PARTNER.
WA_PATNR-PARTN_ROLE = 'SH'.
WA_PATNR-PARTN_NUMB = '3250'.
APPEND WA_PATNR TO IT_PARTNER.
CALL FUNCTION 'CONVERSION_EXIT_PARVW_INPUT'
EXPORTING
INPUT = WA_PATNR-PARTN_ROLE
IMPORTING
OUTPUT = WA_PATNR-PARTN_ROLE.
.
ENDFORM. " FILL_PARTNERDATA
&----
*& Form FILL_ORDERITEMS
&----
text
----
--> p1 text
<-- p2 text
----
FORM FILL_ORDERITEMS .
CLEAR WA_ITEMS.
WA_ITEMS-ITM_NUMBER = '00010'.
WA_ITEMS-MATERIAL = 'M-10'.
WA_ITEMS-TARGET_QTY = '10'.
APPEND WA_ITEMS TO IT_ITEMS.
ENDFORM. " FILL_ORDERITEMS
&----
*& Form FILL_PARTNERDATA_FLAGS
&----
text
----
--> p1 text
<-- p2 text
----
*FORM FILL_PARTNERDATA_FLAGS .
*CLEAR WA_PATNRX.
*WA_PATNRX-UPDATEFLAG = 'I'.
*WA_PATNRX-PARTN_ROLE = 'X'.
*WA_PATNR-PARTN_NUMB = 'X'.
*APPEND WA_PATNR TO IT_PARTNER.
*WA_PATNR-PARTN_ROLE = 'X'.
*WA_PATNR-PARTN_NUMB = 'X'.
*APPEND WA_PATNR TO IT_PARTNER.
*CALL FUNCTION 'CONVERSION_EXIT_PARVW_INPUT'
EXPORTING
INPUT = WA_PATNR-PARTN_ROLE
IMPORTING
OUTPUT = WA_PATNR-PARTN_ROLE.
*
*
*ENDFORM. " FILL_PARTNERDATA_FLAGS
&----
*& Form FILL_ORDERITEMS_FLAGS
&----
text
----
--> p1 text
<-- p2 text
----
FORM FILL_ORDERITEMS_FLAGS .
CLEAR WA_ITEMSX.
WA_ITEMSX-UPDATEFLAG = 'I'.
WA_ITEMSX-ITM_NUMBER = 'X'.
WA_ITEMSX-MATERIAL = 'X'.
WA_ITEMSX-TARGET_QTY = 'X'.
APPEND WA_ITEMSX TO IT_ITEMSX.
ENDFORM. " FILL_ORDERITEMS_FLAGS
&----
*& Form FILL_SCHEDULELINES
&----
text
----
--> p1 text
<-- p2 text
----
FORM FILL_SCHEDULELINES .
WA_SCHEDULES-ITM_NUMBER = '00010'.
WA_SCHEDULES-REQ_QTY = '10'.
APPEND WA_SCHEDULES TO IT_SCHEDULES.
ENDFORM. " FILL_SCHEDULELINES
&----
*& Form FILL_SCHEDULELINES_FLAGS
&----
text
----
--> p1 text
<-- p2 text
----
FORM FILL_SCHEDULELINES_FLAGS .
WA_SCHEDULESX-UPDATEFLAG = 'I'.
WA_SCHEDULESX-ITM_NUMBER = 'X'.
WA_SCHEDULESX-REQ_QTY = 'X'.
APPEND WA_SCHEDULESX TO IT_SCHEDULESX.
ENDFORM. " FILL_SCHEDULELINES_FLAGS
Thanks
‎2007 Sep 04 6:26 AM
Hi,
did you check the datatypes ...whether there is some conversions going on....
suppose a number like 556 must be entered as 000000556 for the proper functioning....
<b>Reward points if helpful,</b>
Regards,
jinesh.
‎2007 Sep 04 6:29 AM
hi,
check my program
REPORT ZBAPI_SALES.
DATA: order_header_in type bapisdhd1.
DATA: order_partners type table of BAPIPARNR.
data: return type table of BAPIRET2.
data: errmsg type BAPIRET2.
PARAMETER: p_vbeln LIKE vbrk-vbeln OBLIGATORY,
p_kunnr LIKE kuagv-kunnr OBLIGATORY.
START-OF-SELECTION.
order_header_in-doc_type = 'OR'.
order_header_in-sales_org = '1000'.
order_header_in-distr_chan = '30'.
order_header_in-division = '00'.
order_header_in-ref_doc = p_vbeln.
ORDER_HEADER_IN-REFDOCTYPE = 'ZQSR'.
ORDER_HEADER_IN-SD_DOC_CAT = 'C'.
CLEAR order_partners.
order_partners-partn_numb = p_kunnr.
order_partners-partn_role = 'SP'.
APPEND order_partners.
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'.
regards,
sudha
‎2007 Sep 04 6:50 AM
Hi,
try putting WA_ORDERHEADERX-UPDATEFLAG = 'X'. in all the performs