0% found this document useful (0 votes)
386 views5 pages

Generate PDF From Abap Report

This program generates a PDF form from an ABAP list output. It uses the format X_90_120 to generate the PDF. The user can click the PDF generation button in the list output to trigger the PDF creation after setting the printer properties. The program selects material master data from tables MARA, MARC and MAKT based on selection screen criteria and displays it in a list. It then uses reports RSTXPDF5 and RSTXPDFT5 to convert the list output to a PDF and download it for the user.

Uploaded by

Sam Sobitharaj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
386 views5 pages

Generate PDF From Abap Report

This program generates a PDF form from an ABAP list output. It uses the format X_90_120 to generate the PDF. The user can click the PDF generation button in the list output to trigger the PDF creation after setting the printer properties. The program selects material master data from tables MARA, MARC and MAKT based on selection screen criteria and displays it in a list. It then uses reports RSTXPDF5 and RSTXPDFT5 to convert the list output to a PDF and download it for the user.

Uploaded by

Sam Sobitharaj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 5

Description: This program will generate the PDF form from ABAP List Output.

I ha
ve 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 gener
ation 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 form
SET 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
/1 'User ID

:', SY-DATUM,
:', SY-UNAME,

/1(112) SY-ULINE.
---------------------------------------------------------------------START-OF-SELECTION.

---------------------------------------------------------------------* Perform for Basic Selection


PERFORM GET_MARA.
* Perform to Display Data
PERFORM 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 Screen
DATA: BEGIN OF I_RSPARAMS OCCURS 0.
INCLUDE STRUCTURE RSPARAMS.
DATA: END OF I_RSPARAMS.
* Store the current selection screen details
CALL 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 NUMBER
SUBMIT 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 Criteria
SELECT 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

You might also like