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

salesorder function module

Former Member
0 Likes
534

Hi,

can any one help me in developing a function module which generates sales order.

Regards,

chandu.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
508

Hi,

In the source code of the FM give code

Call transaction 'VA01'.

You can also use BAPI's

BAPI_SALESORDER_CREATEFROMDAT1

BAPI_SALESORDER_CREATEFROMDAT2

3 REPLIES 3
Read only

Former Member
0 Likes
509

Hi,

In the source code of the FM give code

Call transaction 'VA01'.

You can also use BAPI's

BAPI_SALESORDER_CREATEFROMDAT1

BAPI_SALESORDER_CREATEFROMDAT2

Read only

Former Member
0 Likes
508

Hi,

To create the sales order,

If u want to create the sales order then t-code is VA01 and if u want to use the fm then go through the below code.

FORM salesdocu changing P_HEADER like header

P_HEADERX like headerx

Pt_ITEM like t_item[]

Pt_ITEMX like t_itemx[]

P_LT_SCHEDULES_IN like lt_schedules_in[]

P_LT_SCHEDULES_INX like lt_schedules_inx[]

Pt_PARTNER like t_partner[]

P_V_VBELN like v_vbeln.

perform sales_fill_data changing p_header

p_headerx

pt_item

pt_itemx

p_lt_schedules_in

p_lt_schedules_inx

pt_partner.

CALL FUNCTION 'BAPI_SALESDOCU_CREATEFROMDATA1'

EXPORTING

sales_header_in = p_header

sales_header_inx = p_headerx

IMPORTING

salesdocument_ex = p_v_vbeln

TABLES

return = t_return

sales_items_in = pt_item

sales_items_inx = pt_itemx

sales_schedules_in = p_lt_schedules_in

sales_schedules_inx = p_lt_schedules_inx

sales_partners = pt_partner.

perform commit_work.

LOOP AT return WHERE type = 'E' OR type = 'A'.

WRITE / return-message.

EXIT.

ENDLOOP.

WRITE: / ' Sales Document :', v_vbeln.

perform delivery_creation. " DELIVERY ORDER CREATION

ENDFORM. " salesdocu

FORM sales_fill_data changing P_HEADER like header

P_HEADERX like headerx

Pt_ITEM like t_item[]

Pt_ITEMX like t_itemx[]

P_LT_SCHEDULES_IN like lt_schedules_in[]

P_LT_SCHEDULES_INX like lt_schedules_inx

Pt_PARTNER like t_partner[].

p_header-doc_type = w_auart.

p_headerx-doc_type = 'X'.

p_header-sales_org = w_vkorg.

p_headerx-sales_org = 'X'.

p_header-distr_chan = w_vtweg.

p_headerx-distr_chan = 'X'.

p_header-division = w_spart.

p_headerx-division = 'X'.

p_headerx-updateflag = 'I'.

fs_patnr-partn_role = 'AG'.

fs_patnr-partn_numb = w_sold.

APPEND fs_patnr to pt_partner.

fs_patnr-partn_role = 'WE'.

fs_patnr-partn_numb = w_ship.

APPEND fs_patnr to pt_partner.

loop at it_item.

CLEAR fs_ITEM.

fs_item-material = it_item-matnr.

fs_item-plant = it_item-plant.

fs_item-target_qty = it_item-menge.

fs_item-target_qu = 'ST'.

fs_item-item_categ = it_item-itcat.

APPEND fs_item to pt_item.

W_COUNTER = W_COUNTER + 1.

endloop.

DO W_COUNTER TIMES.

fs_itemx-updateflag = 'I'.

fs_itemx-material = 'X'.

fs_itemx-plant = 'X'.

fs_itemx-target_qty = 'X'.

fs_itemx-target_qu = 'X'.

fs_itemx-item_categ = 'X'.

APPEND fs_itemx to pt_itemx.

ENDDO.

  • Fill schedule lines

LOOP AT IT_ITEM.

CLEAR fs_sin.

fs_sin-itm_number = IT_NUM.

fs_sin-sched_line = IT_LINE.

fs_sin-req_qty = IT_ITEM-menge.

APPEND fs_sin to p_lt_schedules_in.

IT_NUM = IT_NUM + 10.

IT_LINE = IT_LINE + 1.

ENDLOOP.

IT_NUM = '000010'.

IT_LINE = '0001'.

  • Fill schedule line flags

LOOP AT IT_ITEM.

CLEAR fs_sinx.

fs_sinx-itm_number = IT_NUM.

fs_sinx-sched_line = IT_LINE.

fs_sinx-updateflag = 'X'.

fs_sinx-req_qty = 'X'.

APPEND fs_sinx to p_lt_schedules_inx.

IT_NUM = IT_NUM + 10.

IT_LINE = IT_LINE + 1.

ENDLOOP.

ENDFORM. " sales_fill_data

Plzz reward points if it helps.

Read only

Former Member
0 Likes
508

Try function module SD_ORDER_CREATE

Regards,

Suresh