Example: Form Specification File custform.per
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
through15
delimit theLAYOUT
section of the form. - Lines
04
thru14
delimit theGRID
area, indicating what will be displayed to the user between the curly brackets on lines05
and13
. - Line
17
TheTABLES
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 lines20
thru28
. As an example,f01
is the display area for a program variable having the same data type definition as thestore_num
column in thecustomer
table of thecustdemo
database. - Line
22
All of the item-tags in the form layout section are listed in theATTRIBUTES
section. For example, the item-tagf01
is listed as having an item-type ofEDIT
. 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 fieldf01
must be made. This prevents the user from trying to add a row with a NULLstore_num
to thecustomer
table, which would result in an error message from the database. - Line
23
The second field is defined with the attributeCOMMENT
, which specifies text to be displayed when this field gets the focus, or as a tooltip when the mouse goes over the field.