PER_ASG_PERF_TRG
AFTER INSERT OR UPDATE OR DELETE OF
ASSIGNMENT_ID,
EFFECTIVE_START_DATE,
EFFECTIVE_END_DATE,
PERSON_ID,
ASSIGNMENT_TYPE,
PAYROLL_ID,
POSITION_ID,
SUPERVISOR_ID,
ORGANIZATION_ID,
ASSIGNMENT_STATUS_TYPE_ID,
PRIMARY_FLAG,
SUPERVISOR_ASSIGNMENT_ID,
BUSINESS_GROUP_ID
ON "HR"."PER_ALL_ASSIGNMENTS_F#"
FOR EACH ROW
--
Type
AFTER EACH ROW
Event
INSERT OR UPDATE OR DELETE
Column
When
Referencing
REFERENCING NEW AS NEW OLD AS OLD
Body
BEGIN
--
IF UPDATING THEN
UPDATE PER_ALL_ASSIGNMENTS_F_PERF
SET ASSIGNMENT_ID = :NEW.ASSIGNMENT_ID,
EFFECTIVE_START_DATE = :NEW.EFFECTIVE_START_DATE,
EFFECTIVE_END_DATE = :NEW.EFFECTIVE_END_DATE,
PERSON_ID = :NEW.PERSON_ID,
ASSIGNMENT_TYPE = :NEW.ASSIGNMENT_TYPE,
PAYROLL_ID = :NEW.PAYROLL_ID,
POSITION_ID = :NEW.POSITION_ID,
SUPERVISOR_ID = :NEW.SUPERVISOR_ID,
ORGANIZATION_ID = :NEW.ORGANIZATION_ID,
ASSIGNMENT_STATUS_TYPE_ID = :NEW.ASSIGNMENT_STATUS_TYPE_ID,
PRIMARY_FLAG = :NEW.PRIMARY_FLAG,
SUPERVISOR_ASSIGNMENT_ID = :NEW.SUPERVISOR_ASSIGNMENT_ID,
BUSINESS_GROUP_ID = :NEW.BUSINESS_GROUP_ID
WHERE ASSIGNMENT_ID = :OLD.ASSIGNMENT_ID
AND EFFECTIVE_START_DATE = :OLD.EFFECTIVE_START_DATE
AND EFFECTIVE_END_DATE = :OLD.EFFECTIVE_END_DATE
AND PERSON_ID = :OLD.PERSON_ID;
--
ELSIF INSERTING THEN
INSERT INTO
PER_ALL_ASSIGNMENTS_F_PERF
(ASSIGNMENT_ID,
EFFECTIVE_START_DATE,
EFFECTIVE_END_DATE,
PERSON_ID,
ASSIGNMENT_TYPE,
PAYROLL_ID,
POSITION_ID,
SUPERVISOR_ID,
ORGANIZATION_ID,
ASSIGNMENT_STATUS_TYPE_ID,
PRIMARY_FLAG,
SUPERVISOR_ASSIGNMENT_ID,
BUSINESS_GROUP_ID)
VALUES
(:NEW.ASSIGNMENT_ID,
:NEW.EFFECTIVE_START_DATE,
:NEW.EFFECTIVE_END_DATE,
:NEW.PERSON_ID,
:NEW.ASSIGNMENT_TYPE,
:NEW.PAYROLL_ID,
:NEW.POSITION_ID,
:NEW.SUPERVISOR_ID,
:NEW.ORGANIZATION_ID,
:NEW.ASSIGNMENT_STATUS_TYPE_ID,
:NEW.PRIMARY_FLAG,
:NEW.SUPERVISOR_ASSIGNMENT_ID,
:NEW.BUSINESS_GROUP_ID);
--
ELSIF DELETING THEN
DELETE FROM PER_ALL_ASSIGNMENTS_F_PERF
WHERE ASSIGNMENT_ID = :OLD.ASSIGNMENT_ID
AND EFFECTIVE_START_DATE = :OLD.EFFECTIVE_START_DATE
AND EFFECTIVE_END_DATE = :OLD.EFFECTIVE_END_DATE
AND PERSON_ID = :OLD.PERSON_ID;
END IF;
END;