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

        DECLARE v_r VARCHAR(8);

        BEGIN

            DECLARE GLOBAL TEMPORARY TABLE SESSION.res
			(
                 OccurID          INTEGER,
                 ResourceType     INTEGER,
				 Name     VARCHAR(100)
			) WITH REPLACE 
			     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	
