Search Object for PROGRAM(s) in WSO

book

Article ID: 108555

calendar_today

Updated On:

Products

CA Repository

Issue/Introduction



We need help with creating search object to be used in WSO that will eliminate many nested subordinate searches. Our users are looking to provide program name filtering and to get a result set back that shows everything about a program in one result set
Programs -> Calling programs -> Called programs -> IMS DB -> IMS PSB

Environment

Release: DATASH00200-7.2-Repository-Webstation Option
Component:

Resolution

The following SQL will return Program Name, Called Program(s), Calling Program(s), DBD(s) and PSB(s) using Program Name as the filtering criteria.

SELECT DISTINCT CHAR(PX.PGM_NAME,12) AS PROGRAM,
       CHAR(C.PGM_NAME,12) AS "CALLING PGM",    
       CHAR(CD.PGM_NAME,12) AS "CALLED PGM",    
       CHAR(I.IMS_DB_NAME,12) AS DBD,           
       CHAR(P.PSB_NAME,12) AS PSB               
FROM repowner.DBX_IMS_PROGRAM PX,                 
     repowner.DBX_IMS_PROGRAM C,                  
     repowner.DBX_IMS_PROGRAM CD,                 
     repowner.DBX_IMS_IMS_DB I,                   
     repowner.DBX_IMS_PSB P,                      
     repowner.DBX_IMS_PCB B,                      
     repowner.DBX_XREF X1,                        
     repowner.DBX_XREF X2,                        
     repowner.DBX_XREF X3,                        
     repowner.DBX_XREF X4,                        
     repowner.DBX_XREF X5,                        
     repowner.DBX_XREF X6,                        
     repowner.DBX_XREF X7,                        
     repowner.DBX_XREF X8,                        
     repowner.DBX_XREF X9,                        
     repowner.DBX_XREF XA,                        
     repowner.DBX_XREF XB                         
WHERE (?)                      
AND PX.ENT_ID = X1.ENT_ID                       
AND X1.ENT_TYPE = 151                           
AND X1.ENT_ID = X2.TARGET_ID                    
AND X2.ENT_TYPE = 218                           
AND X2.SOURCE_ID = C.ENT_ID                     
AND C.ENT_ID = X3.ENT_ID                        
AND X3.ENT_TYPE = 151                           
AND X1.ENT_ID = X4.SOURCE_ID                    
AND X4.ENT_TYPE = 218                           
AND X4.TARGET_ID = CD.ENT_ID                    
AND CD.ENT_ID = X5.ENT_ID                       
AND X5.ENT_TYPE = 151                           
AND X1.ENT_ID = X6.TARGET_ID                    
AND X6.ENT_TYPE = 162         
AND X6.SOURCE_ID = I.ENT_ID   
AND I.ENT_ID = X7.ENT_ID      
AND X7.ENT_TYPE = 152         
AND X7.ENT_ID = X8.TARGET_ID  
AND X8.ENT_TYPE = 175         
AND X8.SOURCE_ID = B.ENT_ID   
AND B.ENT_ID = X9.ENT_ID      
AND X9.ENT_TYPE = 156         
AND X9.ENT_ID = XA.TARGET_ID  
AND XA.ENT_TYPE = 161         
AND XA.SOURCE_ID = P.ENT_ID   
AND P.ENT_ID = XB.ENT_ID      
AND XB.ENT_TYPE = 157         
;                           

Note. Change all occurrences of repowner to your Repository creator.