CobolBanking / cobol /loan.cbl
puffy310's picture
Update cobol/loan.cbl
e975884 verified
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)