SAP Printing System SAP BASIS

SAP provides its own spooling and printing system within the SAP applications to enable a uniform interface for all printing functions, independently of the system platforms supporting both the printing devices and the application services. This is one of the features of the traditional open client/server architecture of the SAP Basis system. Printing is an issue within SAP systems that should be seriously considered and carefully planned in the early technical implementation phases any SAP solutions. After the SAP system starts in productive operation, system managers should monitor and manage all the operations related to printing.

Printing functions are intimately associated with and supported by the SAP spool work processes as well as by the operating system spool system. When a SAP application server is configured for running at least one spool work process, then it's considered a spool server. This does not mean that the application server is not running other types of SAP services. However, there might be installations where there is a heavy printing demand, and one or more dedicated spool servers might be required. These servers can be small, dedicated workstations with a high-speed network connection to the other servers, which are used for connecting and configuring the host printers used by the SAP system.

The following sections introduce the SAP spool system architecture, the management and definition of the printing devices and spool servers, and the spool system troubleshooting and planning considerations for a printing strategy. Among the basic features of the SAP spool system are the following:

  • Manages the output requests for printing, for the SAP communication server, and for the archiving devices
  • Provides a uniform interface for different host spool systems
  • Supports local, remote, and PC printing
  • Supports multiple print and output devices, formats, paper types, and character sets

Additional features that in latest releases have improved the SAP spool system functionality are as follows:

  • Better look of spool administration transactions
  • Multiple spool work processes per instance
  • Open interface to external output management system (OMS)
  • Spool accounting exit
  • Workload balancing
  • Advanced management facilities

Concepts of the SAP Spool System Architecture

Printing in the SAP system is accomplished by the SAP spool system. The SAP spool system is in charge of handling all the system print requests, as well as managing the output for other SAP components such as the communication server, which can be used for EDI and fax devices or for the optical archiving systems. The SAP spool system can also be integrated with external output management systems (OMSs). More information about the access method E that implements the spool system's XOM interface to external OMSs can be found in the SAP Printing Guide, within the SAP Online Library, under the section Computer Center Management System.
Handling print requests basically involves the following:

  • Formatting the data according to the specified print parameters and for a specific device type.
  • Sending the formatted data for output to the host system where the printing or faxing device is connected. Figure shows a diagram of the spool system operation. This diagram represents how several SAP system components can generate different types of information output ready for printing, such as reports, mail messages, lists, and graphics. When users request printing for the output generated, they are actually sending the request to the SAP spool system. This process is known as generating a spool request. These spool requests can either be sent to the host spool, or they can be held in the SAP spool system for later printing.

The SAP spool system operation

The SAP spool system operation

When a spool request is actually sent to a printer or fax device, it is first passed to the SAP spool work process, which is in charge of formatting the output and then sending this print job to the host spool system. If the SAP application server where the spool work process is running and the host system are actually the same server, then this is considered local printing; when these systems are different, then it's considered remote printing. A special type of remote printing is when the host system is a Windows PC running the SAPLPD transfer program; this type of printing is known as PC printing. These types of connections are important for defining the output devices within the spool system and are defined using the SAP access methods.

Printers or other output devices defined in the SAP spool system have a primary spool server designated—that is, a server with one or more spool work processes running on it. This server is in charge of processing spool requests for those printers and devices. If the primary spool server becomes unavailable, it is possible to specify an alternate spool server in order to process the spool requests from those printers and devices. The host spool system is the ultimate component in charge of sending the print job to the physical printer. This is basically how the printing system works in SAP WAS. However, even if it might seem very simple, it is actually a little bit more complicated, especially when defining new device types, print controls, formats, and so on. The following is a closer look at the basic spool and printing system concepts:

  • Spool request is the SAP naming convention for output job or print job, but in SAP terms, a spool request is made up of the spool request record (administrative information to manage the print jobs), the data that are sent to the printing device, and the actual output requests. A spool request is not necessarily meant just for printing; it can also be generated for other communication or archiving devices.
  • Output requests are the component of the spool request which actually formats the output data and sends it to the host spool system to be printed. You can submit multiple output requests for a single spool request. You can, for example, have a spool request printed on different printers or reprint a request if it could not be printed successfully the first time.
  • Access methods are how the SAP spool work process communicates with the host spool system.
  • SAP Script is SAP's own text editor, which is used for creating and formatting documentation in SAP, such as online help, forms, implementation guide texts, mail messages, and so on.
  • List output is a generic name for the output that is generated by ABAP reports and that is not formatted using SAP Script. The spool system handles both types of output: that generated by SAP Script text editor and the results of an ABAP report.
  • Forms define the page layout for texts, report lists, and the like that are specially prepared for display or for printing.
  • Layout sets are maps of the output pages that specify where the text is placed (filled) on a page and what its attributes are.
  • TemSe stands for the temporary sequential object database, which is a special place where the SAP system stores the spool request data and other SAP objects such as the background job logs.

