14.12.10

SAP Note 13376 - Spooler prints slowly or has stuck entries

Symptom:

Output from the spooler are delayed, or the spool displays "stuck" entries.

Other terms

Printer, output device, connection

Reason and Prerequisites

There are many possible causes. All known causes are listed in this note.

    1. Slow data transfer to remote printers.

Printers can be connected to other computers. Data can be transferred to the remote computers directly from the output formatting program. This is the case if connection type "U" or "S" is used for output devices. While data is being transferred to these devices, the output formatting program cannot perform any other tasks.

    2. Printers with direct network connection

Generally, printers with their own network connection generally do not accept data more quickly than it can be printed (apart from the first few pages that fit into the cache of the printer) and so delay the formatting routine.

    3. Connection problems to remote printers

If you want to set up connections to remote output devices, the formatting routine waits 60 seconds until a connection is considered as failed. No other requests are processed during this time. Failed connections are logged with a 'Connect failed' syslog.

    4. If individual requests appear not to have been processed, while other requests are processed normally, and the hanging requests are then transferred to the printers after transaction SP01 is called, we can assume that individual work processes (dialog, batch, update tasks or spool) did not have a connection to the message server, and therefore cannot send the messages to the spool work process.
    5. Make sure to take a look at the system log (transaction SM21).

If a lot of entries are flagged as "Connect failed" there, this is probably the cause of the poor performance. The formatting routine waited 60 seconds for every connect. The next line usually tells you which connection has been broken.
Solution

1a) If possible, allow the host spooler to forward the print requests. This can deal with several data transfers at the same time.

1b) Alternatively, the tasks can be distributed in a system with several application servers. For example, all slow printers can be assigned to an application server for formatting. These do not impede the output on fast devices, which are supplied by another application server.

2) Network-compatible printers must be served by the host spooler. A direct supply from the formatting routine is not a good idea.
3) Solution in accordance with 1a) and 1b).

4) Display the system logs in the 'environment'. Mostly, this makes clear which part of the system had problems. Try to eliminate the causes (for example, PCs that are turned off, an unstarted LPD, and so on).
Trailer label: As there are sometimes ambiguities: 'Allow the host spooler to forward print requests' means you set up, on the computer that is carrying out the formatting, the printer in the host spooler (for example, in UNIX) as a 'remote printer'. The procedure for this varies depending on the platform. If necessary, ask your operating system specialist which procedure you should use. In the case of HP-UX, this is carried out with the tool 'SAM' or with the command lpadmin. In the case of AIX, this is carried out with the tool 'SMIT'; and in the case of OSF/1, this is carried out by an entry in file /etc/printcap. When setting up a printer as a remote printer, try to use the same printer name as used in your SAP system (for example, PR01), so that you can recognize it more easily.
If the printer is accessed by means of LPD, use the name of the PC as the name of the remote computer and use the interface (for example, LPT1) as the name of the printer on the remote system. The connection type MUST be compatible with the Berkeley protocol. In HP-UX at least, you can select from two system logs.

For example:

OSF/1, entry in the /etc/printcap for SAPLPD on PC01

PR01:lp=:rm=PC01:rp=LPT1:sd=/usr/spool/PR01:


HP-UX: Entry with lpadmin

/usr/lib/lpadmin -pPR01 -v/dev/null -mrmodel -ocmrcmodel
-osmrsmodel -ob3 -ormPC01 -orpLPT1 -v/dev/null

If this printer is known in the host spool and testing was carried out by means of a function and test printouts, change the printer definitions in the SAP spool: As a printer name, in the host spool, use the name from the above definition (for example, PR01), change the access method to 'L' and, as the LPQ format, enter the format with which the remote computer responds. This is most often 'B'.
The main advantage of this procedure is that, for each printer, the host spool can (provided it supports 'remote printing') stop a process that is only responsible for this printer. This means that disturbances or slow printers do not hold up the whole operation.
Disadvantage: It cannot be used when you use the printer type 'SAPWIN', or in the case of host spoolers that do not support 'remote printing' in accordance with RFC1179 ('Berkeley compatible').

1 comment: