DEVICE and DATA FILES: Data sets are objects too. The data base(s) on the AS/400 are divided into so called physical FILES, for want of a better word. Data FILES can be broken MEMBERS for management purposes, but this is not necessary. Typically, if u have more than one type of record in a dataset, you put one type in one file member and another in the other file member in order to keep track of them. “Physical” here means real, live data. This definition is important, because in the AS/400 literature the word FILE is used for many different things.
It is a generic word meaning format: The description on the fields of data in a recorder is called a record format, but the congregation of this records-not the data, but the type of format for it-is called a PHYSICAL FILE. Then is the LOGICAL FILE, which takes an entire chapter to describe. Logical file is just a view of data. The AS/400 describes database formats as files. It also calls the devise tables that define how data should be input or output as DEVICE FILES.
The editing, sequencing, data checking, and so forth, that needs to be done, says to display output to make it presentable to the terminal operator, and is called a Device Files (presentation management). DEVICE DESCRIPTION is the AS/400 term used to define the fixed, hardware-oriented information the system will use to physically control the device. The Device Files uses the Device description to get the data to and from the hardware device. Another file is the remote system file, called the DISTRIBUTED DATA FILE (DDM). In summary, the AS/400 thinks of databases, devices, and other system as FILES.
You define to your system Files that become the doorways to whatever resources you need to talk to or see. You define this file to your system, not to your program, using DDS, a special data definition language. These definitions then go into your system library, to be used by running programs that need to talk to these resources in the manner you prescribe in the DDS. Here is an illustration of the relationship among Data manager, data, programs, and Access Paths. The system Data Manager: You may create more than one set of DDS for many resources (data type, device type).
The data presentation definition is called LOGICAL FILE; the device presentation definition is called a DEVICE FILE. These “files” are objects, managed by the system the Data Manager. You merely name the system-defined File through which you plan to manipulate your data. The Data Manager will connect your program to the file at run time, feeding data to the program when the data and the program are ready for each other, taking into consideration the priorities of both, the priorities of other system user of the same resources, and other resources necessary to make the transaction work.
If you need more files than are supplied by IBM you can define, create, use, and delete them through system’s DDS language combined with the command language, CL. To simplify things there is an interactive menu- driven utility called IDDU ( Interactive Data Definition Utility ), which you can allow your novice programmers to use for this purpose. IDDU is a fill-in-the-blanks menu-driven utility that protects the user from mistakes. DEVICE DESCRIPTIONS: You need to set up one DEVICE DESCRIPTION per hardware device attached to the CPU.
For remote teleprocessing lines this translates into three: for controller, line, and end data receiver. You may define as many Device Files as you wish- one for every format method you will regularly use for input and out put. Device files have attributes, such as “spooling”, invisible to the program that you may want to use. If the Data Manager uses such a file with your program, it will hide the data in a special interim file until the device is ready for input or output or both, depending upon your program needs.
CREATING FILES: The CL command to create a File is CRT …, where “… ” is filled in by the file type abbreviation. This rather high level “assembler” type language expands into the real machine level language, which on the AS/400 bears no resemblance to other systems’ machine languages. The AS/400 machine language is a higher level language then many compiler languages on current systems. For example, The CL command CRTPF (Create Physical File), explodes into a serious of machine instructions on the AS/400, as shown below: CL Command AS/400 machine instructions CTRPF Create Data Space Create Cursor.
Activate Cursor Create Data Space Index Ensure Data Space Entries Set Cursor Copy Data Space Entries Insert Data Space Entry Materialize Data Space Attributes Materialize Data Space Index Attributes …….. and more. Most present-day computers have instruction such as “Move binary bits left one bit”, hundreds of which the compiler programmer must manipulate which brute force logic to create for him the function he well used to manage data. On this system the instruction set was raised to the logical level needed to manage data and built into the hardware.
Besides providing easy logic for system programmers, the high level instruction set on the AS/400 eliminates hundreds of hours of debugging time because what use to be whole sequences of instructions on prior systems, on the AS/400 becomes one already debugged hardware instruction. In addition, this instruction cannot work in a deleterious fashion with one another. They are like meshed gears that will not work if one is missing and will always fit together when all are in place. One of the pleasant results of this is that “high level” language compiler (COBOL, PL/I, PASCAL, and the like) are cheap and easy to add to the system.
Whole routines underneath the language statement in former system are single AS/400 instructions or, at best, a few. Witness the number of language you have to choose from. SPECIFICATIONS FOR DATA FORMAT, DEVICE DESCRIPTIONS, AND LOGICAL DATA: The CREATE A FILE CL command, applied via the IDDU utility or DDS (Data Description Specifications), creates a file Description table and defines a path to the data, be it in-house or remote (by DDM-Distributed Data Management). It delimits what you will be able to do on this file from your program.
The operating system will deny you data access that is not explicitly defined here. Thus, you will design into your system specific access to data for specific users. This kind of data control exists in no other system and is very difficult to program into older architected systems (and therefore is almost never done). It seems an obvious need today, but it is a major in most data base systems. The fulfillment of user needs on a system level is the great advantage of system being designed from the group up for data management.
Now many different programs/people can use the interface you have created. This is different from most other systems. They had you one or two predefined user interfaces, which you can only use the way system programmer designed then (most likely 20 years ago) because they are totally inflexible and ungrowable. Then you must send your users to school to learn how to use them. This, again, is a reflection of the architecture of past machines-they have to be heavily programmed to handle data interfaces from level and not data-oriented.
By defining logical files you set up Access Paths and reference tables that data management will use to bring you precisely the data you need in your program or on your display screen. As you can see, much of the work formerly done in your user program is now done by data management per year instructions in the file definition’s DDS statements. This makes these definitions both bug-free and reusable, decided productivity advantage for your programmers. FIELDS, RECORDS, AND FILES: A field on the AS/400 is the smallest unit of data, as you define it to the system that data management will handle for you as an individual entity.
A recorder is a set of fields that belong more with each other then with any other fields you define to the system. A record on the AS/400 is a relation “tuple”, for those of you who speak relational. A file is a formal set (as in set theory) of like records. When you define fields you define data shapes; when you define records and files you define structures to house the fields of data. THE DATA MANAGER: OS/400- The Operating System- OS/400, the soft ware operating system for the AS/400 machine, together with the hardware, does all data management.