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

GUI_DOWNLOAD problem

Former Member
0 Likes
1,812

Hi

i am using FM GUI_DOWNLOAD to download Material master data to excel file into local drive. program is working fine.when i run this program in Background, job was cancelled. pls help me.

following is my coding

FORM download_data_pc .

DATA: lv_filename TYPE string.

CLEAR lv_filename.

MOVE p_pcfile TO lv_filename.

CALL FUNCTION 'GUI_DOWNLOAD'

EXPORTING

filename = lv_filename

filetype = 'DBF'

write_field_separator = 'X'

  • append = 'r'

  • IMPORTING

  • filelength = lv_file_len

TABLES

data_tab = it_material

EXCEPTIONS

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.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ENDFORM. " DOWNLOAD_DATA_PC

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,589

Hi Kumar,

GUI_DOWNLOAD can't be run in background. Just search SDN lots of threads on the same problem

Regards,

Atish

Hi

i am using FM GUI_DOWNLOAD to download Material master data to excel file into local drive. program is working fine.when i run this program in Background, job was cancelled. pls help me.

following is my coding

FORM download_data_pc .

DATA: lv_filename TYPE string.

CLEAR lv_filename.

MOVE p_pcfile TO lv_filename.

CALL FUNCTION 'GUI_DOWNLOAD'

EXPORTING

filename = lv_filename

filetype = 'DBF'

write_field_separator = 'X'

  • append = 'r'

  • IMPORTING

  • filelength = lv_file_len

TABLES

data_tab = it_material

EXCEPTIONS

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.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ENDFORM. " DOWNLOAD_DATA_PC

9 REPLIES 9
Read only

Former Member
0 Likes
1,590

Hi Kumar,

GUI_DOWNLOAD can't be run in background. Just search SDN lots of threads on the same problem

Regards,

Atish

Read only

Former Member
0 Likes
1,589

Try below code for material master data download:

REPORT ZWAVE1_MATERIAL_EXT_EXCEL

LINE-SIZE 132

LINE-COUNT 65

NO STANDARD PAGE HEADING.

************************************************************************

  • TABLES *

************************************************************************

TABLES: MARA,MARC,MVKE,MBEW,MAKT,T024W,T001W,T001K,MARD,MLGN,

MLGT. . "sdhadi

************************************************************************

  • Constant *

************************************************************************

************************************************************************

  • DATA, WORK AREAS & INTERNAL TABLES *

************************************************************************

DATA: v_ifile LIKE rlgrap-filename,

v_path LIKE rlgrap-filename,

v_repid LIKE syst-repid,

v_header(2000),

v_unix_filename LIKE rlgrap-filename,

v_specdesc(50) TYPE c,

v_secondline(150) TYPE c,

V_TOT_REC TYPE I.

  • IT to store material basic data

DATA: BEGIN OF t_mara OCCURS 0,

matnr LIKE mara-matnr,

MTART LIKE MARA-MTART, "sdhadi

MBRSH LIKE MARA-MBRSH, "sdhadi

BISMT LIKE MARA-BISMT, "Murali Poli

meins LIKE mara-meins,

BSTME LIKE MARA-BSTME, "Murali Poli

matkl LIKE mara-matkl,

GROES LIKE MARA-GROES, "Murali poli

BRGEW LIKE MARA-BRGEW, "Murali Poli

NTGEW LIKE MARA-NTGEW, "Murali Poli

VOLUM LIKE MARA-VOLUM, "Murali Poli

VOLEH LIKE MARA-VOLEH, "Murali Poli

EAN11 LIKE MARA-EAN11, "Murali Poli

NUMTP LIKE MARA-NUMTP, "Murali Poli

prdha LIKE mara-prdha,

tragr LIKE mara-tragr,

ekwsl LIKE mara-ekwsl,

GEWEI LIKE MARA-GEWEI, "sdhadi

VHART LIKE MARA-VHART, "Murali Poli

VABME LIKE MARA-VABME, "Murali Poli

MSTAE LIKE MARA-MSTAE, "Murali Poli

MSTDE LIKE MARA-MSTDE, "Murali Poli

MFRPN LIKE MARA-MFRPN, "Murali Poli 4.6

MFRNR LIKE MARA-MFRNR, "Murali Poli 4.6

MPROF LIKE MARA-MPROF, "Murali Poli 4.6

ILOOS LIKE MARA-ILOOS, "Murali Poli 4.6

END OF t_mara.

  • IT to store material plant data

DATA: BEGIN OF t_marc OCCURS 0,

matnr LIKE marc-matnr,

werks LIKE marc-werks,

MMSTA LIKE MARC-MMSTA, "Murali Poli

PLIFZ LIKE MARC-PLIFZ, "Murali Poli

WEBAZ LIKE MARC-WEBAZ, "Murali Poli

AUSSS LIKE MARC-AUSSS, "Murali Poli

SOBSL LIKE MARC-SOBSL, "sdhadi

MINBE LIKE MARC-MINBE , "Murali Poli

EISBE LIKE MARC-EISBE , "Murali Poli

BSTMA LIKE MARC-BSTMA , "Murali Poli

MABST LIKE MARC-MABST , "Murali Poli

KZAUS LIKE MARC-KZAUS, "Murali Poli

AUSDT LIKE MARC-AUSDT , "Murali Poli

NFMAT LIKE MARC-NFMAT, "Murali Poli

KZBED LIKE MARC-KZBED, "sdhadi

FHORI LIKE MARC-FHORI, "sdhadi

DZEIT LIKE MARC-DZEIT , "Murali Poli

ATPKZ LIKE MARC-ATPKZ , "Murali Poli

ladgr LIKE marc-ladgr,

STAWN LIKE MARC-STAWN, "sdhadi

KAUTB LIKE MARC-KAUTB, "Murali Poli

KORDB LIKE MARC-KORDB, "Murali Poli

HERKL LIKE MARC-HERKL, "sdhadi

HERKR LIKE MARC-HERKR, "Murali Poli

MTVER LIKE MARC-MTVER, "Murali Poli

prctr LIKE marc-prctr,

ekgrp LIKE marc-ekgrp,

usequ LIKE marc-usequ,

LGPRO LIKE MARC-LGPRO,

disgr LIKE marc-disgr,

KAUSF LIKE MARC-KAUSF, "Murali Poli

dismm LIKE marc-dismm,

fxhor LIKE marc-fxhor,

dispo LIKE marc-dispo,

disls LIKE marc-disls,

bstmi LIKE marc-bstmi,

rdprf LIKE marc-rdprf,

bstrf LIKE marc-bstrf,

beskz LIKE marc-beskz,

rgekz LIKE marc-rgekz,

fabkz like marc-fabkz, "Murali Poli 4.6

LOSGR LIKE MARC-LOSGR, "Murali Poli

eprio LIKE marc-eprio,

mrppp LIKE marc-mrppp,

perkz LIKE marc-perkz,

mtvfp LIKE marc-mtvfp,

altsl LIKE marc-altsl,

sfepr LIKE marc-sfepr,

sauft LIKE marc-sauft,

RWPRO LIKE MARC-RWPRO, "Murali Poli

ABCIN LIKE MARC-ABCIN, "Murali Poli

awsls LIKE marc-awsls,

XMCNG LIKE MARC-XMCNG, "Murali Poli

PRENG LIKE MARC-PRENG, "Murali Poli

STRGR LIKE MARC-STRGR, "Murali Poli

LGFSB LIKE MARC-LGFSB, "Murali Poli

SHFLG LIKE MARC-SHFLG, "Murali Poli

SHZET LIKE MARC-SHZET, "Murali Poli

MOWNR LIKE MARC-MOWNR, "Murali Poli 4.6

EISLO LIKE MARC-EISLO, "Murali Poli 4.6

END OF t_marc.

  • start sdhadi

DATA: BEGIN OF T_EKORG OCCURS 0,

WERKS LIKE T024W-WERKS,

EKORG LIKE T024W-EKORG,

END OF T_EKORG.

DATA: BEGIN OF T_PLANTS OCCURS 0,

WERKS LIKE MARC-WERKS,

BUKRS LIKE T001-BUKRS,

END OF T_PLANTS.

DATA: BEGIN OF T_MARD OCCURS 0,

MATNR LIKE MARD-MATNR,

WERKS LIKE MARD-WERKS,

LGORT LIKE MARD-LGORT,

  • LGPBE LIKE MARD-LGPBE, "Murali Poli

END OF T_MARD.

DATA: BEGIN OF tbl_file OCCURS 0,

material(18) TYPE c,

END OF tbl_file.

DATA: BEGIN OF tbl_material OCCURS 0,

matnr LIKE marc-matnr,

END OF tbl_material.

  • end sdhadi

  • IT to store material text

DATA: BEGIN OF t_makt OCCURS 0,

matnr LIKE mara-matnr,

SPRAS LIKE MAKT-SPRAS,

maktx LIKE makt-maktx,

END OF t_makt.

  • to store material sales data

DATA:BEGIN OF t_mvke OCCURS 0,

matnr LIKE mvke-matnr,

VKORG LIKE MVKE-VKORG,

VTWEG LIKE MVKE-VTWEG,

VERSG LIKE MVKE-VERSG, "Murali Poli

VRKME LIKE MVKE-VRKME, "Murali Poli

dwerk LIKE mvke-dwerk,

mtpos LIKE mvke-mtpos,

KONDM LIKE MVKE-KONDM, "Murali Poli

KTGRM LIKE MVKE-KTGRM, "Murali Poli

END OF t_mvke.

  • to store material valuation data

DATA: BEGIN OF t_mbew OCCURS 0,

matnr LIKE mbew-matnr,

bwkey LIKE mbew-bwkey,

bwtar LIKE mbew-bwtar,

VPRSV LIKE MBEW-VPRSV,

VERPR LIKE MBEW-VERPR, "Murali Poli

STPRS LIKE MBEW-STPRS,

PEINH LIKE MBEW-PEINH,

bklas LIKE mbew-bklas,

BWPRS LIKE MBEW-BWPRS, "Murali Poli

ZPLP1 LIKE MBEW-ZPLP1, "Murali Poli

ZPLD1 LIKE MBEW-ZPLD1, "Murali Poli

HRKFT LIKE MBEW-HRKFT, "Murali Poli

hkmat LIKE mbew-hkmat,

MLAST LIKE MBEW-MLAST, "sdhadi

EKALR LIKE MBEW-EKALR, "Murali Poli

