PDF converter in SAP ABAP kernel

The newer SAP ABAP kernels and system (781 kernel and 755 system) can support PDF converter from the SAP ABAP kernel.

Using the kernel it will speed up PDF generation for ABAP list, SAP Script and SmartForms.

Background

The background of the SAP ABAP kernel is explained in OSS note 2991197 – Using the kernel PDF converter in ABAP.

Switching on PDF generation via SAP kernel

To switch on, start program RSTXPDF3KRN and choose to change the parameter PDF_KERNEL:

Confirm to turn on:

Fonts

Fonts and fonts mapping can still be maintained via program RSTXPDF2UC:

Setup of LOCL printing

This blog will explain the setup of the LOCL printer in SAP. Any output send to the LOCL printer will use the SAP GUI to call the windows printer list on your laptop or desktop and send the print there.

Setup of LOCL printer

Start transaction SPAD and create printer LOCL (with short name as well LOCL):

And on the access method tab enter this information:

Save now and the LOCL printer is ready to use.

Set up background can be found in SAP help pages.

Use of LOCL printer

If you print, choose the LOCL printer. The screen will refresh and give a dropdown list for the printers installed on you local laptop or desktop:

Restrictions of LOCL printer

LOCL needs a connection to the SAP GUI. It can therefore not be used for:

  • Printing spool in the background
  • Printing in RFC

If you still try to spool to LOCL printer, this is the output:

See oss note 2244868 – Front-end printing spool request is not printed.

SAP spool tips & tricks

SAP spool is used for printing.

Questions that will be answered in this blog are:

  • How to check for spool number range overflow?
  • How can I archive a print list?
  • How can I avoid large spool outputs in background jobs?
  • How can I setup LOCL printing?
  • How to delete old spools?

Spool number range and status

If your spool system for printing is getting out of numbers, the printing stops and even endangers your complete system. The signal is shortdump COMPUTE_BCD_OVERFLOW as described in OSS note 2208342 – Shortdump COMPUTE_BCD_OVERFLOW.

Checking spool number range can be done via program
RSPO_SHOW_SPO_NUM . Background is in OSS note 2635724 – Monitor or Display Spool Range Limit and Status.

To solve spool number range issues follow the instructions in OSS note 48284 – System cannot generate any more spool requests.

Print list archiving

You can store a print list in the data archive. For setup see this blog.

Avoiding large spool in background job output

If you have a batch job with large spool output and you never look at it, you can also setup device type NULL to immediately delete the output. This way the spool system is not filled up. For setup see this blog.

Transaction SPOOL

Transaction SPOOL contains links to most important spool transactions. See this dedicated blog.

Setup of LOCL printing

For setup of LOCL printing, read this dedicated blog.

Spool error for LOCL printing

When a user is trying to use the LOCL printer as printer for background job, off course the background job cannot reach the printer and will throw an error message:

See OSS note 2244868 – Front-end printing spool request is not printed. Solution: go to SP01 and print the print towards a printer defined in SPAD as background printer.

Delete old spool requests

Run programs RSPO0041 and RSPO1041.

Notes:

Transaction SPOOL

Transaction SPOOL can be used as a central starting place for all printing and spool related settings, tools, error analysis.

Simply start transaction SPOOL:

Now switch from Standard Mode to Expert Mode to enable all tool.

Double clicking on the line will start the tool. On the right hand side are the transaction codes and the OSS note numbers for specific additional explanation.

Background OSS note: 2359477 – Transaction SPOOL.

Bug fix note: 2763159 – Transaction SPOOL: Short dump for missing authorization.

Output device NULL

For some batch jobs you want to have the execution done and don’t want to fill up your system with large spool files of this execution. This blog will explain to setup printer NULL to have a batch job suppress the output generation.

Questions that that will be answered in this blog are:

  • How do I setup printer NULL?
  • How to test the setup of printer NULL?
  • Where to find more background information on printer NULL?

Setup of printer NULL

Start transaction SPAD to define a new printer. Now create printer call NULL (with long and short name both NULL):

Output device NULL SPAD

Select a simple windows driver. Fill the other mandatory fields. Add the message description clearly that the output will be lost.

Save the printer definition.

Testing the NULL printer

From the blog explaining the technical clean up we will take program RSWWHIDE. This program generates huge amount of output (per deleted item 3 to 10 lines). We will run the program twice in test mode: once with printer NULL and once with printer LP01 (default printer). Selection of printer NULL is same as with any printer:

Selection of printer NULL

Result in SM37:

Run with NULL or LP01

The first run with printer NULL has suppressed the generation of the spool file.

Background OSS note

All background on output device NULL can be read in OSS note 181571 – Output device NULL.