Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

BAPI

Former Member
0 Likes
529

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

3 REPLIES 3
Read only

Former Member
0 Likes
440

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.

Read only

Former Member
0 Likes
440

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

Read only

Former Member
0 Likes
440

Hi,

try putting WA_ORDERHEADERX-UPDATEFLAG = 'X'. in all the performs