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

Spool to PDF

Former Member
0 Likes
1,248

Hi,

I am not an ABAPper but I need to convert many spool files ( invoices) to PDF so that we can then send them to a company that will email, fax or post them depending on the customer. I know that there is a standard SAP program that will convert a spool to PDF but is there a way to convert many spool files to PDF into one file?

I want to identify spools of a particular type, convert to PDF and download them all into one file. I am sure that this is possibe, has anyone written a program to do this that they could send to me. or is there a standard SAP way to do this?

Many Thanks.

Hi,

I am not an ABAPper but I need to convert many spool files ( invoices) to PDF so that we can then send them to a company that will email, fax or post them depending on the customer. I know that there is a standard SAP program that will convert a spool to PDF but is there a way to convert many spool files to PDF into one file?

I want to identify spools of a particular type, convert to PDF and download them all into one file. I am sure that this is possibe, has anyone written a program to do this that they could send to me. or is there a standard SAP way to do this?

Many Thanks.

8 REPLIES 8
Read only

former_member225631
Active Contributor
0 Likes
1,118

You can check the link [Merge PDF files|http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/404e4dc1-a79c-2d10-a7b5-9a266dfed9cb]

Read only

kesavadas_thekkillath
Active Contributor
0 Likes
1,118

Use program RSTXPDFT4

Read only

Former Member
0 Likes
1,118

Create a Z program with this code

REPORT ZRSTXPDFT4 line-size 80.

*

  • Read spool job contents (OTF or ABAP list) and convert

  • to PDF, download PDF

  • B20K8A0IKH replace WS_DOWNLOAD with GUI_DOWNLOAD

*

tables: tsp01.

SELECT-OPTIONS: SPOOLNO FOR TSP01-RQIDENT.

PARAMETERS:

DOWNLOAD AS CHECKBOX DEFAULT 'X',

P_FILE LIKE RLGRAP-FILENAME DEFAULT 'C:\temp\file.pdf'. "#EC NOTEXT

DATA otf like itcoo occurs 100 with header line.

DATA CANCEL.

DATA PDF LIKE TLINE OCCURS 100 WITH HEADER LINE.

DATA DOCTAB LIKE DOCS OCCURS 1 WITH HEADER LINE.

DATA: NUMBYTES TYPE I,

ARC_IDX LIKE TOA_DARA,

pdfspoolid like tsp01-rqident,

jobname like tbtcjob-jobname,

jobcount like tbtcjob-jobcount,

is_otf.

data: client like tst01-dclient,

name like tst01-dname,

objtype like rststype-type,

type like rststype-type.

select single * from tsp01 where rqident = spoolno.

if sy-subrc <> 0.

perform bd_textbox_err(rstxpdft) using 80

'Spoolauftrag existiert nicht'(003).

exit.

endif.

client = tsp01-rqclient.

name = tsp01-rqo1name.

CALL FUNCTION 'RSTS_GET_ATTRIBUTES'

EXPORTING

AUTHORITY = 'SP01'

CLIENT = client

NAME = name

PART = 1

IMPORTING

  • CHARCO =

  • CREATER =

  • CREDATE =

  • DELDATE =

  • MAX_CREDATE =

  • MAX_DELDATE =

  • NON_UNIQ =

  • NOOF_PARTS =

  • RECTYP =

  • SIZE =

  • STOTYP =

TYPE = type

OBJTYPE = objtype

EXCEPTIONS

FB_ERROR = 1

FB_RSTS_OTHER = 2

NO_OBJECT = 3

NO_PERMISSION = 4.

if objtype(3) = 'OTF'.

is_otf = 'X'.

else.

is_otf = space.

endif.

if is_otf = 'X'.

CALL FUNCTION 'CONVERT_OTFSPOOLJOB_2_PDF'

EXPORTING

SRC_SPOOLID = spoolno

NO_DIALOG = ' '

  • DST_DEVICE =

  • PDF_DESTINATION =

IMPORTING

PDF_BYTECOUNT = numbytes

PDF_SPOOLID = pdfspoolid

  • OTF_PAGECOUNT =

BTC_JOBNAME = jobname

BTC_JOBCOUNT = jobcount

TABLES

PDF = pdf

