( 
  IN p_Input_DDName VARCHAR(250)
)
DYNAMIC RESULT SETS 1
LANGUAGE SQL
ss: BEGIN

            DECLARE v_Input_DDName VARCHAR(250);
            SET v_Input_DDName = UPPER(p_Input_DDName);

	            BEGIN
              
					     DECLARE crs CURSOR WITH RETURN FOR	 				
					     SELECT f.LogicalName,
					            f.FileID
                         FROM Files f 
                              LEFT OUTER JOIN Occurrences occ ON f.OccurID = occ.OccurID 
                              LEFT OUTER JOIN Programs pgm ON pgm.ProgramID = occ.ProgID
                         WHERE 
                             (
                               pgm.ProgramID IN (SELECT * FROM SESSION.numeric_param_temp)
                               OR 
                               NOT EXISTS (SELECT 0 FROM SESSION.numeric_param_temp)
                             )
                             AND 
                             UPPER(f.name) = v_Input_DDName
                       ;
                              
                         OPEN crs;
                        
                  END;       
 END ss

 
 
 
 
