This form specification file is used with the dispcust.4gl
        program to display program variables to the user. This form uses a layout with a simple
            GRID to define the display area.
File
custform.per:
01 SCHEMA custdemo 
02
03 LAYOUT
04   GRID
05   {
06    Store #:[f01  ] Name:[f02                 ]
07    Address:[f03                 ]
08            [f04                 ]
09       City:[f05             ]State:[f6]Zip:[f07   ] 
10    Contact:[f08                           ]
11      Phone:[f09                ]       
12
13   }   
14   END   --grid 
15 END  -- layout 
16
17 TABLES 
18     customer 
19 END
20
21 ATTRIBUTES
22 EDIT f01 = customer.store_num, REQUIRED;
23 EDIT f02 = customer.store_name, COMMENT="Customer name";
24 EDIT f03 = customer.addr;
25 EDIT f04 = customer.addr2;
26 EDIT f05 = customer.city;
27 EDIT f6  = customer.state;
28 EDIT f07 = customer.zip_code;
29 EDIT f08 = customer.contact_name;
30 EDIT f09 = customer.phone;
31 END
 
Note: 
- Line 01 lists the database schema file from which the
                                                  form field data types will be obtained.
 
- Lines 03 through 15 delimit the LAYOUT section of the form.
 
- Lines 04 thru 14 delimit the GRID area, indicating what will be displayed to the user
between the curly brackets on lines 05 and 13.
 
- Line 17 The TABLES statement is
                    required since the field descriptions reference the columns of the database
                    table customer.
 
- Within the grid area, the form fields have item tags linking them to descriptions in the
                        ATTRIBUTES section, in lines 20 thru 28. As an example, f01 is the display area for a
                    program variable having the same data type definition as the
                        store_num column in the customer table of
                    the custdemo database.
 
- Line 22 All of the item-tags in the form layout
                    section are listed in the ATTRIBUTES section. For example, the
                    item-tag f01 is listed as having an item-type of
                        EDIT. This field will be used for display only in this
                    program, but the same form will be used for input in a later program. An
                    additional attribute, REQUIRED, indicates that when this form
                    is used for input, an entry in the field f01 must be made. This
                    prevents the user from trying to add a row with a NULL
                        store_num to the customer table, which
                    would result in an error message from the database.
 
- Line 23 The second field is defined with the attribute
                        COMMENT, which specifies text to be displayed when this
                    field gets the focus, or as a tooltip when the mouse goes over the field.