DBA Data[Home] [Help]

TRIGGER: APPS.XTR_AID_BANK_BALANCE_T

Source

Description
XTR_AID_BANK_BALANCE_T
 AFTER INSERT or DELETE on XTR_BANK_BALANCES
 FOR EACH ROW
Type
AFTER EACH ROW
Event
INSERT OR DELETE
Column
When
Referencing
REFERENCING NEW AS NEW OLD AS OLD
Body
declare
 --
 --
 L_COMPANY_CODE 	VARCHAR2(7);
 L_CPARTY_CODE    	VARCHAR2(7);
 L_ACCOUNT_NUMBER	VARCHAR2(50);
 L_SETOFF		VARCHAR2(1);
 L_PORTFOLIO_CODE	VARCHAR2(10);
 L_YEAR_CALC_TYPE 	VARCHAR2(15);
 L_SUBTYPE	 	VARCHAR2(7);
 L_CURRENCY		VARCHAR2(15);
 L_ACTION 		VARCHAR2(10);
 L_START_DATE		DATE;
 L_AMOUNT		NUMBER;
 L_INTEREST_RATE	NUMBER;

 cursor CHK_SETOFF is
  select nvl(SETOFF_ACCOUNT_YN,'N'),PORTFOLIO_CODE,YEAR_CALC_TYPE,
         BANK_CODE,CURRENCY
    from XTR_BANK_ACCOUNTS
     where PARTY_CODE=L_COMPANY_CODE
       and ACCOUNT_NUMBER =L_ACCOUNT_NUMBER;



begin
---
if inserting then
 L_ACTION :='UPDATE';  --- for CA'cof
 L_START_DATE := :NEW.BALANCE_DATE;
 L_ACCOUNT_NUMBER :=:NEW.ACCOUNT_NUMBER;
 L_COMPANY_CODE :=:NEW.COMPANY_CODE;
 L_AMOUNT :=nvl(:NEW.BALANCE_ADJUSTMENT,0)+nvl(:NEW.STATEMENT_BALANCE,0);
 L_INTEREST_RATE :=nvl(:NEW.INTEREST_RATE,0);
else
 L_ACTION :='DELETE';
 L_START_DATE := :OLD.BALANCE_DATE;
 L_ACCOUNT_NUMBER :=:OLD.ACCOUNT_NUMBER;
 L_COMPANY_CODE :=:OLD.COMPANY_CODE;
 L_AMOUNT :=nvl(:OLD.BALANCE_ADJUSTMENT,0)+nvl(:OLD.STATEMENT_BALANCE,0);
 L_INTEREST_RATE :=nvl(:OLD.INTEREST_RATE,0);
end if;

if L_START_DATE  'Y' then
     if L_AMOUNT <0 then
        L_SUBTYPE :='FUND';
     else
        L_SUBTYPE :='INVEST';
     end if;

      XTR_COF_P.MAINTAIN_POSITION_HISTORY(
        P_START_DATE                  => L_START_DATE,
        P_MATURITY_DATE               => NULL,
        P_OTHER_DATE                  => NULL,
        P_DEAL_NUMBER                 => NULL,
        P_TRANSACTION_NUMBER          => NULL,
        P_COMPANY_CODE                => L_COMPANY_CODE,
        P_CURRENCY                    => L_CURRENCY,
        P_DEAL_TYPE                   => 'CA',
        P_DEAL_SUBTYPE                => L_SUBTYPE,
        P_PRODUCT_TYPE                => NULL,
        P_PORTFOLIO_CODE              => L_PORTFOLIO_CODE,
        P_CPARTY_CODE                 => L_CPARTY_CODE,
        P_CONTRA_CCY                  => NULL,
        P_CURRENCY_COMBINATION        => NULL,
        P_ACCOUNT_NO                  => L_ACCOUNT_NUMBER,
        P_TRANSACTION_RATE            => L_INTEREST_RATE,
        P_YEAR_CALC_TYPE              => L_YEAR_CALC_TYPE,
        P_BASE_REF_AMOUNT             => L_AMOUNT,
        P_BASE_RATE                   => NULL,
        P_STATUS_CODE                 => 'CURRENT',
        P_INTEREST                    => NULL,
        P_MATURITY_AMOUNT             => NULL,
        P_START_AMOUNT                => NULL,
        P_CALC_BASIS                  => NULL,
        P_CALC_TYPE                   => NULL,
        P_ACTION                      => L_ACTION,
	P_DAY_COUNT_TYPE	      => :NEW.DAY_COUNT_TYPE,  -- Added for Interest Override
	P_FIRST_TRANS_FLAG	      => NULL -- Added for Interest Override
	);
    end if;
end if;
end;