( 
  IN p_Input_DDName VARCHAR(250)
)
DYNAMIC RESULT SETS 1
LANGUAGE SQL
ss: 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 UPPER(jr.MemberName) = UPPER(dpt.dsmembername)
							  LEFT OUTER JOIN ProgramAliases pa ON UPPER(pa.AliasName) = UPPER(jpgm.PgmName)
                              LEFT OUTER JOIN ProgramAliases pa1 ON pa1.ProgramId = pa.ProgramId
                                          AND pa1.AliasType = 0									 
					     WHERE js.CalledPgmID > 0
					           AND UPPER(jd.DDName) = UPPER(v_Input_DDName)
					     ORDER BY jj.JobName,
					              js.OrdinalNumInJob;
					          
                         OPEN crs;
                        
                  END;       
 END ss	
 
 
 
