DYNAMIC RESULT SETS 1
LANGUAGE SQL
BEGIN
	BEGIN
		DECLARE crs CURSOR WITH RETURN FOR
		SELECT DISTINCT 
			jp.ResourceType AS SOURCE_TYPE, 
			jj.JobName AS SOURCE_NAME, 
			jp.ResourceFilePath AS SOURCE_PATH
		FROM JCLjob jj
			INNER JOIN JCLPosition jp ON jj.PositionID = jp.PositionID
		WHERE jj.JobID IN (SELECT * FROM SESSION.numeric_param_temp)

		UNION

		SELECT DISTINCT
			25 AS SOURCE_TYPE,
			jpr.ProcName AS SOURCE_NAME, 
			CASE
				WHEN jpo.ResourceFilePath = '0' THEN ''
				ELSE jpo.ResourceFilePath
			END AS SOURCE_PATH
		FROM JCLJob jj 
			INNER JOIN JCLStep js ON jj.JobID = js.JobID
			INNER JOIN JCLProc jpr ON js.CalledProcID = jpr.ProcID
			INNER JOIN JCLPosition jpo ON jpr.PositionID = jpo.PositionID
		WHERE 
			js.CalledProcID <> 0
			AND jj.JobID IN (SELECT * FROM SESSION.numeric_param_temp)

		UNION

		SELECT DISTINCT 
			jig.ResourceType AS SOURCE_TYPE,
			jig.MemberName AS SOURCE_NAME,
			jig.FilePath AS SOURCE_PATH
		FROM JCLIncludeGroup jig
			INNER JOIN  JCLIncludeConn jic ON jig.IncludeID = jic.IncludeID
		WHERE 
			jig.ResourceType IN (204, 205)
			AND jic.JobID IN (SELECT * FROM SESSION.numeric_param_temp);
								
		OPEN crs;
				
	END;
END
