Public
Snippet $38 authored by gilang

Trigger Before Delete Pembayaran SPPT Untuk Sinkron Reversal76

Edited
CREATE TABLE "POSPBB"."SYNC_PEMBAYARAN_SPPT"
  (
    "ID"                 NUMBER(*,0) NOT NULL ENABLE,
    "KD_PROPINSI"        VARCHAR2(2 CHAR) NOT NULL ENABLE,
    "KD_DATI2"           VARCHAR2(2 CHAR) NOT NULL ENABLE,
    "KD_KECAMATAN"       VARCHAR2(3 CHAR) NOT NULL ENABLE,
    "KD_KELURAHAN"       VARCHAR2(3 CHAR) NOT NULL ENABLE,
    "KD_BLOK"            VARCHAR2(3 CHAR) NOT NULL ENABLE,
    "NO_URUT"            VARCHAR2(4 CHAR) NOT NULL ENABLE,
    "KD_JNS_OP"          VARCHAR2(1 CHAR) NOT NULL ENABLE,
    "THN_PAJAK_SPPT"     VARCHAR2(4 CHAR) NOT NULL ENABLE,
    "PEMBAYARAN_SPPT_KE" NUMBER(2,0) NOT NULL ENABLE,
    CONSTRAINT "PK_SYNC_PSPPT" PRIMARY KEY ("ID") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS NOCOMPRESS LOGGING TABLESPACE "DAT" ENABLE
  )
  SEGMENT CREATION DEFERRED PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING TABLESPACE "DAT" ;
  
CREATE OR REPLACE 
TRIGGER "POSPBB"."SYNC_PSPPT_DEL"
BEFORE DELETE ON POSPBB.PEMBAYARAN_SPPT FOR EACH ROW
BEGIN
    INSERT INTO POSPBB.SYNC_PEMBAYARAN_SPPT (KD_PROPINSI, KD_DATI2, KD_KECAMATAN,
            KD_KELURAHAN, KD_BLOK, NO_URUT, KD_JNS_OP, THN_PAJAK_SPPT, PEMBAYARAN_SPPT_KE)
    VALUES (:OLD.KD_PROPINSI, :OLD.KD_DATI2, :OLD.KD_KECAMATAN, 
            :OLD.KD_KELURAHAN, :OLD.KD_BLOK, :OLD.NO_URUT, :OLD.KD_JNS_OP,
            :OLD.THN_PAJAK_SPPT, :OLD.PEMBAYARAN_SPPT_KE);
END;

CREATE SEQUENCE "POSPBB"."SYNC_PSPPT_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE;

CREATE OR REPLACE
TRIGGER "POSPBB".BEFORE_SYNC_PSPPT
BEFORE INSERT ON "POSPBB".SYNC_PEMBAYARAN_SPPT FOR EACH ROW
BEGIN
  SELECT POSPBB.SYNC_PSPPT_SEQ.NEXTVAL INTO :NEW.ID FROM DUAL;
END;