Anda di halaman 1dari 4

create or replace PROCEDURE PROC_NAME AS LOC_SEQ_VALUE NUMBER(15); TYPE VAL_TYPE IS TABLE OF VARCHAR2(100) INDEX BY PLS_INTEGER; VAL_COL VAL_TYPE; LOC_VARIABLE

number(4); loc_var1 number(4); loc_var2 number(4); STATUS VARCHAR2(100); BEGIN SELECT DISTINCT(VAL_DATE||AMOUNT) BULK COLLECT INTO VAL_COL FROM nostro_ledger_s tat; FOR I IN VAL_COL.FIRST..VAL_COL.LAST LOOP select count(*) into loc_var1 from nostro_ledger_stat WHERE VAL_DATE||AMOUNT=VAL _COL(i) and side = 'S'; select count(*) into loc_var2 from nostro_ledger_stat WHERE VAL_DATE||AMOUNT=VAL _COL(i) and side = 'L'; IF (LOC_VAR1= 1 and loc_var2 = 1 ) THEN SELECT nostro_seq.NEXTVAL INTO LOC_SEQ_VALUE FROM DUAL; --insert into nostro_ledger_stat1 select * from nostro_ledger_stat where VAL_DAT E||AMOUNT=VAL_COL(i); STATUS := 'PERFECT MATCH'; for J in (select * from nostro_ledger_stat where VAL_DATE||AMOUNT=VAL_COL(i)) LO OP insert into nostro_output ( SIDE, FEED_NAME, BRANCH, SUB_ACCOUNT, CCY, STATEMENT_DATE, OB, OB_BAL_SIGN, CB, CB_BAL_SIGN, VAL_DATE, AMOUNT, ITEM_SIGN, ENTRY_DATE, OUR_REF, THEIR_REF, ADD_INFO, TRAN_CODE, BOOK_ENT, SAP_CENTER, BENE_NAME, CTPY_NAME, INT_DEP_CODE, OTHER_REF, CCT_CODE, ACCOWN_INFO, CTPYC_CONSOL, CONTRA_BRANCH, CONTRA_ACC,

INTRA_DE_REF, TRADE_TYPE, TRANS_ID, SECTION_CODE, MEMPHISREF1, MEMPHISREF2, REF1, REF2, REF3, REF4, REF5, LINK_ID, STATUS ) values( J.SIDE, J.FEED_NAME, J.BRANCH, J.SUB_ACCOUNT, J.CCY, J.STATEMENT_DATE, J.OB, J.OB_BAL_SIGN, J.CB, J.CB_BAL_SIGN, J.VAL_DATE, J.AMOUNT, J.ITEM_SIGN, J.ENTRY_DATE, J.OUR_REF, J.THEIR_REF, J.ADD_INFO, J.TRAN_CODE, J.BOOK_ENT, J.SAP_CENTER, J.BENE_NAME, J.CTPY_NAME, J.INT_DEP_CODE, J.OTHER_REF, J.CCT_CODE, J.ACCOWN_INFO, J.CTPYC_CONSOL, J.CONTRA_BRANCH, J.CONTRA_ACC, J.INTRA_DE_REF, J.TRADE_TYPE, J.TRANS_ID, J.SECTION_CODE, J.MEMPHISREF1, J.MEMPHISREF2, J.REF1, J.REF2, J.REF3, J.REF4, J.REF5,LOC_SEQ_VALUE,'PERFECT MATCH' ); END LOOP; END IF; IF (LOC_VAR1= 1 and loc_var2 = 0 ) THEN SELECT nostro_seq.NEXTVAL INTO LOC_SEQ_VALUE FROM DUAL;

--insert into nostro_ledger_stat1 select * from nostro_ledger_stat where VAL_DAT E||AMOUNT=VAL_COL(i); for J in (select * from nostro_ledger_stat where VAL_DATE||AMOUNT=VAL_COL(i)) LO OP insert into nostro_output ( SIDE, FEED_NAME, BRANCH, SUB_ACCOUNT, CCY, STATEMENT_DATE, OB, OB_BAL_SIGN, CB, CB_BAL_SIGN, VAL_DATE, AMOUNT, ITEM_SIGN, ENTRY_DATE, OUR_REF, THEIR_REF, ADD_INFO, TRAN_CODE, BOOK_ENT, SAP_CENTER, BENE_NAME, CTPY_NAME, INT_DEP_CODE, OTHER_REF, CCT_CODE, ACCOWN_INFO, CTPYC_CONSOL, CONTRA_BRANCH, CONTRA_ACC, INTRA_DE_REF, TRADE_TYPE, TRANS_ID, SECTION_CODE, MEMPHISREF1, MEMPHISREF2, REF1, REF2, REF3, REF4, REF5, LINK_ID, STATUS ) values( J.SIDE, J.FEED_NAME, J.BRANCH, J.SUB_ACCOUNT, J.CCY, J.STATEMENT_DATE, J.OB, J.OB_BAL_SIGN, J.CB,

J.CB_BAL_SIGN, J.VAL_DATE, J.AMOUNT, J.ITEM_SIGN, J.ENTRY_DATE, J.OUR_REF, J.THEIR_REF, J.ADD_INFO, J.TRAN_CODE, J.BOOK_ENT, J.SAP_CENTER, J.BENE_NAME, J.CTPY_NAME, J.INT_DEP_CODE, J.OTHER_REF, J.CCT_CODE, J.ACCOWN_INFO, J.CTPYC_CONSOL, J.CONTRA_BRANCH, J.CONTRA_ACC, J.INTRA_DE_REF, J.TRADE_TYPE, J.TRANS_ID, J.SECTION_CODE, J.MEMPHISREF1, J.MEMPHISREF2, J.REF1, J.REF2, J.REF3, J.REF4, J.REF5,LOC_SEQ_VALUE,'EXCEPTION' ); END LOOP; END IF; END LOOP; COMMIT; EXCEPTION WHEN OTHERS THEN NULL; END;

Anda mungkin juga menyukai