END OF t_mbew.

  • Start by Murali Poli

*DATA: BEGIN OF T_MLGN OCCURS 0,

  • MATNR LIKE MLGN-MATNR,

  • LGBKZ LIKE MLGN-LGBKZ,

  • LGNUM LIKE MLGN-LGNUM,

  • END OF T_MLGN.

*DATA: BEGIN OF T_MLGT OCCURS 0,

  • MATNR LIKE MLGT-MATNR,

  • LGNUM LIKE MLGT-LGNUM,

  • END OF T_MLGT.

  • End by Murali Poli

DATA: BEGIN OF t_output OCCURS 0,

matnr LIKE mara-matnr,

werks LIKE marc-werks,

BUKRS LIKE T001-BUKRS, "sdhadi

maktx LIKE makt-maktx,

MTART LIKE MARA-MTART, "sdhadi

MBRSH LIKE MARA-MBRSH, "sdhadi

BISMT LIKE MARA-BISMT, "Murali Poli

GEWEI LIKE MARA-GEWEI, "sdhadi

meins LIKE mara-meins,

BSTME LIKE MARA-BSTME, "Murali Poli

matkl LIKE mara-matkl,

GROES LIKE MARA-GROES, "Murali poli

BRGEW(17) , "Murali Poli

NTGEW(17), "Murali Poli

VOLUM(17), "Murali Poli

VOLEH(17), "Murali Poli

EAN11 LIKE MARA-EAN11, "Murali Poli

NUMTP LIKE MARA-NUMTP, "Murali Poli

VHART LIKE MARA-VHART, "Murali Poli

VABME LIKE MARA-VABME, "Murali Poli

MSTAE LIKE MARA-MSTAE, "Murali Poli

MSTDE LIKE MARA-MSTDE, "Murali Poli

prdha LIKE mara-prdha,

  • Start sree commented to adjust feild sequence

  • MFRPN LIKE MARA-MFRPN, "Murali Poli 4.6

  • MFRNR LIKE MARA-MFRNR, "Murali Poli 4.6

  • MPROF LIKE MARA-MPROF, "Murali Poli 4.6

  • ILOOS LIKE MARA-ILOOS, "Murali Poli 4.6

  • end sree

LGORT LIKE MARD-LGORT, "sdhadi

  • LGPBE LIKE MARD-LGPBE, "Murali Poli

tragr LIKE mara-tragr,

ekwsl LIKE mara-ekwsl,

ladgr LIKE marc-ladgr,

PRCTR LIKE MARC-PRCTR,

VKORG LIKE MVKE-VKORG, "sdhadi

VTWEG LIKE MVKE-VTWEG, "sdhadi

EKORG LIKE T024W-EKORG, "sdhadi

ekgrp LIKE marc-ekgrp,

usequ LIKE marc-usequ,

disgr LIKE marc-disgr,

dismm LIKE marc-dismm,

fxhor LIKE marc-fxhor,

dispo LIKE marc-dispo,

disls LIKE marc-disls,

BSTMI(17),

STAWN LIKE MARC-STAWN, "sdhadi

HERKL LIKE MARC-HERKL, "sdhadi

SOBSL LIKE MARC-SOBSL, "sdhadi

KZBED LIKE MARC-KZBED, "sdhadi

FHORI LIKE MARC-FHORI, "sdhadi

LGPRO LIKE MARC-LGPRO, "sdhadi

MMSTA LIKE MARC-MMSTA, "Murali Poli

PLIFZ(7), "Murali Poli

WEBAZ(7), "Murali Poli

AUSSS(9), "Murali Poli

MINBE(17) , "Murali Poli

EISBE(17) , "Murali Poli

BSTMA(17), "Murali Poli

MABST(17) , "Murali Poli

KZAUS LIKE MARC-KZAUS, "Murali Poli

AUSDT LIKE MARC-AUSDT , "Murali Poli

NFMAT LIKE MARC-NFMAT, "Murali Poli

DZEIT(7) , "Murali Poli

ATPKZ LIKE MARC-ATPKZ , "Murali Poli

KAUTB LIKE MARC-KAUTB, "Murali Poli

KORDB LIKE MARC-KORDB, "Murali Poli

HERKR LIKE MARC-HERKR, "Murali Poli

MTVER LIKE MARC-MTVER, "Murali Poli

KAUSF(9), "Murali Poli

LOSGR(17), "Murali Poli

RWPRO LIKE MARC-RWPRO, "Murali Poli

ABCIN LIKE MARC-ABCIN, "Murali Poli

XMCNG LIKE MARC-XMCNG, "Murali Poli

PRENG LIKE MARC-PRENG, "Murali Poli

STRGR LIKE MARC-STRGR, "Murali Poli

LGFSB LIKE MARC-LGFSB, "Murali Poli

SHFLG LIKE MARC-SHFLG, "Murali Poli

SHZET LIKE MARC-SHZET, "Murali Poli

rdprf LIKE marc-rdprf,

bstrf(17),

beskz LIKE marc-beskz,

rgekz LIKE marc-rgekz,

  • fabkz like marc-fabkz, Commented Sree to adjust

eprio LIKE marc-eprio,

mrppp LIKE marc-mrppp,

perkz LIKE marc-perkz,

mtvfp LIKE marc-mtvfp,

altsl LIKE marc-altsl,

sfepr LIKE marc-sfepr,

sauft LIKE marc-sauft,

awsls LIKE marc-awsls,

*start sree commented to adjust

  • MOWNR LIKE MARC-MOWNR, "Murali Poli 4.6

  • EISLO(17), "Murali Poli 4.6

  • end Sree

dwerk LIKE mvke-dwerk,

mtpos LIKE mvke-mtpos,

VERSG LIKE MVKE-VERSG, "Murali Poli

VRKME LIKE MVKE-VRKME, "Murali Poli

KONDM LIKE MVKE-KONDM, "Murali Poli

KTGRM LIKE MVKE-KTGRM, "Murali Poli

bklas LIKE mbew-bklas,

hkmat LIKE mbew-hkmat,

MLAST LIKE MBEW-MLAST, "sdhadi

VPRSV LIKE MBEW-VPRSV,

VERPR(15), "Murali Poli

BWPRS(15), "Murali Poli

ZPLP1(15), "Murali Poli

ZPLD1 LIKE MBEW-ZPLD1, "Murali Poli

HRKFT LIKE MBEW-HRKFT, "Murali Poli

EKALR LIKE MBEW-EKALR, "Murali Poli

  • LGBKZ LIKE MLGN-LGBKZ, "Murali Poli

  • LGNUM LIKE MLGN-LGNUM, "Murali Poli

stprs(14),

peinh(5),

  • start sree added all the above commented feilds.

MFRPN LIKE MARA-MFRPN,

MFRNR LIKE MARA-MFRNR,

MPROF LIKE MARA-MPROF,

ILOOS LIKE MARA-ILOOS,

fabkz like marc-fabkz,

MOWNR LIKE MARC-MOWNR,

EISLO(17),

  • end sree

END OF t_output.

  • final internal table

DATA: BEGIN OF tbl_final OCCURS 0,

RECORD(7000),

END OF tbl_final.

----


  • S E L E C T - O P T I O N S / P A R A M E T E R S *

----


  • start Sdhadi

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS: R_ALLMAT RADIOBUTTON GROUP 004.

SELECTION-SCREEN COMMENT 4(42) TEXT-103.

SELECTION-SCREEN END OF LINE.

  • end sdhadi

SELECT-OPTIONS: S_MATNR FOR MARC-MATNR.

  • start Sdhadi

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS: R_MATFIL RADIOBUTTON GROUP 004.

SELECTION-SCREEN COMMENT 4(42) TEXT-104.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN POSITION 4.

PARAMETERS: r_matapp RADIOBUTTON GROUP 003.

SELECTION-SCREEN COMMENT 7(40) text-105.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN POSITION 4.

PARAMETERS p_appnam LIKE filename-fileextern

DEFAULT '/usr/sap/data/ice/matfile.txt'.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN POSITION 4.

PARAMETERS: r_matpre RADIOBUTTON GROUP 003.

SELECTION-SCREEN COMMENT 7(40) text-106.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN POSITION 4.

PARAMETERS P_PRENAM LIKE RLGRAP-FILENAME.

SELECTION-SCREEN END OF LINE.

  • end sdhadi

SELECT-OPTIONS: S_WERKS FOR MARC-WERKS OBLIGATORY.

parameters p_delim(1) default ','.

SELECTION-SCREEN SKIP 2.

PARAMETERS: p_serv RADIOBUTTON GROUP rad1.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.

PARAMETERS: p_path LIKE rlgrap-filename

DEFAULT '/usr/sap/data/ice/conversions/'.

PARAMETERS: P_IFILE LIKE RLGRAP-FILENAME.

SELECTION-SCREEN END OF BLOCK b1.

SELECTION-SCREEN SKIP.

PARAMETERS: p_locl RADIOBUTTON GROUP rad1.

SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.

PARAMETERS: p_lfile LIKE rlgrap-filename.

SELECTION-SCREEN END OF BLOCK b2.

----


  • A T - S E L E C T I O N - S C R E E N *

----


*AT SELECTION-SCREEN ON s_werks.

  • PERFORM multiple_plant_code_check(z_delphi_security_checks)

  • TABLES s_werks

  • USING ' '

  • '03'

  • 'X'

  • ' '.

*create file search for desktop files

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_lfile.

PERFORM get_filename.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_prenam.

V_REPID = SY-REPID.

CALL FUNCTION 'KD_GET_FILENAME_ON_F4'

EXPORTING

program_name = v_repid

CHANGING

file_name = p_prenam

EXCEPTIONS

mask_too_long = 1

OTHERS = 2.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

----


  • T O P - O F - P A G E

----


TOP-OF-PAGE.

v_specdesc = syst-title.

v_secondline = syst-repid.

PERFORM DELPHI_HEADER(ZHEADFOT)

USING v_specdesc

v_secondline

syst-linsz.

----


  • S T A R T - O F - S E L E C T I O N *

----


START-OF-SELECTION.

  • get the material.

PERFORM GET_MATERIAL_FROM_FILE.

  • get all the data.

PERFORM GET_DATA.

  • Prepare final internal table.

PERFORM FINAL_TABLE.

  • start sree

perform filter_data.

  • end sree

  • fill the header record.

PERFORM header.

  • down load data.

PERFORM download.

  • print output to the screen.

DESCRIBE TABLE t_output LINES v_tot_rec.

