Complex Flat File Stage
Summary
The Complex Flat File ('CFF') Stage reads data from or writes data to a complex sequential file.
IBM Documentation
Server Jobs: Complex Flat File Stage - IBM Documentation
Parallel Stage: Complex Flat File stage - IBM Documentation
Conversion Notes
Supported CFF Version
Version 1 of the CFF stage is not supported by S2PX. Users will need to upgrade their Server Jobs to use the newer version of the CFF stage before using S2PX to convert Jobs container Server CFF stages to their Parallel equivalent.
Structural changes
No structural changes are introduced during Complex Flat File conversion.
See Parallel Job Structural Differences.
Data differences
Empty row in the CRLF data
When an ASCII CRLF data has an empty row, Server will output an empty record with empty data. PxCFF will skip the empty row. e.g.,
Source Data
ABC123
Server CFF Output
Col1 | Col2 |
|---|---|
ABC | 123 |
|
|
PxCFF Output
Col1 | Col2 |
|---|---|
ABC | 123 |
Incorrect Source Data
When source data is in invalid format, Server CFF will still show results, PxCFF will reject the data and return default value instead. Refer to Native Type differences section for more details
Native Type differences
Native Type | Server CFF | PxCFF |
|---|---|---|
BINARY | Columns with | Byte order needs set to |
CHARACTER | When source data does not match the native type setting, Server CFF will return still return row with incorrect data Example: using source data, CFF will return ABC for first column, no value for second column | When source data does not match the native type setting, PxCFF will reject the whole record Example: using source data, PxCFF will reject the row. |
DECIMAL | - | - |
DISPLAY_DECIMAL | When source data is in invalid format, Server CFF will return still return row with incorrect data Example: using source data of | When source data is in invalid format, PxCFF will reject the data, return default value (based on user setting) Example: using source data of |
FLOAT | Columns with | Byte order needs set to |
GROUP | - | - |
GRAPHIC_N | - | - |
GRAPHIC_G | - | - |
NATIVE_BINARY | Refer to | Refer to |
VARCHAR | - | - |
VARGRAPHIC_N | - | - |
VARGRAPHIC_G | - | - |
Server features not supported
Feature | Asset Query (?) | Comment |
|---|---|---|
Select Columns not subset of Source Columns | Not Supported. When Select Columns not a subset of Source Columns. Server Job can still compile and run, but Parallel Engine will either fail or returning different results. | |
Source Columns with both | Not Supported. Server CFF reads | |
Selection Criteria with Value Preceded by | CFF Using Selection Criteria with Value Preceded by Ampersand | Not Supported. Not natively supported by the Parallel Engine |
FLOAT Native Type | Supported with caveat. Server CFF stages use a unique Float/Double to String conversion routine which is not replicated by S2PX. This can result in S2PX converted jobs producing floating point columns with less significant digits compared to Server. The difference should be negligible since the difference is usually 15 significant digits (PX) compare to up to 18 significant digits (Server) | |
Using
in Meta Data Description | Not Supported. Not natively supported by the Parallel Engine
| |
Verify sign value in DECIMAL COMP-3 data | Not Supported. The | |
Variable Record Length with Record Style = CRLF | Supported with caveat. PxCFF does not have equivalent functionality but S2PX attempts to emulate it when Record Length is set. However, variable length input records (defined by the CR/LF option) that smaller than the defined record metadata will result in dropped records in PX |