(
IN p_RootID INTEGER
)
DYNAMIC RESULT SETS 1
LANGUAGE SQL
 BEGIN

            DECLARE v_RootID INTEGER;
            SET v_RootID = p_RootID;

	            BEGIN
					     DECLARE crs CURSOR WITH RETURN FOR
					     SELECT spbfd.RootID,
					            spbfd.FormNo,
					            spbfd.ProgramNo,
					            sppd.ProgramName,
					            sppd.ProgramID
					     FROM SPNS_BlockInFormDefinition spbfd
					          INNER JOIN SPNS_ProgramDefinition sppd ON sppd.ProgramNo = spbfd.ProgramNo AND sppd.RootID = spbfd.RootID
					     WHERE spbfd.RootID = v_RootID
					           AND spbfd.FormNo IN (SELECT * FROM SESSION.numeric_param_temp)
					           AND spbfd.ProgramNo <> 0
					           AND spbfd.ProgramNo IS NOT NULL;
					
				        OPEN crs;
				
                END;
END	