EXCEPTIONS

ERR_NO_OTF_SPOOLJOB = 1

ERR_NO_SPOOLJOB = 2

ERR_NO_PERMISSION = 3

ERR_CONV_NOT_POSSIBLE = 4

ERR_BAD_DSTDEVICE = 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.

case sy-subrc.

when 0.

perform bd_textbox_msg(rstxpdft) using 80

'Funktion CONVERT_OTFSPOOLJOB_2_PDF erfolgreich'(001).

when 1.

perform bd_textbox_err(rstxpdft) using 80

'Kein OTF- und kein ABAP-Spoolauftrag'(002).

exit.

when 2.

perform bd_textbox_err(rstxpdft) using 80

'Spoolauftrag existiert nicht'(003).

exit.

when 3.

perform bd_textbox_err(rstxpdft) using 80

'Keine Berechtigung zum Lesen Spoolauftrag'(004).

exit.

when others.

perform bd_textbox_err(rstxpdft) using 80

'Fehler bei Funktion CONVERT_OTFSPOOLJOB_2_PDF'(005).

exit.

endcase.

else.

CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'

EXPORTING

SRC_SPOOLID = spoolno

NO_DIALOG = ' '

  • DST_DEVICE =

  • PDF_DESTINATION =

IMPORTING

PDF_BYTECOUNT = numbytes

PDF_SPOOLID = pdfspoolid

  • LIST_PAGECOUNT =

BTC_JOBNAME = jobname

BTC_JOBCOUNT = jobcount

TABLES

PDF = 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.

case sy-subrc.

when 0.

perform bd_textbox_msg(rstxpdft) using 80

'Funktion CONVERT_ABAPSPOOLJOB_2_PDF erfolgreich'(006).

when 1.

perform bd_textbox_err(rstxpdft) using 80

'Kein OTF- und kein ABAP-Spoolauftrag'(002).

exit.

when 2.

perform bd_textbox_err(rstxpdft) using 80

'Spoolauftrag existiert nicht'(003).

exit.

when 3.

perform bd_textbox_err(rstxpdft) using 80

'Keine Berechtigung zum Lesen Spoolauftrag'(004).

exit.

when others.

perform bd_textbox_err(rstxpdft) using 80

'Fehler bei Funktion CONVERT_ABAPSPOOLJOB_2_PDF'(007).

exit.

endcase.

endif.

                              • download PDF file ***********

check download = 'X'.

if not ( jobname is initial ).

perform bd_textbox_var2_msg(rstxpdft) using 80

'Konvertierung per Hintergrundjob'(008)

jobname

jobcount.

exit.

endif.

perform download_w_ext(RSTXPDFT) tables pdf

using p_file

'.pdf'

'BIN'

numbytes

cancel.

if cancel = space.

data: s(80).

s = numbytes. condense s.

concatenate s 'Bytes heruntergeladen in Datei'(009)

into s separated by space.

perform bd_textbox_var1_msg(RSTXPDFT) using 80

s

p_file.

endif.

Regards!

Read only

0 Likes
1,118

This message was moderated.

Read only

Clemenss
Active Contributor
0 Likes
1,118

Hi Bhatti,

so sorry you could not find an answser to this brand-new question [here|http://www.google.de/#hl=en&expIds=17259,26644,26993,26994,27007,27014&xhr=t&q=spooltopdfinsap&cp=16&pf=p&sclient=psy&site=&source=hp&aq=f&aqi=&aql=&oq=SpooltoPDF++++&gs_rfai=&pbx=1&fp=d950b79c3319a56e]

Regards,

Clemens

Read only

Former Member
0 Likes
1,118

Hi Bhatti,

To convert abap spool to pdf use this FM CONVERT_ABAPSPOOLJOB_2_PDF

To send PDF as mail use this FM SO_NEW_DOCUMENT_SEND_API1

OR the below classes....

cl_bcs,

cl_document_bcs,

Read only

Former Member
0 Likes
1,118

Hi,

Using RSTXPDFT4 we can create only one spool to PDF. I do not think that we can create many spool to one PDF.

But you can try to create many invoice to single spool, and after taht you can create spool to single PDF.

Read only

Former Member
0 Likes
1,118

We just wrote a new program to do this