Generate PDF from ABAP report

Source: Internet
Author: User
Description: This program will generate the PDF form from ABAP List Output. 
I have used the format X_90_120 for generating PDF form from List Output. 
You can do this setting by changing the properties of printer after 
clicking the PDF generation button in the List output.* Author: Nagaraj Kalbavi&---------------------------------------------------------------------*& Report  Z_CREATE_PDF_ABAPLIST&---------------------------------------------------------------------*& Description: Simple Program to generate PDF from ABAP List Output&---------------------------------------------------------------------REPORT  Z_CREATE_PDF_ABAPLIST NO STANDARD PAGE HEADING.    * PF-status containing a PDF button in the report Output to generate    * PDF formSET PF-STATUS 'Z_PDF'.----------------------------------------------------------------------*Table Declarations----------------------------------------------------------------------TABLES: MARA, MARC, MAKT.---------------------------------------------------------------------    * Internal Table Declarations----------------------------------------------------------------------DATA: BEGIN OF TS_MARA OCCURS 0,         MATNR LIKE MARA-MATNR,         MTART LIKE MARA-MTART,         MATKL LIKE MARA-MATKL,         LVORM LIKE MARA-LVORM,         WERKS LIKE MARC-WERKS,         MAKTX LIKE MAKT-MAKTX,       END   OF TS_MARA.----------------------------------------------------------------------    * Selection Screen Parameters----------------------------------------------------------------------SELECTION-SCREEN BEGIN OF BLOCK B1.  SELECT-OPTIONS: S_MATNR FOR MARA-MATNR OBLIGATORY,                  S_WERKS FOR MARC-WERKS OBLIGATORY.SELECTION-SCREEN END OF BLOCK B1.----------------------------------------------------------------------TOP-OF-PAGE.----------------------------------------------------------------------write: 40 'Generating PDF from List Output' color 1 intensified on.  skip 1.  write: /1 'Date        :',  SY-DATUM,         /1 'User ID     :',  SY-UNAME,         /1(112) SY-ULINE.----------------------------------------------------------------------START-OF-SELECTION.----------------------------------------------------------------------    * Perform for Basic SelectionPERFORM GET_MARA.    * Perform to Display DataPERFORM DISPLAY_MARA.----------------------------------------------------------------------------------AT USER-COMMAND.----------------------------------------------------------------------------------    * User Command to generate PDF Form  AT USER-COMMAND.  CASE SY-UCOMM.    WHEN 'PDF'.    DATA: L_PARAMS TYPE PRI_PARAMS,            L_VALID TYPE STRING,            W_SPOOL_NR LIKE TSP01-RQIDENT.    * TO GET PRINT PARAMETERS      CALL FUNCTION 'GET_PRINT_PARAMETERS'        IMPORTING          OUT_PARAMETERS = L_PARAMS          VALID          = L_VALID.      IF SY-SUBRC <> 0.      ENDIF.    * Internal table for Selection ScreenDATA: BEGIN OF I_RSPARAMS OCCURS 0.       INCLUDE STRUCTURE RSPARAMS.DATA: END OF I_RSPARAMS.    * Store the current selection screen detailsCALL FUNCTION 'RS_REFRESH_FROM_SELECTOPTIONS'  EXPORTING    CURR_REPORT           = SY-REPID    * IMPORTING*   SP                    =  TABLES    SELECTION_TABLE       = I_RSPARAMS    * EXCEPTIONS*   NOT_FOUND             = 1*   NO_REPORT             = 2*   OTHERS                = 3          .IF SY-SUBRC <> 0.    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.ENDIF.    * SUBMIT TO GET THE SPOOL NUMBERSUBMIT Z_CREATE_PDF_ABAPLIST WITH SELECTION-TABLE I_RSPARAMS                             TO SAP-SPOOL                             SPOOL PARAMETERS L_PARAMS                             WITHOUT SPOOL DYNPRO                             AND RETURN.    * SELECT THE RECENTLY CREATED SPOOL      SELECT MAX( RQIDENT ) INTO W_SPOOL_NR FROM TSP01                                 WHERE RQCLIENT = SY-MANDT                                 AND   RQOWNER  = SY-UNAME.*REPORT TO GENERATE SPOOL NUMBER FOR PDF CONVERT      SUBMIT RSTXPDF5 WITH SPOOLNO  = W_SPOOL_NR                      WITH DSTDEVIC = 'LOCL' AND RETURN .      IF SY-SUBRC EQ 0.        CLEAR W_SPOOL_NR.    * SELECT THE RECENTLY CREATED SPOOL FOR PDF        SELECT MAX( RQIDENT ) INTO W_SPOOL_NR FROM TSP01                                   WHERE RQCLIENT = SY-MANDT                                   AND   RQOWNER  = SY-UNAME.*REPORT TO DOWNLOAD PDF SPOOL TO GUI        SUBMIT RSTXPDFT5 WITH SPOOLID = W_SPOOL_NR                         AND RETURN.      ENDIF.  ENDCASE.&---------------------------------------------------------------------*&      Form  GET_MARA&---------------------------------------------------------------------*       text----------------------------------------------------------------------*  -->  p1        text*  <--  p2        text----------------------------------------------------------------------FORM GET_MARA .CLEAR  : TS_MARA.REFRESH: TS_MARA.    * To select Materials based on Selection CriteriaSELECT A~MATNR A~MTART A~MATKL A~LVORM B~WERKS INTO CORRESPONDING                           FIELDS OF TABLE TS_MARA FROM MARA AS A                           INNER JOIN MARC AS B ON A~MATNR EQ B~MATNR                           WHERE A~MATNR IN S_MATNR                           AND   B~WERKS IN S_WERKS.LOOP AT TS_MARA.   SELECT SINGLE * FROM MAKT WHERE MATNR EQ TS_MARA-MATNR                             AND   SPRAS EQ SY-LANGU.   MOVE MAKT-MAKTX TO TS_MARA-MAKTX.   MODIFY TS_MARA INDEX SY-TABIX.ENDLOOP.ENDFORM.                    " GET_MARA&---------------------------------------------------------------------*&      Form  DISPLAY_MARA&---------------------------------------------------------------------*       text----------------------------------------------------------------------*  -->  p1        text*  <--  p2        text----------------------------------------------------------------------FORM DISPLAY_MARA .CLEAR  : TS_MARA.WRITE: /1   '|', 2(18)  'Material Number' COLOR 7,         21  '|', 22(5)  'Plant          ' COLOR 7,         28  '|', 29(13) 'Material Type  ' COLOR 7,         42  '|', 43(14) 'Material Group ' COLOR 7,         57  '|', 58(13) 'Deletion Flag  ' COLOR 7,         71  '|', 72(40) 'Description    ' COLOR 7,         112 '|'.WRITE: /1(112) SY-ULINE.LOOP AT TS_MARA.  WRITE: /1   '|', 2(18)   TS_MARA-MATNR,          21  '|', 22(5)   TS_MARA-WERKS,          28  '|', 29(13)  TS_MARA-MTART,          42  '|', 43(14)  TS_MARA-MATKL,          57  '|', 58(13)  TS_MARA-LVORM,          71  '|', 72(40)  TS_MARA-MAKTX,          112 '|'.WRITE: /1(112) SY-ULINE.ENDLOOP.ENDFORM.                    " DISPLAY_MARA

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.