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

bapi_salesorder_cteatefromdat2

Former Member
0 Likes
1,945

hi experts,

i have written a bapi_salesorder_createfromdat2 in my abap code to create a sales order .

it is running fine but its nt displaying salesdocument no. (vbeln)

output:

Sales dcoument:

S SALES_HEADER_IN has been processed successfully

S SALES_ITEM_IN has been processed successfully

S SALES_CONDITIONS_IN has been processed successfull

i dont knw y it is not displaying sales document.

plz can any one help me with this.

14 REPLIES 14
Read only

former_member404244
Active Contributor
0 Likes
1,892

hI,

You can get the sales document number in the import paramter.

importing

SALESDOCUMENT = lv_vbeln.

lv_vbeln will sales document number.

Regards,

Nagaraj

Read only

0 Likes
1,892

i have used

IMPORTING

SALESDOCUMENT = L_VBELN

while debugging the variable is blank.

Read only

0 Likes
1,892

My abap code is as follows...........

&----


*& Report ZBAPI_PRO

*&

&----


*&

*&

&----


REPORT ZBAPI_PRO.

DATA: LI_ORDER_PARTNERS TYPE STANDARD TABLE OF BAPIPARNR,

L_ORDER_PARTNERS LIKE BAPIPARNR, " ORDER PARTNERS

L_ORDER_HEADER_IN LIKE BAPISDHD1,

LI_ORDER_HEADER_IN TYPE STANDARD TABLE OF BAPISDHD1,

L_ORDER_HEADER_INX LIKE BAPISDHD1X, " ORDER HEADERS

LI_ORDER_HEADER_INX TYPE STANDARD TABLE OF BAPISDHD1X, " ORDER HEADERS

LI_ORDER_ITEM_IN TYPE STANDARD TABLE OF BAPISDITM,

L_ORDER_ITEM_IN LIKE BAPISDITM,

LI_ORDER_ITEM_INX TYPE STANDARD TABLE OF BAPISDITMX,

L_ORDER_ITEM_INX LIKE BAPISDITMX,

LI_RETURN TYPE STANDARD TABLE OF BAPIRET2,

L_RETURN TYPE BAPIRET2,

LI_ORDER_CONDITION_IN TYPE STANDARD TABLE OF BAPICOND,

L_ORDER_CONDITION_IN LIKE BAPICOND,

LI_ORDER_CONDITION_INX TYPE STANDARD TABLE OF BAPICONDX,

L_ORDER_CONDITION_INX LIKE BAPICONDX,

LI_ORDER_SCHEDULES_IN TYPE STANDARD TABLE OF BAPISCHDL,

L_ORDER_SCHEDULES_IN LIKE BAPISCHDL,

LI_ORDER_SCHEDULES_INX TYPE STANDARD TABLE OF BAPISCHDLX,

L_ORDER_SCHEDULES_INX LIKE BAPISCHDLX,

  • Sales document number

L_VBELN LIKE BAPIVBELN-VBELN,

L_VBELN1 LIKE BAPIVBELN-VBELN,

  • Error flag

L_ERRFLAG(1) TYPE C.

START-OF-SELECTION.

"----


"BUILD PARTNR INFORMATION

"----


CLEAR L_ORDER_PARTNERS.

L_ORDER_PARTNERS-PARTN_ROLE = 'AG'.

L_ORDER_PARTNERS-PARTN_NUMB = '0038000011'.

APPEND L_ORDER_PARTNERS TO LI_ORDER_PARTNERS.

L_ORDER_PARTNERS-PARTN_ROLE = 'WE'.

L_ORDER_PARTNERS-PARTN_NUMB = '0038000011'.

APPEND L_ORDER_PARTNERS TO LI_ORDER_PARTNERS.

"----


"BUILD HEADER INFORMATION

"----


L_ORDER_HEADER_INX-UPDATEFLAG = 'I'. " UPDATING FLAG

L_ORDER_HEADER_IN-DOC_TYPE = 'ZDOM'. " DOCUMENT TYPE

L_ORDER_HEADER_INX-DOC_TYPE = 'X'.

L_ORDER_HEADER_IN-SALES_ORG = 'TTS1'. " SALES ORGANIZATION

