Spaces:
Sleeping
Sleeping
File size: 1,860 Bytes
94c017d 5866e22 9248d35 5866e22 94c017d 5866e22 9248d35 94c017d 5866e22 9248d35 5866e22 9248d35 94c017d 9248d35 5866e22 9248d35 94c017d 9248d35 94c017d 9248d35 5866e22 9248d35 94c017d 9248d35 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
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) |