Parameters passed to the dynamic routing program

Parameters are passed from the CICS® relay program to the dynamic routing program by a communications area (COMMAREA) or container. The copybook DFHDYPDS maps the COMMAREA or container, which is in the appropriate CICS library for all the supported programming languages.

The same information is passed to both the dynamic routing program and the distributed routing program. Some parameters are meaningful to one routing program but not to the other. Some parameter values are passed to one routing program but never to the other. The following list describes in detail only the parameters that are significant to the dynamic routing program. Parameter values that are never passed to the dynamic routing program are not listed. For example, under the DYRFUNC parameter the value X'5' is not listed. X'5' is never passed to the dynamic routing program because it occurs only on a route initiate call to the distributed routing program.

If you use the same program as both a dynamic routing program and a distributed routing program, see Parameters passed to the distributed routing program for descriptions of the parameters and values that are significant when using distributed routing calls.

DYRABCDE
Is the abend code returned when a routed transaction or program link request abends, or a Link3270 user transaction abends.
DYRABNLC
Is an abnormal event code, or null.

This parameter is significant when the dynamic routing program is invoked to stop a routed request. Any value other than null indicates that an abnormal event, other than a transaction abend, has occurred in the region to which the request was routed. Your routing program must not route further requests to the same region until the cause of the error has been investigated and fixed.

This field is used by CICSPlex® System Manager. It is set by DB2® only. For more information, see Avoiding AEY9 abends.

DYRACMAA
This field applies to the routing of these items:
  • Terminal-initiated transactions
  • Transactions started by terminal-related START commands
  • Program link (DPL) requests
For the routing of these types of requests, DYRACMAA contains one of these entries:
  • The 31-bit address of the communications area (COMMAREA) of the application if the user application uses a COMMAREA or if you are using transaction routing, where the first transaction specifies either a COMMAREA or a channel on its EXEC CICS RETURN command
  • The 31-bit address of the DFHROUTE container if the user application uses a channel and has created a container named DFHROUTE in the channel
  • Null characters if the user application has no COMMAREA and no DFHROUTE container.

For the routing of all other types of requests, DYRACMAA contains null characters.

For the routing of the three types of eligible requests listed, if the user application uses a COMMAREA, the address depends on how the dynamic routing program is invoked.
  • If your dynamic routing program is invoked for routing (DYRFUNC=0), the address of the input communications area, if one is available. In the same way, when your routing program is invoked because of a route-selection error (DYRFUNC=1) or for notification (DYRFUNC=3), the address is the address of the input communications area.
  • If your routing program is invoked because a previously routed transaction or link request has ended normally (DYRFUNC=2), the address of the output communications area, if one is available. Routed applications can use their output communications area to pass information to the dynamic routing program.

If you are routing transactions and the user application uses a channel, the routing program is given the name instead of the address of the channel, which means that you cannot use the DYRCHANL parameter to inspect or change the contents of the containers.

When your routing program is invoked because the routed transaction abends (DYRFUNC=4), the information in the communications area, or in the DFHROUTE container, is not meaningful.

Your routing program can alter the data in the communications area of any application, or DFHROUTE container, addressed by DYRACMAA.

DYRACMAL
Applies to the routing of these items:
  • Terminal-initiated transactions
  • Transactions started by terminal-related START commands
  • Program link (DPL) requests
For the routing of these types of requests, DYRACMAL contains one of the following numerical values:
  • The length, in bytes, of the application COMMAREA if the user application uses a COMMAREA
  • The length, in bytes, of the data in the DFHROUTE container if the user application uses a channel and has created a container named DFHROUTE in the channel
  • Zero if the user application has no COMMAREA and no DFHROUTE container

For the routing of all other types of request, DYRACMAL contains zero.

DYRACTCMP
Is not used by the dynamic routing program. On invocation, it is set to nulls.
DYRACTID
Is not used by the dynamic routing program. On invocation, it is set to nulls.
DYRACTN
Is not used by the dynamic routing program. On invocation, it is set to nulls.
DYRBLGTH
Is the length of the copy of the TIOA DFHLUC buffer.

This field applies only to dynamic transaction routing or to Link3270 requests (not to the routing of program link requests).

DYRBPNTR
Is the 31-bit address of a copy of the TIOA LUC buffer.

This field applies only to dynamic transaction routing and not to the routing of program link requests.

When your dynamic routing program is invoked for routing, because of a route-selection error (DYRFUNC=0), or for notification (DYRFUNC=3), it is given a copy of the input TIOA. Your routing program can alter the terminal input data passed to the routed transaction; see Modifying the initial terminal data.