L_ORDER_HEADER_INX-SALES_ORG = 'X'.

L_ORDER_HEADER_IN-DISTR_CHAN = 'S1'. " DISTRIBUTION CHANNAL

L_ORDER_HEADER_INX-DISTR_CHAN = 'X'.

L_ORDER_HEADER_IN-DIVISION = 'D1'. " DIVISION

L_ORDER_HEADER_INX-DIVISION = 'X'.

L_ORDER_HEADER_IN-PURCH_DATE = '20110602'. " PO DATE

L_ORDER_HEADER_INX-PURCH_DATE = 'X'.

L_ORDER_HEADER_IN-PURCH_NO_C = 'FAX222'. " PO NUMBER

L_ORDER_HEADER_INX-PURCH_NO_C = 'X'.

APPEND L_ORDER_HEADER_IN TO LI_ORDER_HEADER_IN.

APPEND L_ORDER_HEADER_INX TO LI_ORDER_HEADER_INX.

"----


"BUILD ITEM INFORMATION

"----


L_ORDER_ITEM_INX-UPDATEFLAG = 'I'.

L_ORDER_ITEM_IN-ITM_NUMBER = '10'.

L_ORDER_ITEM_INX-ITM_NUMBER = '10'.

L_ORDER_ITEM_IN-MATERIAL = 'SD0000000000000001'.

L_ORDER_ITEM_INX-MATERIAL = 'X'.

APPEND L_ORDER_ITEM_IN TO LI_ORDER_ITEM_IN.

APPEND L_ORDER_ITEM_INX TO LI_ORDER_ITEM_INX.

"----


"BUILD CONDITION INFORMATION

"----


L_ORDER_CONDITION_IN-ITM_NUMBER = '10'.

L_ORDER_CONDITION_INX-ITM_NUMBER = '10'.

L_ORDER_CONDITION_IN-COND_TYPE ='PR00'.

L_ORDER_CONDITION_INX-COND_TYPE = 'X'.

APPEND L_ORDER_CONDITION_IN TO LI_ORDER_CONDITION_IN.

APPEND L_ORDER_CONDITION_INX TO LI_ORDER_CONDITION_INX.

"----


"BUILD SCHEDULED INFORMATION

"----


L_ORDER_SCHEDULES_IN-ITM_NUMBER = '10'.

L_ORDER_SCHEDULES_INX-ITM_NUMBER = '10'.

L_ORDER_SCHEDULES_IN-REQ_QTY = '100.000'.

L_ORDER_SCHEDULES_INX-REQ_QTY = 'X'.

APPEND L_ORDER_SCHEDULES_IN TO LI_ORDER_SCHEDULES_IN.

APPEND L_ORDER_SCHEDULES_INX TO LI_ORDER_SCHEDULES_INX.

CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'

EXPORTING

"SALESDOCUMENTIN = L_VBELN1

ORDER_HEADER_IN = L_ORDER_HEADER_IN

ORDER_HEADER_INX = L_ORDER_HEADER_INX

  • SENDER =

  • BINARY_RELATIONSHIPTYPE =

  • INT_NUMBER_ASSIGNMENT =

  • BEHAVE_WHEN_ERROR =

  • LOGIC_SWITCH =

TESTRUN = 'X'

  • CONVERT = ' '

IMPORTING

SALESDOCUMENT = L_VBELN

TABLES

RETURN = LI_RETURN

ORDER_ITEMS_IN = LI_ORDER_ITEM_IN

ORDER_ITEMS_INX = LI_ORDER_ITEM_INX

ORDER_PARTNERS = LI_ORDER_PARTNERS

ORDER_SCHEDULES_IN = LI_ORDER_SCHEDULES_IN

ORDER_SCHEDULES_INX = LI_ORDER_SCHEDULES_INX

ORDER_CONDITIONS_IN = LI_ORDER_CONDITION_IN

ORDER_CONDITIONS_INX = LI_ORDER_CONDITION_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 =

.

END-OF-SELECTION.

CLEAR L_ERRFLAG.

WRITE: / 'Sales dcoument: ', L_VBELN.

