(
IN p_RootID INTEGER
)
DYNAMIC RESULT SETS 1
LANGUAGE SQL
ss: BEGIN
            
            DECLARE v_RootID INTEGER;
            SET v_RootID = p_RootID; 

	            BEGIN
					     DECLARE crs CURSOR WITH RETURN FOR
					     SELECT spfcf.RootID,
					            spfcf.FormNo,
					            spfcf.CallingFormNo,
					            spfdef.FormName CallingFormName,
					            spfdef.RootID AS CallingFormRootId,
					            spfdef.MenuCounter CallingMenuCounter,
					            spfdef.BlockCounter CallingBlockCounter,
					            spmof.OptionNo
					     FROM SPNS_FormCallingForm spfcf
					          INNER JOIN SPNS_FormDefinition spfdef ON spfcf.CallingFormNo = spfdef.FormNo AND spfcf.RootID = spfdef.RootID
					          RIGHT OUTER JOIN SPNS_MenuOptionInForm spmof ON(spmof.RootID = spfdef.RootID
					                                                  AND spmof.FormNo = spfcf.CallingFormNo
					                                                  AND spmof.CalledFormNo = spfcf.FormNo
					                                                  AND (spfdef.MenuCounter <> 0 OR spfdef.MenuCounter IS NOT NULL))
					     WHERE spfcf.RootID = v_RootID
					           AND spfcf.formNo IN (SELECT * FROM SESSION.numeric_param_temp)					
					          ;

				        OPEN crs;
				
                END;
END ss	





