(
  IN p_r VARCHAR(8)
)
DYNAMIC RESULT SETS 1
LANGUAGE SQL
ss: BEGIN

        DECLARE v_r VARCHAR(8);    
             -- clean up temp table if exists 
		BEGIN
			DECLARE CONTINUE HANDLER FOR SQLSTATE '42704'
			BEGIN END;
			
			COMMIT;
			DROP TABLE SESSION.res;
			
		 END;
            
              
        BEGIN    
            
            DECLARE GLOBAL TEMPORARY TABLE SESSION.res
			( 
                 OccurID          INTEGER,
                 ResourceType     INTEGER,
				 Name     VARCHAR(100)
			) ON COMMIT PRESERVE ROWS  NOT LOGGED ;          
            
            INSERT INTO SESSION.res (OccurID, ResourceType,  Name)
            SELECT  sr.OccurID, sr.ResourceType, res.Name
            FROM  StatementReference sr
                 INNER JOIN  Resources res ON sr.ResourceID = res.ResourceID
            WHERE sr.ResourceType >= 196 AND  sr.ResourceType <= 202 ;
            
            BEGIN 
                  DECLARE crs CURSOR WITH RETURN FOR
                  SELECT DISTINCT
							            prg.ProgramID,
							            os.StartRow,
							            os.StartCol, -- os.EndRow, os.EndCol, 
							            pth.PathStr AS StmtPath,
							            CAST(NULL AS INTEGER) AS member,
							            R2dsCountryResource.Name AS country,
							            R2dsConsumerResource.Name AS consumer,
							            R2dsOPUResurce.Name AS OPU,
							            R2dsServiceResource.Name AS ServiceName,
							            R2dsServiceVerResource.Name AS ServiceVer,
							            R2dsOpResource.Name AS OpName,
							            R2dsOpVerResource.Name AS OpVer,
							            v_r
							     FROM OccurrencesStmt os
							          INNER JOIN Programs prg ON os.ProgID = prg.ProgramID  AND prg.ProgramID IN (SELECT * FROM SESSION.numeric_param_temp)
							          INNER JOIN Paths pth ON pth.PathID = os.PathID
							          INNER JOIN SESSION.res AS R2dsCountryResource ON R2dsCountryResource.OccurID = os.OccurID AND R2dsCountryResource.ResourceType = 198
							          INNER JOIN SESSION.res AS R2dsConsumerResource ON R2dsConsumerResource.OccurID = os.OccurID AND R2dsConsumerResource.ResourceType = 197
							          INNER JOIN SESSION.res AS R2dsOPUResurce ON R2dsOPUResurce.OccurID = os.OccurID AND R2dsOPUResurce.ResourceType = 196
							          INNER JOIN SESSION.res AS R2dsServiceResource ON R2dsServiceResource.OccurID = os.OccurID AND R2dsServiceResource.ResourceType = 199
							          INNER JOIN SESSION.res AS R2dsServiceVerResource ON R2dsServiceVerResource.OccurID = os.OccurID AND R2dsServiceVerResource.ResourceType = 200
							          INNER JOIN SESSION.res AS R2dsOpResource ON R2dsOpResource.OccurID = os.OccurID AND R2dsOpResource.ResourceType = 201
							          INNER JOIN SESSION.res AS R2dsOpVerResource ON R2dsOpVerResource.OccurID = os.OccurID AND R2dsOpVerResource.ResourceType = 202 
							          /*                     
							          INNER JOIN StatementReference R2dsCountry ON os.OccurID = R2dsCountry.OccurID
							                                                           AND R2dsCountry.ResourceType = 198
							          INNER JOIN Resources R2dsCountryResource ON R2dsCountryResource.ResourceID = R2dsCountry.ResourceID
							          INNER JOIN StatementReference R2dsConsumer ON os.OccurID = R2dsConsumer.OccurID
							                                                            AND R2dsConsumer.ResourceType = 197
							          INNER JOIN Resources R2dsConsumerResource ON R2dsConsumerResource.ResourceID = R2dsConsumer.ResourceID
							          INNER JOIN StatementReference R2dsOPU ON os.OccurID = R2dsOPU.OccurID
							                                                       AND R2dsOPU.ResourceType = 196
							          INNER JOIN Resources R2dsOPUResurce ON R2dsOPUResurce.ResourceID = R2dsOPU.ResourceID
							          INNER JOIN StatementReference R2dsService ON os.OccurID = R2dsService.OccurID
							                                                           AND R2dsService.ResourceType = 199
							          INNER JOIN Resources R2dsServiceResource ON R2dsServiceResource.ResourceID = R2dsService.ResourceID
							          
							          INNER JOIN StatementReference R2dsServiceVer ON os.OccurID = R2dsServiceVer.OccurID
							                                                              AND R2dsServiceVer.ResourceType = 200
							          INNER JOIN Resources R2dsServiceVerResource ON R2dsServiceVerResource.ResourceID = R2dsServiceVer.ResourceID
							          INNER JOIN StatementReference R2dsOp ON os.OccurID = R2dsOp.OccurID
							                                                  AND R2dsOp.ResourceType = 201
							          INNER JOIN Resources R2dsOpResource ON R2dsOpResource.ResourceID = R2dsOp.ResourceID
							          INNER JOIN StatementReference R2dsOpVer ON os.OccurID = R2dsOpVer.OccurID
							                                                     AND R2dsOpVer.ResourceType = 202
							          INNER JOIN Resources R2dsOpVerResource ON R2dsOpVerResource.ResourceID = R2dsOpVer.ResourceID */
							     WHERE os.StatementType = 3888
							           ;
            
            
                                 SET v_r = p_r;
                                 OPEN crs;
                                  
                 END;
                              
            END;
            
 END ss	