The SAP spool system is not only responsible for handling the spool and output requests, but it's also the SAP component containing the functions for managing output devices, device types, device drivers and initialization, device formats, character sets, and so forth. It's actually a complete interface which converts all types of SAP output into the required output device format.

The Spool Work Process

Every printer or other type of output device defined in the spool system requires the availability of an associated spool work process, which will take care of handling all spool requests for the specific devices. It's also possible to have the same printer defined (with different names) for being managed by different spool work processes. This is sometimes done for contingency situations when an application server might be stopped. As introduced both in Chapter and in the previous section, the spool work process is one of several types of SAP work processes running on an application server that formats the data in a spool request and then sends it to the host spool system. Actually, the spool request contains a reference to the data, the specific output device (printer), and the printing format. The data itself is kept in the TemSe database.

When the spool system sends the request for actual printing, it then generates an output request (or print request), which is handled by the spool work process. To generate the output request, the spool work process converts the spool request into a device-specific (printer-specific) output stream. Performing this conversion requires the following:

  • Translating (resolving) SAP device print controls into actual printer commands, adding initialization strings corresponding to specific device types
  • If needed, converting the character set used within the SAP system to the character set understood by the output device
  • Formatting the data for generating the output request using the printer driver assigned to the device type for SAP Script output

The spool work process will finally send the data to the host spool system, and, in the case of PC printing, to the SAPLPD program, which communicates directly with the Windows print manager. The SAP profile parameter that controls the number of spool work processes per instance is rdisp/wp_no_spo, which can be maintained from the CCMS instance profile maintenance utility. You can define more than one spool work process per server even if there is only one instance installed in the application server.

One big advantage of enabling the definition of more than one spool work process is the possibility of sending parallel output requests from the same SAP instance. Having several spool work processes per instance avoids bottlenecks caused by such things as communication problems between spool work processes and printing devices (PCs, network printers, LAN connections, and others) that could be temporarily turned off or unavailable. With multiple spool work processes, these other requests can be handled by additional free spool work processes.

Before SAP Basis (R/3) release 4.0, the spool server assignment and spool server work process were static, so that each device was assigned to a specific server that only had one spool work process. Since release 4.0, it is possible to implement spool load balancing by using spool server groups. This is known as dynamic spool assignment.

Spool Servers, Hierarchies, and Load Balancing

Dynamic spool server assignment was introduced with R/3 release 4.0, allowing for printing load balancing. Spool servers provide greater flexibility in defining and configuring printing systems in SAP installations. Spool servers can be configured on the basis of different attributes, and there is also the possibility of defining different types of spool servers. There are two types of general spool servers:

  • Real or physical
  • Logical

A logical server is mapped directly or indirectly to a real spool server. Logical servers are given a name pointing to another logical server or to a real server. Relationships between spool servers, whether logical or real, define different hierarchies. A hierarchy is a dependency relationship of different levels that define priorities when spool requests are being managed by the spool servers within the hierarchy. A hierarchy is established when a spool server, whether logical or real, is assigned an alternative spool server. Hierarchies can be as complex as required. There is a relationship between a spool server and its alternate spool server.

If the server is logical, then there is an additional relationship between the logical server and the server it is pointing to, which can also be either physical or logical. Output requests assigned to logical servers are processed by the real server. For example, a SAP system made of two application servers, ntsap_NT1_00 and ntsap_NT2_00, has two logical spool servers Logical_NT1 and Logical_NT2. These logical servers are defined as nonexclusive spool servers, have Production print (type P) as their server class, and are mapped to real spool servers ntsap_NT1_00 and ntsap_NT2_00, respectively. Additionally, logical server Logical_NT1 has Logical_NT2 as an alternate server.

The horizontal relationship represents the mapping between a logical server and another server (either logical or real). The vertical relationship links the logical server with an alternate server (either logical or real).

Spool server relationships

Spool server relationships

The definition and configuration of logical spool servers can be performed and tested on development system, then transported to production systems at a later time with minimal and quick adjustments. When logical servers are defined as nonexclusive spool servers, they are enabled for the process of load balancing, which means that the system will take into consideration both the logical server and the alternate server when calculating and finding the most appropriate server for processing output requests.

Server Selection

When the SAP printing system is going to process an output request, one of the steps to be performed is selecting the spool server. By default, SAP commonly has the static selection option for choosing the spool server, meaning that this is a constant definition and does not allow for load balancing. Using dynamic spool server selection, the system can automatically balance the load of the spool processes by means of assigning alternate servers. Dynamic selection of servers has certain limitations when using local SAP printing, such as access methods C and L. Refer to the latest SAP Notes and the online printing guide for current status.

Defining Spool Server

