Focuses on TCOs 1 and 4. TCO 1, in some ways, fits with every week, since the basics of every programming language have several commonalities - even if their syntax rules do vary. Focuses on data validation, decision logic (which all languages utilize), and using subprograms (which is also quite similar to calling a function or procedure done in other languages). TCO 4 is about coding and testing a program that validates the data, using exception handling and giving meaningful feedback to the user in a report.
Data is not always ready-to-use without doing some pretesting, or validation, first. We all know that GIGO (garbage in, garbage out) holds true in the world of information systems! To prevent data that does not meet a program's requirements from being used, a validation program will first test the data based on the specifications for those particular fields and the types of values they should contain.
The purpose of this iLab assignment is to validate a transaction file. The transaction file consists of adds, changes, and deletes. The output of this iLab consists of a report, which will list all the transactions, including asterisks below each field in which an error was found (exceptions). At the end of the report, the quantity of total valid records and total invalid records will be printed.
As part of this program, another file named Type-Table.dat will be read in to create an input loaded table. There are several tables used in this program, but they are already coded for you. Even though you do not have to write that code, please be observant of how the tables are coded and processed, because that will help you next week when we study tables and table lookups in depth.
As something else new, this program will use string processing, which was introduced in Week 3 (on pages 237-240 in Chapter 9) as another way to format the report heading line.
But primarily, this program will test for data errors/exceptions and create the validation detail report, and it will also write the good records to another separate file. This file will be the "valid transaction file." The last iLab in this class will take a valid transaction file as input and will use its records to update the Zoo master file.
For this iLab, you will be provided with a program shell. This means that this program compiles and runs, except that it doesn't validate anything yet. Your job will to add the validation paragraphs. These will be the paragraphs that use decision structures, and condition-names, to validate the input data. Also as part of this program is a subprogram (Chapter 16) that is called from the main program to do a "check digit" Modulus 11 test.
You will see a COPY statement (Chapter 16, pages 479-480) for the first time in this program, too, so that you can learn how very easy (and effective) this technique is!
You will be provided with a transaction file to test your program with, as well as the subprogram, copybook file, and more. Your job will be to add the decision logic to test the data as described in the provided iLab instructions. The other steps have been coded for you in advance so that you can focus on coding the IF statements and EVALUATE statements.