ALV XLS format problem
In some of the reports when we view the ALV output in xls format(in GUI) the totals are not showing.The total are coming properly in theALV grid format and it is also showing correct when we download it into local file in xls format. Anyone please help me with this problem.
Thx to all in advance
Any filters set, sort criteria, totals calculated and subtotals are not taken into account for the transfer to the spreadsheet.
When you transfer to as local file then file is not generating as excel file its simple TXT only difference is extension will show as XLS, you can open this file in notepad also
a®
Similar Messages
-
Hi Experts
I am writing an ALV report for the following report below , I am not getting the output in the internal table
can anyone correct please
regards
Piroz
REPORT Z_ROLE LINE-SIZE 220 LINE-COUNT 75
NO STANDARD PAGE HEADING.
TABLES : agr_tcodes,
agr_users,
tstct.
TYPE-POOLS : slis.
DATA: repid LIKE sy-repid, "Report ID
is_layout TYPE slis_layout_alv, "Layout For ALV
it_fieldcat TYPE slis_t_fieldcat_alv, "ITAB for field
it_events TYPE slis_t_event, "ITAB for event
it_sub TYPE slis_layout_alv_spec1, "subtotals
i_header TYPE slis_t_listheader, "Itab for listheader
lt_sort TYPE slis_t_sortinfo_alv, "itab for sorting
wa_sort LIKE LINE OF lt_sort." slis_t_sortinfo_alv.
DATA: BEGIN OF itab OCCURS 0 ,
agr_tcodes type agr_tcodes-tcode , " Transaction code A
agr_name type agr_tcodes-agr_name, " Role Name B
END OF itab .
DATA: BEGIN of it_disp Occurs 0 ,
agr_tcodes type agr_tcodes-tcode , " Transaction code A
agr_name type agr_tcodes-agr_name, " Role Name B
agr_uname type agr_users-uname, " Short User Name B
ttext type tstct-ttext, " Description Name C
sprsl type tstct-sprsl , " Language c
END OF it_disp.
*DATA: i_data TYPE TABLE OF ty_data, " internal table
*wa_data TYPE ty_data. " work area
SELECTION-SCREEN BEGIN OF BLOCK blk WITH FRAME.
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: p_tcode FOR agr_tcodes-tcode OBLIGATORY, "no-extension no intervals,
u_name for agr_users-uname,
r_name for agr_users-uname .
SELECTION-SCREEN END OF BLOCK blk1.
SELECTION-SCREEN BEGIN OF BLOCK blk2 WITH FRAME TITLE text-002.
SELECTION-SCREEN END OF BLOCK blk2.
SELECTION-SCREEN END OF BLOCK blk.
START-OF-SELECTION.
PERFORM get_data.
PERFORM modify_data.
PERFORM disp_data .
END-OF-SELECTION.
*& Form get_data
text
--> p1 text
<-- p2 text
FORM get_data .
select agr_tcodestcode agr_tcodesagr_name agr_usersuname tstctttext tstct~sprsl
into table it_disp
from agr_tcodes
inner join agr_users
on agr_tcodesagr_name = agr_usersagr_name
inner join tstct
on agr_tcodestcode = tstcttcode
and
tstct~sprsl eq 'E'.
ENDFORM. "get_data
*& Form modify_data
text
--> p1 text
<-- p2 text
FORM modify_data .
MOVE-CORRESPONDING itab TO it_disp.
APPEND it_disp.
CLEAR it_disp.
ENDFORM. " modify_data
*& Form Disp_data
text
--> p1 text
<-- p2 text
FORM disp_data .
PERFORM fill_layout_structure.
PERFORM fill_field_catalog_table.
PERFORM alv_header USING i_header.
PERFORM call_alv_function.
ENDFORM. " Disp_data
*& Form fill_layout_structure
text
--> p1 text
<-- p2 text
FORM fill_layout_structure .
CLEAR is_layout.
is_layout-colwidth_optimize = 'X'.
is_layout-zebra = 'X'.
is_layout-no_input = 'X'.
is_layout-colwidth_optimize = 'X'.
is_layout-totals_text = 'Totals'(201).
is_layout-totals_only = 'X'.
is_layout-zebra = 'X'.
is_layout-group_change_edit = 'X'.
is_layout-header_text = 'Wagners Users Transaction Code'.
ENDFORM. " fill_layout_structure
*& Form fill_field_catalog_table
text
--> p1 text
<-- p2 text
FORM fill_field_catalog_table .
DATA : gls1(10).
BREAK-POINT.
PERFORM fill_field_catalog USING :
'agr_tcode' 'Trans Code .' '10' 'IT_DISP' space space 'C11' ' ' ' ',
'agr_name' 'Name' '40' 'IT_FINAL' space space 'C11' ' ' ' ' ,
'agr_uname' 'Role' '60' 'IT_FINAL' space space 'C11' 'X' ' ',
'ttext' 'Descript' '80' 'IT_FINAL' space space 'C11' ' ' ' '.
ENDFORM. " fill_field_catalog_table
*& Form fill_field_catalog
text
FORM fill_field_catalog USING f d l t s z y a b.
DATA t_fld TYPE slis_fieldcat_alv.
STATICS pos LIKE sy-index VALUE 0.
pos = pos + 1.
CLEAR t_fld.
MOVE 1 TO t_fld-row_pos.
MOVE pos TO t_fld-col_pos.
MOVE f TO t_fld-fieldname.
MOVE d TO t_fld-seltext_m.
MOVE l TO t_fld-outputlen.
MOVE t TO t_fld-tabname.
MOVE s TO t_fld-do_sum.
MOVE z TO t_fld-no_zero.
MOVE y TO t_fld-emphasize.
MOVE a TO t_fld-no_out.
MOVE b TO t_fld-no_sum.
APPEND t_fld TO it_fieldcat.
ENDFORM. " fill_field_catalog
*& Form alv_header
text
-->P_I_HEADER text
FORM alv_header USING p_i_header.
DATA: wa_line TYPE slis_listheader.
CLEAR wa_line.
wa_line-typ = 'H'.
wa_line-info = 'Wagners Investment'.
APPEND wa_line TO i_header.
ENDFORM. " alv_header
*& Form call_alv_function
text
--> p1 text
<-- p2 text
FORM call_alv_function .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = REPID
I_CALLBACK_PF_STATUS_SET = ' '
IS_LAYOUT = IS_LAYOUT
IT_FIELDCAT = IT_FIELDCAT
TABLES
t_outtab = IT_DISP.
IF sy-subrc eq 0.
ENDIF.
ENDFORM. " call_alv_functionHi Venkat
Thanks a lot for correcting and sending me the format , Now I can manage to change the other reports too.
I have one more report which is bashing my head like anything , This is basically a fuel calculation report for managment , I want to change this too in ALV FORMAT, I did all my efforts to correct but it is looping inside as i close the report.
Thanks in Advanced
REPORT Z_ESLP_ZFCR1 LINE-SIZE 220 LINE-COUNT 75
NO STANDARD PAGE HEADING.
TABLES : equi,
equz,
imptt,
imrg,
eqkt,
iloa.
type-pools: slis. "ALV Declarations
*ALV data declarations
data: fieldcatalog type slis_t_fieldcat_alv with header line,
gd_tab_group type slis_t_sp_group_alv,
gd_layout type slis_layout_alv,
gd_repid like sy-repid.
TYPES: BEGIN OF ty_data ,
equnr type equnr, " Euipment no
eqktx type eqkt-eqktx, " Equipment Text
eqfnr type iloa-eqfnr, " Equipment Sort field
idate type imrg-idate, " Measuring Date
recdu type imrg-recdu, " Unit of measuring ='KM','L','H'
recdv type imrg-recdv, " Counter reading data
cancl type imrg-cancl,
END OF ty_data.
TYPES: BEGIN OF ty_final,
equnr type equnr, " Equipment no
eqktx type eqkt-eqktx, " Equipment Text
eqfnr type iloa-eqfnr, " Equipment Sort field
idate type imrg-idate, " Measuring Date
min_date_km type imrg-idate, " Min Date
min_km type P DECIMALS 2, " Max Km
max_date_km type imrg-idate,
max_km type P DECIMALS 2, " Min km
t_max_min_km type P DECIMALS 2, " Total min_km-max_km
min_date_hr type imrg-idate, " Max Date
min_hr type P DECIMALS 2, " Max hr
max_date_hr type imrg-idate,
max_hr type P DECIMALS 2, " Min hr
t_max_min_hr type P DECIMALS 2, " Total min_hr-max_hr
min_date_lit type imrg-idate,
min_lit type P DECIMALS 2, " Min lit
max_date_lit type imrg-idate,
max_lit type P DECIMALS 2, " Max lit
fuel_con type imrg-recdv, " Total_hrs / t_max_min_hr
fuel_con2 type P DECIMALS 2, " Total_hrs / t_max_min_hr
km_l type P DECIMALS 2, " t max_min_km / t_max_min_lit
l_p type P DECIMALS 2 , " t_max_min_lit / t_max_min_hr
l_p2 type P DECIMALS 2 ,
END OF ty_final.
DATA: i_data TYPE TABLE OF ty_data, " internal table
wa_data TYPE ty_data, " work area
i_final TYPE TABLE OF ty_final, " internal table
wa_final TYPE ty_final. " work area
SELECTION-SCREEN BEGIN OF BLOCK blk WITH FRAME.
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: p_equnr FOR equi-equnr OBLIGATORY, "no-extension no intervals,
p_idate FOR imrg-idate. "NO-EXTENSION NO INTERVALS OBLIGATORY,
"p_recdu FOR imrg-recdu." NO-EXTENSION NO INTERVALS ."default 'M3'" OBLIGATORY.
SELECTION-SCREEN END OF BLOCK blk1.
SELECTION-SCREEN BEGIN OF BLOCK blk2 WITH FRAME TITLE text-002.
SELECTION-SCREEN END OF BLOCK blk2.
SELECTION-SCREEN END OF BLOCK blk.
TOP-OF-PAGE.
FORMAT INTENSIFIED ON.
WRITE:/55(40) ' WAGNERS INVESTMENT LIMITED '.
WRITE:/50(40) ' VEHICLE FUEL CONSUMPTION REPORT ' CENTERED ,
2 'Page', sy-pagno.
FORMAT INTENSIFIED OFF.
WRITE:/50(40) '----
' CENTERED .
FORMAT INTENSIFIED ON.
WRITE:/2 sy-datum COLOR 3, sy-uzeit .
"WRITE:/1 S903-SPMON ."p_yearf.
ULINE.
"CENTERED.
write: /2 'Equipment No :'left-justified,p_equnr-low color 2 , ' to ' , p_equnr-high color 2.
write: /2 'Date From :', p_idate-low color 2 , ' to ' , p_idate-high color 2.
END-OF-PAGE.
START-OF-SELECTION.
select aequnr deqktx feqfnr eidate erecdu erecdv
into table i_data
from equi AS a
inner join equz as b
on aequnr = bequnr
inner join iloa as f
on biloan = filoan
inner join imptt as c
on aobjnr = cmpobj
inner join eqkt as d
on aequnr = dequnr
inner join imrg as e
on epoint = cpoint
where a~equnr in p_equnr
and
e~idate in p_idate and
e~cancl ne 'X'.
loop at i_data into wa_data.
CLEAR: wa_final.
READ TABLE i_final into wa_final
with key equnr = wa_data-equnr." BINARY SEARCH.
if sy-subrc EQ 0.
PERFORM F_GET_MAX_DATA.
PERFORM F_GET_MAX_HOURS.
PERFORM F_GET_MAX_LIT.
PERFORM prepare_final_rec USING'M'. " Modify Existing Record
perform build_fieldcatalog.
perform build_layout.
perform display_alv_report.
ElSE.
PERFORM prepare_final_rec USING'A'. " Append New Record.
ENDIF.
ENDLOOP.
LOOP AT i_final into wa_final.
on change of wa_final-equnr.
perform build_fieldcatalog.
endon.
uline.
endloop.
refresh i_final.
clear i_final.
FORM F_GET_MAX_DATA.
select single MAX( eidate ) Min( eidate ) MAX( erecdv ) MIN( erecdv )
into corresponding fields of (wa_final-max_date_km,wa_final-min_date_km,wa_final-max_km ,wa_final-min_km)
from equi AS a
inner join equz as b
on aequnr = bequnr
inner join iloa as f
on biloan = filoan
inner join imptt as c
on aobjnr = cmpobj
inner join eqkt as d
on aequnr = dequnr
inner join imrg as e
on epoint = cpoint
where a~equnr in p_equnr
and
e~idate in p_idate
and
e~cancl ne 'X' and
e~recdu = 'KM'
AND a~equnr = wa_data-equnr.
ENDFORM.
FORM F_GET_MAX_HOURS.
select single MAX( erecdv ) MIN( erecdv )
into corresponding fields of (wa_final-max_hr, wa_final-min_hr)
from equi AS a
inner join equz as b
on aequnr = bequnr
inner join iloa as f
on biloan = filoan
inner join imptt as c
on aobjnr = cmpobj
inner join eqkt as d
on aequnr = dequnr
inner join imrg as e
on epoint = cpoint
where a~equnr in p_equnr
and
e~idate in p_idate
and
e~cancl ne 'X' and
e~recdu = 'H'
AND a~equnr = wa_data-equnr .
ENDFORM.
FORM F_GET_MAX_LIT.
select SUM( e~recdv )
into corresponding fields of (wa_final-fuel_con2)
from equi AS a
inner join eqkt as b
on bequnr = aequnr
inner join imptt as c
on cmpobj = aobjnr
inner join imrg as e
on epoint = cpoint
where a~equnr in p_equnr
and
e~idate in p_idate
and
e~cancl ne 'X' and
e~recdu = 'L'
AND a~equnr = wa_data-equnr.
ENDFORM.
FORM prepare_final_rec USING p_mode TYPE char1.
wa_final-t_max_min_km = wa_final-max_km - wa_final-min_km .
wa_final-t_max_min_hr = wa_final-max_hr - wa_final-min_hr.
if wa_final-t_max_min_km eq 0 .
wa_final-km_l = ( wa_final-max_km - wa_final-min_km ) / ( wa_final-fuel_con2 ) .
ELSE.
wa_final-km_l = 0.
endif.
if wa_final-t_max_min_hr eq 0 .
wa_final-l_p2 = ( wa_final-fuel_con2 ) / ( wa_final-t_max_min_hr ) .
ELSE.
wa_final-l_p2 = 0.
endif.
IF p_mode = 'A'.
wa_final-equnr = wa_data-equnr.
wa_final-eqktx = wa_data-eqktx.
wa_final-eqfnr = wa_data-eqfnr.
wa_final-t_max_min_km = wa_final-min_km - wa_final-max_km .
wa_final-t_max_min_hr = wa_final-max_hr - wa_final-min_hr.
wa_final-km_l = ( wa_final-max_km - wa_final-min_km ) / ( wa_final-fuel_con2 ).
wa_final-l_p2 = ( wa_final-fuel_con2 ) / ( wa_final-t_max_min_hr ) .
APPEND wa_final TO i_final .
ELSE.
MODIFY i_final FROM wa_final
TRANSPORTING
eqfnr
max_date_km
min_date_km
max_date_lit
min_date_lit
max_date_hr
min_date_hr
max_km
min_km
max_hr
min_hr
t_max_min_km
t_max_min_hr
fuel_con2
km_l
l_p2
where equnr = wa_data-equnr.
ENDIF.
ENDFORM. " PREPARE_FINAL_REC
*& Form BUILD_FIELDCATALOG
Build Fieldcatalog for ALV Report
form build_fieldcatalog.
I.e. Field type may be required in-order for
the 'TOTAL' function to work.
fieldcatalog-fieldname = 'EQUNR'.
fieldcatalog-seltext_m = 'Equip no'.
fieldcatalog-tabname = 'i_final'.
fieldcatalog-col_pos = 0.
fieldcatalog-outputlen = 10.
fieldcatalog-emphasize = 'X'.
fieldcatalog-key = 'X'.
fieldcatalog-do_sum = 'X'.
fieldcatalog-no_zero = 'X'.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'EQKTX'.
fieldcatalog-seltext_m = 'Description'.
fieldcatalog-tabname = 'i_final'.
fieldcatalog-col_pos = 1.
fieldcatalog-outputlen = 40.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'EQFNR'.
fieldcatalog-seltext_m = 'Sortfield'.
fieldcatalog-tabname = 'i_final'.
fieldcatalog-col_pos = 2.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'MIN_DATE_KM'.
fieldcatalog-seltext_m = 'Min Date'.
fieldcatalog-tabname = 'i_final'.
fieldcatalog-col_pos = 3.
fieldcatalog-outputlen = 12.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'MAX_DATE_KM'.
fieldcatalog-seltext_m = 'Max Date'.
fieldcatalog-tabname = 'i_final'.
fieldcatalog-col_pos = 4.
fieldcatalog-outputlen = 12.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'MIN_KM' .
fieldcatalog-seltext_m = 'Min KM'.
fieldcatalog-tabname = 'i_final'.
fieldcatalog-col_pos = 5.
fieldcatalog-outputlen = 12.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'MAX_KM' .
fieldcatalog-seltext_m = 'Max KM'.
fieldcatalog-tabname = 'i_final'.
fieldcatalog-col_pos = 6.
fieldcatalog-outputlen = 12.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'T_MAX_MIN_KM' .
fieldcatalog-tabname = 'i_final'.
fieldcatalog-seltext_m = 'Total KM'.
fieldcatalog-col_pos = 7.
fieldcatalog-outputlen = 12.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'MIN_HR' .
fieldcatalog-seltext_m = 'Min Hr'.
fieldcatalog-tabname = 'i_final'.
fieldcatalog-col_pos = 8.
fieldcatalog-outputlen = 12.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'MAX_HR' .
fieldcatalog-seltext_m = 'Max Hr'.
fieldcatalog-tabname = 'i_final'.
fieldcatalog-col_pos = 9.
fieldcatalog-outputlen = 12.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'T_MAX_MIN_HR' .
fieldcatalog-seltext_m = 'Total HR'.
fieldcatalog-tabname = 'i_final'.
fieldcatalog-col_pos = 10.
fieldcatalog-outputlen = 12.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'FUEL_CON2' .
fieldcatalog-seltext_m = 'Fuel'.
fieldcatalog-tabname = 'i_final'.
fieldcatalog-col_pos = 11.
fieldcatalog-outputlen = 12.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'KM_L' .
fieldcatalog-seltext_m = 'Km/L'.
fieldcatalog-tabname = 'i_final'.
fieldcatalog-col_pos = 12.
fieldcatalog-outputlen = 12.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'L_P2' .
fieldcatalog-seltext_m = 'Lit/HR'.
fieldcatalog-tabname = 'i_final'.
fieldcatalog-col_pos = 13.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
endform. " BUILD_FIELDCATALOG
*& Form BUILD_LAYOUT
Build layout for ALV grid report
form build_layout.
gd_layout-no_input = 'X'.
gd_layout-colwidth_optimize = 'X'.
gd_layout-totals_text = 'Totals'(201).
gd_layout-totals_only = 'X'.
gd_layout-f2code = 'DISP'. "Sets fcode for when double
"click(press f2)
gd_layout-zebra = 'X'.
gd_layout-group_change_edit = 'X'.
gd_layout-header_text = 'helllllo'.
endform. " BUILD_LAYOUT
*& Form DISPLAY_ALV_REPORT
Display report using ALV grid
form display_alv_report.
gd_repid = sy-repid.
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_callback_program = gd_repid
i_callback_top_of_page = 'TOP-OF-PAGE' "see FORM
i_callback_user_command = 'USER_COMMAND'
i_grid_title = outtext
is_layout = gd_layout
it_fieldcat = fieldcatalog[]
it_special_groups = gd_tabgroup
IT_EVENTS = GT_XEVENTS
i_save = 'X'
is_variant = z_template
tables
t_outtab = i_final
exceptions
program_error = 1
others = 2.
if sy-subrc eq 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
endform. " DISPLAY_ALV_REPORT -
Hi Sap Experts,
I have used ALV_REUSE_DISPLAY Function Module. But in Display Output, in the Menu Bar ??? marks.
Please help me........!Hello Sankar Jee,
I didn't use any PF_STATUS in that Function Module.But Application ToolBars are coming correctly. Instead of Menu Bar it replace ???????? Marks.
Please try to tell me,what was the problem? -
Hi ,
I Created an ALV report in that I am getting the sales order details... and once I get the list I am moving to excel sheet ...
Once I moved to excel sheet by creating the layout , I am getting DAT colums as 00.00.0000 if the cell is empty.. how to avoide this ....Try with NO_ZERO = 'X'. for the Date field in the fieldcatalog.
I am not sure of this , Give a try once. -
ALV Excel Download problem ( Special Character)
Hi,
I am unable to download completely in XLS format from ALV grid. When i tried in couple of ways there is a special character( " ) in one of the filed. Due to the same Excel download has some problem. I tested by removing those and it worked fine,
Please suggest me to solve the issue.
Thanks,
Bhanu Gattu,Data strings with special characters can not be downloaded into XLS format from ALV grid. In my case, I replaced the special character " with space and I could download the data into excel.
-
Convert the spool to xls format and email through attachment to the user
Hi all,
When I execute a report in background, I get spool. I need to convert the spool to xls format and email through attachment to the user.The xls file should not be saved on local system.
If I use the Spool Recepient tab in SM37 it mails the spool list as .txt file to the mail receipient. But I need to send it as an .xls file.
Can any one help me on thisDid you get the solution? i have the same problem.
-
Regarding downlaod the output from ALV grid format
Hi
i want to download the output ALV grid format into excel sheet .
but condition is when ever user press the button (&ZDL) the should be downloaded.
and also how to convert the output into CSV format.hi,
when '&ZDL'.
use this condition
check this one for down loading
try to download an ALV report in excel format using (list ->export -> local file-> soread sheet )
Re: advantages of alv reports
Excel Download to ALV report
hi this is full program
REPORT ZCR_BOMPLANT_DOWNLOAD.
TABLES : MAST , "Material to BOM Link
STKO , "BOM Header
MARA . "General Material Data
TYPES : BEGIN OF TY_MASTER ,
MATNR TYPE MAST-MATNR , "Material Number
WERKS TYPE MAST-WERKS , "Plant
STLAN TYPE MAST-STLAN , "BOM Usage
STLNR TYPE MAST-STLNR , "Bill of material
STLAL TYPE MAST-STLAL , "Alternative BOM
ANDAT TYPE MAST-ANDAT , "Date record created on
AEDAT TYPE MAST-AEDAT , "Date of Last Change
AENAM TYPE MAST-AENAM , "Name of Person Who Changed Object
STLST TYPE STKO-STLST , "BOM status
ZPLP1 TYPE MBEW-ZPLP1 , "Future Planned Price 1
DWERK TYPE MVKE-DWERK , "Delivering Plant (Own or External)
END OF TY_MASTER .
TYPES : MY_TYPE(20) TYPE C.
DATA : IT_MASTER TYPE STANDARD TABLE OF TY_MASTER,
WA_MASTER TYPE TY_MASTER .
DATA : IT_HEADER TYPE TABLE OF MY_TYPE.
DATA : W_PTH TYPE RLGRAP-FILENAME.
DATA : W_FILE TYPE RLGRAP-FILENAME.
*--- Add Header Fields to Header Table ---
APPEND 'Material Number' TO IT_HEADER .
APPEND 'Plant' TO IT_HEADER .
APPEND 'BOM Usage' TO IT_HEADER .
APPEND 'Bill Code' TO IT_HEADER .
APPEND 'Alternative BOM' TO IT_HEADER .
APPEND 'Created On' TO IT_HEADER .
APPEND 'Changed On' TO IT_HEADER .
APPEND 'Changed By' TO IT_HEADER .
APPEND 'BOM Status' TO IT_HEADER .
APPEND 'Planned Price' TO IT_HEADER .
APPEND 'Delivery Plant' TO IT_HEADER .
IF SY-MANDT = '700'.
W_PTH = '
lkdb01\ISD\IS\Software Developments\Developments\Data Files\SAP Dumps\BOM_Available\'.
ELSE.
W_PTH = 'C:\'.
ENDIF.
START-OF-SELECTION.
*--- Load Data to Internal Table ---
SELECT MASTMATNR MASTWERKS MASTSTLAN MASTSTLNR MASTSTLAL MASTANDAT MASTAEDAT MASTAENAM STKO~STLST
INTO TABLE IT_MASTER
FROM MAST
INNER JOIN STKO ON STKOSTLNR EQ MASTSTLNR
AND STKOSTLAL EQ MASTSTLAL
INNER JOIN MARA ON MARAMATNR EQ MASTMATNR
WHERE MARA~MTART LIKE 'ZFG%'
AND STKO~LKENZ NE 'X'
AND STKO~LOEKZ NE 'X'
AND STKO~STLST EQ '1'.
SELECT MAST~MATNR MAST~WERKS MAST~STLAN MAST~STLNR MAST~STLAL MAST~ANDAT MAST~AEDAT MAST~AENAM STKO~STLST MBEW~ZPLP1 MVKE~DWERK
INTO TABLE IT_MASTER
FROM MAST
INNER JOIN STKO ON STKO~STLNR EQ MAST~STLNR
AND STKO~STLAL EQ MAST~STLAL
INNER JOIN MARA ON MARA~MATNR EQ MAST~MATNR
INNER JOIN MBEW ON MBEW~MATNR EQ MAST~MATNR
AND MBEW~BWKEY EQ MAST~WERKS
INNER JOIN MVKE ON MVKE~MATNR EQ MAST~MATNR
WHERE MARA~MTART LIKE 'ZFG%'
AND STKO~LKENZ NE 'X'
AND STKO~LOEKZ NE 'X'
AND STKO~STLST EQ '1'.
IF SY-SUBRC <> 0.
MESSAGE I014(ZLOAD).
ENDIF.
*--- Set Path to Function Module ---
CONCATENATE W_PTH SY-DATUM ' - ' 'BOM_AVAILABLE_PLANT.XLS' INTO W_FILE.
CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
FILENAME = W_FILE
FILETYPE = 'DAT'
TABLES
DATA_TAB = IT_MASTER
FIELDNAMES = IT_HEADER
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_WRITE_ERROR = 2
INVALID_FILESIZE = 3
INVALID_TYPE = 4
NO_BATCH = 5
UNKNOWN_ERROR = 6
INVALID_TABLE_EIDTH = 7
GUI_REFUSE_FILETRANSFER = 8
CUSTOMER_ERROR = 9
OTHERS = 10.
IF SY-SUBRC = 0.
SUBMIT ZI005_MARA_DUMP_SOLIDEAL_N.
MESSAGE I023(ZLOAD) WITH text-001.
ELSE.
MESSAGE I022(ZLOAD) WITH W_FILE. "Errors while downloading.
ENDIF.
END-OF-SELECTION.
SUBMIT ZI005_MARA_DUMP_SOLIDEAL_N. -
Report output as an attachment in.XLS format via email.
Hi all,
When i run my report in back ground, my alv report output is to be sent as an email attachment in excel (.XLS) format. The issue i am facing is that i have around 40 fields in the output and i need to create a Header line with the Field Description in the Excel file. I am using the FM 'SO_DOCUMENT_SEND_API1', and passing the report output in to the table CONTENTS_BIN LIKE SOLISTI1 which is of Char 255. but my report output header is exceeding that length.
Kindly suggest me on how to acheive this.
Regards,
JoseHi Jose,
As for your first question you may place cl_abap_char_utilities=>horizontal_tab between contetaned fields' values. It will place then a tab mark between each two fields, which will be considered by excel as new column.
Using cl_abap_char_utilities=>newline is also correct. I will probably only result in one extra line at the end as after you append your last line to BIN table, also newline will be placed. cl_abap_char_utilities=>lf on the other hand should be placed in front of each line as this denotes Carriage Return so it simply means: "place the cursor at the beginning of each line just before writing this line".
Regards
Marcin -
Hi,
i need a help from you my dear friend I'm providing you the following information in which i have extract some of the fields from two internal tables and i have to display it in the alv grid format. All the work was done successfully but the problem is the values from internal table are moved but the values are not coming in output in ALV grid format. so pleease try to solve my problem.
Thanking you
TABLES: J_1IEXCHDR, J_1IEXCDTL.
type-pools: slis.
DATA: ITAB1 TYPE J_1IEXCHDR OCCURS 0 WITH HEADER LINE.
DATA: ITAB2 TYPE J_1IEXCHDR OCCURS 0 WITH HEADER LINE.
DATA: ITAB3 TYPE J_1IEXCHDR OCCURS 0 WITH HEADER LINE.
DATA: OK_CODE LIKE SY-UCOMM,
GT_SFLIGHT TYPE TABLE OF itab,
G_CONTAINER TYPE SCRFNAME VALUE 'BCALV_GRID_DEMO_0100_CONT1',
GRID1 TYPE REF TO CL_GUI_ALV_GRID,
G_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER.
DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.
DATA: G_TABNAME TYPE SLIS_TABNAME VALUE 'RTAB_ALV'.
data: fieldcat type slis_t_fieldcat_alv.
data: begin of itab occurs 0,
lifnr type j_1iexchdr-lifnr,
docno type j_1iexchdr-docno,
exyear type j_1iexchdr-exyear,
budat type j_1iexchdr-budat,
exbed type j_1iexcDTL-exbed,
rdoc1 type j_1iexcDTL-rdoc1,
ecs type j_1iexcDTL-ecs,
exbas type j_1iexcDTL-exbas,
end of itab.
start-of-selection.
perform get_data.
perform call_alv.
form get_data.
select * into corresponding fields of table itab
from J_1IEXCHDR
inner join J_1IEXCDTL
on J_1IEXCDTLlifnr = J_1IEXCHDRlifnr
where J_1IEXCHDr~status = 'P'.
append itab.
endform.
CALL_ALV
form call_alv.
perform build_field_catalog.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = i_repid
IT_SORT = gt_sort
it_fieldcat = fieldcat[]
TABLES
t_outtab = itab
EXCEPTIONS
program_error = 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.
Call ABAP List Viewer (ALV)
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
it_fieldcat = fieldcat
tables
t_outtab = itab.
endform.
form build_field_catalog.
clear: fieldcat. refresh: fieldcat.
data: tmp_fc type slis_fieldcat_alv.
tmp_fc-reptext_ddic = 'Vendor No'.
tmp_fc-fieldname = 'lifnr'.
tmp_fc-tabname = 'itab'.
tmp_fc-outputlen = '10'.
append tmp_fc to fieldcat.
tmp_fc-reptext_ddic = 'docno'.
tmp_fc-fieldname = 'docno'.
tmp_fc-tabname = 'itab'.
tmp_fc-outputlen = '10'.
append tmp_fc to fieldcat.
tmp_fc-reptext_ddic = 'exyear'.
tmp_fc-fieldname = 'exyear'.
tmp_fc-tabname = 'itab'.
tmp_fc-outputlen = '10'.
append tmp_fc to fieldcat.
tmp_fc-reptext_ddic = 'budat'.
tmp_fc-fieldname = 'budat'.
tmp_fc-tabname = 'itab'.
tmp_fc-outputlen = '10'.
append tmp_fc to fieldcat.
tmp_fc-reptext_ddic = 'exbas'.
tmp_fc-fieldname = 'exbas'.
tmp_fc-tabname = 'itab'.
tmp_fc-outputlen = '10'.
append tmp_fc to fieldcat.
tmp_fc-reptext_ddic = 'exbed'.
tmp_fc-fieldname = 'exbed'.
tmp_fc-tabname = 'itab'.
tmp_fc-outputlen = '10'.
append tmp_fc to fieldcat.
tmp_fc-reptext_ddic = 'rdoc1'.
tmp_fc-fieldname = 'rdoc1'.
tmp_fc-tabname = 'itab'.
tmp_fc-outputlen = '10'.
append tmp_fc to fieldcat.
tmp_fc-reptext_ddic = 'ecs'.
tmp_fc-fieldname = 'ecs'.
tmp_fc-tabname = 'itab'.
tmp_fc-outputlen = '10'.
append tmp_fc to fieldcat.
endform.
*loop at itab.
*WRITE: / ITAB-LIFNR,
ITAB-DOCNO,
ITAB-EXYEAR,
ITAB-BUDAT,
ITAB-EXBAS,
ITAB-EXBED,
ITAB-RDOC1,
ITAB-ECS.
*endloop.Hi Praveen,
In the field cat internal tabel for fieldname you have to pass the values in caps.look at the followig eg:
tmp_fc-fieldname = 'LIFNR'.
let me know if you still have a problem after this change.
regards,
Raju -
XLS export problem (SQL Developer 1.1)
hi, I'm yw Kim.
I got a problem when i export dataset XLS format
I'm using Korean characters. but after exporting xls,
I cant see korean characters from xls file. (there are only broken chars.)
I can see korean chars on SQL Developer(Grid, sql worksheet ...)
(well, when I using Toad 8.6, It works )
My system environments :
Windows 2000 professional (korean ver.)
Oracle 10g, 9i
thanks.
Message was edited by:
user549191hi kim,
it will be better if you post this problem on sql developer forum.
regards -
Downloading file in xls format
Hi All,
I have a program that downloads data from a server to the local machine in xls format, via a JSP. The data comes from a ResultSet which I read and convert to csv format, but using ";" as the separator (it works..) and "\n" for each new line I require. I then set the response to download the file. Eveything works fine when I run the web application locally, the file downloads and opens in Excel, BUT when I do the same accessing a remote server running on Solaris, I have a problem opening the downloaded xls. Everything works fine until I try to open the file, Excel tells me that it can't read the first record.
Here's my code:
String path = servlet.getServletContext().getRealPath("/");
PrintWriter printWriter = new PrintWriter(new OutputStreamWriter( new FileOutputStream( path+ "upload/excel.csv" )));
String data;
String fileName; // a filename set when I read the data
// read data, put ";" and "\n" where required
printWriter.println(data);
printWriter.close();
response.setContentType("application/binary");
response.setHeader("Content-Disposition","attachment" + ";fileName=\"" + filName + ".xls" + "\"");
RequestDispatcher rd = request.getRequestDispatcher("destination.jsp");
rd.include(request, response);
It works from Windows to Windows, but something's amiss when I try it from Solaris to Windows.
Any help is greatly appreciated!!Most probably it has to do with line.separator system property which is different between windows and unix.
I noticed you using a printWriter.
The println method will use the appropriate line separator for the platform it is running on. (from the System properties)
I would try saving the file to disk rather than opening, to see if you can discern the differences.
Also - what does the included jsp do? does it just include the newly created file?
Do you need that file? Could you just stream it straight out to the user?
ie instead of sending it to a FileOutputStream, send it to the ServletOutputStream.
Hope this helps some,
evnafets -
How to save current output page as pdf or xls format?
hello expert,
i have make 2D line graph . now i am trying to save current output page as pdf or xls format.
how can i do this?
please reply soon
thanks in advanceI have a similar problem with Firefox on android. When saving a page as PDF, often the PDF page size isn't big enough and just shows part of the full web page. Is there any way to set the PDF page size and make it bigger,say A4 or some other size?
-
Hi,
Oracle9i Release 9.2.0.8.0 - 64bit Production
The report runs fine in development and test environments.
The report runs fine in production for HTML format
The report returns only the column headers in production for XLS
format
The report is run via a PL/SQL web procedure.
Has anyone had similar problem?
Regards
Sandeepuser13100082 wrote:
Hi,
Oracle9i Release 9.2.0.8.0 - 64bit Production
The report runs fine in development and test environments.
The report runs fine in production for HTML format
The report returns only the column headers in production for XLS
format
The report is run via a PL/SQL web procedure.
Has anyone had similar problem?Not in SQL and PL/SQL I haven't. Which is what this forum is. I'm guessing you want Oracle Reports forum...
Reports -
How to print the data in ALV list format using an existing layout
Hi all
Iam displaying the output in ALV list format and I saved the layout with some name
now my requirement is i have to provide a field to select the layout name with F4 help and if i execute the program it should show the output with that layout format
I tried this iam getting F4 help for that layout and selecting the layout but iam not getting the output with that layout iam getting the normal basic layout
Can anyone send me a sample program code or what to do to get that
Thank youHi,
refer this code.
DATA : wa_variant TYPE disvariant, "Work area for variant
wa_variant1 TYPE disvariant, "Work area for variant
wa_layout TYPE slis_layout_alv, "Work area for layout
*& Form sub_get_default_variant *
This form will initialize the variant *
FORM sub_get_default_variant .
*--Clear
CLEAR wa_variant.
*--Pass the report name
v_repid = sy-repid. "Report ID
wa_variant-report = v_repid.
*--Call the function module to get the default variant
CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
EXPORTING
i_save = c_save
CHANGING
cs_variant = wa_variant1
EXCEPTIONS
wrong_input = 1
not_found = 2
program_error = 3
OTHERS = 4.
*--Check Subrc
IF sy-subrc = 0.
p_varnt = wa_variant-variant.
ENDIF.
ENDFORM. "sub_get_default_variant
*& Form sub_f4_for_variant *
This form will display the List of Variants *
FORM sub_f4_for_variant .
*--Local Variables
DATA: lv_exit(1) TYPE c. "ALV exit
*--Call the function module to display the list of Variants
CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
EXPORTING
is_variant = wa_variant
i_save = c_save
IMPORTING
e_exit = lv_exit
es_variant = wa_variant1
EXCEPTIONS
not_found = 1
program_error = 2.
*--Check Subrc
IF sy-subrc <> 2 AND lv_exit IS INITIAL.
p_varnt = wa_variant1-variant.
ENDIF.
ENDFORM. "sub_f4_for_variant
*& Form sub_check_variant *
This form will check the variant *
FORM sub_check_variant .
IF NOT p_varnt IS INITIAL.
CLEAR wa_variant1.
MOVE wa_variant TO wa_variant1.
MOVE p_varnt TO wa_variant1-variant.
*--Call the function module to check the variant exist
CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
EXPORTING
i_save = c_save
CHANGING
cs_variant = wa_variant1.
wa_variant = wa_variant1.
ENDIF.
ENDFORM. "sub_check_variant
Regards,
Prashant -
How to get the output in .xls format instead of .csv.
Dear All,
I have added a exportButton on a table through personlization, when I click on the button it is opening in .csv instead of .xls file .
Please let me know if I can change the format of that to .xls .
Regards
Karan deep.Hi,
I tried that but I am not able to get the outplut in .xls format .......I think "export all rows" property is used to export all the rows of the particular table "VO attached to it".....I dont think that this property has any control of file format....
Maybe you are looking for
-
The App Store keeps on asking me to renew my payment method before I carry on with a download, even though nothing has changed with my payment method and I'm not trying to purchase anything either, I only wanted to update my apps. I waited to see if
-
The problem is presistant. I tried to send the text message but it does not leave the phone, it is only delivered after I turn the phone off and then turn it on again. Only then it gets delivered and even that is only for that moment. Secondly, I can
-
How do I get rid of this black line across the top of my screen...
There is this black line that stretches about midway across the entire top of my screen... I read something about reseting my PRAM and I did that but it didn't remove the line... any insight on what is wrong with it and what needs to be done?? Thank
-
Have downloaded Adobe Photoshop Elements 10 Editor from the Mac App Store onto my Mac Book Pro, set i photo preferences to Adobe PSE 10 editor, but when I try to open a file from my photo library, the following message appears: "could not complete yo
-
One day, I looked at my mac app store to see a question mark on the icon. I am not sure how it was deleted but it seems that it has been. I checked the applications folder, I searched for "app store" and "mac app store" and it seems to have vanishe