When your routing program is invoked because a previously routed transaction has ended normally (DYRFUNC=2), it is given a copy of the output TIOA. Your routing program can monitor the output TIOA to detect possible problems in the AOR; see Receiving information from a routed transaction.

When your routing program is called for a Link3270 bridge request (DYRTYPE=8), the address of a copy of the TIOA LUC buffer is not passed in DYRBPNTR.

DYRBRTK
Is the 8-byte bridge facility token associated with a Link3270 bridge request. This field is valid only when DYRTYPE=8.
DYRCABP
Indicates whether or not you want CICS to continue standard abend processing.

This field applies only to dynamic transaction routing, not to the routing of program link or Link3270 requests. If a linked-to program abends on a remote region, the abend is mirrored in the local region; that is, it is passed to the program that issued the EXEC CICS LINK command.

:
Y
Continue with CICS abend processing.
N
Stop the transaction, do not continue with CICS abend processing, and give control to the program specified by DYRLPROG.

You can use this option to pass control to a local program that can handle the condition in a way that you control and issue appropriate messages to terminal users.

If you enter N, you must ensure that DYRLPROG specifies the name of a valid program on the local system.

No default value applies to DYRCABP.

DYRCHANL
Is the name of the channel, if any, associated with the program link or START command. This field applies only to the routing of DPL requests, nonterminal-related START requests, and transactions started by terminal-related START requests. For other types of request, or if no channel is associated with the command, this field contains blanks.

Note that the routing program is given the name of the channel, not its address, and so is unable to use the contents of this field to inspect or change the contents of the containers. For information about how the routing program can inspect or change the contents of the application containers, see Modifying the application’s containers and the description of the DYRACMAA field.

DYRCOMP
Is the CICS component code. For calls to the dynamic routing program, it is always set to RT.
DYRCOUNT
Is a count of the times the dynamic routing program has been invoked for this transaction or link request with DYRFUNC set to 0, 1, or 3. Use this field to limit the number of times your program tries to route a request.
DYRDTRRJ
Indicates whether the transaction, which is defined by the common transaction definition specified on the DTRTRAN system initialization parameter, is to be rejected or accepted for processing.

This field applies only to dynamic transaction routing and Link3270 request routing (not to the routing of program link requests), and is relevant only when DYRTRXN is set to Y.

The following values are valid:
Y
The transaction is rejected. Y is the default.
N
The transaction is not rejected.

This parameter is always set to the reject condition when the dynamic routing program is invoked. To dynamically route a transaction defined by the DTRTRAN system initialization parameter, you must change this indicator to the accept condition.

If you reject the transaction, message DFHAC2001, Transaction tranid is unrecognized. , is sent to the user's terminal for dynamic transaction routing. For Link3270 requests, the BRIH returned to the client contains a return code, indicating that the transaction was not found, and a compcode indicating that the routing program rejected the transaction specified on the DTRTRAN system initialization parameter.

DYRDTRXN
Indicates whether the transaction to be routed is defined by the common transaction definition specified on the DTRTRAN system initialization parameter or by a specific transaction definition.

This field applies only to dynamic transaction routing and Link3270 requests, not to the routing of program link requests.

The following values are valid:
Y
The transaction is defined by the definition specified by the DTRTRAN system initialization parameter. That is, there is no resource definition for the input transaction identifier (ID).

For dynamic transaction routing, the transaction is started in the terminal-owning region using the transaction ID specified by the DTRTRAN system initialization parameter.

For dynamic transaction routing, the input transaction ID is passed to the dynamic routing program in the DYRTRAN field. For Link3270 requests, the common transaction definition is used to determine the routing characteristics of the request. The request still contains the original transaction ID, not the common transaction ID. If the request is run locally, the request is passed to the driver successfully, but the driver fails to start the user transaction because it is not defined.

N
The transaction is not defined by the definition specified by the DTRTRAN system initialization parameter. An installed resource definition exists for the input transaction ID.

For dynamic transaction routing, the transaction is started in the terminal-owning region using the input transaction ID. The transaction ID passed to the dynamic routing program in the DYRTRAN field is the remote transaction ID from the transaction resource definition (if this ID is different from the input transaction ID).

For Link3270 requests, the transaction ID passed to the routing program in the DYRTRAN field is the remote transaction ID defined in the TRANSACTION resource definition.

