Setting Up and Starting Concurrent Managers

Concurrent Managers

Oracle E-Business Suite concurrent managers run processes in the background on a server machine. You must set up and start the concurrent managers for each product group before you can use your Oracle E-Business Suite products. Refer to the Maintaining Oracle E-Business Suite documentation set for more information on the adcmctl script for starting and stopping concurrent managers. The instructions in this section apply whether you are installing or upgrading.

Note: Run your concurrent managers on machines with hostnames of 30 or fewer characters. Managers may fail to run on machines with longer hostnames.

Setting Up Concurrent Managers

For UNIX

Keep the following in mind when you start the concurrent managers:

Concurrent managers inherit directory privileges from the user who starts them. If you plan to start the managers from a login other than the main applications login, applmgr, ensure that the login has the appropriate directory privileges.

For more information on directory privileges, see Oracle E-Business Suite Concepts.

Parameter values set in startmgr override any other values. Command line values override environment and default values, and so on. Another section in this manual contains more information on editing the startmgr script.

You can change directory privileges while the managers are running, and the changes will be effective immediately. You can change environment variables and startup parameters while the managers are running, but your changes will not take effect until the concurrent managers are restarted. To put changes into effect, shut down the managers, make the necessary modifications, and restart the managers.

For Windows

On Windows platforms, the OracleConcMgr<SID> service (where <SID> is the database <SID> and the value of the LOCAL variable) spawns the concurrent manager programs. The OracleConcMgr<SID> service is initially created by the Rapid Install program. If you need to recreate the service, use one of the following two methods:

Method 1

where NT User is the user that runs the concurrent manager service, and NT Password is the password of the user that runs the service.

Method 2

Invoke the GUI program ccmsetup.exe (located in %FND_TOP%\bin), and choose the option to create the service.

Parameters

The following entries describe the concurrent manager startup parameters, which are read by the concurrent manager service and passed to the concurrent manager programs. The GUI program ccmsetup.exe (located in %FND_TOP%\bin) should be used to create and set these parameters in the Windows registry. Note that the registry settings override defaults. These parameters can also be used by the adcmctl.cmd script (see the Maintaining Oracle E-Business Suite documentation set for more information).

Database Connection

Variable

Description

Schema Name

The APPS schema name should be set to the APPS user ID.

Password

This is the password to the Oracle E-Business Suite account in the database.

TNS Aliasname

This is the database <SID>.

Server Startup

Variable

Description

Use this Account

Check the "Use this Account box" to specify the OS account ( <NT User> and <NT Password>) that runs the CCM service. If you do not check this box, the system account launching the service will not have permission to access network resources.

Startup Options

Variable

Description

Sleep

Number of seconds (integer) the internal concurrent manager waits between times it looks for Queue Controlled (in statuses Deactivate/Abort/Verify/Activate) requests. The default value is 60.

Restart

Number of minutes (integer) the internal concurrent manager waits before attempting to restart after abnormal termination. The default value prevents the manager from restarting after abnormal termination. The default value is N.

Queue Size

Number of pmon cycles (integer) the internal concurrent manager waits between times it checks for normal changes in concurrent manager operation. Normal changes include the start or end of a work shift and changes to concurrent manager definitions entered in the Concurrent Managers form. The default value is 1.

PMON cycle

Number of sleep cycles (integer) the internal concurrent manager waits between times it checks for concurrent managers that have failed while running a concurrent request. The default value is 20.

Printer Name

Name of the printer to which the concurrent managers send request output, where the requests are submitted from within a concurrent program if the submitting program (parent request) does not have a printer associated with it.

Enable Distributed Concurrent Processing

Check this box to enable distributed concurrent processing.

Shutdown

Variable

Description

Deactivate/ Normal

Shuts down the concurrent managers using normal shutdown methods.

Terminate/Abort Processes

When shutting down the concurrent managers, aborts the concurrent managers.

Note: This option is currently disabled. Checking this box will have no effect.

File Logging

Variable

Description

Activation Log

The name of the log file generated upon startup of the Internal Concurrent Manager. Defaults to CM_<SID>.log.

