Which BAPI to upload data from a flat file to VA01?
Use the BAPI's
BAPI_SALESORDER_CREATEFROMDAT1
BAPI_SALESORDER_CREATEFROMDAT2
This will create the Sales order .
*---------------------------------------------------------------------
Include YCL_CREATE_SALES_DOCU *
*---------------------------------------------------------------------
Form salesdocu
*---------------------------------------------------------------------
*This Subroutine is used to create Sales Order
*----------------------------------------------------------------------
*-->P_HEADER Document Header Data
*-->P_HEADERX Checkbox for Header Data
*-->P_ITEM Item Data
*-->P_ITEMX Item Data Checkboxes
*-->P_LT_SCHEDULES_IN Schedule Line Data
*-->P_LT_SCHEDULES_INX Checkbox Schedule Line Data
*-->P_PARTNER text Document Partner
*<--P_w_vbeln text Sales Document Number
*---------------------------------------------------------------------
DATA:
lfs_return like line of t_return.
FORM create_sales_document changing P_HEADER like fs_header
P_HEADERX like fs_headerx
Pt_ITEM like t_item[]
t_ITEMX like t_itemx[]
P_LT_SCHEDULES_IN like t_schedules_in[]
P_LT_SCHEDULES_INX like t_schedules_inx[]
Pt_PARTNER like t_partner[]
P_w_vbeln like w_vbeln.
*This Perform is used to fill required data for Sales order creation
perform sales_fill_data changing p_header
p_headerx
pt_item
pt_itemx
p_lt_schedules_in
p_lt_schedules_inx
pt_partner.
*Function Module to Create Sales and Distribution Document
perform sales_order_creation using p_header
p_headerx
pt_item
pt_itemx
p_lt_schedules_in
p_lt_schedules_inx
pt_partner.
perform return_check using p_w_vbeln .
ENDFORM. " salesdocu
*---------------------------------------------------------------------
*Form commit_work
*---------------------------------------------------------------------
*To execute external commit *
*---------------------------------------------------------------------
FORM commit_work .
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = c_x.
ENDFORM. " Commit_work
Include ycl_sales_order_header " To Fill Header data and Item data
Include ycl_sales_order_header.
*---------------------------------------------------------------------
Form return_check
*---------------------------------------------------------------------
To validate the sales order creation
*---------------------------------------------------------------------
FORM return_check using pr_vbeln type vbeln.
if pr_vbeln is initial.
LOOP AT t_return into lfs_return .
WRITE / lfs_return-message.
clear lfs_return.
ENDLOOP. " Loop at return
else.
perform commit_work. " External Commit
Refresh t_return.
fs_disp-text = text-003.
fs_disp-number = pr_vbeln.
append fs_disp to it_disp.
if p_del eq c_x or p_torder eq c_x or
p_pgi eq c_x or p_bill eq c_x.
perform delivery_creation. " Delivery order creation
endif. " If p_del eq 'X'......
endif. " If p_w_vbeln is initial
ENDFORM. " Return_check
*&---------------------------------------------------------------------
*& Form sales_order_creation
*&---------------------------------------------------------------------
*text
*----------------------------------------------------------------------
*-->P_P_HEADER text
*-->P_P_HEADERX text
*-->P_PT_ITEM text
*-->P_PT_ITEMX text
*-->P_P_LT_SCHEDULES_IN text
*-->P_P_LT_SCHEDULES_INX text
*-->P_PT_PARTNER text
*----------------------------------------------------------------------
FORM sales_order_creation USING P_P_HEADER like fs_header
P_P_HEADERX like fs_headerx
P_PT_ITEM like t_item[]
P_PT_ITEMX like t_itemx[]
P_P_LT_SCHEDULES_IN like t_schedules_in[]
P_P_LT_SCHEDULES_INX like t_schedules_inx[]
P_PT_PARTNER like t_partner[].
CALL FUNCTION 'BAPI_SALESDOCU_CREATEFROMDATA1'
EXPORTING
sales_header_in = p_p_header
sales_header_inx = p_p_headerx
IMPORTING
salesdocument_ex = w_vbeln
TABLES
return = t_return
sales_items_in = p_pt_item
sales_items_inx = p_pt_itemx
sales_schedules_in = p_p_lt_schedules_in
sales_schedules_inx = p_p_lt_schedules_inx
sales_partners = p_pt_partner.
ENDFORM. " sales_order_creation