DYRERROR
Has a value only when DYRFUNC is set to 1. DYRERROR indicates the type of error that occurred during the last attempt to select a route. If an attempt to route over an IPIC connection failed and a subsequent attempt to use a connection of the same name also failed (for a reason other than SYSID not found), the type of error that occurred on the attempt to route over the connection is returned. The following values are valid:
0
The selected SYSID is unknown.
1
The selected system is not in service.
2
The selected system is in service, but no sessions are available.
3
An allocate request has been rejected, and SYSIDERR is returned to the application program. This error occurs for one of the following reasons:
  • An XZIQUE global user exit program requested that the allocate be rejected
  • CICS rejected the allocate request automatically because the QUEUELIMIT value specified on the CONNECTION resource definition was reached.
4
A queue of allocate requests has been purged, and SYSIDERR is returned to all the waiting application programs. This error occurs for one of the following reasons:
  • An XZIQUE global user exit program requested that the queue be purged
  • CICS purged the queue automatically because the MAXQTIME limit specified on the CONNECTION resource definition was reached.
5
The selected system does not support this function. This value occurs if the routing program tries to perform one of these actions:
  • Route a transaction initiated by an EXEC CICS START command to a region that is not connected by an MRO or APPC parallel-session link.
  • Route a transaction, or a program link or Link3270 request, across a LU6.1 connection.
  • Route a Link3270 request to a region at an unsupported release of CICS.
  • Route a transaction across an IPIC connection to a pre-CICS TS for z/OS®, Version 4.1 region.
  • Route an APPC device over an IPIC connection.

Values 6 - B all apply to attempts to route program link requests. For the meanings of these error conditions, see LINK.

6
The EXEC CICS LINK command returned LENGERR.
7
The EXEC CICS LINK command returned PGMIDERR.
8
The EXEC CICS LINK command returned INVREQ.
9
The EXEC CICS LINK command returned NOTAUTH.
A
The EXEC CICS LINK command returned TERMERR.
B
The EXEC CICS LINK command returned ROLLEDBACK.
F
The XPCERES global user exit program on the target region set a return code of UERCRESU, meaning that a required resource is unavailable on the target region. This error code is set for program link, Link3270 bridge, and non-terminal-related START requests.
DYRFUNC
Tells you the reason for this invocation of the dynamic routing program. The following values are valid:
0
Invoked for route selection.
1
Invoked because an error occurred in route selection.
2
Invoked because a previously routed transaction or program link request has ended successfully, or invoked for a request for which the user transaction ended successfully.
3
Invoked for notification of the destination of a statically routed request. This notification applies in the following cases:
ATI requests
A transaction defined as DYNAMIC(YES) has been initiated by a terminal-related automatic transaction initiation (ATI) request, for example, by the expiry of an interval control start request, but the transaction is ineligible for dynamic routing.

For information about which transactions initiated by terminal-related EXEC CICS START commands are eligible for dynamic routing, see Routing transactions invoked by START commands.

Program link requests
The program is defined as DYNAMIC(YES), or is not defined, but the caller specified the name of a remote region on the SYSID option of the EXEC CICS LINK command.

In this case, specifying the target region explicitly takes precedence over any SYSID returned by the dynamic routing program.

Bridge requests
In session mode, the requested transaction is not the first user transaction and is defined as DYNAMIC(YES).
4
Invoked because the routed transaction or the requested user transaction abends.
7
Invoked to identify a call for end of unit of work processing

The DYRTYPE field tells you the type of routing or notification request.

DYRLEVEL
Is the level of CICS required in the target AOR to successfully process the routed request. The following values are valid:
X'00'
Any currently supported version of CICS is able to process the request.
X'01'
CICS TS for z/OS, Version 2.2. This value is set only for method requests for enterprise beans and CORBA stateless objects (handled by the distributed routing program).
X'02'
CICS TS for z/OS, Version 2.3. This value is set only for method requests for enterprise beans and CORBA stateless objects (handled by the distributed routing program).
X'03'
CICS TS for z/OS, Version 3.1. This value is set for these requests:
  • DPL requests that have a channel associated with them.
  • START requests that have a channel associated with them.
  • Inbound Web services requests (handled by the distributed routing program).
  • Method requests for enterprise beans and CORBA stateless objects (handled by the distributed routing program).
X'04'
CICS TS for z/OS, Version 3.2.

Note that values greater than X'00' indicate the specific, not the minimum, level of CICS required to process the request successfully.

