(
  IN  p_Input_UsageColumn INTEGER
)
DYNAMIC RESULT SETS 1
LANGUAGE SQL
ss: BEGIN

                DECLARE v_Input_UsageColumn INTEGER;

	            BEGIN
              
					    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  (v.iUsage = 2 OR UPPER(vp.UsageText) = 'COMP-3' OR UPPER(vp.UsageText) = 'COMPUTATIONAL-3')
                                AND vp.UsageColumn IS NOT NULL
                                AND vp.UsageColumn <> v_Input_UsageColumn
						        AND v.ProgIDReference IN (SELECT * FROM SESSION.numeric_param_temp)
					     ORDER BY prgAlsxyz.AliasName,
					              pth.PathStr,
					              occ.StartRow;

			            SET v_Input_UsageColumn = p_Input_UsageColumn;

                        OPEN crs;
                        
                  END;       
 END ss	