Undefined Data
In some cases, the data resulting from the pub.flatFile:convertToValues service might contain records that were not recognized, known as undefined data. This could be a result of the complexity of the flat file, or of the lack of detail in the flat file schema (such as no record identifier). When the pub.flatFile:convertToValues service processes an unrecognized record, it puts a placeholder named unDefData in the resulting IS document (IData object) and stores the record as a string in the pipeline.
You can select a default record when creating a flat file schema. Any record that cannot be recognized will be parsed using this default record. If a default record is not selected, unrecognized records will be placed into the output IS document in the unDefData field, which might produce errors.
Note: If the file is encoded using a multi-byte encoding, and if you use a fixed length or variable length parser, the service puts two placeholders into the pipeline: unDefData and unDefBytes.
For some types of documents, undefined data should not be allowed in the document and if encountered should generate validation errors in the output. In other cases, undefined data is expected and should not generate validation errors. In still other cases, all unidentified records should be parsed using a default record definition, as described in
Default Records.
You can choose whether you want errors to be generated for a flat file schema when undefined data is encountered. For more information about configuring a flat file schema to allow undefined data, see webMethods Service Development Help.
To work with undefined data produced by processing a flat file, you must:
1. Configure the flat file schema and the records in the flat file schema to allow undefined data.
2. In the service that processes the flat file, parse the undefined data in each record based on the document structure.
3. In the service that processes the flat file, write logic to handle the parsed data, such as logic to map the parsed data to another service or perform error handling.