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

sales order creation

Former Member
0 Likes
677

Hi all,

I am trying to create sales order using bapi 'BAPI_SALESORDER_CREATEFROMDAT2'.

In this bapi for partner table am passing values as below.

lt_pr-partn_role = 'SP'. " partner role

lt_pr-partn_numb = '0000000019'. " customer number

i have to pass sold-to party too.(since its a mandatory field ).

i want to know what is the field name for sold to party.

regards,

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
638

Hi ,

The field lt_pr-partn_numb = '0000000019'. " customer number is nothing but sold to party, the customer will be the sold to party.

By specifing lt_pr-partn_role = 'SP', it maens that it is of type sold to party.

Regarsd,

Chandan.

Hi all,

I am trying to create sales order using bapi 'BAPI_SALESORDER_CREATEFROMDAT2'.

In this bapi for partner table am passing values as below.

lt_pr-partn_role = 'SP'. " partner role

lt_pr-partn_numb = '0000000019'. " customer number

i have to pass sold-to party too.(since its a mandatory field ).

i want to know what is the field name for sold to party.

regards,

4 REPLIES 4
Read only

Former Member
0 Likes
638

Hi,

Check this code

REPORT z_bapi_create_sales_order_test .

  • Order header:

  • - Order type: OR Important you must use the german code TA

  • - Sales org: 1000

  • - Distrb. chan.: 10

  • - Division: 00

*

  • - Sold to party: 1032

  • - Ship to party: 1032

  • - Purch order: DG-19970626-3

.

  • Order item:

  • - Material: P-100

  • - Qty: 1

DATA OK_CODE LIKE SY-UCOMM.

DATA:

  • Order partners

li_order_partners TYPE STANDARD TABLE OF bapiparnr,

l_order_partners LIKE bapiparnr,

  • Structures for order header

l_order_header_in LIKE bapisdhd1,

l_order_header_inx LIKE bapisdhd1x,

  • Tables for order items

li_order_items_in TYPE STANDARD TABLE OF bapisditm,

l_order_items_in LIKE bapisditm,

li_order_items_inx TYPE STANDARD TABLE OF bapisditmx,

l_order_items_inx LIKE bapisditmx,

  • Return table from bapi call

li_return TYPE STANDARD TABLE OF bapiret2,

l_return TYPE bapiret2,

  • Sales document number

l_vbeln LIKE bapivbeln-vbeln,

  • Error flag

l_errflag(1) TYPE c.

DATA: BEGIN OF ITAB OCCURS 0,

OT(5),

SO(4),

DC(2),

DI(2),

ST(5),

SH(5),

POD(10),

PON(9),

PMNT(4),

ITM(2),

MATNR(10),

QTY(9),

END OF ITAB.

START-OF-SELECTION.

call screen 100.

*----


  • Build partner information

*----


CLEAR l_order_partners.

l_order_partners-partn_role = 'AG'. "Remember German codes !

l_order_partners-partn_numb = ITAB-ST.

APPEND l_order_partners TO li_order_partners.

*----


  • Build order header

*----


  • Update flag

l_order_header_inx-updateflag = 'I'.

  • Sales document type

l_order_header_in-doc_type = ITAB-OT. "Remember German codes !

l_order_header_inx-doc_type = 'X'.

  • Sales organization

l_order_header_in-sales_org = ITAB-SO.

l_order_header_inx-sales_org = 'X'.

  • Distribution channel

l_order_header_in-distr_chan = ITAB-DC.

l_order_header_inx-distr_chan = 'X'.

  • Division

l_order_header_in-division = ITAB-DI.

l_order_header_inx-division = 'X'.

  • Purchase order

l_order_header_in-purch_no_c = ITAB-PON.

l_order_header_inx-purch_no_c = 'X'.

l_order_header_in-PURCH_DATE = ITAB-POD.

l_order_header_inx-PURCH_DATE = 'X'.

*----


  • Build order item(s) - Only 1 is used in this example

*----


l_order_items_in-itm_number = ITAB-ITM.

l_order_items_inx-itm_number = ITAB-ITM.

l_order_items_in-material = ITAB-MATNR.

l_order_items_inx-material = 'X'.

l_order_items_in-comp_quant = ITAB-QTY.

l_order_items_inx-comp_quant = 'X'.

APPEND l_order_items_in TO li_order_items_in.

l_order_items_inx-updateflag = 'I'.

APPEND l_order_items_inx TO li_order_items_inx.

*----


  • CALL Bapi

*----


MODULE USER_COMMAND_0100 INPUT.

CASE SY-UCOMM.

WHEN 'CREATE'.

CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'

EXPORTING

order_header_in = l_order_header_in

order_header_inx = l_order_header_inx

testrun = 'X'

IMPORTING

salesdocument = l_vbeln

TABLES

return = li_return

order_items_in = li_order_items_in

order_items_inx = li_order_items_inx

order_partners = li_order_partners.

PERFORM ERROR.

WHEN 'EXIT'.

LEAVE PROGRAM.

endcase.

ENDMODULE. " USER_COMMAND_0100 INPUT

*----


  • Check and write Return table

*----


FORM ERROR.

LEAVE TO LIST-PROCESSING.

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.

PERFORM COMMIT.

ENDFORM. " ERROR INPUT

*----


  • No errors - Commit

*----


FORM COMMIT.

IF l_errflag IS INITIAL.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.

ENDIF.

ENDFORM. " COMMIT INPUT

Regards

Ravi

Read only

Former Member
0 Likes
638

Hi ,

The fields are .

lt_pr-partn_role = 'AG'. " partner role

lt_pr-partn_numb = VALUE .

The field name is KUNNR .

pLEASE REWARD IF USEFUL.

Read only

Former Member
0 Likes
639

Hi ,

The field lt_pr-partn_numb = '0000000019'. " customer number is nothing but sold to party, the customer will be the sold to party.

By specifing lt_pr-partn_role = 'SP', it maens that it is of type sold to party.

Regarsd,

Chandan.

Read only

0 Likes
638

thank you all .

chandan : i got it.