HP 3000 Manuals

Objectives [ HP ALLBASE/4GL Developer Self-Paced Training Guide ] MPE/iX 5.0 Documentation


HP ALLBASE/4GL Developer Self-Paced Training Guide

Objectives 

When you complete this lesson, you will have learned how to:

   *   Define a record layout

   *   Use the record header screen to create a record header

   *   Use the record layout screen to create layout details

   *   Generate a record layout

Record Layouts 

A record layout defines the format of the records in a data file.  A
record can be associated with one or more files and is used in logic
blocks, screens, and reports to qualify a field reference.  The layout
specifies the names of the fields and their sequence in the record.  It
also specifies which fields are used as key fields for accessing records
in the file.  When you create the record layout, HP ALLBASE/4GL defines a
record buffer for reading and writing records. 

Data Manager Rules 

The data manager you use will have certain rules about record layouts,
which you will need to follow within HP ALLBASE/4GL. The KSAM file
manager, for instance, requires at least one key to a record so it can
maintain an index of the records in a data file.

The record layout for an HP ALLBASE/SQL table does not need to have any
fields defined as key fields.  If you do define a field on the record
layout as a key field, HP ALLBASE/4GL uses the field to create an index
for the table.  You cannot use a record layout that contains field
specifications with multiple occurrences.

HP TurboIMAGE/iX data set definitions require that record layouts:

   *   Record layouts must contain no key fields with repeated
       occurrences.

   *   Master data set layouts must contain no keys that allow duplicate
       entries.

   *   Automatic master data sets must contain one key field and no other
       fields.

   *   Manual master data sets must contain one key field and may contain
       other non-key fields.

   *   Detail data sets need not contain any key fields.

Task 1 - Creating a Record Layout Header 

To create a record layout you must first complete the record layout
header screen and then complete the record layout details screen.

Header screens are used for many components of HP ALLBASE/4GL. Logic
blocks, screens, and reports all have header screens.  The information
that you enter in a header screen is used as an index and is recorded in
the index portion of the HP ALLBASE/4GL system files (S-files).  Detail
screen information is stored in the data portion of the HP ALLBASE/4GL
S-files.

Using the Record Layout Header Screen.   

This screen enables you to describe a record for use in the application.

To access the screen: 

   1.  From the main menu, select the Dictionary option

   2.  Choose Record Layouts 

   3.  Choose Header.

