‎2008 Jan 02 5:20 AM
Hi,
can any one help me in developing a function module which generates sales order.
Regards,
chandu.
‎2008 Jan 02 5:23 AM
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
‎2008 Jan 02 5:23 AM
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
‎2008 Jan 02 5:25 AM
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.
‎2008 Jan 02 5:26 AM