This parameter helps you to perform a rolling upgrade of a multi region logical server; one region at a time is upgraded from one release of CICS to the next, without bringing down the server. Requests that require a specific level of CICS can be routed to an appropriate AOR.

This mixed level of operation, in which different CICS regions in the same logical server are at different levels of CICS, is for rolling upgrades only. It is not for permanent use, because it increases the risk of failure in some interoperability scenarios. The normal, recommended, mode of operation is that all the regions in a logical sever are at the same level of CICS and Java™.
DYRLPROG
Is the name of the first program of the transaction to be routed or the name of the program specified on the link command to be routed.
Transaction routing
You can use this field to specify the name of an alternative program to be run if the transaction is routed locally. For example, if all remote CICS regions are unavailable, and the transaction cannot be routed, you might want to run a program in the local terminal-owning region to send an appropriate message to the user.

Do not set DYRLPROG to blanks when you specify DYRCABP=N. If you specify DYRCABP=N, ensure you also specify a valid program name on DYRLPROG.

Program link requests
When DYRFUNC is set to 0 or 3, DYRLPROG contains the name of the program to be linked, obtained using the following sequence:
  1. From the REMOTENAME option of the installed program definition.
  2. If REMOTENAME is not specified, or there is no program definition, from the PROGRAM option of the EXEC CICS LINK command.

You can use this field to specify that an alternative program, other than that named on the program link request, is to be linked. You can specify a local or remote program, depending on the region to which the request is to be routed.

Be aware that, if you change the value of DYRLPROG, and the alternative program you choose is defined as DYNAMIC(YES), the dynamic routing program is reinvoked for route selection.

Bridge requests
When DYRTYPE=8, do not change this field; any changes made are ignored by CICS.

You can change DYRLPROG on any call to the dynamic routing program, but it is effective only when DYRFUNC is set to 0 or 1.

DYRLUOW
The 8-byte local unit of work ID. This token forms part of the key for the LOCKED affinity type.

This field is valid only when DYRTYPE=4 or 9 (DPL) or DYRFUNC=7 (end of unit of work). DYRTYPE 4 is DPL without CHANNEL, DYRTYPE 9 is DPL with CHANNEL.

DYRNETNM
The netname of the CICS region identified in DYRSYSID.

If the DYRNETNM value is changed by the initial invocation of the dynamic routing program, CICS tries to route the request to the CICS region with the new netname.

DYRNUOW
The 27-byte network unit of work ID. This token forms part of the key for the LOCKED affinity type.

This field is valid only when DYRTYPE=4 or 9 (DPL) or DYRFUNC=7 (end of unit of work).

DYROPTER
Specifies whether the dynamic routing program is to be reinvoked when the routed transaction or link request ends (successfully or unsuccessfully). The following values are valid:
N
The dynamic routing program is not to be reinvoked. N is the default.
Y
The dynamic routing program is to be reinvoked.

You can specify this option for transactions, link requests, or bridge requests that are routed to remote CICS regions and also for those that are run locally.

DYRPROCCMP
Is not used by the dynamic routing program. On invocation, it is set to nulls.
DYRPROCID
Is not used by the dynamic routing program. On invocation, it is set to nulls.
DYRPROCN
Is not used by the dynamic routing program. On invocation, it is set to nulls.
DYRPROCT
Is not used by the dynamic routing program. On invocation, it is set to nulls.
DYRPRTY
Can be used to set the dispatch priority of the task in the application-owning region, if the connection between the terminal-owning region and application-owning region is MRO or IPIC, or when processing a bridge request.
Transaction routing
Before invoking the dynamic routing program, CICS sets this value to the priority of the relay transaction task.
Program link requests
Before invoking the dynamic routing program, CICS sets this value to the priority of the task that issued the program link request.
Bridge requests
Before invoking the dynamic routing program, CICS set this value to the value defined in the TRANSACTION resource definition of the user transaction in the router region.

On return from the initial invocation of the dynamic routing program, if the DYRRTPRI value is Y and there is an MRO or IPIC connection between the terminal-owning region and application-owning region, CICS passes the DYPPRTY value to the application-owning region.

DYRQUEUE
Identifies whether or not the request is to be queued if no sessions are immediately available to the remote system identified by DYRSYSID. The following values are valid:
Y
The request is to be queued if necessary. Y is the default.
N
The request is not to be queued.

For bridge requests, DYRQUEUE is set to Y before the dynamic routing program is invoked. Any change made to this value by the user-replaceable program is ignored by CICS.

