ZPR MM Create Material
ZPR MM Create Material
ZPR MM Create Material
* Structure Declarations
TYPES : BEGIN OF ty_upload,
matnr TYPE String40,
mbrsh TYPE string,
mtart TYPE string,
plant TYPE string,
stge_loc TYPE string,
bwtar TYPE string,
sales_org TYPE string,
distr_chan TYPE string,
maktx TYPE string,
grun(500),
best(500),
sales(500),
* Basic Data
base_uom TYPE string , " Base Unit of Measure
matl_group TYPE string , " Material Group
extmatlgrp TYPE string , " External Material Group
old_mat_no TYPE string , " Old material number
dsn_office TYPE string , " Laboratory/design
office
document TYPE string , " Document number
(without document management system)
doc_type TYPE string , " Document type (without
Document Management system)
doc_vers TYPE string , " Document version
(without Document Management system)
doc_format TYPE string , " Page format of document
(without Document Management sys
doc_chg_no TYPE string , " Document change number
(without document management syst
page_no TYPE string , " Page number of document
(without Document Management sys
no_sheets TYPE string , " Number of sheets (BTCI)
basic_matl TYPE string , " Basic material (basic
constituent of a material) - obsol
std_descr TYPE string , " Industry Standard
Description (such as ANSI or ISO)
prod_memo TYPE string , " Production/inspection
memo
pageformat TYPE string , " Page Format of
Production Memo
gross_wt TYPE string , " Gross weight (BTCI)
net_weight TYPE string , " Net weight
unit_of_wt TYPE string , " stringWeight Unit
allwd_vol TYPE string , " stringVolume
pack_vo_un TYPE string , " stringVolume unit
size_dim TYPE string , " stringSize/dimensions
division TYPE string , " stringDivision
gen_item_cat TYPE string , " stringGeneral item
category group
numerator TYPE string , " stringNumerator for
Conversion to Base Units of Measure
denominatr TYPE string , " stringDenominator for
conversion to base units of measure
alt_unit TYPE string , " Alternative Unit of
Measure for Stockkeeping Unit
*SALES VIEW
sales_unit TYPE string , "
sal_status TYPE string , "
valid_from TYPE string , "
delyg_plnt TYPE string , "
cash_disc TYPE string , "
matl_stats TYPE string , "
item_cat TYPE string , "
mat_pr_grp TYPE string , "
acct_assgt TYPE string , "
tax_type_1 TYPE string , "
taxclass_1 TYPE string , "
tax_type_2 TYPE string , "
taxclass_2 TYPE string , "
tax_type_3 TYPE string , "
taxclass_3 TYPE string , "
tax_type_4 TYPE string , "
taxclass_4 TYPE string , "
tax_type_5 TYPE string , "
taxclass_5 TYPE string , "
tax_type_6 TYPE string , "
taxclass_6 TYPE string , "
tax_type_7 TYPE string , "
taxclass_7 TYPE string , "
tax_type_8 TYPE string , "
taxclass_8 TYPE string , "
tax_type_9 TYPE string , "
taxclass_9 TYPE string , "
matl_grp_1 TYPE string , "
matl_grp_2 TYPE string , "
matl_grp_3 TYPE string , "
matl_grp_4 TYPE string , "
matl_grp_5 TYPE string , "
* Sales : General/Plant
trans_grp TYPE string,
loadinggrp TYPE string,
availcheck TYPE string,
ctrl_code TYPE string,
* Purchasing View string ,
po_unit TYPE string,
pur_valkey TYPE string,
pur_group TYPE string,
po_gr_pr_time TYPE string,
sourcelist TYPE string,
pur_status TYPE string,
manu_mat TYPE string,
* MRP View
mrp_type TYPE string,
mrp_group TYPE string,
mrp_ctrler TYPE string,
lotsizekey TYPE string,
reorder_pt TYPE string,
fixed_lot TYPE string,
minlotsize TYPE string,
maxlotsize TYPE string,
round_val TYPE string,
max_stock TYPE string,
ord_costs TYPE string,
stor_costs TYPE string,
abc_id TYPE string,
* MRP2 View
proc_type TYPE string,
spproctype TYPE string,
sm_key TYPE string,
safety_stk TYPE string,
plnd_delry TYPE string,
inhseprodt TYPE string,
sloc_exprc TYPE string,
iss_st_loc TYPE string,
backflush TYPE string,
* MRP3
plan_strgp TYPE string,
mrp_availcheck TYPE string,
consummode TYPE string,
bwd_cons TYPE string,
fwd_cons TYPE string,
mixed_mrp TYPE string,
* MRP4
dep_req_id TYPE string,
rep_manuf TYPE string,
repmanprof TYPE string,
mrp_relevancy_dep_requirements TYPE string,
grp_reqmts TYPE string,
* Work Scheduling
alt_bom_id TYPE string,
production_scheduler TYPE string,
wrk_issue_unit TYPE string,
prod_unit TYPE string,
wrk_iss_st_loc TYPE string,
replentime TYPE string,
over_tol TYPE string,
unlimited TYPE string,
under_tol TYPE string,
serno_prof TYPE string,
serialization_level TYPE string,
prodprof TYPE string,
* Plantdata/Stor1 string ,
stge_bin TYPE string,
temp_conds TYPE string,
stor_conds TYPE string,
batch_mgmt TYPE string,
minremlife TYPE string,
shelf_life TYPE string,
plnt_issue_unit TYPE string,
profit_ctr TYPE string,
* Quality View
qm_procmnt TYPE string,
ctrl_key TYPE string,
* Accounting View
val_cat TYPE string,
price_ctrl TYPE string,
moving_pr TYPE string,
std_price TYPE string,
price_unit TYPE string,
val_class TYPE string,
* Costing View
orig_group TYPE string,
lot_size TYPE string,
specprocty TYPE string,
no_costing TYPE string,
overhead_grp TYPE string,
qty_struct TYPE string,
variance_key TYPE string,
orig_mat TYPE string,
BEGIN OF ty_errors,
recno TYPE i,
matnr TYPE matnr,
type TYPE bapi_mtype,
id TYPE symsgid,
number TYPE symsgno,
message TYPE bapi_msg,
END OF ty_errors,
BEGIN OF ty_success,
status TYPE char10,
recno TYPE i,
matnr TYPE matnr,
type TYPE bapi_mtype,
id TYPE symsgid,
number TYPE symsgno,
message TYPE bapi_msg,
END OF ty_success.
************ Internal Table Declarations
DATA :
##NEEDED it_upload TYPE STANDARD TABLE OF ty_upload,
##NEEDED wa_upload TYPE ty_upload,
##NEEDED it_err TYPE STANDARD TABLE OF ty_upload,
##NEEDED wa_err TYPE ty_upload,
##NEEDED it_errors TYPE STANDARD TABLE OF ty_errors,
##NEEDED wa_errors TYPE ty_errors,
##NEEDED it_success TYPE STANDARD TABLE OF ty_success,
##NEEDED wa_success TYPE ty_success.
##NEEDED CONSTANTS : c_x TYPE c VALUE 'X'.
************ Bapi Declarations
DATA :
##NEEDED wa_headdata TYPE bapimathead,
##NEEDED wa_clientdata TYPE bapi_mara,
##NEEDED wa_clientdatax TYPE bapi_marax,
##NEEDED wa_plantdata TYPE bapi_marc,
##NEEDED wa_plantdatax TYPE bapi_marcx,
##NEEDED wa_storagelocationdata TYPE bapi_mard,
##NEEDED wa_storagelocationdatax TYPE bapi_mardx,
##NEEDED wa_valuationdata TYPE bapi_mbew,
##NEEDED wa_valuationdatax TYPE bapi_mbewx,
##NEEDED wa_salesdata TYPE bapi_mvke,
##NEEDED wa_salesdatax TYPE bapi_mvkex,
lt_extensionin TYPE STANDARD TABLE OF bapiparex,
wa_extensionin LIKE LINE OF lt_extensionin,
lt_extensioninx TYPE STANDARD TABLE OF bapiparexx,
wa_extensioninx LIKE LINE OF lt_extensioninx,
AT SELECTION-SCREEN OUTPUT .
LOOP AT SCREEN .
IF screen-group1 = 'A' .
screen-input = '0' .
MODIFY SCREEN .
ENDIF .
ENDLOOP .
START-OF-SELECTION.
PERFORM read_input_file_data.
PERFORM upload_data.
PERFORM display_errors.
PERFORM display_alv.
*&---------------------------------------------------------------------*
*& Form VALIDATE_FILE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_P_FILE text
*----------------------------------------------------------------------*
FORM validate_file USING f_file TYPE rlgrap-filename.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
CHANGING
file_name = f_file
EXCEPTIONS
mask_too_long = 1
OTHERS = 2.
IF sy-subrc <> 0.
*--- Display message if error occurs in getting file
##NO_TEXT MESSAGE 'Error in getting the Filename' TYPE 'I' .
ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form READ_INPUT_FILE_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM read_input_file_data .
* REFRESH IT_ERRORS1.
TRANSLATE wa_upload-matnr TO UPPER CASE.
wa_headdata-material_long = wa_upload-matnr.
wa_headdata-material = wa_upload-matnr.
wa_headdata-ind_sector = wa_upload-mbrsh.
wa_headdata-matl_type = wa_upload-mtart.
IF wa_upload-plant IS NOT INITIAL.
wa_plantdata-plant = wa_upload-plant.
wa_plantdatax-plant = wa_upload-plant.
ENDIF.
IF wa_upload-stge_loc IS NOT INITIAL.
wa_storagelocationdata-plant = wa_upload-plant.
wa_storagelocationdatax-plant = wa_upload-plant.
wa_storagelocationdata-stge_loc = wa_upload-stge_loc.
wa_storagelocationdatax-stge_loc = wa_upload-stge_loc.
ENDIF.
* Basic Data
PERFORM fill_basic_view.
* Mrp View
PERFORM fill_mrp_view.
* WorkScheduling View
PERFORM fill_workscheduling_view.
* Sales View
PERFORM fill_sales_view.
* Purchase View
PERFORM fill_purchase_view.
* Plant/Stor Loc1
PERFORM fill_plant_storloc_view.
* Quality View
PERFORM fill_quality_view.
* Accounting View
PERFORM fill_accounting_view.
* Costing View
PERFORM fill_costing_view.
* Sales Org1 Tax Data
PERFORM fill_salesorg1_taxdata.
*
IF wa_upload-maktx IS NOT INITIAL.
wa_bapi_makt-langu = sy-langu.
wa_bapi_makt-langu_iso = sy-langu.
wa_bapi_makt-matl_desc = wa_upload-maktx.
APPEND wa_bapi_makt TO it_bapi_makt.
CLEAR wa_bapi_makt.
ENDIF.
wa_success-status = icon_green_light.
wa_success-matnr = wa_upload-matnr.
wa_success-type = wa_return-type.
wa_success-id = wa_return-id.
wa_success-number = wa_return-number.
wa_success-message = wa_return-message.
APPEND wa_success TO it_success.
CLEAR wa_success.
ENDIF.
ENDIF.
CLEAR :
wa_return,wa_headdata,wa_clientdata,wa_clientdatax,wa_plantdata,wa_plantdatax,wa_st
oragelocationdata,wa_storagelocationdatax,wa_valuationdata,
wa_valuationdatax,wa_salesdata,wa_salesdatax,wa_bapi_makt,wa_bapi_marm,wa_bapi_marm
x,ls_return.
REFRESH :
it_bapi_makt[],it_bapi_marm[],it_bapi_marmx[],it_bapi_mlan[],it_extensionin[],it_ex
tensioninx[],it_return[],it_bapi_mltx[].
ENDLOOP.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form DISPLAY_ERRORS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM display_errors .
DATA : lv_path TYPE string,
lv_path1 TYPE string.
IF it_errors IS INITIAL.
IF p_test = 'X'.
##NO_TEXT MESSAGE 'Test Run Done Successfully' TYPE 'S'.
ELSE.
##NO_TEXT MESSAGE 'Data Uploaded Successfully' TYPE 'S'.
ENDIF.
ELSE.
CONCATENATE 'C:\ERROR\ERROR_EXPLAIN' sy-datum sy-uzeit '.XLS' INTO lv_path
SEPARATED BY '_'.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename = lv_path
write_field_separator = 'X'
TABLES
data_tab = it_errors
EXCEPTIONS ##FM_SUBRC_OK
file_write_error = 1
no_batch = 2
gui_refuse_filetransfer = 3
invalid_type = 4
no_authority = 5
unknown_error = 6
header_not_allowed = 7
separator_not_allowed = 8
filesize_not_allowed = 9
header_too_long = 10
dp_error_create = 11
dp_error_send = 12
dp_error_write = 13
unknown_dp_error = 14
access_denied = 15
dp_out_of_memory = 16
disk_full = 17
dp_timeout = 18
file_not_found = 19
dataprovider_exception = 20
control_flush_error = 21
OTHERS = 22.
* Basic Data1
wa_clientdata-matl_group = wa_upload-matl_group.
wa_clientdatax-matl_group = c_x.
wa_clientdata-extmatlgrp = wa_upload-extmatlgrp.
wa_clientdatax-extmatlgrp = c_x.
ENDIF.
wa_clientdata-base_uom = wa_upload-base_uom.
wa_clientdatax-base_uom = c_x.
wa_clientdata-base_uom_iso = wa_upload-base_uom.
wa_clientdatax-base_uom_iso = c_x.
wa_clientdata-old_mat_no = wa_upload-old_mat_no.
wa_clientdatax-old_mat_no = c_x.
wa_clientdata-old_mat_no_long = wa_upload-old_mat_no.
wa_clientdatax-old_mat_no_long = c_x.
wa_clientdata-inv_mat_no_long = wa_upload-old_mat_no.
wa_clientdatax-inv_mat_no_long = c_x.
wa_clientdata-net_weight = wa_upload-net_weight.
wa_clientdatax-net_weight = c_x.
wa_clientdata-dsn_office = wa_upload-dsn_office.
wa_clientdatax-dsn_office = c_x.
wa_clientdata-document = wa_upload-document.
wa_clientdatax-document = c_x.
wa_clientdata-doc_type = wa_upload-doc_type.
wa_clientdatax-doc_type = c_x.
wa_clientdata-doc_vers = wa_upload-doc_vers.
wa_clientdatax-doc_vers = c_x.
wa_clientdata-doc_format = wa_upload-doc_format.
wa_clientdatax-doc_format = c_x.
wa_clientdata-doc_chg_no = wa_upload-doc_chg_no.
wa_clientdatax-doc_chg_no = c_x.
wa_clientdata-page_no = wa_upload-page_no.
wa_clientdatax-page_no = c_x.
wa_clientdata-no_sheets = wa_upload-no_sheets.
wa_clientdatax-no_sheets = c_x.
wa_clientdata-basic_matl = wa_upload-basic_matl.
wa_clientdatax-basic_matl = c_x.
wa_clientdata-std_descr = wa_upload-std_descr.
wa_clientdatax-std_descr = c_x.
wa_clientdata-prod_memo = wa_upload-prod_memo.
wa_clientdatax-prod_memo = c_x.
wa_clientdata-pageformat = wa_upload-pageformat.
wa_clientdatax-pageformat = c_x.
wa_clientdata-allwd_vol = wa_upload-allwd_vol.
wa_clientdatax-allwd_vol = c_x.
wa_clientdata-pageformat = wa_upload-pageformat.
wa_clientdatax-pageformat = c_x.
wa_clientdata-pack_vo_un = wa_upload-pack_vo_un.
wa_clientdatax-pack_vo_un = c_x.
wa_clientdata-size_dim = wa_upload-size_dim.
wa_clientdatax-size_dim = c_x.
wa_clientdata-size_dim = wa_upload-size_dim.
wa_clientdatax-size_dim = c_x.
wa_clientdata-size_dim = wa_upload-size_dim.
wa_clientdatax-size_dim = c_x.
wa_clientdata-size_dim = wa_upload-size_dim.
wa_clientdatax-size_dim = c_x.
wa_clientdata-size_dim = wa_upload-size_dim.
wa_clientdatax-size_dim = c_x.
wa_clientdata-size_dim = wa_upload-size_dim.
wa_clientdatax-size_dim = c_x.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form FILL_MRP_VIEW
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM fill_mrp_view .
TRANSLATE wa_upload-mrp_view TO UPPER CASE.
wa_headdata-mrp_view = wa_upload-mrp_view.
CHECK wa_headdata-mrp_view = c_x.
* MRP1
wa_plantdata-mrp_group = wa_upload-mrp_group.
wa_plantdatax-mrp_group = c_x.
wa_plantdata-mrp_type = wa_upload-mrp_type.
wa_plantdatax-mrp_type = c_x.
wa_plantdata-reorder_pt = wa_upload-reorder_pt.
wa_plantdatax-reorder_pt = c_x.
wa_plantdata-mrp_ctrler = wa_upload-mrp_ctrler.
wa_plantdatax-mrp_ctrler = c_x.
wa_plantdata-lotsizekey = wa_upload-lotsizekey.
wa_plantdatax-lotsizekey = c_x.
wa_plantdata-minlotsize = wa_upload-minlotsize.
wa_plantdatax-minlotsize = c_x.
wa_plantdata-maxlotsize = wa_upload-maxlotsize.
wa_plantdatax-maxlotsize = c_x.
wa_plantdata-round_val = wa_upload-round_val.
wa_plantdatax-round_val = c_x.
wa_plantdata-ord_costs = wa_upload-ord_costs.
wa_plantdatax-ord_costs = c_x.
wa_plantdata-stor_costs = wa_upload-stor_costs.
wa_plantdatax-stor_costs = c_x.
wa_plantdata-fixed_lot = wa_upload-fixed_lot.
wa_plantdatax-fixed_lot = c_x.
wa_plantdata-max_stock = wa_upload-max_stock.
wa_plantdatax-max_stock = c_x.
wa_plantdata-abc_id = wa_upload-abc_id.
wa_plantdatax-abc_id = c_x.
* MRP2
wa_plantdata-proc_type = wa_upload-proc_type.
wa_plantdatax-proc_type = c_x.
wa_plantdata-iss_st_loc = wa_upload-iss_st_loc.
wa_plantdatax-iss_st_loc = c_x.
wa_plantdata-plnd_delry = wa_upload-plnd_delry.
wa_plantdatax-plnd_delry = c_x.
IF wa_upload-po_gr_pr_time IS NOT INITIAL.
wa_plantdata-gr_pr_time = wa_upload-po_gr_pr_time.
wa_plantdatax-gr_pr_time = c_x.
ENDIF.
wa_plantdata-spproctype = wa_upload-spproctype.
wa_plantdatax-spproctype = c_x.
wa_plantdata-inhseprodt = wa_upload-inhseprodt.
wa_plantdatax-inhseprodt = c_x.
wa_plantdata-sloc_exprc = wa_upload-sloc_exprc.
wa_plantdatax-sloc_exprc = c_x.
wa_plantdata-iss_st_loc = wa_upload-iss_st_loc.
wa_plantdatax-iss_st_loc = c_x.
wa_plantdata-sm_key = wa_upload-sm_key.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = wa_plantdata-sm_key
IMPORTING
output = wa_plantdata-sm_key.
wa_plantdatax-sm_key = c_x.
wa_plantdata-backflush = wa_upload-backflush .
wa_plantdatax-backflush = c_x.
wa_plantdata-safety_stk = wa_upload-safety_stk.
wa_plantdatax-safety_stk = c_x.
* MRP3
wa_plantdata-plan_strgp = wa_upload-plan_strgp.
wa_plantdatax-plan_strgp = c_x.
wa_plantdata-availcheck = wa_upload-mrp_availcheck.
wa_plantdatax-availcheck = c_x.
wa_plantdata-consummode = wa_upload-consummode.
wa_plantdatax-consummode = c_x.
wa_plantdata-bwd_cons = wa_upload-bwd_cons.
wa_plantdatax-bwd_cons = c_x.
wa_plantdata-fwd_cons = wa_upload-fwd_cons.
wa_plantdatax-fwd_cons = c_x.
wa_plantdata-mixed_mrp = wa_upload-mixed_mrp.
wa_plantdatax-mixed_mrp = c_x.
* MRP4
wa_plantdata-dep_req_id = wa_upload-dep_req_id.
wa_plantdatax-dep_req_id = c_x.
wa_plantdata-rep_manuf = wa_upload-rep_manuf.
wa_plantdatax-rep_manuf = c_x.
wa_plantdata-repmanprof = wa_upload-repmanprof.
wa_plantdatax-repmanprof = c_x.
wa_plantdata-mrp_relevancy_dep_requirements = wa_upload-
mrp_relevancy_dep_requirements.
wa_plantdatax-mrp_relevancy_dep_requirements = c_x.
wa_plantdata-grp_reqmts = wa_upload-grp_reqmts.
wa_plantdatax-grp_reqmts = c_x.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form FILL_WORKSCHEDULING_VIEW
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM fill_workscheduling_view .
TRANSLATE wa_upload-work_sched_view TO UPPER CASE.
wa_headdata-work_sched_view = wa_upload-work_sched_view.
CHECK wa_headdata-work_sched_view = c_x.
wa_plantdata-alt_bom_id = wa_upload-alt_bom_id.
wa_plantdatax-alt_bom_id = c_x.
wa_plantdata-issue_unit = wa_upload-wrk_issue_unit.
wa_plantdatax-issue_unit = c_x.
wa_plantdata-issue_unit_iso = wa_upload-wrk_issue_unit.
wa_plantdatax-issue_unit_iso = c_x.
wa_plantdata-iss_st_loc = wa_upload-wrk_iss_st_loc.
wa_plantdatax-iss_st_loc = c_x.
wa_plantdata-prod_unit = wa_upload-prod_unit.
wa_plantdatax-prod_unit = c_x.
wa_plantdata-prod_unit_iso = wa_upload-prod_unit.
wa_plantdatax-prod_unit_iso = c_x.
wa_plantdata-replentime = wa_upload-replentime.
wa_plantdatax-replentime = c_x.
wa_plantdata-over_tol = wa_upload-over_tol.
wa_plantdatax-over_tol = c_x.
wa_plantdata-unlimited = wa_upload-unlimited.
wa_plantdatax-unlimited = c_x.
wa_plantdata-under_tol = wa_upload-under_tol.
wa_plantdatax-under_tol = c_x.
ENDFORM.
*---------------------------------------------------------------------*
*& Form FILL_SALES_VIEW
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM fill_sales_view .
TRANSLATE wa_upload-sales_view TO UPPER CASE.
wa_headdata-sales_view = wa_upload-sales_view.
CHECK wa_headdata-sales_view = c_x.
wa_salesdata-sales_org = wa_upload-sales_org.
wa_salesdatax-sales_org = wa_upload-sales_org.
wa_salesdata-distr_chan = wa_upload-distr_chan.
wa_salesdatax-distr_chan = wa_upload-distr_chan.
IF wa_upload-sales_unit IS NOT INITIAL.
CALL FUNCTION 'CONVERSION_EXIT_CUNIT_INPUT'
EXPORTING
input = wa_upload-sales_unit
language = sy-langu
IMPORTING
output = wa_upload-sales_unit
EXCEPTIONS ##FM_SUBRC_OK
unit_not_found = 1
OTHERS = 2.
ENDIF.
wa_salesdata-sales_unit = wa_upload-sales_unit.
wa_salesdatax-sales_unit = c_x.
wa_salesdata-sales_unit_iso = wa_upload-sales_unit.
wa_salesdatax-sales_unit_iso = c_x.
wa_salesdata-delyg_plnt = wa_upload-delyg_plnt.
wa_salesdatax-delyg_plnt = c_x.
wa_salesdata-cash_disc = wa_upload-cash_disc.
wa_salesdatax-cash_disc = c_x.
wa_salesdata-matl_stats = wa_upload-matl_stats.
wa_salesdatax-matl_stats = c_x.
wa_salesdata-mat_pr_grp = wa_upload-mat_pr_grp.
wa_salesdatax-mat_pr_grp = c_x.
wa_salesdata-acct_assgt = wa_upload-acct_assgt.
wa_salesdatax-acct_assgt = c_x.
wa_salesdata-item_cat = wa_upload-item_cat.
wa_salesdatax-item_cat = c_x.
* added by pallavi
wa_salesdata-sal_status = wa_upload-sal_status.
wa_salesdatax-sal_status = c_x.
wa_salesdata-valid_from = wa_upload-valid_from.
wa_salesdatax-valid_from = c_x.
wa_salesdata-matl_grp_1 = wa_upload-matl_grp_1.
wa_salesdatax-matl_grp_1 = c_x.
wa_salesdata-matl_grp_2 = wa_upload-matl_grp_2.
wa_salesdatax-matl_grp_2 = c_x.
wa_salesdata-matl_grp_3 = wa_upload-matl_grp_3.
wa_salesdatax-matl_grp_3 = c_x.
wa_salesdata-matl_grp_4 = wa_upload-matl_grp_4.
wa_salesdatax-matl_grp_4 = c_x.
wa_salesdata-matl_grp_5 = wa_upload-matl_grp_5.
wa_salesdatax-matl_grp_5 = c_x.
* Sales Gen/Plant
wa_plantdata-loadinggrp = wa_upload-loadinggrp.
wa_plantdatax-loadinggrp = c_x.
wa_clientdata-trans_grp = wa_upload-trans_grp.
wa_clientdatax-trans_grp = c_x.
wa_plantdata-ctrl_code = wa_upload-ctrl_code.
wa_plantdata-ctrl_code = c_x.
wa_plantdata-profit_ctr = wa_upload-profit_ctr.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = wa_plantdata-profit_ctr
IMPORTING
output = wa_plantdata-profit_ctr.
wa_plantdatax-profit_ctr = c_x.
ENDIF.
IF wa_upload-batch_mgmt IS NOT INITIAL.
wa_plantdata-batch_mgmt = wa_upload-batch_mgmt.
wa_plantdatax-batch_mgmt = c_x.
ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form FILL_PURCHASE_VIEW
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM fill_purchase_view .
TRANSLATE wa_upload-purchase_view TO UPPER CASE.
wa_headdata-purchase_view = wa_upload-purchase_view.
CHECK wa_headdata-purchase_view = c_x.
IF wa_upload-base_uom = wa_upload-po_unit.
wa_upload-po_unit = ' '.
ENDIF.
CALL FUNCTION 'CONVERSION_EXIT_CUNIT_INPUT'
EXPORTING
input = wa_upload-po_unit
language = sy-langu
IMPORTING
output = wa_upload-po_unit
EXCEPTIONS ##FM_SUBRC_OK
unit_not_found = 1
OTHERS = 2.
wa_clientdata-pur_valkey = wa_upload-pur_valkey.
wa_clientdatax-pur_valkey = c_x.
wa_plantdata-sourcelist = wa_upload-sourcelist.
wa_plantdatax-sourcelist = c_x.
wa_plantdata-sourcelist = wa_upload-sourcelist.
wa_plantdatax-sourcelist = c_x.
wa_plantdata-issue_unit = wa_upload-plnt_issue_unit.
wa_plantdata-issue_unit_iso = wa_upload-plnt_issue_unit.
wa_plantdatax-issue_unit = c_x.
wa_plantdatax-issue_unit_iso = c_x.
IF wa_upload-batch_mgmt IS NOT INITIAL.
wa_plantdata-batch_mgmt = wa_upload-batch_mgmt.
wa_plantdatax-batch_mgmt = c_x.
ENDIF.
IF wa_upload-profit_ctr IS NOT INITIAL.
wa_plantdata-profit_ctr = wa_upload-profit_ctr.
wa_plantdatax-profit_ctr = c_x.
ENDIF.
wa_storagelocationdata-stge_bin = wa_upload-stge_bin.
wa_storagelocationdatax-stge_bin = c_x.
wa_clientdata-temp_conds = wa_upload-temp_conds.
wa_clientdatax-temp_conds = c_x.
wa_clientdata-stor_conds = wa_upload-stor_conds.
wa_clientdatax-stor_conds = c_x.
wa_clientdata-minremlife = wa_upload-minremlife.
wa_clientdatax-minremlife = c_x.
wa_clientdata-shelf_life = wa_upload-shelf_life.
wa_clientdatax-shelf_life = c_x.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form FILL_QUALITY_VIEW
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM fill_quality_view .
TRANSLATE wa_upload-quality_view TO UPPER CASE.
wa_headdata-quality_view = wa_upload-quality_view.
CHECK wa_headdata-quality_view = c_x.
wa_clientdata-qm_procmnt = wa_upload-qm_procmnt.
wa_clientdatax-qm_procmnt = c_x.
wa_plantdata-ctrl_key = wa_upload-ctrl_key.
wa_plantdatax-ctrl_key = c_x.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form FILL_ACCOUNTING_VIEW
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM fill_accounting_view .
DATA: lv_num TYPE p.
wa_valuationdata-val_area = wa_upload-plant.
wa_valuationdatax-val_area = wa_upload-plant.
wa_valuationdata-val_type = wa_upload-bwtar.
wa_valuationdatax-val_type = wa_upload-bwtar.
wa_valuationdata-val_cat = wa_upload-val_cat.
wa_valuationdatax-val_cat = c_x.
wa_valuationdata-val_class = wa_upload-val_class.
wa_valuationdatax-val_class = c_x.
wa_valuationdata-price_ctrl = wa_upload-price_ctrl.
wa_valuationdatax-price_ctrl = c_x.
IF wa_upload-price_unit IS NOT INITIAL.
CALL FUNCTION 'CONVERSION_EXIT_CUNIT_INPUT'
EXPORTING
input = wa_upload-price_unit
language = sy-langu
IMPORTING
output = wa_upload-price_unit
EXCEPTIONS ##FM_SUBRC_OK
unit_not_found = 1
OTHERS = 2.
ENDIF.
wa_valuationdata-qty_struct = wa_upload-qty_struct.
wa_valuationdatax-qty_struct = c_x.
wa_valuationdata-overhead_grp = wa_upload-overhead_grp.
wa_valuationdatax-overhead_grp = c_x.
wa_plantdata-variance_key = wa_upload-variance_key.
wa_plantdatax-variance_key = c_x.
wa_plantdata-lot_size = wa_upload-lot_size.
wa_plantdatax-lot_size = c_x.
wa_valuationdata-orig_group = wa_upload-orig_group.
wa_valuationdatax-orig_group = c_x.
wa_plantdata-specprocty = wa_upload-specprocty.
wa_plantdatax-specprocty = c_x.
wa_plantdata-no_costing = wa_upload-no_costing.
wa_plantdatax-no_costing = c_x.
wa_plantdata-no_costing = wa_upload-no_costing.
wa_plantdatax-no_costing = c_x.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form FILL_SALESORG1_TAXDATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM fill_salesorg1_taxdata .
CHECK wa_headdata-sales_view = c_x.
wa_bapi_mlan-depcountry = 'IN'.
wa_bapi_mlan-depcountry_iso = 'IN'.
* added by pallavi
wa_bapi_mlan-tax_type_1 = wa_upload-tax_type_1.
wa_bapi_mlan-taxclass_1 = wa_upload-taxclass_1.
wa_bapi_mlan-tax_type_2 = wa_upload-tax_type_2.
wa_bapi_mlan-taxclass_2 = wa_upload-taxclass_2.
wa_bapi_mlan-tax_type_3 = wa_upload-tax_type_3.
wa_bapi_mlan-taxclass_3 = wa_upload-taxclass_3.
wa_bapi_mlan-tax_type_4 = wa_upload-tax_type_4.
wa_bapi_mlan-taxclass_4 = wa_upload-taxclass_4.
wa_bapi_mlan-tax_type_5 = wa_upload-tax_type_5.
wa_bapi_mlan-taxclass_5 = wa_upload-taxclass_5.
wa_bapi_mlan-tax_type_6 = wa_upload-tax_type_6.
wa_bapi_mlan-taxclass_6 = wa_upload-taxclass_6.
wa_bapi_mlan-tax_type_7 = wa_upload-tax_type_7.
wa_bapi_mlan-taxclass_7 = wa_upload-taxclass_7.
wa_bapi_mlan-tax_type_8 = wa_upload-tax_type_8.
wa_bapi_mlan-taxclass_8 = wa_upload-taxclass_8.
wa_bapi_mlan-tax_type_9 = wa_upload-tax_type_9.
wa_bapi_mlan-taxclass_9 = wa_upload-taxclass_9.
CLEAR: l_text1.
l_text1 = wa_headdata-material. "WA_UPLOAD-MATNR.
l_text1+40(4) = wa_upload-sales_org.
l_text1+44(2) = wa_upload-distr_chan.
IF wa_upload-grun IS NOT INITIAL.
wa_bapi_mltx-applobject = 'MATERIAL'.
wa_bapi_mltx-text_name = wa_headdata-material_long."WA_UPLOAD-MATNR.
wa_bapi_mltx-text_id = 'GRUN'.
wa_bapi_mltx-langu = 'E'.
wa_bapi_mltx-langu_iso = 'EN'.
wa_bapi_mltx-text_line = wa_upload-grun+0(132).
APPEND wa_bapi_mltx TO it_bapi_mltx.
CLEAR wa_bapi_mltx.
IF strlen( wa_upload-grun ) > 132.
wa_bapi_mltx-applobject = 'MATERIAL'.
wa_bapi_mltx-text_name = wa_headdata-material_long."WA_UPLOAD-MATNR.
wa_bapi_mltx-text_id = 'GRUN'.
wa_bapi_mltx-langu = 'E'.
wa_bapi_mltx-format_col = ' '.
wa_bapi_mltx-langu_iso = 'EN'.
wa_bapi_mltx-text_line = wa_upload-grun+132(132).
APPEND wa_bapi_mltx TO it_bapi_mltx.
CLEAR wa_bapi_mltx.
IF strlen( wa_upload-grun ) > 264.
wa_bapi_mltx-applobject = 'MATERIAL'.
wa_bapi_mltx-text_name = wa_headdata-material_long."WA_UPLOAD-MATNR.
wa_bapi_mltx-text_id = 'GRUN'.
wa_bapi_mltx-langu = 'E'.
wa_bapi_mltx-langu_iso = 'EN'.
wa_bapi_mltx-format_col = ' '.
wa_bapi_mltx-text_line = wa_upload-grun+264(132).
APPEND wa_bapi_mltx TO it_bapi_mltx.
CLEAR wa_bapi_mltx.
IF strlen( wa_upload-grun ) > 396.
wa_bapi_mltx-applobject = 'MATERIAL'.
wa_bapi_mltx-text_name = wa_headdata-material_long."WA_UPLOAD-MATNR.
wa_bapi_mltx-text_id = 'GRUN'.
wa_bapi_mltx-format_col = ' '.
wa_bapi_mltx-langu = 'E'.
wa_bapi_mltx-langu_iso = 'EN'.
wa_bapi_mltx-text_line = wa_upload-grun+396(104).
APPEND wa_bapi_mltx TO it_bapi_mltx.
CLEAR wa_bapi_mltx.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
*&---------------------------------------------------------------------*
*& Form DISPLAY_ALV
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM display_alv .
w_fcat-col_pos = '2'.
##NO_TEXT w_fcat-fieldname = 'RECNO'.
##NO_TEXT w_fcat-seltext_l = 'Record No'.
APPEND w_fcat TO t_fcat.
CLEAR w_fcat.
w_fcat-col_pos = '3'.
##NO_TEXT w_fcat-fieldname = 'MATNR'.
##NO_TEXT w_fcat-seltext_l = 'Material'.
APPEND w_fcat TO t_fcat.
CLEAR w_fcat.
w_fcat-col_pos = '4'.
##NO_TEXT w_fcat-fieldname = 'TYPE'.
##NO_TEXT w_fcat-seltext_l = 'Type'.
APPEND w_fcat TO t_fcat.
CLEAR w_fcat.
w_fcat-col_pos = '5'.
##NO_TEXT w_fcat-fieldname = 'ID'.
##NO_TEXT w_fcat-seltext_l = 'Id'.
APPEND w_fcat TO t_fcat.
CLEAR w_fcat.
w_fcat-col_pos = '6'.
##NO_TEXT w_fcat-fieldname = 'NUMBER'.
##NO_TEXT w_fcat-seltext_l = 'Number'.
APPEND w_fcat TO t_fcat.
CLEAR w_fcat.
w_fcat-col_pos = '7'.
##NO_TEXT w_fcat-fieldname = 'MESSAGE'.
##NO_TEXT w_fcat-seltext_l = 'Message'.
APPEND w_fcat TO t_fcat.
CLEAR w_fcat.
s_layo-colwidth_optimize = 'X'.