Software AG Products 10.7 | Integrating On-Premises and Cloud Applications | Processing Flat Files | Working with Elements in Flat File Schemas and Dictionaries | Floating Records
 
Floating Records
 
Examples: Parsing Inbound Floating Records
Examples: Parsing Outbound 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).
For examples, see Examples: Parsing Inbound Floating Records and Examples: Parsing Outbound Floating Records.