A fix is available
APAR status
Closed as program error.
Error description
PM79543 fixed a logic problem in CSLULGTP. But the fix is not completed. We need to add some filtering to the exit logic introduced by the PM79543/UK90140. .
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All IMS V11 users using REXX SPOC * **************************************************************** * PROBLEM DESCRIPTION: PM79543/UK90140 added logic to account * * for error conditions where there is no * * XML data from OM to parse and the stem * * variables can not be set, but the test * * for the condition is too inclusive and * * prevents error data that is in the XML * * from being processed and placed in the * * stem variables by CSLULGTP. * **************************************************************** * RECOMMENDATION: INSTALL CORRECTIVE SERVICE FOR APAR/PTF * **************************************************************** PM79543/UK90140 added logic to account for error conditions where there is no XML data from OM to parse. When there is no XML data, stem variables can not be set and the function must exit setting the IMSRC and IMSREASON REXX variables to the return code and reason code for the error condition. Prior to PM79543/UK90140, CSLULGTP returned RC=0, RSN=0 for these error conditions, or alternately, fell into a loop and consumed 100% of the CPU until cancelled. The problem with the logic introduced by PM79543/UK90140 to identify these error conditions is that it is too inclusive, processing all errors, including errors with valid XML data, instead of just terminating errors.
Problem conclusion
GEN: KEYWORDS: *** END IMS KEYWORDS *** The following modules were updated to address this problem: CSLULGTP: The check for error conditions has been adjusted so that only terminating errors - errors thrown by SCI for logic, environment, and system problems - will be processed by the early termination logic introduced by PM79543/UK90140. PUBLICATION CHANGE: Book IMS Version 11, System Programming APIs SC19-2445-00, will be changed to reflect the following. In Chapter 10. REXX SPOC API and the CSL, under the heading 'CSLULGTP: retrieving command responses directly to a REXX stem variable', after the subheading 'Sample code for retrieving command responses using the CSLULGTP request', the following subheading and paragraph will be added: Handling errors when using the CSLULGTP function The CSLULGTP function will not set the "ctl.rc" and "ctl.rsn" stem variables if an error is encountered in the function itself or with an SCI service request. It is therefore highly recommended that any REXX program using the CSLULGTP function first check the IMSRC and IMSREASON REXX variables before any other processing continues to determine if the function has completed successfully. If the IMSRC variable is non-zero, and the error was encountered in CSLULGTP itself, the value in IMSRC will begin with "08". If the IMSRC variable is non-zero, and the error was encountered in SCI, the value in IMSRC will begin with "01". In these cases, the "ctl.rc" and "ctl.rsn" stem variables are not set and no data is returned in the stem variables. For example, if the OM address space is not available when a command is issued and the CSLULGTP function is invoked, no stem variables are created and the IMSRC and IMSREASON variables will have the following values: IMSRC = '01000010X' IMSREASON = '0000400CX' For other errors, the "ctl.rc" and "ctl.rsn" stem variables will contain the command return code and reason code and some of the other stem variables are set based on the command response. For example, if an invalid verb was entered, there is no command response data returned, but the "ctl.rc" and "ctl.rsn" stem variables, as well as the REXX IMSRC and IMSREASON variables will be set: stem.XML = '1.0' stem.DTD = 'imsout.dtd' stem.CTL.OMNAME = 'OM1OM' stem.CTL.OMVSN = '1.5.0' stem.CTL.XMLVSN = '20' stem.CTL.STATIME = '2013.278 11:13:51.333637' stem.CTL.STOTIME = '2013.278 11:13:51.333725' stem.CTL.RQSTTKN1 = 'ZZ' stem.CTL.RC = '02000008' stem.CTL.RSN = '00002004' stem.CMD.USERID = 'USRT001' stem.CMD.VERB = 'QRY' stem.CMD.INPUT = 'qry invalid command' IMSRC = '02000008X' IMSREASON = '00002004X' If an invalid resource was entered, "ctl.rc" and "ctl.rsn" stem variables, additional stem variables pertaining to the command, and IMSRC and IMSREASON variables will be set: stem.XML = '1.0' stem.DTD = 'imsout.dtd' stem.CTL.OMNAME = 'OM1OM' stem.CTL.OMVSN = '1.5.0' stem.CTL.XMLVSN = '20' stem.CTL.STATIME = '2013.278 11:27:53.223819' stem.CTL.STOTIME = '2013.278 11:27:53.224185' stem.CTL.RQSTTKN1 = 'ZZ' stem.CTL.RC = '0000000C' stem.CTL.RSN = '00003004' stem.CMDERR.0 = '1' stem.CMDERR.1.NAME = 'IMS1' stem.CMDERR.1.TYP = 'IMS' stem.CMDERR.1.STYP = 'DBDC' stem.CMDERR.1.RC = '0000000C' stem.CMDERR.1.RSN = '00003004' stem.CMD.MASTER = 'IMS1' stem.CMD.USERID = 'USRT001' stem.CMD.VERB = 'QRY' stem.CMD.KWD = 'DB' stem.CMD.INPUT = 'QUERY DB NAME(NOTTHERE)' stem.HDR.0 = '6' stem.HDR.1.SLBL = 'DB' stem.HDR.1.LLBL = 'DBName' stem.HDR.1.SCOPE = 'LCL' stem.HDR.1.SORT = 'a' stem.HDR.1.SCROLL = 'no' stem.HDR.1.LEN = '8' stem.HDR.1.DTYPE = 'CHAR' stem.HDR.1.ALIGN = 'left' stem.HDR.2.SLBL = 'AREA' stem.HDR.2.LLBL = 'AreaName' stem.HDR.2.SCOPE = 'LCL' stem.HDR.2.SORT = 'a' stem.HDR.2.SCROLL = 'no' stem.HDR.2.LEN = '8' stem.HDR.2.DTYPE = 'CHAR' stem.HDR.2.ALIGN = 'left' stem.HDR.3.SLBL = 'PART' stem.HDR.3.LLBL = 'PartName' stem.HDR.3.SCOPE = 'LCL' stem.HDR.3.SORT = 'a' stem.HDR.3.SCROLL = 'no' stem.HDR.3.LEN = '8' stem.HDR.3.DTYPE = 'CHAR' stem.HDR.3.ALIGN = 'left' stem.HDR.4.SLBL = 'MBR' stem.HDR.4.LLBL = 'MbrName' stem.HDR.4.SCOPE = 'LCL' stem.HDR.4.SORT = 'a' stem.HDR.4.SCROLL = 'no' stem.HDR.4.LEN = '8' stem.HDR.4.DTYPE = 'CHAR' stem.HDR.4.ALIGN = 'left' stem.HDR.5.SLBL = 'CC' stem.HDR.5.LLBL = 'CC' stem.HDR.5.SCOPE = 'LCL' stem.HDR.5.SORT = 'n' stem.HDR.5.SCROLL = 'yes' stem.HDR.5.LEN = '4' stem.HDR.5.DTYPE = 'INT' stem.HDR.5.ALIGN = 'right' stem.HDR.6.SLBL = 'CCTXT' stem.HDR.6.LLBL = 'CCText' stem.HDR.6.SCOPE = 'LCL' stem.HDR.6.SORT = 'n' stem.HDR.6.SCROLL = 'yes' stem.HDR.6.LEN = '18' stem.HDR.6.DTYPE = 'CHAR' stem.HDR.6.ALIGN = 'left' stem.REPORT.0 = '3' stem.REPORT.1 = 'DBName AreaName PartName ... stem.REPORT.2 = 'NOTTHERE ... stem.REPORT.3 = ' ... IMSRC = '0200000CX' IMSREASON = '00003008X' At all times when the function is successful, the IMSRC and IMSREASON variables will have the following values: IMSRC = '00000000X' IMSREASON = '00000000X' Note: In the above examples the trailing X is actually part of the value and not the REXX representation for a hexadecimal value. Both IMSRC and IMSREASON are character values with a length of 9: 8-characters representing the hexadecimal value followed by a ninth character which is always the letter X .
Temporary fix
Comments
APAR Information
APAR number
PM98480
Reported component name
IMS V11
Reported component ID
5635A0200
Reported release
100
Status
CLOSED PER
PE
YesPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2013-10-04
Closed date
2013-11-01
Last modified date
2013-12-02
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UI12113
Modules/Macros
CSLULGTP
SC19244500 |
Fix information
Fixed component name
IMS V11
Fixed component ID
5635A0200
Applicable component levels
R100 PSY UI12113
UP13/11/06 P F311 Ø
Fix is available
Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.
[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"100","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSCVRBJ","label":"System Services"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"100","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
02 December 2013