The tableBASE ETL (Extract, Transform, Load) interface is a batch facility for loading data into tableBASE tables from external sources, without requiring the source system to be online or directly connected at run time.
ETL supports two source types: DB2 and VSAM. For DB2 sources, ETL works from two files produced ahead of time by the DB2 Unload Utility — a Punch File describing the table’s structure and a Record File containing the actual data — so no live database connection is needed during the load. VSAM sources are read directly, with ETL automatically detecting the underlying organization (ESDS, KSDS, or RRDS) from the dataset itself.
A single ETL run is driven by a control card that can describe multiple tables in one pass. For each table, a mapping definition (CCARDS) specifies how source fields map to tableBASE columns, what organization and access method the resulting table should use, and how the table’s key is constructed — either from a defined key location and size, or from one or more named columns acting as a composite sort key.
Loading a table is a full replace operation: existing data in the target table is replaced by the newly loaded data, not merged with it. When a run processes multiple tables, ETL is resilient to per-table errors — if one table fails, ETL logs the issue and moves on to the next table rather than aborting the whole job.
ETL also supports generating a COBOL copybook describing a loaded table’s layout, which is useful for downstream programs that need to read the data in its tableBASE-stored form, including support for variable-length records and null indicators.