Symptom
The system issues an error message in the trace of the sapwin.dll:
Error: CreateDCW failed: The operation completed successfully. Or the system issues an equivalent error message that corresponds to the language setting.
After this error occurs, you cannot print on the affected printer until SAPSprint service restarts.
Error: CreateDCW failed: The operation completed successfully. Or the system issues an equivalent error message that corresponds to the language setting.
After this error occurs, you cannot print on the affected printer until SAPSprint service restarts.
Other Terms
CreateDCW, CreateDC, SAPSprint, StartPage failed, EndPage failed
Reason and Prerequisites
The problem can only occur if you use a SAPWIN device type to print.
The output is executed through a Windows API using a Windows printer
driver. If an error occurs with one of the printer drivers (for
example, memory is not released), the problem described above may occur.
This error occurs mainly when you call CreateDC but it may also occur
in other Windows GDI calls. The messages in the trace are similar to
those described above.
This problem is not caused by the SAP source code and therefore an immediate correction is not possible. The problem is the print drivers that are not designed for mass processing.
In addition, analyzing this problem is very difficult because it cannot be reproduced and because it occurs only after the service experienced a long runtime. You can use the workarounds described below to at least minimize the consequences of the problem.
This problem is not caused by the SAP source code and therefore an immediate correction is not possible. The problem is the print drivers that are not designed for mass processing.
In addition, analyzing this problem is very difficult because it cannot be reproduced and because it occurs only after the service experienced a long runtime. You can use the workarounds described below to at least minimize the consequences of the problem.
Solution
SAP recommends the following solution:
rspo/host_spool/check_retries = 5
rspo/lpq/temp_disable_time = 1
If you shorten retrytime and temp_disable_time (for example, to 1), this prevents the printers being blocked in almost all cases. You must change these profile parameters only if you are using SAPSprint as the print server. If you use another print server that does not automatically restart, you must use the default values.
SAPSprint restarts automatically after the CreateDC error occurs. If you do not want this to occur for whatever reason, you can deactivate it by setting the option "IgnoreDCError" to 1. Note: Automatic restart works only within certain limits. If the problem occurs too often, the system response is no longer as required.
- 1. Apply the latest SAPSprint patch. For more information, also see Note 927074.
- 2.
Set the option "Use OMSPRINT" to the value 1. The option is available
as of SAPSPrint 720 patch 5; as of SAPSprint patch 6, you can edit this
on the "SAPWIN Processing" tab page of the "Options Editor". If you
activate the option, the critical processing is moved to a separate
process. This is restarted and ended again for each print job. This
should prevent the problem.
- 3. If possible, schedule the
restart of the service for a time when printing is not taking place. The
probability of the problem occurring increases as the runtime of the
service increases.
- 4. As a result of the automatic restart of
SAPSprint Services, the SAPSprint process is available again after a
very short time. However, due to the short period of unavailability, all
printers that are defined on the SAPSprint server in the SAP system are
blocked for about 5 minutes. This is not necessary and, depending on
the amount of print requests, may lead to an accumulation of jobs. The
following profile parameters may affect how long a printer is blocked
for:
rspo/host_spool/check_retries = 5
rspo/lpq/temp_disable_time = 1
If you shorten retrytime and temp_disable_time (for example, to 1), this prevents the printers being blocked in almost all cases. You must change these profile parameters only if you are using SAPSprint as the print server. If you use another print server that does not automatically restart, you must use the default values.
SAPSprint restarts automatically after the CreateDC error occurs. If you do not want this to occur for whatever reason, you can deactivate it by setting the option "IgnoreDCError" to 1. Note: Automatic restart works only within certain limits. If the problem occurs too often, the system response is no longer as required.
No comments:
Post a Comment