IF p_locl = 'X'.

WRITE:/ 'Total No. Of records', v_tot_rec,

'downloaded to', p_lfile.

ELSE.

WRITE:/ 'Total No. Of records', v_tot_rec,

'downloaded to', v_unix_filename.

ENDIF.

&----


*& Form get_filename

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM get_filename.

CALL FUNCTION 'WS_FILENAME_GET'

EXPORTING

def_filename = p_lfile

def_path = 'c:\'

mask = ',.,..'

mode = 'O'

TITLE = TEXT-002

IMPORTING

filename = p_lfile

  • RC =

EXCEPTIONS

inv_winsys = 1

no_batch = 2

selection_cancel = 3

selection_error = 4

OTHERS = 5.

ENDFORM. " get_filename

&----


*& Form header

&----


  • append header record

----


FORM header.

CONCATENATE

'Material ID'

'Plant'

'Company Code' "sdhadi

'Material Description'

'Material Type' "sdhadi

'Industry Sector' "sdhadi

'Old material number' "Murali Poli

'Weight Unit' "sdhadi

'UOM'

'Order unit (purchasing)' "Murali Poli

'Material Goup'

'Size/dimensions' "Murali Poli

'Gross weight' "Murali Poli

'Net weight' "Murali Poli

'Volume' "Murali Poli

'Volume unit' "Murali Poli

'International Article Number' "Murali Poli

'Number category of Internation' "Murali Poli

'Shipping material type' "Murali Poli

'Variable order unit active' "Murali Poli

'General material status' "Murali Poli

'Date from which the gen. mat' "Murali Poli

'Product Hierarchy'

  • start sree comented to adjusted with 3.1i

  • 'Manufacturer part number' "Murali Poli 4.6

  • 'Manufacturer number' "Murali Poli 4.6

  • 'Mfr part profile' "Murali Poli 4.6

  • 'Indicator: In bulk/liquid' "Murali Poli 4.6

  • end sree

'Storage Location'

  • 'Storage bin' "Murali Poli

'Transportation Goup'

'Purchasing value key'

'Loading group'

'Profit center'

'Sales Org' "sdhadi

'Distribution channel' "sdhadi

'Purchase Org' "sdhadi

'Purchasing group'

'Quota Arrangement Usage'

'MRP group'

'MRP Type'

'Planning Time fence'

'MRP Controller'

'LOT size'

'Min. Lot Size'

'Commodity Code' "Sdhadi

'Country of Origin' "Sdhadi

'Special Procurement' "Sdhadi

'Requirement Type' "Sdhadi

'Schedule Margin key' "Sdhadi

'Issue. Storage loc' "Sdhadi

'Plant-Specific Material Status' "Murali Poli

'Planned delivery time in days' "Murali Poli

'Processing time for goods receipt in days' "Murali Poli

'Assembly Scrap' "Murali Poli

'Reorder point (BTCI)' "Murali Poli

'Safety stock (BTCI)' "Murali Poli

'Maximum lot size (BTCI)' "Murali Poli

'Maximum stock level' "Murali Poli

'Discontinuation indicator' "Murali Poli

'Effective-out date (BTCI)' "Murali Poli

'Follow-up material' "Murali Poli

'In-house production time (BTCI)' "Murali Poli

'Replacement part' "Murali Poli

'Indicator: automatic purchase order allowed' "Murali Poli

'Indicator: Source list requirement' "Murali Poli

'Region of origin of material (non-preferential origin)' "Murali

'Export/import material group' "Murali Poli

'Component scrap in percent (BTCI)' "Murali Poli

'Lot size of product cost estimate (BTCI)' "Murali Poli

'Range of coverage profile' "Murali Poli

'Physical inventory indicator for cycle counting' "Murali Poli

'Negative stocks allowed in plant' "Murali Poli

'Indicator: Vendor declaration exists' "Murali Poli

'Strategy group' "Murali Poli

'Default storage location for external procurement' "Murali

'Safety time indicator (with or without safety time)'"Murali Poli

'Safety time in workdays(for data transfer)' "Murali Poli

'Rounding Profile'

'Rounding value'

'Procurement Type'

'Back Flush'

  • 'JIT schedule indicator' "Murali Poli 4.6 By sree

'Stock Det. Group'

'Planning calendar'

'Period indicator'

'Availability check'

'Selection Method'

'REM Profile'

'Repetitive Manufacturing Indicator'

'Variance Key'

  • start Sree comment

  • 'CAP: Number of CAP products list' "Murali Poli 4.6

  • 'Lower Limit for Safety Stock (BCTI)' "Murali Poli 4.6

  • end sree

'Delivering Plant'

'Item category group'

'Material statistic group' "Murali Poli

'Sales unitSALES' "Murali Poli

'Material Pricing Group' "Murali Poli

'Account assignment group' "Murali Poli

  • 'Material group 1' "Murali Poli

  • 'Material group 2' "Murali Poli

'Valuation class'

'Material Origin'

'Price determination'

'Price control'

'Moving average price (BTCI)' "Murali Poli

'Valuation price based on tax law (BTCI)' "Murali Poli

'Planned price 1 (BTCI)' "Murali Poli

'Planned Price Date 1 (BTCI)' "Murali Poli

'Origin group freight' "Murali Poli

'Material is costed with quantity structure' "Murali Poli

  • 'Storage section indicator' "Murali Poli

  • 'Warehouse number/complex' "Murali Poli

'Std. Price'

'Price Unit'

  • start sree add all 6 commented feild

'Manufacturer part number'

'Manufacturer number'

'Mfr part profile'

'Indicator: In bulk/liquid'

'JIT schedule indicator'

'CAP: Number of CAP products list'

'Lower Limit for Safety Stock (BCTI)'

  • end sree

INTO tbl_final-record SEPARATED BY p_delim.

APPEND tbl_final.

ENDFORM. " header

&----


*& Form download

&----


  • Subroutine to download

----


FORM download.

IF NOT t_output[] IS INITIAL.

LOOP AT t_output.

CLEAR tbl_final.

t_output-vtweg = '10'."DIST

perform dw.

append tbl_final.

t_output-vtweg = '30'."DIST

perform dw.

append tbl_final. "to duplicate the record with distribution chl.

CLEAR: tbl_final, t_output.

ENDLOOP.

ENDIF.

IF p_locl = 'X'.

  • Download to PC file.

CALL FUNCTION 'WS_DOWNLOAD'

EXPORTING

filename = p_lfile

filetype = 'ASC'

TABLES

data_tab = tbl_final.

ELSE.

CLEAR v_unix_filename.

CONCATENATE p_path p_ifile INTO v_unix_filename.

DELETE DATASET v_unix_filename.

  • Open Unix file

OPEN DATASET v_unix_filename FOR OUTPUT IN TEXT MODE.

  • Issue error message

IF sy-subrc NE 0.

  • message e009. " Error while getting the file name

WRITE:/ text-006. "Error while opening/writing the file unix server

STOP.

ENDIF.

LOOP AT tbl_final.

TRANSFER tbl_final TO v_unix_filename.

CLEAR tbl_final.

ENDLOOP.

  • Close the Unix file

CLOSE DATASET v_unix_filename.

ENDIF.

ENDFORM. " download

&----


*& Form GET_DATA

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GET_DATA.

  • Get all the materials for plants

IF R_MATFIL EQ 'X'.

IF NOT TBL_MATERIAL[] IS INITIAL.

SELECT

MATNR

werks

MMSTA "Murali Poli

PLIFZ "Murali Poli

WEBAZ "Murali Poli

AUSSS "Murali Poli

SOBSL

MINBE "Murali Poli

EISBE "Murali Poli

BSTMA "Murali Poli

MABST "Murali Poli

KZAUS "Murali Poli

AUSDT "Murali Poli

NFMAT "Murali Poli

KZBED

FHORI

DZEIT "Murali Poli

ATPKZ "Murali Poli

ladgr

STAWN

KAUTB "Murali Poli

KORDB "Murali Poli

HERKL

HERKR "Murali Poli

MTVER "Murali Poli

prctr

ekgrp

usequ

LGPRO

disgr

KAUSF "Murali Poli

dismm

fxhor

dispo

disls

bstmi

rdprf

bstrf

beskz

rgekz

fabkz "Murali Poli 4.6c

LOSGR "Murali Poli

eprio

mrppp

perkz

mtvfp

altsl

sfepr

sauft

RWPRO "Murali Poli

ABCIN "Murali Poli

awsls

XMCNG "Murali Poli

PRENG "Murali Poli

STRGR "Murali Poli

LGFSB "Murali Poli

SHFLG "Murali Poli

SHZET "Murali Poli

MOWNR "Murali Poli 4.6

EISLO "Murali Poli 4.6

INTO TABLE t_marc FROM marc

FOR ALL ENTRIES IN TBL_MATERIAL

WHERE MATNR = TBL_MATERIAL-MATNR AND

WERKS IN S_WERKS AND

LVORM EQ SPACE.

IF sy-subrc = 0.

SORT t_marc BY matnr.

ELSE.

MESSAGE S000(0) WITH 'No data for the selection criteria'.

ENDIF.

ENDIF.

ELSE.

SELECT

MATNR

werks

MMSTA "Murali Poli

PLIFZ "Murali Poli

WEBAZ "Murali Poli

AUSSS "Murali Poli

SOBSL

MINBE "Murali Poli

EISBE "Murali Poli

BSTMA "Murali Poli

MABST "Murali Poli

KZAUS "Murali Poli

AUSDT "Murali Poli

NFMAT "Murali Poli

KZBED

FHORI

DZEIT "Murali Poli

ATPKZ "Murali Poli

LADGR

STAWN

KAUTB "Murali Poli

KORDB "Murali Poli

HERKL

HERKR "Murali Poli

MTVER "Murali Poli

prctr

ekgrp

usequ

LGPRO

disgr

KAUSF "Murali Poli

dismm

fxhor

dispo

disls

bstmi

rdprf

bstrf

beskz

rgekz

fabkz "sdhadi 4.6c

LOSGR "Murali Poli

eprio

mrppp

perkz

mtvfp

altsl

sfepr

sauft

RWPRO "Murali Poli

ABCIN "Murali Poli

awsls

XMCNG "Murali Poli

PRENG "Murali Poli

STRGR "Murali Poli

LGFSB "Murali Poli

SHFLG "Murali Poli

SHZET "Murali Poli

MOWNR EISLO "Murali Poli 4.6

