(
  IN p_DisplayTempDatasets INTEGER
)
DYNAMIC RESULT SETS 1
LANGUAGE SQL
 BEGIN

            DECLARE v_DisplayTempDatasets INTEGER;
            SET v_DisplayTempDatasets = p_DisplayTempDatasets;

	            BEGIN
					    DECLARE crs CURSOR WITH RETURN FOR
		           		SELECT      jproc.ProcName,
									js.StepName,
									jpos.ResourceFilePath AS StepPath,
									jpos.StartRow AS StepStartRow,
									jpds.DataSetName,
								 	CASE WHEN jpds.IsGeneration = 1 THEN jpds.GenerationNumber ELSE NULL END AS GenerationNumber,				
								 	jpds.DataSetID,
								 	jref.MemberName AS DataSetMemberName,
								 	jsds.Class,
									jd.DDName,
							     	CASE WHEN DDPosition.ResourceFilePath = '0' THEN NULL ELSE DDPosition.ResourceFilePath END AS DDPath,
							     	DDPosition.StartRow as DDStartRow,
							     	jst.Description as Status,
							     	jdis.Description as NormalDisposition,
							     	CASE WHEN jd.DDID IS NULL THEN NULL ELSE jd.IsDummy END AS IsDummy,
							     	CASE WHEN jd.DDID IS NULL THEN NULL ELSE jd.OverridingDDID END AS OverridingDDID
							FROM JCLStep js
							        INNER JOIN JCLProc jproc ON jproc.ProcID = js.ProcID
							        INNER JOIN JCLPosition jpos ON jpos.PositionID = js.PositionID
							        INNER JOIN JCLJob jj ON js.JobID = jj.JobID
							        LEFT OUTER JOIN JCLDD jd ON jd.StepID = js.StepID
								    LEFT OUTER JOIN JCLDDRef jref ON jref.DDID = jd.DDID
								    LEFT OUTER JOIN JCLPhysicalDataSet jpds ON jpds.DataSetID = jref.DataSetID
								    LEFT OUTER JOIN JCLSpoolDataSet jsds ON jsds.SpoolID = jref.SpoolDataSetID
								    LEFT OUTER JOIN JCLStatusType jst ON jref.Status = jst.JCLStatusType
								    LEFT OUTER JOIN JCLDisposition jdis ON jref.NormalDisposition = jdis.JCLDispositionType
								    LEFT OUTER JOIN JCLPosition AS DDPosition ON DDPosition.PositionID = jd.PositionID
							WHERE jproc.ProcID IN (SELECT *  FROM SESSION.numeric_param_temp)
								  AND	jproc.ProcName != '0'
								  AND   js.IfID = 0
								  AND   ((jpds.IsInstream <> 1) OR (jpds.IsInstream is NULL))
								  AND   ((v_DisplayTempDatasets = 0 AND jpds.IsTemp <> 1) OR (v_DisplayTempDatasets=1));
	

				         OPEN crs;
				
                END;
END	