Deactivation Log

The name of the log file generated upon shutdown of the Internal Concurrent Manager. Defaults to CS_<SID>.log.

Checking this box prevents log files from being overwritten when the concurrent manager is started.

Starting the Concurrent Managers

Before starting the concurrent managers, you must start the Oracle E-Business Suite TNS listener on all nodes. The TNS listener must be started by the applmgr user.

For UNIX

You can start the concurrent managers from by running the script startmgr from the operating system command line. To start the concurrent manager from the operating system prompt, use the following syntax:

All parameters are optional. You can pass parameters to the script in any order. These parameters can also be used by the adcmctl.sh script (see the Maintaining Oracle E-Business Suite documentation set for more information).

Parameters

The following entries describe the concurrent manager startup parameters. The default values apply if you do not specify different values in the startmgr script, on the command line when you run startmgr, or in your environment.

Variable

Description

sysmgr

APPS schema name should be set to the APPS schema user ID and password. You will be prompted for the password if you omit the parameter and use the default value. The default value is $FNDNAM.

mgrname

Name of the internal concurrent manager (alphanumeric characters only). The default value is std.

PRINTER

Name of the printer to which the concurrent managers send request output, where the requests are submitted from within a concurrent program if the submitting program (parent request) does not have a printer associated with it.

mailto

List of users who receive mail when the internal concurrent manager stops running. The default value is the user who starts managers.

restart

Number of minutes (integer) the internal concurrent manager waits before attempting to restart after abnormal termination. The default value is N. The default value prevents the manager from restarting after abnormal termination.

logfile

The name of the internal concurrent manager's log file. The default value is <mgrname.mgr>.

sleep

Number of seconds (integer) the internal concurrent manager waits between times it looks for Queue Controlled (in statuses Deactivate/Abort/Verify/Activate) concurrent requests. The default value is 60.

pmon

Number of sleep cycles (integer) the internal concurrent manager waits between times it checks for concurrent managers that have failed while running a concurrent request. The default value is 20.

quesiz

Number of pmon cycles (integer) the internal concurrent manager waits between times it checks for normal changes in concurrent manager operation. Normal changes include the start or end of a work shift and changes to concurrent manager definitions entered in the Concurrent Managers form. The default value is 1.

Example

For Windows

The OracleConcMgr<SID> service is launched from the Control Panel Services applet. It can also be launched from the command line using the following command:

C:\> net start OracleConcMgr<SID>

Concurrent managers inherit directory privileges from the user who installs and starts them. If you plan to install and start the managers from a login other than the main applications login (applmgr) ensure that the login has the appropriate directory privileges. The Windows account that starts the concurrent manager service must be the same one that installed it.

Startup parameter values apply in this order:

Values set in the registry (through the use of ccmsetup)

Default values

This means that values set in the registry override the default values.

You cannot change startup parameters while the managers are running. To put changes into effect, shut down the managers, make the necessary modifications, and restart the managers.

Restarting the Concurrent Managers

You must restart the concurrent managers whenever you start the Oracle8i Server database or change the concurrent manager startup parameters.

On UNIX platforms, concurrent managers append to their own log file if the log files exist when they restart. Therefore, the user who restarts the concurrent managers must either own the existing files, have write privilege for them, or delete them before restarting.

On Windows, the concurrent manager logs are overwritten when the concurrent managers are restarted. Checking the "Save Log History" option in the ccmsetup GUI tool saves the previous log files.

The concurrent managers delete temporary files when each concurrent process finishes. If the concurrent managers stop abnormally, however, they may not delete these files.

Tip: Delete temporary files only if they have not been accessed more recently than a few days ago. This helps to prevent the loss of files required by the operating system or the concurrent managers.

Ideally, delete temporary files during maintenance windows when the database is down and no applications programs are active.

Network Failure Recovery

As part of its shutdown process, the ICM determines if it’s being forced to shutdown due to losing its database connection. This is done by looking for specific error messages ORA-3113, ORA-3114, or ORA-1041. If one of these error messages is detected, the ICM spawns the reviver process, which attempts to make a database connection. If unsuccessful, it sleeps for a period before trying again. This continues until either a successful connection is made or it receives a signal to shut itself down.

