(
  IN p_Input_DDName VARCHAR(250)
)
DYNAMIC RESULT SETS 1
LANGUAGE SQL
 BEGIN

           DECLARE v_Input_DDName VARCHAR(250);
           SET v_Input_DDName = p_Input_DDName;

	            BEGIN

					    DECLARE crs CURSOR WITH RETURN FOR	
						SELECT DISTINCT
					            jj.JobName,
					            js.StepName,
					            jpgm.PgmName,
					            jd.DDName,
					            jr.DDID,
					            jpds.DataSetName,
					            js.OrdinalNumInJob,
								pa1.AliasName AS ProgramName
					     FROM JCLDD jd
					          INNER JOIN JCLStep js  ON jd.StepID = js.StepID
							  INNER JOIN JCLJob jj ON jj.JobID = js.JobID
					          INNER JOIN JCLDDRef jr  ON jd.DDID = jr.DDID
							  INNER JOIN JCLPhysicalDataSet jpds ON jpds.DataSetID = jr.DataSetID
					          INNER JOIN JCLPgm jpgm ON js.CalledPgmID = jpgm.PgmID
					          INNER JOIN SESSION.ds_param_temp dpt ON jpds.DataSetID = dpt.dsid
                                                                     AND jr.MemberName = dpt.dsmembername
							  LEFT OUTER JOIN ProgramAliases pa ON pa.AliasName = jpgm.PgmName
                              LEFT OUTER JOIN ProgramAliases pa1 ON pa1.ProgramId = pa.ProgramId
                                          AND pa1.AliasType = 0									
					     WHERE js.CalledPgmID > 0
					           AND jd.DDName = v_Input_DDName
					     ORDER BY jj.JobName,
					              js.OrdinalNumInJob;
					
                         OPEN crs;

                  END;
 END	
