BAPI for uploading sales order
Hi Guys,
I have upload the sales order data from a flat file to SAP system using BAPI, can you please tell step by step process how to do that. My flat file contains the following contents with the fields : Order type, sales organization,dist channel, divison, PO no., SP,SH , material no. , quantity and price.
OR 1000 12 00 DG-20010112-4 2004 2004 M-16 40 1000
OR 1000 12 00 DG-20010112-4 2004 2004 M-12 20 2000
OR 1000 10 00 12134 1032 1032 m-12 35 2000
thanks
rajeev Gupta
see this example program
REPORT ZBAPI_SALESORDER_CREATE LINE-SIZE 132 MESSAGE-ID ZMMBAPI .
Internal table definition *
****<<<<<Communication Fields: Sales and Distribution Document Header>>>>>>>>
DATA: GT_ORDER_HEADER_IN LIKE BAPISDHD1,
*******<<<Checkbox Fields for Sales and Distribution Document Header>>>>>>>>>
GT_ORDER_HEADER_INX LIKE BAPISDHD1X,
*****<<<<<Return Parameter>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
GT_RETURN LIKE BAPIRET2 OCCURS 0 WITH HEADER LINE, " Return Messages
*********<<<Communication Fields: Sales and Distribution Document Item<>>>>>
GT_ORDER_ITEMS_IN LIKE BAPISDITM OCCURS 0 WITH HEADER LINE, " Item Data
*********<<<Communication Fields: Sales and Distribution Document Item>>>>>>>
GT_ORDER_ITEMS_INX LIKE BAPISDITMX OCCURS 0 WITH HEADER LINE, "Item Data Checkbox
*********<<<Communication Fields: Sales and Distribution Document Item>>>>>>>
GT_SALESDOCUMENT LIKE BAPIVBELN-VBELN , "Number of Generated Document
*********<<<Communications Fields: SD Document Partner: WWW>>>>>>>>>>>>>>>>>>
GT_ORDER_PARTNERS LIKE BAPIPARNR OCCURS 0 WITH HEADER LINE, "Document Partner
********<<<<Communications Fields: SD Document Partner: WWW>>>>>>>>>>>>>>>>>>
GT_ORDER_SCHEDULES_IN LIKE BAPISCHDL OCCURS 0 WITH HEADER LINE, "Schedule Line Data
****<<<<<<<<Checkbox List for Maintaining Sales Document Schedule Line>>>>>>>>
GT_ORDER_SCHEDULES_INX LIKE BAPISCHDLX OCCURS 0 WITH HEADER LINE, " Checkbox Schedule Line Data
*******Communication Fields for Maintaining Conditions in the Order
GT_ORDER_CONDITIONS_IN LIKE BAPICOND OCCURS 0 WITH HEADER LINE,
******Communication Fields for Maintaining Conditions in the Order
GT_ORDER_CONDITIONS_INX LIKE BAPICONDX OCCURS 0 WITH HEADER LINE.
Data definition *
DATA: BEGIN OF GT_FT_SALES OCCURS 0,
DOC_TYPE(4) , "Sales Document Type
SALES_ORG(4) , "Sales Organization
DISTR_CHAN(2) , "Distribution Channel
DIVISION(2) , "DIVISION(2)
SALES_DIST(6) , "Sales district
INCOTERMS1(3) , "Incoterms (part 1)
INCOTERMS2(28) , "Incoterms (part 2)
PMNTTRMS(4) , "Terms of payment key
PRICE_DATE(8) , "Date for pricing and exchange rate
PURCH_NO_C(35) , "Customer purchase order number
PURCH_NO_S(35) , "Ship-to Party's Purchase Order Number
EXCHG_RATE(8) , "Directly quoted exchange rate for pricing and statistics
CURRENCY(5) , "SD document currency
MATERIAL(18), "MATERIAL
TARGET_QTY(13) , "Target quantity in sales units
ITEM_CATEG(4) , "Sales document item category
MATL_GROUP(8) , "Material Group
PURCH_NO_C1(35), "Customer purchase order number
SALES_DIST1(6) , "Sales district
INCOTERMS11(3) , "Incoterms (part 1)
INCOTERMS21(28), "Incoterms (part 2)
PMNTTRMS1(4) , "Terms of payment key
EXCHG_RATE1(8) , "Directly quoted exchange rate for pricing and statistics
PRICE_DATE1(8) , "Date for pricing and exchange rate
TRG_QTY_NO(5) , "Factor for converting sales units to base units (target qty)
DIVISION1(2) , "DIVISION1
SALQTYNUM(5) , "Numerator (factor) for conversion of sales quantity into SKU
GROSS_WGHT(3) , "Gross Weight of the Item
NET_WEIGHT(15) , "Net Weight of the Item
UNTOF_WGHT(3) ,"Weight Unit
PARTN_ROLE(2) ,"Partner function
PARTN_NUMB(10) ,"Customer Number 1
********<<<<Communications Fields: SD Document Partner: WWW>>>>>>>>>>>>>>>>>>
ITM_NUMBER(6) ,"Item number of the SD document
REQ_QTY(8) , "Schedule line date
DLV_DATE(8) , "Schedule line date
MS_DATE(8) , "Material availability date
LOAD_DATE(8) , "Loading time (local time with reference to a shipping point)
GI_DATE(8), "Time of goods issue (local DATE, with reference to a plant)
TP_DATE(8) , "Transportation planning -time (local w/ref. to shipping pnt)
ITM_NUMBER2(6) , "Condition item number
END OF GT_FT_SALES,
MSG(240) TYPE C, " Return Message
E_REC(8) TYPE C, " Error Records Counter
REC_NO(8) TYPE C, " Records Number Indicator
S_REC(8) TYPE C, " Successful Records Counter
T_REC(8) TYPE C. " Total Records Counter
selection block for EXCEL UPLOAD FILE>>>>>>>>>>>>>>>>>>>>>>>>
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-000.
PARAMETERS FILE TYPE IBIPPARMS-PATH OBLIGATORY.
SELECTION-SCREEN END OF BLOCK B1.
*<<<<AT SELECTION-SCREEN ON VALUE-REQUEST FOR FILE .>>>>>>>>>>>>
AT SELECTION-SCREEN ON VALUE-REQUEST FOR FILE .
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
IMPORTING
FILE_NAME = FILE.
**<<<<<<<<<<<<<<<<<START-OF-SELECTION.>>>>>>>>>>>>>>>>>>>>>>>>>>>
START-OF-SELECTION.
CALL FUNCTION 'WS_UPLOAD' "#EC *
EXPORTING
FILENAME = FILE
FILETYPE = 'DAT'
TABLES
DATA_TAB = GT_FT_SALES
EXCEPTIONS
CONVERSION_ERROR = 1
FILE_OPEN_ERROR = 2
FILE_READ_ERROR = 3
INVALID_TYPE = 4
NO_BATCH = 5
UNKNOWN_ERROR = 6
INVALID_TABLE_WIDTH = 7
GUI_REFUSE_FILETRANSFER = 8
CUSTOMER_ERROR = 9
NO_AUTHORITY = 10
OTHERS = 11.
IF SY-SUBRC <> 0 .
MESSAGE E000.
ENDIF.
SKIP 3.
FORMAT COLOR COL_HEADING INVERSE ON.
WRITE 40 TEXT-001.
FORMAT COLOR COL_HEADING INVERSE OFF.
SKIP 1.
FORMAT COLOR COL_NEGATIVE INVERSE ON.
WRITE :/ TEXT-002, 13 SY-MANDT , 104 TEXT-003, 111 SY-UNAME,
/ TEXT-004, 13 SY-DATUM , 104 TEXT-005, 111 SY-UZEIT.
FORMAT COLOR COL_NEGATIVE INVERSE OFF.
SKIP 3.
LOOP AT GT_FT_SALES.
PERFORM SLALE_UPLOAD_DATA.
ENDLOOP.
T_REC = E_REC + S_REC.
SKIP 3.
FORMAT COLOR COL_TOTAL INVERSE ON.
WRITE: /38 TEXT-007, T_REC.
FORMAT COLOR COL_TOTAL INVERSE OFF.
FORMAT COLOR COL_NEGATIVE INVERSE ON.
WRITE: /38 TEXT-008, E_REC.
FORMAT COLOR COL_NEGATIVE INVERSE OFF.
FORMAT COLOR COL_TOTAL INVERSE ON.
WRITE: /38 TEXT-009, S_REC.
FORMAT COLOR COL_TOTAL INVERSE OFF.
*& Form SLALE_UPLOAD_DATA
text
--> p1 text
<-- p2 text
FORM SLALE_UPLOAD_DATA .
*******<<<<<<<<<<Communication Fields: Sales and Distribution Document Header>>>>>>
GT_ORDER_HEADER_IN-DOC_TYPE = 'TA'.
GT_ORDER_HEADER_IN-SALES_ORG = GT_FT_SALES-SALES_ORG . "'0001'
GT_ORDER_HEADER_IN-DISTR_CHAN = GT_FT_SALES-DISTR_CHAN. "'01'
GT_ORDER_HEADER_IN-DIVISION = GT_FT_SALES-DIVISION. " '01'
GT_ORDER_HEADER_IN-SALES_DIST = GT_FT_SALES-SALES_DIST ."'000001'
GT_ORDER_HEADER_IN-INCOTERMS1 = GT_FT_SALES-INCOTERMS1. "'CFR'
GT_ORDER_HEADER_IN-INCOTERMS2 = GT_FT_SALES-INCOTERMS2 . "'HAMBURG'
GT_ORDER_HEADER_IN-PMNTTRMS = GT_FT_SALES-PMNTTRMS . "'0001'
GT_ORDER_HEADER_IN-PRICE_DATE = GT_FT_SALES-PRICE_DATE ."'20060818'
GT_ORDER_HEADER_IN-PURCH_NO_C = '32'.
GT_ORDER_HEADER_IN-PURCH_NO_S = '32'.
GT_ORDER_HEADER_IN-EXCHG_RATE = GT_FT_SALES-EXCHG_RATE ."'1.00000'
GT_ORDER_HEADER_IN-CURRENCY = GT_FT_SALES-CURRENCY . " 'EUR'
********<<<Checkbox Fields for Sales and Distribution Document Header>>>>>>>>>
GT_ORDER_HEADER_INX-DOC_TYPE = 'X'.
GT_ORDER_HEADER_INX-SALES_ORG = 'X'.
GT_ORDER_HEADER_INX-DISTR_CHAN = 'X'.
GT_ORDER_HEADER_INX-DIVISION = 'X'.
GT_ORDER_HEADER_INX-SALES_DIST = 'X'.
GT_ORDER_HEADER_INX-INCOTERMS1 = 'X'.
GT_ORDER_HEADER_INX-INCOTERMS2 = 'X'.
GT_ORDER_HEADER_INX-PMNTTRMS = 'X'.
GT_ORDER_HEADER_INX-PRICE_DATE = 'X'.
GT_ORDER_HEADER_INX-PURCH_NO_C = 'X'.
GT_ORDER_HEADER_INX-PURCH_NO_S = 'X'.
GT_ORDER_HEADER_INX-EXCHG_RATE = 'X'.
GT_ORDER_HEADER_INX-CURRENCY = 'X'.
*****<<<<<<Communication Fields: Sales and Distribution Document Item>>>
GT_ORDER_ITEMS_IN-ITM_NUMBER = '000010'.
GT_ORDER_ITEMS_IN-MATERIAL = GT_FT_SALES-MATERIAL .
GT_ORDER_ITEMS_IN-PO_ITM_NO = '32'.
GT_ORDER_ITEMS_IN-CUST_MAT22 = 'AGNI-IV'.
GT_ORDER_ITEMS_IN-BILL_DATE = '20060808'.
GT_ORDER_ITEMS_IN-PLANT = '0001'.
*GT_ORDER_ITEMS_IN-STORE_LOC = '0001'.
GT_ORDER_ITEMS_IN-TARGET_QTY = GT_FT_SALES-TARGET_QTY . "'1000'
GT_ORDER_ITEMS_IN-ITEM_CATEG = GT_FT_SALES-ITEM_CATEG . "'TAN'
GT_ORDER_ITEMS_IN-MATL_GROUP = GT_FT_SALES-MATL_GROUP . "'01'
GT_ORDER_ITEMS_IN-PURCH_NO_C = GT_FT_SALES-PURCH_NO_C . "'32'
GT_ORDER_ITEMS_IN-SALES_DIST = GT_FT_SALES-SALES_DIST . "'000001'
GT_ORDER_ITEMS_IN-INCOTERMS1 = GT_FT_SALES-INCOTERMS1 . "'CFR'
GT_ORDER_ITEMS_IN-INCOTERMS2 = GT_FT_SALES-INCOTERMS2 . "'HAMBURG'
GT_ORDER_ITEMS_IN-PMNTTRMS = GT_FT_SALES-PMNTTRMS . "'0001'.
GT_ORDER_ITEMS_IN-EXCHG_RATE = GT_FT_SALES-EXCHG_RATE . "'1.00000'
GT_ORDER_ITEMS_IN-PRICE_DATE = GT_FT_SALES-PRICE_DATE . "'20060808'
*GT_ORDER_ITEMS_IN-SALES_UNIT = 'DZ'.
GT_ORDER_ITEMS_IN-TRG_QTY_NO = GT_FT_SALES-TRG_QTY_NO . "'23'
GT_ORDER_ITEMS_IN-DIVISION = GT_FT_SALES-DIVISION . "'01'
GT_ORDER_ITEMS_IN-SALQTYNUM = GT_FT_SALES-SALQTYNUM . "'32'
GT_ORDER_ITEMS_IN-GROSS_WGHT = GT_FT_SALES-GROSS_WGHT. " ' 25272000'
GT_ORDER_ITEMS_IN-NET_WEIGHT = GT_FT_SALES-NET_WEIGHT. "'24464000'
GT_ORDER_ITEMS_IN-UNTOF_WGHT = GT_FT_SALES-UNTOF_WGHT . " 'KG'
*GT_ORDER_ITEMS_IN-CURRENCY = 'EUR'.
APPEND GT_ORDER_ITEMS_IN.
****<<<<<<Communication Fields: Sales and Distribution Document Item>>>
GT_ORDER_ITEMS_INX-ITM_NUMBER = '000010'.
GT_ORDER_ITEMS_INX-MATERIAL = 'X'.
*GT_ORDER_ITEMS_INX-PO_ITM_NO = 'X'.
GT_ORDER_ITEMS_INX-CUST_MAT22 = 'X'.
GT_ORDER_ITEMS_INX-BILL_DATE = 'X'.
GT_ORDER_ITEMS_INX-PLANT = 'X'.
*GT_ORDER_ITEMS_INX-STORE_LOC = 'X'.
GT_ORDER_ITEMS_INX-TARGET_QTY = 'X'.
GT_ORDER_ITEMS_INX-ITEM_CATEG = 'X'.
GT_ORDER_ITEMS_INX-MATL_GROUP = 'X'.
GT_ORDER_ITEMS_INX-PURCH_NO_C = 'X'.
GT_ORDER_ITEMS_INX-SALES_DIST = 'X'.
GT_ORDER_ITEMS_INX-INCOTERMS1 = 'X'.
GT_ORDER_ITEMS_INX-INCOTERMS2 = 'X'.
GT_ORDER_ITEMS_INX-PMNTTRMS = 'X'.
GT_ORDER_ITEMS_INX-EXCHG_RATE = 'X'.
GT_ORDER_ITEMS_INX-PRICE_DATE = 'X'.
*GT_ORDER_ITEMS_INX-SALES_UNIT = 'X'.
GT_ORDER_ITEMS_INX-TRG_QTY_NO = 'X'.
GT_ORDER_ITEMS_INX-DIVISION = 'X'.
GT_ORDER_ITEMS_INX-SALQTYNUM = 'X'.
GT_ORDER_ITEMS_INX-GROSS_WGHT = 'X'.
GT_ORDER_ITEMS_INX-NET_WEIGHT = 'X'.
GT_ORDER_ITEMS_INX-UNTOF_WGHT = 'X'.
*GT_ORDER_ITEMS_IN-CURRENCY = 'x'.
APPEND GT_ORDER_ITEMS_INX.
*****<<<<<<Communications Fields: SD Document Partner: WWW
GT_ORDER_PARTNERS-PARTN_ROLE = 'WE'.
GT_ORDER_PARTNERS-PARTN_NUMB = '0000000057'.
***GT_ORDER_PARTNERS-ITM_NUMBER = GT_FT_SALES-ITM_NUMBER . " '000010'.
APPEND GT_ORDER_PARTNERS.
*********<<<<Communications Fields: SD Document Partner: WWW>>>>>>>>>>>>>>>>>>
GT_ORDER_SCHEDULES_IN-ITM_NUMBER = GT_FT_SALES-ITM_NUMBER." '000010'
GT_ORDER_SCHEDULES_IN-REQ_QTY = GT_FT_SALES-REQ_QTY . "'234'
GT_ORDER_SCHEDULES_IN-DLV_DATE = GT_FT_SALES-DLV_DATE ." '20060824'.
GT_ORDER_SCHEDULES_IN-MS_DATE = GT_FT_SALES-MS_DATE . "'20060808'
GT_ORDER_SCHEDULES_IN-LOAD_DATE = GT_FT_SALES-LOAD_DATE. " '20060822'
GT_ORDER_SCHEDULES_IN-GI_DATE = GT_FT_SALES-GI_DATE . " '20060823'
GT_ORDER_SCHEDULES_IN-TP_DATE = GT_FT_SALES-TP_DATE . "'20060821'
APPEND gt_ORDER_SCHEDULES_IN.
*********<<<<Communications Fields: SD Document Partner: WWW FLAG>>>>>>>>>>>>>>>>>>
GT_ORDER_SCHEDULES_INX-ITM_NUMBER = '000010'.
GT_ORDER_SCHEDULES_INX-REQ_QTY = 'X'.
GT_ORDER_SCHEDULES_INX-DLV_DATE = 'X'.
GT_ORDER_SCHEDULES_INX-MS_DATE = 'X'.
GT_ORDER_SCHEDULES_INX-LOAD_DATE = 'X'.
GT_ORDER_SCHEDULES_INX-GI_DATE = 'X'.
GT_ORDER_SCHEDULES_INX-DLV_DATE = 'X'.
APPEND gt_ORDER_SCHEDULES_INX.
********Communication Fields for Maintaining Conditions in the Order
GT_ORDER_CONDITIONS_IN-ITM_NUMBER = GT_FT_SALES-ITM_NUMBER ." '000010'
APPEND GT_ORDER_CONDITIONS_IN.
***Communication Fields for Maintaining Conditions in the Order
GT_ORDER_CONDITIONS_INX-ITM_NUMBER = '000010'.
APPEND GT_ORDER_CONDITIONS_INX.
CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
EXPORTING
SALESDOCUMENTIN =
ORDER_HEADER_IN = GT_ORDER_HEADER_IN
ORDER_HEADER_INX = GT_ORDER_HEADER_INX
SENDER =
BINARY_RELATIONSHIPTYPE =
INT_NUMBER_ASSIGNMENT =
BEHAVE_WHEN_ERROR =
LOGIC_SWITCH =
TESTRUN =
CONVERT = ' '
IMPORTING
SALESDOCUMENT = GT_SALESDOCUMENT
TABLES
RETURN = GT_RETURN
ORDER_ITEMS_IN = GT_ORDER_ITEMS_IN
ORDER_ITEMS_INX = GT_ORDER_ITEMS_INX
ORDER_PARTNERS = GT_ORDER_PARTNERS
ORDER_SCHEDULES_IN = GT_ORDER_SCHEDULES_IN
ORDER_SCHEDULES_INX = GT_ORDER_SCHEDULES_INX
ORDER_CONDITIONS_IN = GT_ORDER_CONDITIONS_IN
ORDER_CONDITIONS_INX = GT_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 GT_RETURN-TYPE EQ 'E' .
E_REC = E_REC + 1.
READ TABLE GT_RETURN WITH KEY ID = 'V1'.
FORMAT COLOR COL_NEGATIVE INVERSE ON.
REC_NO = E_REC + S_REC.
CONCATENATE TEXT-006 REC_NO ':'
GT_RETURN-MESSAGE INTO MSG SEPARATED BY SPACE .
CONDENSE MSG.
WRITE: / MSG.
FORMAT COLOR COL_NEGATIVE INVERSE OFF.
ELSEIF GT_RETURN-TYPE EQ 'S'.
S_REC = S_REC + 1.
FORMAT COLOR COL_POSITIVE INVERSE ON.
MSG = GT_RETURN-MESSAGE.
CONDENSE MSG.
WRITE: / MSG .
FORMAT COLOR COL_POSITIVE INVERSE OFF.
PERFORM COMMIT_MM.
ENDIF.
CLEAR: GT_RETURN[], MSG.
ENDFORM. " SLALE_UPLOAD_DATA
*& Form COMMIT_MM
text
--> p1 text
<-- p2 text
FORM COMMIT_MM .
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'
IMPORTING
RETURN = GT_RETURN.
clear: GT_ORDER_ITEMS_IN[],GT_ORDER_CONDITIONS_IN[].
ENDFORM. " COMMIT_MM
Similar Messages
-
Hi,
what BAPI that can be used for Return Sales Order? BAPI SALES_ORDER_CREATEFROMDAT2 cant work, I get return message as error : 'Unpermitted combination of business object BUS2032 and sales document type category H'.
thanks alots.
AliaHi Alia,
Go to transaction BAPI, and in the tree go to :
Sales and Distribution -> Sales -> SalesOrder
You will have a list of all the BAPI for the Sales Order. If you want a list of Sales Order, maybe you need the GetList BAPI : BAPI_SALESORDER_GETLIST
Rgd
Frédéric -
BAPI For CREATE SALES ORDER WITH REFERENCE TO ORDER
Hi ,
I want to develop a new RFC for 'Creating Sales Order' with reference to another sales order -
Is there any BAPI available for the same ? (Version 4.7) - I know its available for new create and change
but couldn't find for create with reference to Order ...
Thanks in advance ...
Regards
Rajesh.Hi,
You can use this FM "/SAPNEA/SMAPI_ORDER_CREATE". I haven;t tried this but you can still give it a try. Mention the Reference Order Type and other data in the header work area and pass it to the FM.
Reward if it's useful.
Thanks,
Anil -
How to use Bapi for creating sales order
Dear All,
I am facing problem in creating Sales orders using BAPI.
Actually I am getting one file as an input and after validating the contents in the file i am preparing an internal table which has 6 fields - Customer number,PO Number,Material Number,Quantity,Price,Unit of measure.
Now my doubt is that while using BAPI_SALESORDER_CREATEFROMDAT2 , I am not getting how to pass PO Number and Customer number.
Please Help.
Regards,
ShwetaHi shweta upadhyay
I have gone through you are post i have done some coding for creating sales order using bapi , I think it is helpful for you.
*& Report YOBJ_BAPI_SALESORDER
*& REPORT : CREATING SALES ORDER USING STANDARD BAPI
*& AUTHOR : S.PAVAN KUMAR INUMARTHY
REPORT YOBJ_BAPI_SALESORDER.
DATA : ORDER_HEADER_IN LIKE STANDARD TABLE OF BAPISDHD1 WITH HEADER LINE.
DATA : ORDER_ITEMS_IN LIKE STANDARD TABLE OF BAPISDITM WITH HEADER LINE.
DATA : ORDER_PARTNERS LIKE STANDARD TABLE OF BAPIPARNR WITH HEADER LINE.
DATA : RETURN TYPE STANDARD TABLE OF BAPIRET2 WITH HEADER LINE.
DATA : SALESDOCUMENT LIKE BAPIVBELN-VBELN.
*APPENDING VALUES FOR HEADER.
ORDER_HEADER_IN-DOC_TYPE = 'TA'.
ORDER_HEADER_IN-SALES_ORG = '1000'.
ORDER_HEADER_IN-DISTR_CHAN = '10'.
ORDER_HEADER_IN-DIVISION = '00'.
ORDER_HEADER_IN-SALES_GRP = '130'.
ORDER_HEADER_IN-SALES_OFF = '1030'.
APPEND ORDER_HEADER_IN.
*APPENDING VALUES FOR ITEM
ORDER_ITEMS_IN-MATERIAL = 'M-13'.
ORDER_ITEMS_IN-PLANT = '1000'.
ORDER_ITEMS_IN-SALES_UNIT = 'ST'.
ORDER_ITEMS_IN-DIVISION = '07'.
ORDER_ITEMS_IN-GROSS_WGHT = '28000'.
ORDER_ITEMS_IN-NET_WEIGHT = '28000'.
ORDER_ITEMS_IN-UNTOF_WGHT = 'KG'.
ORDER_ITEMS_IN-VOLUME = '0.780'.
ORDER_ITEMS_IN-VOLUNIT = 'M3'.
APPEND ORDER_ITEMS_IN.
*APPENDING VALUES FOR PARTNER
ORDER_PARTNERS-PARTN_ROLE = 'AG'.
ORDER_PARTNERS-PARTN_NUMB = '0000001000'.
ORDER_PARTNERS-COUNTRY = 'DE'.
ORDER_PARTNERS-TRANSPZONE = 'D000080000'.
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 = SALESDOCUMENT
TABLES
RETURN = RETURN
ORDER_ITEMS_IN = 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 =
IF SY-SUBRC = 0.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
* EXPORTING
* WAIT =
* IMPORTING
* RETURN =
ENDIF.
WRITE : 'SALES ORDER IS :', SALESDOCUMENT.
This will be very helpful for you .
this one is the correct answer I have tried it and I am posting it for you.
Message was edited by: pavan inumarthy -
Experts,
I need a BAPI for list of Sales order against which the invoice has not been generated. I need to pass date and bapi shall return list of sales order that are not invoiced.
Thanks
HarshHi Frederic
Sure it does.
Actually I want to send data from SAP to some .net application. I thought using BAPI would make the job easier.
Anyways thanks.
Regards
Harsh -
BAPI FOR CREATING SALES ORDER WITH REFFERENCE TO QUOTATION
Hi All,
I am creating sales order with refference to quotation by using bapi "BAPI_SALESORDER_CREATEFROMDATA".Able to create sales order but its not refferencing qutation.Is there any other bapi for this scenario.Please guide me.
Regards,
SureshHi ,
Thank you for giving reply I tried by using bapi BAPI_SALESORDER_CREATEFROMDAT2 after execution it giving sales order number but when I am trying to see that sales order system is giving error message as document is not exist.
Please guide me.
Suresh -
Issue in BAPI for creating sales order
Dear friends,
BAPI_SALESORDER_CREATEFROMDAT2
and
BAPI_TRANSACTION_COMMIT
The above standard BAPI's we are using to create SO through third party software and the commit bapi to commit the order in DB, but the issue is now, we have created one new condition type for determining
1.Loading and Unloading point
2.Inco1 and Inco2
3.PayT.
This will trigger when we are selecting the ORDER Reason, this is working fine when we create the Order manually in SAP, but through Third party software this is not triggering, it is taking its own values from the master.Hello Experts,
I am having issue related to Item category determination.
Your inputs will be greatly appreciated.
We have a service order in which Item category is determining correctly. Let’s assume Material as “A” (Material type DIEN, Service,
Freight , etc..) and item category ZITC
is determined correctly.
Let’s assume sales order type as ZSOR
Now I would like to add another line item as miscellaneous
charges for the same order and we have a material created for that purpose Let’s
assume miscellaneous material as “B”
(Material type DIEN, Service,
Freight, etc..)
Both the materials “A” & “B” have Item category Group as “LEIS” (Service w/o Delivery), in material master Sales org 2 view.
In VOV4 we have config maintained as
Sa Ty | ItCGr | Usg | HLevItCa |DfItC
ZSOR | LEIS | | |ZITC
ZSOR | LEIS | TEXT| | ZITC
But when I add material “B” (miscellaneous charges)as a line item, I get the below error and item category is not determined.
No item category
available (Table T184 ZITC TEXT )
Message no. V1320
Thanks in advance -
Hi Folks,
I want to create a sales order using BAPI. Can any one tell me the name of that BAPI and how to use that BAPI.
SiddarthHi
See tha sample code for sales order creation
SALES ORDER INPUT CREATION.
PARAMETERS: p_auart TYPE auart OBLIGATORY.
PARAMETERS: p_vkorg TYPE vkorg OBLIGATORY.
PARAMETERS: p_vtweg TYPE vtweg OBLIGATORY.
PARAMETERS: p_spart TYPE vtweg OBLIGATORY.
PARAMETERS: p_sold TYPE kunnr OBLIGATORY.
PARAMETERS: p_ship TYPE kunnr OBLIGATORY.
*ITEM
PARAMETERS: p_matnr TYPE matnr OBLIGATORY.
PARAMETERS: p_menge TYPE kwmeng OBLIGATORY.
PARAMETERS: p_plant TYPE werks_d OBLIGATORY.
PARAMETERS: p_itcat TYPE pstyv OBLIGATORY.
DATA DECLARATIONS.
DATA: v_vbeln LIKE vbak-vbeln.
DATA: header LIKE bapisdhead1.
DATA: headerx LIKE bapisdhead1x.
DATA: item LIKE bapisditem OCCURS 0 WITH HEADER LINE.
DATA: itemx LIKE bapisditemx OCCURS 0 WITH HEADER LINE.
DATA: partner LIKE bapipartnr OCCURS 0 WITH HEADER LINE.
DATA: return LIKE bapiret2 OCCURS 0 WITH HEADER LINE.
DATA: lt_schedules_inx TYPE STANDARD TABLE OF bapischdlx
WITH HEADER LINE.
DATA: lt_schedules_in TYPE STANDARD TABLE OF bapischdl
WITH HEADER LINE.
HEADER DATA
header-doc_type = p_auart.
headerx-doc_type = 'X'.
header-sales_org = p_vkorg.
headerx-sales_org = 'X'.
header-distr_chan = p_vtweg.
headerx-distr_chan = 'X'.
header-division = p_spart.
headerx-division = 'X'.
headerx-updateflag = 'I'.
PARTNER DATA
partner-partn_role = 'AG'.
partner-partn_numb = p_sold.
APPEND partner.
partner-partn_role = 'WE'.
partner-partn_numb = p_ship.
APPEND partner.
ITEM DATA
itemx-updateflag = 'I'.
item-itm_number = '000010'.
itemx-itm_number = 'X'.
item-material = p_matnr.
itemx-material = 'X'.
item-plant = p_plant.
itemx-plant = 'X'.
item-target_qty = p_menge.
itemx-target_qty = 'X'.
item-target_qu = 'EA'.
itemx-target_qu = 'X'.
item-item_categ = p_itcat.
itemx-item_categ = 'X'.
APPEND item.
APPEND itemx.
Fill schedule lines
lt_schedules_in-itm_number = '000010'.
lt_schedules_in-sched_line = '0001'.
lt_schedules_in-req_qty = p_menge.
APPEND lt_schedules_in.
Fill schedule line flags
lt_schedules_inx-itm_number = '000010'.
lt_schedules_inx-sched_line = '0001'.
lt_schedules_inx-updateflag = 'X'.
lt_schedules_inx-req_qty = 'X'.
APPEND lt_schedules_inx.
Call the BAPI
CALL FUNCTION 'BAPI_SALESDOCU_CREATEFROMDATA1'
EXPORTING
sales_header_in = header
sales_header_inx = headerx
IMPORTING
salesdocument_ex = v_vbeln
TABLES
return = return
sales_items_in = item
sales_items_inx = itemx
sales_schedules_in = lt_schedules_in
sales_schedules_inx = lt_schedules_inx
sales_partners = partner.
Check the return table.
LOOP AT return WHERE type = 'E' OR type = 'A'.
EXIT.
ENDLOOP.
IF sy-subrc = 0.
WRITE: / 'Error in creating document'.
ELSE.
COMMIT WORK AND WAIT.
WRITE: / 'Document ', v_vbeln, ' created'.
ENDIF.
Regards -
BAPI for Creating Sales Order For Variant Configuration Materials
Dear Gurus,
Before posting this thread, we have referred many SDN threads, OSS notes and other sites for any sort of help..but no success..All threads and other referrals are not much of help as they are kind of incomplete( Perhaps, we are unable to understand them..no offense).
Few checked threads on this subjects are:
http://scn.sap.com/thread/34590
http://scn.sap.com/thread/851070
http://scn.sap.com/community/abap/blog/2014/04/23/update-vc-variant-configuration-data-using-standard-bapi-in-sales-order
http://scn.sap.com/community/abap/blog/2014/07/15/creating-orders-with-variant-configured-items-using-bapisalesordercreatefromdat2
http://scn.sap.com/community/abap/blog/2014/04/23/update-vc-variant-configuration-data-using-standard-bapi-in-sales-order
http://scn.sap.com/thread/120144
OSS: 549563
Well, we're using the BAPI (BAPI_SALESORDER_CREATEFROMDAT2) which creates the sales order successfully but without the characteristic values in line items.
We're passing data to the following parameters - ORDER_CFGS_REF, ORDER_CFGS_INST, ORDER_CFGS_VALUE to create the variant config but not able to see it getting created.
Pls find attached BAPI coding document for your reference.
If you could throw any light on this issue will be of great help for us.
Thank You in Advance!!!
Reg,
Jagan-SD.Jagan nath
Try below.
you would need miimum of 3 segments to pass variant config data using this bapi
ORDER_CFGS_REF for each configurable item
POSEX = ITEM #
CONFIG_id , root_id - Start with 1 and increment it for each configurable line item
ORDER_CFGS_INST
CONFIG_ID - from above
INST_ID - Start with 1 and increment it for each configurable line item
OBJ_TYPE = "MARA'
CLASS_TYPE = '300'
OBJ_KEY = material #
ORDER_CFGS_VALUE
CONFIG_ID for the item, INST_ID for the item
charc for characteristic value
VALUE for characteristic value
Reference thread
How to Fill Configuration Data in BAPI BAPI_SALESORDER_CREATEFROMDAT2
Hope it will solve your issue.
Thanks
Ritesh -
Hi,
I have a BAPI for sales order creation.
Can I use the same BAPI for returns process of sales order and how because it asks for some business object(BUS2032 or something like that) when the file we are using having document type as RE(Returns)
If the business object is required then how can we find that or get it ?
Please suggest ASAP
Regards,
manOOWe can find the business objects in the transaction sw01.
Path : - sw01 -> Business object repository -> all object types.
Then you need to select the object that you need to create.
For example if you need to create a debit memo request.
path : - Sales and Distribution -> Sales -> Debit memo request . Here you can find that ur business object is BUS2096.
You can double click on it and you can check if there are any methods avaiable.
As per the conversation above the ur object is BUS2102.
Please note that BAPI_CUSTOMERRETURN_CREATE is not released by sap as of 4.7.
So, we actually need to use BAPI_SALESDOCU_CREATEFROMDATA which is also not released but supported by SAP.
Please refer to the OSS note 93091. -
Bapi For Blocked sales orders & Bapi for Releasing those orders
Hi All,
Can anybody help me regarding <b>Bapi</b> for getting <b>Blocked sales orders</b> and bapi for <b>releasing</b> those sales orders..
Any help will be rewarded...
Thanks..
Regards,
Srinivas.Use bapi:
BAPI_SALESORDER_GETLIST to get the list of all sales orders based on Parameters
CUSTOMER_NUMBER
SALES_ORGANIZATION
MATERIAL
DOCUMENT_DATE
DOCUMENT_DATE_TO
PURCHASE_ORDER
Then,
loop at the internal table
and use the bapi BAPI_SALESORDER_GETSTATUS to get the status of each sales order.
choose only which are blocked.
Regards,
ravi -
Pricing determination for creating sales order using BAPI
Hi,
I am using BAPI_SALESORDER_CREATEFROMDAT2 for creating sales order. I am filling conditions structures
'BAPICOND' and 'BAPICONDX' .
fs_order_conditions_in-itm_number = '00010'.
fs_order_conditions_in-cond_type = 'ZNTP'.
fs_order_conditions_in-cond_value = zsalesinput-price.
fs_order_conditions_in-currency = 'INR'.
append fs_order_conditions_in to order_conditions_in.
fs_order_conditions_inx-itm_number = '00010'.
fs_order_conditions_inx-cond_type = 'ZNTP'.
fs_order_conditions_inx-cond_value = 'X'.
fs_order_conditions_inx-currency = 'X'.
fs_order_conditions_inx-updateflag = 'U'.
append fs_order_conditions_inx to order_conditions_inx.
I am filling the conditions table with above mentioned fields.
Sales order is getting created successfully but I am getting two condition records in the conditions tab of sales order, one which is filled using the BAPI and the other one which is automatically picked by the system. Please tell me how to restrict the one which is created automatically by the system.
Because I want the one which is created by BAPI only.
Helpful posts will be rewardedHello Manchu.
Basically, it is an SD customizing issue. During the creation of the Sales Order you cannot "restrict" any other condition type. The SD guys must customize the condition type to allow for zero value so that the sales order is successfully created without this conition type.
Regards,
George -
Web Service for "Creating Sales Order" by using BAPI
Hello All,
I am trying to create a WS for "Creating Sales Order". The corresponding BAPI that I am using for this purpose is BAPI_SALESORDER_CREATEFROMDAT1. I am able to create the Web Service and run the WSDL on WS Navigator.
But there is a problem whil executing the Web Service. In the interface of WS, we can only enter item level details of "Order Partner". So when I enter the details and click on Execute, it returns me an error message "Please enter Ship to Party and Sold to Party". I have already given these details.
Does any one have any idea of what is going wrong?
Regards,
AbhishekAs you suggested i have passed the suggested parameters in item level..But this time i was not ablet to create the SO also..earlier i am able to creat SO but not line item, But now ia m not able to creat salesdocuement also.
Return talbe filled with belwo messages.
S V4 233 SALES_HEADER_IN has been processed successfully
E V1 320 No item category available (Table T184 ZKB TEXT )
E V4 248 Error in SALES_ITEM_IN 000000
W V1 555 The sales document is not yet complete: Edit data
E V4 219 Sales document was not changed -
Create ecatt script for one sales order creation with multiple line items
Hi ,
I want to create a ecatt script for one sales order creation with multiple line items. Preferably SAP GUI.
This selection of data will be from an external file/ variants which will have only one row of data in it.
Firstly: I have to sort the external file having same PO Numbers in an order.Group them together.
Second: I have to create sales order for those many line items having same PO Number.
Best Regard
TaranumHi Micky
Firstl you should upload the Line items for a particular sales Order in an Internal table
and then pass that internal table to your BAPI during your coding corresponding to a particu;lar sales order
In case of any issues pls revert back
Reward points if helpful
Regards
Hitesh -
How to upload Sales Orders into B1 from an excel file?
Hi,
I'm a new comer. I'm looking for a program of uploading Sales Orders into B1 from an excel file. Where can I find a reference book for it? Or I appreciate if someone could offer a program sample.
Thanks
ZAPHello ZAP.
I do not have such code, but i this link /people/janos.nagy/blog/2010/01/25/exporting--importing-authorization-using-ms-excel-in-sap-b1 you can find an excel example about authorization, and using Single Sign On (SAP B1 must have run with excel)
The method is similar, you can run any DI API operation from excel.
Here is an example to add a sales order
Dim oDoc As SAPbobsCOM.Documents = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oOrders)
oDoc.CardCode = CUSTOMER_CODE
oDoc.DocDate = Today
oDoc.DocDueDate = Today
oDoc.Lines.SetCurrentLine(0)
oDoc.Lines.ItemCode = ITEMCODE
oDoc.Lines.Quantity = QTY
oDoc.Lines.UnitPrice = PRICE
If oDoc.Add <> 0 Then
MsgBox("Error " + oCompany.GetLastErrorDescription())
Else
MsgBox("SAles order added")
End If
You can repeat the setcurrentline section as many time as lines you have in the SO:
Regards,
J.
Ps: Reference: SDK help and sample programs, which included in every patch.
Edited by: János Nagy on Feb 10, 2010 9:50 AM
Maybe you are looking for
-
Help! iTunes menus not showing in readible words ...
Hello, I am having problems with my iTunes. I have had it on my computer since I got a year ago. Suddenly about three weeks ago when I opened iTunes, the menus were all gone. Well I shouldn't say they are gone, they show up but they are not in Englis
-
Iweb photo galley page won't publish
I made a photo albaum page for my website in iweb. I made the albuams in iphoto. When I publish, my galleries do not show up on the page. I see them in iweb but not on the internet when i pull the page up. Any suggestions?
-
Default setting for mapping execution
Hi, In ODI interfaces I can specify, where the mapping transformation should be transformed (source, statging area or target). By default this value is set to "Source". If you have interfaces with a lot of mappings on a different system than source i
-
How to package other jar files into one jar?
How to package other jar files into one jar? How can i get the class in the inner jar file?
-
Nexus 1000V. problem when working with the console VMWare
I have a problem when working with the console VMWare. Sometimes it is impossible to connect any of the hypervisor to the guest OS managed by them. I get the message: "Unable connect to the MKS: Host address lookup for server <name of the hypervisor>