When a successful connection is made, the process kills the old ICM database session, and then starts a new ICM using the normal start manager script. Once the ICM is restarted, it starts up any other managers that had also shut down, and normal processing resumes.

Shutting Down the Concurrent Manager Service (Windows)

The OracleConcMgr<SID> service may be shut down from the Control Panel Services applet. It can also be stopped from the command line using the following command:

C:\> net stop OracleConcMgr<SID>

Although you can shut down concurrent managers from Oracle E-Business Suite System Administrator's responsibility, this does not stop the concurrent manager service. You must still stop the concurrent manager service from the Windows Control Panel Services applet before you can restart the concurrent managers.

Note: The OracleConcMgr<SID> service may take several minutes to shut down because it needs to finish processing currently running requests.

Warning: Do not use the Task Manager to stop the concurrent manager service or other Applications processes unless you are advised to do so by Oracle Worldwide Support.

Removing the Concurrent Manager Service (Windows)

If you need to remove the concurrent manager service, ensure that it is not running.

To remove or delete the OracleConcMgr<SID> service, use one of the following 2 methods:

Method 1

At the command prompt, type:

C:\> cd %COMMON_TOP%\admin\install
C:\> adsvcm.cmd -deinstall

Method 2

Invoke the GUI program ccmsetup.exe, and choose the option to remove the service.

Once you have done this, you will need to reinstall the concurrent manager service in order to process concurrent requests.

File Conventions

The following tables list the locations and file naming conventions for log, output, and temporary files. The location of product log and output files depends on whether you have set up a common directory.

For UNIX

File Type

Location

Filename

Internal Concurrent Manager Log

$FND_TOP/$APPLLOG with Common Directory: $APPLCSF/$APPLLOG

<mgrname>.mgr

Concurrent Manager Log

$FND_TOP/$APPLLOG with Common Directory: $APPLCSF/$APPLLOG

w<nnn>.mgr

Request Log

Default: $<PROD>_TOP/$APPLLOG with Common Directory: $APPLCSF/$APPLLOG

l<request ID>.req

Request Output

Default: $<PROD>_TOP/$APPLOUT with Common Directory: $APPLCSF/$APPLOUT

o<request ID>.out

Temporary

$APPLTMP or $REPORTS60_TMP

OF<abcd12345>.t where <abcd12345> is a random OS-generated string

Parameters

The variable parameters have the following values:

Variable

Description

mgrname

For UNIX, the name specified with the mgrname parameter in the startmgr command. If no name is specified, the filename is std.mgr. For Windows, the name specified with the mgrname parameter in the ccmsetup.exe program. If no name is specified, the filename is std.mgr.

nnn

A sequence number between 1 and 999 is generated by the concurrent processing facility.

<PROD>_TOP

The product's top environment variable, such as GL_TOP.

request ID

The number that identifies the concurrent request.

USERNAME

Up to eight characters (uppercase) of the application username of the user that requested the concurrent process.

<abcd12345>

Naming convention in which <abcd> are random letters and <12345> designate the operating system process ID of the concurrent process that generated the file.

Directory Privileges

Oracle recommends that you start the managers from the applmgr login to ensure that they inherit the correct directory privileges. The user who starts the concurrent managers then owns the log and output files that the concurrent managers create.

Oracle recommends that you start the managers from the applmgr login to ensure that they inherit the correct directory privileges.

For UNIX, any user who runs an environment file and has access to the startmgr script can start the concurrent managers.

Warning: Always start the concurrent managers from the applmgr login if you are using parallel concurrent processing on multiple nodes.

For UNIX

This section describes directory privileges for UNIX.

Setting the startmgr User ID with setuid in UNIX

To ensure that startmgr inherits the applmgr directory privileges, you can use the UNIX setuid facility to set startmgr to the applmgr login's UNIX user ID. The concurrent managers then inherit the applmgr privileges no matter which login runs startmgr. This allows you to start or restart concurrent managers using the Administer Concurrent Managers form, regardless of the originating UNIX login. Note that you must reset the user ID with setuid if you modify or copy startmgr. Refer to your online UNIX documentation for information on setuid.

