Using the mode table

 

Modes describe session characteristics between the local and remote locations. The use of modes over OptiConnect provides greater flexibility than standard mode support over Advanced Program-to-Program Communication (APPC). You start modes over OptiConnect through a mode table.

The mode table, QMTABLE, is not included with OptiConnect. It must be created if additional customization is required.

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

To create the OptiConnect mode table, enter CALL QSOC/QYYCMUTL CREATE. This creates the DDS source file QSOCDDS, with member QSOCDDS and a sample mode table QMSAMPLE in the QSOC library. You can create QMTABLE 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 the data file utility (DFU) to change this table, adding one entry for each mode or location required.

For the fast path method, add the following entries:

WORK WITH DATA IN A FILE        Mode....:  Entry Format.....:  MODREC            File....:  QMTABLE 
MODE:       QYCTSOC             RMTLOC:       *ANY LCLLOC:     *ANY                JOBD:         QYYCDTSU JOBDLIB:    QSOC                JOBQ:         QSOC JOBQLIB:    QSOC                DFTUSER:      *JOBD RCLRSC:     *RCLRSC             JOBPRIOR:     *DYNAMIC INIJOB:     0                   MINJOB:       0 USREXIT:    *OBJAUT             USREXITLIB:   *LIBL CONJRNL:    *NONE               CONJRNLLIB:   *LIBL ROUTING:    QYYCDTSU            JOBSTDLY:     200 JOBENDDLY:  0

The ROUTING entry must always be QYYCDTSU to use the OptiConnect agent jobs that are supplied with the QSOC subsystem. 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 table is searched for the following values:

  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 that was also sent to the target system (matched against MODE)

A specific value for the 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. The following priority scheme determines which table entry is used:

  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.

The Fields column in the mode table is case sensitive and all entries need to be in uppercase. Table 1 shows the fields and associated descriptions.

Table 1. Fields in the mode table
Field Description
RMTLOC Remote location (from the system point of view)
LCLLOC Local location (from the system point of view)
MODE Mode description from the DDM file
JOBD Job description for the agent job
JOBDLIB Library for the agent job description
JOBQ OptiConnect agent job queue (*JOBD for value from job description)
JOBQLIB Library for the OptiConnect agent job queue
DFTUSER1, 2 Default user profile for the OptiConnect agent job

  • *NONE means that the agent job runs under the same user profile as the client job1.

  • *JOBD means that the agent job uses the user profile from the job description.
RCLRSC *RCLRSC for disabling reclaim resources (default)

  • *DDMCONV for disabling reclaim DDM conversations

  • *BOTH for disabling reclaim resources and reclaim DDM conversations

  • *NONE for enabling both reclaim resources and reclaim DDM conversations

    Disabling means that OptiConnect conversations will not be reclaimed.

JOBPRIOR *DYNAMIC for changing the agent job priority when the client job priority is changed (default)

  • *STATIC for changing the agent job priority when the agent job is started

  • *NONE for not changing the agent job priority
INIJOB3 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.
MINJOB3 This is the minimum number of available agent jobs that are maintained in the agent job pool. When available agent jobs become active agent jobs, the connection manager submits jobs to maintain the number of available agent jobs.
USREXIT4 Program name - name of exit program if present

  • *OBJAUT for object authority checking only when the job priority is changed (default)

  • *REJECT for rejecting all connections when the agent job is started

  • *NETATR for using the DDM EXIT value from network attributes
USREXITLIB Library for the 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 This value allows the OptiConnect connection manager to shut down before all idle jobs end. This allows the customer to continue with other operations, for example, backups. The remaining idle agent jobs end at a rate of 1 per JOBENDDLY milliseconds.
Notes:

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 is not submitted and the client job hangs 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 because the required security can be set individually for each DDM file.

3: If DFTUSER is set to *NONE, prestart agent jobs cannot be started and the minimum number of agent jobs cannot be maintained.

4: The USREXIT field overrides the network attribute field DDMACC.

 

Parent topic:

Advanced OptiConnect customization