Format use in PSFI

The series of names below describe the File Interface Definition (FID) files. Though not mandatory, the .FID file extension is often used.
Abbreviation Name Description
FILEDEF File Definition A map of an abbreviated field expression to a file name including path. For example:

FILEDEF(OPTR1,H:\PSFI\CONTROL\OPTR1.TXT)

OPTR1.#2 means column 2 in the file H:\PSFI\CONTROL\OPTR1.TXT

STMT Statement A definition that pertains to one or more Records. The statement describes the shared format for these Records.

Only one statement is defined within brackets [ ]. For example, [IMPORT] or [EXPORT::O]

REC Record Records are described with a single character, often as the first in the field in the Record. A record contains a description of each associated data field. It is possible to define data fields, substitutions and transformations for each Record.
TRAN Transform Simple replacement of values in a data field in a given Record. For example,

TRANSFORM=#23;15:20;17:20;

For the data field number 23 in this Record the value 15 is replaced by 20 and the value 17 by 20.

SUB Substitution Replaces the values in the data field if other data fields contain something specific. For example:

SUBSTITUTION=(#30,OPTR1.#3),KEYS((#14,OPTR1.#1),(#7,OPTR1.#2)),NFA(SKIP)

Data field 30. One file (OPTR1) replaces the values in column 3 in this Record. OPTR1 has to have been previously defined with FILEDEF()

This occurs if the data field 14 or data field 7 matches some value pairs in column 1 and column 2 in the file OPTR1. NFA is Not Found Action, whereas SKIP means that nothing must be done if a match is not found.

Note: Substitution can not unconditionally substitute with a field if this field already has a substitute associated with it.

For example:

SUBSTITUION=(#4,OP.#3),KEYS((#6,OP.#1),(#2,OP.#2)),NFA(SKIP)

SUBSTITUION=(#3,OP.#4),KEY(#4,OP.#3),NFA(SKIP)

This is not legal because the second substitution depends on the first.

Different FILEDEF tokens are not allowed in a substitution. For example:

SUBSTITUION=(#3,OP.#4),KEY(#4,PT.#3),NFA(SKIP)

OP and PT are not the same FILEDEF TOKEN

DataField Record data field entry A Record with a collection of rows are described in the FID file.

For example:

! ID; TYPE ; DEFAULT ;OFFSET ; LENGTH; R DESCRIPTION

#1 ;CHAR ; ;1029 ;1 ; "O" EXRTYP RECORD TYPE

Where:

#: informs that a data field is coming. The number after informs the position of the data field in the data file.

Type: CHAR informs that it is a text sign. FLOAT informs it is a decimal number.

Default: If there is default for this field. NULL:ERROR means that an error message will be given if this field is missing. NULL: 100.0 means that there is inserted 100.0 if the field is missing.

OFFSET: informs the position in M3 PWB global data memory. Here it depends on the type. The position corresponds to the index in an array of filed types.

LENGTH: This value defines the length of CHAR types. This value is used when specifying and extracting strings.

R: This value describes the Record type and is used in only this one place, for example, R or O.

DESCRIPTION: Simple description. This value often writes the fortran variable where the data is located.