Note: The use of the setuid command may cause unexpected behavior on certain platforms that employ dynamic linking of libraries. Please refer to the Oracle E-Business Suite Installation Update for your platform for any information regarding this problem.

Directory Privileges for Logins other than applmgr

If you do not set the startmgr script to the applmgr user ID and you start the managers from a login other than applmgr, that login needs to have these privileges:

Read and execute privileges on all Oracle E-Business Suite directories

Write privilege for all directories defined by the following variables:

APPLLOG (typically log directory or directories)

APPLOUT (typically out directory or directories)

APPLCSF (common directory for log and output files)

APPLTMP (temporary directory)

REPORTS60_TMP (temporary directory for Oracle Reports files)

Write privilege for these directories: /tmp and /usr/tmp

You can verify that a login has the necessary privileges on a certain directory with this command:

$ ls -ld < directory>

Here is an example:

$ ls -ld /usr/tmp
drwxrwxrwx 3 root 22880 Mar 10 11:05 /usr/tmp
^^^

The three letters marked in the sample response indicate that all users have read, write, and execute privilege for the directory.

Printing

This section contains printer reference material including information on how to create and register executable printing programs.

To register printers in the Printers window of Oracle E-Business Suite, your Oracle E-Business Suite System Administrator needs to know each printer's operating system name. Your installation update tells you where to find the printer names for your platform. Installation updates may also contain other information on setting up your printers.

Printing (for UNIX)

This section contains printer reference material specific to the UNIX operating system, including information on how to create and register executable printing programs.

Standard Print Subroutine

The standard printing subroutine that you can select in the Printer Drivers form uses Oracle Application Object Library routines to print reports. This requires fewer machine resources than printing through a customized executable program or a shell command such as lp or lpr.

When you use the subroutine, there may be options available through the descriptive flexfield at the bottom of the form. These options vary by platform and may include the following: mail Notify user by electronic mail when report finishes printing.

Mail: Notify user by electronic mail when report finishes printing.

Priority: Set the priority for reports in the print queue.

Check your installation update for any additional options available on your platform.

Executable Printing Programs

Oracle E-Business Suite supports the use of executable programs for printing. However, we recommend that you use executable programs only to provide features unavailable through Oracle E-Business Suite printer drivers, such as:

Interpreting special characters in the text passed to the printer. For example, you need a program to interpret 8-bit characters sent to a 7-bit compatible printer

Interpreting arguments passed by Oracle E-Business Suite. For example, you need a program to perform different actions based on different output filenames.

If you do not need to support special features such as these, print through the standard printing subroutine and printer drivers defined in the Oracle E-Business Suite database. This makes the most efficient use of machine resources.

Upgrading to Existing Executable Programs

Because printing through the standard printer subroutine uses machine resources more effectively than printing through executable programs, we recommend the following if you used executable printing programs in the previous release of Oracle E-Business Suite.

If predefined printer drivers can replace the executable program, simply register the drivers along with the printer types in the Printer Types window.

For example, Oracle E-Business Suite provides a print style Landscape and the printer driver LANDSCAPESUB. They perform the same function as the program land, which enables DEC LN03 printers to print 132 characters per line.

If no predefined drivers will work, you may be able to create a customized driver that can replace the executable. You create drivers with the Printer Drivers form.

If you cannot replace the executable with a simple printer driver definition, you can continue to use the executable by registering it or the shell script that calls it with Oracle E-Business Suite.

Writing an Executable Program

Executable printing programs can format report output through escape sequences or a printer programming language. Creating them requires a thorough knowledge of both printer operation and a computer programming language. Follow the guidelines in this section if you need to create an executable printing program.

Printer Styles

An executable program should be able to format report output for various print styles, including these:

If the program handles formatting for various print styles internally, you can pass arguments from the printer drivers to the program to determine which print style to use.

If the program does not contain print style formatting commands, you can define the commands in a shell script that calls the program. You then define the shell script as the printing program in a printer driver and pass arguments that determine the print style from the driver to the script.

