PREFACE This document is primarily intended to provide non-programmers with the information necessary to set-up and manage their own data base. The level of discussion assumes that the user has a basic understanding of the host operating system and is divided into 10 chapters: Chapter 1 contains general introductory information; Chapters 2 through 10 describe each component that comprises the CSSDBM system. It is strongly recommended that this document be read in its entirety before attempting to implement any portion of the CSSDBM system. NOTE CSSDBM runs on the DECsystem-10 and DECsystem-20, as all CSSDBM processing must occur on a disk type device. CHAPTER 1 INTRODUCTION 1.1 GENERAL DESCRIPTION CSSDBM is a general applications data processing system, written in COBOL, which enables the non-programmer to input and extract data. It is designed to handle many applications with one package of programs. Further, it employs the standard DEC "ISAM" (Indexed Sequential Access Mode) package, which provides a basically simple but efficient means of data storage with a very rapid data retrieval rate. Figure 1-1 provides the non-programmer with a basic understanding of data processing terms and concepts used in this manual. Page 1-2 Figure 1-1 - Basic Data Processing Terms Page 1-3 The normal course of events necessary to go from data input and storage to reporting on that data usually requires a minimum of two programs: 1. A program to take data entered on a terminal and store it on the disk, which also facilitates changes or updates to the file. 2. A program which selects, sorts and formats the data as a useful report. Figure 1-2 - CSSDBM Basic Data Flow Because CSSDBM was designed as a tool for users with little or no programming background, the system generates each program necessary to accomplish the required task (Figure 1-2). The generation of these programs are achieved by a simple question and answer dialog. There are two types of programs used in CSSDBM: Primary Programs Those programs which prompt (request) the information necessary to satisfy the requirement. Secondary Programs Those programs generated by the Primary programs which actually manipulate the data. Page 1-4 There are four Primary programs to CSSDBM: CSSDBW A program which asks for specific information to be stored, who is to gain access to this information, and an opportunity to request CSSDBM options. CSSTOT A program which asks for equations to be performed on each record in the file. CSSRPT A program which asks how the file data should be formatted, sorted and selected to satisfy a particular report requirement. CSSCNG A program which asks for a new record layout. It is used when the record's field arrangement changes. There are two Utility programs: DBMDMP Generates a listing of field names and field sizes. It also produces a report generation work sheet. CSSVLD Generates an optional file used by the data input program to test for certain character values. 1.2 SYSTEM FUNCTION AND FEATURES There are two general levels to this system. The first is used when the data base is initialized; the second is used by the standard Data Base Handler to input the data. Initialization is performed by the person who is responsible for the data: the system administrator. The system administrator must define fields of data and select all the basic parameters of the data base. He must also determine who is to gain access to the data and to what extent. Further, his responsibilities include report generation, creation of mathematical statistics, and physical field changes to the data base. The Data Base Handler is used by the terminal operator responsible for data input, its accuracy and updating functions. Page 1-5 CSSDBM allows the system user to create a COBOL source code program via a series of simple question and answer dialogs. Once the output program is created, compiled, loaded, and saved, it can be run as often as required. The user needs to only define the program once. Besides providing non-programmers with the skills to manage a data processing system, CSSDBM also minimizes the amount of time required to train data entry personnel. The on-line operation is exactly the same for one file as it is for another. Only the field prompting information, used by the data entry personnel, is different. 1.2.1 Unique Characteristics CSSDBM was developed as needs were presented, thus certain unique characteristics arose. These characteristics are discussed in the following paragraph and it is suggested that users be familar with them before creating any data base. CSSDBM is designed to run primarily on Digital video terminals. These are relativily high speed terminals lending to impressive record displays. As a record is updated, it is displayed in pages. A page is defined during the initial CSSDBW dialog and is completely controlled by the system administrator. The maximum record size is 4096 characters, which can be broken down into a maximum of 50 pages. Data placed on page zero can only be accessed by a user with the correct privilege. For this reason, page zero is a good place for statistical storage or proprietary sections of a record. 1.2.2 OVERLAY Feature Occasionally, situations may occur where certain items will be related to several other items. For example, a purchase order number may relate to several items on the purchase order. To avoid the redundency of inputting several records with the same purchase order number, simply place the purchase order number, vendor and other common data on one of the first pages of your record. The individual items and their related fields would then be placed on different pages: specifically, the last pages of your record which, as overlay pages, are exactly the same size and contain exactly the same fields. This situation is clearly illustrated in Chapters 2 and 3. Page 1-6 1.2.3 Key Field Within the data to be collected, there should be one field of information which is unique to distinguish one record from another. This field is defined as the KEY field. 1.2.4 Data Base Version Number An important CSSDBM feature to be aware of is the data base version number, which changes when the data base field definition or size is altered. When, and if, the system administrator makes such changes, he must also recreate the reports as their version number would no longer match the data base version number, and none of the CSSDBM programs would read the files correctly. Page 1-7 1.3 DATA BASE LAYOUT Before starting out, it is essential to prepare a list, similar to the format shown below, of information required to construct your data base. Number the fields sequentially, determine their names and sizes, decide if decimal places are wanted on numeric fields (and if so, how many). Leave Validation and Report Writer Output sections blank for now, but return and complete them as soon as you determine your requirements for them. (Refer to Chapters 4 and 9, respectively.) Next, establish a Key Field (Paragraph 1.2.3) and, finally, test your plan to the following limit rules of CSSDBM: 50 Pages maximum. 32 Characters per field. Refer to Chapter 3, 150 Total fields. Pages 3-4 & 3-5. 4096 Total characters in the record. NOTE: A photocopy of this page would prove invaluable to anyone constructing or changing a data base. Table 1-1 - Data Base Layout Page 1-8 1.4 CSSDBM EXAMPLE The following example contains sample items and their field character sizes which will be used throughout this document for demonstration purposes: FIELD FIELD PAGE FIELD DECIMAL VALIDATION: REPORT WRITER NO. NAME NO. SIZE PLACES (A, X, N, SP, OUTPUT: SPEC. CHAR.) (A, N, D) ----- ----- ---- ----- ------- ------------- ------------- 1. CREATION DATE 0 6 0 REFER REFER 2. ACCESS DATE 0 6 0 TO TO 3. ANNUAL SALARY 0 7 2 CHAPTER CHAPTER 4. TOTAL WEEKLY INS DED 0 5 2 4 9 5. BADGE NUMBER 1 5 0 6. LAST NAME 1 20 0 7. FIRST NAME 1 15 0 8. MIDDLE INITIAL 1 2 0 9. WAGE CLASS 1 1 0 10. COST CENTER 1 3 0 11. PHONE EXTENSION 1 5 0 12. HOURLY PAY RATE 1 4 2 13. MAIL STOP 1 3 0 14. LOCATION CODE 1 6 0 15. AUTO REGISTRATION 2 6 0 16. AUTO MAKE 2 10 0 17. REGISTRATION DATE 2 6 0 18. WEEKLY INSUR. DED. 2 5 2 NOTE In the above example, we have selected field number 5, "BADGE NUMBER", as the KEY field. Page 1-9 1.5 FILE LOOK-UP PATH SUGGESTIONS CSSDBM may reside almost anywhere on a particular system. It could be placed on device SYS, NEW, PUB etc., or it could be maintained within a particular PPN. This is totally at the discretion of the system proprietor. Once you determine where CSSDBM resides on your system, a great deal of time, confusion and redundancy can be saved by running a system program called SETSRC. SETSRC tells the monitor where to look for a file (such as a library) if that file is not in your user area. In the following example, [Proj,Prog] is the area on which CSSDBM resides. For more information on these procedures and other ways in which this can be done, consult your system proprietor. 1.5.1 SETSRC Example .R SETSRC *A /LIB:[PROJ,PROG] *^C CHAPTER 2 CSSDBM DATA BASE WRITER (CSSDBW) 2.1 GENERAL DESCRIPTION The CSSDBM program that creates the Data Base Handler is called CSSDBW. No additional files are required on your disk area; simply assign a three letter file code for your system such as "TST", which is used in the following example. Unless an ASCII sequential file already exists, CSSDBW will output the following files: DBMTST.FMT Variable data format file used by the CSSDBM programs. DBMTST.CBL Source program which, when compiled, loaded and saved, will become your Data Base Handler program. DBMTST.SEQ A temporary sequential file required by ISAM to create your indexed sequential file. Besides the creation of your data base, CSSDBW also performs two additional utility functions: 1. The changing of existing data base fields. 2. The updating of an existing data base to add future features of CSSDBM. 2.2 USE OF EXISTING DATA An existing data file can be converted into a CSSDBM data base if it is in 7-bit ASCII form and is sorted by the KEY field on disk. This is done by indicating at initialization time that you already have an existing sequential file. Page 2-2 2.3 CSSDBW INITIALIZATION There are three features to to be aware of during data base initialization: 1. On-line Validation. 2. Record Creation and Access Dates. 3. Data Base Audit Trail. 2.3.1 On-line Validation Because CSSDBM is a general purpose system, it is impractical to provide a sophisticated data editor as each record is input. However, it is possible to check each character for certain properties, represented by the following: A - Requires an alpha character. N - Requires a numeric character. X - Requires any alpha or numeric character. NOTE Any other character requires that the character of the same ASCII value be input. The On-line Validation feature will be explained in greater detail in Chapter 4, but you should be aware of the feature at this time. 2.3.2 Record Creation and Access Dates Another CSSDBM feature to be aware of at initialization time is the option to have the Record Creation Date placed in field number one, and the last Record Access Date placed in field number two by the Data Base Handler. Use of this option requires that fields one and two be six characters in length, respectively. The dates will have the standard YrMoDa format. Page 2-3 2.3.3 Data Base Audit Trail The Audit Trail option is available for those who wish to record all of the data base activity as it takes place. This feature is particularly useful when there are a number of personnel maintaining your data base, and the capability to monitor their activity is desireable. A detailed description of the Audit Trail is explained in Chapter 6. 2.4 INITIALIZATION DIALOG The following dialog represents the initialization of a data base using the sample data illustrated in Chapter 1. Each segment of information that CSSDBW prompts is followed by a colon; what follows the colon is the user's response. The first item requested is (NEW OR OLD). Since, in this example, we are creating a new data base, the word NEW is inserted. The program then requests a three character file code to distinguish one data base from another. This code becomes the last three letters of the file name for each file output by CSSDBW. The program now requests that the user indicate whether or not he has an existing sequential file. Following this response, the field definition loop is entered, which requests three items: 1. A twenty or less character prompt, or field name, is typed in. During data entry time, this prompt is displayed to the data entry person requesting that corresponding field of information. 2. The size of the field (32 characters maximum). 3. The number of assumed decimal places from the right most position of the field. A carriage return response to this question defaults to zero decimal places. Enter decimal positions in the numeric fields only; results are unpredictable otherwise. To exit from this routine, type "STOP" followed by a . NOTE If you intend to use overlay pages in your report, see "OVERLAY NOTES" just prior to Paragraph 2.10.1. Following that, return to Paragraph 2.4.1 to begin your data base construction. Page 2-4 2.4.1 Initialization Example .RUN CSSDBW CSS DATA BASE WRITER(V05) NEW OR OLD: NEW TYPE IN A 3 CHARACTER FILE CODE: TST DO YOU ALREADY HAVE A SEQUENTIAL FILE: NO 1...FIELD NAME: BADGE NUMBER ....SIZE OF FIELD: 5 ....NUMBER OF DECIMAL PLACES FROM RIGHT: 2...FIELD NAME: NAME ....SIZE OF FIELD: 25 ....NUMBER OF DECIMAL PLACES FROM RIGHT: 3...FIELD NAME: WAGE CLASS ....SIZE OF FIELD: 1 ....NUMBER OF DECIMAL PLACES FROM RIGHT: 4...FIELD NAME: COST CENTER ....SIZE OF FIELD: 3 ....NUMBER OF DECIMAL PLACES FROM RIGHT: 5...FIELD NAME: PHONE EXTENSION ....SIZE OF FIELD: 5 ....NUMBER OF DECIMAL PLACES FROM RIGHT: 6...FIELD NAME: HOURLY RATE ....SIZE OF FIELD: 4 ....NUMBER OF DECIMAL PLACES FROM RIGHT: 2 7...FIELD NAME: MAIL STOP ....SIZE OF FIELD: 3 ....NUMBER OF DECIMAL PLACES FROM RIGHT: 8...FIELD NAME: LOCATION CODE ....SIZE OF FIELD: 4 ....NUMBER OF DECIMAL PLACES FROM RIGHT: 9...FIELD NAME: AUTO REGISTRATION ....SIZE OF FIELD: 6 ....NUMBER OF DECIMAL PLACES FROM RIGHT: 10..FIELD NAME: AUTO MAKE ....SIZE OF FIELD: 10 ....NUMBER OF DECIMAL PLACES FROM RIGHT: 11..FIELD NAME: REGISTRATION DATE ....SIZE OF FIELD: 6 ....NUMBER OF DECIMAL PLACES FROM RIGHT: Page 2-5 12..FIELD NAME: WEEKLY INSUR. DED. ....SIZE OF FIELD: 5 ....NUMBER OF DECIMAL PLACES FROM RIGHT: 2 13..FIELD NAME: STOP 2.5 ACCESS CODES AND PRIVILEGES Once fields of information are defined, the next CSSDBW requirement is for the insertion of passwords and privileges necessary to gain data base access. Up to 28 different passwords of six characters or less may be entered at this time. With each password, the program will request a corresponding privilege code to be entered. A privilege code of "0" allows read only privileges of the data base. This may be useful if there is a need to gain access to the data, without making changes. A privilege code of "1" allows reading and writing of all information in the data base, except for fields on page zero. Issuance of this privilege is usually reserved for data entry personnel. A privilege code of "2" allows reading and writing (excluding page zero information) and report generation. Caution must be taken with the issuance of a privilege code of "3", since it allows maximum file access and extensive data base modification. At least one password with a "3" privilege code should be issued, generally to the system administrator, so that data base parameters may be changed. To break this loop when all desired passwords and privileges have been entered, type "STOP", followed by a . 2.5.1 Access Codes and Privileges Example USER'S NAME: SMITH <--------NOTE: Can be any six character THIS USER'S PRIVILEGES: 0 and/or number combination. USER'S NAME: JONES THIS USER'S PRIVILEGES: 1 USER'S NAME: HARRIS THIS USER'S PRIVILEGES: 2 USER'S NAME: COLE THIS USER'S PRIVILEGES: 3 USER'S NAME: STOP Page 2-6 2.6 PAGING The program now asks that the user determine the total number of pages required in the data base. NOTE Do not confuse data base pages with sequential page numbers found in the upper right-hand corner of reports, or of this manual. Since the program doesn't count Page zero (where Record Creation Date, Access Date, and other secure data would be located), the number entered is: one less than the total number of pages, with Page zero elected; the actual number of pages, without Page zero elected. Thus far, this data base does not contain a Page zero. The user then indicates which line (or field number) begins each page, as shown in the following example: 2.6.1 Paging Example IN THE FOLLOWING DIALOG TYPE IF SETTING IS OK OR A NEW NUMBER TO CHANGE IT. NUMBER OF PAGES: 0 : 1 TOP LINE OF PAGE 1 : 0 : 1 2.7 VALIDATION - CREATION/ACCESS DATES - AUDIT TRAIL If you desire the On-line Validation, Record Creation and Access Date or Audit Trail options, they are indicated at this time. You will also be required to type in your name, which will be written into the author's line of the COBOL source file. (Understand that this name request is in no way connected with the previous User's Name and Privileges dialog.) Because the system was designed to run on a video terminal having different screen sizes, you must also indicate what type of terminal you expect to use. Finally, you will be requested to type in the field number representing the KEY field, if the field the program selected is incorrect. Remember, this is the unique field in your data base used to distinguish one record from another. Page 2-7 2.7.1 Options Example DO YOU WANT ON-LINE VALIDATION (Y OR N) [ ]: NO DO YOU WANT RECORD CREATION + ACCESS DATES PLACED IN FIELDS 1 AND 2 RESPECTIVELY [ ]: NO DO YOU WANT AN AUDIT TRAIL: NO TYPE IN YOUR NAME: JOHN DOE TERMINAL TYPE TO BE USED (VT05, VT50, VT52, VT61, OTHER): VT52 KEY FIELD NUMBER IS: 0 : 1 2.8 ISAM PROMPTS CSSDBW now types out all your data base characteristics and the variable responses which will be required by the ISAM prompts. 2.8.1 ISAM Information Example SOURCE IS CALLED : DBMTSTCBL FORMAT IS CALLED : DBMTSTFMT VERSION NUMBER : 1 OVERLAY PAGE NO. : 0 I S A M R E S P O N S E S <---NOTE: Jot down on paper - - - - - - - - - - - - - and save for input ____ in Chapter 5. MAXIMUM RECORD SIZE: 77 KEY DESCRIPTOR: X 1. 5 TOTAL RECORDS PER DATA BLOCK: 64 TOTAL ENTRIES PER INDEX BLOCK: 64 EXIT Page 2-8 You should now have at least the following files in your directory; type DIR to verify. LIB:[PROJ, PROG] (See Paragraph 1.5) DBMTST.SEQ (Data Base Sequential File) DBMTST.FMT (Data Base Format File) DBMAUD.FMT (Audit Trail Format File) (If Audit Trail option selected.) DBMTST.CBL (Data Base COBOL File) If there are no updates (below), or changes due to mistakes (Paragraph 2-10), go to Chapter 3. 2.9 UPDATE To minimize the amount of inconvenience necessary to upgrade an existing data base with any newly released features of CSSDBM, simply execute an UPDATE operation with CSSDBW. This routine reads in all the characteristics of your data base Format file and writes out a new COBOL source file with all the new features included. However, this new source must be recompiled and saved (refer to Chapter 5, Paragraph 5.2). The UPDATE operation is also useful for recreating your COBOL source file, plus it allows you to elect data base options not previously selected. This includes the ability to select or de-select On-line Validation, update the Record Access and Creation Dates, and select or de-select the Audit Trail. When performing any function of CSSDBW other than the NEW function, you will be required to enter a password which must contain a privilege code of 3. Note that the version number does not change when using the UPDATE command. ___ The following example illustrates the addition of On-line Validation. 2.9.1 UPDATE Example .RUN CSSDBW CSS DATA BASE WRITER CSSDBW(V05) NEW OR OLD: OLD CHANGE OR UPDATE: UPDATE TYPE NAME OF FORMAT FILE: DBMTST PASSWORD: COLE DO YOU WANT ON- LINE VALIDATION (Y OR N) [N]: YES Page 2-9 DO YOU WANT RECORD CREATION + ACCESS DATES PLACED IN FIELDS 1 AND 2 RESPECTIVELY [N]: NO DO YOU WANT AN AUDIT TRAIL: NO TYPE IN YOUR NAME: JOHN DOE TERMINAL TYPE TO BE USED (VT05, VT50, VT52, VT61, OTHER): VT52 KEY FIELD NUMBER IS : 1 : SOURCE IS CALLED : DBMTSTCBL FORMAT IS CALLED : DBMTSTFMT VERSION NUMBER : 1 OVERLAY PAGE NO. : 0 I S A M R E S P O N S E S - - - - - - - - - - - - - MAXIMUM RECORD SIZE: 77 KEY DESCRIPTOR: X 1. 5 TOTAL RECORDS PER DATA BLOCK: 64 TOTAL ENTRIES PER INDEX BLOCK: 64 EXIT Note: If you've made a mistake, go to CHANGE, below. 2.10 CHANGE As with most business situations, the need for change is required. Ordinarily, drastically changing a data processing application is a long, complicated, and tedious task. Because of this, a provision was made to CSSDBM to completely rearrange your file layout and still retain your original data. NOTE If you are just building your data base and have not yet input any data, DO NOT run CSSCNG to correct __ ___ any errors you may have made. Rather, run CSSDBW, answering "Old" and "Change" to the first two questions the program asks you. The entire change transition consists of a six step operation: Page 2-10 1. CSSCNG Creates a program, via a dialog, to rearrange your data (Chapter 10). 2. CSSDBW CHANGE routine to make the same adjustments made in step 1 to your format file. 3. ISAM "Build" function (/B) to rebuild your new reformatted data base. 4. CSSVLD Recreates your Validation file, if that option was selected. 5. CSSTOT Recreates the arithmetic processor to correct version inconsistencies, if that option was selected. 6. CSSRPT Recreates the output reports to correct version inconsistencies. The second step of the CHANGE function requires a privilege code of three. It is assumed that the data base administrator only issues "3" privileges to those with enough responsibility and knowledge to physically change the entire structure of the data base. The five basic commands to the CHANGE routine of CSSDBW are: If OK as is. I To insert a new field name before the currently displayed field. D To delete the currently displayed field. O To overwrite the currently display field. F If all remaining fields are to stay the same. STOP To terminate the record at this point. OVERLAY To make all following overlay pages identical. In the following example, each of these commands are illustrated. Also illustrated is the option that automatically creates additional overlay pages (refer to Chapter 1) by a specified number to eliminate the redundancy of inputting fields of the same name on each overlay page. If your data base is configured for overlay page usage, execute the OVERLAY command any time you physically change your record format. Note that, in this example, in order to add fields beyond the last field, you must go to the last field, re-insert the last field and insert all new Page 2-11 fields to be appended to your record with the "I" command. When this is done, delete the redundant last field and you will be taken out of this loop. CSSDBW, by default, breaks from this loop when no more fields exist, thus the reason for this procedure. in the following example, RECORD CREATION DATE, RECORD ACCESS DATE, ANNUAL SALARY and TOTAL WEEKLY INS DED are all inserted before BADGE NUMBER. NAME is deleted and replaced with LAST NAME, FIRST NAME, and MIDDLE INITIAL. LOCATION CODE is overwritten to change the field size from 4 to 6 characters. Finally, six overlay pages are created. OVERLAY NOTES Initial Creation: During initial creation, the "OVERLAY" comand must be entered on the first field of the second overlay page. For an example, see the CSSDBM Data Base Format Dump in Chapter 3. "OVERLAY" would have been entered in place of "AUTO REGISTRATION" for line number 19, since line number 19 is the first field of the second overlay page: 19...FIELD NAME: OVERLAY. CHANGE Command: When using the "CHANGE" command, "OVERLAY" may be used any time during the field prompt modification. See "AUTO REGISTRATION" (line number 15) in the example below. Page 2-12 2.10.1 CHANGE Example .RUN CSSDBW CSS DATA BASE WRITER CSSDBW(V05) NEW OR OLD: OLD CHANGE OR UPDATE: CHANGE TYPE NAME OF FORMAT FILE: DBMTST PASSWORD: COLE IN THE FOLLOWING DIALOG ALL PROMPT INFORMATION AND FIELD SIZES WILL BE DISPLAYED TYPE IF OK AS IS I TO INSERT A NEW FIELD NAME BEFORE THE CURRENTLY DISPLAYED FIELD D TO DELETE THE CURRENTLY DISPLAYED FIELD O TO OVERWRITE THE CURRENTLY DISPLAYED FIELD F IF ALL REMAINING FIELDS ARE TO STAY THE SAME STOP TO TERMINATE THE RECORD AT THIS POINT OVERLAY TO MAKE ALL FOLLOWING OVERLAY PAGES IDENTICAL 1...BADGE NUMBER 5 :I FIELD NAME: RECORD CREATION DATE SIZE OF FIELD: 6 NUMBER OF DECIMAL PLACES FROM RIGHT: 2...BADGE NUMBER 5 :I FIELD NAME: RECORD ACCESS DATE SIZE OF FIELD: 6 NUMBER OF DECIMAL PLACES FROM RIGHT: 3...BADGE NUMBER 5 :I FIELD NAME: ANNUAL SALARY SIZE OF FIELD: 7 NUMBER OF DECIMAL PLACES FROM RIGHT: 2 4...BADGE NUMBER 5 :I FIELD NAME: TOTAL WEEKLY INS DED SIZE OF FIELD: 5 NUMBER OF DECIMAL PLACES FROM RIGHT: 2 5...BADGE NUMBER 5 : 6...NAME 25 :D 6...WAGE CLASS 1 :I FIELD NAME: LAST NAME SIZE OF FIELD: 20 NUMBER OF DECIMAL PLACES FROM RIGHT: Page 2-13 7...WAGE CLASS 1 :I FIELD NAME: FIRST NAME SIZE OF FIELD: 15 NUMBER OF DECIMAL PLACES FROM RIGHT: 8...WAGE CLASS 1 :I FIELD NAME: MIDDLE INITIAL SIZE OF FIELD: 2 NUMBER OF DECIMAL PLACES FROM RIGHT: 9...WAGE CLASS 1 : 10..COST CENTER 3 : 11..PHONE EXTENSION 5 : 12..HOURLY RATE 4 : 13..MAIL STOP 3 : 14..LOCATION CODE 4 :O FIELD NAME: LOCATION CODE SIZE OF FIELD: 6 NUMBER OF DECIMAL PLACES FROM RIGHT: 15..AUTO REGISTRATION 6 :OVERLAY TYPE IN FIRST LINE NUMBER OF FIRST OVERLAY PAGE: 15 TYPE IN LAST LINE NUMBER OF FIRST OVERLAY PAGE: 18 TYPE IN FIRST OVERLAY PAGE NUMBER: 2 TYPE IN TOTAL NUMBER OF OVERLAY PAGES IN DATA BASE: 6 2.10.2 Altering Passwords and Privileges Once you have exited from the record change routine, you will be given the opportunity to edit your table of data base passwords and privileges. If the change function was used only to alter passwords and privileges, the data base version number (refer to Chapter 1) did not change because you did not physically alter the size of your record. You do not, therefore, need to ___ recompile, load and save all of your data base programs. Recompilation will be required, however, along with re-running ____ __ the ISAM build function "/B" (Paragraphs 5.2.1 and 5.3.1.1) if any physical file changes did occur. ___ You may display the current contents of your data base password table, append to it, or delete from it. To delete a current password or change an existing entry, you must answer "NO" to the question concerning keeping present codes. Following that, Page 2-14 re-enter the old passwords and privileges you wish to retain along with any new additions. Upon completion, terminate this loop by typing "STOP". To simply view the current password table without changing it, answer "YES" to the question concerning seeing current names and privileges. To the next question concerning keeping present codes, answer "YES" , followed by "STOP" in answer to the dialog beginning with "USER'S NAME". 2.10.2.1 Displaying Passwords and Privileges Example - DO YOU WANT TO SEE CURRENT NAMES + PRIVILEGES: YES SMITH :..0 JONES :..1 HARRIS:..2 COLE :..3 DO YOU WANT TO KEEP PRESENT CODES: YES USER'S NAME: STOP 2.10.3 Altering Data Base Page You will now be given the option to alter your data base page configuration. CSSDBW will display the current value of each page parameter and you may change these settings by typing a new value. A will default as "no change" to the displayed setting. Note that when using the overlay page option, all page settings starting with the first overlay page number will be automatically adjusted and displayed at this time. If you typed "OVERLAY" during the field definition routine, DO NOT change any __ ___ of the page settings beyond the first overlay page. NOTE In the following example, Page 1 now begins with field number 5 (Badge Number). Since the program's incorrect response was 1, you must change it by entering the correct response (5) after the colon. By doing so, you have indicated to the program that fields 1 thru 4 are on page 0. Fields 1 and 2 (Record Creation and Access Dates) are automatically filled in by the Data Base Handler; fields 3 and 4 will be maintained by a CSSTOT generated program (refer to Chapter 8). Page 2-15 2.10.3.1 Altering Data Base Page Example - IN THE FOLLOWING DIALOG TYPE IF SETTING IS OK OR A NEW NUMBER TO CHANGE IT. NUMBER OF PAGES: 7 : TOP LINE OF PAGE 1 : 1 : 5 TOP LINE OF PAGE 2 : 15 : TOP LINE OF PAGE 3 : 19 : TOP LINE OF PAGE 4 : 23 : TOP LINE OF PAGE 5 : 27 : TOP LINE OF PAGE 6 : 31 : TOP LINE OF PAGE 7 : 35 : DO YOU WANT ON-LINE VALIDATION (Y OR N) [Y]: YES DO YOU WANT RECORD CREATION + ACCESS DATES PLACED IN FIELDS 1 AND 2 RESPECTIVELY [N]: YES DO YOU WANT AN AUDIT TRAIL: YES TYPE IN YOUR NAME: JOHN DOE TERMINAL TYPE TO BE USED (VT05, VT50, VT52, VT61, OTHER): VT52 KEY FIELD NUMBER IS: 1 : 5 SOURCE IS CALLED : DBMTSTCBL FORMAT IS CALLED : DBMTSTFMT VERSION NUMBER : 2 OVERLAY PAGE NO. : 2 I S A M R E S P O N S E S <---NOTE: Jot down on paper - - - - - - - - - - - - - and save for input ____ in Chapter 5. MAXIMUM RECORD SIZE: 250 KEY DESCRIPTOR: X 25. 5 TOTAL RECORDS PER DATA BLOCK: 17 TOTAL ENTRIES PER INDEX BLOCK: 64 EXIT CHAPTER 3 CSSDBM DATA BASE FORMAT DUMP (DBMDMP) 3.1 GENERAL DESCRIPTION CSSDBM stores its data files in a 6-bit configuration, which is the most efficient method of storage on the 36-bit DECsystem-10. Because of this, it was necessary to write a utility program to output a readable 7-bit ASCII representation of the data base configuration and a work sheet portion to be used when generating a report. The utility program that outputs this information is called DBMDMP. This program reads the data base format file and outputs a file called DMPTST.LPT, which you then output to the line printer. If you're building your data base and you desire a blank report work sheet with your data base description, enter when "Report Name" is requested. If you have an existing report, having been constructed by CSSRPT (Chapter 9), and you desire a tangible work sheet outlining your report for your files, enter the report filename. Page 3-2 3.1.1 DBMDMP Example .RUN DBMDMP TYPE NAME OF FORMAT FILE: DBMTST REPORT NAME OR IF NOT A REPORT DUMP: RPT001 EXIT 3.2 SAMPLE DBMTST.LPT DATA You have now added a line printer (LPT) file to your directory; type DIR to verify. The following example illustrates the sample data as it would appear in DMPTST.LPT. Output this file with the following command, after which, the LPT file will automatically be deleted: .PRINT DMPTST.LPT Page 3-3 FIELD FIELD FLD DECIMAL OUTLINE OF REPORT: RPT001 NUMBER NAME SIZE PLACES GENERATED FROM FILE:DBMTST 1..RECORD CREATION DATE 6 0 2..RECORD ACCESS DATE 6 0 WRITTEN BY: JOHN DOE 3..ANNUAL SALARY 7 2 4..TOTAL WEEKLY INS DED 5 2 OUTPUT INPUT ALPHA T OUTPUT TOTAL INPUT FIELD FIELD OR O FIELD OUTPUT FIELD P A G E : 1 NUMBER NUMBER NUMERIC T SIZE CHAR. BREAKDOWN - - - - 1 5 A - 5 6 ---:---:---:---:---: 2 6 A - 20 27 1: 19:---:---:---: 5..BADGE NUMBER 5 0 3 7 A - 10 38 10: 5:---:---:---: 6..LAST NAME 20 0 4 8 A - 2 41 ---:---:---:---:---: 7..FIRST NAME 15 0 5 1 D - 9 51 ---:---:---:---:---: 8..MIDDLE INITIAL 2 0 6 10 A - 3 55 ---:---:---:---:---: 9..WAGE CLASS 1 0 7 4 N - 5 63 ---:---:---:---:---: 10..COST CENTER 3 0 8 17 D - 9 73 ---:---:---:---:---: 11..PHONE EXTENSION 5 0 9 11 A - 5 79 ---:---:---:---:---: 12..HOURLY RATE 4 2 10 15 A - 6 86 ---:---:---:---:---: 13..MAIL STOP 3 0 11 16 A - 10 97 ---:---:---:---:---: 14..LOCATION CODE 6 0 12 18 N Y 5 105 ---:---:---:---:---: 13 --- - - --- --- ---:---:---:---:---: P A G E : 2 14 --- - - --- --- ---:---:---:---:---: - - - - 15 --- - - --- --- ---:---:---:---:---: 16 --- - - --- --- ---:---:---:---:---: 15..AUTO REGISTRATION 6 0 17 --- - - --- --- ---:---:---:---:---: 16..AUTO MAKE 10 0 18 --- - - --- --- ---:---:---:---:---: 17..REGISTRATION DATE 6 0 19 --- - - --- --- ---:---:---:---:---: 18..WEEKLY INSUR. DED. 5 2 20 --- - - --- --- ---:---:---:---:---: 21 --- - - --- --- ---:---:---:---:---: P A G E : 3 22 --- - - --- --- ---:---:---:---:---: - - - - 23 --- - - --- --- ---:---:---:---:---: 24 --- - - --- --- ---:---:---:---:---: 19..AUTO REGISTRATION 6 0 25 --- - - --- --- ---:---:---:---:---: 20..AUTO MAKE 10 0 26 --- - - --- --- ---:---:---:---:---: 21..REGISTRATION DATE 6 0 27 --- - - --- --- ---:---:---:---:---: 22..WEEKLY INSUR. DED. 5 2 28 --- - - --- --- ---:---:---:---:---: 29 --- - - --- --- ---:---:---:---:---: P A G E : 4 30 --- - - --- --- ---:---:---:---:---: - - - - 31 --- - - --- --- ---:---:---:---:---: 32 --- - - --- --- ---:---:---:---:---: 23..AUTO REGISTRATION 6 0 33 --- - - --- --- ---:---:---:---:---: 24..AUTO MAKE 10 0 34 --- - - --- --- ---:---:---:---:---: 25..REGISTRATION DATE 6 0 35 --- - - --- --- ---:---:---:---:---: 26..WEEKLY INSUR. DED. 5 2 36 --- - - --- --- ---:---:---:---:---: 37 --- - - --- --- ---:---:---:---:---: P A G E : 5 38 --- - - --- --- ---:---:---:---:---: - - - - 39 --- - - --- --- ---:---:---:---:---: 40 --- - - --- --- ---:---:---:---:---: 27..AUTO REGISTRATION 6 0 28..AUTO MAKE 10 0 OVERLAY PAGE: (Y OR N): Y 29..REGISTRATION DATE 6 0 30..WEEKLY INSUR. DED. 5 2 REPORT NAME: RPT001 Page 3-4 P A G E : 6 TITLE: - - - - PERSONNEL INSURANCE DEDUCTION SUMMARY BY COST CENTER 31..AUTO REGISTRATION 6 0 32..AUTO MAKE 10 0 SUPPRESS: 33..REGISTRATION DATE 6 0 34..WEEKLY INSUR. DED. 5 2 IF ITS INPUT SYMBOL:(=,NOT,<,>): LITERAL: P A G E : 7 01.. 6INN1 = 01.. "F" - - - - 02.. "G" 03.. -------------------------------- 35..AUTO REGISTRATION 6 0 04.. -------------------------------- 36..AUTO MAKE 10 0 05.. -------------------------------- 37..REGISTRATION DATE 6 0 06.. -------------------------------- 38..WEEKLY INSUR. DED. 5 2 07.. -------------------------------- 08.. -------------------------------- 09.. -------------------------------- 10.. -------------------------------- TOTAL NUMBER OF PAGES: 7 IF ITS INPUT SYMBOL:(=,NOT,<,>): LITERAL: TOP LINE OF PAGE 1.. 5 02.. 10INN NOT 01.. /ENTER 3 COST CNTRS FOR RPT: / TOP LINE OF PAGE 2.. 15 02.. // TOP LINE OF PAGE 3.. 19 03.. // TOP LINE OF PAGE 4.. 23 04.. -------------------------------- TOP LINE OF PAGE 5.. 27 05.. -------------------------------- TOP LINE OF PAGE 6.. 31 06.. -------------------------------- TOP LINE OF PAGE 7.. 35 07.. -------------------------------- 08.. -------------------------------- 09.. -------------------------------- 10.. -------------------------------- KEY FIELD IS : 5 BADGE NUMBER IF ITS VERSION NUMBER : 2 INPUT SYMBOL:(=,NOT,<,>): LITERAL: 03.. ------- --- 01.. -------------------------------- OVERLAY PAGE NUMBER: 2 02.. -------------------------------- 03.. -------------------------------- I S A M R E S P O N S E S 04.. -------------------------------- - - - - - - - - - - - - - 05.. -------------------------------- 06.. -------------------------------- MAXIMUM RECORD SIZE : 0250 07.. -------------------------------- 08.. -------------------------------- KEY DESCRIPTOR : X25.5 09.. -------------------------------- 10.. -------------------------------- TOTAL RECORDS PER DATA BLOCK : 017 IF ITS TOTAL ENTRIES PER INDEX BLOCK: 064 INPUT SYMBOL:(=,NOT,<,>): LITERAL: 04.. ------- --- 01.. -------------------------------- 02.. -------------------------------- 03.. -------------------------------- 04.. -------------------------------- 05.. -------------------------------- 06.. -------------------------------- 07.. -------------------------------- 08.. -------------------------------- Page 3-5 09.. -------------------------------- 10.. -------------------------------- IF ITS INPUT SYMBOL:(=,NOT,<,>): LITERAL: 05.. ------- --- 01.. -------------------------------- 02.. -------------------------------- 03.. -------------------------------- 04.. -------------------------------- 05.. -------------------------------- 06.. -------------------------------- 07.. -------------------------------- 08.. -------------------------------- 09.. -------------------------------- 10.. -------------------------------- IF ITS INPUT SYMBOL:(=,NOT,<,>): LITERAL: 06.. ------- --- 01.. -------------------------------- 02.. -------------------------------- 03.. -------------------------------- 04.. -------------------------------- 05.. -------------------------------- 06.. -------------------------------- 07.. -------------------------------- 08.. -------------------------------- 09.. -------------------------------- 10.. -------------------------------- IF ITS INPUT SYMBOL:(=,NOT,<,>): LITERAL: 07.. ------- --- 01.. -------------------------------- 02.. -------------------------------- 03.. -------------------------------- 04.. -------------------------------- 05.. -------------------------------- 06.. -------------------------------- 07.. -------------------------------- 08.. -------------------------------- 09.. -------------------------------- 10.. -------------------------------- IF ITS INPUT SYMBOL:(=,NOT,<,>): LITERAL: 08.. ------- --- 01.. -------------------------------- 02.. -------------------------------- 03.. -------------------------------- 04.. -------------------------------- 05.. -------------------------------- 06.. -------------------------------- 07.. -------------------------------- 08.. -------------------------------- 09.. -------------------------------- 10.. -------------------------------- Page 3-6 IF ITS INPUT SYMBOL:(=,NOT,<,>): LITERAL: 09.. ------- --- 01.. -------------------------------- 02.. -------------------------------- 03.. -------------------------------- 04.. -------------------------------- 05.. -------------------------------- 06.. -------------------------------- 07.. -------------------------------- 08.. -------------------------------- 09.. -------------------------------- 10.. -------------------------------- IF ITS INPUT SYMBOL:(=,NOT,<,>): LITERAL: 10.. ------- --- 01.. -------------------------------- 02.. -------------------------------- 03.. -------------------------------- 04.. -------------------------------- 05.. -------------------------------- 06.. -------------------------------- 07.. -------------------------------- 08.. -------------------------------- 09.. -------------------------------- 10.. -------------------------------- SORTING SEQUENCE: 10INN, 6INN, 7INN DO YOU WANT DOUBLE SPACING: (Y OR N): N DO YOU WANT A NEW PAGE ON THE BREAK: N NUMBER OF LINES TO SKIP AFTER BREAK: 3 BADGE LAST FIRST MID CREATION COST TOT WEEK REGISTRAT. PHONE REGIST. AUTO WEEK INS NUMBER NAME NAME INI DATE CNTR INS DED DATE EXTEN. NUMBER MAKE DEDUCT. [END] CHAPTER 4 CSSDBM VALIDATION HANDLER (CSSVLD) 4.1 GENERAL DESCRIPTION The CSSVLD handler is required if you intend to perform arithmetic calculations using CSSTOT (Chapter 8). Although CSSDBM is not a sophisticated data editor, it does provide a character by character check for certain conditions at input and update time. By using a single record 6-bit data file, it is possible to check each character for the following: A Requires an alpha character. N Requires a numeric character. X Requires any alpha or numeric character. NOTE Any other character requires that a character of the same ASCII value to be input, unless: 1. You space over said characters with the space bar. 2. You depress at that point. 3. You have depressed prior to said character. 4.2 CSSVLD DIALOG CSSVLD begins by requesting your data base file name. In response to your answer, the program reads in your format file, thus obtaining all of the data base parameters. The program now requests "NEW OR OLD". If you are creating a Validation File for Page 4-2 the first time, type "NEW". If you type "OLD", your current Validation File will be read in from the disk and you will be able to alter it. Next, you will enter a simple loop which will display: 1. The data base field name and your old validation field. 2. The data base field name, followed by the field size between colons. 3. The field name once more, plus a colon. Now, type in your validation data. Upon completion of all fields in your data base, the program will exit back to the monitor. NOTE Exceeding the field delimiting colons results in the truncation of those characters. 4.3 CSSVLD OUTPUT FILES The two files that CSSVLD outputs are: 1. DBMTST.VLD One record 6-bit Validation File used by the Data Base Handler program. 2. VLDTST.LPT 7-bit readable ASCII repres- entation of the 6-bit Validation File which can be printed for information purposes. NOTE The "TST" portion of the output file's name is the three character file name of your data base. Page 4-3 4.4 NEW VALIDATION FILE EXAMPLE The following example illustrates the creation of a new Validation File. Note that typing the word "SPACES" in the validation field causes that field to be left blank. (See Paragraph 4.5.1, Field 3.) If spaces are wanted in just a portion of the field, simply depress the space bar when setting the validation for that portion. Note that "Record Creation Date" and "Record Access Date" (Fields 1 and 2 below) must be validated as "NNNNNN" or "SPACES". You will also find that by typing "OVERLAY", once you have completed the validation fields for your first overlay page, all of the following overlay pages will contain the same validation information. (See Field 19, below.) .RUN CSSVLD CSSDBM VALIDATION ROUTINE CSSVLD(V05) TYPE NAME OF FORMAT FILE: DBMTST (NEW OR OLD) VALIDATION FILE: NEW 1...RECORD CREATION DATE: : 1...RECORD CREATION DATE:------: 1...RECORD CREATION DATE:NNNNNN 2...RECORD ACCESS DATE : : 2...RECORD ACCESS DATE :------: 2...RECORD ACCESS DATE :NNNNNN 3...ANNUAL SALARY : : 3...ANNUAL SALARY :-------: 3...ANNUAL SALARY :NNNNNNN 4...TOTAL WEEKLY INS DED: : 4...TOTAL WEEKLY INS DED:-----: 4...TOTAL WEEKLY INS DED:NNNNN 5...BADGE NUMBER : : 5...BADGE NUMBER :-----: 5...BADGE NUMBER :NNNNN 6...LAST NAME : : 6...LAST NAME :--------------------: 6...LAST NAME :AAAAAAAAAAAAAAAAAAAA 7...FIRST NAME : : 7...FIRST NAME :---------------: 7...FIRST NAME :AAAAAAAAAAAAAAA 8...MIDDLE INITIAL : : 8...MIDDLE INITIAL :--: 8...MIDDLE INITIAL :XX 9...WAGE CLASS : : 9...WAGE CLASS :-: 9...WAGE CLASS :N 10...COST CENTER : : 10...COST CENTER :---: 10...COST CENTER :XXX 11...PHONE EXTENSION : : 11...PHONE EXTENSION :-----: 11...PHONE EXTENSION :NNNNN Page 4-4 12...HOURLY RATE : : 12...HOURLY RATE :----: 12...HOURLY RATE :NNNN 13...MAIL STOP : : 13...MAIL STOP :---: 13...MAIL STOP :XXX 14...LOCATION CODE : : 14...LOCATION CODE :------: 14...LOCATION CODE :XXXXXX 15...AUTO REGISTRATION : : 15...AUTO REGISTRATION :------: 15...AUTO REGISTRATION :XXXXXX 16...AUTO MAKE : : 16...AUTO MAKE :----------: 16...AUTO MAKE :XXXXXXXXXX 17...REGISTRATION DATE : : 17...REGISTRATION DATE :------: 17...REGISTRATION DATE :78NNNN 18...WEEKLY INSUR. DED. : : 18...WEEKLY INSUR. DED. :-----: 18...WEEKLY INSUR. DED. :L #17 17...REGISTRATION DATE :78NNNN: 17...REGISTRATION DATE :------: 17...REGISTRATION DATE :7NNNNN 18...WEEKLY INSUR. DED. : : 18...WEEKLY INSUR. DED. :-----: 18...WEEKLY INSUR. DED. :NNNNN 19...AUTO REGISTRATION : : 19...AUTO REGISTRATION :------: 19...AUTO REGISTRATION :OVERLAY EXIT You have now added DBMTST.VLD (Data Base Validation File) and VLDTST.LPT (Data Base Validation Line Printer File) to your directory; type DIR to verify. To review the completed Validation File on the terminal screen, type: "TYPE VLDTST.LPT" . (The LPT file in your directory will not be automatically deleted.) To receive a line printer copy, type the following command, after which, the LPT will be deleted: .PRINT VLDTST.LPT If there are no changes to be made, proceed to Chapter 5. Page 4-5 4.5 CHANGING OLD VALIDATION FILE You may change the value of any validation field in your data base by using the OLD dialog, if the physical size of your record did not change; by using the NEW dialog if it did. 4.5.1 Changing Old Validation File Example It may be desireable to jump from one field to another while in this dialog, particularly if only one or two validation fields require change. For this reason you may type "L" (Line Command) at any time, and CSSVLD will respond with a # (number sign). Your response will take you to the field number specified and permit inputting to proceed from that point. NOTE If the letter "L" is input as data in any position other than the first data character (such as the "l" in Charles), it will not invoke _ the Line Command. The following example illustrates changes to an old Validation File. .RUN CSSVLD CSSDBM VALIDATION ROUTINE CSSVLD(V05) TYPE NAME OF FORMAT FILE: DBMTST (NEW OR OLD) VALIDATION FILE: OLD 1...RECORD CREATION DATE:NNNNNN: 1...RECORD CREATION DATE:------: 1...RECORD CREATION DATE:L # 3 3...ANNUAL SALARY :NNNNNNN: 3...ANNUAL SALARY :-------: 3...ANNUAL SALARY :SPACES 4...TOTAL WEEKLY INS DED:NNNNN: 4...TOTAL WEEKLY INS DED:-----: 4...TOTAL WEEKLY INS DED:SPACES 5...BADGE NUMBER :NNNNN: 5...BADGE NUMBER :-----: 5...BADGE NUMBER :F EXIT Page 4-6 To observe the modified Validation File on the terminal screen (which does not automatically delete the LPT file from your directory), type the following command: .TYPE VLDTST.LPT 1...RECORD CREATION DATE : NNNNNN 2...RECORD ACCESS DATE : NNNNNN 3...ANNUAL SALARY : 4...TOTAL WEEKLY INS DED : 5...BADGE NUMBER : NNNNN 6...LAST NAME : AAAAAAAAAAAAAAAAAAAA 7...FIRST NAME : AAAAAAAAAAAAAAA 8...MIDDLE INITIAL : XX 9...WAGE CLASS : N 10...COST CENTER : XXX 11...PHONE EXTENSION : NNNNN 12...HOURLY RATE : NNNN 13...MAIL STOP : XXX 14...LOCATION CODE : XXXXXX 15...AUTO REGISTRATION : XXXXXX 16...AUTO MAKE : XXXXXXXXXX 17...REGISTRATION DATE : 7NNNNN 18...WEEKLY INSUR. DED. : NNNNN 19...AUTO REGISTRATION : XXXXXX 20...AUTO MAKE : XXXXXXXXXX 21...REGISTRATION DATE : 7NNNNN 22...WEEKLY INSUR. DED. : NNNNN 23...AUTO REGISTRATION : XXXXXX 24...AUTO MAKE : XXXXXXXXXX 25...REGISTRATION DATE : 7NNNNN 26...WEEKLY INSUR. DED. : NNNNN 27...AUTO REGISTRATION : XXXXXX 28...AUTO MAKE : XXXXXXXXXX 29...REGISTRATION DATE : 7NNNNN 30...WEEKLY INSUR. DED. : NNNNN 31...AUTO REGISTRATION : XXXXXX 32...AUTO MAKE : XXXXXXXXXX 33...REGISTRATION DATE : 7NNNNN 34...WEEKLY INSUR. DED. : NNNNN 35...AUTO REGISTRATION : XXXXXX 36...AUTO MAKE : XXXXXXXXXX 37...REGISTRATION DATE : 7NNNNN 38...WEEKLY INSUR. DED. : NNNNN CHAPTER 5 CSSDBM FINAL DATA BASE REQUIREMENTS 5.1 GENERAL DESCRIPTION CSSDBM requires the completion of two final steps before the data base is ready for input. 1. Compile, load, and save your Data Base Handler. 2. Create index and data files from your sequential file using ISAM. 5.2 COMPILE, LOAD, AND SAVE The compile, load and save operations are the same for all CSSDBM generated programs, and require the file ECHO.REL, a Macro library of subroutines, to be loaded with each generated program as shown below. Your program should always compile error free, unless you've elected to use the Audit Trail option. If so, you may receive four warnings at compile time, but do not be concerned as they do not effect the execution of your Data Base Handler program. 5.2.1 Compile, Load, and Save Example The following example illustrates the compile, load and save procedure of our test data base. .LOAD DBMTST.CBL,ECHO COBOL: DBMTST [DBMTST.CBL] WARNINGS: 0527 RIGHT-MOST TRUNCATION ON AUD-HOLD 0550 RIGHT-MOST TRUNCATION ON AUD-NEW 0663 RIGHT-MOST TRUNCATION ON AUD-OLD Page 5-2 0672 RIGHT-MOST TRUNCATION ON AUD-NEW NO FATAL ERRORS, 4 WARNINGS LINK: Loading EXIT .SAVE DBMTST SAVED 5.3 ISAM The CSSDBM system provides all the ISAM (Indexed Sequential Access Mode) responses required to make the data base operational, thus keeping with the original concept to avoid technical knowledge of either COBOL or ISAM. All responses to ISAM, therefore, which are not received from either CSSDBW or DBMDMP will be identical to those used in this document. For a detailed description of ISAM, refer to the DECsystem-10 COBOL User's Guide, AA-0939B-TB. 5.3.1 ISAM Functions The three basic functions of ISAM are: /B - Build /P - Packing /M - Maintenance The /B function is used for initially creating a data base. In doing this, an indexed sequential file is created from a sequential file. The /P function creates an ASCII sequential file from your indexed sequential file, and the /M function aligns your index file with your data file. Note that the /M and /P functions are only used for utility purposes. Page 5-3 5.3.1.1 /B Example - This example illustrates the creation of a test data base. All responses entered are either zeroes, which are parameters maintained efficiently by the monitor, or variable responses calculated by either CSSDBW or DBMDMP. NOTE In response to the ISAM querie for "MAXIMUM NUMBER OF RECORDS FILE CAN BECOME", enter the estimated number of records you feel your data base will grow to include. .R ISAM *=DBMTST.SEQ/B MODE OF INPUT FILE: A MODE OF DATA FILE: S MAXIMUM RECORD SIZE: 250 KEY DESCRIPTOR: X25.5 RECORDS PER INPUT BLOCK: 0 TOTAL RECORDS PER DATA BLOCK: 17 EMPTY RECORDS PER DATA BLOCK: 0 TOTAL ENTRIES PER INDEX BLOCK: 64 EMPTY ENTRIES PER INDEX BLOCK: 0 PERCENTAGE OF DATA FILE TO LEAVE EMPTY: 0 PERCENTAGE OF INDEX FILE TO LEAVE EMPTY: 0 MAXIMUM NUMBER OF RECORDS FILE CAN BECOME: 10000 1 LEVEL OF INDEX 0 DATA RECORDS *^C Page 5-4 If you are creating a data base for the first time, proceed to the directory listing at the bottom of Paragraph 5.3.1.3, and then to Chapter 6; to Chapter 7 if the Audit Trail option was not selected. 5.3.1.2 /P Example - This ISAM example illustrates the /P function, or packing your indexed sequential data base back to an ASCII sequential file. .R ISAM *=DBMTST.IDX/P MODE OF OUTPUT FILE: A RECORDS PER OUTPUT BLOCK: 0 *^C 5.3.1.3 /M Example - This ISAM example illustrates the /M, or maintenance procedure, which should be performed periodically to realign your index and data files. Although nothing is ever lost, failure to comply results in a substantial increase in the overhead of your data base. In this dialog, all of your ISAM parameters will be displayed. A response should always be used as it defaults to the original setting. An on-line message of "TOP INDEX BLOCK SPLIT, FILE SHOULD BE REORGANIZED" when running the CSSDBM Data Base Handler (Chapter 7), will indicate that the /M function should be used. .R ISAM *=DBMTST.IDX/M TOTAL RECORDS PER DATA BLOCK (17): EMPTY RECORDS PER DATA BLOCK (0): TOTAL ENTRIES PER INDEX BLOCK (64): EMPTY ENTRIES PER INDEX BLOCK (0): PERCENTAGE OF DATA FILE TO LEAVE EMPTY (0): PERCENTAGE OF INDEX FILE TO LEAVE EMPTY (0): MAXIMUM NUMBER OF RECORDS FILE CAN BECOME (10000): 1 LEVEL OF INDEX 0 DATA RECORDS *^C Page 5-5 Additional files have again been added to your directory; type DIR to verify that the following are present: LIB:[PROJ,PROG] (See Paragraph 1.5) DBMTST.SEQ (Data Base Sequential File) DBMTST.FMT (Data Base Format File) DBMAUD.FMT (Audit Trail Format File) (If Audit Trail option selected.) DBMTST.CBL (Data Base COBOL File) DBMTST.VLD (Data Base Validation File) (If On-line Validation option selected.) DBMTST.REL (Data Base Relocatable File) DBMTST.EXE (Data Base Executable File) DBMTST.IDA (Data Base Data File) DBMTST.IDX (Data Base Index File) CHAPTER 6 CSSDBM AUDIT TRAIL OPTION 6.1 GENERAL DESCRIPTION The CSSDBM Audit Trail option was implemented to provide the data base administrator with a tool to totally monitor all activity within his file. Since CSSDBM(V05) allows simultaneous file update, the need to monitor file activity has increased. The Audit Trail was designed to be nothing more than another CSSDBM ISAM file, thus making it accessable by the CSSDBM report writer, CSSRPT. This is particularly useful if you wish to qualify a particular event which may have taken place within your data base without manually examining numerous pages of listings. NOTE You can not have more than one data base with the Audit Trail option for each PPN [Proj,Prog]. Page 6-2 6.2 AUDIT TRAIL RECORD FORMAT FIELD FIELD FIELD COMMENTS NUMBER NAME SIZE 1. TRANSACTION DATE, TIME 15 KEY FIELD AND DATA BASE FIELD NUMBER 2. TRANSACTION CODE 1 0 = RECORD INSERTED 1 = RECORD CHANGED 2 = RECORD DELETED 3. PASSWORD USED 6 PASSWORD OF PERSON UPDATING DATA BASE 4. RECORD KEY 32 DATA BASE KEY FOR THE RECORD BEING UPDATED. 5. FIELD NUMBER 3 THE FIELD NUMBER UPON WHICH THE UPDATE TAKES PLACE. 6. FIELD NAME 20 THE PROMPT FROM THE FORMAT FILE FOR THIS FIELD 7. OLD DATA 32 THE DATA AS IT APPEARED BEFORE THE UPDATE TOOK PLACE. 8. NEW DATA 32 THE DATA AS IT IS NOW FOLLOWING THE UPDATE. 6.3 AUDIT TRAIL RECORDING SCHEME When a record is inserted into your data base, an entry is made in the Audit Trail for each field containing data. While changing a record in your data base, an Audit Trail entry is made for each field you changed. If you delete a record, an Audit Trail entry will be made for each field of the deleted record which contained data. Page 6-3 6.4 IMPLEMENTATION PROCEDURE If you requested the Audit Trail during the CSSDBW routine, the Audit Trail's ISAM format file will be output to the disk as well as your data base format file, and will contain the same password table as your data base format file. If you intend to create an Audit Trail report using CSSRPT (refer to Paragraph 6.5 and to Chapter 9), execute the following ISAM command file: 6.4.1 ISAM Command File Execution .R ISAM *@DBMAUD.CCL 1 LEVEL OF INDEX 0 DATA RECORDS *^C 6.4.2 B E W A R E ! Since the Audit Trail tracks ALL data base activity, the file is ___ subject to become very large, very fast. Re-execution of the command file, as demonstrated above, will bring your Audit Trail down to zero entries without loosing your ISAM files on the disk. 6.5 AUDIT TRAIL REPORT EXAMPLE The following is an example of sequential report generated by CSSRPT (refer to Chapter 9) of the Audit Trail: Page 6-4 CSSDBM(V05) AUDIT TRAIL SEQUENTIAL SUMMARY PAGE 1 RUN ON 31-MAY-78 AT 11:48 TRANS/TRANS TR PASSWD KEY FLD FIELD DATA BEFORE DATA AFTER DATE /TIME CD USED FIELD NAME TRANSACTION TRANSACTION 780531112011 1 JONES 1 010 COST CENTER 625 201 780531112018 1 JONES 1 015 AUTO REGISTRATION K22105 780531112021 1 JONES 1 016 AUTO MAKE CHEVY 780531112028 1 JONES 1 017 REGISTRATION DATE 771201 780531112034 1 JONES 1 018 WEEKLY INSUR. DED. 232 780531112059 1 JONES 1 019 AUTO REGISTRATION 212320 780531112104 1 JONES 1 020 AUTO MAKE HORNET 780531112113 1 JONES 1 021 REGISTRATION DATE 780205 780531112118 1 JONES 1 022 WEEKLY INSUR. DED. 450 780531112202 1 JONES 212 010 COST CENTER 403 201 780531112208 1 JONES 212 015 AUTO REGISTRATION 712155 780531112212 1 JONES 212 016 AUTO MAKE VOLVO 780531112221 1 JONES 212 017 REGISTRATION DATE 770917 780531112226 1 JONES 212 018 WEEKLY INSUR. DED. 517 780531112255 1 JONES 156 010 COST CENTER 327 201 780531112300 1 JONES 156 015 AUTO REGISTRATION 557546 780531112306 1 JONES 156 016 AUTO MAKE VOLVO 780531112315 1 JONES 156 017 REGISTRATION DATE 771114 780531112319 1 JONES 156 018 WEEKLY INSUR. DED. 445 780531112642 1 JONES 167 010 COST CENTER 519 201 780531112650 1 JONES 167 015 AUTO REGISTRATION 356734 780531112654 1 JONES 167 016 AUTO MAKE PONTIAC 780531112700 1 JONES 167 018 WEEKLY INSUR. DED. 387 780531112707 1 JONES 167 017 REGISTRATION DATE 780109 780531112754 1 JONES 190 010 COST CENTER 510 201 780531112800 1 JONES 190 015 AUTO REGISTRATION B59807 780531112802 1 JONES 190 016 AUTO MAKE FORD 780531112808 1 JONES 190 017 REGISTRATION DATE 771002 780531112814 1 JONES 190 018 WEEKLY INSUR. DED. 650 780531112906 1 JONES 12 010 COST CENTER 211 201 780531112911 1 JONES 12 015 AUTO REGISTRATION 596021 780531112917 1 JONES 12 016 AUTO MAKE TRIUMPH 780531112923 1 JONES 12 017 REGISTRATION DATE 780101 780531112928 1 JONES 12 018 WEEKLY INSUR. DED. 512 780531113020 1 JONES 134 010 COST CENTER 625 202 780531113028 1 JONES 134 015 AUTO REGISTRATION 250926 780531113037 1 JONES 134 016 AUTO MAKE VOLKSWAGON 780531113052 1 JONES 134 017 REGISTRATION DATE 770212 780531113058 1 JONES 134 018 WEEKLY INSUR. DED. 323 780531113129 1 JONES 145 010 COST CENTER 252 202 780531113135 1 JONES 145 015 AUTO REGISTRATION 460059 780531113139 1 JONES 145 016 AUTO MAKE SUBARU 780531113144 1 JONES 145 017 REGISTRATION DATE 770912 780531113148 1 JONES 145 018 WEEKLY INSUR. DED. 240 780531113203 1 JONES 201 010 COST CENTER 650 202 780531113216 1 JONES 201 015 AUTO REGISTRATION 513270 780531113220 1 JONES 201 016 AUTO MAKE BMW 780531113224 1 JONES 201 017 REGISTRATION DATE 771206 780531113228 1 JONES 201 018 WEEKLY INSUR. DED. 1032 Page 6-5 CSSDBM(V05) AUDIT TRAIL SEQUENTIAL SUMMARY PAGE 2 RUN ON 31-MAY-78 AT 11:48 TRANS/TRANS TR PASSWD KEY FLD FIELD DATA BEFORE DATA AFTER DATE /TIME CD USED FIELD NAME TRANSACTION TRANSACTION 780531113255 1 JONES 189 010 COST CENTER 283 202 780531113259 1 JONES 189 015 AUTO REGISTRATION A15217 780531113304 1 JONES 189 016 AUTO MAKE PONTIAC 780531113310 1 JONES 189 017 REGISTRATION DATE 770925 780531113314 1 JONES 189 018 WEEKLY INSUR. DED. 577 780531113321 1 JONES 189 019 AUTO REGISTRATION N80275 780531113324 1 JONES 189 020 AUTO MAKE CHEVY 780531113330 1 JONES 189 021 REGISTRATION DATE 780117 780531113338 1 JONES 189 022 WEEKLY INSUR. DED. 232 780531113407 1 JONES 123 010 COST CENTER 713 203 780531113413 1 JONES 123 015 AUTO REGISTRATION 285141 780531113417 1 JONES 123 016 AUTO MAKE DODGE 780531113421 1 JONES 123 017 REGISTRATION DATE 770505 780531113425 1 JONES 123 018 WEEKLY INSUR. DED. 585 780531113442 1 JONES 178 010 COST CENTER 292 203 780531113447 1 JONES 178 015 AUTO REGISTRATION 353802 780531113454 1 JONES 178 016 AUTO MAKE FORD 780531113503 1 JONES 178 017 REGISTRATION DATE 770115 780531113508 1 JONES 178 018 WEEKLY INSUR. DED. 623 780531113554 1 JONES 100 010 COST CENTER 385 203 780531113558 1 JONES 100 015 AUTO REGISTRATION 596212 780531113608 1 JONES 100 016 AUTO MAKE MG 780531113611 1 JONES 100 017 REGISTRATION DATE 770517 780531113614 1 JONES 100 018 WEEKLY INSUR. DED. 423 780531113620 1 JONES 100 019 AUTO REGISTRATION 522187 780531113623 1 JONES 100 020 AUTO MAKE AUDI 780531113627 1 JONES 100 021 REGISTRATION DATE 780201 780531113630 1 JONES 100 022 WEEKLY INSUR. DED. 333 780531113702 1 JONES 111 010 COST CENTER 215 203 780531113733 1 JONES 111 015 AUTO REGISTRATION 122574 780531113749 1 JONES 111 016 AUTO MAKE DATSUN 780531113758 1 JONES 111 017 REGISTRATION DATE 771020 780531113801 1 JONES 111 018 WEEKLY INSUR. DED. 515 780531113811 1 JONES 111 019 AUTO REGISTRATION 208373 780531113813 1 JONES 111 020 AUTO MAKE CORVETTE 780531113817 1 JONES 111 021 REGISTRATION DATE 770510 780531113820 1 JONES 111 022 WEEKLY INSUR. DED. 625 780531113957 0 JONES 1532 001 RECORD CREATION DATE @RECORD INSERTED 780531 780531113957 0 JONES 1532 002 RECORD ACCESS DATE @RECORD INSERTED 780531 780531113958 0 JONES 1532 005 BADGE NUMBER @RECORD INSERTED 1532 780531113958 0 JONES 1532 006 LAST NAME @RECORD INSERTED HARVARD 780531113958 0 JONES 1532 007 FIRST NAME @RECORD INSERTED JOHN 780531113958 0 JONES 1532 008 MIDDLE INITIAL @RECORD INSERTED P. 780531113958 0 JONES 1532 009 WAGE CLASS @RECORD INSERTED 4 780531113958 0 JONES 1532 010 COST CENTER @RECORD INSERTED 672 780531113958 0 JONES 1532 011 PHONE EXTENSION @RECORD INSERTED 82754 780531113958 0 JONES 1532 012 HOURLY RATE @RECORD INSERTED 1320 780531113958 0 JONES 1532 013 MAIL STOP @RECORD INSERTED S21 780531113958 0 JONES 1532 014 LOCATION CODE @RECORD INSERTED PK3-2 Page 6-6 CSSDBM(V05) AUDIT TRAIL SEQUENTIAL SUMMARY PAGE 3 RUN ON 31-MAY-78 AT 11:48 TRANS/TRANS TR PASSWD KEY FLD FIELD DATA BEFORE DATA AFTER DATE /TIME CD USED FIELD NAME TRANSACTION TRANSACTION 780531113958 0 JONES 1532 015 AUTO REGISTRATION @RECORD INSERTED N22187 780531113958 0 JONES 1532 016 AUTO MAKE @RECORD INSERTED OLDSMOBILE 780531113958 0 JONES 1532 017 REGISTRATION DATE @RECORD INSERTED 770917 780531113959 0 JONES 1532 018 WEEKLY INSUR. DED. @RECORD INSERTED 528 780531114013 2 JONES 1532 001 RECORD CREATION DATE 780531 @RECORD DELETED 780531114013 2 JONES 1532 002 RECORD ACCESS DATE 780531 @RECORD DELETED 780531114013 2 JONES 1532 005 BADGE NUMBER 1532 @RECORD DELETED 780531114013 2 JONES 1532 006 LAST NAME HARVARD @RECORD DELETED 780531114014 2 JONES 1532 007 FIRST NAME JOHN @RECORD DELETED 780531114014 2 JONES 1532 008 MIDDLE INITIAL P. @RECORD DELETED 780531114014 2 JONES 1532 009 WAGE CLASS 4 @RECORD DELETED 780531114014 2 JONES 1532 010 COST CENTER 672 @RECORD DELETED 780531114014 2 JONES 1532 011 PHONE EXTENSION 82754 @RECORD DELETED 780531114014 2 JONES 1532 012 HOURLY RATE 1320 @RECORD DELETED 780531114014 2 JONES 1532 013 MAIL STOP S21 @RECORD DELETED 780531114014 2 JONES 1532 014 LOCATION CODE PK3-2 @RECORD DELETED 780531114014 2 JONES 1532 015 AUTO REGISTRATION N22187 @RECORD DELETED 780531114014 2 JONES 1532 016 AUTO MAKE OLDSMOBILE @RECORD DELETED 780531114014 2 JONES 1532 017 REGISTRATION DATE 770917 @RECORD DELETED 780531114014 2 JONES 1532 018 WEEKLY INSUR. DED. 528 @RECORD DELETED Additional files have again been added to your directory; type DIR to verify that the following are present: LIB:[PROJ,PROG] (See Paragraph 1.5) DBMTST.SEQ (Data Base Sequential File) DBMTST.FMT (Data Base Format File) DBMAUD.FMT (Audit Trail Format File) (If Audit Trail option selected.) DBMTST.CBL (Data Base COBOL File) DBMTST.VLD (Data Base Validation File) (If On-line Validation option selected.) DBMTST.REL (Data Base Relocatable File) DBMTST.EXE (Data Base Executable File) DBMTST.IDA (Data Base Data File) DBMTST.IDX (Data Base Index File) DBMAUD.IDA (Audit Trail Data File)* DBMAUD.IDX (Audit Trail Index File)* *(If Audit Trail option selected.) CHAPTER 7 CSSDBM DATA BASE HANDLER (DBMTST) 7.1 GENERAL DESCRIPTION The data input portion of CSSDBM can now be implemented if the Data Base Handler has been compiled, loaded, and saved per instructions in Chapter 5. Note that the Handler also fills in the "Record Creation Date" and "Record Access Date" fields automatically, if that option was previously selected. 7.2 DBMTST DIALOG Program execution occurs by typing "RUN DBMTST". The program will then request a password, which, for security reasons, will not be echoed back to the terminal. If the password corresponds to one of the codes entered by the data base administrator during initializtion, the program will respond with its name and it will then request "LONG OR SHORT DIALOG". Response to this inquiry depends upon the type of terminal you're using. When using a low speed, hard copy terminal, a great deal of teletype chatter can be eliminated by typing "SHORT" in answer to this question. Page 7-2 7.2.1 DBMTST Dialog Example .RUN DBMTST PASSWORD: JONES CSS DATA BASE MANAGEMENT SYSTEM CSSDBM(V05) LONG OR SHORT DIALOG: LONG 7.3 DBMTST COMMANDS The program is now ready to receive commands, which is indicated by an asterisk. Typing anything other than a recognizable command at this time results in the program responding with a short help key, and returning with an asterisk. NOTE All references to the data being displayed after a command are only effective if the LONG dialog is used. When using the SHORT dialog, inserting a "T" command (Paragraph 7.3.2) displays the first page of the record. 7.3.1 DBMTST Commands Example *HELP C TO CHANGE D TO DELETE F TO CLOSE OUT FILE I TO INSERT N FOR NEXT RECORD P FOR NEXT PAGE S TO SEARCH T TO TYPE CURRENT RECORD 7.3.2 Type Command (T) Typing "T" causes Page 1 of the current record to be displayed. Note that this is the only way to display the record if the the short dialog was selected at the beginning of the program above (Paragraph 7.2). Page 7-3 7.3.2.1 Type Command Example - *T 5 BADGE NUMBER :123 6 LAST NAME :DOE 7 FIRST NAME :JOHN 8 MIDDLE INITIAL :P. 9 WAGE CLASS :4 10 COST CENTER :54C 11 PHONE EXTENSION :43214 12 HOURLY RATE :250 13 MAIL STOP : 14 LOCATION CODE : 7.3.3 Insert Command (I) Typing an "I" at this time sets the program to the Insert mode. The program remains in this mode until an "F" (Finish) is typed, to allow one record after another to be input with minimal communication with the program. While inserting, the program will display the size of each field (or the optional validation data, if used) between two colons. This will be followed by the field name on the next line. NOTE When inputting, do not be concerned if all of the fields are not displayed. Possibly, you have not been granted the privilege to access those lines which are not. 7.3.3.1 Insert Command Example - In the following example, note that the data field input for field 11 did not validate against the validation field, and is flagged as a data error. There may be an exception to your validation field which would necessitate overriding this error. For example, if you input a rejected field twice, exactly the ________ same way for a total of three times, the error will be flagged again but the data will be accepted. This condition exists for both the input and record change routines. Observe also, the use of the "L" command in field 13 to skip to a desired record line while in Insert mode. (Refer to Paragraph 4.5.1.) Page 7-4 *I 5 :NNNNN: 5 BADGE NUMBER :123 6 :AAAAAAAAAAAAAAAAAAAA: 6 LAST NAME :DOE 7 :AAAAAAAAAAAAAAA: 7 FIRST NAME :JOHN 8 :XX: 8 MIDDLE INITIAL :P. 9 :N: 9 WAGE CLASS :4 10 :XXX: 10 COST CENTER :54C 11 :NNNNN: 11 PHONE EXTENSION :43A1D 11 :NNNNN: 11 PHONE EXTENSION :43A1D DATA E R R O R ^ ^ 11 :NNNNN: 11 PHONE EXTENSION :43214 12 :NNNN: 12 HOURLY RATE :250 13 :XXX: 13 MAIL STOP :L #16 16 :XXXXXXXXXX: 16 AUTO MAKE :FORD 17 :7NNNNN: 17 REGISTRATION DATE :770201 18 :NNNNN: 18 WEEKLY INSUR. DED. :520 19 :XXXXXX: 19 AUTO REGISTRATION :A55121 20 :XXXXXXXXXX: 20 AUTO MAKE :DODGE 21 :7NNNNN: 21 REGISTRATION DATE :780423 22 :NNNNN: 22 WEEKLY INSUR. DED. :250 7.3.3.2 Insert Command Options - The following Insert command options are available: 1. Once you have input as much data as desired, you can write out the current record and begin the next by typing "F". If the LONG dialog is requested at the beginning of the program, page 1 will be displayed each time you complete a record. Page 7-5 EXAMPLE: 23 :XXXXXX: 23 AUTO REGISTRATION :F 5 BADGE NUMBER :123 6 LAST NAME :DOE 7 FIRST NAME :JOHN 8 MIDDLE INITIAL :P. 9 WAGE CLASS :4 10 COST CENTER :54C 11 PHONE EXTENSION :43214 12 HOURLY RATE :250 13 MAIL STOP : 14 LOCATION CODE : 2. Typing an "F" in the first field of your data base, while in the Insert mode, will take you out of this loop; the program will return with the asterisk and wait for your next command. EXAMPLE: 5 :NNNNN: 5 BADGE NUMBER :F * 7.3.4 Search Command (S) The Search command is represented by an "S". When searching for a record within your data base, search for the unique field defined as the data base Key Field. In this example, the Key Field is "BADGE NUMBER". If the program successfully finds your record, it will display Page 1 provided the LONG dialog was selected; the SHORT dialog causes the program to respond with an asterisk, with the "T" command required to display the record. Page 7-6 7.3.4.1 Search Command Example - *S TYPE IN THE KEY YOU ARE SEARCHING FOR: 123 5 BADGE NUMBER :123 6 LAST NAME :DOE 7 FIRST NAME :JOHN 8 MIDDLE INITIAL :P. 9 WAGE CLASS :4 10 COST CENTER :54C 11 PHONE EXTENSION :43214 12 HOURLY RATE :250 13 MAIL STOP : 14 LOCATION CODE : If your record is not found in the data base, the program will respond with "NO SUCH KEY". EXAMPLE: *S TYPE IN THE KEY YOU ARE SEARCHING FOR: 25172 NO SUCH KEY 7.3.5 Change Command (C) The "C" command provides the capability to change the current record. Prior to using it, however, either the Search or Insert commands must have previously been used. Once "C" is entered, the first page of the current record will be displayed and the line numbers to be changed will be requested. These line numbers may be entered in any order. Follow each entry with a and terminate your selection by typing either a zero or an extra . Note that the same validation rules hold true for the Change routine as for the Insert routine, provided the validation option is used. The difference between the Change and the Insert command using the Validation File, is that the data to be changed is displayed instead of the validation information. A blank data field will display the blanks. Page 7-7 7.3.5.1 Change Command Example - *C 5 BADGE NUMBER :123 6 LAST NAME :DOE 7 FIRST NAME :JOHN 8 MIDDLE INITIAL :P. 9 WAGE CLASS :4 10 COST CENTER :54C 11 PHONE EXTENSION :43214 12 HOURLY RATE :250 13 MAIL STOP : 14 LOCATION CODE : TYPE IN LINE NUMBERS YOU WISH TO CHANGE TERMINATE WITH A 0 OR EXTRA *13 *14 *0 The program will then request that the fields selected be rewritten. Upon completion, Page 1 of the record just changed will be shown. EXAMPLE: 13 MAIL STOP : : 13 :A23 14 LOCATION CODE : : 14 :PK-1 5 BADGE NUMBER :123 6 LAST NAME :DOE 7 FIRST NAME :JOHN 8 MIDDLE INITIAL :P. 9 WAGE CLASS :4 10 COST CENTER :54C 11 PHONE EXTENSION :43214 12 HOURLY RATE :250 13 MAIL STOP :A23 14 LOCATION CODE :PK-1 Page 7-8 7.3.6 Next Command (N) The "N" command allows advancement to the next record from the current record. You will be shown Page 1 the next record and then returned to the asterisk. 7.3.6.1 Next Command Example - *N 5 BADGE NUMBER :145 6 LAST NAME :JONES 7 FIRST NAME :JOHN 8 MIDDLE INITIAL :P. 9 WAGE CLASS :2 10 COST CENTER :521 11 PHONE EXTENSION :33421 12 HOURLY RATE :555 13 MAIL STOP :P22 14 LOCATION CODE :PK-3 A number placed after the "N" causes the program to advance by that number of records; you will be shown that record, followed by asterisk. The maximum number that can be used with the Next command is 99; advancement beyond the limitations of the file results in the program typing "END OF FILE". EXAMPLE: *N20 END OF FILE 7.3.7 Page Command (P) The "P" command causes the requested page to be displayed. A non-existent page request will display Page 1. The format is "Pn", where "n" is the page number you wish to see. Page 7-9 7.3.7.1 Page Comand Example - *P2 15 AUTO REGISTRATION : 16 AUTO MAKE :FORD 17 REGISTRATION DATE :770201 18 WEEKLY INSUR. DED. :520 7.3.8 Delete Command (D) The "D" command allows deletion of an entire record. Having typed "D", you will be requested to type in the key field corresponding to the specific record to be deleted. Page 1 of that record will be displayed and the program will ask: "DELETE THIS RECORD...ARE YOU SURE?" Any response other than "YES" or "Y" will cause the record to remain intact. 7.3.8.1 Delete Command Example - *D TYPE KEY TO BE DELETED: 123 5 BADGE NUMBER :123 6 LAST NAME :DOE 7 FIRST NAME :JOHN 8 MIDDLE INITIAL :P. 9 WAGE CLASS :4 10 COST CENTER :54C 11 PHONE EXTENSION :43214 12 HOURLY RATE :250 13 MAIL STOP :A23 14 LOCATION CODE :PK-1 DELETE THIS RECORD...ARE YOU SURE? Y 7.3.9 Finish Command (F) The "F" command at this level causes the program to exit to the monitor. 7.3.9.1 Finish Command Example - *F EXIT . Page 7-10 7.4 DBMTST OVERVIEW The following example, using the Next ("N") Command, illustrates what the user would see had he the privilege to access all information in the file: .RUN DBMTST PASSWORD: COLE CSS DATA BASE MANAGEMENT SYSTEM CSSDBM(V05) LONG OR SHORT DIALOG: L *N 1 RECORD CREATION DATE :780516 2 RECORD ACCESS DATE :780516 3 ANNUAL SALARY : 4 TOTAL WEEKLY INS DED : 5 BADGE NUMBER :145 6 LAST NAME :JONES 7 FIRST NAME :JOHN 8 MIDDLE INITIAL :P. 9 WAGE CLASS :2 10 COST CENTER :521 11 PHONE EXTENSION :33421 12 HOURLY RATE :555 13 MAIL STOP :P22 14 LOCATION CODE :PK-3 *F EXIT The files you now have in your directory are the same as those previously listed at the end of Chapter 6, with the exception that both the .IDA (Data) and .IDX (Index) files have increased somewhat in size; type DIR to verify. CHAPTER 8 CSSDBM ARITHEMETIC PROCESSOR (CSSTOT) 8.1 GENERAL DESCRIPTION CSSTOT was written to provide non-programmers with the means of converting mathematical logic into an acceptable program via a simple on-line dialog. Once data has been entered into your file, it may be desirable to generate statistical information within each record for analysis. To do this, CSSTOT creates a COBOL source file which, when executed, reads each record in your file and performs mathematical operations on it. The record is then rewritten. Some advance consideration (Paragraph 8.1.1) should be given before running CSSTOT to avoid confusion. 8.1.1 Special CSSTOT Parameters Because of the high volume of data accessed by CSSTOT, some precautions were taken during its development. 1. A privilege code of 3 is required to run CSSTOT and a privilege code of 2 is required to execute the program output by CSSTOT. 2. Users must have a data base Validation File. The ____ ____ program uses this file to ensure that all fields in your mathematical operation are numeric. The validation fields must either contain "N's" or spaces. If you create a validation field containing all spaces, the data entry routine (DBMTST in this document) will accept nothing in that field. This prevents data from being entered into a field which will be overwritten by the Arithmetic Processor, CSSTOT. 3. If you have modified your data base with CSSCNG (Chapter 10), it may be necessary for you to change your Validation File (DBMTST.VLD) with CSSVLD (Paragraph 4.5) before this Arithmetic Processor will work. Page 8-2 8.2 INPUT FORMAT Input to CSSTOT should be in the form of an equation not to exceed 72 characters. Each equation must be terminated with a period, followed by a . Items in each equation can be either field symbols or integers, and parenthesis may be used to qualify your operation. The only format restrictions are: 1. Spaces must be placed between each item or integer and the operational sign. 2. The destination of the calculations must always be specified first. 3. All field references must be followed by a delimiter of "INN"; the intended field number will be recognized as an integer, otherwise. 8.2.1 CSSTOT Example The following example illustrates the arithemetic operations required to produce the report illustrated in Chapter 9, after Paragraph 9.7.2. Note that most error conditions are flagged when you input your equation; entry errors can be easily corrected by jumping back to the error with the "L" command, Paragraph 4.5.1. Observe the special symbol "@", following the "INN" delimiter, below in equation 2. This symbol represents the collective sum for each corresponding item on all following overlay pages, and will be rejected, obviously, if your file is not configured with overlay pages. Compiler warnings may occur if the output field size is less than the input field size. These warnings won't prevent execution, but understand what they are telling you. Fatal errors, on the otherhand, prevent CSSTOT form operating and will not let you continue unitl the problem has been corrected. Page 8-3 Once all equations have been entered, type an extra to write your program onto the disk. Next, the program should be compilied, loaded with ECHO.REL, as shown below, and saved. Once this is done, it can be run as often as a re-computation within your file is necessary. NOTE The 3 character indentifier asked for can be any 3 characters of your choosing, but it is recomended that they, in some way, identify the data base for which CSSTOT has been written. Mathematical Symbols: + ADD - SUBTRACT * MULTIPLY / DIVIDE .RUN CSSTOT TYPE NAME OF INPUT FORMAT FILE: DBMTST PASSWORD: COLE CSS ARITHMETIC PROCESSOR CSSTOT(V05) TYPE A 3 CHARACTER IDENTIFIER FOR THIS APPLICATION: 001 TYPE IN YOUR NAME: JOHN DOE TYPE IN UP TO 30 EQUATIONS; TERMINATE EACH WITH A PERIOD. 1 : 3INN = 1 WRONG NUMBER OF PERIODS IN STATEMENT 1 : 7INN = 1. 7INN IS NOT NUMERIC IN THE VALIDATION FILE 1 : 3INN = (12INN * 40) * 52). WRONG NUMBER OF PARENTHESIS 1 : 3INN = (12INN * 40). 2 : L # 1 1 : 3INN = ((12INN * 40) * 52). 2 : 4INN = 18INN@. 3 : CREATING TOT001.CBL ... EXIT Page 8-4 .LOAD TOT001.CBL,ECHO COBOL: TOT001 [TOT001.CBL] WARNINGS: 0177 MOST SIGNIFICANT DIGITS TRUNCATED ON 3INN NO FATAL ERRORS, 1 WARNING LINK: Loading EXIT .SAVE TOT001 SAVED .RUN TOT001 PASSWORD: HARRIS EXIT Page 8-5 A check of your directory will show that you have added 3 new files: TOT001.CBL (Arithmetic Process COBOL File) TOT001.REL (Arithmetic Process Relocatable File) TOT001.EXE (Arithmetic Process Executable File) As several of these files are no longer required and are taking up valuable space, they can, and should, be deleted. Those files are: DBMTST.SEQ (Data Base Sequential File) DBMTST.CBL (Data Base COBOL File) DBMTST.REL (Data Base Relocatable File) TOT001.CBL (Arithmetic Process COBOL File) TOT001.REL (Arithmetic Process Relocatable File) When completed, your directory should contain the following files. Verify by typing DIR . LIB:[PROJ,PROG] (See Paragraph 1.5) DBMTST.FMT (Data Base Format File) DMBAUD.FMT (Audit Trail Format File) (If Audit Trail option selected.) DBMTST.VLD (Data Base Validation File) (If On-line Validation option selected.) DBMTST.EXE (Data Base Executable File) DBMTST.IDA (Data Base Data File) DBMTST.IDX (Data Base Index File) DBMAUD.IDA (Audit Trail Data File)* DBMAUD.IDX (Audit Trail Index File)* *(If Audit Trail option selected.) TOT001.EXE (Arithmetic Process Executable File) CHAPTER 9 CSSDBM REPORT WRITER (CSSRPT) 9.1 GENERAL DESCRIPTION Once the data input phase of CSSDBM is complete, the data extraction process can begin. The CSSDBM program that acomplishes this task is called the CSSDBM Report Writer (CSSRPT). CSSRPT has the facilities to sort, arrange, selectively extract, and total data to suit each user's specific needs. Before attempting to generate a report, the user should reference the work sheet provided by DBMDMP (Paragraph 3.2). To minimize error, the Report Writer was designed to present the entire dialog in as simple and foolproof a manner as possible. Significant thought, however, should go into the desired output format before running CSSRPT. As with most general purpose systems, some restrictions exist and should be understood before attempting to generate reports. These restrictions are as follows: 1. Output is limited to 132 characters when using the line printer (a printer restriction). 2. CSSRPT will only run on files created with CSSDBW. 3. Output is limited to 72 characters when using the user terminal (TTY). NOTE Because many system users wish to keep some data confidential, it is recommended that the same person who initialized the system generate its output. Page 9-2 9.2 REPORT GENERATION AND ACCESS PRIVILEGE To begin report generation, type "RUN CSSRPT". The program will then request the name of the format file from which the report is to be generated. If the report is of your Audit Trial, "DBMAUD" is the correct response. (See Paragraph 6.5.) Prompts for the Project, Programmer number on which the data base and format file reside are asked for next. If these reside on your user area, a response will cause CSSRPT to reference your area. From the format file, CSSRPT reads the table of users, and requests a password. One of the codes entered by the administrator upon initialization of the system must be typed. If done successfully, the program responds with its name. If the password is invalid, the program will exit to the monitor. A privilege code of 2 or 3 is required to run the report writer ______ (CSSRPT); a code equal to or greater than the one given in answer to the question "ENTER PRIVILEGE REQUIRED TO RUN THIS REPORT:" will be allowed to run the report, once built. Typing a defaults to a privilege level of 2. The program then asks "NEW OR OLD:". With this feature, you may change values in existing reports, as illustrated later in the chapter. In the following example, we will be creating a "NEW" report. Once it is established that the user will be allowed to access the data, the program will ask "DO YOU WANT TO SEE YOUR INPUT BEFORE PROCEEDING (Y OR N):". Users not completely familiar with the input configuration, should answer "YES" to this question. Preferably, this should be done on a hard copy terminal so that the field description can be retained. The DBMDMP program, as described in Chapter 3, should be used as a worksheet in the generation of the report. 9.2.1 CSSRPT Example .RUN CSSRPT TYPE NAME OF INPUT FORMAT FILE: DBMTST ENTER DATA BASE PROJECT PROGRAMMER NUMBER OR IF DATA BASE IS ON THIS AREA PPN: PASSWORD: HARRIS CSS REPORT GENERATOR CSSRPT(V05) NEW OR OLD: NEW Page 9-3 DO YOU WANT TO SEE YOUR INPUT BEFORE PROCEEDING (Y OR N): YES FLD FIELD FIELD : FLD FIELD FIELD : NUM NAME SIZE : NUM NAME SIZE : 1..RECORD CREATION DATE.. 6 : 2..RECORD ACCESS DATE .. 6 : 3..ANNUAL SALARY .. 7 : 4..TOTAL WEEKLY INS DED.. 5 : 5..BADGE NUMBER .. 5 : 6..LAST NAME .. 20 : 7..FIRST NAME .. 15 : 8..MIDDLE INITIAL .. 2 : 9..WAGE CLASS .. 1 : 10..COST CENTER .. 3 : 11..PHONE EXTENSION .. 5 : 12..HOURLY RATE .. 4 : 13..MAIL STOP .. 3 : 14..LOCATION CODE .. 6 : 15..AUTO REGISTRATION .. 6 : 16..AUTO MAKE .. 10 : 17..REGISTRATION DATE .. 6 : 18..WEEKLY INSUR. DED. .. 5 : 19..AUTO REGISTRATION .. 6 : 20..AUTO MAKE .. 10 : 21..REGISTRATION DATE .. 6 : 22..WEEKLY INSUR. DED. .. 5 : 23..AUTO REGISTRATION .. 6 : 24..AUTO MAKE .. 10 : 25..REGISTRATION DATE .. 6 : 26..WEEKLY INSUR. DED. .. 5 : 27..AUTO REGISTRATION .. 6 : 28..AUTO MAKE .. 10 : 29..REGISTRATION DATE .. 6 : 30..WEEKLY INSUR. DED. .. 5 : 31..AUTO REGISTRATION .. 6 : 32..AUTO MAKE .. 10 : 33..REGISTRATION DATE .. 6 : 34..WEEKLY INSUR. DED. .. 5 : 35..AUTO REGISTRATION .. 6 : 36..AUTO MAKE .. 10 : 37..REGISTRATION DATE .. 6 : 38..WEEKLY INSUR. DED. .. 5 : 9.3 AUTHOR'S NAME AND OUTPUT DEVICE SELECTION The program now requests that the user enter his name, which will be written into the author's line of the COBOL source file. CSSRPT also features a means of outputting a very select segment of information to a user terminal (TTY) for quick reference. A defaults to "device disk" (DSK), unless "TTY" is specifically typed. If "TTY" is entered, the program will ask "OUTPUT TO A VT05:". A "YES" response pages every 20 lines; a "NO" response causes each page of output to contain 58 lines. 9.3.1 Privilege, Author and Output Device Example ENTER PRIVILEGE REQUIRED TO RUN THIS REPORT: 1 TYPE IN YOUR NAME: JOHN DOE OUTPUT DEVICE (DSK OR TTY): DSK WILL OUTPUT TO DSK Page 9-4 9.4 OUTPUT DEFINITION 9.4.1 Long or Short Dialog Output definition begins by the program asking "LONG OR SHORT DIALOG:". Users not totally familiar with the input should select the long dialog as it is more explanatory. The short dialog is designed for users familiar with their input and/or running on a low speed terminal. 9.4.2 Input to Output Field Correspondence The program now enters a loop which completely defines the report's output appearance. The first question asked is "INPUT FIELD NUMBER:". In response, the user types the input field number which will be placed in the first column, or field, of the output. Typing a field number which has already been selected results in CSSRPT responding with "FIELD USED BEFORE. PROCEED (Y OR N):". If "Y" is typed, the program will continue to process this field as if it had not been previously selected. Otherwise, it will loop back to display "INPUT FIELD NUMBER:" again. The program will verify your choice by displaying the selected field's number, its name and size. NOTE If a field is output more than once, it can only be broken down on the first occurance (Paragraph 9.4.5). Page 9-5 9.4.3 Field Alpha, Numeric or Date Characteristics The program loop continues by displaying "FIELD ALPHA, NUMERIC OR DATE (A, N OR D):". Typing a or an "A" assumes an alpha-numeric field. If an "N" is typed (numeric), the program will display "DO YOU WANT TO TOTAL THIS FIELD:". A "YES" response produces subtotals for these fields on each change of the first sort, and grand totals at the report's conclusion. If totals are requested for a field, or if the field has decimal positions, you will not be allowed to reduce the field, because integers cannot be broken down. If the "D" (date) option is specified, the input field, which must be six characters of the form "YYMMDD" (780927), will be displayed on the report as "DD-MON-YY" (27-SEP-78). This conversion occurs only after all sorting and suppression takes place. To use the Date Suppression feature (Paragraph 9.6.4) however, the field must be defined as either "N" or "D" at this time. ____ __ 9.4.4 Output Field Size The next step in the input loop requests the user to "TYPE TOTAL OUTPUT FIELD SIZE:" into which the input field will be moved. A for this response will use the input field size as default. Conservative users may decide that adequate informaton can be obtained from the first 15 characters of a 25 character input field. The system displays the cummulative total of characters, plus minimum spacing in your output record, to keep the user aware of the 132 character limit, or 72 character limit when output device selected was TTY. NOTE The total characters displayed are equal to one plus the input field size. If specified numeric, and not broken down, one will be added for a possible "-" minus sign and another for the decimal point if it applies. On dates, plan on allowing 10 characters to be added to the running total. Page 9-6 9.4.5 Field Breakdown Finally, the program allows the user to break a field into two or more smaller fields, to permit access to these sub-fields, by asking: "FIELD BREAKDOWN EXTRA WHEN DONE". If no breakdown is wanted, simply enter a . Having selected all output fields, this loop is broken by typing "STOP" when the program next displays "INPUT FIELD NUMBER:". Page 9-7 9.4.5.1 Field Breakdown Example - LONG OR SHORT DIALOG: L ANSWER THE FOLLOWING ABOUT YOUR OUTPUT: INPUT FIELD NUMBER: 5 FLD FIELD FIELD : NUM NAME SIZE : 5..BADGE NUMBER .. 5 : FIELD ALPHA, NUMERIC OR DATE (A, N OR D): TYPE TOTAL OUTPUT FIELD SIZE: FIELD BREAKDOWN EXTRA WHEN DONE * 6 CHARACTERS APPROXIMATELY INPUT FIELD NUMBER: 6 FLD FIELD FIELD : NUM NAME SIZE : 6..LAST NAME .. 20 : FIELD ALPHA, NUMERIC OR DATE (A, N OR D): TYPE TOTAL OUTPUT FIELD SIZE: FIELD BREAKDOWN EXTRA WHEN DONE *1 *19 * 27 CHARACTERS APPROXIMATELY INPUT FIELD NUMBER: 7 FLD FIELD FIELD : NUM NAME SIZE : 7..FIRST NAME .. 15 : FIELD ALPHA, NUMERIC OR DATE (A, N OR D): TYPE TOTAL OUTPUT FIELD SIZE: 10 FIELD BREAKDOWN EXTRA WHEN DONE * 38 CHARACTERS APPROXIMATELY Page 9-8 INPUT FIELD NUMBER: 8 FLD FIELD FIELD : NUM NAME SIZE : 8..MIDDLE INITIAL .. 2 : FIELD ALPHA, NUMERIC OR DATE (A, N OR D): TYPE TOTAL OUTPUT FIELD SIZE: FIELD BREAKDOWN EXTRA WHEN DONE * 41 CHARACTERS APPROXIMATELY INPUT FIELD NUMBER: 1 FLD FIELD FIELD : NUM NAME SIZE : 1..RECORD CREATION DATE.. 6 : FIELD ALPHA, NUMERIC OR DATE (A, N OR D): D 51 CHARACTERS APPROXIMATELY INPUT FIELD NUMBER: 10 FLD FIELD FIELD : NUM NAME SIZE : 10..COST CENTER .. 3 : FIELD ALPHA, NUMERIC OR DATE (A, N OR D): TYPE TOTAL OUTPUT FIELD SIZE: FIELD BREAKDOWN EXTRA WHEN DONE * 55 CHARACTERS APPROXIMATELY INPUT FIELD NUMBER: 4 FLD FIELD FIELD : NUM NAME SIZE : 4..TOTAL WEEKLY INS DED.. 5 : FIELD ALPHA, NUMERIC OR DATE (A, N OR D): N DO YOU WANT TO TOTAL THIS FIELD:N 63 CHARACTERS APPROXIMATELY INPUT FIELD NUMBER: 17 FLD FIELD FIELD : NUM NAME SIZE : 17..REGISTRATION DATE .. 6 : FIELD ALPHA, NUMERIC OR DATE (A, N OR D): D 73 CHARACTERS APPROXIMATELY Page 9-9 INPUT FIELD NUMBER: 11 FLD FIELD FIELD : NUM NAME SIZE : 11..PHONE EXTENSION .. 5 : FIELD ALPHA, NUMERIC OR DATE (A, N OR D): TYPE TOTAL OUTPUT FIELD SIZE: FIELD BREAKDOWN EXTRA WHEN DONE * 79 CHARACTERS APPROXIMATELY INPUT FIELD NUMBER: 15 FLD FIELD FIELD : NUM NAME SIZE : 15..AUTO REGISTRATION .. 6 : FIELD ALPHA, NUMERIC OR DATE (A, N OR D): TYPE TOTAL OUTPUT FIELD SIZE: FIELD BREAKDOWN EXTRA WHEN DONE * 86 CHARACTERS APPROXIMATELY INPUT FIELD NUMBER: 16 FLD FIELD FIELD : NUM NAME SIZE : 16..AUTO MAKE .. 10 : FIELD ALPHA, NUMERIC OR DATE (A, N OR D): TYPE TOTAL OUTPUT FIELD SIZE: FIELD BREAKDOWN EXTRA WHEN DONE * 97 CHARACTERS APPROXIMATELY INPUT FIELD NUMBER: 18 FLD FIELD FIELD : NUM NAME SIZE : 18..WEEKLY INSUR. DED. .. 5 : FIELD ALPHA, NUMERIC OR DATE (A, N OR D): N DO YOU WANT TO TOTAL THIS FIELD:Y 105 CHARACTERS APPROXIMATELY INPUT FIELD NUMBER: STOP Page 9-10 9.5 INPUT DATA FIELD REPRESENTATION To allow for efficient data manipulation within the report writer, it was necessary to establish a symbol to be used as a representation of a data field. This symbol indicates all of the information necessary to process data from this point. It has the form: 6INN2 Where: 6 = The input field number. INN = The symbols used to seperate the two integers. 2 = The occurrence of a subdivision of that input field which was caused when the field was broken down during the definition of the output. References to input fields, throughout the remainder of this document, will be made with these symbols. 9.6 OUTPUT FORMAT DIALOG 9.6.1 Overlay and Header Option Users that had their data base designed with an overlay page with CSSDBM will be asked "OVERLAY PAGE (Y OR N):". A response of "NO" causes the file to be output exactly as each input record appears. A "YES" response, however, causes all of the requested information on the pages preceeding the first overlay page to be processed as many times as there are filled overlay pages. Several output records, therefore, can be obtained from the same input record. The program will now determine if you want the common data printed with each overlay page by asking "DO YOU WANT HEADER FIELDS AFTER FIRST PRINTING:". A "YES" response causes the output record to contain exactly the same header information as did the previous output record, with each overlay page printed. If the answer is "NO", all related pages following the first will have the header fields blanked out. This feature is included only for the ease of reading the report. Note, however, that if you elect to total a header field, a "NO" answer is required or the total will be grossly in error. _______ __ _____ Page 9-11 9.6.1.1 Overlay and Header Option Example - OVERLAY PAGE (Y OR N): YES DO YOU WANT HEADER FIELDS AFTER FIRST PRINTING: NO 9.6.2 Report File Code Name CSSRPT now responds with "TYPE 3 CHAR REPORT FILE CODE:". Respond with your own disk filename for both the output COBOL source file and the report itself, each beginning with RPT. This distinguishes report programs from others produced by CSSRPT. Ensure that the filename chosen does not already exist on disk, unless you intend to overwrite it. 9.6.2.1 Report File Code Name Example - TYPE 3 CHAR REPORT FILE CODE: 001 9.6.3 Report Title The program now displays "TYPE REPORT TITLE (FOR TOP OF EACH PAGE"). The response to this question is centered and placed at the top of each of the report pages, and can be a maximum of 64 characters in length. 9.6.3.1 Report Title Example - TYPE REPORT TITLE (FOR TOP OF EACH PAGE) *PERSONNEL INSURANCE DEDUCTION SUMMARY BY COST CENTER 9.6.4 Data Suppression Feature To minimize unnecessary output, CSSRPT contains a feature to suppress unwanted record information, thus preventing it from appearing in your report. This loop consists of the symbol representing the input field containing the data to be suppressed, a sign, and from one to ten literals. If the field data is equal to the data to be suppressed, the entire record will be omitted. A maximum of ten fields can be tested for suppression, but each field can only be used with the same sign once. Finally, the field specified for suppression can be any field in the data base, yet does not have to be included in the output report. The user responds to the question "INPUT SYMBOL:" with a "" if no suppression is wanted. Otherwise, the user inputs the field number, followed by "INN" and the sub-field number, if the Page 9-12 field was broken down during input. The next request in this loop is for "SIGN:". Response is either "=", "NOT", ">" or "<". 1. If "=" is typed, input will be left out of the report if the corresponding input field equals one of the ten literals specified in the next step; i.e., it won't be _____ printed. 2. If "NOT" is typed, any occurence of one of the ten literals will not be suppressed from the report; i.e., it will be printed. ____ 3. The ">" sign will cause the input record to be suppressed if field is greater than any occurance of one of the ten literals. 4. The "<" sign will cause suppression if the field is less than the specified literals. NOTE Use of either "<" or ">" requires that these fields be defined as numeric during the input definition _______ of the report. If a literal is placed between two "/"(slashes), the literal will be used as a prompt to the user for a variable input at the time the report is run. An entry of "//"(slashes) to the literal querie will cause the prompts at run time to appear as asterisks. This avoids the redundancy of the same prompts appearing for each related variable to be entered. The maximum size for each prompt is 32 characters, excluding the slashes. It is advisable to allow one space following the prompt, before the last backslash, for clarity when the report is run later. 9.6.4.1 Data Suppression Example - SUPPRESS: IF NONE OR WHEN SELECTION IS COMPLETE INPUT SYMBOL: 6INN1 6..LAST NAME SIGN: = LITERAL: F LITERAL: G LITERAL: Page 9-13 INPUT SYMBOL: 10INN 10..COST CENTER SIGN: NOT LITERAL: /ENTER 3 COST CNTRS FOR RPT: / LITERAL: // LITERAL: // LITERAL: INPUT SYMBOL: 9.6.5 Sorting Sequence The report's sorting sequence is now selected. If desired, reports may be sorted on a field not selected for output. These fields are referenced by the field number and followed by the symbol INN. CSSRPT will display "TYPE SORT SEQUENCE ( IF NO SORT)"; a single response would generate the report sorted only by the data base key. The sort sequence is selected by means of input symbols separated by commas and terminated by a . The input buffer limit for all sort symbols is 32 characters, therefore, the number of fields on which you can sort will depend on the size of the input symbols. As shown in the following example, the total number of characters in the sort input line, including spaces, is 17. As the data break only occurs when a sort is selected, it will occur when information changes in the field defined as the first sort. 9.6.5.1 Sorting Sequence Example - TYPE SORT SEQUENCE ( IF NO SORT) *10INN, 6INN, 7INN WILL BREAK ON COST CENTER 9.6.6 Spacing, Paging, and Line Skipping The program now asks three brief questions. The first is a request for double spacing, to which a "YES" or "NO" response is required. "NO", or , will result in single spacing, which is default. If a sort has been selected, the program will ask if you want a new page on the break, i.e. everytime the first field sorted changes, a line-printer top-of-form will result. Finally, if a new page on the break was not requested, it will ask how many lines to skip after each break; Default is one line. Page 9-14 9.6.6.1 Spacing, Paging, and Line Skipping Example - DO YOU WANT DOUBLE SPACING: NO DO YOU WANT A NEW PAGE ON THE BREAK: NO TYPE NUMBER OF LINES TO SKIP AFTER A BREAK: 3 9.6.7 Column Headings The final phase of report generation involves the creation of the small field, or column headings, above each of your output fields. The program provides as much space as possible for these headings while ensuring that they do not overrun each other. Therefore, if the field size is small and the number of spaces between each field is small, extensive abbreviation may be required. The user will be shown the exact number of characters allowed for field headings between colons, and also the corresponding field name it represents. This sequence will occur twice, thereby allowing two lines of heading over each output column. Reports will appear neater to read if alpha fields are titled to the left of the space allowed. Numeric fields, because they are right justified, are more legible if the titles are shifted to the right side of the space allowed. When these headings are completed, the program will generate a COBOL source file, which when executed, will produce the report. Once the report is deemed satisfactory, it can be loaded, saved and run at will. The user need only run through CSSRPT once. 9.6.7.1 Column Headings Example OUTPUT FIELD COLUMN INFORMATION :------: BADGE NUMBER :BADGE :------: BADGE NUMBER :NUMBER :---------------------: LAST NAME :LAST :---------------------: LAST NAME :NAME :-----------: FIRST NAME :FIRST :-----------: FIRST NAME :NAME :---: MIDDLE INITIAL :MID :---: MIDDLE INITIAL :INI Page 9-15 :----------: RECORD CREATION DATE :CREATION :----------: RECORD CREATION DATE : DATE :----: COST CENTER :COST :----: COST CENTER :CNTR :--------: TOTAL WEEKLY INS DED :TOT WEEK :--------: TOTAL WEEKLY INS DED :INS DED :----------: REGISTRATION DATE :REGISTRAT. :----------: REGISTRATION DATE : DATE :------: PHONE EXTENSION :PHONE :------: PHONE EXTENSION :EXTEN. :-------: AUTO REGISTRATION :REGIST. :-------: AUTO REGISTRATION :NUMBER :-----------: AUTO MAKE :AUTO :-----------: AUTO MAKE :MAKE :--------: WEEKLY INSUR. DED. :WEEK INS :--------: WEEKLY INSUR. DED. :DEDUCT. CREATING RPT001.CBL ... EXIT 9.7 OUTPUT PROGRAM The COBOL source file just written onto the disk by CSSRPT will output the report. This program can be loaded and saved, as shown below, to obtain this report more than once. It can also be executed if it is a "once-only" report, in which case delete the report source ("CBL" and "REL") files upon successful execution and aquisition of the report. In the following examples, the load, save, and run procedures of the program just created with CSSRPT are illustrated for both repeatable and "once-only" reports. Output from this program will be the report shown following Paragraph 9.7.2. Page 9-16 9.7.1 Repeatable Output Program Example .LOAD RPT001.CBL,ECHO COBOL: RPT001 [RPT001.CBL] LINK: Loading EXIT .SAVE RPT001 SAVED By typing DIR , you will find that the final necessary files have been created and added to your directory. The new ones are: RPT001.HLD (Report Hold File) RPT001.CBL (Report COBOL File) RPT001.REL (Report Relocatable File) RPT001.EXE (Report Executable File) Unless you are fimilar with COBOL and plan to make special changes to the COBOL file not normally allowed with CSSDBM, delete the Report COBOL and Relocatable Files (RPT001.CBL and RPT001.REL), as both have served their purpose and are no longer required. Your total directory should now contain the following files: LIB:[PROJ,PROG] (See Paragraph 1.5) DBMTST.FMT (Data Base Format File) DMBAUD.FMT (Audit Trail Format File) (If Audit Trail option selected.) DBMTST.VLD (Data Base Validation File) (If On-line Validation option selected.) DBMTST.EXE (Data Base Executable File) DBMTST.IDA (Data Base Data File) DBMTST.IDX (Data Base Index File) DBMAUD.IDA (Audit Trail Data File)* DBMAUD.IDX (Audit Trail Index File)* *(If Audit Trail option selected.) TOT001.EXE (Arithmetic Process Executable File) RPT001.HLD (Report Hold File) RPT001.EXE (Report Executable File) .RUN RPT001 PASSWORD: HARRIS ENTER 3 COST CNTRS FOR RPT: 201 *202 *203 EXIT .PRINT RPT001.LPT Page 9-17 If you desire a hard copy of the parameters you used to construct your report, return to Paragraph 3.1 and run DBMDMP. This time, fill in the name of your report rather than depress , and all parameters selected will be entered for you automatically. 9.7.2 "Once-only" Output Program Example .EXECUTE RPT001.CBL, ECHO COBOL: RPT001 [RPT001.CBL] LINK: Loading [LNKXCT RPT001 EXECUTION] PASSWORD: HARRIS ENTER 3 COST CNTRS FOR RPT: 201 *202 *203 EXIT .PRINT RPT001.LPT .DEL RPT001.* Page 9-18 PERSONNEL INSURANCE DEDUCTION SUMMARY BY COST CENTER PAGE 1 RUN ON 01-JUN-78 AT 09:34 BADGE LAST FIRST MID CREATION COST TOT WEEK REGISTRAT. PHONE REGIST. AUTO WEEK INS NUMBER NAME NAME INI DATE CNTR INS DED DATE EXTEN. NUMBER MAKE DEDUCT. 1 BIXBY RICHARD C. 27-MAR-78 201 6.82 01-DEC-77 5164 K22105 CHEVY 2.32 .00 05-FEB-78 212320 HORNET 4.50 212 HANCOCK PAUL W. 27-MAR-78 201 5.17 17-SEP-77 3171 712155 VOLVO 5.17 156 JOHNSON ANN T. 27-MAR-78 201 4.45 14-NOV-77 3867 557546 VOLVO 4.45 167 KNAPP DELORES F. 27-MAR-78 201 3.87 09-JAN-78 5672 356734 PONTIAC 3.87 190 MILTON HARRY T. 27-MAR-78 201 6.50 02-OCT-77 2414 B59807 FORD 6.50 12 PRICE VICTORIA W. 27-MAR-78 201 5.12 01-JAN-78 4055 596021 TRIUMPH 5.12 ***** SUBTOTALS ***** 201 31.93 134 ELKINS GEORGE H. 27-MAR-78 202 3.23 12-FEB-77 2317 250926 VOLKSWAGON 3.23 145 HOFFMANN JANET B. 27-MAR-78 202 2.40 12-SEP-77 5355 460059 SUBARU 2.40 201 PHILLIPS JOHN H. 27-MAR-78 202 10.32 06-DEC-77 5930 513270 BMW 10.32 189 SANTOS ANTHONY P. 27-MAR-78 202 8.09 25-SEP-77 3586 A15217 PONTIAC 5.77 .00 17-JAN-78 N80275 CHEVY 2.32 ***** SUBTOTALS ***** 202 24.04 123 ARNOLD LAWRENCE L. 27-MAR-78 203 5.85 05-MAY-77 6713 285141 DODGE 5.85 178 MILLS EARLE G. 27-MAR-78 203 6.23 15-JAN-77 2371 353802 FORD 6.23 100 WEBB HELEN A. 27-MAR-78 203 7.56 17-MAY-77 2036 596212 MG 4.23 .00 01-FEB-78 522187 AUDI 3.33 111 YAGER DAVID N. 27-MAR-78 203 11.40 20-OCT-77 2189 122574 DATSUN 5.15 .00 10-MAY-77 208373 CORVETTE 6.25 ***** SUBTOTALS ***** 203 31.04 ***** FINAL TOTALS ***** 87.01 Page 9-19 9.8 CSSRPT UPDATE MODE In order to make CSSRPT more useful and more forgiving in terms of typing mistakes, two new modes were added: UPDATE and CHANGE. Note, in addition to the report COBOL source program, a file generated by CSSRPT with an "HLD" extension. This file contains the variable report responses which were input to CSSRPT during the creation, or "NEW" mode, of this report. It is used during both the CHANGE and UPDATE modes of CSSRPT, and also by the DBMDMP utility program to provide a preprinted outline of how your report is structured (refer to Chapter 3). The UPDATE mode of CSSRPT functions similar to the UPDATE mode of CSSDBW (refer to Chapter 2). If you lose your COBOL source program, or for any other reason desire to regenerate it, UPDATE will recreate the COBOL source exactly as it was before. It is therefore far more important to retain the "HLD" files than the "CBL" files, once the COBOL source has been compiled, loaded and saved. The "HLD" file is also considerably smaller than the COBOL source, for users who are disk-space conscious. 9.8.1 CSSRPT UPDATE Example .RUN CSSRPT TYPE NAME OF INPUT FORMAT FILE: DBMTST ENTER DATA BASE PROJECT PROGRAMMER NUMBER OR IF DATA BASE IS ON THIS AREA PPN: PASSWORD: HARRIS CSS REPORT GENERATOR CSSRPT(V5C) NEW OR OLD: OLD ENTER OLD REPORT NAME: RPT001 CHANGE OR UPDATE: UPDATE CREATING RPT001.CBL ... EXIT LOAD RPT001.CBL,ECHO COBOL: RPT001 [RPT001.CBL] LINK: Loading EXIT .SAVE RPT001 SAVED Page 9-20 9.9 CSSRPT CHANGE MODE There are many occasions when, for some reason, it is desirable to change some portion of a report. For this reason, the CHANGE mode was added to CSSRPT. If you have rebuilt your data base with the CSSCNG program in Chapter 10, you will be required to regenerate all of your reports. Although this can be done with the CHANGE and OLD modes as illustrated below, if your changes were extensive it may be easier (and less complicated) to use NEW mode and rebuild the reports in their entirety. While working in CHANGE mode, you will be shown the CSSRPT dialog, with the former response between colons. During the input field selection routine, the command scheme is very similar to that of the CSSDBW CHANGE mode in Chapter 2. Command Function Result Default Leaves current column specification as is. I Insert Places a new report column before the current column. D Delete Delete current column from report. O Overwrite Supersede this report column specification. F Finish Retains all previous column specifications and exits from column selection routine. STOP Stop Make last column displayed the last report column and exits from this routine. 9.9.1 CSSRPT CHANGE Example .RUN CSSRPT TYPE NAME OF INPUT FORMAT FILE: DBMTST ENTER DATA BASE PROJECT PROGRAMMER NUMBER OR IF DATA BASE IS ON THIS AREA PPN: Page 9-21 PASSWORD: HARRIS CSS REPORT GENERATOR CSSRPT(V5C) NEW OR OLD: OLD ENTER OLD REPORT NAME: RPT001 CHANGE OR UPDATE: CHANGE DO YOU WANT TO SEE YOUR INPUT BEFORE PROCEEDING (Y OR N): N ENTER PRIVILEGE REQUIRED TO RUN THIS REPORT: TYPE IN YOUR NAME: JOHN DOE OUTPUT DEVICE (DSK OR TTY): DSK WILL OUTPUT TO DSK LONG OR SHORT DIALOG: L ANSWER THE FOLLOWING ABOUT YOUR OUTPUT: AL T RPT FIELD NU O FIELD FIELD FLD NAME DA T SIZE BREAKDOWN ================================================================== 1...BADGE NUMBER ..A .. .. 5.. , , , , , : 2...LAST NAME ..A .. .. 20.. 1, 19, , , , : 3...FIRST NAME ..A .. .. 10..10, 5, , , , : I INPUT FIELD NUMBER: 13 FLD FIELD FIELD : NUM NAME SIZE : 13..MAIL STOP .. 3 : FIELD ALPHA, NUMERIC OR DATE (A, N OR D): TYPE TOTAL OUTPUT FIELD SIZE: FIELD BREAKDOWN EXTRA WHEN DONE * 31 CHARACTERS APPROXIMATELY Page 9-22 4...FIRST NAME ..A .. .. 10..10, 5, , , , : 5...MIDDLE INITIAL ..A .. .. 2.. , , , , , : D 5...RECORD CREATION DATE..D .. .. 6.. , , , , , : 6...COST CENTER ..A .. .. 3.. , , , , , : 7...TOTAL WEEKLY INS DED..N ..N.. 5.. , , , , , : O INPUT FIELD NUMBER: 2 FLD FIELD FIELD : NUM NAME SIZE : 2..RECORD ACCESS DATE .. 6 : FIELD ALPHA, NUMERIC OR DATE (A, N OR D): D 66 CHARACTERS APPROXIMATELY 8...REGISTRATION DATE ..D .. .. 6.. , , , , , : F Throughout the remainder of the CHANGE dialog, the required report prompt, including the previous responses between colons, will be displayed. If you desire to retain the previous response, enter a ; otherwise, enter a new response, with exceptions as noted in the next three paragraphs: 9.9.1.1 Data Suppression Change - To entirely replace, or to change only a portion of the suppression argument, simply enter the new responses when the program displays the old ones. To delete an argument located in the middle (such as the second of three), input the third argument when the second, beginning with "INPUT SYMBOL:", is displayed. When "INPUT SYMBOL:" of the now duplicated third argument is displayed, typing BLANK will take you out of the suppression loop, delete the third argument, plus any additional arguments that may follow. 9.9.1.2 Output Field Column Heading Change - To remove a title without inserting a new one, type BLANK. Do not be concerned if it is a small field and the word BLANK extends beyond the limiting colons, nor if it is a large field and a portion of the old title remains on the screen. If the change is to insert new wording, simply enter the new title when the program displays the old one. Again, do not be concerned if a portion of the old title remains on the screen; however, the new title must fit between the old limiting colons. Page 9-23 9.9.1.3 Sorting Sequence Change - Typing BLANK in response to "TYPE SORT SEQUENCE ( IF NO SORT)" will delete the previous sequence and default to a sort on the Key Field only. To change the order in any other way, simply respond with the new sequence. 9.9.1.4 Examples - OVERLAY PAGE (Y OR N):Y: DO YOU WANT HEADER FIELDS AFTER FIRST PRINTING:N:Y TYPE 3 CHAR REPORT FILE CODE: 002 TYPE REPORT TITLE (FOR TOP OF EACH PAGE) PERSONNEL INSURANCE DEDUCTION SUMMARY BY COST CENTER * SUPPRESS: IF NONE OR WHEN SELECTION IS COMPLETE INPUT SYMBOL:6INN1 :BLANK TYPE SORT SEQUENCE ( IF NO SORT) 10INN, 6INN, 7INN *BLANK DO YOU WANT DOUBLE SPACING:N: OUTPUT FIELD COLUMN INFORMATION :BADGE : BADGE NUMBER : :NUMBER: BADGE NUMBER : :LAST : LAST NAME : :NAME : LAST NAME : :FIRS: MAIL STOP :MAIL :NAME: MAIL STOP :STOP : MID : FIRST NAME :FIRST : INI : FIRST NAME :NAME :REATION : RECORD CREATION DATE :RECORD : DATE : RECORD CREATION DATE :CREATION :OST : COST CENTER :COST :NTR : COST CENTER :CNTR Page 9-24 :OT WEEK R: RECORD ACCESS DATE :RECORD :NS DED : RECORD ACCESS DATE :ACCESS :ISTRAT. P: REGISTRATION DATE :REGIST. :DATE E: REGISTRATION DATE :DATE :NE R: PHONE EXTENSION :PHONE :EN. N: PHONE EXTENSION :EXTEN :IST. A: AUTO REGISTRATION :AUTO :BER M: AUTO REGISTRATION :REGIST :O W: AUTO MAKE :AUTO :E D: AUTO MAKE :MAKE :K INS : WEEKLY INSUR. DED. :WEEK INS :UCT. : WEEKLY INSUR. DED. :DEDUCT. CREATING RPT002.CBL ... EXIT LOAD RPT002.CBL,ECHO COBOL: RPT002 [RPT002.CBL] LINK: Loading EXIT .SAVE RPT002 SAVED CHAPTER 10 CSSDBM DATA BASE CONVERTER (CSSCNG) 10.1 GENERAL DESCRIPTION During the development of CSSDBM, it became evident that data base adjustments would be necessary to keep up with the constant business changes. Thus, an additional CSSDBM program (CSSCNG) was written. A data base change requires a six step operation: 1. Run CSSCNG to create a reformated sequential file from your indexed sequential file. 2. Use the CHANGE mode of CSSDBW and adjust the data base format file (refer to Chapter 2). 3. Run ISAM and rebuild your indexed sequential file from the new sequential file, using the new ISAM parameters provided by CSSDBW (refer to Chapter 5). 4. Run CSSVLD to recreate your Validation file, if that option was selected. 5. Run CSSTOT to recreate the Arithmetic Processor to correct version inconsistencies, if that option was selected. 6. Run CSSRPT to recreate the output reports to correct version inconsistencies. NOTE Be careful when implementing CSSCNG, because it will restructure data within each existing record of the data base. Since a data base change effects the entire file, it is strongly recommended that the ________ ___________ data base and format file are copied onto some other storage media for backup purposes. ______ Page 10-2 10.2 CSSCNG DIALOG CSSCNG allows users to create a COBOL source file via an on-line dialog. When executed, this output COBOL source handles all specified data adjustments, and then deletes all traces of itself to avoid being executed a second time on an already changed data base. A privilege code of 3 is required to run both CSSCNG and its output COBOL source file. Every attempt was made to provide a simple on-line dialog in this program. However, should problems occur, a help file is available by simply typing "H". Keep in mind that you are creating a new output record, and what is placed in each field of the your new record is your choice. Your old record field ____ ______ information is available and can be referenced by field number. A blank field can be plugged in any location in the new record by typing a "B", which becomes a space in the record for a new prompt to be added with CSSDBW in the CHANGE mode. In each new field definition, CSSCNG will ask for the size, to which a number representing the size of a new blank field is entered. You can also change the size of an old field, if an old field number was specified. If an old field was specified, and your response to the field size is a "", the old size will be retained. If an old field is no longer wanted, it is deleted simply by not requesting it. Again, when changing the size of an old field in the new record, a compiler warning may occur indicating possible truncation. Remember that this is just a warning and has no effect on execution. Three options are available for the purpose of exiting to the monitor, once the definition of the new output record is complete: F If the remaining fields in the output record are the same as those remaining in the old record. S Terminates the new output record at that point. O If the old data base had the "OVERLAY" page option, this will overlay the new record once the first overlay page in the new record is completely defined. 10.2.1 CSSCNG Example In the following example of a worst case situation, a new character field is added between fields 4 and 5, and field 7 is increased from 20 to 25 characters to illustrate what making changes to the example data base would entail. Note that upon successful execution of the output program, a record conversion count is given for information purposes. Page 10-3 .RUN CSSCNG TYPE NAME OF INPUT FORMAT FILE: DBMTST PASSWORD: COLE CSS DATA BASE CONVERTER CSSCNG(V05) DO YOU NEED TO SEE THE HELP DIALOG: YES IN THE FOLLWING DIALOG, YOU WILL BE CREATING A NEW DATA FILE, WHICH CAN CONTAIN NEW FIELDS OF DATA AS WELL AS AN OLD DATA FIELD. THIS CAN BE A COMPLETE REARRANGEMENT OF YOUR OLD FILE IF DESIRED. COMMANDS ARE AS FOLLOWS: H.... FOR THIS LIST OF COMMANDS. IF NEXT NEW FIELD CORRESPONDS TO THE NEXT SUCCESSIVE FIELD IN YOUR OLD RECORD. B.... TO PLACE A BLANK FIELD INTO YOUR OUTPUT RECORD. O.... TO OVERLAY AFTER YOU HAVE COMPLETELY DEFINED THE FIRST OVERLAY PAGE OF YOU NEW OUTPUT RECORD. F.... IF REMAINING FIELDS IN OUTPUT RECORD ARE THE SAME AS THE REMAINING FIELDS IN INPUT RECORD. S.... IF YOUR NEW RECORD TERMINATES AFTER THE LAST FIELD YOU HAVE DEFINED. "N"... IN RESPONSE TO THE ASTERISK, N REPRESENTS ANY INPUT FIELD NUMBER Page 10-4 ANSWER THE FOLLOWING ABOUT YOUR NEW OUTPUT RECORD OUTPUT FIELD NUMBER 1 * 1...RECORD CREATION DATE :6 SIZE: OUTPUT FIELD NUMBER 2 * 2...RECORD ACCESS DATE :6 SIZE: OUTPUT FIELD NUMBER 3 * 3...ANNUAL SALARY :7 SIZE: OUTPUT FIELD NUMBER 4 * 4...TOTAL WEEKLY INS DED :5 SIZE: OUTPUT FIELD NUMBER 5 *B NEW FIELD SIZE: 6 OUTPUT FIELD NUMBER 6 * 5...BADGE NUMBER :5 SIZE: OUTPUT FIELD NUMBER 7 * 6...LAST NAME :20 SIZE: 25 OUTPUT FIELD NUMBER 8 * 7...FIRST NAME :15 SIZE: Page 10-5 OUTPUT FIELD NUMBER 9 * 8...MIDDLE INITIAL :2 SIZE: OUTPUT FIELD NUMBER 10 * 9...WAGE CLASS :1 SIZE: OUTPUT FIELD NUMBER 11 * 10...COST CENTER :3 SIZE: OUTPUT FIELD NUMBER 12 * 11...PHONE EXTENSION :5 SIZE: OUTPUT FIELD NUMBER 13 * 12...HOURLY RATE :4 SIZE: OUTPUT FIELD NUMBER 14 * 13...MAIL STOP :3 SIZE: OUTPUT FIELD NUMBER 15 * 14...LOCATION CODE :6 SIZE: OUTPUT FIELD NUMBER 16 * 15...AUTO REGISTRATION :6 SIZE: OUTPUT FIELD NUMBER 17 * 16...AUTO MAKE :10 SIZE: Page 10-6 OUTPUT FIELD NUMBER 18 * 17...REGISTRATION DATE :6 SIZE: OUTPUT FIELD NUMBER 19 * 18...WEEKLY INSUR. DED. :5 SIZE: OUTPUT FIELD NUMBER 20 *O TYPE FIRST LINE NUMBER OF FIRST OVERLAY PAGE IN YOUR OUTPUT RECORD: 16 TYPE LAST LINE NUMBER OF THE FIRST OVERLAY PAGE IN YOUR OUTPUT RECORD: 19 CREATING CNGTST.CBL ... EXIT .EXECUTE CNGTST.CBL,ECHO COBOL: CNGTST [CNGTST.CBL] LINK: Loading [LNKXCT CNGTST EXECUTION] PASSWORD: COLE RECORDS CONVERTED: 37 EXIT NOTE If any physical file changes occured, it is essential that all _________ reports and Arithmetic Processors be rewritten and recompiled. This _________ __________ should not be problem if a record of these programs are kept on file. Now return to Paragraph 2.10 to execute CSSDBW in the OLD and CHANGE modes. TABLE OF CONTENTS 1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . 1-1 1.1 General Description . . . . . . . . . . . . . . . . . 1-1 1.2 System Function and Features . . . . . . . . . . . . 1-4 1.2.1 Unique Characteristics . . . . . . . . . . . . . . 1-5 1.2.2 OVERLAY Feature . . . . . . . . . . . . . . . . . . 1-5 1.2.3 Key Field . . . . . . . . . . . . . . . . . . . . . 1-6 1.2.4 Data Base Version Number . . . . . . . . . . . . . 1-6 1.3 Data Base Layout . . . . . . . . . . . . . . . . . . 1-7 1.4 CSSDBM Example . . . . . . . . . . . . . . . . . . . 1-8 1.5 File Look-up Path Suggestions . . . . . . . . . . . . 1-9 1.5.1 SETSRC Example . . . . . . . . . . . . . . . . . . 1-9 2 CSSDBM DATA BASE WRITER (CSSDBW) . . . . . . . . . . . . . 2-1 2. 1 General Description . . . . . . . . . . . . . . . . 2-1 2. 2 Use of Existing Data . . . . . . . . . . . . . . . . 2-1 2. 3 CSSDBW Initialization . . . . . . . . . . . . . . . 2-2 2. 3.1 On-line Validation . . . . . . . . . . . . . . . . 2-2 2. 3.2 Record Creation and Access Dates . . . . . . . . . 2-2 2. 3.3 Data Base Audit Trail . . . . . . . . . . . . . . 2-3 2. 4 Initialization Dialog . . . . . . . . . . . . . . . 2-3 2. 4.1 Initialization Example . . . . . . . . . . . . . . 2-4 2. 5 Access Codes and Privileges . . . . . . . . . . . . 2-5 2. 5.1 Access Codes and Privileges Example . . . . . . . 2-5 2. 6 Paging . . . . . . . . . . . . . . . . . . . . . . . 2-6 2. 6.1 Paging Example . . . . . . . . . . . . . . . . . . 2-6 2. 7 Validation - Creation/Access Dates - Audit Trail . . 2-6 2. 7.1 Options Example . . . . . . . . . . . . . . . . . 2-7 2. 8 ISAM Prompts . . . . . . . . . . . . . . . . . . . . 2-7 2. 8.1 ISAM Information Example . . . . . . . . . . . . . 2-7 2. 9 UPDATE . . . . . . . . . . . . . . . . . . . . . . . 2-8 2. 9.1 UPDATE Example . . . . . . . . . . . . . . . . . . 2-8 2.10 CHANGE . . . . . . . . . . . . . . . . . . . . . . . 2-9 2.10.1 CHANGE Example . . . . . . . . . . . . . . . . . . 2-12 2.10.2 Altering Passwords and Privileges . . . . . . . . 2-13 2.10.2.1 Displaying Passwords and Privileges Example . . 2-14 2.10.3 Altering Data Base Page . . . . . . . . . . . . . 2-14 2.10.3.1 Altering Data Base Page Example . . . . . . . . 2-15 3 CSSDBM DATA BASE FORMAT DUMP (DBMDMP) . . . . . . . . . . 3-1 3.1 General Description . . . . . . . . . . . . . . . . . 3-1 3.1.1 DBMDMP Example . . . . . . . . . . . . . . . . . . 3-2 3.2 Sample DBMTST.LPT Data . . . . . . . . . . . . . . . 3-2 4 CSSDBM VALIDATION HANDLER (CSSVLD) . . . . . . . . . . . . 4-1 4.1 General Description . . . . . . . . . . . . . . . . . 4-1 4.2 CSSVLD Dialog . . . . . . . . . . . . . . . . . . . . 4-1 4.3 CSSVLD Output Files . . . . . . . . . . . . . . . . . 4-2 4.4 New Validation File Example . . . . . . . . . . . . . 4-3 4.5 Changing Old Validation File . . . . . . . . . . . . 4-5 4.5.1 Changing Old Validation File Example . . . . . . . 4-5 5 CSSDBM FINAL DATA BASE REQUIREMENTS . . . . . . . . . . . 5-1 5.1 General Description . . . . . . . . . . . . . . . . . 5-1 5.2 Compile, Load, and Save . . . . . . . . . . . . . . . 5-1 5.2.1 Compile, Load and Save Example . . . . . . . . . . 5-1 5.3 ISAM . . . . . . . . . . . . . . . . . . . . . . . . 5-2 5.3.1 ISAM Functions . . . . . . . . . . . . . . . . . . 5-2 5.3.1.1 /B Example . . . . . . . . . . . . . . . . . . . 5-3 5.3.1.2 /P Example . . . . . . . . . . . . . . . . . . . 5-4 5.3.1.3 /M Example . . . . . . . . . . . . . . . . . . . 5-4 6 CSSDBM AUDIT TRAIL OPTION . . . . . . . . . . . . . . . . 6-1 6.1 General Description . . . . . . . . . . . . . . . . . 6-1 6.2 Audit Trail Record Format . . . . . . . . . . . . . . 6-2 6.3 Audit Trail Recording Scheme . . . . . . . . . . . . 6-2 6.4 Implementation Procedure . . . . . . . . . . . . . . 6-3 6.4.1 ISAM Command File Execution . . . . . . . . . . . . 6-3 6.4.2 B E W A R E ! . . . . . . . . . . . . . . . . . . 6-3 6.5 Audit Trail Report Example . . . . . . . . . . . . . 6-3 7 CSSDBM DATA BASE HANDLER (DBMTST) . . . . . . . . . . . . 7-1 7.1 General Description . . . . . . . . . . . . . . . . . 7-1 7.2 DBMTST Dialog . . . . . . . . . . . . . . . . . . . . 7-1 7.2.1 DBMTST Dialog Example . . . . . . . . . . . . . . . 7-2 7.3 DBMTST Commands . . . . . . . . . . . . . . . . . . . 7-2 7.3.1 DBMTST Commands Example . . . . . . . . . . . . . . 7-2 7.3.2 Type Command (T) . . . . . . . . . . . . . . . . . 7-2 7.3.2.1 Type Command Example . . . . . . . . . . . . . . 7-3 7.3.3 Insert Command (I) . . . . . . . . . . . . . . . . 7-3 7.3.3.1 Insert Command Example . . . . . . . . . . . . . 7-3 7.3.3.2 Insert Command Options . . . . . . . . . . . . . 7-4 7.3.4 Search Command (S) . . . . . . . . . . . . . . . . 7-5 7.3.4.1 Search Command Example . . . . . . . . . . . . . 7-6 7.3.5 Change Command (C) . . . . . . . . . . . . . . . . 7-6 7.3.5.1 Change Command Example . . . . . . . . . . . . . 7-7 7.3.6 Next Command (N) . . . . . . . . . . . . . . . . . 7-8 7.3.6.1 Next Command Example . . . . . . . . . . . . . . 7-8 7.3.7 Page Command (P) . . . . . . . . . . . . . . . . . 7-8 7.3.7.1 Page Command Example . . . . . . . . . . . . . . 7-9 7.3.8 Delete Commmand (D) . . . . . . . . . . . . . . . . 7-9 7.3.8.1 Delete Command Example . . . . . . . . . . . . . 7-9 7.3.9 Finish Command (F) . . . . . . . . . . . . . . . . 7-9 7.3.9.1 Finish Command Example . . . . . . . . . . . . . 7-9 7.4 DBMTST Overview . . . . . . . . . . . . . . . . . . . 7-10 8 CSSDBM ARITHEMETIC PROCESSOR (CSSTOT) . . . . . . . . . . 8-1 8.1 General Description . . . . . . . . . . . . . . . . . 8-1 8.1.1 Special CSSTOT Parameters . . . . . . . . . . . . . 8-1 8.2 Input Format . . . . . . . . . . . . . . . . . . . . . 8-2 8.2.1 CSSTOT Example . . . . . . . . . . . . . . . . . . 8-2 9 CSSDBM REPORT WRITER (CSSRPT) . . . . . . . . . . . . . . 9-1 9.1 General Description . . . . . . . . . . . . . . . . . 9-1 9.2 Report Generation and Access Privilege . . . . . . . 9-2 9.2.1 CSSRPT Example . . . . . . . . . . . . . . . . . . 9-2 9.3 Author's Name and Output Device Selection . . . . . . 9-3 9.3.1 Privilege, Author and Output Device Example . . . . 9-3 9.4 Output Definition . . . . . . . . . . . . . . . . . . 9-4 9.4.1 Long or Short Dialog . . . . . . . . . . . . . . . 9-4 9.4.2 Input to Output Field Correspondence . . . . . . . 9-4 9.4.3 Field Alpha, Numeric or Date Characteristics . . 9-5 9.4.4 Output Field Size . . . . . . . . . . . . . . . . . 9-5 9.4.5 Field Breakdown . . . . . . . . . . . . . . . . . . 9-6 9.4.5.1 Field Breakdown Example . . . . . . . . . . . . . 9-7 9.5 Input Data Field Representation . . . . . . . . . . . 9-10 9.6 Output Format Dialog . . . . . . . . . . . . . . . . 9-10 9.6.1 Overlay and Header Option . . . . . . . . . . . . . 9-10 9.6.1.1 Overlay and Header Option Example . . . . . . . . 9-11 9.6.2 Report File Code Name . . . . . . . . . . . . . . . 9-11 9.6.2.1 Report File Code Name Example . . . . . . . . . . 9-11 9.6.3 Report Title . . . . . . . . . . . . . . . . . . . 9-11 9.6.3.1 Report Title Example . . . . . . . . . . . . . . 9-11 9.6.4 Data Suppression Feature . . . . . . . . . . . . . 9-11 9.6.4.1 Data Suppression Example . . . . . . . . . . . . 9-12 9.6.5 Sorting Sequence . . . . . . . . . . . . . . . . . 9-13 9.6.5.1 Sorting Sequence Example . . . . . . . . . . . . 9-13 9.6.6 Spacing, Paging, and Line Skipping . . . . . . . . 9-13 9.6.6.1 Spacing, Paging, and Line Skipping Example . . . 9-14 9.6.7 Column Headings . . . . . . . . . . . . . . . . . . 9-14 9.6.7.1 Column Headings Example . . . . . . . . . . . . . 9-14 9.7 Output Program . . . . . . . . . . . . . . . . . . . 9-15 9.7.1 Repeatable Output Program Example . . . . . . . . . 9-16 9.7.2 "Once-only" Output Program Example . . . . . . . . 9-17 9.8 CSSRPT UPDATE Mode . . . . . . . . . . . . . . . . . 9-19 9.8.1 CSSRPT UPDATE Example . . . . . . . . . . . . . . . 9-19 9.9 CSSRPT CHANGE Mode . . . . . . . . . . . . . . . . . 9-20 9.9.1 CSSRPT CHANGE Example . . . . . . . . . . . . . . . 9-20 9.9.1.1 Data Suppression Change . . . . . . . . . . . . . 9-22 9.9.1.2 Output Field Column Heading Change . . . . . . . 9-22 9.9.1.3 Sorting Sequence Change . . . . . . . . . . . . . 9-23 9.9.1.4 Examples . . . . . . . . . . . . . . . . . . . . 9-23 10 CSSDBM DATA BASE CONVERTER (CSSCNG) . . . . . . . . . . . 10-1 10.1 General Description . . . . . . . . . . . . . . . . . 10-1 10.2 CSSCNG Dialog . . . . . . . . . . . . . . . . . . . . 10-2 10.2.1 CSSCNG Example . . . . . . . . . . . . . . . . . . 10-2 Figures 1-1 Basic Data Processing Terms . . . . . . . . . . . . . . 1-2 1-2 CSSDBM Basic Data Flow . . . . . . . . . . . . . . . . 1-3 Tables 1-1 Data Base Layout . . . . . . . . . . . . . . . . . . . 1-7