DYNAMIC RESULT SETS 1
LANGUAGE SQL
ss: BEGIN

	            BEGIN
					    DECLARE crs CURSOR WITH RETURN FOR
					    SELECT DISTINCT  gpf.ProgramName,
					                     pfd.PrinterFileName,
					                     gpf.Description,
					                     COUNT(gpf.Description) AS countStmt
					     FROM PrinterFileDDS pfd
					           LEFT OUTER JOIN Occurrences occ ON pfd.OccurId = occ.OccurID
					           LEFT OUTER JOIN GetPrinterFiles gpf  ON UPPER(pfd.PrinterFileName) = UPPER(gpf.Name)
															            OR 
					                                                   --UPPER(gpf.Name) LIKE '%' || '-' || UPPER(pfd.PrinterFileName)
					                                                   (
					                                                    LOCATE_IN_STRING(UPPER(gpf.Name), '-' || UPPER(pfd.PrinterFileName), -1) > 0  -- check existence
                                                                        AND 
                                                                        LOCATE_IN_STRING(UPPER(gpf.Name), '-' || UPPER(pfd.PrinterFileName), -1) = LENGTH(gpf.Name) + 1 -1 - LENGTH(pfd.PrinterFileName) -- last position in string
                                                                        )
					                                                  OR 
					                                                  --UPPER(gpf.Name) LIKE UPPER(pfd.PrinterFileName) || '-' || '%'
					                                                    LOCATE_IN_STRING(UPPER(gpf.Name), UPPER(pfd.PrinterFileName) || '-', 1) = 1  -- check existence + first position
					                                                  OR 
					                                                  --UPPER(gpf.Name) LIKE '%' || '-' || UPPER(pfd.PrinterFileName) || '-' ||'%'
					                                                    LOCATE_IN_STRING(UPPER(gpf.Name), '-' || UPPER(pfd.PrinterFileName) || '-', 1) > 0  -- check existence
					     WHERE UPPER(gpf.ProgramName) IN (SELECT UPPER(Param) FROM SESSION.string_param_temp)
					     GROUP BY gpf.ProgramName,
					              pfd.PrinterFileName,
					              gpf.Description
					     ORDER BY gpf.ProgramName,
					              pfd.PrinterFileName;

				       OPEN crs;
				
                END;
END ss	