INTO TABLE t_marc FROM marc

WHERE matnr IN s_matnr AND

WERKS IN S_WERKS AND

LVORM EQ SPACE.

IF sy-subrc = 0.

SORT t_marc BY matnr.

ELSE.

MESSAGE S000(0) WITH 'No data for the selection criteria'.

ENDIF.

ENDIF.

  • start sdhadi

IF NOT T_MARC[] IS INITIAL.

  • get the purchase organisations from t024w.

SELECT WERKS EKORG FROM T024W INTO TABLE T_EKORG

WHERE WERKS IN S_WERKS.

IF SY-SUBRC = 0.

SORT T_EKORG BY WERKS.

ENDIF.

  • get the plants and corresponding company codes

SELECT P~WERKS AS WERKS C~BUKRS AS BUKRS INTO TABLE T_PLANTS

FROM ( t001w AS p INNER JOIN t001k AS c

ON C~BWKEY = P~BWKEY ).

IF SY-SUBRC = 0.

SORT T_PLANTS.

ENDIF.

  • material plant storage location

SELECT MATNR WERKS LGORT

  • LGPBE "Murali Poli

FROM MARD INTO TABLE T_MARD

FOR ALL ENTRIES IN T_MARC

WHERE MATNR = T_MARC-MATNR AND

WERKS = T_MARC-WERKS.

IF SY-SUBRC = 0.

SORT T_MARD BY MATNR WERKS.

ENDIF.

  • end sdhadi

  • get material basic data

SELECT MATNR

MTART MBRSH "sdhadi

BISMT "Murali Poli

meins

BSTME "Murali Poli

matkl

GROES "Murali poli

BRGEW "Murali Poli

NTGEW "Murali Poli

VOLUM "Murali Poli

VOLEH "Murali Poli

EAN11 "Murali Poli

NUMTP "Murali Poli

prdha

tragr

EKWSL

GEWEI "sdhadi

VHART "Murali Poli

VABME "Murali Poli

MSTAE "Murali Poli

MSTDE "Murali Poli

MFRPN MFRNR MPROF "Murali Poli 4.6

ILOOS "Murali Poli 4.6

FROM mara INTO TABLE t_mara

FOR ALL ENTRIES IN t_marc

WHERE MATNR = T_MARC-MATNR AND

LVORM EQ SPACE.

IF sy-subrc = 0.

SORT t_mara BY matnr.

ENDIF.

  • get material text

SELECT MATNR SPRAS MAKTX FROM MAKT

INTO TABLE t_makt

FOR ALL ENTRIES IN t_mara

WHERE matnr = t_mara-matnr.

IF sy-subrc = 0.

SORT t_makt BY matnr.

ENDIF.

  • get material sales data

SELECT MATNR VKORG VTWEG "sdhadi

VERSG VRKME "Murali Poli

dwerk

mtpos

KONDM KTGRM "Murali Poli

FROM MVKE INTO TABLE T_MVKE

FOR ALL ENTRIES IN t_mara

WHERE matnr = t_mara-matnr.

IF sy-subrc = 0.

SORT t_mvke BY matnr.

ENDIF.

  • get material accounting data

SELECT

matnr

bwkey

bwtar

VPRSV

VERPR "Murali Poli

STPRS

PEINH

bklas

BWPRS ZPLP1 ZPLD1 HRKFT "Murali Poli

hkmat

MLAST "Sdhadi

EKALR "Murali Poli

FROM MBEW INTO TABLE T_MBEW

FOR ALL ENTRIES IN t_marc

WHERE matnr = t_marc-matnr AND

bwkey = t_marc-werks.

IF sy-subrc = 0.

SORT t_mbew BY matnr bwkey.

ENDIF.

  • Start by Murali Poli

  • get Warehouse data

  • SELECT

  • MATNR

  • LGBKZ LGNUM

  • FROM MLGN INTO TABLE T_MLGN

  • FOR ALL ENTRIES IN T_MARC

  • WHERE MATNR = T_MARC-MATNR.

  • IF SY-SUBRC = 0.

  • SORT T_MLGN BY MATNR LGNUM .

  • ENDIF.

*

  • SELECT

  • MATNR

  • LGTYP

  • FROM MLGT INTO TABLE T_MLGT

  • FOR ALL ENTRIES IN T_MARC

  • WHERE MATNR = T_MARC-MATNR.

  • IF SY-SUBRC = 0.

  • SORT T_MLGT BY MATNR LGNUM LGTYP.

  • ENDIF.

ENDIF.

ENDFORM. " GET_DATA

&----


*& Form FINAL_TABLE

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM FINAL_TABLE.

IF NOT t_marc[] IS INITIAL.

LOOP AT t_marc.

MOVE: t_marc-matnr TO t_output-matnr,

t_marc-werks TO t_output-werks,

t_marc-ladgr TO t_output-ladgr,

t_marc-prctr TO t_output-prctr,

t_marc-ekgrp TO t_output-ekgrp,

t_marc-usequ TO t_output-usequ,

t_marc-disgr TO t_output-disgr,

t_marc-dismm TO t_output-dismm,

t_marc-fxhor TO t_output-fxhor,

t_marc-dispo TO t_output-dispo,

t_marc-disls TO t_output-disls,

t_marc-bstmi TO t_output-bstmi,

t_marc-rdprf TO t_output-rdprf,

t_marc-bstrf TO t_output-bstrf,

t_marc-beskz TO t_output-beskz,

t_marc-rgekz TO t_output-rgekz,

t_marc-fabkz TO t_output-fabkz, "sdhadi 4.6c

t_marc-eprio TO t_output-eprio,

t_marc-mrppp TO t_output-mrppp,

t_marc-perkz TO t_output-perkz,

t_marc-mtvfp TO t_output-mtvfp,

t_marc-altsl TO t_output-altsl,

t_marc-sfepr TO t_output-sfepr,

t_marc-sauft TO t_output-sauft,

T_MARC-AWSLS TO T_OUTPUT-AWSLS,

  • Start Murali Poli

T_MARC-MMSTA TO T_OUTPUT-MMSTA,

T_MARC-PLIFZ TO T_OUTPUT-PLIFZ,

T_MARC-WEBAZ TO T_OUTPUT-WEBAZ,

T_MARC-AUSSS TO T_OUTPUT-AUSSS,

T_MARC-MINBE TO T_OUTPUT-MINBE,

T_MARC-EISBE TO T_OUTPUT-EISBE,

T_MARC-BSTMA TO T_OUTPUT-BSTMA,

T_MARC-MABST TO T_OUTPUT-MABST,

T_MARC-KZAUS TO T_OUTPUT-KZAUS,

T_MARC-AUSDT TO T_OUTPUT-AUSDT,

T_MARC-NFMAT TO T_OUTPUT-NFMAT,

T_MARC-DZEIT TO T_OUTPUT-DZEIT,

T_MARC-ATPKZ TO T_OUTPUT-ATPKZ,

T_MARC-KAUTB TO T_OUTPUT-KAUTB,

T_MARC-KORDB TO T_OUTPUT-KORDB,

T_MARC-HERKR TO T_OUTPUT-HERKR,

T_MARC-MTVER TO T_OUTPUT-MTVER,

T_MARC-KAUSF TO T_OUTPUT-KAUSF,

T_MARC-LOSGR TO T_OUTPUT-LOSGR,

T_MARC-RWPRO TO T_OUTPUT-RWPRO,

T_MARC-ABCIN TO T_OUTPUT-ABCIN,

T_MARC-XMCNG TO T_OUTPUT-XMCNG,

T_MARC-PRENG TO T_OUTPUT-PRENG,

T_MARC-STRGR TO T_OUTPUT-STRGR,

T_MARC-LGFSB TO T_OUTPUT-LGFSB,

T_MARC-SHFLG TO T_OUTPUT-SHFLG,

T_MARC-SHZET TO T_OUTPUT-SHZET,

T_MARC-MOWNR TO T_OUTPUT-MOWNR, "Murali Poli 4.6

T_MARC-EISLO TO T_OUTPUT-EISLO, "Murali Poli 4.6

*End Murali Poli

*start sdhadi

T_MARC-STAWN TO T_OUTPUT-STAWN,

T_MARC-HERKL TO T_OUTPUT-HERKL,

T_MARC-SOBSL TO T_OUTPUT-SOBSL,

T_MARC-KZBED TO T_OUTPUT-KZBED,

T_MARC-FHORI TO T_OUTPUT-FHORI,

T_MARC-LGPRO TO T_OUTPUT-LGPRO.

READ TABLE T_PLANTS WITH KEY WERKS = T_MARC-WERKS BINARY SEARCH.

IF SY-SUBRC = 0.

MOVE:T_PLANTS-BUKRS TO T_OUTPUT-BUKRS.

ENDIF.

READ TABLE T_EKORG WITH KEY WERKS = T_MARC-WERKS BINARY SEARCH.

IF SY-SUBRC = 0.

MOVE:T_EKORG-EKORG TO T_OUTPUT-EKORG.

ENDIF.

  • end sdhadi

READ TABLE t_mara WITH KEY matnr = t_marc-matnr

BINARY SEARCH.

IF sy-subrc = 0.

MOVE:t_mara-meins TO t_output-meins,

t_mara-matkl TO t_output-matkl,

t_mara-prdha TO t_output-prdha,

t_mara-tragr TO t_output-tragr,

T_MARA-EKWSL TO T_OUTPUT-EKWSL,

T_MARA-MTART TO T_OUTPUT-MTART,"sdhadi

T_MARA-MBRSH TO T_OUTPUT-MBRSH,"sdhadi

T_MARA-GEWEI TO T_OUTPUT-GEWEI,"sdhadi

*Start by Murali Poli

T_MARA-BISMT TO T_OUTPUT-BISMT,

T_MARA-BSTME TO T_OUTPUT-BSTME,

T_MARA-GROES TO T_OUTPUT-GROES,

T_MARA-BRGEW TO T_OUTPUT-BRGEW,

T_MARA-NTGEW TO T_OUTPUT-NTGEW,

T_MARA-VOLUM TO T_OUTPUT-VOLUM,

T_MARA-VOLEH TO T_OUTPUT-VOLEH,

T_MARA-EAN11 TO T_OUTPUT-EAN11,

T_MARA-NUMTP TO T_OUTPUT-NUMTP,

T_MARA-VHART TO T_OUTPUT-VHART,

T_MARA-VABME TO T_OUTPUT-VABME,

