Reg. ALV output transported into Excel
Dear All,
when i transported my ALV report output to excel file , amount column is suppressed from decimal places .
i.e. in excel file , decimal values of amount column is not shown in some amounts.
Please provide some inputs
Thanks & Regards
shailesh
Hi ,
Check this [LINK|ALV List output to Excel file; for ALV output transported into Excel.
hope it will help you .
Regards,
Saravana.S
Similar Messages
-
How to send ALV output data into Excel sheet format via Mail to the user?
Hi friends,
I have a doubt ie,
How to send ALV output data into Excel sheet format via Mail to the user?
regards
MoosaHi,
Provide the output internal table to the objbin in the below FM
Send Message
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data = i_docdata
put_in_outbox = c_x
TABLES
packing_list = i_objpack
object_header = i_objhead
contents_bin = i_objbin
contents_txt = i_objtxt
receivers = i_reclist
and specify the document type
i_objpack-doc_type = 'XLS'.
and try.
Regards,
Nandha -
Reg: ALV output download using excel option
Hi Team,
I created a report using ALV Function modules, I want to download in Excel sheet the output list. i am trying to download but i am not getting proper values. I am populating around 50 fileds.
is there any settings for these download.
<<removed by moderator>>
Thanks & Regards,
Mahendar patha.hi mahendra;
use this step-by-step procedure it will help u a lot:
Firstly export the data to memory using the FM LIST_FROM_MEMORY.
CALL FUNCTION 'LIST_FROM_MEMORY'
TABLES
listobject = t_listobject
EXCEPTIONS
not_found = 1
OTHERS = 2.
IF sy-subrc 0.
MESSAGE e000(su) WITH text-001.
ENDIF.
then i converted it into ASCII using LIST_TO_ASCI,
CALL FUNCTION 'LIST_TO_ASCI'
TABLES
listasci = t_xlstab
listobject = t_listobject
EXCEPTIONS
empty_list = 1
list_index_invalid = 2
OTHERS = 3.
IF sy-subrc NE 0.
MESSAGE e003(yuksdbfzs).
ENDIF.
This gives the data in ASCII format separated by '|' and the header has '-', dashes. If you use this internal table directly without any proccesing in SO_NEW_DOCUMENT_ATT_SEND_API1, then you will not get a good excel sheet attachment. To overcome this limitation, i used cl_abap_char_utilities=>newline and cl_abap_char_utilities=>horizontal_tab to add horizontal and vertical tabs to the internal table, replacing all occurences of '|' with
cl_abap_char_utilities=>horizontal_tab.
Set the doc_type as 'XLS', create the body and header using the packing_list and pass the data to be downloaded to SO_NEW_DOCUMENT_ATT_SEND_API1 as contents_bin.
This will create an excel attachment.
Sample code for formatting the data for the attachment in excel format.
u2022 Format the data for excel file download
LOOP AT t_xlstab INTO wa_xlstab .
DESCRIBE TABLE t_xlstab LINES lw_cnt.
CLEAR lw_sytabix.
lw_sytabix = sy-tabix.
u2022 If not new line then replace '|' by tabs
IF NOT wa_xlstab EQ cl_abap_char_utilities=>newline.
REPLACE ALL OCCURRENCES OF '|' IN wa_xlstab
WITH cl_abap_char_utilities=>horizontal_tab.
MODIFY t_xlstab FROM wa_xlstab .
CLEAR wa_xlstab.
wa_xlstab = cl_abap_char_utilities=>newline.
IF lw_cnt NE 0 .
lw_sytabix = lw_sytabix + 1.
u2022 Insert new line for the excel data
INSERT wa_xlstab INTO t_xlstab INDEX lw_sytabix.
lw_cnt = lw_cnt - 1.
ENDIF.
CLEAR wa_xlstab.
ENDIF.
ENDLOOP.
Sample code for creating attachment and sending mail:
FORM send_mail .
u2022 Define the attachment format
lw_doc_type = 'XLS'.
u2022 Create the document which is to be sent
lwa_doc_chng-obj_name = 'List'.
lwa_doc_chng-obj_descr = w_subject. "Subject
lwa_doc_chng-obj_langu = sy-langu.
u2022 Fill the document data and get size of message
LOOP AT t_message.
lt_objtxt = t_message-line.
APPEND lt_objtxt.
ENDLOOP.
DESCRIBE TABLE lt_objtxt LINES lw_tab_lines.
IF lw_tab_lines GT 0.
READ TABLE lt_objtxt INDEX lw_tab_lines.
lwa_doc_chng-doc_size = ( lw_tab_lines - 1 ) * 255 + STRLEN( lt_objtxt ).
lwa_doc_chng-obj_langu = sy-langu.
lwa_doc_chng-sensitivty = 'F'.
ELSE.
lwa_doc_chng-doc_size = 0.
ENDIF.
u2022 Fill Packing List For the body of e-mail
lt_packing_list-head_start = 1.
lt_packing_list-head_num = 0.
lt_packing_list-body_start = 1.
lt_packing_list-body_num = lw_tab_lines.
lt_packing_list-doc_type = 'RAW'.
APPEND lt_packing_list.
u2022 Create the attachment (the list itself)
DESCRIBE TABLE t_xlstab LINES lw_tab_lines.
u2022 Fill the fields of the packing_list for creating the attachment:
lt_packing_list-transf_bin = 'X'.
lt_packing_list-head_start = 1.
lt_packing_list-head_num = 0.
lt_packing_list-body_start = 1.
lt_packing_list-body_num = lw_tab_lines.
lt_packing_list-doc_type = lw_doc_type.
lt_packing_list-obj_name = 'Attach'.
lt_packing_list-obj_descr = w_docdesc.
lt_packing_list-doc_size = lw_tab_lines * 255.
APPEND lt_packing_list.
u2022 Fill the mail recipient list
lt_reclist-rec_type = 'U'.
LOOP AT t_recipient_list.
lt_reclist-receiver = t_recipient_list-address.
APPEND lt_reclist.
ENDLOOP.
u2022 Finally send E-Mail
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data = lwa_doc_chng
put_in_outbox = 'X'
commit_work = 'X'
IMPORTING
sent_to_all = lw_sent_to_all
TABLES
packing_list = lt_packing_list
object_header = lt_objhead
contents_bin = t_xlstab
contents_txt = lt_objtxt
receivers = lt_reclist
EXCEPTIONS
too_many_receivers = 1
document_not_sent = 2
document_type_not_exist = 3
operation_no_authorization = 4
parameter_error = 5
x_error = 6
enqueue_error = 7
OTHERS = 8.
Hope it will help you
Regards
Rahul sharma
Edited by: RAHUL SHARMA on Nov 4, 2008 1:22 PM -
ALV output converted into PDF format and send that PDF to user through mail
Hi Experts,
I have report earlier its output was in alv grid.
Now i want that ALV output converted into PDF format.And that PDF output send to user through mail.
Can u please tell how to do?
My code is here(output is displaying in ALV grid).
INCLUDE <icon>.
TYPE-POOLS: slis, kkblo.
TABLES : zmsd_freight_hdr, zmsd_freight_det, zmsd_blinfo, zmsd_diheader.
TABLES : lfa1.
DATA : t_hdr LIKE zmsd_freight_hdr OCCURS 0 WITH HEADER LINE,
T_DET LIKE ZMSD_FREIGHT_DET OCCURS 0 WITH HEADER LINE,
t_bl LIKE zmsd_blinfo OCCURS 0 WITH HEADER LINE,
t_di LIKE zmsd_diheader OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF t_det OCCURS 0.
INCLUDE STRUCTURE zmsd_freight_det.
DATA type(30).
DATA: END OF t_det.
DATA: v_target2(30),
v_zsammg LIKE t_det-zsammg,
v_gsttotal LIKE t_det-zamount.
DATA : BEGIN OF t_data OCCURS 0,
zsammg LIKE zmsd_freight_hdr-zsammg,
zdidbl LIKE zmsd_freight_hdr-zdidbl,
zvkorg LIKE zmsd_freight_hdr-zvkorg,
zinvno LIKE zmsd_freight_hdr-zinvno,
zttlamt LIKE zmsd_freight_hdr-zttlamt,
zstatus LIKE zmsd_freight_hdr-zstatus,
ztype LIKE zmsd_freight_hdr-ztype,
zconfirm LIKE zmsd_freight_hdr-zconfirm,
zconfirmdate LIKE zmsd_freight_hdr-zconfirmdate,
erdat LIKE zmsd_freight_hdr-erdat,
ernam LIKE zmsd_freight_hdr-ernam,
erzet LIKE zmsd_freight_hdr-erzet,
aedat(10),
aenam LIKE zmsd_freight_hdr-aenam,
aezet LIKE zmsd_freight_hdr-aezet,
zline LIKE zmsd_freight_det-zline,
zfptype LIKE zmsd_freight_det-zfptype,
zchrcode LIKE zmsd_freight_det-zchrcode,
zcurcode LIKE zmsd_freight_det-zcurcode,
zqty LIKE zmsd_freight_det-zqty,
zuom LIKE zmsd_freight_det-zuom,
zrate LIKE zmsd_freight_det-zrate,
zamount LIKE zmsd_freight_det-zamount,
zexrate LIKE zmsd_freight_det-zexrate,
zccode LIKE zmsd_blinfo-zccode, "MADK991565
zccode like ZMSD_FREIGHT_HDR-zfcode, "MADK991565
zbldate(10),
zbl LIKE zmsd_blinfo-zbl,
type(3),
waerk LIKE zmsd_freight_det-zcurcode,
zamountl LIKE zmsd_freight_det-zamount,
END OF t_data.
DATA : w_layout TYPE slis_layout_alv,
w_catalog TYPE slis_fieldcat_alv,
t_catalog TYPE slis_t_fieldcat_alv,
w_sort TYPE slis_sortinfo_alv,
t_sort TYPE slis_t_sortinfo_alv.
DATA V_ZINVNO like T_HDR-ZINVNO. "MADK991565
DATA : v_count TYPE i.
SELECTION-SCREEN BEGIN OF BLOCK a0 WITH FRAME TITLE text-001.
PARAMETERS : p_zvkorg LIKE zmsd_freight_hdr-zvkorg OBLIGATORY .
SELECT-OPTIONS : s_zdidbl FOR zmsd_freight_hdr-zdidbl ,
s_zccode FOR lfa1-lifnr ,
s_status FOR zmsd_freight_hdr-zstatus ,
s_ztype FOR zmsd_freight_hdr-ztype ,
s_erdat FOR zmsd_freight_hdr-erdat ,
s_ernam FOR zmsd_freight_hdr-ernam ,
s_zconfd FOR zmsd_freight_hdr-zconfirmdate .
PARAMETERS : p_zconf AS CHECKBOX .
SELECTION-SCREEN END OF BLOCK a0.
SELECTION-SCREEN BEGIN OF BLOCK a1 WITH FRAME TITLE text-002.
PARAMETERS : p_hdr RADIOBUTTON GROUP rad DEFAULT 'X' ,
p_det RADIOBUTTON GROUP rad .
SELECTION-SCREEN END OF BLOCK a1.
INITIALIZATION.
AT SELECTION-SCREEN.
START-OF-SELECTION.
PERFORM get_data.
PERFORM process.
PERFORM display.
END-OF-SELECTION.
PERFORM fm_get_num_pages.
AT USER-COMMAND.
AT LINE-SELECTION.
TOP-OF-PAGE.
PERFORM fm_top_of_page USING '7010' sy-title space.
FORM get_data.
SELECT *
FROM zmsd_freight_hdr
INTO TABLE t_hdr
WHERE zvkorg EQ p_zvkorg
AND zdidbl IN s_zdidbl
AND zstatus IN s_status
AND ztype IN s_ztype
AND erdat IN s_erdat
AND ernam IN s_ernam
AND zconfirmdate IN s_zconfd
AND ZFCODE IN S_ZCCODE. "MADK991565
IF p_zconf = 'X'.
DELETE t_hdr WHERE zconfirm NE 'C'.
ENDIF.
CHECK NOT t_hdr[] IS INITIAL.
SELECT *
FROM zmsd_blinfo
INTO TABLE t_bl
FOR ALL ENTRIES IN t_hdr
WHERE zsammg = t_hdr-zsammg.
SORT t_bl BY zsammg.
SELECT *
FROM zmsd_diheader
INTO TABLE t_di
FOR ALL ENTRIES IN t_hdr
WHERE zsammg = t_hdr-zsammg.
SORT t_di BY zsammg.
IF P_DET = 'X'. "MADK933361
SELECT *
FROM zmsd_freight_det
INTO TABLE t_det
FOR ALL ENTRIES IN t_hdr
WHERE zsammg = t_hdr-zsammg
AND ZINVNO = T_HDR-ZINVNO . "MADK991565
SORT t_det BY zsammg zline. "MADK991565
SORT T_DET BY ZSAMMG ZINVNO ZLINE. "MADK991565
ENDIF. "MADK933361
ENDFORM.
FORM process.
REFRESH t_data.
CLEAR v_gsttotal. "MADK933361
LOOP AT t_hdr.
Start of MADK933361
CLEAR: v_target2.
v_zsammg = t_hdr-zsammg.
V_ZINVNO = T_HDR-ZINVNO. "MADK991565
AT NEW zsammg. "MADK991565
AT NEW ZINVNO. "MADK991565
PERFORM get_gst_value.
ENDAT.
End of MADK933361
PERFORM move_header.
CHECK t_data-zccode IN s_zccode.
IF p_det = 'X'.
CSF Project Changes Starts DEV34 MADK985782
LOOP AT T_DET WHERE ZSAMMG = T_HDR-ZSAMMG..
LOOP AT t_det WHERE zsammg = t_hdr-zsammg AND
zinvno = t_hdr-zinvno.
CSF Project Changes Ends DEV34 MADK985782
PERFORM move_header.
CHECK t_data-zccode IN s_zccode.
MOVE-CORRESPONDING t_det TO t_data.
t_data-zamountl = t_data-zamount * t_data-zexrate.
APPEND t_data.
CLEAR t_data.
ENDLOOP.
ELSE.
APPEND t_data.
CLEAR t_data.
ENDIF.
AT END OF zsammg.
CLEAR v_gsttotal.
ENDAT.
*Start of changes for IS090901289-PIA MADK991565
AT END OF ZINVNO.
CLEAR V_GSTTOTAL.
ENDAT.
*End of changes for IS090901289-PIA MADK991565
ENDLOOP.
ENDFORM.
FORM move_header.
MOVE-CORRESPONDING t_hdr TO t_data.
t_data-zttlamt = t_data-zttlamt + v_gsttotal. "MADK933361
t_data-waerk = 'SGD'.
IF NOT t_hdr-aedat IS INITIAL.
WRITE: t_hdr-aedat TO t_data-aedat.
ELSE.
CLEAR : t_data-aedat.
ENDIF.
READ TABLE t_bl WITH KEY zsammg = t_hdr-zsammg BINARY SEARCH.
IF sy-subrc EQ 0.
t_data-zccode = t_bl-zccode. "MADK991565
T_DATA-ZCCODE = T_HDR-ZFCODE. "MADK991565
IF NOT t_bl-zbldate IS INITIAL.
WRITE: t_bl-zbldate TO t_data-zbldate.
ENDIF.
t_data-zbl = t_bl-zbl.
t_data-type = 'DBL'.
ELSE.
READ TABLE t_di WITH KEY zsammg = t_hdr-zsammg BINARY SEARCH.
IF sy-subrc EQ 0.
t_data-zccode = t_di-zdiforcode. "MADK991565
T_DATA-ZCCODE = T_HDR-ZFCODE. "MADK991565
t_data-type = 'DI'.
ENDIF.
ENDIF.
ENDFORM.
FORM display.
IF t_data[] IS INITIAL.
MESSAGE s398(00) WITH 'No Data Selected'.
EXIT.
ENDIF.
DATA : l_repid LIKE sy-repid.
l_repid = sy-repid.
REFRESH t_catalog.
CLEAR t_catalog.
w_layout-cell_merge = 'X'.
PERFORM map_fields.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = l_repid
i_callback_user_command = 'ALV_USER_COMMAND'
is_layout = w_layout
it_fieldcat = t_catalog[]
i_grid_title = sy-title
i_save = 'A'
it_sort = t_sort[]
TABLES
t_outtab = t_data
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
ENDIF.
ENDFORM.
FORM map_fields.
Sort Order
CLEAR v_count.
PERFORM sf USING 'ZDIDBL' 'X' 'X'.
Fields to be displayed
CLEAR v_count.
IF p_hdr = 'X'.
PERFORM af USING :
DESCRIPTION FIELD LEN RTABLE RFIELD
'DI/DBL ' 'ZDIDBL' '14' ' ' ' ',
'Type ' 'TYPE' '04' ' ' ' ',
'Forwarder Code ' 'ZCCODE' '14' ' ' ' ',
'BL Number ' 'ZBL' '14' ' ' ' ',
'BL Date ' 'ZBLDATE' '10' ' ' ' ',
'Invoice Number ' 'ZINVNO' '15' ' ' ' ',
'Extraction ' 'ZSTATUS' '05' 'ZMSD_FREIGHT_HDR' 'ZSTATUS ',
'Freight Type ' 'ZTYPE' '05' 'ZMSD_FREIGHT_HDR' 'ZTYPE ',
'Confirmation ' 'ZCONFIRM' '05' 'ZMSD_FREIGHT_HDR' 'ZCONFIRM',
'Confirm Date ' 'ZCONFIRMDATE' '10' 'ZMSD_FREIGHT_HDR'
'ZCONFIRMDATE',
'Total Amount ' 'ZTTLAMT' '18' ' ' ' ',
'Created On ' 'ERDAT' '10' ' ' ' ',
'Created By ' 'ERNAM' '10' ' ' ' ',
'Changed On ' 'AEDAT' '10' ' ' ' ',
'Changed By ' 'AENAM' '10' ' ' ' '.
ELSE.
PERFORM af USING :
DESCRIPTION FIELD LEN RTABLE RFIELD
'DI/DBL ' 'ZDIDBL' '14' ' ' ' ',
'Type ' 'TYPE' '04' ' ' ' ',
'Forwarder Code ' 'ZCCODE' '14' ' ' ' ',
'BL Number ' 'ZBL' '14' ' ' ' ',
'BL Date ' 'ZBLDATE' '10' ' ' ' ',
'Invoice Number ' 'ZINVNO' '15' ' ' ' ',
'Extraction ' 'ZSTATUS' '05' 'ZMSD_FREIGHT_HDR' 'ZSTATUS ',
'Freight Type ' 'ZTYPE' '05' 'ZMSD_FREIGHT_HDR' 'ZTYPE ',
'Confirmation ' 'ZCONFIRM' '05' 'ZMSD_FREIGHT_HDR' 'ZCONFIRM',
'Confirm Date ' 'ZCONFIRMDATE' '10' 'ZMSD_FREIGHT_HDR'
'ZCONFIRMDATE',
'Total Amount ' 'ZTTLAMT' '18' ' ' ' ',
'Freight Payment ' 'ZFPTYPE' '14' ' ' ' ',
'Charge Code ' 'ZCHRCODE' '10' ' ' ' ',
'Currency ' 'ZCURCODE' '08' ' ' ' ',
'Quantity ' 'ZQTY' '13' ' ' ' ',
'UoM ' 'ZUOM' '04' ' ' ' ',
'Rate ' 'ZRATE' '15' ' ' ' ',
'Amt(Foreign Curr)' 'ZAMOUNT' '16' ' ' ' ',
'Exchange Rate ' 'ZEXRATE' '13' ' ' ' ',
'Amt(Local Curr) ' 'ZAMOUNTL' '16' ' ' ' ',
'Created On ' 'ERDAT' '10' ' ' ' ',
'Created By ' 'ERNAM' '10' ' ' ' ',
'Changed On ' 'AEDAT' '10' ' ' ' ',
'Changed By ' 'AENAM' '10' ' ' ' '.
ENDIF.
ENDFORM.
FORM af USING text
field
len
table
reffield.
v_count = v_count + 1.
w_catalog-col_pos = v_count.
w_catalog-fieldname = field.
w_catalog-ref_tabname = table.
w_catalog-ref_fieldname = reffield.
w_catalog-seltext_s = text.
w_catalog-seltext_m = text.
w_catalog-seltext_l = text.
w_catalog-outputlen = len.
IF field = 'ZTTLAMT' OR field = 'ZAMOUNTL'.
w_catalog-no_zero = 'X'.
w_catalog-cfieldname = 'WAERK'.
w_catalog-datatype = 'CURR'.
ENDIF.
IF FIELD = 'ZRATE' OR FIELD = 'ZAMOUNT'.
IF field = 'ZAMOUNT'.
w_catalog-no_zero = 'X'.
w_catalog-cfieldname = 'ZCURCODE'.
w_catalog-datatype = 'CURR'.
ENDIF.
IF field = 'ZQTY' OR field = 'ZRATE'.
w_catalog-no_zero = 'X'.
w_catalog-datatype = 'DEC'.
ENDIF.
APPEND w_catalog TO t_catalog.
CLEAR w_catalog.
ENDFORM.
FORM sf USING fieldname sortup group.
v_count = v_count + 1.
CLEAR w_sort.
w_sort-fieldname = fieldname.
w_sort-spos = v_count.
w_sort-up = sortup.
w_sort-group = group.
APPEND w_sort TO t_sort.
ENDFORM.
FORM alv_user_command USING in_ucomm LIKE sy-ucomm
in_selfield TYPE slis_selfield.
DATA: lfs_data LIKE t_data.
IF in_ucomm = '&IC1'.
READ TABLE t_data INDEX in_selfield-tabindex INTO lfs_data.
CHECK NOT lfs_data-zdidbl IS INITIAL.
IF lfs_data-type = 'DBL'.
DATA: l_zdbl LIKE zmsd_diheader-zdinum.
l_zdbl = in_selfield-value.
EXPORT l_zdbl TO MEMORY ID 'VBL'.
CALL TRANSACTION 'ZMSD_BL01'.
ENDIF.
IF lfs_data-type = 'DI'.
DATA: v_dinum LIKE zmsd_diheader-zdinum.
v_dinum = in_selfield-value.
EXPORT v_dinum TO MEMORY ID 'VDI'.
CALL TRANSACTION 'ZMSD_DI01'.
ENDIF.
ENDIF.
ENDFORM.
FORM get_gst_value.
LOOP AT t_det WHERE zsammg = v_zsammg
AND ZINVNO = V_ZINVNO. "MADK991565
CHECK t_data-zccode IN s_zccode.
t_det-zamount = t_det-zamount * t_det-zexrate.
SELECT SINGLE y0mmtarget2
INTO v_target2
FROM y0mmipstranslate
WHERE y0mmdatatype = '70' AND
y0mmsource = t_det-zchrcode.
SELECT SINGLE y0mmtarget1
INTO t_det-type
FROM y0mmipstranslate
WHERE y0mmdatatype = '76' AND
y0mmsource = v_target2.
IF t_det-type NE '3Z'.
v_gsttotal = v_gsttotal +
( t_det-zamount * 5 / 100 ).
ENDIF.
ENDLOOP.
Regards,
Raj.Hello,
Following is the procedure to convert alv output to spool and then it to PDF Format.
After we display the ALV, we can check whether it is running in the background using system field u2018sy-batchu2018. Then,we call an function module named u2018GET_JOB_RUNTIME_INFOu2019 to get the current job information. Then go to spool request table tbtcp to get the spool id.
Get current job details
CALL FUNCTION u2018GET_JOB_RUNTIME_INFOu2019
IMPORTING
eventid = gd_eventid
eventparm = gd_eventparm
external_program_active = gd_external_program_active
jobcount = gd_jobcount
jobname = gd_jobname
stepcount = gd_stepcount
EXCEPTIONS
no_runtime_info = 1
OTHERS = 2.
SELECT * FROM tbtcp
INTO TABLE it_tbtcp
WHERE jobname = gd_jobname
AND jobcount = gd_jobcount
AND stepcount = gd_stepcount
AND listident <> u20180000000000u2032
ORDER BY jobname
jobcount
stepcount.
READ TABLE it_tbtcp INTO wa_tbtcp INDEX 1.
Finally, we can call function module u2018CONVERT_ABAPSPOOLJOB_2_PDFu2018 to convert spool reqeust(which is stored in OTF format) to PDF format. Then we can call either function module u2018SO_DOCUMENT_SEND_API1u2032 or SAP BCS (Business Communication Service) to send the pdf as an email attachment.
CALL FUNCTION u2018CONVERT_ABAPSPOOLJOB_2_PDFu2019
EXPORTING
src_spoolid = gd_spool_nr
no_dialog = c_no
dst_device = c_device
IMPORTING
pdf_bytecount = gd_bytecount
TABLES
pdf = it_pdf_output
EXCEPTIONS
err_no_abap_spooljob = 1
err_no_spooljob = 2
err_no_permission = 3
err_conv_not_possible = 4
err_bad_destdevice = 5
user_cancelled = 6
err_spoolerror = 7
err_temseerror = 8
err_btcjob_open_failed = 9
err_btcjob_submit_failed = 10
err_btcjob_close_failed = 11
OTHERS = 12.
Regards,
Sayali
Edited by: Sayali Paradkar on Apr 20, 2010 12:51 PM -
Alv output download to excel sheet spliting into three line
hi,
i have developed alv report with 62 fields (62 colums).when i download this output into excel sheet each line spliting into three line.each field has 20 char length.i want download each row as single line.
i am using local file (ctrl + shift+F9) -> spreadsheet option
please advice me to solve this issue. i am using fm REUSE_ALV_GRID_DISPLAY.
In layout i am using
DATA: min_linesize like sy-linsz, " if initial min_linesize = 80
max_linesize like sy-linsz. " Default 250
min_linesize = 100.
max_linesize = 1000.
gt_layout-zebra = 'X'. "space.
gt_layout-colwidth_optimize = space.
gt_layout-max_linesize = min_linesize.
gt_layout-max_linesize = max_linesize.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_bypassing_buffer = ' '
i_callback_program = sy-repid
i_callback_pf_status_set = 'SET-PF-STATUS'
i_callback_user_command = 'USER_COMMAND'
it_fieldcat = gt_fieldcat[]
it_events = gt_events[]
is_layout = gt_layout
is_variant = v_stru_disvar
i_default = 'X'
i_save = 'A'
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = it_final[]
EXCEPTIONS
program_error = 1
OTHERS = 2
Edited by: Raja Ram on Aug 4, 2009 12:40 PMsolved
-
Alv output splitting into two rows when converting into excel sheet.
Hi frends,
I have alv report with 60 fields . The report output is coming currently . But when i am exporting into excel sheet from the option local file--> speadsheet each row is splitting into two rows including header in excel sheet.
Please provide your valuable suggestions to avoid this.
Regards,
Ramu .
Edited by: Ramu.K on Sep 8, 2009 5:59 PMHi,
Please use the grid option and with the Spreadsheet button (CntrShiftF7). Do "Save as" and save it as excel. It should work.
Regards,
Pradyumna -
Download colored ALV output in to EXCEL sheet
Hi ,
I want to download colored ALV output to Excel sheet with color.
one of the field in ALV is with 4 colors depending on condition.
i am unable to download the color using download option(that field is comming with out color).
Please help me by providing the solution.
Thanks in advance.
Regards
sarathHi Srini,
thanks for the reply.
i am using standard download function only.
if i use download->local file->HTML Format only the font is appearing in colors.in case of spread sheet no color comming.
but my requirement is to download into excel and background also with color(green...) font in black like that.
(exactly appearing in the ALV)
Thanks
sarath -
To download alv output to two excel sheets because of large data
Hi all,
I want to download alv output to excel sheet,I know how to do,but the no of record is very large and can not be accomodated in one sheet.
can anyone please tell how to download it into two sheets or some other way.
I want excel format only.
Regards,
sudhahi sudha yadav,
right now i am working on the same issue.
what right i am doing is that,
i want to download an internal table it is containing more than 2 lakhs records but excel can accomidate 60000 records, so
before call gui download i am sending first 60000 records into another internal table with same time, by using append statemen and indexs,
that new internal table i am downloading
again i am repeating the same thing by using sy-tabix,
finally i am creating more than one excel file
by using oops concepts we can also create in one excel file no of work sheets
but its lengthy process so i am right now creating no of excel files only
if it is useful , pls rewards points to this answer -
Alv output- download to excel file
Hi
I have ALV report. My requirement is
For example i have 10 records in my ALV output.
I want to download first 5 data to excel file.
so i need to select the data and click the button download in alv screen. I created the download button in ALV screen.
how to write coding for thisHi Kumar K,
U can do it by feeling another internal table from the final internal table which u displayed...
suppose u want the record 5 to 12 then
LOOP AT itab FROM 5 TO 12.
Append itab to itab2.
ENDLOOP.
So now Itab2 contains record 5 to 12...
Logic:
Create one Custom Button ... Now For Sy-ucomm of that button... provide popup window with FROM and TO parameters...
Then using Loop... Endloop... select that much records form internal table to another internal table say itab2...
Now using GUI_DOWNLOAD or WS_DOWNLOAD or any other FMs and pass the internal table to this FM...
For more information on LOOP Syntax...
LOOP AT itab - cond
Syntax
... [FROM idx1] [TO idx2] [WHERE log_exp].
Extras:
1. ... FROM idx1
2. ... TO idx2
3. ... WHERE log_exp
Effect
The table rows to be read in a LOOP-loop can be limited by optional conditions; if no conditions are specified , all rows of the table are read.
Addition 1
... FROM idx1
Effect
The specification FROM is only possible with standard tables and sorted tables. This specification only accepts table rows starting from table index idx1. For idx1, a data object of the type i is expected. If the value of idx1 is smaller or equal to 0, then it will be set to 1. If the value is larger than the number of table rows, the loop is not passed through.
Addition 2
... TO idx2
Effect
The specification TO is only possible with standard tables and sorted tables. The specification only accepts table rows after table index idx2. For idx2, a data object of the type i is expected. If the value of idx2 is smaller or equal to 0, then the loop will not be passed. If the value is larger than the number of table rows, then the value will be set to the number of rows. If idx2 is smaller than idx1, then the loop is not passed as well.
Addition 3
... WHERE log_exp
Effect
WHERE can be specified with all table-types. After WHERE, you can specify any logical expression log_exp in which the first operand of any singular comparison is a component of the internal table. For this reason, all logical expressions are possible except for IS ASSIGNED, IS REQUESTED and IS SUPPLIED. Dynamic specification of a component through bracketed character-type data objects is not possible. Loops at sorted tables must have compatible operands of the logical expression. All rows are read for which the logical expression is true.
Notes
The logical expression specified after WHERE is analyzed once at entry into the loop. Possible changes of the second operand during loop processing are not taken into account.
While with standard tables all rows of the internal table are checked for the logical expression of the WHERE- addition, with sorted tables and hash tables (as of Release 7.0) you can achieve optimized access by checking that at least the beginning part of the table key in sorted tables and the entire table key in hash tables is equal in the logical expression through queries linked with AND. Optimization also takes effect if the logical expression contains other queries linked with AND with arbitrary operators.
Hope it will solve your problem..
Thanks & Regards
ilesh 24x7 -
How to Download ALV Output LOGO to Excel ?
Hi
I have Used the LOGO in ALV Output. Iam getting the LOGO through REUSE_ALV_GRID_DISPLAY. If i download the Data to Excel file, the LOGO is not coming. How to solve this problem.
Thanks & Regards,
N.L.Hi,
I had a sample code wich will insert LOGO from PRESENTATION server into excel / word.
TYPE-POOLS ole2.
DATA:
o_word TYPE ole2_object,
excel TYPE ole2_object,
o_documents TYPE ole2_object,
o_actdoc TYPE ole2_object,
o_inlineshapes TYPE ole2_object,
o_logo TYPE ole2_object,
WORKBOOK TYPE ole2_object.
*CREATE OBJECT o_word 'Word.Application'.
CREATE OBJECT EXCEL 'Excel.Application'.
*FREE OBJECT EXCEL.
*SET PROPERTY OF o_word 'Visible' = '1'.
SET PROPERTY OF excel 'Visible' = '1'.
*GET PROPERTY OF o_word 'Documents' = o_documents.
GET PROPERTY OF excel 'Documents' = o_documents.
CALL METHOD OF o_documents 'Add' = o_actdoc.
CALL METHOD OF EXCEL 'WORKBOOKS' = WORKBOOK.
GET PROPERTY OF o_actdoc 'InlineShapes' = o_inlineshapes.
CALL METHOD OF o_inlineshapes 'AddPicture' = o_logo
EXPORTING
#1 = 'C:\Temp\OTHERS\Scrap\COMPANY_LOGO.BMP'
#2 = 0
#3 = 1.
WRITE: / 'Test'.
Let us see if some one will come out with good idea/Example.
Thanks. -
How to download output data into Excel with all Column Headings
Hi Experts,
Please tell me How to download output data of ALV Grid into Excel file with all Column Headings and I want to do this using coding,
please send me if any solution is available.
Thanks & Regards,
YogeshVERSION CONTROL (Most recent on top): *
DATE(mm.dd.yyyy) AUTHOR *
06.25.2007 Pattan Naveen *
Hi yogesh,,
Go through this in this u find ur solution.
report ZTEst_programe no standard page heading
line-size 100
line-count 50(5)
message-id zz.
*--alv type declaration
type-pools: slis.
*--Tables:
tables: anla,
anlz,
anlh,
anlb,
anlc.
data: v_pos type i.
data: v_ndjar type i.
data: v_ndper type i,
v_ndperndabp type i,
v_ndjarndabp1 type i,
v_ndjarndabp type i,
value type i,
date(10) type c value '2006.12.04'.
data: c_0000(4) type c value '0000'.
data: begin of it_final occurs 0,
anlkl(8),
bukrs(4),
anln1 like anla-anln1,
anln2 like anla-anln2,
txt50 like anla-txt50,
txa50 like anla-txa50,
anlhtxt like anlh-anlhtxt,
sernr like anla-sernr,
invnr like anla-invnr,
menge like anla-menge,
meins like anla-meins,
inken like anla-inken,
ivdat like anla-ivdat,
aktiv like anla-aktiv,
gsber like anlz-gsber,
kostl like anlz-kostl,
kostlv like anlz-kostlv,
werks like anlz-werks,
stort like anlz-stort,
raumn like anlz-raumn,
txjcd like anlz-txjcd,
ord41 like anla-ord41,
ord44 like anla-ord44,
gdlgrp like anla-gdlgrp,
anlue like anla-anlue,
lifnr like anla-lifnr,
typbz like anla-typbz,
aibn1 like anla-aibn1,
aibn2 like anla-aibn2,
aibdt like anla-aibdt,
posnr like anla-posnr,
vmgli like anla-vmgli,
invzu like anla-invzu,
ernam like anla-ernam,
erdat like anla-erdat,
afabe like anlb-afabe,
afasl like anlb-afasl,
ndjar like anlb-ndjar,
ndper like anlb-ndper,
afabg like anlb-afabg,
ndabj like anlc-ndabj,
ndabp like anlc-ndabp,
andsj like anlc-andsj,
andsp like anlc-andsp,
safbg like anlb-safbg,
umjar like anlb-umjar,
inbda like anlb-inbda,
kansw like anlc-kansw,
knafa like anlc-knafa,
kaafa like anlc-kaafa,
deakt like anla-deakt,
kanza like anlc-kanza,
kaufw like anlc-kaufw,
kinvz like anlc-kinvz,
ksafa like anlc-ksafa,
kmafa like anlc-kmafa,
end of it_final.
data: begin of it_final_as91 occurs 0,
anlkl(8),
bukrs(4),
anln1 like anla-anln1,
anln2 like anla-anln2,
txt50 like anla-txt50,
txa50 like anla-txa50,
anlhtxt like anlh-anlhtxt,
sernr like anla-sernr,
invnr like anla-invnr,
menge like anla-menge,
meins like anla-meins,
inken like anla-inken,
ivdat like anla-ivdat,
aktiv like anla-aktiv,
gsber like anlz-gsber,
kostl like anlz-kostl,
kostlv like anlz-kostlv,
werks like anlz-werks,
stort like anlz-stort,
raumn like anlz-raumn,
txjcd like anlz-txjcd,
ord41 like anla-ord41,
ord44 like anla-ord44,
gdlgrp like anla-gdlgrp,
anlue like anla-anlue,
lifnr(10),
typbz(15),
aibn1 like anla-aibn1,
aibn2 like anla-aibn2,
aibdt like anla-aibdt,
posnr like anla-posnr,
vmgli like anla-vmgli,
invzu like anla-invzu,
ernam like anla-ernam,
erdat like anla-erdat,
end of it_final_as91.
data: it_download_as91 like it_final_as91 occurs 0
with header line."#EC NEEDED
data: begin of it_final_as92 occurs 0,
anlkl(8),
bukrs(4),
anln1 like anla-anln1,
anln2 like anla-anln2,
deakt like anla-deakt,
ernam like anla-ernam,
erdat like anla-erdat,
afabe like anlb-afabe,
afasl like anlb-afasl,
ndjar like anlb-ndjar,
ndper like anlb-ndper,
afabg like date,
ndabj(3) type c,
ndabp(3) type c,
kansw like anlc-kansw,
knafa like anlc-knafa,
kaafa like anlc-kaafa,
kanza like anlc-kanza,
kaufw like anlc-kaufw,
kinvz like anlc-kinvz,
ksafa like anlc-ksafa,
kmafa like anlc-kmafa,
end of it_final_as92.
data: it_download_as92 like it_final_as92 occurs 0
with header line."#EC NEEDED
data: begin of it_values occurs 0,
anlkl(8),
bukrs(4),
anln1 like anla-anln1,
anln2 like anla-anln2,
deakt like anla-deakt,
afabe like anlb-afabe,
afasl like anlb-afasl,
ndjar like anlb-ndjar,
ndper like anlb-ndper,
afabg like date,
ndabj(3) type c,
ndabp(3) type c,
afabe_02 like anlb-afabe,
afasl_02 like anlb-afasl,
ndjar_02 like anlb-ndjar,
ndper_02 like anlb-ndper,
afabg_02 like date,
ndabj_02 like anlc-ndabj,
ndabp_02 like anlc-ndabp,
kansw01 like anlc-kansw,
knafa01 like anlc-knafa,
kaafa01 like anlc-kaafa,
kansw02 like anlc-kansw,
knafa02 like anlc-knafa,
kaafa02 like anlc-kaafa,
kansw03 like anlc-kansw,
knafa03 like anlc-knafa,
kaafa03 like anlc-kaafa,
kansw04 like anlc-kansw,
knafa04 like anlc-knafa,
kaafa04 like anlc-kaafa,
kansw05 like anlc-kansw,
knafa05 like anlc-knafa,
kaafa05 like anlc-kaafa,
kansw06 like anlc-kansw,
knafa06 like anlc-knafa,
kaafa06 like anlc-kaafa,
kansw07 like anlc-kansw,
knafa07 like anlc-knafa,
kaafa07 like anlc-kaafa,
kansw08 like anlc-kansw,
knafa08 like anlc-knafa,
kaafa08 like anlc-kaafa,
kansw09 like anlc-kansw,
knafa09 like anlc-knafa,
kaafa09 like anlc-kaafa,
kanza01 like anlc-kanza,
kaufw01 like anlc-kaufw,
kinvz01 like anlc-kinvz,
ksafa01 like anlc-ksafa,
kmafa01 like anlc-kmafa,
end of it_values.
data: it_values_xls like it_values occurs 0
with header line."#EC NEEDED
data: begin of it_itab1 occurs 0,
bukrs like anla-bukrs,
anlkl like anla-anlkl,
anln1 like anla-anln1,
anln2 like anla-anln2,
txt50 like anla-txt50,
txa50 like anla-txa50,
invnr like anla-invnr,
ktogr like anla-ktogr,
sernr like anla-sernr,
menge like anla-menge,
meins like anla-meins,
ivdat like anla-ivdat,
inken like anla-inken,
aktiv like anla-aktiv,
deakt like anla-deakt,
zugdt like anla-zugdt,
zujhr like anla-zujhr,
zuper like anla-zuper,
gdlgrp like anla-gdlgrp,
anlue like anla-anlue,
xafabch like anla-xafabch,
aibn1 like anla-aibn1,
aibn2 like anla-aibn2,
aibdt like anla-aibdt,
posnr like anla-posnr,
ord41 like anla-ord41,
ord44 like anla-ord44,
vmgli like anla-vmgli,
invzu like anla-invzu,
typbz like anla-typbz,
lifnr like anla-lifnr,
ernam like anla-ernam,
erdat like anla-erdat,
end of it_itab1.
data: begin of it_itab2 occurs 0,
bukrs like anlz-bukrs,
anln1 like anlz-anln1,
anln2 like anla-anln2,
bdatu like anlz-bdatu,
werks like anlz-werks,
gsber like anlz-gsber,
kostl like anlz-kostl,
kostlv like anlz-kostlv,
stort like anlz-stort,
raumn like anlz-raumn,
txjcd like anlz-txjcd,
ipsnr like anlz-ipsnr,
end of it_itab2.
data: begin of it_itab3 occurs 0,
bukrs like anlh-bukrs,
anln1 like anlh-anln1,
anlhtxt like anlh-anlhtxt,
end of it_itab3.
data: begin of it_itab4 occurs 0,
bukrs like anlb-bukrs,
anln1 like anlb-anln1,
anln2 like anla-anln2,
afabe like anlb-afabe,
bdatu like anlb-bdatu,
afasl like anlb-afasl,
ndjar like anlb-ndjar,
ndper like anlb-ndper,
afabg like anlb-afabg,
ndurj like anlb-ndurj,
ndurp like anlb-ndurp,
umjar like anlb-umjar,
safbg like anlb-safbg,
zinbg like anlb-zinbg,
inbda like anlb-inbda,
end of it_itab4.
data: begin of it_itab5 occurs 0,
bukrs like anlc-bukrs,
anln1 like anlc-anln1,
anln2 like anla-anln2,
gjahr like anlc-gjahr,
afabe like anlc-afabe,
zujhr like anlc-zujhr,
zucod like anlc-zucod,
ndabj like anlc-ndabj,
ndabp like anlc-ndabp,
kansw like anlc-kansw,
knafa like anlc-knafa,
kaafa like anlc-kaafa,
ksafa like anlc-ksafa,
andsj like anlc-andsj,
andsp like anlc-andsp,
kanza like anlc-kanza,
kaufw like anlc-kaufw,
kinvz like anlc-kinvz,
kmafa like anlc-kmafa,
end of it_itab5.
ALV DECLARATIONS
*--declarations for Xls sheet header field names
data: begin of it_head occurs 0,
column(70).
data: end of it_head.
data: begin of it_head1 occurs 0,
column(70).
data: end of it_head1.
*--type declarations for field catalog for basic report
data: it_fldcat_head type slis_t_fieldcat_alv,
wa_fldcat_head type slis_fieldcat_alv."#EC NEEDED
data : w_field type slis_fieldcat_alv."#EC NEEDED
data: it_fldcat_head1 type slis_t_fieldcat_alv,
wa_fldcat_head1 type slis_fieldcat_alv."#EC NEEDED
*--type declarations for layout design
data: wa_layout type slis_layout_alv.
*--type declarations for list header on grid
*data: top_of_page type slis_t_listheader.
*--declaration of variables
data : w_repid like sy-repid.
**selection-screen
select-options: s_bukrs for anla-bukrs,
s_anln1 for anla-anln1.
select-options: s_deakt for anla-deakt,
s_gjahr for anlc-gjahr obligatory,
s_anlkl for anla-anlkl,
s_date for anla-aktiv.
*selection-screen
selection-screen begin of block blk1 with frame title text-022.
selection-screen begin of line.
parameters : r1 radiobutton group g1 default 'X'.
selection-screen comment 20(50) text-020.
selection-screen end of line.
selection-screen begin of line.
parameters : r2 radiobutton group g1.
selection-screen comment 20(50) text-021.
selection-screen end of line.
selection-screen end of block blk1.
selection-screen begin of block blk2 with frame title text-023.
select-options: s_ernam for anla-ernam,
s_erdat for anla-erdat .
selection-screen end of block blk2.
*--INITIALIZATION
initialization.
w_repid = sy-repid.
at selection-screen.
if r1 = 'X'.
perform selection_screen_validation.
endif.
if r2 = 'X'.
perform selection_screen_validation.
endif.
*--START-OF-SELCTION
start-of-selection.
if r1 = 'X'.
perform populate-data.
perform fill_finaldata.
perform comment_build using top_of_page.
perform xls_output.
perform download.
endif.
if r2 = 'X'.
perform populate-data.
perform fill_finaldata.
perform fill_as92data.
perform putdata_horizontal.
perform xls_output_as92.
perform download_as92.
endif.
*--END-OF-SELCTION
end-of-selection.
if r1 = 'X'.
perform build_layout.
perform build_fieldcatalog.
perform top_of_page.
perform list-display.
endif.
if r2 = 'X'.
perform build_layout.
perform build_fieldcatalog1.
perform list-display1.
endif.
*& Form SELECTION_SCREEN_VALIDATION
text
--> p1 text
<-- p2 text
form selection_screen_validation.
*--validating originating company code
data: l_bukrs like anla-bukrs."#EC NEEDED
if not s_bukrs[] is initial.
select single bukrs from anla
into l_bukrs
where bukrs in s_bukrs.
if sy-subrc <> 0.
message e000 with text-001 .
endif.
endif.
*--validating originating main asset no.
data: l_anln1 like anla-anln1."#EC NEEDED
if not s_anln1[] is initial.
select single anln1 from anla
into l_anln1
where anln1 in s_anln1.
if sy-subrc <> 0.
message e000 with text-002 .
endif.
endif.
*--validating originating Deactivation date
data: l_deakt like anla-deakt."#EC NEEDED
if not s_deakt[] is initial.
select single deakt from anla
into l_deakt
where deakt in s_deakt.
if sy-subrc <> 0.
message e000 with text-004 .
endif.
endif.
*--validating originating asset class.
data: l_anlkl like anla-anlkl."#EC NEEDED
if not s_anlkl[] is initial.
select single anlkl from anla
into l_anlkl
where anlkl in s_anlkl.
if sy-subrc <> 0.
message e000 with text-006 .
endif.
endif.
*--validating originating Date
data: l_date like anla-aktiv."#EC NEEDED
if not s_date[] is initial.
select single aktiv from anla
into l_date
where aktiv in s_date.
if sy-subrc <> 0.
message e000 with text-007 .
endif.
endif.
*--validating originating Fiscal year which first acquisition was posted
data: l_gjahr like anlc-gjahr."#EC NEEDED
if not s_gjahr[] is initial.
select single gjahr from anlc
into l_gjahr
where gjahr in s_gjahr.
if sy-subrc <> 0.
message e000 with text-008.
endif.
endif.
data: l_ernam like anla-ernam."#EC NEEDED
if not s_ernam[] is initial.
select single ernam from anla
into l_ernam
where ernam in s_ernam.
if sy-subrc <> 0.
message e000 with text-009.
endif.
endif.
data: l_erdat like anla-erdat."#EC NEEDED
if not s_erdat[] is initial.
select single erdat from anla
into l_erdat
where erdat in s_erdat.
if sy-subrc <> 0.
message e000 with text-010.
endif.
endif.
endform. " SELECTION_SCREEN_VALIDATION
*& Form POPULATE-DATA
text
--> p1 text
<-- p2 text
form populate-data.
select bukrs
anlkl
anln1
anln2
txt50
txa50
invnr
ktogr
sernr
menge
meins
ivdat
inken
aktiv
deakt
zugdt
zujhr
zuper
gdlgrp
anlue
xafabch
aibn1
aibn2
aibdt
posnr
ord41
ord44
vmgli
invzu
typbz
lifnr
ernam
erdat
from anla
into table it_itab1
where anlkl in s_anlkl and
anln1 in s_anln1 and
deakt in s_deakt and
bukrs in s_bukrs and
aktiv in s_date.
if sy-subrc ne 0.
message e000 with 'Data does not exist'(094).
endif.
if not it_itab1[] is initial.
select bukrs
anln1
anln2
bdatu
werks
gsber
kostl
kostlv
stort
raumn
txjcd
ipsnr
from anlz
into table it_itab2
for all entries in it_itab1
where bukrs = it_itab1-bukrs and
anln1 = it_itab1-anln1 and
anln2 = it_itab1-anln2.
anln2 = '0000'.
if sy-subrc ne 0.
message e000 with 'Data does not exist'(094).
endif.
endif.
if not it_itab2[] is initial.
select bukrs
anln1
anlhtxt
from anlh
into table it_itab3
for all entries in it_itab2
where bukrs = it_itab2-bukrs and
anln1 = it_itab2-anln1.
if sy-subrc ne 0.
message e000 with 'Data does not exist'(094).
endif.
endif.
if not it_itab1[] is initial.
select bukrs
anln1
anln2
afabe
bdatu
afasl
ndjar
ndper
afabg
ndurj
ndurp
umjar
safbg
zinbg
inbda
from anlb
into table it_itab4
for all entries in it_itab1
where bukrs = it_itab1-bukrs and
anln1 = it_itab1-anln1 and
anln2 = it_itab1-anln2.
anln2 = '0000'.
if sy-subrc ne 0.
message e000 with 'Data does not exist'(094).
endif.
endif.
sort it_itab4 by bukrs anln1 anln2 afabe.
if not it_itab4[] is initial.
select bukrs
anln1
anln2
gjahr
afabe
zujhr
zucod
ndabj
ndabp
kansw
knafa
kaafa
ksafa
andsj
andsp
kanza
kaufw
kinvz
kmafa
from anlc
into table it_itab5
for all entries in it_itab4
where bukrs = it_itab4-bukrs and
anln1 = it_itab4-anln1 and
anln2 = it_itab4-anln2 and
anln2 = '0000' and
gjahr in s_gjahr.
if sy-subrc ne 0.
message e000 with 'Data does not exist'(094).
endif.
endif.
sort it_itab5 by bukrs anln1 anln2 ndabj ndabp.
endform. " POPULATE-DATA
*& Form FILL_FINALDATA
text
--> p1 text
<-- p2 text
form fill_finaldata.
loop at it_itab5.
loop at it_itab4 where bukrs = it_itab5-bukrs and
anln1 = it_itab5-anln1 and
anln2 = it_itab5-anln2 and
afabe = it_itab5-afabe.
it_final-afabe = it_itab4-afabe.
it_final-afasl = it_itab4-afasl.
it_final-ndjar = it_itab4-ndjar.
it_final-ndper = it_itab4-ndper.
it_final-afabg = it_itab4-afabg.
it_final-umjar = it_itab4-umjar.
it_final-safbg = it_itab4-safbg.
it_final-inbda = it_itab4-inbda.
it_final-ndabj = it_itab5-ndabj.
it_final-ndabp = it_itab5-ndabp.
it_final-kansw = it_itab5-kansw.
it_final-knafa = it_itab5-knafa.
it_final-kaafa = it_itab5-kaafa.
it_final-andsj = it_itab5-andsj.
it_final-andsp = it_itab5-andsp.
it_final-kanza = it_itab5-kanza.
it_final-kaufw = it_itab5-kaufw.
it_final-kinvz = it_itab5-kinvz.
it_final-ksafa = it_itab5-ksafa.
it_final-kmafa = it_itab5-kmafa.
read table it_itab1 with key bukrs = it_itab5-bukrs
anln1 = it_itab5-anln1
anln2 = it_itab5-anln2.
if sy-subrc = 0.
it_final-anlkl = it_itab1-anlkl.
it_final-anln1 = it_itab1-anln1.
it_final-anln2 = it_itab1-anln2.
it_final-bukrs = it_itab1-bukrs.
it_final-txt50 = it_itab1-txt50.
it_final-txa50 = it_itab1-txa50.
it_final-invnr = it_itab1-invnr.
it_final-sernr = it_itab1-sernr.
it_final-menge = it_itab1-menge.
it_final-meins = it_itab1-meins.
it_final-ivdat = it_itab1-ivdat.
it_final-inken = it_itab1-inken.
it_final-aktiv = it_itab1-aktiv.
it_final-deakt = it_itab1-deakt.
it_final-gdlgrp = it_itab1-gdlgrp.
it_final-anlue = it_itab1-anlue.
it_final-aibn1 = it_itab1-aibn1.
it_final-aibn2 = it_itab1-aibn2.
it_final-aibdt = it_itab1-aibdt.
it_final-ord41 = it_itab1-ord41.
it_final-ord44 = it_itab1-ord44.
it_final-vmgli = it_itab1-vmgli.
it_final-typbz = it_itab1-typbz.
it_final-lifnr = it_itab1-lifnr.
it_final-posnr = it_itab1-posnr.
it_final-invzu = it_itab1-invzu.
endif.
read table it_itab2 with key bukrs = it_itab5-bukrs
anln1 = it_itab5-anln1
anln2 = it_itab5-anln2.
if sy-subrc = 0.
it_final-werks = it_itab2-werks.
it_final-gsber = it_itab2-gsber.
it_final-kostl = it_itab2-kostl.
it_final-kostlv = it_itab2-kostlv.
it_final-stort = it_itab2-stort.
it_final-raumn = it_itab2-raumn.
it_final-txjcd = it_itab2-txjcd.
endif.
read table it_itab3 with key bukrs = it_itab5-bukrs
anln1 = it_itab5-anln1.
if sy-subrc = 0.
it_final-anlhtxt = it_itab3-anlhtxt.
endif.
append it_final.
clear it_final.
endloop.
endloop.
loop at it_final.
move-corresponding it_final to it_final_as91.
append it_final_as91.
clear it_final_as91.
endloop.
delete adjacent duplicates from it_final_as91 comparing anlkl bukrs
anln1 anln2.
it_download_as91[] = it_final_as91[].
endform. " FILL_FINALDATA
*& Form BUILD_LAYOUT
text
--> p1 text
<-- p2 text
form build_layout.
wa_layout-zebra = 'X'.
endform. " BUILD_LAYOUT
*& Form BUILD_FIELDCATALOG
text
--> p1 text
<-- p2 text
form build_fieldcatalog.
if it_fldcat_head is initial.
v_pos = 0.
v_pos = v_pos + 1.
w_field-col_pos = v_pos.
wa_fldcat_head-tabname = 'it_FINAL_AS91'.
wa_fldcat_head-fieldname = 'ANLKL'.
wa_fldcat_head-seltext_l = 'Asset Class'(093).
append wa_fldcat_head to it_fldcat_head.
V_POS = 0.
v_pos = v_pos + 1.
w_field-col_pos = v_pos.
wa_fldcat_head-tabname = 'it_FINAL_AS91'.
wa_fldcat_head-fieldname = 'BUKRS'.
wa_fldcat_head-seltext_l = 'Company'(092).
append wa_fldcat_head to it_fldcat_head.
V_POS = 0.
v_pos = v_pos + 1.
w_field-col_pos = v_pos.
wa_fldcat_head-tabname = 'it_FINAL_AS91'.
wa_fldcat_head-fieldname = 'ANLN1'.
wa_fldcat_head-seltext_l = 'Asset No'(091).
append wa_fldcat_head to it_fldcat_head.
V_POS = 0.
v_pos = v_pos + 1.
w_field-col_pos = v_pos.
wa_fldcat_head-tabname = 'it_FINAL_AS91'.
wa_fldcat_head-fieldname = 'ANLN2'.
wa_fldcat_head-seltext_l = 'Asset Sub No'(090).
append wa_fldcat_head to it_fldcat_head.
V_POS = 0.
v_pos = v_pos + 1.
w_field-col_pos = v_pos.
wa_fldcat_head-tabname = 'it_FINAL_AS91'.
wa_fldcat_head-fieldname = 'TXT50'.
wa_fldcat_head-seltext_l = 'Asset Des.'(089).
append wa_fldcat_head to it_fldcat_head.
V_POS = 0.
v_pos = v_pos + 1.
w_field-col_pos = v_pos.
wa_fldcat_head-tabname = 'it_FINAL_AS91'.
wa_fldcat_head-fieldname = 'TXA50'.
wa_fldcat_head-seltext_l = 'Asset Des.'(088).
append wa_fldcat_head to it_fldcat_head.
V_POS = 0.
v_pos = v_pos + 1.
w_field-col_pos = v_pos.
wa_fldcat_head-tabname = 'it_FINAL_AS91'.
wa_fldcat_head-fieldname = 'ANLHTXT'.
wa_fldcat_head-seltext_l = 'Asset main no txt'(087).
append wa_fldcat_head to it_fldcat_head.
V_POS = 0.
v_pos = v_pos + 1.
w_field-col_pos = v_pos.
wa_fldcat_head-tabname = 'it_FINAL_AS91'.
wa_fldcat_head-fieldname = 'SERNR'.
wa_fldcat_head-seltext_l = 's.no/Expl no.'(086).
append wa_fldcat_head to it_fldcat_head.
V_POS = 0.
v_pos = v_pos + 1.
w_field-col_pos = v_pos.
wa_fldcat_head-tabname = 'it_FINAL_AS91'.
wa_fldcat_head-fieldname = 'INVNR'.
wa_fldcat_head-seltext_l = 'Inv No'(085).
append wa_fldcat_head to it_fldcat_head.
V_POS = 0.
v_pos = v_pos + 1.
w_field-col_pos = v_pos.
wa_fldcat_head-tabname = 'it_FINAL_AS91'.
wa_fldcat_head-fieldname = 'MENGE'.
wa_fldcat_head-seltext_l = 'Qtty'(084).
append wa_fldcat_head to it_fldcat_head.
V_POS = 0.
v_pos = v_pos + 1.
w_field-col_pos = v_pos.
wa_fldcat_head-tabname = 'it_FINAL_AS91'.
wa_fldcat_head-fieldname = 'MEINS'.
wa_fldcat_head-seltext_l = 'Units'(083).
append wa_fldcat_head to it_fldcat_head.
v_pos = v_pos + 1.
w_field-col_pos = v_pos.
wa_fldcat_head-tabname = 'it_FINAL_AS91'.
wa_fldcat_head-fieldname = 'INKEN'.
wa_fldcat_head-seltext_l = 'Inv indi.'(082).
append wa_fldcat_head to it_fldcat_head.
V_POS = 0.
v_pos = v_pos + 1.
w_field-col_pos = v_pos.
wa_fldcat_head-tabname = 'it_FINAL_AS91'.
wa_fldcat_head-fieldname = 'IVDAT'.
wa_fldcat_head-seltext_l = 'Last inv date'(081).
append wa_fldcat_head to it_fldcat_head.
V_POS = 0.
v_pos = v_pos + 1.
w_field-col_pos = v_pos.
wa_fldcat_head-tabname = 'it_FINAL_AS91'.
wa_fldcat_head-fieldname = 'AKTIV'.
wa_fldcat_head-seltext_l = 'Asset Capital date'(080).
append wa_fldcat_head to it_fldcat_head.
V_POS = 0.
v_pos = v_pos + 1.
w_field-col_pos = v_pos.
wa_fldcat_head-tabname = 'it_FINAL_AS91'.
wa_fldcat_head-fieldname = 'GSBER'.
wa_fldcat_head-seltext_l = 'Busin. Area'(079).
append wa_fldcat_head to it_fldcat_head.
V_POS = 0.
v_pos = v_pos + 1.
w_field-col_pos = v_pos.
wa_fldcat_head-tabname = 'it_FINAL_AS91'.
wa_fldcat_head-fieldname = 'KOSTL'.
wa_fldcat_head-seltext_l = 'cost centre'(078).
append wa_fldcat_head to it_fldcat_head.
V_POS = 0.
v_pos = v_pos + 1.
w_field-col_pos = v_pos.
wa_fldcat_head-tabname = 'it_FINAL_AS91'.
wa_fldcat_head-fieldname = 'KOSTLV'.
wa_fldcat_head-seltext_l = 'CC respon.for asset'(077).
append wa_fldcat_head to it_fldcat_head.
V_POS = 0.
v_pos = v_pos + 1.
w_field-col_pos = v_pos.
wa_fldcat_head-tabname = 'it_FINAL_AS91'.
wa_fldcat_head-fieldname = 'WERKS'.
wa_fldcat_head-seltext_l = 'Plant'(076).
append wa_fldcat_head to it_fldcat_head.
V_POS = 0.
v_pos = v_pos + 1.
w_field-col_pos = v_pos.
wa_fldcat_head-tabname = 'it_FINAL_AS91'.
wa_fldcat_head-fieldname = 'STORT'.
wa_fldcat_head-seltext_l = 'Asset location'(075).
append wa_fldcat_head to it_fldcat_head.
V_POS = 0.
v_pos = v_pos + 1.
w_field-col_pos = v_pos.
wa_fldcat_head-tabname = 'it_FINAL_AS91'.
wa_fldcat_head-fieldname = 'RAUMN'.
wa_fldcat_head-seltext_l = 'Room'(074).
append wa_fldcat_head to it_fldcat_head.
V_POS = 0.
v_pos = v_pos + 1.
w_field-col_pos = v_pos.
wa_fldcat_head-tabname = 'it_FINAL_AS91'.
wa_fldcat_head-fieldname = 'TXJCD'.
wa_fldcat_head-seltext_l = 'Tax. Jur.'(073).
append wa_fldcat_head to it_fldcat_head.
V_POS = 0.
v_pos = v_pos + 1.
w_field-col_pos = v_pos.
wa_fldcat_head-tabname = 'it_FINAL_AS91'.
wa_fldcat_head-fieldname = 'ORD41'.
wa_fldcat_head-seltext_l = 'Evaluation Grp 1'(072).
append wa_fldcat_head to it_fldcat_head.
V_POS = 0.
v_pos = v_pos + 1.
w_field-col_pos = v_pos.
wa_fldcat_head-tabname = 'it_FINAL_AS91'.
wa_fldcat_head-fieldname = 'ORD44'.
wa_fldcat_head-seltext_l = 'Evaluation Grp 4'(071).
append wa_fldcat_head to it_fldcat_head.
V_POS = 0.
v_pos = v_pos + 1.
w_field-col_pos = v_pos.
wa_fldcat_head-tabname = 'it_FINAL_AS91'.
wa_fldcat_head-fieldname = 'GDLGRP'.
wa_fldcat_head-seltext_l = 'Evalu. group 5'(070).
append wa_fldcat_head to it_fldcat_head.
V_POS = 0.
v_pos = v_pos + 1.
w_field-col_pos = v_pos.
wa_fldcat_head-tabname = 'it_FINAL_AS91'.
wa_fldcat_head-fieldname = 'ANLUE'.
wa_fldcat_head-seltext_l = 'Asset Super No'(069).
append wa_fldcat_head to it_fldcat_head.
V_POS = 0.
v_pos = v_pos + 1.
w_field-col_pos = v_pos.
wa_fldcat_head-tabname = 'it_FINAL_AS91'.
wa_fldcat_head-fieldname = 'LIFNR'.
wa_fldcat_head-seltext_l = 'Vendor Acct. No.'(068).
append wa_fldcat_head to it_fldcat_head.
V_POS = 0.
v_pos = v_pos + 1.
w_field-col_pos = v_pos.
wa_fldcat_head-tabname = 'it_FINAL_AS91'.
wa_fldcat_head-fieldname = 'TYPBZ'.
wa_fldcat_head-seltext_l = 'Reference no'(067).
append wa_fldcat_head to it_fldcat_head.
V_POS = 0.
v_pos = v_pos + 1.
w_field-col_pos = v_pos.
wa_fldcat_head-tabname = 'it_FINAL_AS91'.
wa_fldcat_head-fieldname = 'AIBN1'.
wa_fldcat_head-seltext_l = 'Original Asset Trans.'(066).
append wa_fldcat_head to it_fldcat_head.
V_POS = 0.
v_pos = v_pos + 1.
w_field-col_pos = v_pos.
wa_fldcat_head-tabname = 'it_FINAL_AS91'.
wa_fldcat_head-fieldname = 'AIBN2'.
wa_fldcat_head-seltext_l = 'Original Asset Trans.'(065).
append wa_fldcat_head to it_fldcat_head.
V_POS = 0.
v_pos = v_pos + 1.
w_field-col_pos = v_pos.
wa_fldcat_head-tabname = 'it_FINAL_AS91'.
wa_fldcat_head-fieldname = 'AIBDT'.
wa_fldcat_head-seltext_l = 'Trans. Asset'(064).
append wa_fldcat_head to it_fldcat_head.
V_POS = 0.
v_pos = v_pos + 1.
w_field-col_pos = v_pos.
wa_fldcat_head-tabname = 'it_FINAL_AS91'.
wa_fldcat_head-fieldname = 'POSNR'.
wa_fldcat_head-seltext_l = 'WBS Elt. Invt. Proj.'(063).
append wa_fldcat_head to it_fldcat_head.
V_POS = 0.
v_pos = v_pos + 1.
w_field-col_pos = v_pos.
wa_fldcat_head-tabname = 'it_FINAL_AS91'.
wa_fldcat_head-fieldname = 'VMGLI'.
wa_fldcat_head-seltext_l = 'Property clas.key'(062).
append wa_fldcat_head to it_fldcat_head.
V_POS = 0.
v_pos = v_pos + 1.
w_field-col_pos = v_pos.
wa_fldcat_head-tabname = 'it_FINAL_AS91'.
wa_fldcat_head-fieldname = 'INVZU'.
wa_fldcat_head-seltext_l = 'suppl.inv spec.'(061).
append wa_fldcat_head to it_fldcat_head.
endif.
endform. " BUILD_FIELDCATALOG
*& Form COMMENT_BUILD
text
-->P_TOP_OF_PAGE text
*form comment_build using top_of_page type slis_t_listheader.
data: ls_line type slis_listheader.
****Header
clear : ls_line.
ls_line-typ = 'H'.
LS_LINE-KEY: not used for this type
ls_line-info = 'ASSET MASTER DATA LIST'.
append ls_line to top_of_page.
****Selection
clear ls_line.
ls_line-typ = 'S'.
ls_line-key = 'Key 1'.
ls_line-info = 'Asset Records'.
append ls_line to top_of_page.
****Action
clear ls_line.
ls_line-typ = 'A'.
LS_LINE-KEY: not used for this type
ls_line-info = 'for AS91'.
append ls_line to top_of_page.
*endform. "comment_build
FORM top_of_page *
*form top_of_page.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
i_logo = 'ENJOYSAP_LOGO'
it_list_commentary = top_of_page.
*endform. "top_of_page
*& Form LIST-DISPLAY
text
--> p1 text
<-- p2 text
form list-display.
wa_layout-colwidth_optimize = 'X'.
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_callback_program = w_repid
i_callback_top_of_page = 'TOP_OF_PAGE'
is_layout = wa_layout
it_fieldcat = it_fldcat_head
i_background_id = 'ALV_BACKGROUND'
tables
t_outtab = it_final_as91
exceptions
program_error = 1
others = 2.
if sy-subrc <> 0.
write:/'No Top of Page'(098).
endif.
endform. " LIST-DISPLAY
*& Form DOWNLOAD
text
--> p1 text
<-- p2 text
form download.
perform setup_header.
call function 'DOWNLOAD'
exporting
filetype = 'DAT'
tables
data_tab = it_download_as91
fieldnames = it_head
exceptions
invalid_filesize = 1
invalid_table_width = 2
invalid_type = 3
no_batch = 4
unknown_error = 5
gui_refuse_filetransfer = 6
customer_error = 7
others = 8.
if sy-subrc <> 0.
write:/'Error in file Type'(097).
endif.
endform. " DOWNLOAD
*& Form setup_header
text -
Output transport to excel sheet
Dear Friends,
One problem facing in SD report.
Report contain 61 column in ALV.
At runtime it will fetch 30000 to 32000 rows.
When i convert this report into excel format.
It will store data in excel sheet with one line blank between
two record.
Means, If i have 30000 records then it will store 60000
rows in excel sheet.
It will leave one blank line after every record.
Now problem is, if i have more then 32500 then it will not feet into excel sheet, because capacity of excel is 65000 rows.
So, please provide me some solution.
Regards,
NilayHi Nilay,
If it is Zreport then u can make the changes to the code. Delete all the blank rows from internal table that is being downloaded.
If it is standard report then u can copy to Zreport and make the above change.
Even in this case also at max u can download 65k+ records.
If it is more than that then u have to split ur itab into multiple itabs and then By using OLE concepts u can download to multiple sheets of same excel.
Thanks,
Vinod. -
Reg. Reports download into excel
Hello Everyone,
I have installed oracle Application server 10g (10.1.2.0.2) with webutill.
But while downloading data into Excel sheet it's through an error WUO-712 randomly due to which some of the data is missed out.
We have installed webutil 10.5 with forms and reports 10g.
Please suggest some solution for the same.
Please revert for the same ASAP.
Thanks in advance
Regards,
Ajinkyain report we are using local currency and parallel currency. one colum local currency and another colum parallel currency shwoing in report, but i transfer to excel shwoig following format.
account no local currency account no paraelll currency
we need following format in excel
account no local currency parellel currency
regards
JK Rao -
Reg: ALV Output to EXCEL
Hi
i am working in a alv report and i got the output and when i download in to excel some of the columns getting mismatched..
I got some solution from theSDN have to do some modification in Excel sheet,But now i am using EXCEL 2007 version can any one gimme some logice how to come out of this issue??
Thanks and Regards,
Arun JosephArun,
some time when you download output to excel than may be some of the field or sorting critieria may be not reflect in excel so you need to do some adjustment even you are using excel2007.
Amit. -
Download alv output to an excel file
Dear experts,
I am using oops alv if i click file download button if i select anything except <b>spread sheet</b> it gives a short dump . Downloaded values are correct i want to know how to save it as a local file also to resolve for other options.
regards,
balajiHi Balaji,
Refer this link (Very helpful): http://www.****************/Tutorials/ALV/ColoredOutput/Program.htm
Multi-colored output of ALV in EXCEL
There would be many situations where we need to highlight some of the records in bold or different color depending on some value. In this document, we showcase how this can be achieved. Look at the screenshot of an excel sheet with different colors and bold in some cells.
Following is a demo program in achieving the same:
Report ZMULTICOLOR_TEST no standard page heading.
this report demonstrates how to send some ABAP data to an
EXCEL sheet using OLE automation.
include ole2incl.
handles for OLE objects
data: h_excel type ole2_object, " Excel object
h_mapl type ole2_object, " list of workbooks
h_map type ole2_object, " workbook
h_zl type ole2_object, " cell
h_f type ole2_object, " font
h_c type ole2_object. " color
DATA: FILENAME LIKE RLGRAP-FILENAME.
tables: spfli.
data h type i.
table of flights
data: it_spfli like spfli occurs 10 with header line.
*& Event START-OF-SELECTION
start-of-selection.
read flights
select * from spfli into table it_spfli.
display header
uline (61).
write: / sy-vline no-gap,
(3) 'Flg'(001) color col_heading no-gap, sy-vline no-gap,
(4) 'Nr'(002) color col_heading no-gap, sy-vline no-gap,
(20) 'Von'(003) color col_heading no-gap, sy-vline no-gap,
(20) 'Nach'(004) color col_heading no-gap, sy-vline no-gap,
(8) 'Zeit'(005) color col_heading no-gap, sy-vline no-gap.
uline /(61).
display flights
loop at it_spfli.
write: / sy-vline no-gap,
it_spfli-carrid color col_key no-gap, sy-vline no-gap,
it_spfli-connid color col_normal no-gap, sy-vline no-gap,
it_spfli-cityfrom color col_normal no-gap, sy-vline no-gap,
it_spfli-cityto color col_normal no-gap, sy-vline no-gap,
it_spfli-deptime color col_normal no-gap, sy-vline no-gap.
endloop.
uline /(61).
tell user what is going on
call function 'SAPGUI_PROGRESS_INDICATOR'
exporting
PERCENTAGE = 0
text = text-007
exceptions
others = 1.
start Excel
create object h_excel 'EXCEL.APPLICATION'.
PERFORM ERR_HDL.
set property of h_excel 'Visible' = 1.
CALL METHOD OF H_EXCEL 'FILESAVEAS' EXPORTING #1 = 'c:\kis_excel.xls' .
PERFORM ERR_HDL.
tell user what is going on
call function 'SAPGUI_PROGRESS_INDICATOR'
exporting
PERCENTAGE = 0
text = text-008
exceptions
others = 1.
get list of workbooks, initially empty
call method of h_excel 'Workbooks' = h_mapl.
perform err_hdl.
add a new workbook
call method of h_mapl 'Add' = h_map.
perform err_hdl.
tell user what is going on
call function 'SAPGUI_PROGRESS_INDICATOR'
exporting
PERCENTAGE = 0
text = text-009
exceptions
others = 1.
output column headings to active Excel sheet
perform fill_cell using 1 1 1 200 'Carrier id'(001).
perform fill_cell using 1 2 1 200 'Connection id'(002).
perform fill_cell using 1 3 1 200 'City from'(003).
perform fill_cell using 1 4 1 200 'City to'(004).
perform fill_cell using 1 5 1 200 'Dep. Time'(005).
loop at it_spfli.
copy flights to active EXCEL sheet
h = sy-tabix + 1.
if it_spfli-carrid cs 'AA'.
perform fill_cell using h 1 0 000255000 it_spfli-carrid.
elseif it_spfli-carrid cs 'AZ'.
perform fill_cell using h 1 0 168000000 it_spfli-carrid.
elseif it_spfli-carrid cs 'JL'.
perform fill_cell using h 1 0 168168000 it_spfli-carrid.
elseif it_spfli-carrid cs 'LH'.
perform fill_cell using h 1 0 111111111 it_spfli-carrid.
elseif it_spfli-carrid cs 'SQ'.
perform fill_cell using h 1 0 100100100 it_spfli-carrid.
else.
perform fill_cell using h 1 0 000145000 it_spfli-carrid.
endif.
if it_spfli-connid lt 400.
perform fill_cell using h 2 0 255000255 it_spfli-connid.
elseif it_spfli-connid lt 800.
perform fill_cell using h 2 0 077099088 it_spfli-connid.
else.
perform fill_cell using h 2 0 246156138 it_spfli-connid.
endif.
if it_spfli-cityfrom cp 'S*'.
perform fill_cell using h 3 0 155155155 it_spfli-cityfrom.
elseif it_spfli-cityfrom cp 'N*'.
perform fill_cell using h 3 0 189111222 it_spfli-cityfrom.
else.
perform fill_cell using h 3 0 111230222 it_spfli-cityfrom.
endif.
if it_spfli-cityto cp 'S*'.
perform fill_cell using h 4 0 200200200 it_spfli-cityto.
elseif it_spfli-cityto cp 'N*'.
perform fill_cell using h 4 0 000111222 it_spfli-cityto.
else.
perform fill_cell using h 4 0 130230230 it_spfli-cityto.
endif.
if it_spfli-deptime lt '020000'.
perform fill_cell using h 5 0 145145145 it_spfli-deptime.
elseif it_spfli-deptime lt '120000' .
perform fill_cell using h 5 0 015215205 it_spfli-deptime.
elseif it_spfli-deptime lt '180000' .
perform fill_cell using h 5 0 000215205 it_spfli-deptime.
else.
perform fill_cell using h 5 0 115115105 it_spfli-deptime.
endif.
endloop.
EXCEL FILENAME
CONCATENATE SY-REPID '_' SY-DATUM6(2) '_' SY-DATUM4(2) '_'
SY-DATUM(4) '_' SY-UZEIT '.XLS' INTO FILENAME.
CALL METHOD OF H_MAP 'SAVEAS' EXPORTING #1 = FILENAME.
free object h_excel.
perform err_hdl.
FORM FILL_CELL *
sets cell at coordinates i,j to value val boldtype bold *
form fill_cell using i j bold col val.
call method of h_excel 'Cells' = h_zl
exporting
#1 = i
#2 = j.
perform err_hdl.
set property of h_zl 'Value' = val .
perform err_hdl.
get property of h_zl 'Font' = h_f.
perform err_hdl.
set property of h_f 'Bold' = bold .
perform err_hdl.
set property of h_f 'Color' = col.
perform err_hdl.
endform. "FILL_CELL
*& Form ERR_HDL
outputs OLE error if any *
--> p1 text
<-- p2 text
form err_hdl.
if sy-subrc <> 0.
write: / 'OLE-Automation Error:'(010), sy-subrc.
stop.
endif.
endform. " ERR_HDL
Good Luck and thanks
AK
Maybe you are looking for
-
Hello Friends, i have this problem in Bex Message Class: RSBOLAP Message No. 014 " Transformer exception while transforming BEx Web templates". Log defaulttrace "A message was generated: ERROR Transformer exception while transforming BEx Web template
-
Comparing focus of new iMac's internal iSight video
I have a new iMac. When I view iSight's live feed in, say, Photo Booth or iMovie, it seems like the focus is not very sharp. I've tried the suggestions in Apple's tech note on iSight. Here are a few shots (posted to Picasa) I took. This is with artif
-
Configure HTTP POST on arrowpoint with version 5.00
I configured the headers rule for http post but it´s doesn´t work. Someone have any idea..?? This is the config.....thanks service wqa01-27 ip address 172.16.51.27 keepalive uri "/newadmin/admin/arrow.asp" keepalive frequency 35 keepalive type http s
-
Netscape or Apache plugin for WebLogic
Hi, The Netscape plugin for WebLogic is mentioned many time in on-line documents for WebLogic servers. However, I can't find any information with regard to how the plug-in is distributed, licensed. Could someone please tell me if it is bundled in the
-
How do you restore movies you lost?
I had to delete my iTunes and redownload it because it wouldn't upgrade my iTunes for my new iPhone. The movies aren't located in any folders and they're not on any other devices. What can I do?! I already paid so much money for these movies!