BMF Overdue BBG MF
BMF Overdue BBG MF
* <Rating>-30</Rating>
*-----------------------------------------------------------------------------
SUBROUTINE BMF.OVERDUE.BBG.MF
(APP.NAME,TEMP.CONT.ID,R.CONTRACT,RETURN.CLASS,CLASS.ERR)
*-----------------------------------------------------------------------------
*
*-----------------------------------------------------------------------------
* Modification History :
*-----------------------------------------------------------------------------
$INSERT I_COMMON
$INSERT I_EQUATE
$INSERT I_ENQUIRY.COMMON
$INSERT I_F.ACCOUNT
$INSERT I_F.AA.ARRANGEMENT
$INSERT I_F.AA.TERM.AMOUNT
$INSERT I_F.AA.ACCOUNT.DETAILS
$INSERT I_AA.LOCAL.COMMON
GOSUB INITIALISE
GOSUB MAIN.PROCESS
RETURN
*-----------------------------------------------------------------------------
INITIALISE:
***********
Y.LOAN.STATUS = ''
Y.AGE.STATUS = ''
Y.AGE.DAYS = ''
Y.ARRAY = ''
FN.ACCOUNT = 'F.ACCOUNT'
F.ACCOUNT = ''
CALL OPF(FN.ACCOUNT,F.ACCOUNT)
FN.AA.ACCOUNT.DETAILS = 'F.AA.ACCOUNT.DETAILS'
F.AA.ACCOUNT.DETAILS = ''
CALL OPF(FN.AA.ACCOUNT.DETAILS,F.AA.ACCOUNT.DETAILS)
FN.AA.ARRANGEMENT = 'F.AA.ARRANGEMENT'
F.AA.ARRANGEMENT = ''
CALL OPF(FN.AA.ARRANGEMENT,F.AA.ARRANGEMENT)
FN.SL = "&SAVEDLISTS&"
F.SL = ''
CALL OPF(FN.SL,F.SL)
RETURN
*-----------------------------------------------------------------------------
MAIN.PROCESS:
*************
Y.ACCOUNT.ID = R.CONTRACT<AA.ARR.LINKED.APPL.ID>
CALL F.READ(FN.ACCOUNT,Y.ACCOUNT.ID,R.REQ.ACC,F.ACCOUNT,ACC.ERR)
AA.ID = R.REQ.ACC<AC.ARRANGEMENT.ID>
GOSUB READ.AA.ACCT.DETAILS
IF R.AA.ACCT.DET NE '' THEN
Y.AGE.STATUS = R.AA.ACCT.DET<AA.AD.ARR.AGE.STATUS>
END
CALL AA.GET.OVERDUE.DATE(AA.ID, Y.ACCOUNT.ID,FIRST.OVERDUE.DATE, RETURN.ERR)
IF FIRST.OVERDUE.DATE AND FIRST.OVERDUE.DATE LE TODAY THEN
NO.OF.DAYS = "C"
CALL CDD("", FIRST.OVERDUE.DATE, TODAY, NO.OF.DAYS)
Y.AGE.DAYS = NO.OF.DAYS
END ELSE
Y.AGE.DAYS = ''
END
BEGIN CASE
CASE Y.AGE.DAYS GE "0" AND Y.AGE.DAYS LE "90"
RETURN.CLASS = "SAIN"
CASE Y.AGE.DAYS GE "91" AND Y.AGE.DAYS LE "180"
RETURN.CLASS = "IMPAYE"
CASE Y.AGE.DAYS GE "181" AND Y.AGE.DAYS LE "360"
RETURN.CLASS = "CDL1"
CASE Y.AGE.DAYS GT "361"
RETURN.CLASS = "CDL2"
END CASE
RETURN
READ.AA.ACCT.DETAILS:
*********************
R.AA.ACCT.DET = ''
CALL F.READ(FN.AA.ACCOUNT.DETAILS,AA.ID,R.AA.ACCT.DET,F.AA.ACCOUNT.DETAILS,ERR)
RETURN
END