T_MARA-MSTAE TO T_OUTPUT-MSTAE,

T_MARA-MSTDE TO T_OUTPUT-MSTDE,

T_MARA-MFRPN TO T_OUTPUT-MFRPN, "Murali Poli 4.6

T_MARA-MFRNR TO T_OUTPUT-MFRNR, "Murali Poli 4.6

T_MARA-MPROF TO T_OUTPUT-MPROF, "Murali Poli 4.6

T_MARA-ILOOS TO T_OUTPUT-ILOOS. "Murali Poli 4.6

*End by Murali Poli

ENDIF.

READ TABLE t_mbew WITH KEY matnr = t_marc-matnr

bwkey = t_marc-werks

BINARY SEARCH.

IF sy-subrc = 0.

MOVE: T_MBEW-BKLAS TO T_OUTPUT-BKLAS,

T_MBEW-HKMAT TO T_OUTPUT-HKMAT,

T_MBEW-VPRSV TO T_OUTPUT-VPRSV,

T_MBEW-STPRS TO T_OUTPUT-STPRS,

T_MBEW-PEINH TO T_OUTPUT-PEINH,

T_MBEW-MLAST TO T_OUTPUT-MLAST, "sdhadi

T_MBEW-VERPR TO T_OUTPUT-VERPR, "Murali Poli

T_MBEW-BWPRS TO T_OUTPUT-BWPRS, "Murali Poli

T_MBEW-ZPLP1 TO T_OUTPUT-ZPLP1, "Murali Poli

T_MBEW-ZPLD1 TO T_OUTPUT-ZPLD1, "Murali Poli

T_MBEW-HRKFT TO T_OUTPUT-HRKFT, "Murali Poli

T_MBEW-EKALR TO T_OUTPUT-EKALR. "Murali Poli

ENDIF.

READ TABLE T_MVKE WITH KEY MATNR = T_MARC-MATNR

BINARY SEARCH.

IF sy-subrc = 0.

MOVE: t_mvke-dwerk TO t_output-dwerk,

T_MVKE-MTPOS TO T_OUTPUT-MTPOS,

T_MVKE-VKORG TO T_OUTPUT-VKORG,

T_MVKE-VTWEG TO T_OUTPUT-VTWEG,

T_MVKE-VERSG TO T_OUTPUT-VERSG, "Murali Poli

T_MVKE-VRKME TO T_OUTPUT-VRKME, "Murali Poli

T_MVKE-KONDM TO T_OUTPUT-KONDM, "Murali Poli

T_MVKE-KTGRM TO T_OUTPUT-KTGRM. "Murali Poli

ENDIF.

  • Start by Murali Poli

  • READ TABLE T_MLGN WITH KEY MATNR = T_MARC-MATNR

  • BINARY SEARCH.

  • IF SY-SUBRC = 0.

  • MOVE: T_MLGN-LGBKZ TO T_OUTPUT-LGBKZ,

  • T_MLGN-LGNUM TO T_OUTPUT-LGNUM.

  • T_MLGN-LTKZA TO T_OUTPUT-LTKZA,

  • T_MLGN-LTKZE TO T_OUTPUT-LTKZE.

  • ENDIF.

  • READ TABLE T_MLGT WITH KEY MATNR = T_MARC-MATNR

  • BINARY SEARCH.

  • IF SY-SUBRC = 0.

  • MOVE T_MLGT-LGTYP TO T_OUTPUT-LGTYP.

  • ENDIF.

  • End by Murali Poli

READ TABLE t_makt WITH KEY matnr = t_marc-matnr

SPRAS = 'E'

BINARY SEARCH.

IF sy-subrc = 0.

MOVE t_makt-maktx TO t_output-maktx.

ELSE.

READ TABLE T_MAKT WITH KEY MATNR = T_MARC-MATNR.

MOVE T_MAKT-MAKTX TO T_OUTPUT-MAKTX.

ENDIF.

READ TABLE T_MARD WITH KEY MATNR = T_MARC-MATNR

WERKS = T_MARC-WERKS BINARY SEARCH.

IF SY-SUBRC = 0.

LOOP AT T_MARD WHERE MATNR = T_MARC-MATNR

AND WERKS = T_MARC-WERKS.

MOVE: T_MARD-LGORT TO T_OUTPUT-LGORT.

  • T_MARD-LGPBE TO T_OUTPUT-LGPBE. "Murali Poli

APPEND T_OUTPUT.

ENDLOOP.

ELSE.

APPEND t_output.

ENDIF.

CLEAR: t_output,t_marc.

ENDLOOP.

ENDIF.

ENDFORM. " FINAL_TABLE

&----


*& Form GET_MATERIAL_FROM_FILE

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GET_MATERIAL_FROM_FILE.

DATA: v_msg(100) TYPE c.

IF r_matfil EQ 'X'.

IF r_matapp EQ 'X'.

  • PERFORM open_dataset USING p_appnam 'I' 'T' 1.

OPEN DATASET p_appnam FOR INPUT IN TEXT MODE MESSAGE v_msg.

CHECK syst-subrc = 0.

DO.

READ DATASET p_appnam INTO tbl_file.

IF syst-subrc <> 0.

EXIT.

ELSE.

APPEND tbl_file.

CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'

EXPORTING

input = tbl_file-material

IMPORTING

output = tbl_material-matnr

EXCEPTIONS

number_not_found = 1

OTHERS = 2.

CHECK syst-subrc = 0.

APPEND tbl_material.

CLEAR: tbl_file, tbl_material.

ENDIF.

ENDDO.

CLOSE DATASET p_appnam.

ELSE.

CALL FUNCTION 'WS_UPLOAD'

EXPORTING

filename = p_prenam

filetype = 'ASC'

TABLES

data_tab = tbl_file

EXCEPTIONS

conversion_error = 1

file_open_error = 2

file_read_error = 3

invalid_type = 4

no_batch = 5

unknown_error = 6

invalid_table_width = 7

gui_refuse_filetransfer = 8

customer_error = 9

OTHERS = 10.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

LOOP AT tbl_file.

CLEAR tbl_material.

CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'

EXPORTING

input = tbl_file-material

IMPORTING

output = tbl_material-matnr

EXCEPTIONS

number_not_found = 1

OTHERS = 2.

CHECK syst-subrc = 0.

APPEND tbl_material.

ENDLOOP.

ENDIF.

ENDIF.

ENDFORM. " GET_MATERIAL_FROM_FILE

&----


*& Form dw

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM dw.

CONCATENATE

t_output-matnr

t_output-werks

T_OUTPUT-BUKRS "sdhadi

T_OUTPUT-MAKTX

T_OUTPUT-MTART "sdhadi

T_OUTPUT-MBRSH "sdhadi

T_OUTPUT-BISMT "Murali Poli

T_OUTPUT-GEWEI "sdhadi

t_output-meins

T_OUTPUT-BSTME "Murali Poli

t_output-matkl

T_OUTPUT-GROES "Murali poli

T_OUTPUT-BRGEW "Murali Poli

T_OUTPUT-NTGEW "Murali Poli

T_OUTPUT-VOLUM "Murali Poli

T_OUTPUT-VOLEH "Murali Poli

T_OUTPUT-EAN11 "Murali Poli

T_OUTPUT-NUMTP "Murali Poli

T_OUTPUT-VHART "Murali Poli

T_OUTPUT-VABME "Murali Poli

T_OUTPUT-MSTAE "Murali Poli

T_OUTPUT-MSTDE "Murali Poli

t_output-prdha

  • start sree commented to adjust with 3.1i

  • t_output-MFRPN "Murali Poli 4.6

  • t_output-MFRNR "Murali Poli 4.6

  • t_output-MPROF "Murali Poli 4.6

  • t_output-ILOOS "Murali Poli

  • end sree

T_OUTPUT-LGORT "sdhadi

  • T_OUTPUT-LGPBE "Murali Poli

t_output-tragr

t_output-ekwsl

t_output-ladgr

t_output-prctr

T_OUTPUT-VKORG "sdhadi

T_OUTPUT-VTWEG "sdhadi

T_OUTPUT-EKORG "sdhadi

t_output-ekgrp

t_output-usequ

t_output-disgr

t_output-dismm

t_output-fxhor

t_output-dispo

t_output-disls

t_output-bstmi

T_OUTPUT-STAWN "sdhadi

T_OUTPUT-HERKL "sdhadi

T_OUTPUT-SOBSL "sdhadi

T_OUTPUT-KZBED "sdhadi

T_OUTPUT-FHORI "sdhadi

T_OUTPUT-LGPRO "sdhadi

T_OUTPUT-MMSTA "Murali Poli

T_OUTPUT-PLIFZ "Murali Poli

T_OUTPUT-WEBAZ "Murali Poli

T_OUTPUT-AUSSS "Murali Poli

T_OUTPUT-MINBE "Murali Poli

T_OUTPUT-EISBE "Murali Poli

T_OUTPUT-BSTMA "Murali Poli

T_OUTPUT-MABST "Murali Poli

T_OUTPUT-KZAUS "Murali Poli

T_OUTPUT-AUSDT "Murali Poli

T_OUTPUT-NFMAT "Murali Poli

T_OUTPUT-DZEIT "Murali Poli

T_OUTPUT-ATPKZ "Murali Poli

T_OUTPUT-KAUTB "Murali Poli

T_OUTPUT-KORDB "Murali Poli

T_OUTPUT-HERKR "Murali Poli

T_OUTPUT-MTVER "Murali Poli

T_OUTPUT-KAUSF "Murali Poli

T_OUTPUT-LOSGR "Murali Poli

T_OUTPUT-RWPRO "Murali Poli

T_OUTPUT-ABCIN "Murali Poli

T_OUTPUT-XMCNG "Murali Poli

T_OUTPUT-PRENG "Murali Poli

T_OUTPUT-STRGR "Murali Poli

T_OUTPUT-LGFSB "Murali Poli

T_OUTPUT-SHFLG "Murali Poli

T_OUTPUT-SHZET "Murali Poli

T_OUTPUT-RDPRF

t_output-bstrf

t_output-beskz

t_output-rgekz

  • t_output-fabkz "Murali Poli 4.6 Sree adjust

t_output-eprio

t_output-mrppp

t_output-perkz

t_output-mtvfp

t_output-altsl

t_output-sfepr

t_output-sauft

t_output-awsls

  • T_OUTPUT-MOWNR "Murali Poli 4.6 Sree adjust

  • T_OUTPUT-EISLO "Murali Poli 4.6 sree adjust