The printer driver that calls the executable program or shell script must be able to pass the following arguments:

Name of the destination printer

Number of copies to print

Banner on title page

Filename

Initialization and Reset

You do not have to add printer initialization and reset strings to your program if you can define these strings in the Printer Drivers form.

Character Mode Oracle Reports Commands

We recommend that you design your executable programs to work with the standard Oracle Reports print drivers. The following standard drivers are located in the $FND_TOP/$APPLREP directory:

P.prt - Portrait style

L.prt - Landscape style

W.prt - Landwide style

A.prt - A4 style

The program should not misinterpret the commands for bold on, bold off, and page size that the standard drivers imbed in Oracle E-Business Suite reports. If necessary, you can create customized Oracle Reports drivers as described below.

Location of Program

When you have compiled and linked the source code or written a shell script, move the program to the $APPLBIN subdirectory under the top directory of your custom development area. Keep copies of the source file in your custom development area as a backup.

Creating Customized Character Mode Oracle Reports Print Drivers

The Oracle Reports print drivers set the font styles for italics, underlining, and bolding. If your executable printing program cannot use the standard Oracle Reports drivers, create a customized driver for each print style you will use with the program.

To create a customized driver, copy L.prt, P.prt, A.prt, or W.prt from $FND_TOP/$APPLREP to your custom development area. Modify a standard driver as needed for your executable printing program. Give the customized driver a new filename but keep the .prt extension. Then copy the customized driver to $FND_TOP/$APPLREP.

Tip: Use the executable program name and print style letter as the driver name. For example, use HPLJ3P.prt for portrait style printing with the executable program HPLJ3. When you print in portrait style with this program, the concurrent managers pass the HPLJ3P.prt driver to Oracle Reports as DESFORMAT=HPLJ3P.

Registering Executable Programs

When you have created your executable programs and, optionally, your shell scripts and Oracle Reports drivers, register them in the Printer Drivers form.

Navigate to the Printer Drivers window and create a new printer driver name. Also add the user name, description, and platform.

In the SRW Driver field, enter the name (without the .prt extension) of a standard or customized Oracle Reports driver. All drivers must be in the directory $FND_TOP/$APPLREP.

Enter Program as the driver method.

Enter No in the Spool File field.

Enter No in the Standard Input field.

In the program name field, enter the name of the executable program or the shell script that calls it. Include the full path name if this file is not in the $FND_TOP/bin directory.

Add the arguments that Oracle E-Business Suite passes to the program or shell script. The driver must pass the following to the executable program:

Name of the destination printer

Number of copies to print

Banner on title page

Filename

Add the initialization and reset strings to the appropriate fields if the program does not send these strings to the printer.

Printing (For Windows)

This section contains printer reference material specific to the Windows operating system. It also explains how to create and register executable printing programs.

Operating System Names for Printers

To register printers in the Printers window of Oracle E-Business Suite, your Oracle E-Business Suite system administrator needs to know each printer's operating system name. For Windows, you can obtain the printer's name from the Printers folder in My Computer. If you register an invalid printer, the operating system's default printer will be used instead.

Standard Print Subroutine

The standard printing subroutine that you can select in the Printer Drivers form uses Oracle Application Object Library routines to print reports. This requires fewer machine resources than printing through a customized executable program DOS command such as PRINT.

Executable Printing Programs

Oracle E-Business Suite supports the use of executable programs for printing. However, we recommend that you use executable programs only to provide features unavailable through Oracle E-Business Suite printer drivers, such as:

Interpreting special characters in the text passed to the printer. For example, you need a program to interpret 8-bit characters sent to a 7-bit compatible printer.

Interpreting arguments passed by Oracle E-Business Suite. For example, you need a program to perform different actions based on different output filenames.

If you do not need to support special features such as these, print through the standard printing subroutine and printer drivers defined in the Oracle E-Business Suite database. This makes the most efficient use of machine resources.

Upgrading Existing Executable Programs

