(
  IN  p_Input_SIGNColumn INTEGER
)
DYNAMIC RESULT SETS 1
LANGUAGE SQL
ss: BEGIN
            
            DECLARE v_Input_SIGNColumn INTEGER;
            
            DECLARE crs CURSOR WITH RETURN FOR
            SELECT DISTINCT
				     v.ProgIDReference,
		            prgAlsxyz.AliasName AS ProgramName,
		            pth.PathStr,
		            occ.StartRow,
		            v.IsCopy
		     FROM Variables v
		          INNER JOIN VariablePos vp ON v.VarID = vp.VarId
		          INNER JOIN Occurrences occ ON v.OccurID = occ.OccurID
		          INNER JOIN Paths pth ON occ.PathID = pth.PathID
		          INNER JOIN Programs prg ON v.ProgIDReference = prg.ProgramID
		    	  INNER JOIN ProgramAliases prgAlsxyz ON prg.ProgramId = prgAlsxyz.ProgramID
						AND prgAlsxyz.AliasType = 0
			 WHERE       vp.SignColumn IS NOT NULL
                     AND vp.SignColumn != v_Input_SIGNColumn
			         AND prg.ProgramTypeID = 1
		     ORDER BY prgAlsxyz.AliasName,
		              pth.PathStr,
		              occ.StartRow;
            
            SET v_Input_SIGNColumn = p_Input_SIGNColumn;

            OPEN crs;
            
 END ss