AcuODBC User's Guide
6.3.9 READ-ONLY Directive
The READ-ONLY directive allows you to make some fields (or columns) of data read-only, while preserving normal access to other fields/columns. When placed immediately before a data item in an FD, this directive assigns the read-only attribute to the item. The read-only attribute applies only to the next data item with a picture clause and not to group items. Subsequent data items return to normal read-write access.
Note: This directive applies only to read-write versions of AcuODBC. It is ignored by read-only versions as well as by other products that use the XFD files, such as alfred.
or*(( XFD READ-ONLY ))
In the code creating the "animals" table, the "owner" data item has been designated as read-only. The code is:FILE SECTION. FD qa-file. $XFD COMMENT This is a sample file demonstrating directives. 01 qa-record. 03 animal-info. *((XFD NAME=PATIENT, NUMERIC )) 05 patient-id pic x(5). 05 atype pic x. 05 ctype redefines atype pic x. 05 dtype redefines atype pic x. 05 otype redefines atype pic x. 03 owner-info. 05 phone pic x(8). *(( XFD READ-ONLY )) 05 owner pic x(30). 03 financial. 05 acct_no. 10 year pic x(2). 10 seq_no pic x(4). *(( XFD DATE=YYYYMMDD, USE GROUP )) 05 last_visit. 10 yyyy pic 9(4). 10 mm pic 9(2). 10 dd pic 9(2). *(( XFD HIDDEN )) 05 fee pic s9(5)v99. $XFD DATE=MMDDYYYY 05 date_paid pic 9(8).
In the database table, the "owner" column looks the same as the other columns. However, if the data is linked and users attempt to make changes to any of the items in the "owner" column, they receive a message telling them that the update on a linked table failed.
If you add this directive to the FD, you should use the xfdcrypt utility included with AcuODBC to encrypt your data dictionaries. Otherwise, users can edit the ".xfd" file to gain access to the read-only fields. See section 6.4, "Encrypting XFD Files," for more information.
Making Entire Tables Read-Only
To make an entire table read-only, you can embed the following statement below the top-level description (containing group item) of the table in the FD. This directive must be placed before the data item that you want mapped to a column in the table.$XFD READ-ONLY TABLE
or*(( XFD READ-ONLY TABLE ))
For example:01 qa_record. $XFD READ-ONLY TABLE 03 animal_info.
Note that if there is another READ-ONLY or HIDDEN directive within a containing group item, place the READ-ONLY TABLE directive before the next line (data item) that does not have a READ-ONLY or HIDDEN directive associated with it.
Voice: (800) 262-6585 (U.S.A. and Canada)
Voice: (858) 689-4500
Fax: (858) 689-4550
Please share your comments on this manual
or on any Acucorp documentation with the
Acucorp Communications Department.
|© 1988-2003 Acucorp, Inc.|
All rights reserved.