Spaces:
Sleeping
Sleeping
IDENTIFICATION DIVISION. | |
PROGRAM-ID. LOAN-MGMT. | |
ENVIRONMENT DIVISION. | |
INPUT-OUTPUT SECTION. | |
FILE-CONTROL. | |
SELECT LOAN-FILE ASSIGN TO "data/loans.csv" | |
ORGANIZATION IS LINE SEQUENTIAL. | |
DATA DIVISION. | |
FILE SECTION. | |
FD LOAN-FILE | |
RECORDING MODE F | |
LABEL RECORDS ARE STANDARD. | |
01 LOAN-RECORD PIC X(1024). | |
WORKING-STORAGE SECTION. | |
01 EOF PIC X VALUE 'N'. | |
01 WS-LOAN-ID PIC X(10). | |
01 WS-ACCOUNT-ID PIC 9(4). | |
01 WS-AMOUNT PIC 9(7)V99. | |
01 WS-RATE PIC 9V99. | |
01 WS-STATUS PIC X(20). | |
LINKAGE SECTION. | |
01 LS-ACTION PIC X(10). | |
01 LS-DATA PIC X(1024). | |
PROCEDURE DIVISION USING LS-ACTION LS-DATA. | |
MAIN-LOGIC. | |
EVALUATE LS-ACTION | |
WHEN "READ" | |
PERFORM READ-LOANS | |
WHEN "CREATE" | |
PERFORM CREATE-LOAN | |
END-EVALUATE | |
GOBACK. | |
READ-LOANS. | |
OPEN INPUT LOAN-FILE | |
PERFORM UNTIL EOF = 'Y' | |
READ LOAN-FILE INTO LOAN-RECORD | |
AT END MOVE 'Y' TO EOF | |
NOT AT END | |
DISPLAY LOAN-RECORD | |
END-READ | |
END-PERFORM | |
CLOSE LOAN-FILE. | |
CREATE-LOAN. | |
OPEN EXTEND LOAN-FILE | |
WRITE LOAN-RECORD FROM LS-DATA | |
CLOSE LOAN-FILE | |
UNSTRING LS-DATA DELIMITED BY "," INTO | |
WS-LOAN-ID, | |
WS-ACCOUNT-ID, | |
WS-AMOUNT, | |
WS-RATE, | |
WS-STATUS | |
END-UNSTRING | |
CALL "LOG-TRANSACTION" USING | |
FUNCTION TRIM("Loan created: " & | |
WS-LOAN-ID & | |
" for account " & | |
WS-ACCOUNT-ID) |