DBA Data[Home] [Help]

TRIGGER: APPS.PER_ASG_PERF_TRG

Source

Description
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;