LOCAT Data Dictionary File
| 
                                                         Field  | 
                                                    
                                                         Description  | 
                                                    
                                                         Type  | 
                                                    
                                                         Comments  | 
                                                
| 
                                                         FILE_ID  | 
                                                    
                                                         File alias (key)  | 
                                                    
                                                         C(16)  | 
                                                    
                                                         
  | 
                                                
| 
                                                         FIELD_ID  | 
                                                    
                                                         Field Name  | 
                                                    
                                                         C(16)  | 
                                                    
                                                         
  | 
                                                
| 
                                                         SEQ  | 
                                                    
                                                         Field Sequence  | 
                                                    
                                                         U(2)  | 
                                                    
                                                         Logical field number within the record.  | 
                                                
| 
                                                         TYPE  | 
                                                    
                                                         Dictionary Type  | 
                                                    
                                                         C(16)  | 
                                                    
                                                         Either a BASE type (as identified below) or a reference to the TYPDEF file.  | 
                                                
| 
                                                         
  | 
                                                    
                                                         
  | 
                                                    
                                                         
  | 
                                                    
                                                         C Character.  | 
                                                
| 
                                                         
  | 
                                                    
                                                         
  | 
                                                    
                                                         
  | 
                                                    
                                                         N Numeric.  | 
                                                
| 
                                                         
  | 
                                                    
                                                         
  | 
                                                    
                                                         
  | 
                                                    
                                                         I Signed Integer.  | 
                                                
| 
                                                         
  | 
                                                    
                                                         
  | 
                                                    
                                                         
  | 
                                                    
                                                         U Unsigned Integer.  | 
                                                
| 
                                                         
  | 
                                                    
                                                         
  | 
                                                    
                                                         
  | 
                                                    
                                                         D BCD.  | 
                                                
| 
                                                         
  | 
                                                    
                                                         
  | 
                                                    
                                                         
  | 
                                                    
                                                         F IEEE Floating point.  | 
                                                
| 
                                                         
  | 
                                                    
                                                         
  | 
                                                    
                                                         
  | 
                                                    
                                                         B Business Math.  | 
                                                
| 
                                                         
  | 
                                                    
                                                         
  | 
                                                    
                                                         
  | 
                                                    
                                                         X Resident C Language float type, system dependent.  | 
                                                
| 
                                                         
  | 
                                                    
                                                         
  | 
                                                    
                                                         
  | 
                                                    
                                                         Y Resident C Language double type, system specific.  | 
                                                
| 
                                                         FLAG  | 
                                                    
                                                         Flag Bits  | 
                                                    
                                                         U(1)  | 
                                                    
                                                         This is specified in the same format at the second byte from the PRO/5 FATTR() function:  | 
                                                
| 
                                                         
  | 
                                                    
                                                         
  | 
                                                    
                                                         
  | 
                                                    
                                                         $80$ Variable length field.  | 
                                                
| 
                                                         
  | 
                                                    
                                                         
  | 
                                                    
                                                         
  | 
                                                    
                                                         $40$ Field terminator is used.  | 
                                                
| 
                                                         
  | 
                                                    
                                                         
  | 
                                                    
                                                         
  | 
                                                    
                                                         $04$ Swap adjacent 4-byte groups.  | 
                                                
| 
                                                         
  | 
                                                    
                                                         
  | 
                                                    
                                                         
  | 
                                                    
                                                         $02$ Swap adjacent 2-byte groups.  | 
                                                
| 
                                                         
  | 
                                                    
                                                         
  | 
                                                    
                                                         
  | 
                                                    
                                                         $01$ Swap adjacent bytes.  | 
                                                
| 
                                                         TERM  | 
                                                    
                                                         Field Terminator  | 
                                                    
                                                         U(1)  | 
                                                    
                                                         In a traditional PRO/5 environment, this is typically $0A$ (decimal 10) - the linefeed character.  | 
                                                
| 
                                                         DIM  | 
                                                    
                                                         Array Dimension  | 
                                                    
                                                         U(2)  | 
                                                    
                                                         This is the number of elements in a repeating (array) field, or 1 for a nonrepeating field.  | 
                                                
| 
                                                         NUM  | 
                                                    
                                                         Field Number  | 
                                                    
                                                         U(2)  | 
                                                    
                                                         Physical field number. This is based on the record layout and counts fields based only on $0A$ delimiters. Field #0 implies the entire record, ignoring delimiters.  | 
                                                
