automation of loan generation and servicing
DESCRIPTION
A project on Automation of loan Generation and Servicing using CICS, DB2, and COBOL.TRANSCRIPT
Automation of Loan Generation And ServicingA Mainframe Online Project
~ Aritra Mukherjee
Capgemini
Under The Guidance of
Navin Kumar(Senior Consultant)
Capgemini India, Pune
MainframeThe Mighty Beast
1
• Super Computer
2• Mainframe
3• Mini Computer
4
• Micro Computer
Stable Backward Compatible
ReliableSince 1960s
Secure Never Hacked
MainframeSome Facts….
• 70% of entire data of the planet is stored on Mainframe.
• Can Support more than 25000 users simultaneously
• It takes 3 Days to Boot-up
• Takes a month to install and customize a basic OS.
• Can process 450 millions of transaction per day
• No virus ever attacked on Mainframe.
Technologies Used
Operating System
z/OS
Programming
Language
Cobol
Database
DB2
Transaction Server
CICS
Program Controller
JCL
The ApplicationWhat It Does…
• Calculates loan eligibility
• Calculate Max Loan
• Grants/Rejects Loan
• Calculates EMI
• Generates unique Customer Number
• Automates Payment
• Applies Interests, Fines
• Generates Reports
• Generates Letters
Modules
Automation of Loan Generation and
Servicing
Routines
Payment
Application
• Online• Batch
Application
• Online• BatchPayment
• Rate Routine• Date RoutineRoutines
Application Online
Application Online
•Personal Details
•Rating Details
Function 1
•Loan Details
Function 2 •Confirmation
of Loan Details
Function 3
Process
Function 1Validations….
Field Name Valid Value
First Name Alphabet
Last Name Alphabet
Address Line 1 Alphabet, Alphanumeric, Special Characters
Address Line 2 Low Values, Blank,Alphabet, Special Characters, Alphanumeric
Pin Number, Must be greater than 100000
Source Code TV, RD, IN, FD, NP, ZZ
Field Name Valid Value
DOB Valid Date (including Leap Year), Past date, Separator should be ‘-’,Age should be between 18 to 50
Salary Number, Must be greater than equal to 5000
Asset Value Low Values, Blank, spaces, zeroes or positive numbers
Confirm Rating Details
‘Y’
Personal Details Rating Details
Function 1What it does….
• Validates each fields
• Throws the map if anytime validation fails
• Calls to DATE ROUTINE to validate DOB.
• Calls to RATE ROUTINE to calculate Max Loan Amount
Function 1Continued….
030000*****************************************************************030100* THIS PART DOES THE FOLLOWING * 030200* TAKES INPUT CUSTOMER PERSONAL * 030300* AND * 030400* RATING DETAILS *030500*******************************************************************030600 B110-SEND-DETAILS-RTN. 030700 PERFORM B111-ERR-RTN030800 THRU B111-EXIT. 030900 PERFORM B112-RECEIVE-RTN 031000 THRU B112-EXIT. 031100 IF FLP-VALIDATION-OK 031200 PERFORM B113-VALIDATE-CUST-DTLS-RTN031300 THRU B113-EXIT 031400 END-IF. 031500 B110-EXIT. 031600 EXIT.
Function 2Validations….
Field Name Valid Value
Loan Amount Number, Greater than equal to 10000, Must be less than equal to Max Loan Amount
Repayment Period
Number, Must be between/including 6 and 240
Confirm Loan Details
Alphabet, ‘Y’ or ‘N’ or Blank
Loan Details
Function 2What it does….
• Validates each fields
• Throws the map if anytime validation fails
• Calls to RATE ROUTINE to calculate EMI
• Validates EMI
Function 2Continued….
084200*****************************************************************084300* THIS PART DOES THE FOLLOWING * 084400* TAKES INPUT LOAN DETAILS * 084500***************************************************************** 084600 B300-LOAN-DTLS. 084700 INITIALIZE FLP-VALIDATION 084800 FLP-EMI 084900 MOVE '013' TO FLP-WS-ERR-CODE. 085000 PERFORM B310-LOAN-RTN 085100 THRU B310-EXIT 085200 UNTIL FLP-EMI-OK. 085300 PERFORM B320-CONFIRMATION-RTN 085400 THRU B320-EXIT. 085500 B300-EXIT. 085600 EXIT.
087400***************************************************************** 087500* THIS PART DOES THE FOLLOWING * 087600* TAKES INPUT OF LOAN DETAILS * 087700***************************************************************** 087800 B311-SEND-LOAN-RTN. 087900 PERFORM B111-ERR-RTN 088000 THRU B111-EXIT. 088100 PERFORM B112-RECEIVE-RTN 088200 THRU B112-EXIT. 088300 IF FLP-VALIDATION-OK 088400 PERFORM E100-VALIDATE-LOAN-DTLS-RTN 088500 THRU E100-EXIT 088600 END-IF. 088700 B311-EXIT. 088800 EXIT.
Function 3What it does….
• Selects last generated customer number from database
• Generates new customer number
• Updates in the database
• Creates new loan record and inserts into database
• Display New Generated customer number
Once customer confirms LOAN DETAILS..
Function 3Continued….
100400***************************************************************** 100500* THIS PART DOES THE FOLLOWING * 100600* INSERTS RECORD IN APP-MASTER TABLE * 100700***************************************************************** 100800 B400-INSERTION-RTN. 100900 PERFORM B410-SELECT-LAST-CUST-NUM 101000 THRU B410-EXIT. 101100 PERFORM B420-GENERATE-CUST-NUM 101200 THRU B420-EXIT. 101300 PERFORM B430-CHECK-CUST-NUM 101400 THRU B430-EXIT. 101500 IF FLP-CUST-NUM-VALID 101600 PERFORM B440-UPDATE-CUST-NUM-GENR 101700 THRU B440-EXIT 101800 IF FLP-CUST-NUM-VALID 101900 PERFORM B450-INSERT-APP-DETAILS 102000 THRU B450-EXIT 102100 END-IF 102200 END-IF. 102300 IF FLP-CUST-NUM-INVALID
102400 SET FLP-RETURN-YES TO TRUE 102500 PERFORM B111-ERR-RTN 102600 THRU B111-EXIT 102700 PERFORM B112-RECEIVE-RTN 102800 THRU B112-EXIT102900 END-IF. 103000 B400-EXIT. 103100 EXIT.
RoutinesWhat Its Do….
Date Routine Rate Routine
• VP – Validate a date (Date should be
• VP – Validate a date (Date should be valid and less than equal to current date).
• FD – Calculate a future date (For a given date and number of months).
• DF – Difference between 2 dates (In months and Years).
less than equal to current date).
• VP – Validate a date (Date should be
• R – Calculates Max Loan Amount
• Max Loan Amt = [(5 * Salary/month)*(55-Age)] + [0.3 * Assets Value].
• E – Calculates EMI.
• X = Loan Amount + {Loan Amount * n/12 * r}
• EMI = X/n.
DFD
User Input
User Input
User Input
Invalid Input
Invalid Input
Invalid Input
Result
Calculate Max Loan Amount
Result
Calculate Age
Result
Calculate EMI
EMI
Latest
Cust No
Update Cust No
Insert New Loan
Record
Invalid Input
Valid Input
Output
Check
DOB
1.0
Personal and Rating
Details
1.3
Loan Details
1.2
Rating Routine
1.1
Date Routine
CUST_NUM_GENR
1.4
Confirm Loan
Details
APP_MSTR
User
DB2 Tables
FIELD NAME PIC VALUE REMARKS
CUST_NUM X(10) Primary Key
APP_FIRST_NAME X(20) Not Null
APP_LAST_NAME X(20) Not Null
APP_ADDR_LINE1
X(30) Not Null
APP_ADDR_LINE2
X(30)
APP_PIN 9(06) Not Null
APP_SRC_CODE
X(02) Not Null
APP_DOB X(10) Not Null
APP_LOAN_AMT
9(07).9(02) Not Null
APP_REPAY_PERIOD
9(04) COMP Not Null
APP_EMI_AMT 9(06).9(02) COMP-3
Not Null
APP_LOAN_DATE X(10) Not Null
APP_LOAN_STAT X(01) Not Null
FIELD NAME PIC VALUE REMARKS
CUST_NUM
X(10) Primary Key
CUST_NUM_TSP
X(26) Not Null
CICS
Send Map
047200*****************************************************************047300* THIS PART DOES THE FOLLOWING * 047400* UNPROTECTS CONFIRMATION FIELD *047500***************************************************************** 047600 C200-UNPROTECT-CONFIRMATION. 047700 MOVE DFHBMPRO TO FNMDFA. 047800 MOVE DFHBMPRO TO LNMDFA. 047900 MOVE DFHBMPRO TO AD1DFA. 048000 MOVE DFHBMPRO TO AD2DFA. 048100 MOVE DFHBMPRO TO PINDFA. 048200 MOVE DFHBMPRO TO SCDDFA. 048300 MOVE DFHBMPRO TO DOBDFA. 048400 MOVE DFHBMPRO TO SLRYDFA. 048500 MOVE DFHBMPRO TO ASVLDFA. 048600 MOVE DFHBMPRO TO CFDTDFA. 048700 MOVE DFHBMPRO TO LAMTDFA. 048800 MOVE DFHBMPRO TO RAMTDFA. 048900 MOVE DFHBMPRO TO EMIDFA. 049000 MOVE DFHBMUNP TO CLNDFA. 049100 C200-EXIT. 049200 EXIT.
Error Codes001 PLEASE ENTER PERSONAL AND RATING DETAILS & PRESS ENTER
002 FIRST NAME CANNOT BE BLANK OR NUMERIC
003 LAST NAME CANNOT BE BLANK OR NUMERIC
004 INVALID ADDRESS – PLEASE CHECK
005 INVALID PIN – PLEASE CHECK
006 INVALID SOURCE CODE – PLEASE CHECK
007 INVALID DOB – PLEASE CHECK
008 INVALID DAY – PLEASE CHECK
009 INVALID MONTH – PLEASE CHECK
010 INVALID YEAR – PLEASE CHECK
011 INVALID AMOUNT – PLEASE CHECK
012 CONFIRM RATING DETAILS SHOULD BE ‘Y’
013 PLEASE ENTER LOAN DETAILS AND PRESS ENTER
014 ENTER ‘Y’ TO CONFIRM LOAN OR ENTER NEW LOAN DETAILS TO RECALCULATE EMI
015 CONFIRM LOAN DETAILS SHOULD BE ‘Y’ OR ‘N’ OR ‘ ‘
016 LOAN AMOUNT CANNOT BE GREATER THAN MAX LOAN AMOUNT
017 REPAYMENT PERIOD SHOULD BE BETWEEN/INCLUDING 6 - 240
018 DETAILS UPDATED.THANK YOU. HAVE A NICE DAY!
019 INVALID KEY PRESSED. ENTER/PF3/CLEAR – VALID KEYS
020 GOOD BYE…HAVE A NICE DAY!
021 AGE CANNOT BE MORE THAN 50 YRS OR LESS THAN 18 YEARS
022 SORRY, LOAN CANNOT BE ISSUED
025 SEPERATOR SHUOLD BE ‘-‘
027 CRITICAL ERROR. INVALID FUNCTION – PLEASE CHECK
Err
or
Co
de
s