Use of mode tables

Modes describe session characteristics between the local and remote locations. The use of modes over OptiConnect provides greater flexibility than standard mode support over APPC. Modes over OptiConnect are invoked through a mode table. The mode table, QMTABLE, is not shipped with OptiConnect and needs to be created if additional customization is required.

When subsystem QSOC is started, the QSOC library is checked to see if QMTABLE exists. If QMTABLE does exist, the parameters will be used to start any OptiConnect Agents. Otherwise, a default set of values are placed in storage.

To create the OptiConnect Mode table, type the following:

CALL QSOC/QYYCMUTL CREATE

This creates the DDS source file QSOCDDS, with member QSOCDDS, and a sample mode table QMSAMPLE in the QSOC library. The mode table QMTABLE can be created by copying this sample table, or by using the DDS source file. QMTABLE is a physical file and needs to reside in the QSOC library. You can use data file utility (DFU) to alter this table, adding one entry for each mode or location required.

For the Fastpath OptiConnect method, add the following entry:

Note:
The ROUTING (entry) must always be QYYCDTSU to use the OptiConnect agents that are supplied with QSOC. No entry is required in the mode table for ObjectConnect.

The mode table is searched each time an agent job is started (DDM target) for a match against the keyed values. There are three keyed fields in QMTABLE: LCLLOC, RMTLOC, and MODE. The following priority scheme determines which table entry will be used. The table is searched for the following:

  1. Target system name extracted from network attributes (matched against LCLLOC)
  2. Source system name that was sent to the target system (matched against RMTLOC)
  3. Mode which was also sent to the target system (matched against the MODE field)

A specific value for the above three fields can be matched in the table or '*ANY.' A specific value is always taken over '*ANY,' regardless of the order of the entries in the table.

  1. A specific LCLLOC match is taken over a specific RMTLOC or a specific MODE.
  2. A specific RMTLOC match is taken over a specific MODE.

Note:
The Fields column in the mode table is case sensitive and all entries need to be in uppercase. Table 2 shows the fields and associated descriptions.
Table 2. Fields in the Mode table
Field Description
RMTLOC Remote location (from the server point of view)
LCLLOC Local location (from the server point of view)
MODE Mode description from DDM file
JOBD Job description for the Agent job
JOBDLIB Library for Agent job description
JOBQ OptiConnect agent job queue (*JOBD for value from job description)
JOBQLIB Library for OptiConnect Agent job queue
DFTUSER 1, 2 Default user profile for OptiConnect agent job
  • *NONE means run under same user profile as client job 1
  • *JOBD means use user profile from job description
RCLRSC *RCLRSC for disable reclaim resource (default)
  • *DDMCONV for disable reclaim DDM conversation
  • *BOTH for disable reclaim resource and reclaim DDM conversation
  • *NONE to enable both reclaim resource and reclaim DDM conversation
    Note:
    Disable means that OptiConnect conversations will not be reclaimed.
JOBPRIOR *DYNAMIC for change agent job priority when client job priority is changed (default)
  • *STATIC for change agent job priority when the agent job is started
  • *NONE for do not change agent job priority
INIJOB 3 This is the minimum number of agent jobs that are maintained in the agent job pool. This number includes both active and available agent jobs.
MINJOB 3 This is the minimum number of available agents that are maintained in the agent job pool. As available agents become active agents, the connection manager submits jobs to maintain the number of available agent jobs.
USREXIT 4 Program name - name of exit program if present
  • *OBJAUT for object authority checking only job priority is changed (default)
  • *REJECT to reject all connections agent job is started
  • *NETATR use DDM EXIT value from network attributes
USREXITLIB Library for user exit program
CONJRNL Name of journal for connection journaling
  • *NONE for none.
CONJRNLLIB Library for connection journaling
ROUTING Routing Data for Job
JOBSTDLY This value controls the rate at which prestart jobs are started in milliseconds
JOBENDDLY Allows the OptiConnect connection manager to shutdown before all idle jobs have ended. This allows the customer to continue with other operations; for example, backups. The remaining idle agents will end at a rate of 1 per JOBENDDLY milliseconds.

  1. The QSOC user profile must have *CHANGE authority to the user profile with which the agent job is submitted. If this authority does not exist, the agent job will not submit, and the client job will hang for two minutes until it times out.
  2. The DFTUSER field replaces the APPC attribute SECURELOC from standard DDM security. This provides greater flexibility than standard DDM as the required security can be set individually for each DDM file.
  3. Prestart agents cannot be started, and minimum agents cannot be maintained, if DFTUSER is set to *NONE.
  4. The USREXIT field overrides the network attribute field DDMACC.