CobolBanking / cobol /account.cbl
puffy310's picture
Update cobol/account.cbl
9248d35 verified
IDENTIFICATION DIVISION.
PROGRAM-ID. ACCOUNT-MGMT.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT ACCOUNT-FILE ASSIGN TO "data/accounts.csv"
ORGANIZATION IS LINE SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD ACCOUNT-FILE
RECORDING MODE F
LABEL RECORDS ARE STANDARD.
01 ACCOUNT-RECORD PIC X(1024).
WORKING-STORAGE SECTION.
01 EOF PIC X VALUE 'N'.
01 WS-ACCOUNT-NUMBER PIC 9(4).
01 WS-NAME PIC X(30).
01 WS-BALANCE PIC 9(6)V99.
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-ACCOUNT
WHEN "CREATE"
PERFORM CREATE-ACCOUNT
END-EVALUATE
GOBACK.
READ-ACCOUNT.
OPEN INPUT ACCOUNT-FILE
PERFORM UNTIL EOF = 'Y'
READ ACCOUNT-FILE INTO ACCOUNT-RECORD
AT END MOVE 'Y' TO EOF
NOT AT END
DISPLAY ACCOUNT-RECORD
END-READ
END-PERFORM
CLOSE ACCOUNT-FILE.
CREATE-ACCOUNT.
OPEN EXTEND ACCOUNT-FILE
WRITE ACCOUNT-RECORD FROM LS-DATA
CLOSE ACCOUNT-FILE
UNSTRING LS-DATA DELIMITED BY "," INTO
WS-ACCOUNT-NUMBER,
WS-NAME,
WS-BALANCE
END-UNSTRING
CALL "LOG-TRANSACTION" USING
FUNCTION TRIM("Account created: " &
WS-ACCOUNT-NUMBER &
" - " & WS-NAME)