To create a new spool server, go to the main spool administration menu by selecting Tools | CCMS | Spool | Spool Administration from the initial menu (transaction code SPAD). Then select Configuration | Spool Server or click on the Spool Server pushbutton. Switch to change mode by clicking on the Change icon. Then click on the Create icon on the application toolbar or select Spool Server | Create from the menu. Fields on this new screen have the following function:

  • Server name. This is the name of the server. You can assign any name, although SAP systems normally default to hostname_SID_instance_number—for example, k2p001_K2P_00.
  • Short text. This is located right below the system name for entering a brief description of the server being defined.
  • Server class. Indicates the class of server. There are many values that basically classify the servers according to its intended used. Figure includes some of them that you see when you click on the possible entries list.
  • Logical server. Selecting this flag defines the spool server as a logical spool server. This selection will force users to define the Mapping field that will appear when the enter is pressed or the definition is saved.
  • Mapping. Only appears when defining logical servers, in which case users must select the server to which a logical server must be mapped.
  • Allow load balancing. Activating this option removes the static spool server selection. By default all output devices are handled exclusively by a single spool server. This flag is useful when the primary spool server is unavailable, because the system can redirect the spool requests to an alternative server. This flag is also selected for enabling printing load balancing. The system will look for the best or least loaded spool server based on the defined spool server hierarchy.
  • Alt. Server. This is the name of the alternate spool server. It can be used by the system if the primary spool server assigned is not available, so it will be able to process pending spool requests. This alternate spool server can be either real or logical.

Server classes

Server classes

Managing Spool Requests

There are several ways of calling the spool request management functions:

  • From the main menu, select Tools | CCMS | Spool | Output Controller.
  • From any menu, select System | Services | Output Control.
  • Directly enter transaction code SP01 in the command field.

Initial output controller display (SP01 transaction)

Initial output controller display (SP01 transaction)

This initial output controller display behaves like a selection screen, where you can search spool requests by spool request number, spool request name (in the extended view), user name, date, client, and so forth. By default, the screen always presents the logon user name, the logon client, and the system current date—but these parameters can all be overwritten. You can also select further selection using the button Further Selection Criteria.
Once the selection criteria is entered, just press ENTER or click on the Overview (Continue) icon on the standard toolbar to display a list of spool requests matching the criteria. The spool requests that have been successfully printed and for which the user had selected the flag Delete after print are automatically deleted from the system, and therefore will not appear on this list. On this screen, the system displays information about the spool requests arranged by columns. These columns are as follows:

  • Spool no. The spool request number as it has been automatically assigned by the system.
  • Type. Shows an icon with the type of spool request, such as ABAP lists, forms and so on.
  • Date. Date in which the spool request was generated.
  • Time. Time when the spool request was generated.
  • Status. Indicates what the status is of the spool request. The system can display the following output statuses:
    • For this spool request no output request (order to print) has been generated.
    • Wait. The output request is waiting to be processed by the spool system. It has not yet been sent to the host spool system.
    • Process. The spool work process is formatting the spool request to be sent to the printer.
    • Print. The host system spool is processing (printing) the SAP output request.
    • Compl. The output request has been completed and successfully printed.
    • <F5>. This status indicates that there is more than one output request for the same spool request. You can double-click on this status field to show all the associated output requests or, alternatively, select the check box to the left and click on the Output Request pushbutton on the application toolbar.
    • Problem. A problem has occurred during the output request processing. The printing might have been generated; however, it might not be correct or correspond actually to the expected printed format.
    • Error. There is a severe printing error. No output request is generated at the physical printer.
    • Archive. For spool requests that were sent to an archiving device. The spool request has been processed by the spool system and is waiting for archiving.
  • Pages. Indicates the number of pages of the output request.
  • Title. Displays the title of the spool request if the user entered one when submitting a spool request; otherwise the system by default shows as the title the type of request, the device name, the program, and the first three characters of the user name.

From the Spool Request screen, you can perform several useful functions as introduced in the following sections.

Printing and Displaying Spool Requests

To create an output request (to actually send to the printer device), select the spool request from the list by marking the check box to the left of the entry, and then just click on the Print icon in the application toolbar or, from the menu, select Spool Request | Print. There is also the option of sending the output to the printer after actually displaying the spool request on the screen. To do this, from the spool request list, select the entry by marking the check box, and click on the Display icon. The system will show the Spool Request <number> screen.

From this new screen, you also have a print icon in the application toolbar. On the Display of Spool Request screen, you can specify displaying the spool request in graphical, raw, or hexadecimal format by clicking on the corresponding pushbuttons on the application tool bar, except for spool types. By default, the maximum number of lines displayed in this mode is 1000 or, alternatively, 10 pages of a SAP Script document. You can, however, specify a different number by selecting Settings in the application toolbar.

Displaying and Modifying the Spool Request Attributes

When in the Spool Request List screen, you can display the attributes for any request by double-clicking on the entry, or selecting it and clicking on the Attributes icon in the toolbar. The spool system includes several types of attributes to show spool attributes, output attributes, and TemSe attributes. You can toggle between the attributes by clicking on the corresponding tabstrip.

Spool request attributes display

Spool request attributes display

From the attributes screen, you can modify the spool request attributes if you want to send the spool request to the printer again (generating a new output request). And, as an interesting point, notice that the attributes display includes an authorization field which can be used to limit which users can access the output request for displaying or printing it again. The Output Attributes tabstrip includes information such as the number of copies, priority, cover page, or the Storage mode.

All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd Protection Status