CREATE OR REPLACE TRIGGER POU_AUDIT_SYUS -- AFTER UPDATE OF syus_id ,db_username ,first_name ,last_name ,contact_telephone ,contact_fax ,period_start ,created_by ,created_on ,designation ,description ,period_end ,title ,updated_by ,updated_on ,email_address ,inte_id ,cust_id ,password_expires ,grace_logins ,user_locked ,password ,language ,mobile_tel_number ON system_users FOR EACH ROW -- DECLARE -- CURSOR c_inte(cp_inte_id IN intermediaries.inte_id%TYPE) IS SELECT name FROM intermediaries WHERE inte_id = cp_inte_id; -- CURSOR c_cust(cp_cust_id IN customers.cust_id%TYPE) IS SELECT name FROM customers WHERE cust_id = cp_cust_id; -- l_inte_name_old intermediaries.name%TYPE; l_inte_name_new intermediaries.name%TYPE; l_cust_name_old customers.name%TYPE; l_cust_name_new customers.name%TYPE; -- l_pass_status VARCHAR2(20); -- BEGIN -- OPEN c_inte(:old.inte_id); FETCH c_inte INTO l_inte_name_old; CLOSE c_inte; -- OPEN c_inte(:new.inte_id); FETCH c_inte INTO l_inte_name_new; CLOSE c_inte; -- OPEN c_cust(:old.cust_id); FETCH c_cust INTO l_cust_name_old; CLOSE c_cust; -- OPEN c_cust(:new.cust_id); FETCH c_cust INTO l_cust_name_new; CLOSE c_cust; -- IF :old.password = :new.password THEN -- l_pass_status := 'Unmodified'; -- ELSE -- l_pass_status := 'Modified'; -- END IF; -- amfr_journal.log_transaction('UPDATE', 'SYSTEM_USERS', name_value_tab( name_value_rec('USER IDENTIFIER',:old.SYUS_ID), name_value_rec('DATABASE USERNAME',:old.DB_USERNAME), name_value_rec('FIRST NAME',:old.FIRST_NAME), name_value_rec('LAST NAME',:old.LAST_NAME), name_value_rec('EMAIL ADDRESS',:old.EMAIL_ADDRESS), name_value_rec('TELEPHONE',:old.CONTACT_TELEPHONE), name_value_rec('MOBILE TELEPHONE',:old.MOBILE_TEL_NUMBER), name_value_rec('FAX',:old.CONTACT_FAX), name_value_rec('PERIOD_START',:old.PERIOD_START), name_value_rec('PERIOD_END',:old.PERIOD_END), name_value_rec('CREATED_BY',:old.CREATED_BY), name_value_rec('CREATED_ON',:old.CREATED_ON), name_value_rec('POSITION',:old.DESIGNATION), name_value_rec('USER DESCRIPTION',:old.DESCRIPTION), name_value_rec('UPDATED_BY',:old.UPDATED_BY), name_value_rec('UPDATED_ON',:old.UPDATED_ON), name_value_rec('TITLE',:old.TITLE), name_value_rec('INTERMEDIARY',l_inte_name_old), name_value_rec('CUSTOMER',l_cust_name_old), name_value_rec('PASSWORD_EXPIRES',:old.PASSWORD_EXPIRES), name_value_rec('GRACE_LOGINS',:old.GRACE_LOGINS), name_value_rec('USER_LOCKED',:old.USER_LOCKED), name_value_rec('LANGUAGE',:old.LANGUAGE), name_value_rec('PASSWORD',NULL) ), name_value_tab( name_value_rec('USER IDENTIFIER',:new.SYUS_ID), name_value_rec('DATABASE USERNAME',:new.DB_USERNAME), name_value_rec('FIRST NAME',:new.FIRST_NAME), name_value_rec('LAST NAME',:new.LAST_NAME), name_value_rec('EMAIL ADDRESS',:new.EMAIL_ADDRESS), name_value_rec('TELEPHONE',:new.CONTACT_TELEPHONE), name_value_rec('MOBILE TELEPHONE',:new.MOBILE_TEL_NUMBER), name_value_rec('FAX',:new.CONTACT_FAX), name_value_rec('PERIOD_START',:new.PERIOD_START), name_value_rec('PERIOD_END',:new.PERIOD_END), name_value_rec('CREATED_BY',:new.CREATED_BY), name_value_rec('CREATED_ON',:new.CREATED_ON), name_value_rec('POSITION',:new.DESIGNATION), name_value_rec('USER DESCRIPTION',:new.DESCRIPTION), name_value_rec('UPDATED_BY',:new.UPDATED_BY), name_value_rec('UPDATED_ON',:new.UPDATED_ON), name_value_rec('TITLE',:new.TITLE), name_value_rec('INTERMEDIARY',l_inte_name_new), name_value_rec('CUSTOMER',l_cust_name_new), name_value_rec('PASSWORD_EXPIRES',:new.PASSWORD_EXPIRES), name_value_rec('GRACE_LOGINS',:new.GRACE_LOGINS), name_value_rec('USER_LOCKED',:new.USER_LOCKED), name_value_rec('LANGUAGE',:new.LANGUAGE), name_value_rec('PASSWORD',l_pass_status) ) ); -- END; /