DYRRETC
Contains a return code that tells CICS how to proceed.
Transaction routing
The following values are valid:
0
Continue processing the transaction.
4
Stop the transaction without a message or abend.
8
Stop the transaction with either a message or an abend.

Whenever the routing program is invoked, DYRRETC is set to 0. When it is invoked for route selection or because an error occurs in route selection, if you want CICS to continue processing the transaction you must leave it set to 0.

To make CICS stop the transaction and issue a message or abend and return a value of 8.

To make CICS stop the transaction without issuing a message or abend (indicating that DFHDYP has done all the processing that is necessary), and return a value of 4.

Setting a return code of 4 for APPC transaction routing leads to unpredictable results, and should be avoided.

Setting any nonzero return code other than 4 is equivalent to setting 8.

Program link requests
The following values are valid:
0
Continue processing the link request.
Non-zero
Return an error condition to the program.

Whenever the routing program is invoked, DYRRETC is set to 0. When it is invoked for route selection or because an error occurs in route selection, if you want CICS to continue processing the link request, you must leave it set to 0.

To make CICS reject the link request, return a nonzero value. The program that issued the EXEC CICS LINK command receives a PGMIDERR condition, with a RESP2 value of 27.

Bridge requests
The following values are valid:
0
Continue processing the request.
4
Stop processing the request without issuing any error messages.
8
Stop processing the request with an error message.

Whenever the routing program is invoked, DYRRETC is set to 0. When it is invoked for route selection or because an error occurs in route selection, if you want CICS to continue processing the link request, you must leave it set to 0.

To make CICS stop the request without issuing a message, return a value of 4. The BRIH message header returned to the client contains a return code informing the client that the dynamic routing program has rejected the request, and a compcode that gives details of the reason why the last attempt to route the request failed.

To make CICS stop the request and issue a message, return a value of 8. The BRIH returned to the client contains a return code, informing the client that the dynamic routing program has rejected the request, and a compcode that gives details of the reason why the last attempt to route the request failed.

You do not set a return code when the routing program is invoked for notification or at transaction termination. Any code you set is ignored by CICS.

DYRRTPRI
Indicates whether or not the dispatch priority of the transaction, link request, or request is to be passed to the application-owning region, if the connection between the terminal-owning region and the application-owning region is MRO or IPIC. The following values are valid:
N
The dispatch priority is not passed. N is the default.
Y
The dispatch priority is passed.
DYRSRCTK
Is the MVS™ workload management service and reporting class token for the routed transaction. Your routing program must not alter this value, which is set by CICS and used by CICSPlex SM.
DYRSYSID
Is the system identifier (SYSID) of a CICS region. The exact meaning of this parameter depends on the values of DYRFUNC and DYRTYPE:
  • When DYRFUNC is set to 0 (route selection):
    • If DYRTYPE is set to 0, 2, 3, or 8 (any type of transaction routing), DYRSYSID contains one of these names:
      • The CICS region name specified on the REMOTESYSTEM option of the installed transaction definition
      • If REMOTESYSTEM is not specified, the system name of the local CICS region
    • If DYRTYPE is set to 4 or 9 (DPL routing), DYRSYSID contains one of these names:
      • The CICS region name specified on the REMOTESYSTEM option of the installed program definition.
        Note: If the REMOTESYSTEM option names a remote region, the routing program cannot route the request locally.
      • If REMOTESYSTEM is not specified, or there is no program definition, the system name of the local CICS region.

    The dynamic routing program can accept the value of DYRSYSID or change it before returning to CICS.

    If the SYSID you return to CICS is the same as the local SYSID, CICS runs the transaction or program in the local region.

  • When DYRFUNC is set to 1 (route selection error), DYRSYSID contains the CICS region name returned to CICS by the dynamic routing program on its previous invocation.
    The action your dynamic routing program can take when DYRFUNC=1 depends on the DYRERROR parameter setting:
    • If DYRERROR is set to 0 (unknown SYSID) or 1 (CICS region not in service) and you want CICS to retry routing, you must change DYRSYSID before returning to CICS.
    • If DYRERROR is set to 2 (no session available) and you want CICS to retry routing, you must change DYRSYSID or change the value of DYRQUEUE to Y (queue the request until a session is available).
  • When DYRFUNC is set to 2 (end of a routed request), DYRSYSID contains the name of the CICS region on which the completed transaction or link request ran.
  • When DYRFUNC is set to 3 (notification):
    • For ATI requests, DYRSYSID contains one of these names:
      • The remote CICS region name specified on the SYSID option of the EXEC CICS START command
      • If SYSID is not specified, the remote CICS region name specified on the REMOTESYSTEM option of the installed transaction definition
      • If REMOTESYSTEM is not specified, the system name of the local CICS region.
    • For program link requests, DYRSYSID contains the remote CICS region name specified on the SYSID option of the EXEC CICS LINK command.
    • For bridge requests, DYRSYSID contains the SYSID of the CICS region where the request is routed and the user transaction run.

    Any changes to the values of DYRSYSID, or DYRNETNAME, are ignored.

  • When DYRFUNC is set to 4 (abend), DYRSYSID contains the name of the CICS region on which the transaction abended.
