139 lines
6.6 KiB
Plaintext
139 lines
6.6 KiB
Plaintext
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;
|
|
/
|