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

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

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