oracle8.1.6 declare v_rel_id integer; begin for cur in (select r.rel_id from acs_rels r, membership_rels m where m.rel_id = r.rel_id and (r.rel_type = 'dotlrn_guest_rel' or r.rel_type = 'dotlrn_non_guest_rel') and r.object_id_one = acs.magic_object_id('registered_users') and r.object_id_two = :user_id) loop membership_rel.del(cur.rel_id); end loop; v_rel_id := membership_rel.new( rel_type => 'dotlrn_non_guest_rel', object_id_one => acs.magic_object_id('registered_users'), object_id_two => :user_id, member_state => 'approved' ); end; declare v_rel_id integer; begin for cur in (select r.rel_id from acs_rels r, membership_rels m where m.rel_id = r.rel_id and (r.rel_type = 'dotlrn_guest_rel' or r.rel_type = 'dotlrn_non_guest_rel') and r.object_id_one = acs.magic_object_id('registered_users') and r.object_id_two = :user_id) loop membership_rel.del(cur.rel_id); end loop; v_rel_id := membership_rel.new( rel_type => 'dotlrn_guest_rel', object_id_one => acs.magic_object_id('registered_users'), object_id_two => :user_id, member_state => 'approved' ); end; declare v_segment_id integer; begin select segment_id into v_segment_id from rel_segments where group_id = acs.magic_object_id('registered_users') and rel_type = :rel_type; acs_permission.${action}_permission(:object_id,v_segment_id,'read_private_data'); end; select case when count(1) = 0 then 0 else 1 end from acs_permissions p, rel_segments r where p.grantee_id = r.segment_id and p.privilege = 'read_private_data' and r.group_id = acs.magic_object_id('registered_users') and r.rel_type = 'dotlrn_guest_rel' and p.object_id = :object_id