[]
Record Layout Header Screen The record layout header screen is shown as it will appear after you have made the entries for the product record header. To enter the field values: Field Entry Explanation --------------------------------------------------------------------------------------- Record Name product_rcrd The name used to refer to the record in a file definition or file record field reference. Secured Accept the default. Specifies whether this item is secured against modification by an unauthorized developer. Description Enter a description for documentation purposes. To complete and commit the screen: 1. When all of the values on the screen are correct, press the Commit Data function key to create the record layout header. This completes the work required to define the values for the record layout header screen. Task 2 - Defining Record Layout Details Now that you have defined the record layout header, you will define the details of the record layout. 1. Press the Record Details function key to go to the record layout details screen, or use the Previous Menu function key to go to the record layout details screen via the menus. Using the Record Layout Details Screen. This screen enables you to define the field specifications making up this particular record layout. You can also state whether a field is to be a key for the file, and if it is, whether duplicate values are permitted in the field. As with the process of defining a field specification name, you are not allocating any physical space. To access the screen from the main menu: 1. Select the Dictionary option. 2. Choose Record Layouts. 3. Choose Details.
[]
Record Layout Details Screen The screen is shown as it should look when you have completed entering the values for the first field. To enter the field values for the first field: Use the table below to enter the field values depicted on the screen. Field Entry Explanation --------------------------------------------------------------------------------------- Record Accept the default. The name of the record layout. Processing can only continue if you have already completed the header for this record layout. Enter the name yourself if it is not displayed. Field Number Accept the default. Defines the order of the fields contained in the record. As you define the structure of the record layout, you must declare each field in ascending field order. All the numbers must be contiguous, but it is possible to insert an extra field into the record layout at a later stage. This is the first field in the product_rcrd record. Table 2-0. (cont.) Field Entry Explanation --------------------------------------------------------------------------------------- Action Accept the default. Defines the action you wish to perform on this field. An entry of A indicates Add a new field. Field Spec. Name Enter product_no Name of a previously defined field specification. If you try to enter the name of a field that you have not defined, HP ALLBASE/4GL displays an error message. HP ALLBASE/4GL uses this entry to determine how much space to allocate for the data stored in this field, as well as the valid data types for the field. Key Number Enter 1 Used for keyed file access purposes. Duplicate Keys Enter N Indicates whether duplicate records with the same key value can occur on the one file. An entry of N indicates that a given key value may occur in only one record in the file. To complete and commit the entries: 1. Press Commit Data . This displays a scroll area below the data entry line. This scroll area shows the details of your entry. As you enter more fields into the record layout, this display reflects the current state of the record layout. The display shows the field numbers, names, key numbers, and whether duplicate keys are permitted. Completing the Record Layout Details. The entries shown below are required to complete the record layout details. Only the values that require an entry are shown below. If you make an error in a field you have committed, you can rectify it easily. First, enter the field number of the line that you want to edit, then accept the action code of C, rectify the error and then press the Commit Data function key. To complete the entries for KSAM and SQL based applications: Field No. 2 Field Entry -------------------------------------------- Field Number Accept the default of 2 Action Accept the default of A Field Spec. Name Enter description Field No. 3 Field Entry -------------------------------------------- Field Number Accept the default of 3 Action Accept the default of A Field Spec. Name Enter supplier_no Key Number Enter 2 Duplicate Keys Enter Y Field No. 4 Field Entry -------------------------------------------- Field Number Accept the default of 4 Action Accept the default of A Field Spec. Name Enter lead_time You will see that one of the fields above has a key number. In total, the product file has two keys. This allows you to read the file (or print reports) according to the product number or the supplier number. Only the product number field is defined as a unique key since duplicate values may occur in the other fields. The following screen image shows how the record layout screen should appear when you have entered all the field details.
[]
Completed KSAM and SQL Record Layout Details Screen Entry Notes. Action Codes When defining items there are a number of occasions where you will be prompted for an action to be performed. The codes are universal, but some items use more actions than others. The codes are: * A = Add * C = Change * I = Insert * D = Delete If an item does not exist, the default is A; if the item already exists, the default action is C. key fields The key number defines the index number to be associated with this field. Every key number in a record must be unique. Key number 1 is called the primary key. The KSAM file manager requires at least one key so it can maintain an index for the location of a record in a file. Without a key, no indexed access to a record via that field is possible. The key number has no relationship to the field number. The HP TurboIMAGE/iX file manager requires one key for master data sets, but no keys are required for detail data sets. For the HP ALLBASE/SQL data manager, no key fields are needed. To complete entries for HP TurboIMAGE/iX based applications: Field No. 2 Field Entry -------------------------------------------- Field Number Accept the default of 2 Action Accept the default of A Field Spec. Name Enter description Field No. 3 Field Entry -------------------------------------------- Field Number Accept the default of 3 Action Accept the default of A Field Spec. Name Enter supplier_no Field No. 4 Field Entry -------------------------------------------- Field Number Accept the default of 4 Action Accept the default of A Field Spec. Name Enter lead_time You will see that none of these fields have key numbers. A manual master data set may only contain one key field. The following screen image shows how the record layout screen should appear when you have entered all the field details.
[]
Completed TurboIMAGE Record Layout Details Screen Task 3 - Generating a Record Layout Before a record layout can be used in an application, it must be generated. Generating the record layout creates a run-time version of the record layout and performs additional validation and processing. The generation process resolves pointers to the field specifications, and produces an executable form of the record definition. To generate a record layout: 1. After pressing Commit Data to commit the last set of fields, Press the Generate Record function key. This starts the generation process. When you use the generate program for the first time, two messages are displayed. The first message tells you that generate is being called, and the second confirms that the record itself is being generated.
[]
Successful Generation Generate is a large program and is a separate unit in the HP ALLBASE/4GL suite of programs. To avoid the need to call generate repeatedly, it remains resident in memory until you exit from the developer. The next time you use generate in this session, the calling generate message will not be displayed. If you receive an error from the generate process, a generate error screen shows the number of the field that is in error, and the type of error encountered. Note these details and use them to assist you in correcting the record. If the generate is successful, you will receive a Generation successful message indicating that the record layout has been correctly generated. You have now created and generated a record layout. In the next lesson you will use the record layout to create a data file. While developing an application you may want to look at the details of an existing record layout. To look at existing record layout details: 1. Enter the record layout name in the Record field of the Details screen 2. Press Return. The contents of the record layout will then be displayed.


MPE/iX 5.0 Documentation