Print server presentation and operation guide
The SAFE X3 print server is a logical component of a "server" type intended to process, in a concurrent manner, the print requests coming from the different entities of one or more SAFE X3 solutions.
The print server is a "multiprocessing" server. Depending on the global system availability, each print request saved at the server level is addressed to a dedicated print process. The dedicated processes are under the control of the print server.
At any moment, the entity that has submitted a request may ask the print server to either recover the current status of the request, modify certain attributes, or delete the submitted request.
The following table shows the different sections of this document:
Installation/Uninstallation | Configuration | Server startup/stop | Monitoring | Technical architecture | Printer management and error lists |
Before starting the installation of a print server on a machine, verify the Prerequisites documentation.
The installation program allows you to place (in the folder of your choice) the executables, libraries, and other resources that are necessary for the correct execution of the print server.
After placing the files, the following tree structure is created in the installation folder:
The Root folder contains all the server binary codes.
The "Config" folder contains a set of files in XML format. It is very important that these files are never updated manually. They are automatically updated and maintained by the internal administration component of the server ("Tools\AdxAdmin" folder), which is run by a SAFE X3 administration console. These files are used:
The "Data" folder contains all the files of the internal server cache. Among others, the "Crystal Report" reports coming from the SAFE X3 applications attached to the server are stored in the server cache.
The "Log" folder contains:
The "Lan" folder contains the localization files. If required, these files are updated during patch list installations.
The "Temp" folder collects the temporary files. It must be emptied regularly, depending on its volume (Warning: the server has to be stopped when emptying the folder).
The "Tools" folder contains the server administration components, driven by the SAFE X3 administration console as well as the associated utilities.
Before uninstalling the print server by using the "Add/Remove programs" from the control panel of your server, it is first necessary to have unpublished the SAFE X3 solutions attached to the print server by using the SAFE X3 administration console.
Like the other 'Server' components of a SAFE X3 solution, the print server is configured using the SAFE X3 administration console. Users should not manually modify the configuration files produced and updated by the administration console.
For more information, refer to the documentation for the administration console. The information related to the print server configuration is presented below.
These parameters are used to configure the technical execution environment of the print server. They are stored in the "adxeditionserverconfig.xml" file in the "Config" folder.
These parameters include:
The operating language code: It is in this language that the server displays any messages. Regardless of this language code, the print server is able to print multilanguage reports.
The TCP/IP listening port number: This parameter is used to set the port number that the print server should use to listen to incoming connections.
The size of the printing requests stack: This parameter is used to set the maximum number of requests that can be stacked by the print server. This parameter must be adjusted according to the maximum current load of the print server.
The maximum number of processes: This parameter is used to set the maximum number of print processes that the print server is authorized to launch in parallel. This parameter must be adjusted according to the average number of requests to be submitted and the global availability desired for the system.
When the maximum number of processes is reached, the server stacks up the new print requests in the pending request stack. These requests are then processed when one of the print processes has an "available" status.
The characteristics of the server activity and exception log files: It corresponds to a series of parameters that activate, and if needed, set a size for the server activity and exception log files. The sizing consists of setting the number of archive volumes of the log file and the maximum limit size (number of bytes) of these volumes. Each volume is physically associated with a file stored in the "Log" subfolder of the server. When the current volume has reached its maximum size (or upon server start), the archive volumes are swapped to free a volume and thus archive the current volume.
Note that the activity log stores events such as the "saving", "submission", "end", and "deletion" of a print request. The exception log stores all of the errors and anomalies detected by the server.
Setup of "Recovery" mode: It is used to set the default management policy for the "Recovery" mode when the server quits unexpectedly. For more details on the "Recovery" mode, refer to the paragraph "The server startup options" - option "Recovery:status".
Shared memory size: This document describes how the print server uses shared memory segments to exchange data with its print processes. As the shared memory segments cannot be dynamically extended, the maximum size of these segments must be set upon a server startup. If the size allocated at startup (by this parameter) is not sufficient for the standard use context, the print server displays an error identified by the code 266. If this error code is issued, you need to stop the server, modify the value of this parameter (VPALLOC) through the SAFE X3 administration console, and then restart the server. The default value assigned to this parameter ("40", which corresponds to a multiplier coefficient in relation to a ratio based on the maximum size of the request stack) should be high enough to avoid this type of error under normal conditions of use.
The parameters for the description of the SAFE X3 solutions attached to the print server are stored in the "adxeditionserversolutions.xml" file in the "Config" subfolder. This XML description file is updated by the SAFE X3 administration console following the publication of a solution.
Only a print request coming from a SAFE X3 technology application belonging to a published solution can be processed by the print server.
The file for the solution description has a tree structure that makes it possible to describe:
A print server can be started in "Console" mode or in "Windows service" mode. The actual function of the server is strictly identical in both modes. The only difference is that in "Console" mode the activity of the server is displayed in the Windows panel on the screen.
During the first server configuration from the SAFE X3 administration console, the console automatically creates a "Windows Service" by default associated with the server. It is possible to start and stop this service by the administration console. Nothing prevents the use of the standard tools in the Windows system to administer and control the service created in this manner.
The print server startup options are described below. It should be noted that these are available both in "Console" mode and "Windows Service" mode.
The print server startup options are the following:
Launching of the server in Recovery mode: "/recovery:status": In case of an unexpected shutdown of a print server during processing (for example, shutdown of the Windows services upon immediate shutdown procedure of a workstation), the stack of pending print requests or print requests under progress is serialized in a binary file. The content of this file can be reviewed in the shutdown report stored in the "log " subfolder ("*_AdxSrvShutdown_Inf.htm file).
The "Recovery" mode is used to tell the server to start loading the previously stored stack of requests before starting the listening service. Thus, the print requests that have aborted during the involuntary shutdown are automatically recovered and submitted to the print system.
When this option is activated, the recovered requests are stored in the activity log of the server (whether activated or not).
Note that this option can be used to force the "Recovery" policy set up in the administration console:
Activation of the log file: " /d": This option is used to produce a file that logs the activity of the print server and of the printing processes that are launched. The produced file is named "AdxSrvlmp_Trace.log"; it is stored in the temporary folder of the print server.
This option must be used if problems occur, to facilitate the analysis and correction of incidents submitted to the Sage customer care services.
Launch in console mode: "/noservice ": this option is used to force the print server to run in console mode, instead of service mode.
Deactivating the control and configuration of the ODBC sources: "/noodbc": When it is launched with this option, the print server does not manage the creation, the control, and the configuration of the ODBC data sources that it will use to connect to the data servers of the SAFE X3 solutions linked to it. The user should create and correctly configure the ODBC data sources, based on the characteristics of the different SAFE X3 solutions attached to the server.
Launching using a configuration profile different from the default profile: " /cfg:cdprofil": Reserved for future use.
Deletion of a Windows service created previously: "/rmsvc:cdservice": After deleting the required service, the print server automatically stops.
Display of the print server version: "/v": Available only in Console mode.
Even if the server has not been started with the "/d" log file option, it is possible to follow its activity by consulting the activity log file or the Windows Events Viewer, and by accessing the "Print Monitor" function available in each SAFE X3 folder.
To display this window, it is necessary to connect, in Classic mode, to the print monitor function (PSIMP). Entering the name and port of the print server allows you to display related data to the server activity.
From this screen, you can:
* View the server startup parameters (Configuration section).
* View the current TCP/IP sessions (Connected clients section).
* View and potentially modify the parameters associated with the requests that are either stacked or being executed (Task section).
The activity log file records the "saving", "submission", "termination", and "deletion" events related to a print request.
The exception log file records all the errors or anomalies detected by the server.
These log files are activated and set up by the server administration console (refer to the "Configuration" module - the exception log file automatically inherits the setup of the activity log file).
A log file is subdivided into volumes. Each volume is physically associated with a file stored in the server "Log" subfolder.
When the current volume has reached its maximum size (or upon server start), the archive volumes are swapped to free a volume and thus archive the current volume.
All the information, warning, or error messages issued by the print server or one of the print processes are displayed in the Windows Events Viewer.
In case of incidents, you should take a look at the Events Viewer to establish a detailed diagnosis (AdxSrvImp and AdxImp sources).
The diagram below represents the simplified technical architecture for the print server.
As indicated before, the print server is a "multiprocess" server. It maintains and controls a "pool" of specialized processes that have as their only function the production of Crystal Report reports. The server manages the preparation and formatting of all the information necessary for the correct production of printouts and the execution of the print processes.
The main logical components of the server are described below:
The TCP/IP listening service: Whenever a client sets up a TCP/IP connection to the print server service, it creates a "Client Thread " that is dedicated to the management of the request coming from this client. At a given moment, there will be as many "Client Threads" as connected clients.
The technological services: These services ensure the integrity of the server and mainly control the access to the shared resources (see below). In addition, a specialized technical service manages the creation, configuration, and control of the ODBC data sources (Oracle or SQLServer) necessary for the print processes to access the database servers of the attached SAFE X3 solutions. For the Oracle data sources, the print server supports versions 9, 10, and 11 of the OracleNet client and 'Wire Protocol' type ODBC Oracle drivers. The user account under which the print server is launched must have sufficient rights and privileges to create the ODBC system data sources and the OracleNet aliases. The user can, if required, manually create the ODBC data sources by using the startup option "/noodbc" (see the print server startup options).
The basic services: The print server processes a certain number of basic functional services. Below is the list of the main functional services:
The files transfer: The management of a print request coming from a SAFE X3 application often requires the loading of files stored in this application (for example, the ".rpt" report file). The print server operates with SAFE X3 (SADFSQ) file servers. The print server needs to communicate with these file servers establishing a TCP/IP connection with the corresponding application servers that are associated with it.
The print processes: When the print server is finished preparing a print request (the entry of the parameters, file transfers necessary for the printing, and so forth), and depending on the system availability, it launches a print process that will manage the final production of the report. The main task of this print process is to initialize and call the Crystal Report print engine. It is the latter that actually produces the requested report.
After completing the report processing, a print process accesses the shared memory of the print server to determine if the server has pending print requests. If this is the case, the print process will process the first eligible request. If there are no eligible or pending requests, the print process ends automatically. The maximum number of concurrent print processes for a print server can be set up using the SAFE X3 administration console (refer to the Startup parameters).
The following rules must be followed for the print server to carry out the printing operation correctly:
The error codes generated by the print server are referenced below. They are sorted by category.
The formatted message associated with an error code refers to the following:
Code | Explanation |
---|---|
251 | Waiting time exceeded when an attempt is made to access a shared memory segment. |
252 | An attempt to access a shared memory segment was stopped. |
253 | Failure during an attempt to access a shared memory segment. |
254 | Unable to release the synchronization object to access a shared memory segment. |
255 | Unable to write data in a shared memory segment. |
256 | Unable to read data in a shared memory segment. |
257 | Unable to delete data in a shared memory segment. |
258 | Unable to recover the reference associated with the print request number. |
259 | Too many requests in the pending request stack. |
260 | Error during the submission of a file transfer request. |
261 | The SAFE X3 solution description has not been found in the solutions description file. |
262 | The connection to the SAFE X3 file server has failed. |
263 | Unable to open the configuration file of the print server. |
264 | Error during the initialization of the print server configuration file. |
265 | Error during the analysis of the print server configuration file. |
266 | The total length of the execution parameters for the report is too large. Contact the system administrator. |
267 | Error during the storage of the execution parameters of the report. No group memory available. |
268 | Error during the reading of the execution parameters for the report. |
269 | Error during the deletion of the execution parameters for the report. |
270 | Error during the memory transfer of the execution parameters for the report. |
271 | Unable to launch a print process. |
272 | The initialization context for a print process is absent or has failed. |
273 | The print request could not be submitted (request not ready). |
274 | The print request could not be submitted (unable to activate the thread). |
275 | Error generated by the print engine. |
276 | The command line option is unknown. |
278 | Unknown error. |
279 | Error upon log file initialization. |
280 | Error upon opening the "Recovery" files. |
281 | Unable to recover a Web preview request. |
282 | Unable to recover an already faulty request. |
283 | Error upon reading the "Recovery" files. |
284 | Error upon saving a "Recovery" request. |
Code | Explanation |
---|---|
181 | Root folder for the cache is not found. |
182 | "Application" folder not found. |
183 | Unable to access the registry database. |
184 | Sage X3 server type unknown. |
185 | Transfer type not supported. |
186 | File type unknown. |
187 | Error upon access/transfer with SAFE X3 (SADFSQ) file server. |
188 | Error during the conversion of a character string in Unicode. |
189 | Error during the creation of the cache structure. |
190 | The current session of the cache manager is not initialized. |
191 | Error on opening a local file. |
192 | The file server requested does not exist. |
193 | Unable to open the local file. |
194 | Unable to open the server file. |
196 | The local file requested does not exist. |
199 | Unable to establish a connection with the distant server. |
200 | Error in the reading/writing of the file. |
201 | Unable to compare the Timestamps. |
202 | Error during the conversion of a Timestamp to the system date. |
203 | Error upon deletion of an "Archive" type folder. |
204 | Error upon restoration of an "Archive" type folder. |
205 | The server archive files could not be found. |
239 | Unknown error. |
Code | Explanation |
---|---|
361 | Unable to open the "Service Control Manager". |
362 | Unable to open the requested service. |
363 | Unable to delete the service. |
364 | Unable to stop the service. |
365 | Unable to stop the service. Number of attempts exceeded. |
366 | Unable to start the service. |
367 | Unable to start the service. Number of attempts exceeded. |
368 | Unable to perform the operation. The service is already started or in the process of being started. |
369 | The service already exists. |
370 | Unable to create the service. |
Code | Explanation |
---|---|
231 | Unable to determine the installation folder for the 'SAFE X3 Solutions' file. |
232 | Unable to open the 'SAFE X3 Solutions' file. |
233 | Unable to start the analysis of the 'SAFE X3 Solutions' file. |
234 | An error has occurred during the analysis of the "SAFE X3 solutions" file. |
Code | Explanation |
---|---|
311 | Unable to determine the installation folder for the 'SAFE X3 ODBC Description' file. |
312 | Unable to open the 'SAFE X3 ODBC Description' file. |
313 | Unable to start the analysis of the 'SAFE X3 ODBC Description' file. |
314 | An error has occurred during the analysis of the "SAFE X3 ODBC Description" file. |
315 | The driver description has not been found in the "SAFE X3 ODBC Description' file. |
316 | Error during the deletion/creation operation for the ODBC data sources. |
317 | Error during the creation of an ODBC data source. |
318 | Error during the call to an ODBC configuration API. |
319 | Unable to open the "TnsNames.ora" file. |
320 | Unable to read the "TnsNames.ora" file. |
321 | Unable to update the "TnsNames.ora" file. |
322 | Unable to recover the installation information for the Oracle*Net client. |
323 | Unable to find the Oracle*Net "Tnsnames.ora" configuration file. |
324 | Unable to allocate a temporary file to backup the Oracle*Net "Tnsnames.ora" file. |
325 | Unexpected error during the configuration of an ODBC source. |
326 | Error during the call to a Sql ODBC API. |
327 | The connection test for the ODBC data source has failed. |
328 | The description parameters for the source have errors or are incomplete. |
329 | Unable to create the ODBC data source. |
330 | The data source specified does not exist. |