APPC/MVS Timeout Service
4/5/2019 12:30:22 PM |
By Subhasish Sarkar
There might be situations when APPC/MVS doesn’t respond to an APPC call. This could happen due to a network delay, for example. In such a scenario, the dependent region will hang, resulting in the caller not being able to regain control from APPC/MVS callable services.
If you activate the APPC/MVS timeout service, you can indicate the maximum time interval an application waits before terminating a conversation and regaining control from APPC/MVS callable services. This will help prevent those “hung around” situations.
Detect if the Timeout Feature Is Activated
If you see the message “DFS3491I APPC/IMS TIMEOUT DEACTIVATED. (Reason)” in your IMS Control Region started task address space, APPC/IMS timeout is inactive. The “(Reason)” specifies why APPC/IMS timeout is inactive.
One of the common reasons behind the APPC/IMS timeout feature being inactive is that the APPCIOT parameter in the DFSDCxxx member of the IMS PROCLIB data set has been defined as zero, or has been changed to zero by the /CHANGE command. APPCIOT = 0 is listed as the reason code in the DFS3491I informational message in such a case.
Activate the Timeout Feature
Activate the timeout feature at startup by specifying the APPCIOT=(mmmm:ss,mmmm) parameter in the DFSDCxxx member.
The APPC time-out values are specified in minutes (mmmm) and seconds (ss). Valid values for mmmm are 00 to 1440. Valid values for ss are 00 to 59.
There is no time-out detection if you specify APPCIOT=00. You can change the timeout value using the /CHANGE command.
Specify the APPC/MVS timeout value in the first parameter “mmmm:ss.” This is the number of minutes or seconds an APPC/MVS service is allowed to wait for completion.
Specify the APPC/IMS timeout expression in the second parameter “mmmm.” This is the number of minutes an application is allowed to remain inactive. This is for synchronous conversations only.
1. Let’s say that you have specified the APPCIOT parameter in the DFSDCxxx member as follows:
2. Restart IMS to allow the new specification to take effect. If you’ve changed the APPCIOT parameter after a previous IMS start, you don’t need to cold start IMS again.
3. Select the DDNAME JESMSGLG of your IMS Control Region started task address space that is executing. Do an “F APPC” and you’ll see the following message:
DFS3490I APPC TIMEOUT ACTIVE, MVS= 4 MINS, 59 SECS, IMS= 5 MINS
4. You can use the /CHANGE APPC command to specify a change to the timeout value for APPC/MVS.
Use the following command syntax:
/CHANGE APPC TIMEOUT mmmm:ss
/CHA APPC TIMEOUT mmmm:ss
If you specify the timeout value as 0, APPC/MVS timeout will be deactivated.
5. Issue the IMS command /CHANGE APPC TIMEOUT 003:22 and you will notice the following messages:
DFS4445I CMD FROM MCS/E-MCS CONSOLE USERID=XXXXXXXX: CHANGE APPC TIMEOUT 003:22 IMS1
DFS058I 10:32:08 CHANGE COMMAND COMPLETED IMS1
DFS3490I APPC TIMEOUT ACTIVE, MVS= 3 MINS, 22 SECS, IMS= 5 MINS. IMS1
Notice that APPC/MVS timeout has changed from four minutes and 59 seconds to three minutes and 22 seconds. The APPC/IMS timeout is still five minutes. Remember that the /CHANGE command changes the timeout value for APPC/MVS only and not APPC/IMS.
6. Issue the /CHANGE APPC TIMEOUT 0 IMS command now. The following messages from the command reply will be of interest to you:
DFS4445I CMD FROM MCS/E-MCS CONSOLE USERID=XXXXXXXX: CHANGE APPC TIMEOUT 0 IMS1
DFS058I 10:41:03 CHANGE COMMAND COMPLETED IMS1
DFS3490I APPC TIMEOUT ACTIVE, MVS= 0 MINS, SECS, IMS= 5 MINS. IMS1
You will see that the APPC/MVS timeout has now been deactivated.
Subhasish Sarkar, who specializes in different IBM Z mainframe technologies, is a senior SQA engineer at BMC Software India Pvt. Ltd.