Skip to Content
author's profile photo Former Member
Former Member

Downloading report output to PDF Format

HI

I need to download a report output to PDF format. I mean when we execute the report in ALV format, output must be displayed as well as PDF file with output data must be downloaded in the desktop. Please send me the sample code for it.

thanks

Sathish

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

2 Answers

  • author's profile photo Former Member
    Former Member
    Posted on Nov 21, 2007 at 05:00 AM

    Hi,

    Check the below link for sample code.

    http://www.erpgenie.com/abap/code/abap51.htm

    Regards,

    Maha

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Nov 21, 2007 at 05:01 AM

    Source Code Listing

    report zabap_2_pdf.

    *-- Enhancements: only allow to be run with variant. Then called

    *-- program will be transparent to users

    *-- TABLES

    tables:

    tsp01.

    *-- STRUCTURES

    data:

    mstr_print_parms like pri_params,

    mc_valid(1) type c,

    mi_bytecount type i,

    mi_length type i,

    mi_rqident like tsp01-rqident.

    *-- INTERNAL TABLES

    data:

    mtab_pdf like tline occurs 0 with header line,

    mc_filename like rlgrap-filename.

    *-- SELECTION SCREEN

    parameters:

    p_repid like sy-repid, " Report to execute

    p_linsz like sy-linsz default 132, " Line size

    p_paart like sy-paart default 'X_65_132'. " Paper Format

    start-of-selection.

    concatenate 'c:\'

    p_repid

    '.pdf'

    into mc_filename.

    *-- Setup the Print Parmaters

    call function 'GET_PRINT_PARAMETERS'

    exporting

    authority= space

    copies = '1'

    cover_page = space

    data_set = space

    department = space

    destination = space

    expiration = '1'

    immediately = space

    in_archive_parameters = space

    in_parameters = space

    layout = space

    mode = space

    new_list_id = 'X'

    no_dialog= 'X'

    user = sy-uname

    importing

    out_parameters = mstr_print_parms

    valid = mc_valid

    exceptions

    archive_info_not_found = 1

    invalid_print_params = 2

    invalid_archive_params = 3

    others = 4.

    *-- Make sure that a printer destination has been set up

    *-- If this is not done the PDF function module ABENDS

    if mstr_print_parms-pdest = space.

    mstr_print_parms-pdest = 'LOCL'.

    endif.

    *-- Explicitly set line width, and output format so that

    *-- the PDF conversion comes out OK

    mstr_print_parms-linsz = p_linsz.

    mstr_print_parms-paart = p_paart.

    submit (p_repid) to sap-spool without spool dynpro

    spool parameters mstr_print_parms

    via selection-screen

    and return.

    *-- Find out what the spool number is that was just created

    perform get_spool_number using sy-repid

    sy-uname

    changing mi_rqident.

    *-- Convert Spool to PDF

    call function 'CONVERT_ABAPSPOOLJOB_2_PDF'

    exporting

    src_spoolid= mi_rqident

    no_dialog = space

    dst_device = mstr_print_parms-pdest

    importing

    pdf_bytecount = mi_bytecount

    tables

    pdf = mtab_pdf

    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.

    call function 'DOWNLOAD'

    exporting

    bin_filesize = mi_bytecount

    filename = mc_filename

    filetype = 'BIN'

    importing

    act_filename = mc_filename

    tables

    data_tab = mtab_pdf.

    ----


    • FORM get_spool_number *

    ----


    • Get the most recent spool created by user/report *

    ----


    • --> F_REPID *

    • --> F_UNAME *

    • --> F_RQIDENT *

    ----


    form get_spool_number using f_repid

    f_uname

    changing f_rqident.

    data:

    lc_rq2name like tsp01-rq2name.

    concatenate f_repid+0(8)

    f_uname+0(3)

    into lc_rq2name separated by '_'.

    select * from tsp01 where rq2name = lc_rq2name

    order by rqcretime descending.

    f_rqident = tsp01-rqident.

    exit.

    endselect.

    if sy-subrc ne 0.

    clear f_rqident.

    endif.

    endform." get_spool_number

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.