Shared Top Border

Enterprise Resource
Planning Portal

 

Advertise | Founder BLOG

ERPGenie.COM ABAP Tips and Tricks Database

THE ultimate
ERP website

 

Forums | Vote for us |

Google    Other Search Options

Login

Login to view more content!!!





Lost Password?
No account yet? Register

Registered Access

Poll

What area of ABAP are you interested in?
 
Home arrow Sample Code arrow ABAP Reports arrow Save spool output to PDF
Save spool output to PDF PDF Print E-mail
User Rating: / 0
PoorBest 
Written by Anon.   
Saturday, 20 January 2007
Save Report Output to a PDF File.  This report takes another report as input, and captures the output of that report. The output is then converted to  PDF and saved to a local file. This shows how to use some of the PDF function modules, as well as an easy way to  create PDF files. 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
 
< Prev   Next >

Google Search

Statistics

Contribution Activity
Utilities: 38
Tips and Tricks: 334
Sample Code: 166
Total Contributions: 553

Member Activity
Members: 6305 since 2/1/2007!
New: 0 since yesterday!
Visitors: 1167799
We have 1 guest online

Newest Members

Welcome our newest members:

Google Ads

Shared Bottom Border

Contact Us | Polls | Add URL | Contribute | Privacy | Terms | Feedback

Discussion Forum | BLOG | Consultants: Post your resume | Companies: Advertise on ERPGenie.COM | Post Job
Financials Consultant | Consultant Review | Gallia Consulting | Supply Chain Project | SAP Financials Forum
GenieHoldings.COM, Inc. | Genie Press | WorkflowGenie | ESAGenie | ERPTopSites | ABAP Tips and Tricks | SAP Solutions Database

EDIGenie | Searching Survivor