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

Visual Basic code genration for calling BAPI_SALESORDER_SIMULATE

Former Member
0 Likes
1,556

Hi gurus,

Someone asked me how to generate the visual basic code for calling BAPI_SALESORDER_SIMULATE via RFC. I thought this function was available in SE37 but I can't find it...

Can someone help me ?

Thank you

Jean-Michel

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,457

Hi,

If yuo can't find a given RFC try looking through transaction BAPI which lists most available, assigned to the relevant business object.

I've just checked on an ECC 6.0 system and can see that BAPI_SALESORDER_SIMULATE has been around since 3.1H - what version are you running on? You're not on a CRM system are you as it won't be included in that.

Gareth.

11 REPLIES 11
Read only

Former Member
0 Likes
1,458

Hi,

If yuo can't find a given RFC try looking through transaction BAPI which lists most available, assigned to the relevant business object.

I've just checked on an ECC 6.0 system and can see that BAPI_SALESORDER_SIMULATE has been around since 3.1H - what version are you running on? You're not on a CRM system are you as it won't be included in that.

Gareth.

Read only

0 Likes
1,457

Erf I didn't explain my problem correctly...

BAPI_SALESORDER_SIMULATE is available in SE37. The thing I can't find is how to generate the visual basic code for calling this bapi via RFC

We are using ECC 5.0

Read only

0 Likes
1,457

Hi,

Sorry - understand what you mean now.

I've never done anything with VB but I'm sure I remember there being an option to generate a calling routine as you suggest in older versions... The only alternative I can suggest is to generate a web service call (menu Utilities->More Utilities-> Create Web Service) for the RFC instead - can you then use that in VB?

Gareth.

Read only

0 Likes
1,457

As Per :

http://help.sap.com/saphelp_46c/helpdata/en/59/ae44ca488f11d189490000e829fbbd/frameset.htm

Creating a sales order in R/3

'Declare object variables:

Dim boOrder As Object 'Business object SalesOrder

Dim oPartners As Object 'Parameter OrderPartners of BAPI method

Dim oHeader As Object 'Parameter OrderHeaderIn of BAPI method

Dim oItemsIn As Object 'Parameter OrderItemsIn of BAPI method

Dim oReturn As Object 'Parameter Return of BAPI method

'Connect to business object SalesOrder

'(this creates an anonymous object with an empty key field):

Set boOrder = oBAPICtrl.GetSAPObject("SalesOrder")

'Get structure/table objects:

Set oPartners = oBAPICtrl.DimAs(boOrder, "CreateFromData", "OrderPartners")

Set oHeader = oBAPICtrl.DimAs(boOrder, "CreateFromData", "OrderHeaderIn")

Set oItemsIn = oBAPICtrl.DimAs(boOrder, "CreateFromData", "OrderItemsIn")

'Fill header:

oHeader.Value("DOC_TYPE") = "TA" 'Standard order

oHeader.Value("SALES_ORG") = "0001" 'Sales organization

oHeader.Value("DISTR_CHAN") = "01" 'Sales channel

oHeader.Value("DIVISION") = "01" 'Division

oHeader.Value("PO_NUMBER") = "" 'Customer purchase order number

oHeader.Value("PRICE_DATE") = Now 'Date

'Fill partners:

oPartners.Rows.Add

oPartners.Value(1, "PARTN_ROLE") = "AG" 'PartnerRoll: Person posting the order

oPartners.Value(1, "PARTN_NUMB") = "0000010096" 'Customer number

'Fill items:

oItemsIn.Rows.Add

oItemsIn.Value(1,"REQ_QTY") = "0000000010000" 'Quantity

oItemsIn.Value(1,"MATERIAL") = "BERLINER" 'Product ID

oItemsIn.Value(1,"COND_VALUE") = "1432" 'Rate

'Call the method:

boOrder.CreateFromData OrderHeaderIn:=oHeader, _

OrderPartners:=oPartners, _

OrderItemsIn:=oItemsIn, _

Return:=oReturn

'Free the business objects:

Set boOrder = Nothing

Regards,

Vishal

Read only

0 Likes
1,457

Thank you Gareth,

I've tried to generate a Webservice but as i'm a newbie in this i didn't manage to get an example code or i didn't find it

Read only

0 Likes
1,457

Thank you

The person who asked me this question is very happy

Read only

0 Likes
1,457

lol - Us IT people are easily pleased

Read only

0 Likes
1,457

*************************************************************************

** プログラムID       : ZBAPI_SALESORDER_CREATE *

** プログラム名称      : Upload Sales Order Creation *

** 処理概要         : *

** 作成者           : Karthik.P *

** 作成日           : 2006/08/10 *

************************************************************************

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

Read only

0 Likes
1,457

*************************************************************************

**&#12288;&#12503;&#12525;&#12464;&#12521;&#12512;&#65321;&#65316;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288; &#65306; ZBAPI_SALESORDER_CREATE *

**&#12288;&#12503;&#12525;&#12464;&#12521;&#12512;&#21517;&#31216;&#12288;&#12288; &#12288;&#12288; &#65306; Upload Sales Order Creation *

**&#12288;&#20966;&#29702;&#27010;&#35201;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288; &#12288;&#65306; *

**&#12288;&#20316;&#25104;&#32773;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288; &#65306; Karthik.P *

**&#12288;&#20316;&#25104;&#26085;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288; &#65306; 2006/08/10 *

************************************************************************

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

Read only

Former Member
0 Likes
1,457

*************************************************************************

**&#12288;&#12503;&#12525;&#12464;&#12521;&#12512;&#65321;&#65316;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288; &#65306; ZBAPI_SALESORDER_CREATE *

**&#12288;&#12503;&#12525;&#12464;&#12521;&#12512;&#21517;&#31216;&#12288;&#12288; &#12288;&#12288; &#65306; Upload Sales Order Creation *

**&#12288;&#20966;&#29702;&#27010;&#35201;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288; &#12288;&#65306; *

**&#12288;&#20316;&#25104;&#32773;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288; &#65306; Karthik.P *

**&#12288;&#20316;&#25104;&#26085;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288; &#65306; 2006/08/10 *

************************************************************************

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

Read only

Former Member
0 Likes
1,457

*************************************************************************

**&#12288;&#12503;&#12525;&#12464;&#12521;&#12512;&#65321;&#65316;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288; &#65306; ZBAPI_SALESORDER_CREATE *

**&#12288;&#12503;&#12525;&#12464;&#12521;&#12512;&#21517;&#31216;&#12288;&#12288; &#12288;&#12288; &#65306; Upload Sales Order Creation *

**&#12288;&#20966;&#29702;&#27010;&#35201;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288; &#12288;&#65306; *

**&#12288;&#20316;&#25104;&#32773;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288; &#65306; Karthik.P *

**&#12288;&#20316;&#25104;&#26085;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288;&#12288; &#65306; 2006/08/10 *

************************************************************************

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