DYNAMIC RESULT SETS 1
LANGUAGE SQL
ss: BEGIN
     --EZViewer_AM_Child_Program_fromModule EZViewer_AM_SrcInfo_forInputs EZViewer_R2dsStatements_Selective 
	 
	            BEGIN
					             DECLARE crs CURSOR WITH RETURN FOR
								 SELECT jj.JobName,
							            jj.JobId,
							            js.StepName,
							            js.StepID,
							            jdd.DDName,
							            jpds.DataSetName,
							            jpds.DataSetID,
							            fl.Name,
							            fl.LogicalName,
							            fl.FileId,
							            js.OrdinalNumInJob,
							            jpos.ResourceFilePath,
							            jpos.StartRow,
							            jref.MemberName,
							            ddPosInProc.ResourceFilePath,
							            ddPosInProc.StartRow
							     FROM Programs prg
							          INNER JOIN ProgramsUsedInPgm pup ON prg.ProgramID = pup.ProgramID
							          INNER JOIN Files fl ON prg.ProgramID = fl.ProgID
							          INNER JOIN JCLStep js ON pup.JclPgmID = js.CalledPgmID
									  INNER JOIN JCLJob jj ON jj.JobID = js.JobID
							          INNER JOIN JCLPosition jpos ON jpos.PositionID = js.PositionID
							          INNER JOIN JCLDD jdd ON js.StepID = jdd.StepID
							          INNER JOIN JCLDDRef jref ON jdd.DDID = jref.DDID
							          INNER JOIN JCLPhysicalDataSet jpds ON jref.DataSetID = jpds.DataSetID 
							          INNER JOIN JCLPosition AS ddPosInProc ON ddPosInProc.PositionID = jdd.PositionID
							     WHERE fl.FileID IN (SELECT * FROM SESSION.numeric_param_temp)
							           AND 
									      (
									      --fl.Name = jdd.DDName OR fl.Name LIKE '%-' || jdd.DDName
									      UPPER(fl.Name) = UPPER(jdd.DDName) 
									      OR 
										      (
										       LOCATE_IN_STRING(UPPER(fl.Name), '-'|| UPPER(jdd.DDName), -1) > 0  -- check existence
	                                           AND 
	                                           LOCATE_IN_STRING(UPPER(fl.Name), '-'|| UPPER(jdd.DDName), -1) = LENGTH(fl.Name) + 1 -1 - LENGTH(jdd.DDName) -- last position in string
	                                          )
									      );
								
								 OPEN crs;
				
                END;
END ss	


