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

hi code for uplading a seles order data through BAPI,also error handling

Former Member
0 Likes
471

hi

i want to code for uploading a salesorder data BAPI and eeror

HANDLING THROUGH BAPI

2 REPLIES 2
Read only

Former Member
0 Likes
385

Hi,

VA01 is the transaction for create the sales order.

Refer the below links about sales order creation using BAPI.

[http://abaplovers.blogspot.com/2008/02/bapi-sales-order-create-code.html|http://abaplovers.blogspot.com/2008/02/bapi-sales-order-create-code.html]

[http://abap.wikiprog.com/wiki/BAPI_SALESORDER_CREATEFROMDAT2|http://abap.wikiprog.com/wiki/BAPI_SALESORDER_CREATEFROMDAT2]

Reward if found helpful.

Regards,

Boobalan Suburaj

Read only

Former Member
0 Likes
385

Hi,

BAPI_SALESORDER_CREATEFROMDAT2

Use this BAPI for sales order Upload.

Sample code.

REPORT Z_DURAI_TEST.

----


  • Parameters

----


Parameters: P_order like vbak-vbeln.

Parameters: P_quote like BAPIVBELN-VBELN.

Parameters: P_new like BAPIVBELN-VBELN.

*

  • We need to create a new order number P_New from an existing order P_order

  • linked to an existing quotation P_quote

----


  • Tables

----


Tables: VBAK,

VBAP,

VBKD. "Sales Document: Business Data

----


  • Data and internal table

----


DATA: order_header_in1 LIKE BAPISDHD1.

DATA: order_header_intX like BAPISDHD1X.

DATA : SALESDOCUMENT1 TYPE BAPIVBELN-VBELN.

DATA : RETURN2 TYPE BAPIRET2.

DATA: order_partners1 type BAPIPARNR occurs 0 with header line.

DATA: ORDER_ITEMS_IN1 type BAPISDITM occurs 0 with header line.

DATA: ORDER_ITEMS_IN1X type BAPISDITMX occurs 0 with header line.

DATA: ORDER_SCHEDULES_IN1 type BAPISCHDL occurs 0 with header line.

DATA: ORDER_SCHEDULES_IN1X type BAPISCHDLX occurs 0 with header line.

DATA : RETURN1 TYPE BAPIRET2 OCCURS 0 with header line.

Start-of-selection.

Select single * from vbak where vbeln = p_quote.

if not sy-subrc = 0.

write:/ text-e02.

exit.

endif.

Select single * from vbak where vbeln = p_order.

if not sy-subrc = 0.

write:/ text-e01.

exit.

endif.

Select single * from vbkd where vbeln = p_order.

if not sy-subrc = 0.

write:/ text-e03.

exit.

endif.

order_header_in1-doc_type = 'TA'.

order_header_in1-sales_org = vbak-vkorg.

order_header_in1-distr_chan = vbak-vtweg.

order_header_in1-division = vbak-spart.

order_header_in1-REQ_DATE_H = sy-datum + 20.

order_header_in1-PURCH_NO_C = 'HBR_Commande'.

order_header_in1-REF_1 = 'E-DISTR'.

order_header_in1-SD_DOC_CAT = 'C'.

order_header_in1-REF_DOC = P_quote.

order_header_in1-REF_DOC_L = P_quote.

order_header_in1-REFDOC_CAT = 'B'.

order_header_in1-INCOTERMS1 = vbkd-inco1.

order_header_in1-INCOTERMS2 = vbkd-inco2.

order_header_in1-PMNTTRMS = vbkd-zterm.

order_header_in1-SALES_OFF = vbak-vkbur.

select * from vbap where vbeln = vbak-vbeln.

clear ORDER_ITEMS_IN1.

ORDER_ITEMS_IN1-PO_ITM_NO = vbap-posnr.

ORDER_ITEMS_IN1-material = vbap-MATNR.

ORDER_ITEMS_IN1-TARGET_QU = vbap-zieme.

ORDER_ITEMS_IN1-REF_DOC = P_quote.

ORDER_ITEMS_IN1-REF_DOC_IT = vbap-posnr.

ORDER_ITEMS_IN1-REF_DOC_CA = 'B'.

append ORDER_ITEMS_IN1.

*

clear ORDER_SCHEDULES_IN1.

ORDER_SCHEDULES_IN1-ITM_NUMBER = vbap-posnr.

ORDER_SCHEDULES_IN1-REQ_DATE = sy-datum + 20.

ORDER_SCHEDULES_IN1-REQ_QTY = vbap-KWMENG.

append ORDER_SCHEDULES_IN1.

*

endselect.

order_partners1-PARTN_ROLE = 'WE'.

order_partners1-PARTN_NUMB = vbak-KUNNR.

APPEND order_partners1.

order_partners1-PARTN_ROLE = 'AG'.

APPEND order_partners1.

Perform call_function.

&----


*& Form call_function

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form call_function .

CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'

EXPORTING

SALESDOCUMENTIN = P_new

ORDER_HEADER_IN = order_header_in1

  • ORDER_HEADER_INX = order_header_intX

  • SENDER =

  • BINARY_RELATIONSHIPTYPE =

  • INT_NUMBER_ASSIGNMENT =

  • BEHAVE_WHEN_ERROR =

  • LOGIC_SWITCH =

  • TESTRUN =

  • CONVERT = ' '

IMPORTING

SALESDOCUMENT = SALESDOCUMENT1

TABLES

RETURN = RETURN1

ORDER_ITEMS_IN = ORDER_ITEMS_IN1

  • ORDER_ITEMS_INX = ORDER_ITEMS_IN1X

ORDER_PARTNERS = order_partners1

ORDER_SCHEDULES_IN = ORDER_SCHEDULES_IN1

  • ORDER_SCHEDULES_INX = ORDER_SCHEDULES_IN1X

  • 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 NOT SALESDOCUMENT1 IS INITIAL.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

EXPORTING

WAIT = 'X'

IMPORTING

RETURN = RETURN2.

ELSE.

CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.

ENDIF.

endform. "call_function

Thanks,

Durai.V