DBA Data[Home] [Help]

TRIGGER: APPS.CN_QUOTA_RULE_UPLIFTS_T1

Source

Description
cn_quota_rule_uplifts_t1
  AFTER DELETE OR INSERT OR UPDATE
  ON CN_QUOTA_RULE_UPLIFTS_ALL
  FOR EACH ROW
Type
AFTER EACH ROW
Event
INSERT OR UPDATE OR DELETE
Column
When
Referencing
REFERENCING NEW AS NEW OLD AS OLD
Body
DECLARE
  l_name     cn_quotas_all.NAME%TYPE;
  l_quota_id cn_quotas_all.quota_id%TYPE;
  l_org_id   cn_quotas_all.org_id%TYPE;
BEGIN
  IF INSERTING THEN
    BEGIN
      SELECT q.NAME, q.quota_id, q.org_id INTO l_name, l_quota_id, l_org_id
        FROM cn_quotas_all q, cn_quota_rules_all qr
       WHERE q.quota_id = qr.quota_id AND qr.quota_rule_id = :NEW.quota_rule_id;
    EXCEPTION
      WHEN NO_DATA_FOUND THEN
        NULL;
    END;

    -- modified by rjin 11/10/1999, should pass start_date/end_date
    cn_mark_events_pkg.mark_event_quota(
      p_event_name                 => 'CHANGE_QUOTA_POP'
    , p_object_name                => l_name
    , p_object_id                  => l_quota_id
    , p_start_date                 => NULL
    , p_start_date_old             => :NEW.start_date
    , p_end_date                   => NULL
    , p_end_date_old               => :NEW.end_date
    , p_org_id                     => l_org_id
    );
  ELSIF DELETING THEN
    BEGIN
      SELECT q.NAME, q.quota_id, q.org_id INTO l_name, l_quota_id, l_org_id
        FROM cn_quotas_all q, cn_quota_rules_all qr
       WHERE q.quota_id = qr.quota_id AND qr.quota_rule_id = :OLD.quota_rule_id;
    EXCEPTION
      WHEN NO_DATA_FOUND THEN
        NULL;
    END;

    cn_mark_events_pkg.mark_event_quota(
      p_event_name                 => 'CHANGE_QUOTA_POP'
    , p_object_name                => l_name
    , p_object_id                  => l_quota_id
    , p_start_date                 => NULL
    , p_start_date_old             => :OLD.start_date
    , p_end_date                   => NULL
    , p_end_date_old               => :OLD.end_date
    , p_org_id                     => l_org_id
    );
  ELSIF UPDATING THEN
    IF    TRUNC(:OLD.start_date) <> TRUNC(:NEW.start_date)
       OR TRUNC(NVL(:OLD.end_date, fnd_api.g_miss_date)) <>
                                                      TRUNC(NVL(:NEW.end_date, fnd_api.g_miss_date)) THEN
      BEGIN
        SELECT q.NAME, q.quota_id, q.org_id INTO l_name, l_quota_id, l_org_id
          FROM cn_quotas_all q, cn_quota_rules_all qr
         WHERE q.quota_id = qr.quota_id AND qr.quota_rule_id = :OLD.quota_rule_id;
      EXCEPTION
        WHEN NO_DATA_FOUND THEN
          NULL;
      END;

      cn_mark_events_pkg.mark_event_quota(
        p_event_name                 => 'CHANGE_QUOTA_UPLIFT_DATE'
      , p_object_name                => l_name
      , p_object_id                  => l_quota_id
      , p_start_date                 => :NEW.start_date
      , p_start_date_old             => :OLD.start_date
      , p_end_date                   => :NEW.end_date
      , p_end_date_old               => :OLD.end_date
      , p_org_id                     => l_org_id
      );
    END IF;
  END IF;
END cn_quota_rule_uplifts_t1;