My main problems are at the end starting with 200-PROCESS-REMINDER AND IN-DATE-O
ID: 3804653 • Letter: M
Question
My main problems are at the end starting with 200-PROCESS-REMINDER AND IN-DATE-OF-LAST-ENROLLMENT it is saying that these are undefined. Help would be greatly appreciated. Thanks
My program that I have so far:
IDENTIFICATION DIVISION.
PROGRAM-ID. JohnsonBA2.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT REGISTRATION-MASTER ASSIGN TO 'registrations.dat'
ORGANIZATION IS LINE SEQUENTIAL.
SELECT REMINDER-NOTICES ASSIGN TO 'JohnsonBA2.RPT'
ORGANIZATION IS LINE SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD REGISTRATION-MASTER.
01 IN-STUDENT-REC.
05 IN-STUDENT-ID PIC X(9).
05 IN-STUDENT-NAME.
10 IN-FIRST-NAME PIC X(15).
10 IN-MIDDLE-INITIAL-NAME PIC X(1).
10 IN-LAST-NAME PIC X(15).
05 DATE-OF-BIRTH.
10 DOB-YEAR PIC 9(4).
10 DOB-MONTH PIC 9(2).
10 DOB-DAY PIC 9(2).
05 IN-MAILING-ADDRESS.
10 IN-ADDRESS1 PIC X(20).
10 IN-ADDRESS2 PIC X(20).
10 IN-CITY PIC X(15).
10 IN-STATE PIC X(2).
10 IN-ZIP PIC X(9).
05 IN-ACADEMIC-PROGRAM PIC X(20).
05 IN-ACADEMIC-LEVEL PIC X(20).
05 IN-CLASS PIC X(10).
05 IN-CREDITS-COMPLETED PIC X(5).
05 IN-DATE-LAST-ENROLLMENT.
10 IN-DOLE-YEAR PIC 9(4).
10 IN-DOLE-MONTH PIC 9(2).
10 IN-DOLE-DAY PIC 9(2).
05 SEND-NOTICE PIC 9(1).
FD REMINDER-NOTICES.
01 OUT-NOTICES.
05 OUT-STUDENT-ID PIC X(9).
05 OUT-STUDENT-NAME.
10 OUT-FIRST-NAME PIC X(15).
10 OUT-MIDDLE-INITIAL-NAME PIC X(1).
10 OUT-LAST-NAME PIC X(15).
05 OUT-MAILING-ADDRESS.
10 OUT-ADDRESS1 PIC X(20).
10 OUT-ADDRESS2 PIC X(20).
10 OUT-CITY PIC X(15).
10 OUT-STATE PIC X(2).
10 OUT-ZIP PIC X(9).
05 OUT-DATE-LAST-ENROLLMENT.
10 OUT-DOLE-YEAR PIC X(4).
10 OUT-DOLE-MONTH PIC X(2).
10 OUT-DOLE-DAY PIC X(2).
WORKING-STORAGE SECTION.
01 WS-WORK-AREAS.
05 MORE-RECORDS PIC X(1) VALUE "Y".
PROCEDURE DIVISION.
*100-MAIN-MODULE - CONTROLS OPENING AND CLOSING FILES
*AND DIRECTION OF THE PROGRAM LOGIC; RETURNS CONTROL TO THE
*OPERATING SYSTEM.
100-MAIN-MODULE.
OPEN INPUT REGISTRATION-MASTER
OUTPUT REMINDER-NOTICES
PERFORM UNTIL MORE-RECORDS = "N"
READ REGISTRATION-MASTER
AT END
MOVE "N" TO MORE-RECORDS
NOT AT END
PERFORM 200-PROCESS-REMINDERS
END-READ
END-PERFORM
CLOSE REGISTRATION-MASTER
REMINDER-NOTICES
STOP RUN.
*200-PROCESS-REMINDER - PERFORMED FROM 100-MAIN-MODULE
*CHECKS THE VALUE OF THE FIELD SEND-NOTICE AND WHEN IT IS "Y"
*MOVES THAT REGISTRATION RECORD TO NOTICES AND WRITES RECORD.
200-PROCESS-REMINDER.
* IF SEND-NOTICE = "Y"
MOVE IN-STUDENT-ID TO OUT-STUDENT-ID
MOVE IN-STUDENT-NAME TO OUT-STUDENT-NAME
MOVE IN-MAILING-ADDRESS TO OUT-MAILING-ADDRESS
MOVE IN-DATE-LAST-ENROLLMENT TO OUT-DATE-LAST-ENROLLMENT
WRITE OUT-NOTICES.
* END-IF.
Field Size Type
STUDENT ID 9 Alphanumeric
STUDENT NAME
FIRST NAME 15 Alphanumeric
MIDDLE INITIAL 1 Alphanumeric
LAST NAME 15 Alphanumeric
DATE OF BIRTH
YEAR 4 Numeric
MONTH 2 Numeric
DAY 2 Numeric
MAILING ADDRESS
ADDRESS LINE 1 20 Alphanumeric
ADDRESS LINE 2 20 Alphanumeric
CITY 15 Alphanumeric
STATE 2 Alphanumeric
ZIPCODE 9 Alphanumeric
ACADEMIC PROGRAM 20 Alphanumeric
ACADEMIC LEVEL 20 Alphanumeric
CLASS 10 Alphanumeric
CREDITS COMPLETED 5 Alphanumeric
DATE OF LAST ENROLLMENT
YEAR 4 Numeric
MONTH 2 Numeric
DAY 2 Numeric
SEND NOTICE 1 Alphanumeric
REGISTRATION-MASTER Record Layout
Figure 1: REGISTRATION-MASTER Record
LayoutFigure 1: REMINDER-NOTICES Record Layout
1. Add a comment describing the purpose of the program.
2. The PROGRAM-ID section of the ENVIRONMENT DIVISION must be written as
LastnameFirstinitialA2 (e.g., BasilioEA2).
3. Add comments to provide the required class identification information.
Note: The checklist that will be used to evaluate this assignment can be found in the Course
Documents section (A2Feedback.pdf).
Field Size Type
STUDENT ID 9 Alphanumeric
STUDENT NAME
FIRST NAME 15 Alphanumeric
MIDDLE INITIAL 1 Alphanumeric
LAST NAME 15 Alphanumeric
MAILING ADDRESS
ADDRESS LINE 1 20 Alphanumeric
ADDRESS LINE 2 20 Alphanumeric
CITY 15 Alphanumeric
STATE 2 Alphanumeric
ZIPCODE 9 Alphanumeric
DATE OF LAST ENROLLMENT
YEAR 4 Numeric
MONTH 2 Numeric
DAY 2 Numeric
REMINDER-NOTICES Record Layout
Explanation / Answer
It is mainly because of Error in the names of Procedure when it is defined and when it is called.
In 100-MAIN-MODULE the procedure name specified with PERFORM statement is 200-PROCESS-REMINDERS.
But the procedure is actually defined and created with the name 200-PROCESS-REMINDER. There is a difference of letter ‘S’ between the Procedure Name with PERFORM and Procedure Name where it is actually defined.
Because of this difference error is coming as for COBOL compiler both are different Procedures. With PERFORM statement, COBOL compiler could not find the specified Procedure Name (because of the ‘S’) and hence give the error.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.