t_output-dwerk

t_output-mtpos

T_OUTPUT-VERSG "Murali Poli

T_OUTPUT-VRKME "Murali Poli

T_OUTPUT-KONDM "Murali Poli

T_OUTPUT-KTGRM "Murali Poli

t_output-bklas

t_output-hkmat

T_OUTPUT-MLAST "sdhadi

t_output-vprsv

T_OUTPUT-VERPR "Murali Poli

T_OUTPUT-BWPRS "Murali Poli

T_OUTPUT-ZPLP1 "Murali Poli

T_OUTPUT-ZPLD1 "Murali Poli

T_OUTPUT-HRKFT "Murali Poli

T_OUTPUT-EKALR "Murali Poli

  • T_OUTPUT-LGBKZ "Murali Poli

  • T_OUTPUT-LGNUM "Murali Poli

t_output-stprs

t_output-peinh

  • start sree to add all the commented feilds

t_output-MFRPN

t_output-MFRNR

t_output-MPROF

t_output-ILOOS

t_output-fabkz

T_OUTPUT-MOWNR

T_OUTPUT-EISLO

  • end sree

INTO tbl_final-record SEPARATED BY p_delim.

ENDFORM. " dw

&----


*& Form filter_data

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM filter_data.

data: t_output_tmp like t_output occurs 0 with header line.

if not t_output[] is initial.

sort t_output by matnr werks.

clear:t_output_tmp,t_output.

refresh t_output_tmp.

loop at t_output.

clear t_output_tmp.

if t_output-werks = '0010'.

move-corresponding t_output to t_output_tmp.

append t_output_tmp.

clear:t_output_tmp,t_output.

else.

read table t_output_tmp with key matnr = t_output-matnr

werks = '0010'.

if sy-subrc NE 0.

move-corresponding t_output to t_output_tmp.

append t_output_tmp.

clear:t_output_tmp,t_output.

endif.

endif.

endloop.

refresh t_output.

t_output[] = t_output_tmp[].

endif.

ENDFORM. " filter_data

Reward points..

Read only

Former Member
0 Likes
1,589

Use opendata set to set the background job for the program.

THIS fm will not be useful while you are setting the background job.

REGARDS,

madan.

Read only

Former Member
0 Likes
1,589

Hi Kumar,

There is one limitation of this download and upload FMs ...

We can not use it in Background...

So ... Because of this limitation on FMs ur background job is getting cancelled...

Try out alternative ways to get it done...

Better you use OPEN DATASET CLOSE DATASET and write the data in Application server.

Or if you are generating a List then it will create Spool when executed in Background. Which you can download later from SP01.

Please go through the following link for implementing download of a file in background.

http://sapabap.iespana.es/sap/info/rfcexec/rfcexec_e.htm

Also have a look on below link...

http://www.sap-img.com/ab003.htm

Hope it will solve your problem..

Reward points if useful..

Thanks & Regards

ilesh 24x7

Read only

Former Member
0 Likes
1,589

Hi All

i am trying to do the following way.it is going to dump. Pls advise me, if i am wrong

FORM download_data_pc .

DATA: lv_filename TYPE string.

CLEAR lv_filename.

MOVE p_pcfile TO lv_filename.

if p_locl = 'X'.

CALL FUNCTION 'GUI_DOWNLOAD'

EXPORTING

filename = lv_filename

filetype = 'DBF'

write_field_separator = 'X'

  • append = 'r'

  • IMPORTING

  • filelength = lv_file_len

TABLES

data_tab = it_material

EXCEPTIONS

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.

IF sy-subrc <> 0.

ENDIF.

Else.

open dataset lv_filename for output in text mode encoding default.

if sy-subrc = 0.

loop at it_material.

transfer it_material to lv_filename.

endloop.

close dataset lv_filename.

endif.

endif.

ENDFORM. " DOWNLOAD_DATA_PC

Read only

0 Likes
1,589

Hi

Following is the error message

Short text

The current statement is only defined for character-type data objects.

What happened?

Error in the ABAP Application Program

The current ABAP program "ZAA" had to be terminated because it has

come across a statement that unfortunately cannot be executed.

Error analysis

For the statement

"TRANSFER f TO ..."

only character-type data objects are supported at the argument position

"f".

In this case. the operand "f" has the non-character-type "u". The

current program is a Unicode program. In the Unicode context, the type

'X' or structures containing not only character-type components are

regarded as non-character-type.

Read only

0 Likes
1,589

Hi

Following is my entire code.

Pls help me very urgent

TABLES: mara,marce,makt,marc,mvke,zmpkg,t005t,cdhdr.

TYPE-POOLS: slis. "ALV Declarations

DATA : BEGIN OF it_mara OCCURS 0,

mandt LIKE mara-mandt, "Client

matnr LIKE mara-matnr,

meins LIKE mara-meins,

laeda LIKE sy-datum,

aenam LIKE mara-aenam,

END OF it_mara.

DATA : BEGIN OF it_marc OCCURS 0,

matnr LIKE marc-matnr,

werks LIKE marc-werks,

END OF it_marc.

DATA : BEGIN OF it_makt OCCURS 0,

matnr LIKE makt-matnr,

maktx LIKE makt-maktx,

END OF it_makt.

DATA : BEGIN OF it_zmpkg OCCURS 0,

matnr LIKE makt-matnr,

zppqt LIKE zmpkg-zppqt,

zspqt LIKE zmpkg-zspqt,

zpmqt_3 LIKE zmpkg-zpmqt_3,

END OF it_zmpkg .

DATA : BEGIN OF it_material OCCURS 0,

mandt LIKE mara-mandt, "Client

werks LIKE marc-werks,

matnr LIKE marc-matnr,

maktx LIKE makt-maktx,

meins LIKE mara-meins,

zppqt LIKE zmpkg-zppqt,

zspqt LIKE zmpkg-zspqt,

zpmqt_3 LIKE zmpkg-zpmqt_3,

laeda LIKE sy-datum,

  • laeda LIKE mara-laeda,

aenam LIKE mara-aenam,

date LIKE sy-datum,

time LIKE sy-uzeit,

user LIKE sy-uname,

file(150),

END OF It_material.

DATA : BEGIN OF lt_material OCCURS 0,

mandt LIKE mara-mandt, "Client

werks LIKE marc-werks,

matnr LIKE marc-matnr,

maktx LIKE makt-maktx,

meins LIKE mara-meins,

zppqt LIKE zmpkg-zppqt,

zspqt LIKE zmpkg-zspqt,

zpmqt_3 LIKE zmpkg-zpmqt_3,

laeda LIKE sy-datum,

  • laeda LIKE mara-laeda,

aenam LIKE mara-aenam,

date LIKE sy-datum,

time LIKE sy-uzeit,

user LIKE sy-uname,

file(150),

END OF Lt_material.

*ALV data declarations

DATA :gi_fieldcatalog TYPE slis_t_fieldcat_alv WITH HEADER LINE,

gi_layout TYPE slis_layout_alv,

gi_repid LIKE sy-repid,

gi_events TYPE slis_t_event,

gi_prntparams TYPE slis_print_alv.

DATA: it_sort TYPE slis_t_sortinfo_alv,

wa_sort TYPE slis_sortinfo_alv.

DATA: lw_header TYPE slis_t_listheader,

lw_line TYPE slis_listheader,

t_line LIKE lw_line-info,

ld_lines TYPE i,

ld_linesc(10) TYPE c.

DATA: BEGIN OF it_zmmm OCCURS 0.

  • receipt conf line merge table

INCLUDE STRUCTURE zmmm.

DATA : END OF it_zmmm.

************************************************************************

  • P a r a m e t e r s *

************************************************************************

*

  • Start of tabbed screens

*

SELECTION-SCREEN BEGIN OF TABBED BLOCK list FOR 20 LINES.

SELECTION-SCREEN TAB (30) gc_gen USER-COMMAND gen_tab

DEFAULT SCREEN 1001.

SELECTION-SCREEN TAB (30) gc_outp USER-COMMAND outp_tab

DEFAULT SCREEN 1003.

SELECTION-SCREEN END OF BLOCK list.

SELECTION-SCREEN BEGIN OF SCREEN 1001 AS SUBSCREEN.

SELECTION-SCREEN BEGIN OF BLOCK box01 WITH FRAME TITLE text-401.

*

PARAMETERS : p_werks LIKE marc-werks OBLIGATORY.

PARAMETERS : p_vkorg LIKE mvke-vkorg OBLIGATORY.

*

SELECT-OPTIONS : s_matnr FOR mara-matnr.

SELECT-OPTIONS : s_mtart FOR mara-mtart.

SELECT-OPTIONS : s_mmsta FOR marc-mmsta. "A01

SELECT-OPTIONS : s_dispo FOR marc-dispo.

SELECT-OPTIONS : s_beskz FOR marc-beskz.

SELECT-OPTIONS : s_lgpro FOR marc-lgpro.

SELECT-OPTIONS : s_lgfsb FOR marc-lgfsb.

SELECTION-SCREEN END OF BLOCK box01.

SELECTION-SCREEN END OF SCREEN 1001.

SELECTION-SCREEN BEGIN OF SCREEN 1003 AS SUBSCREEN.

SELECTION-SCREEN BEGIN OF BLOCK box04 WITH FRAME TITLE text-402.

PARAMETERS : p_vari LIKE ltdxt-variant. " OBLIGATORY.

*

SELECTION-SCREEN SKIP.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(31) text-009.

PARAMETERS: p_report RADIOBUTTON GROUP sel1 DEFAULT 'X'.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(31) text-016.

PARAMETERS : p_repcoo RADIOBUTTON GROUP sel1.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(31) text-017.

PARAMETERS : p_reppak RADIOBUTTON GROUP sel1.

SELECTION-SCREEN END OF LINE.

*

SELECTION-SCREEN SKIP.

SELECTION-SCREEN BEGIN OF LINE.

*SELECTION-SCREEN COMMENT 1(31) text-008.

*PARAMETERS: p_extun RADIOBUTTON GROUP sel1.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN SKIP.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(31) text-007.

PARAMETERS: p_extpc RADIOBUTTON GROUP sel1.

SELECTION-SCREEN END OF LINE.

PARAMETERS: p_pcfile LIKE rlgrap-filename

DEFAULT 'D:\PCCCPPPPXXX_YYYYMMDD_HHMMSS.XLS'.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(40) text-015.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN SKIP.