| 
                                                         OFFSET  | 
                                                    
                                                         Offset within field  | 
                                                    
                                                         U(2)  | 
                                                    
                                                         Offset within the physical field (offset is zero-based).  | 
                                                
| 
                                                         LENGTH  | 
                                                    
                                                         Field Length  | 
                                                    
                                                         U(2)  | 
                                                    
                                                         
  | 
                                                
| 
                                                         KNUM  | 
                                                    
                                                         Index Name  | 
                                                    
                                                         Field(s)  | 
                                                
| 
                                                         0  | 
                                                    
                                                         INDEX00  | 
                                                    
                                                         FILE_ID+FIELD_ID  | 
                                                
| 
                                                         1  | 
                                                    
                                                         FIELD  | 
                                                    
                                                         FIELD_ID  | 
                                                
| 
                                                         2  | 
                                                    
                                                         INDEX02  | 
                                                    
                                                         FILE_ID+SEQ  | 
                                                
| 
                                                         3  | 
                                                    
                                                         INDEX03  | 
                                                    
                                                         FILE_ID+NUM+OFFSET+LENGTH  | 
                                                
| 
                                                         4  | 
                                                    
                                                         TYPE  | 
                                                    
                                                         TYPE_ID  | 
                                                
| 
                                                         5  | 
                                                    
                                                         FILE  | 
                                                    
                                                         FILE_ID  | 
                                                
FATTR() Correlation
The LOCAT file contains all data necessary for understanding the physical structure of a record. Most of the data in LOCAT may be directly related to fields in the string template FATTR() function, as follows:
| 
                                                         Field  | 
                                                    
                                                         FATTR() Function  | 
                                                    
                                                         Description  | 
                                                |
| 
                                                         TYPE  | 
                                                    
                                                         FATTR(1,1)  | 
                                                    
                                                         This contains similar data, but is not in the same format. LOCAT stores TYPE information as a 16-character base type or TYPEDEF name, while FATTR() contains a binary number from $01$ to $09$ indicating the base type. The correlation between numbers and base types is:  | 
                                                |
| 
                                                         
  | 
                                                    
                                                         
  | 
                                                    
                                                         $01$ C  | 
                                                    
                                                         Character (string)  | 
                                                
| 
                                                         
  | 
                                                    
                                                         
  | 
                                                    
                                                         $02$ N  | 
                                                    
                                                         Numeric  | 
                                                
| 
                                                         
  | 
                                                    
                                                         
  | 
                                                    
                                                         $03$ I  | 
                                                    
                                                         Integer (binary)  | 
                                                
| 
                                                         
  | 
                                                    
                                                         
  | 
                                                    
                                                         $04$ U  | 
                                                    
                                                         Unsigned Integer (binary)  | 
                                                
| 
                                                         
  | 
                                                    
                                                         
  | 
                                                    
                                                         $05$ F  | 
                                                    
                                                         IEEE floatingpoint  | 
                                                
| 
                                                         
  | 
                                                    
                                                         
  | 
                                                    
                                                         $06$ D  | 
                                                    
                                                         BCD (binary-coded decimal)  | 
                                                
| 
                                                         
  | 
                                                    
                                                         
  | 
                                                    
                                                         $07$ B  | 
                                                    
                                                         Business Math  | 
                                                
| 
                                                         
  | 
                                                    
                                                         
  | 
                                                    
                                                         $08$ X  | 
                                                    
                                                         Resident C language float type (system specific)  | 
                                                
| 
                                                         
  | 
                                                    
                                                         
  | 
                                                    
                                                         $09$ Y  | 
                                                    
                                                         Resident C language double type (system specific)  | 
                                                
| 
                                                         FLAG  | 
                                                    
                                                         FATTR(2,1)  | 
                                                    
                                                         Flag bits.  | 
                                                |
| 
                                                         TERM  | 
                                                    
                                                         FATTR(3,1)  | 
                                                    
                                                         Field terminator (if used).  | 
                                                |
| 
                                                         DIM  | 
                                                    
                                                         FATTR(4,2)  | 
                                                    
                                                         Dimension of repeating field.  | 
                                                |
| 
                                                         NUM  | 
                                                    
                                                         FATTR(6,2)  | 
                                                    
                                                         Field number.  | 
                                                |
| 
                                                         OFFSET  | 
                                                    
                                                         FATTR(8,2)  | 
                                                    
                                                         Offset within the field.  | 
                                                |
| 
                                                         LENGTH  | 
                                                    
                                                         FATTR(10,2)  | 
                                                    
                                                         Field length.  | 
                                                |