Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Printing a document

Former Member
0 Likes
452

Hi Experts

I have the binary content of a pdf document in my program which I need to print at a specific destination. Can anyone suggest the function module or any other service to achieve this.

Thanks and best regards

Anand.

3 REPLIES 3
Read only

Former Member
0 Likes
420

Hi,

Check this:

Regards,

Pankaj Sharma

Read only

former_member70391
Contributor
0 Likes
420

Hi Anand,

Use Function Module GET_PRINT_PARAMETERS' to get print parameters anf then use SUbmit statement to create Spool then create print.

I have pasted the code for your reference. Hope it helps.

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

Read only

Former Member
0 Likes
420

Hello Experts

I think I didn't make my self clear enough. I already have the binary pdf data which I got by using 'GUI_UPLOAD', now I have to print this data. I am searching for the way to send this data to printer.

Thanks and best regards

Anand.