4. Stable
Backward
Compatible
Reliable
Since 1960s
Secure Never Hacked
Mainframe
Some 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.
9. Function 1
Validations….
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
10. Function 1
What 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
11. Function 1
Continued….
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-RTN
030800 THRU B111-EXIT.
030900 PERFORM B112-RECEIVE-RTN
031000 THRU B112-EXIT.
031100 IF FLP-VALIDATION-OK
031200 PERFORM B113-VALIDATE-CUST-DTLS-RTN
031300 THRU B113-EXIT
031400 END-IF.
031500 B110-EXIT.
031600 EXIT.
12. Function 2
Validations….
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
13. Function 2
What it does….
• Validates each fields
• Throws the map if anytime
validation fails
• Calls to RATE ROUTINE to
calculate EMI
• Validates EMI
14. Function 2
Continued….
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.
15. Function 3
What 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..
16. Function 3
Continued….
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-EXIT
102900 END-IF.
103000 B400-EXIT.
103100 EXIT.
17. Routines
What 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.
19. 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
20. 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.
21. Error Codes
001 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