LOOP AT LI_RETURN INTO L_RETURN.

WRITE: / L_RETURN-TYPE, L_RETURN-MESSAGE(50).

IF L_RETURN-TYPE = 'E'.

L_ERRFLAG = 'X'.

ENDIF.

ENDLOOP.

*----


  • No errors - Commit

*----


IF L_ERRFLAG IS INITIAL.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.

WRITE:/1 'COMMITED'.

ENDIF.

Read only

0 Likes
1,892

Hi Dakshaini,

Did you check all the Return TABLES have been succesfully processed or not.

and also ensure that you have analysed the RETURN TABLE.

RETURN = LI_RETURN 
ORDER_ITEMS_IN = LI_ORDER_ITEM_IN 
ORDER_ITEMS_INX = LI_ORDER_ITEM_INX 
ORDER_PARTNERS = LI_ORDER_PARTNERS 
ORDER_SCHEDULES_IN = LI_ORDER_SCHEDULES_IN 
ORDER_SCHEDULES_INX = LI_ORDER_SCHEDULES_INX 
ORDER_CONDITIONS_IN = LI_ORDER_CONDITION_IN 
ORDER_CONDITIONS_INX = LI_ORDER_CONDITION_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 the BAPI Transaction is Committed then go out of the Sub Routine and then WRITE: The L_VBELN,

Try and revert,

Thanks

Sri.

Read only

0 Likes
1,892

hello shrikant,

my li_return table contains following values

Line id Number Message

1 V4 233 SALES_HEADER_IN has been processed successfully

2 V4 233 SALES_ITEM_IN has been processed successfully

3 V4 233 SALES_CONDITIONS_IN has been processed successfully

log_meg_no message_v1 message_v2 Parameters Row

000000 VBAKKOM SALES_HEADER_IN 0

000000 VBAPKOM 000010 SALES_ITEM_IN 1

000000 KONVKOM TTL SALES_CONDITIONS_IN 1

Read only

0 Likes
1,892

Hi to all,

thanx a lot for ur support it helped me ,

finally i got the point where i was going wrong.

actually i was passing values in all the related (order_...._ inx )tables also which was creating problem ,

i put those in comment n tried n it got executed succesfully n got commited also the output is as follows..

Sales dcoument: 9300234

S SALES_HEADER_IN has been processed successfully

S SALES_ITEM_IN has been processed successfully

S SALES_CONDITIONS_IN has been processed successfull

S TTL Domestic Order 9300234 has been saved

Thanks a million to all.

Read only

Former Member
0 Likes
1,892

Hi,

In the Debugging Screen in the BAPI Return Table you will be able to see the Sales order and ensure that you have used BAPI_TRANSACTION_COMMIT after the SALESORDER_CREATE.

Thanks

Sri

Read only

Former Member
0 Likes
1,892

IF L_ERRFLAG IS INITIAL.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.

WRITE:/1 'COMMITED'.

ENDIF.

i have used the bapi_transaction_commit at the end, the syntax was as above

Read only

0 Likes
1,892

Hi,

Put a break-point at the statement IF L_ERRFLAG IS INITIAL and see what is the value.. also as i suggested before declare a variable and then pass to impoering paramter you will get the sales order number if it has successfully executed.

Regards,

Nagaraj

Read only

0 Likes
1,892

what should b type of lv_vbeln

i have taken L_VBELN LIKE BAPIVBELN-VBELN,

Read only

0 Likes
1,892

the value of l_errflag is blank nothing is there in it

Read only

0 Likes
1,892

Hi,

What values you are getting L_return internal table.. This is the bapi return table...

Regards,

Nagaraj

Read only

0 Likes
1,892

Hi,

In your code you are passing SALESDOCUMENTIN as blank.

and the variable name is initial.

Please do not pass anythin in this parameter if the order number should create automatically

or pass the appropriate number to this field.

I hope this will resolve your problem.

Thanks and regards,

Anmol.

Read only

0 Likes
1,892

hi anmol,

my sales document number should get automatically generated ,

if i dont pass anything to SALESDOCUMENT field in both importing and exporting areas then how will i get the sales order number.

i want to capture the auto generated sales order number.