Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- * JLU Record Filing Program v0.0.1a
- * Description: This program is for entering and displaying data to/from a file on JLU members.
- *23456789 - column numbers
- IDENTIFICATION DIVISION.
- PROGRAM-ID. JLU-Record-Filing.
- AUTHOR. Dick Stallman.
- ENVIRONMENT DIVISION.
- DATA DIVISION.
- FILE SECTION.
- WORKING-STORAGE SECTION.
- 01 Cmd PIC X. *> The variable to store command input
- 01 JLU-Member-Database.
- 02 Number-Of-Records PIC 999 USAGE IS BINARY. *> Number of records to enter
- 02 Current-User-Number PIC 999 USAGE IS BINARY VALUE 0. *> The current user record being entered/displayed
- 02 JLU-Member-Record OCCURS 0 TO 100 TIMES DEPENDING ON Number-Of-Records INDEXED BY Member-Pointer. *> Individual records, since OCCURS cannot work with 01/77/66 or 88 level numbers
- 03 User-Num PIC 999 USAGE IS BINARY VALUE 0. *> Unique number for the current record in the table
- 03 Second-Life-Data.
- 04 SL-UUID PIC X(8)-X(4)-X(4)-X(4)-X(12) VALUE "00000000-0000-0000-0000-000000000000".
- 04 SL-First-Name PIC X(31).
- 04 SL-Last-Name PIC X(31).
- 04 SL-Birth-Date PIC 99/99/9999 VALUE "00/00/0000".
- 04 SL-Rank PIC X(25). *> Position of power
- 04 SL-Partner.
- 05 SL-Partner-First-Name PIC X(31).
- 05 SL-Partner-Last-Name PIC X(31).
- 03 Real-Life-Data.
- 04 RL-First-Name PIC A(20).
- 04 RL-Last-Name PIC A(20).
- 04 RL-Age PIC 999.
- 04 RL-Birth-Date PIC 99/99/9999 VALUE "00/00/0000".
- 04 RL-Occupation PIC X(25).
- 04 RL-Location.
- 05 Country PIC X(20).
- 05 State-Prov PIC X(20).
- 05 ZIP-Postal PIC X(6). *> Zip or Postal code
- 05 Street-Address PIC X(20).
- 02 Online-Record OCCURS 0 TO 100 TIMES DEPENDING ON Number-Of-Records INDEXED BY Member-Pointer.
- 03 Number-Of-Entries PIC 999 USAGE IS BINARY.
- 03 Online-Entry OCCURS 500 INDEXED BY Online-Pointer.
- 04 Date-Logged PIC 99/99/9999.
- 04 Hours-Online PIC 999.
- * -------------------------------------------------------------------
- * MAIN SUBROUTINE
- * -------------------------------------------------------------------
- PROCEDURE DIVISION.
- *> Two carriage returns before displaying anything
- DISPLAY "".
- DISPLAY "".
- PERFORM InputCmd. *> Ask for input
- *> DISPLAY UUID OF Second-Life-Data OF JLU-Member-Record(1).
- STOP RUN.
- * END OF PROGRAM
- * ------------------------------------------------------------------
- * SUB-ROUTINES
- * ------------------------------------------------------------------
- *> InputCmd will ask for a one character long input that performs different commands
- InputCmd.
- DISPLAY "Input command: " WITH NO ADVANCING.
- ACCEPT Cmd.
- IF Cmd = "i" OR "I" *> Command for entering records
- PERFORM EnterRecords
- ELSE
- IF Cmd = "d" OR "D" *> Command for displaying records
- PERFORM DisplayRecords
- .
- IF Cmd = "x" OR "X" *> Command for exiting the program
- DISPLAY "Exiting...".
- STOP RUN.
- .
- *> EnterRecordS will ask all data required for entering a record
- EnterRecords.
- DISPLAY "Enter number of records: " WITH NO ADVANCING.
- ACCEPT Number-Of-Records OF JLU-Member-Database.
- DISPLAY "Entering " Number-Of-Records OF JLU-Member-Database " records...".
- PERFORM Number-Of-Records OF JLU-Member-Database TIMES
- ADD 1 TO Current-User-Number
- MOVE Current-User-Number OF JLU-Member-Database TO User-Num OF JLU-Member-Record(Current-User-Number)
- *> SECOND LIFE DATA
- *> Avatar UUID
- DISPLAY "Entry #" Current-User-Number " -- Enter Second Life Avatar UUID: " WITH NO ADVANCING
- ACCEPT SL-UUID OF JLU-Member-Record(Current-User-Number)
- *> SL First Name
- DISPLAY "Entry #" Current-User-Number " -- Enter Second Life First Name: " WITH NO ADVANCING
- ACCEPT SL-First-Name OF JLU-Member-Record(Current-User-Number)
- *> SL Last Name
- DISPLAY "Entry #" Current-User-Number " -- Enter Second Life Last Name: " WITH NO ADVANCING
- ACCEPT SL-Last-Name OF JLU-Member-Record(Current-User-Number)
- *> SL Birthdate
- DISPLAY "Entry #" Current-User-Number " -- Enter Second Life Birthdate (Format: xx/xx/xxxx): " WITH NO ADVANCING
- ACCEPT SL-Birth-Date OF JLU-Member-Record(Current-User-Number)
- *> SL Rank
- DISPLAY "Entry #" Current-User-Number " -- Enter Second Life Rank: " WITH NO ADVANCING
- ACCEPT SL-Rank OF JLU-Member-Record(Current-User-Number)
- *> SL Partner
- DISPLAY "-- Do they have a Second Life Partner? (y/n): " WITH NO ADVANCING
- ACCEPT Cmd
- IF Cmd = "y" OR "Y"
- DISPLAY "Entry #" Current-User-Number " -- Second Life Partner First Name: " WITH NO ADVANCING
- ACCEPT SL-Partner-First-Name OF JLU-Member-Record(Current-User-Number)
- DISPLAY "Entry #" Current-User-Number " -- Second Life Partner Last Name: " WITH NO ADVANCING
- ACCEPT SL-Partner-Last-Name OF JLU-Member-Record(Current-User-Number)
- END-IF
- *> REAL LIFE DATA
- *> RL First Name
- DISPLAY "Entry #" Current-User-Number " -- Enter Real Life First Name: " WITH NO ADVANCING
- ACCEPT RL-First-Name OF JLU-Member-Record(Current-User-Number)
- *> RL Last Name
- DISPLAY "Entry #" Current-User-Number " -- Enter Real Life Last Name: " WITH NO ADVANCING
- ACCEPT RL-Last-Name OF JLU-Member-Record(Current-User-Number)
- *> RL Age
- DISPLAY "Entry #" Current-User-Number " -- Enter Real Life Age: " WITH NO ADVANCING
- ACCEPT RL-Age OF JLU-Member-Record(Current-User-Number)
- *> RL Birthdate
- DISPLAY "Entry #" Current-User-Number " -- Enter Real Life Birthdate (Format: xx/xx/xxxx): " WITH NO ADVANCING
- ACCEPT RL-Birth-Date OF JLU-Member-Record(Current-User-Number)
- *> RL Occupation
- DISPLAY "Entry #" Current-User-Number " -- Enter Real Life Occupation: " WITH NO ADVANCING
- ACCEPT RL-Occupation OF JLU-Member-Record(Current-User-Number)
- *> RL Country
- DISPLAY "Entry #" Current-User-Number " -- Enter Country: " WITH NO ADVANCING
- ACCEPT Country OF JLU-Member-Record(Current-User-Number)
- *> RL State/Province
- DISPLAY "Entry #" Current-User-Number " -- Enter State/Province: " WITH NO ADVANCING
- ACCEPT State-Prov OF JLU-Member-Record(Current-User-Number)
- *> RL ZIP/Postal Code
- DISPLAY "Entry #" Current-User-Number " -- Enter ZIP/Postal Code: " WITH NO ADVANCING
- ACCEPT ZIP-Postal OF JLU-Member-Record(Current-User-Number)
- *> RL Street Address
- DISPLAY "Entry #" Current-User-Number " -- Enter Street Address: " WITH NO ADVANCING
- ACCEPT Street-Address OF JLU-Member-Record(Current-User-Number)
- DISPLAY ""
- DISPLAY "Record #" Current-User-Number " Complete!"
- *> Display two carriage returns before entering the next record
- DISPLAY ""
- DISPLAY ""
- END-PERFORM.
- *> DisplayRecords will display records
- DisplayRecords.
- DISPLAY "Displaying records".
- * EOF
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement