User written report on subschema content includes sets not in the subschema.
search cancel

User written report on subschema content includes sets not in the subschema.

book

Article ID: 4119

calendar_today

Updated On:

Products

IDMS IDMS - Database IDMS - ADS

Issue/Introduction

A query running directly against the dictionary (using OLQ or SQL) is finding more sets than those which actually are shown to be in the subschema when it is displayed in the subschema compiler.

For example:

DIS SUBS EMPSS09.                                                      
*+   ADD                                                               
*+   SUBSCHEMA NAME IS EMPSS09 OF SCHEMA NAME IS EMPSCHM VERSION IS 100
*+       .                                                             
*+   ADD                                                               
*+   AREA NAME IS EMP-DEMO-REGION                                      
*+       .                                                             
*+   ADD                                                               
*+   AREA NAME IS ORG-DEMO-REGION                                      
*+       .                                                             
*+   ADD                                                               
*+   RECORD NAME IS EMPLOYEE                                           
*+       .                                                             
*+   ADD                                                               
*+   RECORD NAME IS OFFICE                                             
*+       .                                                             
*+   ADD                                                               
*+   RECORD NAME IS EMPOSITION                                         
*+       .                                                             
*+   ADD                                                               
*+   SET NAME IS OFFICE-EMPLOYEE                                       
*+       .

SELECT SS_NAM_026, SET_NAM_034             
FROM APPLDICT."SS-026", APPLDICT."SSOR-034"
WHERE "SS-SSOR" AND SS_NAM_026='EMPSS09';
*+                                         
*+ SS_NAM_026  SET_NAM_034                 
*+ ----------  -----------                 
*+ EMPSS09     OFFICE-EMPLOYEE             
*+ EMPSS09     JOB-EMPOSITION              
*+ EMPSS09     CALC                        
*+                                         
*+ 3 rows processed                                 

Note that there is a JOB-EMPOSITION SSOR-034 record in the dictionary but that the JOB-EMPOSITION set is not in the subschema.

Environment

CA-IDMS, all supported releases, any operating system.

Cause

When a subschema is being compiled, there are some specific conditions which result in an SSOR-034 dictionary record being created under a particular subschema for a set which is not actually in the subschema.

This is done for performance reasons.

These sets can be identified by the SSOR-LOK-034 field having a value of 106. This is the sum of the valid bit values for this field which identify which actions cannot be performed against the set within the subschema.

SELECT SS_NAM_026, SET_NAM_034, SSOR_LOK_034                 
FROM APPLDICT."SS-026", APPLDICT."SSOR-034"                  
WHERE "SS-SSOR" AND SS_NAM_026='EMPSS09';                    
*+                                                           
*+ SS_NAM_026  SET_NAM_034                       SSOR_LOK_034
*+ ----------  -----------                       ------------
*+ EMPSS09     OFFICE-EMPLOYEE                              0
*+ EMPSS09     JOB-EMPOSITION                             106
*+ EMPSS09     CALC                                         0
*+                                                           
*+ 3 rows processed                                           

Therefore, SSOR-034 records with SSOR-LOK-034=106 should be considered as “logically deleted”.

Resolution

Change your query or program to exclude SSOR-034 records with SSOR-LOK-034=106.

Additional Information

For further information, see the CA IDMS docops section on the SSOR-034 dictionary record type.