function CF_3MONTHSPLUSFormula return Number is V NUMBER(20) ; VBILL NUMBER(20) ; VTIP NUMBER(20) ; VAMT NUMBER(20) ; begin SELECT SUM(AMOUNT) INTO VBILL FROM BILLDETAIL WHERE BILLMTRNO IN (SELECT BILLMTRNO FROM BILLMASTER WHERE BILLDATE < TRUNC(ADD_MONTHS(:PBILLMONTH, -3), 'MONTH')) AND BILLMTRNO NOT IN (SELECT NVL(BILLMTRNO, 0) FROM ACCOUNT3) ; SELECT TIPAMOUNT INTO VTIP FROM BILLMASTER WHERE BILLMTRNO IN (SELECT BILLMTRNO FROM BILLMASTER WHERE BILLDATE < TRUNC(ADD_MONTHS(:PBILLMONTH, -3), 'MONTH')) AND BILLMTRNO NOT IN (SELECT NVL(BILLMTRNO, 0) FROM ACCOUNT3) ; VAMT := NVL(VBILL, 0) + NVL(VTIP, 0) ; RETURN VAMT ; EXCEPTION WHEN NO_DATA_FOUND THEN RETURN NULL ; WHEN OTHERS THEN RETURN NULL ; end;