PARAMETERS: p_locl RADIOBUTTON GROUP rad1.

PARAMETERS: p_back RADIOBUTTON GROUP rad1.

SELECTION-SCREEN END OF BLOCK box04.

SELECTION-SCREEN END OF SCREEN 1003.

************************************************************************

  • F i e l d S y m b o l s *

************************************************************************

FIELD-SYMBOLS: <f>.

************************************************************************

  • D a t a *

************************************************************************

  • common include for file layouts

INCLUDE zvin1010.

AT SELECTION-SCREEN OUTPUT.

LOOP AT SCREEN.

IF screen-name = 'P_PCFILE'.

screen-input = 0.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

************************************************************************

  • I N I T I A L I Z A T I O N *

************************************************************************

INITIALIZATION.

gc_gen = text-401.

gc_outp = text-402.

  • SET up the file directory depending on the system id.

GET PARAMETER ID 'WRK' FIELD p_werks.

GET PARAMETER ID 'VKO' FIELD p_vkorg.

CLEAR s_mtart.

s_mtart-sign = 'E'.

s_mtart-option = 'EQ'.

s_mtart-low = 'ROH'.

  • s_mtart-high = ''.

APPEND s_mtart.

CLEAR s_mtart.

s_mtart-sign = 'E'.

s_mtart-option = 'EQ'.

s_mtart-low = 'MFPK'.

  • s_mtart-high = ''.

APPEND s_mtart.

CLEAR s_mtart.

s_mtart-sign = 'E'.

s_mtart-option = 'EQ'.

s_mtart-low = 'VERP'.

  • s_mtart-high = ''.

APPEND s_mtart.

*at selection-screen on value-request for p_pcfile.

  • perform get-file.

START-OF-SELECTION.

SELECT SINGLE * FROM zmmm INTO it_zmmm . "WHERE werks = p_werks.

IF sy-subrc = 0.

  • set the file name at runtime to prevent file over write

GET TIME.

  • set up the file names 'D:\PCCCPPPPXXX_YYYYMMDD_HHMMSS.XLS'.

REPLACE 'D:\' WITH it_zmmm-lcdrive INTO p_pcfile.

REPLACE 'PCCCPPPPXXX' WITH it_zmmm-prefix INTO p_pcfile.

REPLACE 'YYYYMMDD' WITH sy-datum INTO p_pcfile.

REPLACE 'HHMMSS' WITH sy-uzeit INTO p_pcfile.

ENDIF.

PERFORM get_data.

IF p_extpc = 'X'.

PERFORM download_data_pc.

ENDIF.

PERFORM alv_comment_build USING gt_list_top_of_page[].

PERFORM build_gi_fieldcatalog_detail.

PERFORM build_sort.

PERFORM build_layout.

PERFORM build_events.

PERFORM build_print_params.

PERFORM display_alv_report.

&----


*& Form GET_DATA

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form get_data.

SELECT mandt matnr meins laeda aenam

FROM mara

INTO TABLE it_mara

WHERE matnr IN s_matnr

AND mtart IN s_mtart.

IF NOT it_mara[] IS INITIAL.

SELECT matnr werks

FROM marc

INTO TABLE it_marc

FOR ALL ENTRIES IN it_mara

WHERE matnr = it_mara-matnr

AND werks = p_werks

AND mmsta IN s_mmsta

AND dispo IN s_dispo

AND beskz IN s_beskz

AND lgpro IN s_lgpro

AND lgfsb IN s_lgfsb.

SELECT matnr maktx

FROM makt

INTO TABLE it_makt

FOR ALL ENTRIES IN it_mara

WHERE matnr = it_mara-matnr

AND spras = 'E'.

SELECT matnr zppqt zspqt zpmqt_3

INTO TABLE it_zmpkg

FROM zmpkg

FOR ALL ENTRIES IN it_mara

WHERE matnr = it_mara-matnr

AND werks = p_werks.

ENDIF.

LOOP AT it_mara.

it_material-mandt = it_mara-mandt.

it_material-matnr = it_mara-matnr.

it_material-meins = it_mara-meins.

it_material-laeda = it_mara-laeda.

*CONCATENATE it_mara-laeda0(4) it_mara-laeda4(2) it_mara-laeda+6(2)

*INTO it_mara-laeda

*SEPARATED BY '/'.

it_material-aenam = it_mara-aenam.

it_material-date = sy-datum.

it_material-time = sy-uzeit.

it_material-user = sy-uname.

it_material-file = p_pcfile.

CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT'

EXPORTING

input = it_material-meins

IMPORTING

output = it_material-meins.

READ TABLE it_marc WITH KEY matnr = it_mara-matnr.

IF sy-subrc EQ 0.

it_material-werks = it_marc-werks.

endif.

READ TABLE it_makt WITH KEY matnr = it_mara-matnr.

IF sy-subrc EQ 0.

it_material-maktx = it_makt-maktx.

endif.

READ TABLE it_zmpkg WITH KEY matnr = it_mara-matnr.

IF sy-subrc EQ 0.

it_material-zppqt = it_zmpkg-zppqt.

it_material-zspqt = it_zmpkg-zspqt.

it_material-zpmqt_3 = it_zmpkg-zpmqt_3.

endif.

APPEND it_material.

clear : it_material, it_marc, it_makt, it_zmpkg, it_mara.

ENDLOOP.

ENDFORM. " GET_DATA

&----


*& Form DOWNLOAD_DATA_PC

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM download_data_pc .

DATA: lv_filename TYPE c. "string.

CLEAR lv_filename.

if p_locl = 'X'.

MOVE p_pcfile TO lv_filename.

CALL FUNCTION 'GUI_DOWNLOAD'

EXPORTING

filename = lv_filename

filetype = 'DBF'

write_field_separator = 'X'

  • append = 'r'

  • IMPORTING

  • filelength = lv_file_len

TABLES

data_tab = it_material

EXCEPTIONS

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.

IF sy-subrc <> 0.

ENDIF.

Else.

open dataset P_PCFILE for output in text mode encoding default.

if sy-subrc ne 0.

*MESSAGE text-015 TYPE 'E'.

ENDIF.

*

loop at it_material.

transfer IT_MATERIAL to P_PCFILE.

endloop.

close dataset P_PCFILE.

endif.

ENDFORM. " DOWNLOAD_DATA_PC

&----


*& Form BUILD_GI_FIELDCATALOG_DETAIL

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM build_gi_fieldcatalog_detail .

gi_fieldcatalog-fieldname = 'MANDT'.

gi_fieldcatalog-tabname = 'IT_MATERIAL'.

gi_fieldcatalog-seltext_m = 'Client'.

gi_fieldcatalog-col_pos = 01.

APPEND gi_fieldcatalog TO gi_fieldcatalog.

CLEAR gi_fieldcatalog.

gi_fieldcatalog-fieldname = 'WERKS'.

gi_fieldcatalog-tabname = 'IT_MATERIAL'.

gi_fieldcatalog-seltext_m = 'Plant Code'.

gi_fieldcatalog-col_pos = 02.

APPEND gi_fieldcatalog TO gi_fieldcatalog.

CLEAR gi_fieldcatalog.

gi_fieldcatalog-fieldname = 'MATNR'.

gi_fieldcatalog-tabname = 'IT_MATERIAL'.

gi_fieldcatalog-seltext_m = 'Product Code'.

gi_fieldcatalog-LZERO = ' '.

gi_fieldcatalog-col_pos = 03.

APPEND gi_fieldcatalog TO gi_fieldcatalog.

CLEAR gi_fieldcatalog.

gi_fieldcatalog-fieldname = 'MAKTX'.

gi_fieldcatalog-tabname = 'IT_MATERIAL'.

gi_fieldcatalog-seltext_m = 'Product Description'.

gi_fieldcatalog-col_pos = 04.

APPEND gi_fieldcatalog TO gi_fieldcatalog.

CLEAR gi_fieldcatalog.

gi_fieldcatalog-fieldname = 'MEINS'.

gi_fieldcatalog-tabname = 'IT_MATERIAL'.

gi_fieldcatalog-seltext_m = 'Base Unit of Measure'.

gi_fieldcatalog-col_pos = 05.

APPEND gi_fieldcatalog TO gi_fieldcatalog.

CLEAR gi_fieldcatalog.

gi_fieldcatalog-fieldname = 'ZPPQT'.

gi_fieldcatalog-tabname = 'IT_MATERIAL'.

gi_fieldcatalog-seltext_m = 'Carton Pack Size(Inner)'.

gi_fieldcatalog-col_pos = 06.

APPEND gi_fieldcatalog TO gi_fieldcatalog.

CLEAR gi_fieldcatalog.

gi_fieldcatalog-fieldname = 'ZSPQT'.

gi_fieldcatalog-tabname = 'IT_MATERIAL'.

gi_fieldcatalog-seltext_m = 'Carton Pack Size(Outer)'.

gi_fieldcatalog-col_pos = 07.

APPEND gi_fieldcatalog TO gi_fieldcatalog.

CLEAR gi_fieldcatalog.

gi_fieldcatalog-fieldname = 'ZPMQT_3'.

gi_fieldcatalog-tabname = 'IT_MATERIAL'.

gi_fieldcatalog-seltext_m = 'Carton Pack Size(Ship)'.

gi_fieldcatalog-col_pos = 08.

APPEND gi_fieldcatalog TO gi_fieldcatalog.

CLEAR gi_fieldcatalog.

gi_fieldcatalog-fieldname = 'ZPMQT_3'.

gi_fieldcatalog-tabname = 'IT_MATERIAL'.

gi_fieldcatalog-seltext_m = 'Carton Pack Size(Ship)'.

gi_fieldcatalog-col_pos = 09.

APPEND gi_fieldcatalog TO gi_fieldcatalog.

CLEAR gi_fieldcatalog.

gi_fieldcatalog-fieldname = 'LAEDA'.

gi_fieldcatalog-tabname = 'IT_MATERIAL'.

gi_fieldcatalog-seltext_m = 'MM Last Update Date'.

gi_fieldcatalog-col_pos = 10.

APPEND gi_fieldcatalog TO gi_fieldcatalog.

CLEAR gi_fieldcatalog.

gi_fieldcatalog-fieldname = 'AENAM'.

gi_fieldcatalog-tabname = 'IT_MATERIAL'.

gi_fieldcatalog-seltext_m = 'MM Last Update By'.

gi_fieldcatalog-col_pos = 11.