Because printing through the standard printer subroutine uses machine resources more effectively than printing through executable programs, we recommend the following if you used executable printing programs in the previous release of Oracle E-Business Suite:

If predefined printer drivers can replace the executable program, simply register the drivers along with the printer types in the Printer Types form.

For example, Oracle E-Business Suite provides a print style Landscape and the printer driver LANDSCAPESUB. They perform the same function as the program land, which enables DEC LN03 printers to print 132 characters per line.

If no predefined drivers will work, you may be able to create a customized driver that can replace the executable. You create drivers with the Printer Drivers form.

If you cannot replace the executable with a simple printer driver definition, you can continue to use the executable by registering it or the shell script that calls it with Oracle E-Business Suite.

Writing an Executable Program

Executable printing programs can format report output through escape sequences or a printer programming language. Creating them requires a thorough knowledge of both printer operation and a computer programming language. Follow the guidelines in this section if you need to create an executable printing program.

Printer Styles

An executable program should be able to format report output for various print styles, including these:

If the program handles formatting for various print styles internally, you can pass arguments from the printer drivers to the program to determine which print style to use.

If the program does not contain print style formatting commands, you can define the commands in a command file that calls the program. You then define the .cmd file as the printing program in a printer driver and pass arguments that determine the print style from the driver to the script.

The printer driver that calls the executable program or .cmd file must be able to pass the following arguments:

Name of the destination printer

Number of copies to print

Banner on title page

Filename

Initialization and Reset

You do not have to add printer initialization and reset strings to your program if you can define these strings in the Printer Drivers form.

Character Mode Oracle Reports Commands

We recommend that you design your executable programs to work with the standard Oracle Reports print drivers. The following standard drivers are located in the %FND_TOP%\%APPLREP% directory:

P.prt - Portrait style

L.prt - Landscape style

W.prt - Landwide style

A.prt - A4 style

The program should not misinterpret the commands for bold on, bold off, and page size that the standard drivers imbed in Oracle E-Business Suite reports. If necessary, you can create customized Oracle Reports drivers as described in the next section.

Location of Program

When you have compiled and linked the source code or written a command file, move the program to the %APPLBIN% subdirectory under the top directory of your custom development area. Keep copies of the source file in your custom development area as a backup.

Creating Customized Character Mode Oracle Reports Print Drivers

The Oracle Reports print drivers set the font styles for italics, underlining, and bolding. If your executable printing program cannot use the standard Oracle Reports drivers, create a customized driver for each print style you will use with the program.

To create a customized driver, copy L.prt, P.prt, A.prt, or W.prt from %FND_ TOP%\%APPLREP% to your custom development area. Modify a standard driver as needed for your executable printing program. Give the customized driver a new filename but keep the .prt extension. Then copy the customized driver to %FND_ TOP%\%APPLREP%.

Tip: Use the executable program name and print style letter as the driver name. For example, use HPLJ3P.prt for portrait style printing with the executable program HPLJ3. When you print in portrait style with this program, the concurrent managers pass the HPLJ3P.prt driver to Oracle Reports as DESFORMAT=HPLJ3P.

For more information, see the Oracle Reports Developer documentation.

Registering Executable Programs

When you have created your executable programs and, optionally, your Oracle Reports drivers, register them in the Printer Drivers form.

Define a printer driver and corresponding print style for each print style that your executable program supports. Complete the following steps to register an executable program for a printer driver:

Navigate to the Printer Drivers form and create a new printer driver name. Also add the user name, description, and platform.

In the SRW Driver field, enter the name (without the .prt extension) of a standard or customized Oracle Reports driver. All drivers must be in the directory %FND_TOP%\%APPLREP%.

Enter Program as the driver method.

Enter No in the Spool File field.

Enter No in the Standard Input field.

In the Program Name field, enter the name of the executable program or the command file that calls it. Include the full path name if this file is not in the %FND_TOP%\bin directory.

Add the arguments that Oracle E-Business Suite passes to the program or command file. The driver must pass the following to the executable program:

Name of the destination printer

Number of copies to print

Banner on title page

Filename

Add the initialization and reset strings to the appropriate fields if the program does not send these strings to the printer.