DYRTRAN
Contains the remote transaction ID.
Transaction routing
When DYRFUNC is set to 0 or 3, DYRTRAN contains the remote transaction ID specified on the REMOTENAME option of the installed TRANSACTION resource.
Bridge requests
When DYRTYPE=8, DYRTRAN contains the transaction ID of the target user transaction because it is known in the current region. Note that this is not the same as the current transaction ID.
Program link requests
When DYRFUNC is set to 0 or 3, DYRTRAN contains the transaction ID of the remote mirror transaction, obtained using the following sequence:
  1. From the TRANSID option on the LINK command.
    Note: A value specified on the TRANSID option of the LINK command cannot be overridden by the routing program.
  2. From the TRANSID option on the program definition.
  3. CSMI, the generic mirror transaction. CSMI is the default if neither of the TRANSID options are specified.

Your dynamic routing program can accept this remote transaction ID, or supply a different transaction name for forwarding to the remote CICS region. If the supplied name is longer than four characters, it is truncated by CICS.

You can change DYRTRAN on any call to the dynamic routing program, but the change is effective only in these circumstances:
  • When DYRFUNC is set to 0 or 1.
  • If the original value was not obtained from the TRANSID option of an EXEC CICS LINK command. A value specified on the TRANSID option of a LINK command cannot be overridden by the routing program.
DYRTYPE
Is the type of routing request for which the program is being invoked. For transaction routing, this field is meaningful only when DYRFUNC is set to 0 (route selection) or 3 (notify). These values can be passed to the dynamic routing program:
0
A transaction started from a terminal.
1
An ATI request that is to be statically routed.
2
A transaction started by a terminal-related EXEC CICS START command, where there is no data and no channel associated with the START.
3
A transaction started by a terminal-related EXEC CICS START command, where there is data but no channel associated with the START.
4
A program link request without a channel.
8
A bridge request.
9
A program link request with a channel.
A
A transaction started by a terminal-related EXEC CICS START command, where there is a channel associated with the START.
DYRUAPTR
If DYRVER is 7 or greater, this field contains the address of the new user area, DYRUSERN. The new user area mechanism makes the source of the routing program independent of the CICS release that created the communications area. The old user area field DYRUSER is retained only for compatibility purposes.

The user area can be mapped with the DYRUAREA DSECT.

In systems where DYRUAPTR is less than 7, the contents of DYRUAPTR are unpredictable.

DYRUOWAF
This field is used by the called user exit application to inform CICS that a FUNC=7 callback is required for DYRTPE=4 or 9 (DPL) requests when the current network unit of work completes.
The field contains no relevant data after the call from CICS is received DYRUOWAF is used only to provide a response to CICS for DPL requests. The following values are valid:
N
Callback is not required.
Y
Callback is required.

In the case of multiple DPL calls for a UOW, if any of the calls return Y, callback occurs at end of the UOW.

DYRUSER
Is a 1024-byte user area.

This field is retained only for compatibility purposes; see the descriptions of the DYRUAPTR and DYRUSERN fields.

DYRUSERID
Is the CICS user ID associated with the request.

For transaction routing, program link requests, and bridge requests, DYRUSERID contains the user ID under which the current transaction is running.

By examining this field when it is invoked for routing or because of a route-selection error (DYRFUNC=0 or 1, respectively), your routing program can route requests based on the user ID associated with the request.

DYRUSERN
Is a 1024-byte user area.

CICS initializes this user area to zeros before invoking the dynamic routing program for a given task. This user area can be modified by the dynamic routing program; the modified area is passed to subsequent invocations of the dynamic routing program for the same request.

DYRVER
Is the version number of the dynamic routing program interface. For CICS Transaction Server for z/OS, Version 5 Release 1, the number is 11.


dfha39s.html | Timestamp icon Last updated: Thursday, 27 June 2019