APAR status
Closed as program error.
Error description
Customer want to use GENJCL.USER to get the last PRISLD data set name. They use %SELECT SLDS(%USSID,LAST) in the skeletal JCL to select the last SLDS data set name in RECON. Problem is when IMS restarted, the online IMS creates a new PRISLD record with STOP = 00.000 00:00:00.0 and #DSN=0. At this time, the GENJCL picks up a null DSN as the last one. What they want is the last valid SLDS entry in RECON because the returned null DSN name cause error in followed JCL.
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All IMS V9 DBRC users of * * %SELECT SLDS(SSID,LAST) statements in their * * skeletal JCL may be affected. * **************************************************************** * PROBLEM DESCRIPTION: GENJCL.USER returns a null DSN for * * %SELECT SLDS(%USSID,LAST) if IMS is * * active and no OLDS have been archived * * yet. The last PRISLD/SECSLD is empty. * **************************************************************** * RECOMMENDATION: INSTALL CORRECTIVE SERVICE FOR APAR/PTF * **************************************************************** A %SELECT SLDS(SSID,LAST) jcl statement returns the information for the empty data set when IMS has just been restarted and no OLDS have been archived. The last valid SLDS for the specified SSID should be used instead.
Problem conclusion
AIDS: RIDS/DBRC RIDS/CMD DBRC CMD GEN: KEYWORDS: *** END IMS KEYWORDS *** DSPJBSEL, DSPJBSRL and DSPJBSSL have been modified to resolve this problem. A new time qualifier, LASTDSET, has been created. When this time qualifier is used with the %SELECT statement such as: %SELECT SLDS(ssid,LASTDSET) or, %SELECT RLDS(ssid,LASTDSET) the previous PRI/SEC SLDS (or RLDS) will be located when the last SLDS (RLDS) for the specified SSID is empty. If no previous log record exists then the empty log record is used. When the record is empty, the following symbolic keywords will have these values: %SLDSDSN or %LOGDSN = blanks (null DSN) %SLDSTIM or %LOGSTIM = 000000000000+0000 %SLDETIM or %LOGETIM = 000000000000+0000 %SLDOTIM or %LOGOTIM = Log open time (the time IMS started) . LASTDSET is only valid for SLDS or RLDS. If it is specified for any other record type it will default to LAST. . The IMS Version 9 Data Base Recovery Control (DBRC) Guide and Reference manual (SC18-7818-03) has been updated with the following: In Chapter 5. Skeletal JCL, under Using Control Keywords, Understanding the Selection Criteria Parameter, Add the following to 'time qualifier:' . LAST Specifies that the most recent record is to be selected. LASTDSET Similar to LAST but will ignore empty log records and return the last RLDS or SLDS that contains DSN entries. Only valid for RLDS or SLDS (including secondary). Will default to LAST if specified for any other record type. . under Writing Control Keywords, Selecting SLDSs, slds_type, make the second paragraph read as follows: . If the selected PRILOG data set is marked in error, DBRC selects the associated secondary data set if one that is not also in error exists. If the associated data set exists but is also in error, DBRC selects the original record. If SSLDS is specified, the SECLOG data set is selected regardless of if whether it is marked in error. An SLDS record might not contain a DSN entry. In this case, the values for %SLDSDSN, %SLDUNIT, and %SLDVOLS are null. By using the LASTDSET time qualifier you can have the last PRISLDS data set that contains data set entries returned. You must use the %DELETE statement in order to ensure that DBRC substitutes valid data in the generated JCL. See "Example 4" on page 97. . under Writing Control Keywords, Selecting RLDSs, add the following to the end of the first paragraph: . An RLDS record might not contain a DSN entry. In this case, the values for %LOGDSN, %LOGUNIT, and %LOGVOLS are null. By using the LASTDSET time qualifier you can have the last PRILOG data set that contains data set entries returned.
Temporary fix
Comments
APAR Information
APAR number
PK64322
Reported component name
IMS V9
Reported component ID
5655J3800
Reported release
900
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2008-04-10
Closed date
2008-05-20
Last modified date
2008-10-23
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
PK64720 UK36620
Modules/Macros
DSPJBSEL DSPJBSRL DSPJBSSL DSPJSELB
| SC18781803 |
Fix information
Fixed component name
IMS V9
Fixed component ID
5655J3800
Applicable component levels
R900 PSY UK36620
UP08/05/30 P F805
[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSCVRBJ","label":"System Services"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"9.1","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
23 October 2008