APPEND gi_fieldcatalog TO gi_fieldcatalog.

CLEAR gi_fieldcatalog.

gi_fieldcatalog-fieldname = 'DATE'.

gi_fieldcatalog-tabname = 'IT_MATERIAL'.

gi_fieldcatalog-seltext_m = 'Extracted Date'.

gi_fieldcatalog-col_pos = 12.

APPEND gi_fieldcatalog TO gi_fieldcatalog.

CLEAR gi_fieldcatalog.

gi_fieldcatalog-fieldname = 'TIME'.

gi_fieldcatalog-tabname = 'IT_MATERIAL'.

gi_fieldcatalog-seltext_m = 'Extracted Time'.

gi_fieldcatalog-col_pos = 13.

APPEND gi_fieldcatalog TO gi_fieldcatalog.

CLEAR gi_fieldcatalog.

gi_fieldcatalog-fieldname = 'USER'.

gi_fieldcatalog-tabname = 'IT_MATERIAL'.

gi_fieldcatalog-seltext_m = 'Extracted By'.

gi_fieldcatalog-col_pos = 14.

APPEND gi_fieldcatalog TO gi_fieldcatalog.

CLEAR gi_fieldcatalog.

gi_fieldcatalog-fieldname = 'FILE'.

gi_fieldcatalog-tabname = 'IT_MATERIAL'.

gi_fieldcatalog-seltext_m = 'File Name'.

gi_fieldcatalog-col_pos = 15.

APPEND gi_fieldcatalog TO gi_fieldcatalog.

CLEAR gi_fieldcatalog.

ENDFORM. " BUILD_GI_FIELDCATALOG_DETAIL

&----


*& Form BUILD_SORT

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM build_sort .

wa_sort-fieldname = 'WERKS'.

wa_sort-tabname = 'IT_MATERIAL'.

wa_sort-up = 'X'.

APPEND wa_sort TO it_sort.

CLEAR wa_sort.

ENDFORM. " BUILD_SORT

&----


*& Form BUILD_LAYOUT

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM build_layout .

gi_layout-no_input = 'X'.

gi_layout-colwidth_optimize = 'X'.

gi_layout-totals_text = 'Totals'(301).

gi_layout-f2code = 'DISP'. "Sets fcode for when double

ENDFORM. " BUILD_LAYOUT

&----


*& Form BUILD_EVENTS

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM build_events .

DATA: ls_event TYPE slis_alv_event.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

i_list_type = 0

IMPORTING

et_events = gi_events[].

READ TABLE gi_events WITH KEY name = slis_ev_end_of_page

INTO ls_event.

IF sy-subrc = 0.

MOVE 'END_OF_PAGE' TO ls_event-form.

APPEND ls_event TO gi_events.

ENDIF.

READ TABLE gi_events WITH KEY name = slis_ev_end_of_list

INTO ls_event.

IF sy-subrc = 0.

MOVE 'END_OF_LIST' TO ls_event-form.

APPEND ls_event TO gi_events.

ENDIF.

ENDFORM. " BUILD_EVENTS

&----


*& Form BUILD_PRINT_PARAMS

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM build_print_params .

gi_prntparams-reserve_lines = '3'. "Lines reserved for footer

gi_prntparams-no_coverpage = 'X'.

ENDFORM. " BUILD_PRINT_PARAMS

&----


*& Form DISPLAY_ALV_REPORT

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM display_alv_report .

gi_repid = sy-repid.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

i_callback_program = gi_repid

i_callback_top_of_page = 'TOP-OF-PAGE' "see FORM

i_callback_user_command = 'USER_COMMAND'

i_grid_title = 'Material Master Item Detail'

is_layout = gi_layout

it_sort = it_sort[]

it_fieldcat = gi_fieldcatalog[]

  • it_special_groups = gd_tabgroup

it_events = gi_events

is_print = gi_prntparams

  • i_save = 'X'

  • is_variant = z_template

TABLES

t_outtab = it_material

EXCEPTIONS

program_error = 1

OTHERS = 2.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

ENDIF.

ENDFORM. " DISPLAY_ALV_REPORT

----


*FORM top-of-page.

*

    • Program Title

  • lw_line-typ = 'H'.

  • lw_line-info = 'ITEM MASTER DATA'.

  • APPEND lw_line TO lw_header.

  • CLEAR lw_line.

*

**Displar Date.

  • lw_line-typ = 'S'.

  • lw_line-key = 'Date: '.

  • CONCATENATE sy-datum+6(2) '/'

  • sy-datum+4(2) '/'

  • sy-datum(4) INTO lw_line-info. "todays date

  • APPEND lw_line TO lw_header.

  • CLEAR: lw_line.

*

  • IF it_material[] IS NOT INITIAL.

  • DESCRIBE TABLE it_material LINES ld_lines.

  • ENDIF.

  • ld_linesc = ld_lines.

  • CONCATENATE 'Total No. of Records Selected: ' ld_linesc

  • INTO t_line SEPARATED BY space.

  • lw_line-typ = 'A'.

  • lw_line-info = t_line.

  • APPEND lw_line TO lw_header.

  • CLEAR: lw_line, t_line.

*

    • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

  • CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

  • EXPORTING

  • it_list_commentary = lw_header

  • i_logo = 'MX100RD'.

*ENDFORM. "top-of-page

----


FORM top-of-page.

clear lw_header.

if p_report = 'X'.

lw_line-typ = 'S'.

lw_line-key = text-018.

lw_line-info = text-009.

append lw_line to lw_header.

clear lw_line.

endif.

  • Program Title

lw_line-typ = 'H'.

lw_line-info = 'ITEM MASTER DATA'.

APPEND lw_line TO lw_header.

CLEAR lw_line.

*Displar Date.

lw_line-typ = 'S'.

lw_line-key = 'Date: '.

CONCATENATE sy-datum+6(2) '/'

sy-datum+4(2) '/'

sy-datum(4) INTO lw_line-info. "todays date

APPEND lw_line TO lw_header.

CLEAR: lw_line.

IF it_material[] IS NOT INITIAL.

DESCRIBE TABLE it_material LINES ld_lines.

ENDIF.

ld_linesc = ld_lines.

CONCATENATE 'Total No. of Records Selected: ' ld_linesc

INTO t_line SEPARATED BY space.

lw_line-typ = 'A'.

lw_line-info = t_line.

APPEND lw_line TO lw_header.

CLEAR: lw_line, t_line.

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

it_list_commentary = lw_header

i_logo = 'MX100RD'.

ENDFORM. "top-of-page

*----


FORM end_of_page.

DATA: listwidth TYPE i,

ld_pagepos(10) TYPE c,

ld_page(10) TYPE c.

WRITE: sy-uline(50).

SKIP.

WRITE:/40 'Page:', sy-pagno .

ENDFORM. "END_OF_PAGE

----


  • FORM alv_layout_init *

----


  • ........ *

----


  • --> rs_layout *

----


FORM alv_layout_init USING rs_layout TYPE slis_layout_alv.

*"Build layout for list display

rs_layout-detail_popup = 'X'.

ENDFORM.

*FORM get-file.

**----


  • CALL FUNCTION 'KD_GET_FILENAME_ON_F4'

  • EXPORTING

  • mask = '.'

  • static = 'X'

  • CHANGING

  • file_name = p_pcfile.

*ENDFORM.

*

*

*----


    • FORM get_variant_list *

*----


    • ........ *

*----


*FORM get_variant_list.

**

  • CLEAR g_alv_variant.

  • g_alv_variant-report = sy-repid.

*

  • CALL FUNCTION 'REUSE_ALV_VARIANT_F4'

  • EXPORTING

  • is_variant = g_alv_variant

  • i_save = 'U'

  • IMPORTING

    • E_EXIT = g_exit

  • es_variant = g_alv_variant

  • EXCEPTIONS

  • not_found = 1

  • program_error = 2

  • OTHERS = 3.

  • IF sy-subrc <> 0.

  • CLEAR g_alv_variant.

  • ELSE.

  • p_vari = g_alv_variant-variant.

  • ENDIF.

*ENDFORM. " GET_VARIANT_LIST

&----


*& Form ALV_COMMENT_BUILD

&----


  • text

----


  • -->P_GT_LIST_TOP_OF_PAGE[] text

----


FORM alv_comment_build USING lt_top_of_page TYPE

slis_t_listheader.

DATA: ls_line TYPE slis_listheader.

*

CLEAR lv_title.

lv_title = text-100.

IF p_report = 'X'.

CLEAR ls_line.

ls_line-typ = 'S'.

ls_line-key = text-018.

ls_line-info = text-009.

APPEND ls_line TO lt_top_of_page.

ENDIF.

IF p_repcoo = 'X'.

CLEAR ls_line.

ls_line-typ = 'S'.

ls_line-key = text-018.

ls_line-info = text-016.

APPEND ls_line TO lt_top_of_page.

ENDIF.

IF p_reppak = 'X'.

CLEAR ls_line.

ls_line-typ = 'S'.

ls_line-key = text-018.

ls_line-info = text-017.

APPEND ls_line TO lt_top_of_page.

ENDIF.

IF p_extpc = 'X'.

CLEAR ls_line.

ls_line-typ = 'S'.

ls_line-key = text-106.

ls_line-info = p_pcfile.

APPEND ls_line TO lt_top_of_page.

ENDIF.

CLEAR ls_line.

ls_line-typ = 'S'.

ls_line-key = text-108.

ls_line-info = lv_dtl01_lines.

APPEND ls_line TO lt_top_of_page.

ENDFORM. " ALV_COMMENT_BUILD

Read only

0 Likes
1,589

Hi Kumar

Change the structure of below table

DATA : BEGIN OF it_material OCCURS 0,

mandt LIKE mara-mandt, "Client

werks LIKE marc-werks,

matnr LIKE marc-matnr,

maktx LIKE makt-maktx,

meins LIKE mara-meins,

zppqt LIKE zmpkg-zppqt,

zspqt LIKE zmpkg-zspqt,

zpmqt_3 LIKE zmpkg-zpmqt_3,

laeda LIKE sy-datum,

laeda LIKE mara-laeda,

aenam LIKE mara-aenam,

date LIKE sy-datum,

time LIKE sy-uzeit,

user LIKE sy-uname,

file(150),

END OF It_material.

instead using LIKE <fieldname> use TYPE c LENGTH <required length>

Regards,

Atish

Read only

0 Likes
1,589

Hi Atish

I am getting spool without output request. pls help me