Floating Records
You can use the Floating Record property to designate any single record of a given flat file schema to be a floating record. By designating a floating record, you enable that record to appear in any position within a flat file without causing a parsing validation error.
If you do not use this property, validation errors will occur if the record structure of an inbound document does not match the record structure defined in its flat file schema. For example, consider the following EDI document and its flat file schema (where all records are mandatory except the record NTE):
Flat file schema definition | Input EDI document | Output IS document |
Rec1 Rec2 Rec3 NTE | Rec1 NTE Rec2 Rec3 | Rec1 NTE The parser generates a validation error because it expects NTE to be the last record, not the second record. In addition, it ignores Rec2 and Rec3. |
To solve this problem, you would designate NTE to be a floating record so it may appear anywhere in the EDI document without causing a validation error. (The position in which it appears in the parsed record is explained in the following sections.) The parser creates a container for NTE records, and places each NTE record that appears in an EDI document into this container at run time. If a flat file schema contains multiple instances of the designated floating record at multiple record levels, the system creates a container for each record level. This property appears in the Properties view of the flat file schema editor.
This problem can also occur while converting outbound IS documents (IData objects) into string documents. The parser supports floating records for both inbound and outbound parsing (i.e., while executing the pub.flatFile:convertToValues and pub.flatFile:convertToString services, respectively).