Professional Documents
Culture Documents
Bapi - 1.create Function Group First Go To Goto' - Function Group - Create Group. Function Group-Zbapi
Bapi - 1.create Function Group First Go To Goto' - Function Group - Create Group. Function Group-Zbapi
function group-zbapi
Save in package.
Create a wone package in se80
2.after creating activate the function group.
Goto se38
3.create function module.
8.And ->import
Fill the parameter name ,types ,associated type ,click pos and enter short
text.
Ex:
P_bukrs,type,zbapi_stru-comp_code
9.Goto ->tables and give internal tables
10.goto->export and fill all details.
Ex:inside Bapiret2
11. goto source code.
Function module->release->release.
t-code->swo1.
Click create.
For application select cross application.
Save in package.
There will be 2 objects in methods.
2display-display object..
14.Goto utilites->api methods->add methods.
*&---------------------------------------------------------------------*
*& Report ZMM_MAT_MASTER_CT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ZMM_MAT_MASTER_CT.
INCLUDE zmm_material_master_cnv01_top.
INCLUDE zmm_material_master_cnv01_sel.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
PERFORM get_filename CHANGING p_file.
AT SELECTION-SCREEN ON p_file.
PERFORM check_file_path.
AT SELECTION-SCREEN.
PERFORM set_background_job.
START-OF-SELECTION.
IF pv_bg = 'X'.
LEAVE LIST-PROCESSING.
ENDIF.
IF sy-batch = ' '.
PERFORM get_data CHANGING ta_flatfile.
ENDIF.
PERFORM upload_material.
END-OF-SELECTION.
PERFORM display_data.
INCLUDE zmm_material_master_cnv01_form.
*&---------------------------------------------------------------------*
*& Include ZMM_MATERIAL_MASTER_CNV01_TOP
*&---------------------------------------------------------------------*
TYPE-POOLS:slis.
TYPES:BEGIN OF ta_flatfile,
* sitemmasterid(20), " Field Description
sno(5),
matnr(40), " Material no.
mbrsh(1), " Industry sector
mtart(4), " Material type
*Organizational data
werks(4), " Plant
lgort(4), " Storage Location
vkorg(4), " Sales Organization
vtweg(2), " Distribution Channel
dispr(10), " MRP Profile
*Basic Data1
bd1(1),
maktx(50), " Material Description
meins(3), " Base Unit of Measure
matkl(9), " Material Group
bismt(40), " Old Material No
extwg(18), " External Material Group
spart(2), " Division
labor(30), " Lab/Office
brgew(13), " Gross Weight
gewei(2), " Weight Unit
ntgew(13), " Net weight
volum(10), " Volume
voleh(10), " Volume Unit
groes(30), " Size/Dimensions
maktx1(50), " Basic Data Text
length(13),
width(13), """added on 23/12/2017
height(13),
unit_dim(3),
prdha(18), "added on 21/02/2018
*Basic Data2
bd2(1),
ferth(25), " Prod./Insp.memo
normt(15), " Ind. Std Desc.
formt(1), " Page Format
wrkst(9), " Basic Material
msbookpartno(60), " MS Book Part Number
zeinr(20), " Document
zeiar(3), " Document Type
zeivr(10), " Document Version
adspc_spc(1), " Spare Part Class Code
ovlpn(10), " Overlength Part Number
umren(10), " Unit of Measure
meinh(10), " Alternative Unit of Measure
umrez(10), " Units of Measure ( Numerator for conversion to
base unit of measure)
umren1(10), " Unit of Measure
meinh1(10), " Alternative Unit of Measure
umrez1(10), " Units of Measure ( Numerator for conversion t
o base unit of measure)
*Classification View
cv(1),
klart(3), " Class Type
class(18), " Class
*Sales Org1
sod1(1),
dwerk(4), " Delivering Plant
taxkm(1), " Tax classification material
*Slaes Org2
sod2(1),
versg(1), " Matl statistics grp
prodh(10), " Product hierarchy
ktgrm(10), " Acct assignment grp
kondm(02),
mtpos(4), " Item category group
* mtpos1(4), " Item category group
*Sales: General/Plant
sgp(1),
mtvfp(2), " Availability check
mfrgr(8), " Material freight grp
tragr(4), " Trans. Grp
ladgr(4), " LoadingGrp
prctr(10), " Profit Center
magrv(04), "Material Group Pack "added by Kamesh
vhart(4), "25/01/2018
ergew(13),
ergei(3),
ervol(13),
ervoe(3),
gewto(3),
volto(3),
*Foreign Trade
ft1(1),
steuc(16), " Control Code " added by thippesh
*SOTF "Sales and Distributit
sotf(1),
stext(60), " SALES TEXT
*PF "Purchasing
pf(1),
ekgrp(3), " Purchasing Group
kautb(1), " Automatic PO
xchpf(1), " Batch Management
ekwsl(4), " Purchasing Value Key
webaz(5), " GR Processing Time
kzkri(1), " Indicator: Critical part
mprof(10), " Mfr Part Profile
mfrpn(40), " Mfr. Part NumPOTEXTber
mfrnr(10), " Manufact.
taxim(01), ""Tax Indicator for material added by thippesh
kordb(1), " added on 21/02/2018
*POV " Purchase order text
pov(1),
potext(132), " PURCHASE ORDER TEXT
*MRP1
mrp1(1),
disgr(4), " MRP group
maabc(1), " ABC Indicator
dismm(2), " MRP Type
minbe(3), " Reorder Point
dispo(3), " MRP Controller
disls(2), " Lot Size
bstmi(15), " Minimum Lot Size
bstma(15), " Maximum Lot Size
ausss(07), "Assembly Scrap % "Added by kamesh
bstfe(3), " Fixed Lot Size
mabst(13),
*MRP2
mrp2(1),
beskz(1), " Procurement Type
sobsl(2), " Special Procurement
lgpro(4), " Prod. Storage Location
rgekz(1), " Indicator: Backflush
schgt(10), " Indicator: Bulk Material
dzeit(2), " In-house Production
plifz(2), " Plnd delivery time
fhori(3), " Schedulemargin Key
eisbe(15), " Safety STock
*MRP3
mrp3(1),
strgr(2), " Strategy Group
vrmod(1), " Consumption Mode
vint1(2), " Bwd. Consumption per.
vint2(2), " Fwd. Consumption Per.
*MRP4
mrp4(1),
sbdkz(1), " Individual/Coll
kausf(07), "Component Scrap % "Added by Kamesh
*Forecast View
fv(1),
prmod(1), " Forecast Model
* lgpbe(10), " Storage Bin
*WS
ws(1),
sfcpf(6), " Production Scheduling Profile
sernp(20), " Serial No. Profile
fevor(03),
* xchpf1(1), " Batch management Requirement "Added by
Kamesh
*PRT
prt(1),
planv(10), " Task list usage
steuf(20), " Control key
*PDS1
pds1(1),
lgpbe(12), " Storage Bin
maxlx(20), " Maximum Storage Period
lzeih(3), " Time Unit
tempb(02),
raube(02),
*QMV "Quality Management
qmv(1),
kzdkz(1), " Documentation required indicator
qmpur(1), " QM in Procurement is Active
ssqss(4), " Control Key for Quality Management in Procurem
ent
qzgtp(3), " Certificate Type
art(2), " Inspection Type
apa(1), "Prefereed Inspection Type "Added by kamesh
aktiv(1), " Inspection Type active
*AC1 "Accounting 1
ac1(1),
bklas(4), " Valuation Class
bwtty(4), " Valuation Type added on 18.09.2019
mlast(1), " Price Determination
vprsv(1), " Price Control
pvprs_1(15), " Periodic Unit Price
stprs(15), " Standard Price
*CEV
cev(1),
ekalr(1), " With Quantity Structure
* prctr1(10), "Profit center "Added by kamesh
hkmat(1), " Material Origin
ncost, " Do not check
kosgr(10), " Overhead Group
awsls(06), ""variant key
VMBKL(04),
VJBKL(04),
END OF ta_flatfile,
ta_t_flatfile TYPE STANDARD TABLE OF ta_flatfile.
TYPES:BEGIN OF ty_display,
sno(5),
type TYPE bapi_mtype,
id TYPE symsgid,
number TYPE symsgno,
message_v1 TYPE mara-matnr,
message TYPE bapi_msg,
END OF ty_display,
ty_t_display TYPE TABLE OF ty_display.
DATA:fname TYPE localfile,
ename TYPE char4.
DATA:it_display TYPE ty_t_display,
it_t134 TYPE TABLE OF t134,
wa_t134 TYPE t134,
it_nriv TYPE TABLE OF nriv,
wa_nriv TYPE nriv.
DATA:ta_flatfile TYPE ta_t_flatfile.
*&---------------------------------------------------------------------*
*& Include ZMM_MATERIAL_MASTER_CNV01_SEL
*&---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001.
PARAMETERS : p_file TYPE STRING."rlgrap-filename.
PARAMETERS:pv_front RADIOBUTTON GROUP grp TYPE char1 DEFAULT 'X',
pv_bg RADIOBUTTON GROUP grp TYPE char1.
SELECTION-SCREEN END OF BLOCK b1.
*&---------------------------------------------------------------------*
*& Include ZMM_MATERIAL_MASTER_CNV01_FORM
*&---------------------------------------------------------------------*
FORM get_filename CHANGING fp_p_file TYPE string.
* BREAK PPADHY.
DATA: li_filetable TYPE filetable,
lx_filetable TYPE file_table,
lv_return_code TYPE i,
lv_window_title TYPE string.
CALL METHOD cl_gui_frontend_services=>file_open_dialog
EXPORTING
window_title = lv_window_title
CHANGING
file_table = li_filetable
rc = lv_return_code
EXCEPTIONS
file_open_dialog_failed = 1
cntl_error = 2
error_no_gui = 3
not_supported_by_gui = 4
OTHERS = 5.
READ TABLE li_filetable INTO lx_filetable INDEX 1.
fp_p_file = lx_filetable-filename.
SPLIT fp_p_file AT '.' INTO fname ename.
SET LOCALE LANGUAGE sy-langu.
TRANSLATE ename TO UPPER CASE.
ENDFORM. " GET_FILENAME
*&---------------------------------------------------------------------*
*& Form GET_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* <--P_I_EXCELTAB text
*----------------------------------------------------------------------*
FORM get_data CHANGING ta_flatfile TYPE ta_t_flatfile.
DATA : i_type TYPE truxs_t_text_data.
DATA:lv_file TYPE rlgrap-filename.
* PROCEED ONLY IF ITS A VALID FILETYPE
IF ename EQ 'XLSX' OR ename EQ 'XLS'.
REFRESH ta_flatfile[].
lv_file = p_file.
* FM TO UPLOAD DATA INTO INTERNAL TABLE FROM EXCEL
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
i_tab_raw_data = i_type
i_filename = lv_file
TABLES
i_tab_converted_data = ta_flatfile[]
EXCEPTIONS
conversion_failed = 1
OTHERS = 2.
DELETE ta_flatfile FROM 1 TO 2.
ELSE.
MESSAGE e398(00) WITH 'Invalid File Type' .
ENDIF.
IF ta_flatfile IS INITIAL.
MESSAGE 'No records to upload' TYPE 'E'.
ENDIF.
ENDFORM. " GET_DATA
*&---------------------------------------------------------------------*
*& Form UPLOAD_MATERIAL
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM upload_material .
FIELD-SYMBOLS:<fs_flatfile> TYPE ta_flatfile,
<fs_steuertab> TYPE mg03steuer.
DATA:bapi_head TYPE bapimathead, "input parameters
bapi_mara TYPE bapi_mara, "client data
bapi_marax TYPE bapi_marax,
bapi_marc TYPE bapi_marc, "plant data
bapi_marcx TYPE bapi_marcx,
bapi_mpop TYPE bapi_mpop, "forecast view
bapi_mpopx TYPE bapi_mpopx,
bapi_mpgd TYPE bapi_mpgd, "planning view
bapi_mpgdx TYPE bapi_mpgdx,
bapi_mard TYPE bapi_mard, "storage location
bapi_mardx TYPE bapi_mardx,
bapi_mbew TYPE bapi_mbew, "valuation data
bapi_mbewx TYPE bapi_mbewx,
bapi_mlgn TYPE bapi_mlgn, "warehouse data
bapi_mlgnx TYPE bapi_mlgnx,
bapi_mvke TYPE bapi_mvke, "sales data
bapi_mvkex TYPE bapi_mvkex,
bapi_mlgt TYPE bapi_mlgt, "storage data
bapi_mlgtx TYPE bapi_mlgtx,
bapireturn TYPE bapiret2,
wa_return TYPE bapi_matreturn2,
git_return TYPE STANDARD TABLE OF bapi_matreturn2,
bapi_makt TYPE bapi_makt,
git_matdesc TYPE STANDARD TABLE OF bapi_makt,
bapi_marm TYPE bapi_marm,
git_uom TYPE STANDARD TABLE OF bapi_marm,
bapi_marmx TYPE bapi_marmx,
git_uomx TYPE STANDARD TABLE OF bapi_marmx,
wa_tax TYPE bapi_mlan,
git_tax TYPE STANDARD TABLE OF bapi_mlan,
wa_text TYPE bapi_mltx, "Long Texts
git_text TYPE STANDARD TABLE OF bapi_mltx,
ext_mvke TYPE bapi_te_mvke,
ext_mvkex TYPE bapi_te_mvkex,
git_steuertab TYPE STANDARD TABLE OF mg03steuer,
git_parex TYPE STANDARD TABLE OF bapiparex,
git_parexx TYPE STANDARD TABLE OF bapiparexx,
wa_parex TYPE bapiparex,
wa_parexx TYPE bapiparexx,
lv_len TYPE i,
lv_len1 TYPE i,
lv_matnr LIKE mara-matnr.
* DATA:wa_change_kssk TYPE kssk_com,
* it_change_kssk TYPE STANDARD TABLE OF kssk_com,
* wa_change_ausp TYPE ausp_com.
DATA:wa_inspect TYPE bapi1001004_qmat,
it_inspect TYPE TABLE OF bapi1001004_qmat,
lit_ret TYPE TABLE OF bapiret2.
DATA wa_mara TYPE mara.
DATA:wa_display TYPE ty_display.
DATA:lv_file TYPE string.
DATA:ls_file TYPE ta_flatfile.
DATA:lv_objek TYPE rmclf-objek,
lv_obtxt TYPE rmclf-obtxt.
***
***
*** IF sy-batch = 'X'.
***
***
*** CASE sy-sysid.
*** WHEN 'AED'.
*** lv_file = '/usr/sap/AED/D10/work/ZMAT.txt'.
*** WHEN 'AEQ'.
*** lv_file = '/usr/sap/AEQ/D20/work/ZMAT.txt'.
*** WHEN 'AEP'.
*** lv_file = '/usr/sap/AEP/D00/work/ZMAT.txt'.
*** ENDCASE.
***
***
***
*** TRY.
***
*** OPEN DATASET lv_file FOR INPUT IN BINARY MODE.
***
*** DO.
***
*** CLEAR ls_file .
*** READ DATASET lv_file INTO ls_file.
***
*** IF sy-subrc = 0.
*** APPEND ls_file TO ta_flatfile.
*** ELSE.
*** EXIT.
*** ENDIF.
***
*** ENDDO.
***
*** CATCH cx_root.
***
*** ENDTRY.
***
*** CLOSE DATASET lv_file.
*** DELETE DATASET lv_file.
***
*** ENDIF.
SELECT * FROM t134 INTO TABLE it_t134
FOR ALL ENTRIES IN ta_flatfile
WHERE mtart = ta_flatfile-mtart.
SELECT * FROM nriv INTO TABLE it_nriv
FOR ALL ENTRIES IN it_t134
WHERE object = 'MATERIALNR'
AND nrrangenr = it_t134-numki.
*NUMKI
LOOP AT ta_flatfile ASSIGNING <fs_flatfile>.
IF <fs_flatfile> IS ASSIGNED.
CLEAR:bapi_head ,
bapi_mara ,
bapi_marm,
bapi_marax ,
bapi_makt, "Material Descriptions
bapi_marc , "plant data
bapi_marcx,
bapi_mpop , "forecast view
bapi_mpopx ,
bapi_mpgd , "planning view
bapi_mpgdx ,
bapi_mard , "storage location
bapi_mardx ,
bapi_mbew , "valuation data
bapi_mbewx ,
bapi_mlgn, "warehouse data
bapi_mlgnx ,
bapi_mvke , "sales data
bapi_mvkex ,
bapi_mlgt , "storage data
bapi_mlgtx ,
bapireturn.
REFRESH:git_steuertab[].
CALL FUNCTION 'STEUERTAB_IDENTIFY'
EXPORTING
vkorg = <fs_flatfile>-vkorg
bukrs_vkorg = '1000' "<fs_flatfile>-
BUKRS
vtweg = <fs_flatfile>-vtweg
TABLES
steuertab = git_steuertab
EXCEPTIONS
wrong_call = 1
vkorg_bukrs_not_found = 2
steuertab_empty = 3
OTHERS = 4.
CLEAR wa_tax.
REFRESH git_tax[].
LOOP AT git_steuertab ASSIGNING <fs_steuertab>.
IF <fs_steuertab> IS ASSIGNED.
wa_tax-depcountry = <fs_steuertab>-aland.
wa_tax-tax_type_1 = <fs_steuertab>-tatyp.
wa_tax-taxclass_1 = <fs_flatfile>-taxkm. "1.
wa_tax-tax_ind = <fs_flatfile>-taxim.
APPEND wa_tax TO git_tax.
CLEAR wa_tax.
ENDIF.
ENDLOOP.
**** "***HEADER
"T134 - MATERIAL TYPE AND Number range link table
"NRIV - NUMBER RANGE OBJECTS TABLE
IF <fs_flatfile>-matnr IS INITIAL.
READ TABLE it_t134 INTO wa_t134 WITH KEY mtart = <fs_flatfile>-mtart.
READ TABLE it_nriv INTO wa_nriv WITH KEY object = 'MATERIALNR'
nrrangenr = wa_t134-numki.
CALL FUNCTION 'NUMBER_GET_NEXT'
EXPORTING
nr_range_nr = wa_nriv-nrrangenr
object = wa_nriv-object
quantity = '1'
* SUBOBJECT = ' '
* TOYEAR = '0000'
* IGNORE_BUFFER = ' '
IMPORTING
number = <fs_flatfile>-matnr
* QUANTITY =
* RETURNCODE =
EXCEPTIONS
interval_not_found = 1
number_range_not_intern = 2
object_not_found = 3
quantity_is_0 = 4
quantity_is_not_1 = 5
interval_overflow = 6
buffer_overflow = 7
OTHERS = 8.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
*NUMBER_GET_NEXT
ENDIF.
TRANSLATE <fs_flatfile>-matnr TO UPPER CASE.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = <fs_flatfile>-matnr "material
IMPORTING
output = <fs_flatfile>-matnr. "material.
IF <fs_flatfile>-matnr CA 'QWERTYUIOPASDFGHJKLZXCVBNM'.
<fs_flatfile>-matnr = <fs_flatfile>-matnr.
ELSE.
<fs_flatfile>-matnr = <fs_flatfile>-matnr+22(18).
ENDIF.
* BAPI_HEAD-MATERIAL = <FS_FLATFILE>-MATNR.
bapi_head-material_long = <fs_flatfile>-matnr.
* CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
* EXPORTING
* INPUT = BAPI_HEAD-MATERIAL_LONG "material
* IMPORTING
* OUTPUT = BAPI_HEAD-MATERIAL_LONG. "material.
bapi_head-ind_sector = <fs_flatfile>-mbrsh.
bapi_head-matl_type = <fs_flatfile>-mtart.
bapi_head-basic_view = 'X'.
bapi_head-sales_view = 'X'.
bapi_head-mrp_view = 'X'.
bapi_head-purchase_view = 'X'.
bapi_head-forecast_view = 'X'.
bapi_head-work_sched_view = 'X'.
bapi_head-prt_view = 'X'.
bapi_head-storage_view = 'X'.
bapi_head-warehouse_view = 'X'.
bapi_head-quality_view = 'X'.
bapi_head-account_view = 'X'.
bapi_head-cost_view = 'X'.
"***client specific material data
bapi_mara-matl_group = <fs_flatfile>-matkl.
CALL FUNCTION 'CONVERSION_EXIT_CUNIT_INPUT' """31/03/2018
EXPORTING
input = <fs_flatfile>-meins
language = sy-langu
IMPORTING
output = <fs_flatfile>-meins.
bapi_mara-base_uom = <fs_flatfile>-meins.
TRANSLATE bapi_mara-base_uom TO UPPER CASE.
bapi_mara-extmatlgrp = <fs_flatfile>-extwg.
bapi_mara-division = <fs_flatfile>-spart.
bapi_mara-dsn_office = <fs_flatfile>-labor.
IF <fs_flatfile>-gewei IS INITIAL.
bapi_mara-unit_of_wt = 'KG'.
ELSE.
bapi_mara-unit_of_wt = <fs_flatfile>-gewei.
ENDIF.
bapi_mara-net_weight = <fs_flatfile>-ntgew.
bapi_mara-size_dim = <fs_flatfile>-groes.
bapi_mara-prod_memo = <fs_flatfile>-ferth.
bapi_mara-std_descr = <fs_flatfile>-normt.
bapi_mara-pageformat = <fs_flatfile>-formt.
bapi_mara-pur_valkey = <fs_flatfile>-ekwsl.
bapi_mara-manuf_prof = <fs_flatfile>-mprof.
bapi_mara-manu_mat = <fs_flatfile>-mfrpn.
bapi_mara-mfr_no = <fs_flatfile>-mfrnr.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = bapi_mara-mfr_no
IMPORTING
output = bapi_mara-mfr_no.
bapi_mara-qm_procmnt = <fs_flatfile>-qmpur.
bapi_mara-basic_matl = <fs_flatfile>-wrkst.
bapi_mara-document = <fs_flatfile>-zeinr.
bapi_mara-doc_type = <fs_flatfile>-zeiar.
bapi_mara-doc_vers = <fs_flatfile>-zeivr.
bapi_mara-trans_grp = <fs_flatfile>-tragr.
bapi_mara-item_cat = <fs_flatfile>-mtpos.
bapi_mara-ipmipproduct = <fs_flatfile>-msbookpartno.
bapi_mara-batch_mgmt = <fs_flatfile>-xchpf.
IF <fs_flatfile>-mtart = 'FERT' OR <fs_flatfile>-mtart = 'ZMAT'.
bapi_mara-serialization_level = '1'.
ENDIF.
bapi_mara-temp_conds = <fs_flatfile>-tempb.
bapi_mara-stor_conds = <fs_flatfile>-raube.
""sales genral data 25/01/2018
bapi_mara-sh_mat_typ = <fs_flatfile>-vhart.
bapi_mara-allowed_wt = <fs_flatfile>-ergew.
bapi_mara-pack_wt_un = <fs_flatfile>-ergei.
bapi_mara-allwd_vol = <fs_flatfile>-ervol.
bapi_mara-pack_vo_un = <fs_flatfile>-ervoe.
bapi_mara-wt_tol_lt = <fs_flatfile>-gewto.
bapi_mara-vol_tol_lt = <fs_flatfile>-volto.
bapi_mara-prod_hier = <fs_flatfile>-prdha. "Product hier
archy
bapi_mara-mat_grp_sm = <fs_flatfile>-magrv. "Material Gr
oup Pack "added by Kamesh
"Information on update for CLIENTDATAX
bapi_marax-matl_group = 'X'.
bapi_marax-base_uom = 'X'.
bapi_marax-extmatlgrp = 'X'.
bapi_marax-division = 'X'.
bapi_marax-dsn_office = 'X'.
bapi_marax-unit_of_wt = 'X'.
bapi_marax-net_weight = 'X'.
bapi_marax-size_dim = 'X'.
bapi_marax-prod_memo = 'X'.
bapi_marax-std_descr = 'X'.
bapi_marax-pageformat = 'X'.
bapi_marax-pur_valkey = 'X'.
bapi_marax-manuf_prof = 'X'.
bapi_marax-manu_mat = 'X'.
bapi_marax-mfr_no = 'X'.
bapi_marax-qm_procmnt = 'X'.
bapi_marax-basic_matl = 'X'.
bapi_marax-document = 'X'.
bapi_marax-doc_type = 'X'.
bapi_marax-doc_vers = 'X'.
bapi_marax-trans_grp = 'X'.
bapi_marax-item_cat = 'X'.
bapi_marax-ipmipproduct = 'X'.
bapi_marax-batch_mgmt = 'X'.
IF <fs_flatfile>-mtart = 'FERT' OR <fs_flatfile>-mtart = 'ZMAT'.
bapi_marax-serialization_level = '1'.
ENDIF.
bapi_marax-temp_conds = 'X'.
bapi_marax-stor_conds = 'X'.
bapi_marax-sh_mat_typ = 'X'.
bapi_marax-allowed_wt = 'X'.
bapi_marax-pack_wt_un = 'X'.
bapi_marax-allwd_vol = 'X'.
bapi_marax-pack_vo_un = 'X'.
bapi_marax-wt_tol_lt = 'X'.
bapi_marax-vol_tol_lt = 'X'.
bapi_marax-prod_hier = 'X'.
IF bapi_mara-mat_grp_sm IS NOT INITIAL.
bapi_marax-mat_grp_sm = 'X'.
ENDIF.
bapi_marc-plant = <fs_flatfile>-werks.
bapi_marc-pur_group = <fs_flatfile>-ekgrp.
bapi_marc-auto_p_ord = <fs_flatfile>-kautb.
* bapi_marc-batch_mgmt = <fs_flatfile>-xchpf. "venkatesh
bapi_marc-crit_part = <fs_flatfile>-kzkri.
bapi_marc-abc_id = <fs_flatfile>-maabc.
bapi_marc-fixed_lot = <fs_flatfile>-bstfe.
bapi_marc-bulk_mat = <fs_flatfile>-schgt.
bapi_marc-inhseprodt = <fs_flatfile>-dzeit.
bapi_marc-consummode = <fs_flatfile>-vrmod.
bapi_marc-bwd_cons = <fs_flatfile>-vint1.
bapi_marc-fwd_cons = <fs_flatfile>-vint2.
IF <fs_flatfile>-lzeih = 'DAY'.
bapi_marc-stge_pd_un = 'TAG'.
ENDIF.
bapi_marc-doc_reqd = <fs_flatfile>-kzdkz.
bapi_marc-mrp_type = <fs_flatfile>-dismm.
bapi_marc-mrp_ctrler = <fs_flatfile>-dispo.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = bapi_marc-mrp_ctrler
IMPORTING
output = bapi_marc-mrp_ctrler.
bapi_marc-plnd_delry = <fs_flatfile>-plifz.
bapi_marc-gr_pr_time = <fs_flatfile>-webaz.
bapi_marc-lotsizekey = <fs_flatfile>-disls.
bapi_marc-minlotsize = <fs_flatfile>-bstmi.
bapi_marc-maxlotsize = <fs_flatfile>-bstma.
bapi_marc-sm_key = <fs_flatfile>-fhori.
bapi_marc-safety_stk = <fs_flatfile>-eisbe.
bapi_marc-availcheck = <fs_flatfile>-mtvfp.
bapi_marc-profit_ctr = <fs_flatfile>-prctr.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = bapi_marc-profit_ctr
IMPORTING
output = bapi_marc-profit_ctr.
bapi_marc-reorder_pt = <fs_flatfile>-minbe.
bapi_marc-proc_type = <fs_flatfile>-beskz.
bapi_marc-iss_st_loc = <fs_flatfile>-lgpro.
bapi_marc-sloc_exprc = <fs_flatfile>-lgort.
bapi_marc-backflush = <fs_flatfile>-rgekz.
bapi_marc-dep_req_id = <fs_flatfile>-sbdkz.
bapi_marc-comp_scrap = <fs_flatfile>-kausf. "Component Scrap %
"Added by Kamesh
bapi_marc-loadinggrp = <fs_flatfile>-ladgr.
bapi_marc-spproctype = <fs_flatfile>-sobsl.
bapi_marc-plan_strgp = <fs_flatfile>-strgr.
bapi_marc-prodprof = <fs_flatfile>-sfcpf.
bapi_marc-serno_prof = <fs_flatfile>-sernp.
bapi_marc-ctrl_key = <fs_flatfile>-ssqss.
bapi_marc-stgeperiod = <fs_flatfile>-maxlx.
bapi_marc-cert_type = <fs_flatfile>-qzgtp.
bapi_marc-mrp_group = <fs_flatfile>-disgr.
* bapi_marc-max_stock = <fs_flatfile>-mabst.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = bapi_marc-mrp_group
IMPORTING
output = bapi_marc-mrp_group.
bapi_marc-ctrl_code = <fs_flatfile>-steuc.""THB
bapi_marc-no_costing = <fs_flatfile>-ncost.
bapi_marc-minlotsize = <fs_flatfile>-bstmi.
bapi_marc-maxlotsize = <fs_flatfile>-bstma.
bapi_marc-assy_scrap = <fs_flatfile>-ausss. "Assembly Scrap
% "Added by kamesh
bapi_marc-matfrgtgrp = <fs_flatfile>-mfrgr.
* bapi_marc-SERNO_PROF = <fs_flatfile>-sernp.""THB
bapi_marc-production_scheduler = <fs_flatfile>-fevor. ""Production supe
rvisor
bapi_marc-variance_key = <fs_flatfile>-awsls. ""varience key
bapi_marc-sourcelist = <fs_flatfile>-kordb. "Source List
bapi_marc-max_stock = <fs_flatfile>-mabst.
*** "Information on update for PLANTDATA
bapi_marcx-plant = <fs_flatfile>-werks.
bapi_marcx-pur_group = <fs_flatfile>-ekgrp.
bapi_marcx-auto_p_ord = 'X'.
* bapi_marcx-batch_mgmt = 'X'.
bapi_marcx-serno_prof = 'X'.
bapi_marcx-crit_part = 'X'.
bapi_marcx-abc_id = 'X'.
bapi_marcx-fixed_lot = 'X'.
bapi_marcx-bulk_mat = 'X'.
bapi_marcx-inhseprodt = 'X'.
bapi_marcx-consummode = 'X'.
bapi_marcx-bwd_cons = 'X'.
bapi_marcx-fwd_cons = 'X'.
bapi_marcx-stge_pd_un = 'X'. "venkatesh
bapi_marcx-doc_reqd = 'X'.
IF bapi_marc-mrp_type IS NOT INITIAL.
bapi_marcx-mrp_type = 'X'.
ENDIF.
IF bapi_marc-mrp_ctrler IS NOT INITIAL.
bapi_marcx-mrp_ctrler = 'X'.
ENDIF.
bapi_marcx-plnd_delry = 'X'.
bapi_marcx-gr_pr_time = 'X'. "venkatesh
bapi_marcx-lotsizekey = 'X'.
bapi_marcx-sm_key = 'X'.
bapi_marcx-availcheck = 'X'.
bapi_marcx-profit_ctr = 'X'.
bapi_marcx-reorder_pt = 'X'.
bapi_marcx-max_stock = 'X'.
IF bapi_marc-proc_type IS NOT INITIAL.
bapi_marcx-proc_type = 'X'.
ENDIF.
bapi_marcx-iss_st_loc = 'X'.
bapi_marcx-sloc_exprc = 'X'.
bapi_marcx-dep_req_id = 'X'.
bapi_marcx-comp_scrap = 'X'. "kamesh
bapi_marcx-loadinggrp = 'X'.
bapi_marcx-spproctype = 'X'.
bapi_marcx-plan_strgp = 'X'.
bapi_marcx-prodprof = 'X'.
bapi_marcx-serno_prof = 'X'.
bapi_marcx-safety_stk = 'X'. "venkatesh
bapi_marcx-backflush = 'X'.
bapi_marcx-ctrl_key = 'X'.
bapi_marcx-stgeperiod = 'X'.
bapi_marcx-cert_type = 'X'.
bapi_marcx-mrp_group = 'X'.
bapi_marcx-ctrl_code = 'X'.
bapi_marcx-no_costing = 'X'.
bapi_marcx-minlotsize = 'X'.
bapi_marcx-maxlotsize = 'X'.
bapi_marcx-assy_scrap = 'X'. "kamesh
bapi_marcx-matfrgtgrp = 'X'.
bapi_marcx-production_scheduler = 'X'.
bapi_marcx-variance_key = 'X'.
bapi_marcx-sourcelist = 'X'.
bapi_marcx-max_stock = 'X'.
bapi_marcx-lotsizekey = 'X'.
"STORAGE LOCATION DATA
bapi_mard-plant = <fs_flatfile>-werks.
bapi_mard-stge_loc = <fs_flatfile>-lgort.
bapi_mard-stge_bin = <fs_flatfile>-lgpbe.
bapi_mardx-plant = <fs_flatfile>-werks.
bapi_mardx-stge_loc = <fs_flatfile>-lgort.
bapi_mardx-stge_bin = 'X'.
bapi_mpop-plant = <fs_flatfile>-werks.
bapi_mpop-fore_model = <fs_flatfile>-prmod.
bapi_mpopx-plant = <fs_flatfile>-werks.
bapi_mpopx-fore_model = 'X'.
"Valuation Data
bapi_mbew-val_area = <fs_flatfile>-werks. "'4001'.
* bapi_mbew-val_type = 'IMP'.
bapi_mbew-qty_struct = <fs_flatfile>-ekalr.
bapi_mbew-qty_struct = <fs_flatfile>-ekalr.
bapi_mbew-orig_mat = <fs_flatfile>-hkmat.
bapi_mbew-overhead_grp = <fs_flatfile>-kosgr.
* IF <fs_flatfile>-mtart = 'HALB'.
bapi_mbew-val_class = <fs_flatfile>-bklas.
bapi_mbew-val_cat = <fs_flatfile>-bwtty.
* bapi_mbew-max_stock = <fs_flatfile>-mlast.
bapi_mbew-ml_settle = <fs_flatfile>-mlast.
bapi_mbew-price_ctrl = <fs_flatfile>-vprsv.
bapi_mbew-price_unit = 1. ""<fs_flatfile>-pvprs_1. "venkatesh
IF bapi_mbew-ml_settle = '2' AND bapi_mbew-price_ctrl = 'V'.
bapi_mbew-moving_pr = <fs_flatfile>-pvprs_1.
ELSE.
bapi_mbew-std_price = <fs_flatfile>-stprs.
ENDIF.
bapi_mbew-vclass_pp = <fs_flatfile>-vmbkl.
bapi_mbew-vclass_py = <fs_flatfile>-vjbkl.
* ELSEIF <fs_flatfile>-mtart = 'ZHLB'.
* bapi_mbew-val_class = <fs_flatfile>-bklas.
* bapi_mbew-max_stock = <fs_flatfile>-mlast.
* bapi_mbew-ml_settle = <fs_flatfile>-mlast.
* bapi_mbew-price_ctrl = 'V'. "<fs_flatfile>-vprsv.
* bapi_mbew-price_unit = 1. " <fs_flatfile>-pvprs_1. "venkatesh
* bapi_mbew-moving_pr = <fs_flatfile>-pvprs_1. "stprs.
*
* ELSEIF <fs_flatfile>-mtart = 'ROH'.
* bapi_mbew-val_class = <fs_flatfile>-bklas.
** bapi_marc-max_stock = <fs_flatfile>-mlast.
* bapi_mbew-price_ctrl = 'V'. "<fs_flatfile>-vprsv.
* bapi_mbew-ml_settle = <fs_flatfile>-mlast.
* bapi_mbew-price_unit = 1. "<fs_flatfile>-pvprs_1. "venkatesh
* bapi_mbew-moving_pr = <fs_flatfile>-stprs.
*
* ELSE.
* bapi_mbew-val_class = <fs_flatfile>-bklas.
** bapi_marc-max_stock = <fs_flatfile>-mlast.
* bapi_mbew-ml_settle = <fs_flatfile>-mlast.
* bapi_mbew-price_ctrl = 'S'. "<fs_flatfile>-vprsv.
* bapi_mbew-price_unit = 1. "<fs_flatfile>-pvprs_1. "venkatesh
* bapi_mbew-std_price = <fs_flatfile>-stprs.
*
* ENDIF.
"""Checkbox Structure for BAPI_MBEW
bapi_mbewx-val_area = <fs_flatfile>-werks." <fs_flatfile>-bwkey.
* bapi_mbewx-val_type = 'IMP'. "<fs_flatfile>-bwtar.
bapi_mbewx-val_class = 'X'.
bapi_mbewx-val_cat = 'X'.
bapi_mbewx-qty_struct = 'X'.
bapi_mbewx-orig_mat = 'X'.
bapi_mbewx-std_price = 'X'.
bapi_mbewx-price_unit = 'X'. "venkatesh
bapi_mbewx-price_ctrl = 'X'.
bapi_mbewx-overhead_grp = 'X'.
bapi_mbewx-moving_pr = 'X'.
bapi_mbewx-ml_settle = 'X'.
bapi_mbewx-vclass_pp = 'X'.
bapi_mbewx-vclass_py = 'X'.
""""sales data***
bapi_mvke-sales_org = <fs_flatfile>-vkorg.
bapi_mvke-distr_chan = <fs_flatfile>-vtweg.
* bapi_mvke-delyg_plnt = <fs_flatfile>-werks.
bapi_mvke-item_cat = <fs_flatfile>-mtpos.
bapi_mvke-prod_hier = <fs_flatfile>-prodh.
bapi_mvke-acct_assgt = <fs_flatfile>-ktgrm.
bapi_mvke-mat_pr_grp = <fs_flatfile>-kondm."Material Pricing Group
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = bapi_mvke-acct_assgt
IMPORTING
output = bapi_mvke-acct_assgt.
bapi_mvke-delyg_plnt = <fs_flatfile>-dwerk.
bapi_mvke-matl_stats = <fs_flatfile>-versg.
* bapi_mvke-del_flag = 'X'.
bapi_mvkex-sales_org = <fs_flatfile>-vkorg.
bapi_mvkex-distr_chan = <fs_flatfile>-vtweg.
bapi_mvkex-item_cat = 'X'.
bapi_mvkex-delyg_plnt = 'X'.
bapi_mvkex-acct_assgt = 'X'.
bapi_mvkex-matl_stats = 'X'.
bapi_mvkex-prod_hier = 'X'.
bapi_mvkex-mat_pr_grp = 'X'.
bapi_makt-langu = 'EN'.
bapi_makt-matl_desc = <fs_flatfile>-maktx.
APPEND bapi_makt TO git_matdesc.
CLEAR bapi_makt.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = lv_matnr
IMPORTING
output = lv_matnr.
CALL METHOD cl_matnr_chk_mapper=>convert_on_input
EXPORTING
iv_matnr40 = <fs_flatfile>-matnr
IMPORTING
ev_matnr40 = lv_matnr
EXCEPTIONS
excp_matnr_ne = 1
excp_matnr_invalid_input = 2
OTHERS = 3.
wa_text-applobject = 'MATERIAL'.
wa_text-text_name = lv_matnr.
wa_text-text_id = 'GRUN'.
wa_text-langu = 'E'.
wa_text-langu_iso = 'EN'.
wa_text-format_col = 'X'.
wa_text-text_line = <fs_flatfile>-maktx1.
APPEND wa_text TO git_text.
CLEAR wa_text.
" Sales Text
" Sales Text
wa_text-applobject = 'MVKE'.
CONCATENATE lv_matnr bapi_mvke-sales_org bapi_mvke-distr_chan
INTO wa_text-text_name RESPECTING BLANKS.
wa_text-text_id = '0001'.
wa_text-langu = 'E'.
wa_text-langu_iso = 'EN'.
wa_text-format_col = 'X'.
wa_text-text_line = <fs_flatfile>-stext.
APPEND wa_text TO git_text.
CLEAR wa_text.
" PO Text
wa_text-applobject = 'MATERIAL'.
wa_text-text_name = lv_matnr.
wa_text-text_id = 'BEST'.
wa_text-langu = 'E'.
wa_text-langu_iso = 'EN'.
wa_text-format_col = 'X'.
wa_text-text_line = <fs_flatfile>-potext.
APPEND wa_text TO git_text.
CLEAR wa_text.
*************
IF <fs_flatfile>-meinh IS NOT INITIAL AND
<fs_flatfile>-umren IS NOT INITIAL AND
<fs_flatfile>-umrez IS NOT INITIAL.
bapi_marm-alt_unit = <fs_flatfile>-meinh.
bapi_marm-alt_unit_iso = <fs_flatfile>-meinh.
IF <fs_flatfile>-brgew IS INITIAL.
bapi_marm-gross_wt = '0.00'.
ELSE.
bapi_marm-gross_wt = <fs_flatfile>-brgew.
ENDIF.
IF <fs_flatfile>-gewei IS INITIAL.
bapi_marm-unit_of_wt = 'KG'.
ELSE.
bapi_marm-unit_of_wt = <fs_flatfile>-gewei.
ENDIF.
bapi_marm-volume = <fs_flatfile>-volum.
bapi_marm-volumeunit = <fs_flatfile>-voleh.
bapi_marm-denominatr = <fs_flatfile>-umren.
bapi_marm-numerator = <fs_flatfile>-umrez.
bapi_marm-length = <fs_flatfile>-length.
bapi_marm-width = <fs_flatfile>-width.
bapi_marm-height = <fs_flatfile>-height.
bapi_marm-unit_dim = <fs_flatfile>-unit_dim.
APPEND bapi_marm TO git_uom.
CLEAR bapi_marm.
bapi_marmx-alt_unit = <fs_flatfile>-meinh.
bapi_marmx-alt_unit_iso = <fs_flatfile>-meinh.
bapi_marmx-gross_wt = 'X'.
bapi_marmx-unit_of_wt = 'X'.
bapi_marmx-volume = 'X'.
bapi_marmx-volumeunit = 'X'.
bapi_marmx-denominatr = 'X'.
bapi_marmx-numerator = 'X'.
bapi_marmx-length = 'X'.
bapi_marmx-width = 'X'.
bapi_marmx-height = 'X'.
bapi_marmx-unit_dim = 'X'.
APPEND bapi_marmx TO git_uomx.
CLEAR bapi_marmx.
IF <fs_flatfile>-meinh1 IS NOT INITIAL AND
<fs_flatfile>-umren1 IS NOT INITIAL AND
<fs_flatfile>-umrez1 IS NOT INITIAL.
** for conversions
bapi_marm-alt_unit = <fs_flatfile>-meinh1.
bapi_marm-alt_unit_iso = <fs_flatfile>-meinh1.
bapi_marm-denominatr = <fs_flatfile>-umren1.
bapi_marm-numerator = <fs_flatfile>-umrez1.
APPEND bapi_marm TO git_uom.
CLEAR bapi_marm.
bapi_marmx-alt_unit = <fs_flatfile>-meinh1.
bapi_marmx-alt_unit_iso = <fs_flatfile>-meinh1.
bapi_marmx-gross_wt = 'X'.
bapi_marmx-unit_of_wt = 'X'.
bapi_marmx-volume = 'X'.
bapi_marmx-volumeunit = 'X'.
bapi_marmx-denominatr = 'X'.
bapi_marmx-numerator = 'X'.
APPEND bapi_marmx TO git_uomx.
CLEAR bapi_marmx.
ENDIF.
ENDIF.
wa_parex-structure = 'BAPI_TE_MARA'.
wa_parex-valuepart1+0(40) = <fs_flatfile>-matnr.
wa_parex-valuepart1+40(32) = <fs_flatfile>-ovlpn.
wa_parex-valuepart1+72(1) = <fs_flatfile>-adspc_spc.
wa_parex-valuepart1+73(40) = <fs_flatfile>-msbookpartno. "OMSR
APPEND wa_parex TO git_parex.
CLEAR wa_parex.
wa_parexx-structure = 'BAPI_TE_MARAX'.
wa_parexx-valuepart1+0(40) = <fs_flatfile>-matnr.
wa_parexx-valuepart1+40(1) = 'X'.
wa_parexx-valuepart1+41(1) = 'X'.
wa_parexx-valuepart1+42(1) = 'X'.
APPEND wa_parexx TO git_parexx.
CLEAR wa_parexx.
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
EXPORTING
headdata = bapi_head
clientdata = bapi_mara
clientdatax = bapi_marax
plantdata = bapi_marc
plantdatax = bapi_marcx
forecastparameters = bapi_mpop
forecastparametersx = bapi_mpopx
storagelocationdata = bapi_mard
storagelocationdatax = bapi_mardx
valuationdata = bapi_mbew
valuationdatax = bapi_mbewx
salesdata = bapi_mvke
salesdatax = bapi_mvkex
storagetypedata = bapi_mlgt
storagetypedatax = bapi_mlgtx
IMPORTING
return = bapireturn
TABLES
materialdescription = git_matdesc
unitsofmeasure = git_uom
unitsofmeasurex = git_uomx
materiallongtext = git_text
taxclassifications = git_tax
returnmessages = git_return.
**-> Begin Of Changes NCHOUDHURY 22.10.2016 17:25:13
* extensionin = git_parex
* extensioninx = git_parexx.
**-> End Of Changes NCHOUDHURY | 22.10.2016 17:25:13
IF bapireturn-type = 'S' AND bapireturn-id = 'MM' AND bapireturn-number
= '356'.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
wa_display-sno = <fs_flatfile>-sno.
wa_display-type = bapireturn-type.
wa_display-id = bapireturn-id.
wa_display-number = bapireturn-number.
wa_display-message = bapireturn-message.
wa_display-message_v1 = bapireturn-message_v1.
APPEND wa_display TO it_display.
CLEAR wa_display.
lv_objek = <fs_flatfile>-matnr.
lv_obtxt = <fs_flatfile>-maktx.
**-> Begin Of Changes NCHOUDHURY 22.10.2016 17:25:23
UPDATE mara SET adspc_spc = <fs_flatfile>-adspc_spc
ovlpn = <fs_flatfile>-ovlpn
WHERE matnr = <fs_flatfile>-matnr.
* *-> End Of Changes NCHOUDHURY | 22.10.2016 17:25:23
IF <fs_flatfile>-cv = 'X'.
WAIT UP TO 1 SECONDS.
CALL FUNCTION 'CLFM_OBJECT_CLASSIFICATION'
EXPORTING
class = <fs_flatfile>-class
classtype = <fs_flatfile>-klart
* initflag = 'X'
meins = <fs_flatfile>-meins
no_display = 'X'
object = lv_objek
objtxt = lv_obtxt
ptable = 'MARA'
ref_datuv = sy-datum
status = '1'
table = 'MARA'
bi_dialog = 'X'
EXCEPTIONS
classification_not_found = 1
class_not_found = 2
class_not_valid = 3
foreign_lock = 4
no_multi_classif = 5
system_failure = 6
only_with_change_number = 7
change_nr_not_compatible = 8
no_auth_klart = 9
change_nr_changed = 10
value_not_found = 11
OTHERS = 12.
CALL FUNCTION 'CLAP_DDB_SAVE_CLASSIFICATION'
EXPORTING
with_commit = 'X'.
ENDIF.
*BREAK-POINT.
IF <fs_flatfile>-art = '01' OR <fs_flatfile>-art = '04'.
wa_inspect-function = '009'.
wa_inspect-insptype = <fs_flatfile>-art.
* wa_inspect-material = <fs_flatfile>-matnr.
wa_inspect-material_long = <fs_flatfile>-matnr.
wa_inspect-plant = <fs_flatfile>-werks.
wa_inspect-qual_score_procedure = '06'.
wa_inspect-ind_insptype_mat_active = <fs_flatfile>-aktiv.
wa_inspect-preferred_insptype = <fs_flatfile>-apa. "Prefer
eed Inspection Type "Added by kamesh
wa_inspect-ind_post_to_insp_stock = 'X'.
wa_inspect-ind_insp_with_tsk_list = 'X'.
wa_inspect-ind_auto_assign = 'X'.
wa_inspect-ind_insp_by_charac = 'X'.
wa_inspect-ind_skips_allowed = 'X'.
wa_inspect-ind_automatic_ud = 'X'.
wa_inspect-ind_single_units_possible = 'X'.
APPEND wa_inspect TO it_inspect.
CLEAR wa_inspect.
ELSEIF <fs_flatfile>-art = '03'.
wa_inspect-function = '009'.
wa_inspect-insptype = <fs_flatfile>-art.
* wa_inspect-material = <fs_flatfile>-matnr.
wa_inspect-material_long = <fs_flatfile>-matnr.
wa_inspect-plant = <fs_flatfile>-werks.
wa_inspect-qual_score_procedure = '06'.
wa_inspect-ind_insptype_mat_active = <fs_flatfile>-aktiv.
wa_inspect-preferred_insptype = <fs_flatfile>-apa. "Prefer
eed Inspection Type "Added by kamesh
wa_inspect-ind_insp_with_tsk_list = 'X'.
wa_inspect-ind_insp_by_charac = 'X'.
wa_inspect-ind_skips_allowed = 'X'.
wa_inspect-ind_single_units_possible = 'X'.
APPEND wa_inspect TO it_inspect.
CLEAR wa_inspect.
ELSEIF <fs_flatfile>-art = '89'.
wa_inspect-function = '009'.
wa_inspect-insptype = <fs_flatfile>-art.
* wa_inspect-material = <fs_flatfile>-matnr.
wa_inspect-material_long = <fs_flatfile>-matnr.
wa_inspect-plant = <fs_flatfile>-werks.
wa_inspect-qual_score_procedure = '06'.
wa_inspect-ind_insptype_mat_active = <fs_flatfile>-aktiv.
wa_inspect-preferred_insptype = <fs_flatfile>-apa. "Pref
ereed Inspection Type "Added by kamesh
* wa_inspect-ind_post_to_insp_stock = 'X'.
wa_inspect-ind_insp_with_tsk_list = 'X'.
wa_inspect-ind_auto_assign = 'X'.
wa_inspect-ind_insp_by_charac = 'X'.
wa_inspect-ind_skips_allowed = 'X'.
wa_inspect-ind_automatic_ud = 'X'.
wa_inspect-ind_single_units_possible = 'X'.
APPEND wa_inspect TO it_inspect.
CLEAR wa_inspect.
ENDIF.
CALL FUNCTION 'BAPI_MATINSPCTRL_SAVEREPLICA'
TABLES
return = lit_ret
inspectionctrl = it_inspect.
UPDATE mara SET bismt = <fs_flatfile>-bismt
brgew = <fs_flatfile>-brgew
ovlpn = <fs_flatfile>-ovlpn
msbookpartno = <fs_flatfile>-msbookpartno
WHERE matnr = <fs_flatfile>-matnr.
ELSE.
ROLLBACK WORK. "ADDED BY IBR ON 5.03.2019
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
CLEAR wa_display.
wa_display-sno = <fs_flatfile>-sno.
wa_display-type = bapireturn-type.
wa_display-id = bapireturn-id.
wa_display-number = bapireturn-number.
wa_display-message = bapireturn-message.
wa_display-message_v1 = <fs_flatfile>-matnr.
APPEND wa_display TO it_display.
CLEAR wa_display.
ENDIF.
CALL FUNCTION 'DEQUEUE_ALL'.
IF <fs_flatfile>-vkorg IS INITIAL.
UPDATE mlan SET taxim = <fs_flatfile>-taxim """"TAX IND for material
purchange level 08/11/2017
aland = 'IN'
WHERE matnr = <fs_flatfile>-matnr.
ENDIF.
CLEAR:bapi_head,bapi_mara, bapi_marax,bapi_marc, bapi_marcx,
bapi_mard,bapi_mardx,bapi_mpop, bapi_mpopx,bapireturn,
bapi_mbew,bapi_mbewx,bapi_mvke, bapi_mvkex,lv_objek,lv_obtxt.
REFRESH:git_matdesc,git_uom,git_uomx,git_return,git_tax,
git_text,git_return,git_parex,git_parexx,it_inspect.
ENDIF.
ENDLOOP.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form DISPLAY_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM display_data .
DATA:lt_fieldcat TYPE slis_t_fieldcat_alv,
ls_fieldcat TYPE slis_fieldcat_alv,
lwa_layout TYPE slis_layout_alv.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'SNO'.
ls_fieldcat-seltext_l = 'SNO'.
ls_fieldcat-seltext_m = 'SNO'.
ls_fieldcat-seltext_s = 'SNO'.
APPEND ls_fieldcat TO lt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'TYPE'.
ls_fieldcat-seltext_l = 'Message Type'.
ls_fieldcat-seltext_m = 'Message Type'.
ls_fieldcat-seltext_s = 'Message Type'.
APPEND ls_fieldcat TO lt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'MESSAGE_V1'.
ls_fieldcat-seltext_l = 'Material'.
ls_fieldcat-seltext_m = 'Material'.
ls_fieldcat-seltext_s = 'Material'.
APPEND ls_fieldcat TO lt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'MESSAGE'.
ls_fieldcat-seltext_l = 'Message'.
ls_fieldcat-seltext_m = 'Message'.
ls_fieldcat-seltext_s = 'Message'.
APPEND ls_fieldcat TO lt_fieldcat.
lwa_layout-zebra = 'X'.
lwa_layout-colwidth_optimize = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
is_layout = lwa_layout
it_fieldcat = lt_fieldcat
i_save = 'X'
TABLES
t_outtab = it_display
EXCEPTIONS
program_error = 1
OTHERS = 2.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form CHECK_FILE_PATH
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM check_file_path .
DATA:lv_file TYPE string,
lv_res TYPE char1.
CHECK sy-batch = ' '.
lv_file = p_file.
CALL METHOD cl_gui_frontend_services=>file_exist
EXPORTING
file = lv_file
RECEIVING
result = lv_res
EXCEPTIONS
cntl_error = 1
error_no_gui = 2
wrong_parameter = 3
not_supported_by_gui = 4
OTHERS = 5.
IF lv_res = ' '.
MESSAGE 'Check File Path' TYPE 'E'.
ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form SET_BACKGROUND_JOB
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM set_background_job .
DATA : i_type TYPE truxs_t_text_data.
DATA:ls_file TYPE ta_flatfile.
DATA:lv_file TYPE string.
DATA:lv_file2 TYPE rlgrap-filename.
CHECK pv_bg = 'X'.
* PROCEED ONLY IF ITS A VALID FILETYPE
IF ename EQ 'XLSX' OR ename EQ 'XLS'.
REFRESH ta_flatfile[].
lv_file2 = p_file.
* FM TO UPLOAD DATA INTO INTERNAL TABLE FROM EXCEL
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
i_tab_raw_data = i_type
i_filename = lv_file2
TABLES
i_tab_converted_data = ta_flatfile[]
EXCEPTIONS
conversion_failed = 1
OTHERS = 2.
DELETE ta_flatfile FROM 1 TO 2.
ELSE.
MESSAGE e398(00) WITH 'Invalid File Type' .
ENDIF.
IF ta_flatfile IS INITIAL.
MESSAGE 'No records to upload' TYPE 'E'.
ENDIF.
* CASE sy-sysid.
* WHEN 'AED'.
* lv_file = '/usr/sap/AED/D10/work/ZMAT.txt'.
* WHEN 'AEQ'.
* lv_file = '/usr/sap/AEQ/D20/work/ZMAT.txt'.
* WHEN 'AEP'.
* lv_file = '/usr/sap/AEP/D00/work/ZMAT.txt'.
* ENDCASE.
TRY.
DELETE DATASET lv_file.
OPEN DATASET lv_file FOR OUTPUT IN BINARY MODE.
LOOP AT ta_flatfile INTO ls_file .
TRANSFER ls_file TO lv_file.
ENDLOOP.
CATCH cx_root.
ENDTRY.
CLOSE DATASET lv_file.
DATA:lv_jobcount TYPE tbtcjob-jobcount.
CALL FUNCTION 'JOB_OPEN'
EXPORTING
jobname = 'MATERIAL_CREATION'
IMPORTING
jobcount = lv_jobcount
EXCEPTIONS
cant_create_job = 1
invalid_job_data = 2
jobname_missing = 3
OTHERS = 4.
DATA:lv_authcknam TYPE tbtcjob-authcknam.
lv_authcknam = sy-uname.
CALL FUNCTION 'JOB_SUBMIT'
EXPORTING
authcknam = lv_authcknam
jobcount = lv_jobcount
jobname = 'MATERIAL_CREATION'
report = sy-repid
EXCEPTIONS
bad_priparams = 1
bad_xpgflags = 2
invalid_jobdata = 3
jobname_missing = 4
job_notex = 5
job_submit_failed = 6
lock_failed = 7
program_missing = 8
prog_abap_and_extpg_set = 9
OTHERS = 10.
CALL FUNCTION 'JOB_CLOSE'
EXPORTING
jobcount = lv_jobcount
jobname = 'MATERIAL_CREATION'
strtimmed = 'X'
EXCEPTIONS
cant_start_immediate = 1
invalid_startdate = 2
jobname_missing = 3
job_close_failed = 4
job_nosteps = 5
job_notex = 6
lock_failed = 7
invalid_target = 8
OTHERS = 9.
MESSAGE 'BACKGROUND JOB START' TYPE 'S'.
ENDFORM.