&---------------------------------------------------------------------
*& Report Z_CREATE_PDF_ABAPLIST
&---------------------------------------------------------------------
*& Description: Simple Program to generate PDF from ABAP List Output
&---------------------------------------------------------------------
*& 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 :', SY-DATUM,
/1 'User ID :', 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
* 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 :', SY-DATUM,
/1 'User ID :', 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
ALSO READ:
- Creating A Directory On Presentation Server Using FM GUI_CREATE_DIRECTORY.
- Removing A Directory From Presentation Server Using FM GUI_REMOVE_DIRECTORY.
- Removing A File From Presentation Server Using FM GUI_DELETE_FILE.
- ZIP Files In Application Server Using FM SCMS_XSTRING_TO_BINARY.
- Saving Files To Presentation Server Using Methods.
RETURN TO MAIN INDEX:
- Sample Programs On Uploading & Downloading Files.
- Sample Programs On HR ABAP.
- Sample Report Programs On ALV List/ Grid Display.
- Sample Programs On Selection Screen.
- Sample Programs On BDC.
.....Back To MAIN INDEX.
No comments:
Post a Comment