Velox Data Format Reference
Summary
This document describes the database and file formats supported by the current velox source code. It is part of the internal Velox Product Knowledge Base (PKB), not end-user documentation.
The source code is authoritative. Where the source shows a format enum, class, engine, or UI but behaviour is incomplete or unclear, this document says so explicitly.
Related PKB Documents
- Architecture
- Domain Model
- Module Library
- Feature Inventory
- UI Inventory
- Dialog Reference
- Developer Guide
- Technical Debt
Source Basis
Primary source locations used for this reference:
Classes\Tools\vxTypes.pas- format enums, database connection type enum, file type enum, file encodings, output types, field type labels, module format enum.Classes\vxFileDef.pas- shared file definition properties, defaults, file engine selection, MIME type mapping, XML/JSON schema path processing.Classes\vxFileDefFlat.pas,Classes\vxFileDefXML.pas,Classes\vxFileDefEDI.pas,Classes\vxFileDefExcel.pas,Classes\vxFileDefJSON.pas- design-time file definition subclasses.Classes\vxFileEngine.pas,Classes\vxFileEngineFlatFile.pas,Classes\vxFileEngineXML.pas,Classes\vxFileEngineEDI.pas,Classes\vxFileEngineExcel.pas,Classes\vxFileEngineJSON.pas- runtime file read/write engines.Classes\vxFileCon.pas- file location, naming, pattern, audit/error/transport folder, stream, hash, and file lifecycle handling.Classes\vxDBCon.pas,Classes\vxDBDef.pas,Classes\vxDataDef.pas,Classes\vxSQLConnection.pas,Classes\Tools\vxDBConfig.pas,Classes\Tools\vxSQLFormat.pas- database connections, data definitions, runtime SQL connection configuration, and date/time formatting.Modified\ReportBuilder\daDBCDS.pas,Modified\ReportBuilder\daDBExpress.pas,Modified\ReportBuilder\daSQL.pas,Modified\ReportBuilder\ppDBPipe.pas- modified ReportBuilder dataviews and database pipeline behaviour used by Velox data definitions.Classes\GUI\vxJSONSchemaOutliner.pas,Classes\Tools\vxJSON.pas,Classes\Tools\vxXML.pas,Classes\Tools\vxEncoding.pas,Classes\Tools\vxStream.pas,Classes\Tools\vxCommonString.pas- JSON, XML, encoding, stream, and BLOB helpers.Classes\vxCon.pas,Classes\vxDBParams.pas- JSON-backed system connection configuration.Classes\vxAPI.pas,Classes\Tools\vxAPIStream.pas,Classes\Service\vxManagerREST.pas- API request/response content streams and OpenAPI media type generation.Forms\frmSetupDBCon.pas,Forms\frmSetupDBDef.pas,Forms\frmSetupFileCon.pas,Forms\frmSetupFileDef*.pas,Forms\frmCSVImporter.pas,Forms\frmXMLSchemaItemSelect.pas,Forms\frmDatabaseExplorer.pas- Designer UI for database and file formats.
Format Model
Velox has two central format abstractions:
TvxDBDefrepresents database data through ReportBuilder SQL dataviews.TvxFileDefrepresents file data through a file type and a matching engine.
TvxFileType currently contains:
| Enum value | Display text | Runtime engine | User-facing status |
|---|---|---|---|
fftFlatFile | Flat File | TvxFlatFileEngine | Supported. CSV is a delimited flat-file case, not a separate enum. |
fftXMLFile | XML File | TvxXMLFileEngine | Supported. |
fftEDIFile | EDI File | TvxEDIFileEngine | Supported. |
fftExcelFile | Excel File | TvxExcelFileEngine | Supported. |
fftJSONFile | JSON File | TvxJSONFileEngine | Supported. |
fftExcel | OLD | Converted to fftExcelFile in TvxFileDef.Transfer and TvxFileDef.SetFileType. |
No active TvxFileType exists for arbitrary binary files. Binary data is still supported internally through streams, BLOB fields, ReportBuilder templates, log data, API content streams, and transport file payloads.
Supported Format Matrix
| Format | First-class file/database definition | Main classes | Main schema model | Main UI | MIME/content handling |
|---|---|---|---|---|---|
| Database | Yes, through TvxDBDef and TvxDBCon. | TvxDBCon, TvxDBDef, TvxDataDef, TdaSQLQueryDataView, TvxSQLConnection. | ReportBuilder SQL dataviews, fields, criteria, links, primary/update fields, DB connection metadata. | frmSetupDBCon, frmSetupDBDef, frmDatabaseExplorer. | Not file MIME based. Date/time SQL formatting is connection-type aware. |
| Flat files | Yes, through fftFlatFile. | TvxFileDefFlat, TvxFileDef, TvxFlatFileEngine, TdaCDSQueryDataView. | File dataviews with RecID, RecPos, fields, fixed/delimited settings, encodings. | frmSetupFileDefFlat, frmCSVImporter. | text/plain when not delimited. |
| CSV | Yes as delimited flat file; no separate enum. | Same as flat files plus TfrmCSVImporter. | Delimited file dataviews; delimiter defaults to comma character code 44. | frmSetupFileDefFlat, frmCSVImporter; main UI caption includes "Flat File (ie CSV)". | text/csv for delimited flat files except tab-delimited. |
| Tab-separated text | Yes as delimited flat file. | TvxFlatFileEngine. | Same as CSV with delimiter character code 9. | frmCSVImporter can set delimiter to tab when pasted field names contain tabs. | text/tab-separated-values. |
| XML | Yes, through fftXMLFile. | TvxFileDefXML, TvxXMLFileEngine, TdaXMLQueryDataView, TvxXMLEngine. | XSD schema, schema root node, namespaces, dataview root paths, field XPath. | frmSetupFileDefXML, frmXMLSchemaItemSelect. | application/xml. |
| JSON | Yes, through fftJSONFile. | TvxFileDefJSON, TvxJSONFileEngine, TdaJSONQueryDataView, TvxJSONSchemaOutliner. | JSON schema/sample file path, dataview root dot/bracket paths, field dot paths, root type. | frmSetupFileDefJSON. | application/json. |
| EDI | Yes, through fftEDIFile. | TvxFileDefEDI, TvxEDIFileEngine, TdaEDIQueryDataView. | Segment records selected by dataview RecID; element/sub-element layout stored on fields/dataviews. | frmSetupFileDefEDI. | application/EDIFACT. |
| Excel | Yes, through fftExcelFile. | TvxFileDefExcel, TvxExcelFileEngine, TdaExcelDataView. | Workbook sheets/ranges/cell field mapping and optional template. | frmSetupFileDefExcel. | application/vnd.ms-excel. |
| Binary/streams | No standalone file definition enum found. | TStream, TBlobField, TvxLogFile, TvxLogTransport, TvxAPIRequest, TvxAPIResponse, ReportBuilder templates. | Internal BLOB/template/stream fields and binary SQL field types. | Logs, transport log forms, report designer, API execution paths. | Depends on wrapping format; arbitrary binary file MIME is not defined by TvxFileDef.MimeType. |
Database
Purpose
Database support lets Velox read from and write to relational databases through reusable database connections and database definitions.
Database data is used by:
- Maps as source or destination data.
- Reports as report data.
- SQL scripts and custom SQL flow actions.
- Data definitions used by flows, APIs, transports, and scripts.
- System/config/log/data databases used by the Velox runtime itself.
Supported Database Connections
TRegConType in Classes\Tools\vxTypes.pas defines the supported connection types:
| Enum | Display name | Driver configuration source |
|---|---|---|
ctMSSQL | Microsoft SQL Server | Classes\Tools\vxDBConfig.pas uses Devart SQL Server and SQL Server provider variants such as msoledbsql, sqlncli, sqlncli10, and sqloledb. |
ctOracle | Oracle | Uses DBX Oracle configuration and oci.dll. |
ctMySQL | MySQL | Uses Devart MySQL client, direct, or embedded modes depending on TvxMySQLVerType. |
ctPostgreSQL | PostgreSQL | Uses PostgreSQL DBX configuration. |
ctDB2 | IBM DB2 | Uses DB2 DBX configuration and DB2 client libraries. |
ctADO | ADO | Uses OLE DB Express style configuration; exact target depends on provider/database string. |
ctODBC | ODBC | Uses Delphi ODBC driver configuration; exact target depends on DSN/database settings. |
ADO and ODBC are generic connection mechanisms. The code does not enumerate every possible backend reachable through ADO or ODBC.
Schema
Database schema in Velox is not stored as raw DDL in the database definition. It is represented by:
TvxDBDef.DataModule, aTvxdaDataModule.TdaSQLQueryDataViewdataviews from modified ReportBuilder/dbExpress code.TdaSQLobjects containing selected tables, fields, criteria, order, joins, links, and manual/custom SQL state.- Primary key/update fields and custom ID field/value settings on
TvxDBDef. - Linked
TvxDBConmodules throughTvxDBLink.
TvxDBDef.OpenData sets database connections, assigns autosearch values from the owning flow source item when present, and activates dataviews when reading. TvxDBDef.SaveData starts transactions only when master dataviews have data, clears linked fields, and saves master SQL dataviews.
Configuration
Important configuration:
TvxDBCon.ConnectionTypeHostname,Database,SQLAuthType,Username, encryptedPasswordProviderName,SearchADO,SearchODBC,OtherParamsSQLDialect,SQLType, alias flags, quote flagsMySQLVersion,SSLCert,SSLKey- connection pool sizing:
MinConnections,MaxConnections - transaction controls:
DisableTransactions,MaxTranPerUpdate,TransIsolationForWriting,TransIsolationForReading - SQL Server certificate flag:
TrustCertificate TvxDBDef.UpdateIDFields,CustomIDField,CustomIDValue
System connection configuration is also loaded from a JSON file in TvxConnection (Classes\vxCon.pas). The JSON contains Connections and Databases entries and assigns Config/Log/Data/Test databases by key.
Where Used
Source locations:
Classes\vxDBCon.pasClasses\vxDBDef.pasClasses\vxDataDef.pasClasses\vxSQLConnection.pasClasses\Tools\vxDBConfig.pasClasses\Tools\vxSQLFormat.pasModified\ReportBuilder\daDBExpress.pas
Important forms:
Forms\frmSetupDBCon.pasForms\frmSetupDBDef.pasForms\frmDatabaseExplorer.pas
Important services:
Classes\Service\vxManagerScheduler.pasClasses\Service\vxManagerMonitor.pasClasses\Service\vxManagerREST.pasClasses\Service\vxManagerTransportIn.pasClasses\Service\vxManagerTransportOut.pas
Examples
Example database definition behaviour from code:
DB Connection: Microsoft SQL Server
DB Definition: one or more SQL dataviews
Flow action: Map reads DB definition as source
Runtime: OpenData activates SQL dataviews, Map executes, SaveData writes destination dataviews inside transaction where needed
Example system connection JSON shape inferred from TvxConnection.Load:
{
"Connections": [
{
"Key": "Default",
"DisplayName": "Production",
"ConfigNum": 1,
"Config": "ConfigDb",
"ConfigTest": "ConfigDbTest",
"Log": "LogDb",
"LogTest": "LogDbTest",
"Data": "DataDb",
"DataTest": "DataDbTest"
}
],
"Databases": [
{
"Key": "ConfigDb"
}
]
}
The exact Databases object properties are loaded into TvxDBParams; this document does not infer missing properties beyond the source.
Flat Files
Purpose
Flat files represent structured text files that are either delimited or fixed width. They are used for common integration payloads where records and fields are represented in lines of text.
Schema
Flat-file schema is represented by:
TvxFileDef.FileType = fftFlatFileTvxFileDef.DataModuleTdaCDSQueryDataViewdataviewsRecID, a record identifier used to select the dataview when reading recordsRecPos, the output order for dataviews when writing records- field definitions on the dataview SQL object
- optional master/detail dataview relationships
- fixed-width field sizing through dataview field sizes
TvxFlatFileEngine reads each record, finds the target dataview from the first field/record ID, then loads fields from position 2 onward because ID/master ID fields are internal.
Configuration
Important TvxFileDef configuration:
DelimitedDelimiterRecDelimiterRecCustomDelimiterQuoteStringsQuoteCharQuoteAnyDataTypeExcludedTop,ExcludedBottomFileEncodingWriteBOMPrintHeaderRowTrimStringsAutoDetectRecordDelimiterAutoDetectEncodingAttemptOtherEncodingIgnoreInvalidLinesIgnoreExtraFieldsIgnoreTruncatedFieldDataIgnoreWarningInvalidMaskDTFIgnoreNullRecordsIgnoreInvalidNumbersIgnoreUndefinedRecordsEnableNullInData
Defaults from TvxFileDef.New:
| Property | Default |
|---|---|
Delimited | False |
Delimiter | 44 (comma) |
RecDelimiter | flbCRLF |
QuoteChar | 34 (double quote) |
FileEncoding | feANSI |
WriteBOM | False |
AutoDetectEncoding | True |
AttemptOtherEncoding | True |
Supported file encodings from TvxFileEncoding are ASCII, ANSI, UTF-8, UTF-16, and UTF-16 big endian.
Where Used
Source locations:
Classes\vxFileDef.pasClasses\vxFileDefFlat.pasClasses\vxFileEngineFlatFile.pasModified\ReportBuilder\daDBCDS.pasClasses\vxFileCon.pas
Important forms:
Forms\frmSetupFileDefFlat.pasForms\frmSetupFileCon.pasForms\frmCSVImporter.pas
Runtime usage:
- Flow source/destination data definitions.
- Maps, reports, SQL/script actions, transports, and REST APIs through file definitions.
- File monitor and transport managers through file connection paths and patterns.
Examples
Delimited flat-file example with record IDs:
HDR,10045,2026-07-05
LIN,10045,SKU-1,2
LIN,10045,SKU-2,1
In this pattern, HDR and LIN are examples of first-field values that can match dataview RecID values. The actual record IDs are configured in the file definition dataviews.
Fixed-width example:
HDR1004520260705
LIN10045SKU-1 0002
The code supports fixed-width processing when Delimited = False, but exact field widths come from configured dataview fields. This document does not infer a universal fixed-width layout.
CSV And Tab-Separated Files
Purpose
CSV is supported as a delimited flat-file configuration. There is no separate TvxFileType or TvxCSVFileEngine in the active source.
Schema
CSV schema uses the same schema model as flat files:
TvxFileDefFlatTvxFlatFileEngineTdaCDSQueryDataView- delimiter and quote settings
- dataview field order
TvxFileDef.MimeType maps delimited flat files to:
text/tab-separated-valueswhenDelimiter = 9text/csvfor other delimited flat files
Configuration
Important CSV-specific configuration:
Delimited = TrueDelimiter = 44for comma separated filesDelimiter = 9for tab separated filesQuoteStringsQuoteChar = 34for double quotes by defaultPrintHeaderRowfor writing column headers
TfrmCSVImporter can collect field names, delimiter, and quote character. Its code detects pasted line breaks and tabs, and can prompt to convert line breaks to tabs or set the field delimiter to 9.
Where Used
Source locations:
Classes\vxFileEngineFlatFile.pasClasses\vxFileDef.pasForms\frmCSVImporter.pasForms\frmMain.dfmcontains a visible captionFlat File (ie CSV).
Examples
CSV example:
HDR,10045,2026-07-05
LIN,10045,SKU-1,2
Tab-separated example:
HDR 10045 2026-07-05
LIN 10045 SKU-1 2
The examples show possible payloads only. Field meanings and dataview names are configured per file definition.
XML
Purpose
XML file definitions read and write XML payloads using XSD-backed schema information, XML dataview root paths, and field XPath mappings.
Schema
XML schema support is represented by:
TvxFileDef.XSDSchemaSchemaLocationTargetNameSpaceSchemaRootNodeIndexSchemaRootNodeNameMultipleRootNodesAbstractAssignmentsAnyAssignmentsArrayAssignmentsTdaXMLQueryDataView.RootNodeTdaXMLQueryDataView.RootNodeNameTdaField.XPathand XML field metadata in modified ReportBuilder code
TvxFileDef.LoadXSDSchemaDoc loads the XSD into an MSXML schema cache. If multiple root nodes exist, the setup UI can prompt for a root selection through Forms\frmXMLSchemaItemSelect.pas.
Configuration
Important XML configuration:
ValidateXMLdefaults toTrueResolveExternalsdefaults toTrueAllowDTDReferencesdefaults toFalseIncludeXMLPrologdefaults toTrueIncludeXSINamespaceIncludeXSDNamespaceNamespacesAsNeededUseXSINilForNullsUseXSITypeUTF16EncodingForceAttributeNSPrefixFixBadEncoding
Runtime behaviour:
TvxXMLFileEngine.LoadFromFilesaves API request stream content to a file when present, loads the file connection path, optionally fixes bad ampersand encoding, validates XML when enabled, then transforms XML into dataviews.TvxXMLFileEngine.SaveToFiletransforms dataview rows into XML, supports single-file mode, writes output, copies API response streams when applicable, and validates inFinish.TvxFileDef.CreateBlankXMLDocumentcan generate a blank XML document using selected schema elements and namespace settings.
Where Used
Source locations:
Classes\vxFileDefXML.pasClasses\vxFileDef.pasClasses\vxFileEngineXML.pasClasses\vxXMLEngine.pasClasses\Tools\vxXML.pasModified\ReportBuilder\daDBCDS.pas
Important forms:
Forms\frmSetupFileDefXML.pasForms\frmXMLSchemaItemSelect.pas
Examples
Example XML payload:
<?xml version="1.0" encoding="UTF-8"?>
<Order>
<OrderNumber>10045</OrderNumber>
<Line>
<Sku>SKU-1</Sku>
<Quantity>2</Quantity>
</Line>
</Order>
Actual element names, namespaces, root node, and paths come from the configured XSD and dataview fields.
JSON
Purpose
JSON file definitions read and write JSON payloads using JSON dataview root paths and field dot paths. JSON is also used elsewhere in Velox for system connection configuration, API/OpenAPI schema generation, HTTP/OAuth/Azure helpers, and script-accessible JSON objects.
Schema
JSON file definition schema is represented by:
TvxFileDef.JSONSchemaTvxFileDef.JSONRootTypeTdaJSONQueryDataView.RootNodeDotPathTdaJSONQueryDataView.RootNodeBracketPathTdaJSONQueryDataView.RootNodeNameTdaJSONQueryDataView.JSONRootTypeTdaField.DotPath
TvxJSONSchemaOutliner loads the configured JSON schema/sample file through TJSONText.CreateFromFile, builds a tree outline, identifies object/array/simple-array nodes, and uses the first array element when outlining arrays. The active source comments say the outliner is for loading a JSON instance rather than a formal JSON Schema in the current implementation.
Runtime JSON read/write is handled by TvxJSONFileEngine:
- Read: parse a JSON stream with
ParseJSONValueFromStream, save normalizedToJSONto file connection log data, then transform master/detail JSON dataviews to datasets. - Write: create
TJSONObjectorTJSONArraybased on root type, transform dataview rows into JSON, write UTF-8 or UTF-16 output, optionally write a BOM, and copy the result to an API response stream.
No active runtime JSON Schema validation equivalent to XML validation was found in TvxJSONFileEngine.
Configuration
Important JSON configuration:
JSONSchemaJSONRootTypeRootNodeDotPathRootNodeBracketPathHasDotNameUseXSINilForNulls, reused as JSON output-null control inTvxJSONFileEngine.TransformToJSONUTF16EncodingWriteBOM
Where Used
Source locations:
Classes\vxFileDefJSON.pasClasses\vxFileDef.pasClasses\vxFileEngineJSON.pasClasses\Tools\vxJSON.pasClasses\GUI\vxJSONSchemaOutliner.pasModified\ReportBuilder\daDBCDS.pasClasses\vxCon.pasClasses\vxAPI.pas
Important forms:
Forms\frmSetupFileDefJSON.pas
Examples
Object-root JSON example:
{
"order": {
"orderNumber": "10045",
"lines": [
{
"sku": "SKU-1",
"quantity": 2
}
]
}
}
Possible dataview path examples:
RootNodeDotPath: order.lines
Field DotPath: sku
Field DotPath: quantity
The path syntax above reflects RootNodeDotPath and TdaField.DotPath usage in the source. Actual configured paths are created in the Designer.
EDI
Purpose
EDI file definitions read and write segmented EDI-style text files using segment, element, sub-element, and escape delimiters.
Schema
EDI schema is represented by:
TvxFileDef.FileType = fftEDIFileTdaEDIQueryDataView, derived fromTdaCDSQueryDataView- dataview
RecID, used as the segment identifier - field order and EDI element grouping metadata
TdaField.ElementNameusage during writing
TvxEDIFileEngine inherits from the flat-file engine but overrides record parsing, dataview lookup, field loading, record delimiter detection, and writing.
Configuration
Important EDI configuration from TvxFileDef:
SegmentTerminator, default39(')ElementDelimiter, default43(+)SubElementDelimiter, default58(:)EscapeChar, default63(?)AutoDetectRecordDelimiter- shared flat-file flags such as
TrimStrings,IgnoreExtraFields,IgnoreInvalidNumbers, andIgnoreTruncatedFieldData
Runtime behaviour:
- If a file starts with
UNA,TvxEDIFileEngine.DetectRecordDelimiterreads delimiter characters from that segment. TvxEDIFileEngine.FindCurrentDataViewrequires an exactRecIDmatch.- Writing escapes delimiter characters using the configured escape character.
- Writing appends a final segment terminator if a stream is still open.
Where Used
Source locations:
Classes\vxFileDefEDI.pasClasses\vxFileEngineEDI.pasClasses\vxFileEngineFlatFile.pasModified\ReportBuilder\daDBCDS.pas
Important forms:
Forms\frmSetupFileDefEDI.pas
Examples
EDI-like example using the default delimiter characters:
UNA:+.? '
UNH+1+ORDERS:D:96A:UN'
BGM+220+10045'
LIN+1++SKU-1:IN'
QTY+21:2'
The code supports delimiter detection from UNA. It does not identify specific EDI standards or transaction sets beyond delimiter/segment processing in the inspected source.
Excel
Purpose
Excel file definitions read and write XLS/XLSX workbooks. Excel is a first-class TvxFileType even though it is not listed in every user prompt example.
Schema
Excel schema is represented by:
TvxFileDef.FileType = fftExcelFileTdaExcelDataView- worksheet/range configuration
- field cell mappings through modified ReportBuilder field metadata
- optional workbook template
TvxExcelFileEngine uses the nExcel workbook API. It parses cell and range addresses through helpers such as ExtractXLSCellAddress and ExtractXLSRange.
Configuration
Important Excel configuration:
ExcelAutoDetectFormat, defaultTrueExcelFormat, defaultfefXLSXExcelPasswordExcelTemplateTdaExcelDataView.WorksheetTdaExcelDataView.RangeKeepEmptyRowsEmptyRowsForEOFEndValue
Runtime behaviour:
- Reading opens the workbook, reads master
TdaExcelDataViewdataviews, and logs file data. - Writing can use an Excel template. If
ExcelAutoDetectFormatis enabled, output format can be inferred from.xlsor.xlsxfile extensions. - Writing can protect the workbook if
ExcelPasswordis set.
Where Used
Source locations:
Classes\vxFileDefExcel.pasClasses\vxFileEngineExcel.pasModified\ReportBuilder\daDBCDS.pas
Important forms:
Forms\frmSetupFileDefExcel.pas
Examples
Excel range examples accepted by the parser:
Sheet1!A1:F20
Sheet1!A*
{ParentDataView}Sheet1!A2:F20
The examples show range syntax supported by ExtractXLSRange; actual workbook layouts are configured per file definition.
Binary And Streams
Purpose
Binary support exists in Velox as infrastructure rather than as a top-level file definition type. It is used for module persistence, report templates, datamodule templates, log/transport payloads, API request/response streams, DB blob fields, and script-accessible stream helpers.
Schema
Binary/stream schema is source-specific:
TvxModulesaves module templates to theMODULEdatabase field through ReportBuilder template persistence.TvxDataDefdescendants storeDATAMODULEfor data module metadata.TvxReportstoresREPORTMODULEfor report layouts.TvxLogFilestores file log data and file hashes.TvxLogTransportstoresTAGDATAin aTMemoryStreamand persists it as hex/BLOB data.TppDBPipeline.GetFieldAsStreamandSetFieldFromStreamread/writeTBlobFieldvalues as streams.TvxAPIRequest.Contentexposes request body asTStream;TvxAPIResponseexposes response content stream through the WebBroker response class.
TvxModuleFormatType contains fmtBinary, fmtASCII, and fmtXML, but normal TvxModule.CreateModuleTemplate sets ReportBuilder template Format to ftASCII. Report modules and ReportBuilder internals can still read/write template streams.
Configuration
No standalone "binary file definition" configuration was found. Binary-related behaviour is controlled indirectly by:
TvxFileCon.FileStreamTvxFileCon.FileData- log flags such as
LogFileData,LogHTTPComms, andLogTransportComms - ReportBuilder template settings
- API request/response content stream use
- database field types such as
ftBLOB,ftGraphic,ftTypedBinary,ftBytes,ftVarBytes, andftOraBlob
Where Used
Source locations:
Classes\vxModule.pasClasses\vxReport.pasClasses\vxFileCon.pasClasses\Tools\vxStream.pasClasses\Tools\vxCommonString.pasClasses\Tools\vxAPIStream.pasModified\ReportBuilder\ppDBPipe.pasModified\ReportBuilder\daDBExpress.pasClasses\vxMap.pasClasses\vxSQL.pas
Important forms:
Forms\frmLogs.pasForms\frmManageLogs.pasForms\frmManageTransportLogs.pas- Report designer forms through modified ReportBuilder sources.
Examples
Transport tag-data persistence:
TvxLogTransport.TagData -> TMemoryStream -> StreamToHex -> VX_LOG_TRANSPORT.TAGDATA
API file response path:
File engine writes output file -> CopyFileToResponseStream -> Response.ContentStream -> Response.ContentType from TvxFileDef.MimeType
Database BLOB field handling:
TppDBPipeline.GetFieldAsStream: TBlobField.SaveToStream
TppDBPipeline.SetFieldFromStream: TBlobField.LoadFromStream
There is no source-confirmed TvxFileDefBinary or fftBinaryFile.
Cross-Format Runtime Flow
The same data definitions are reused across maps, reports, flows, API endpoints, SQL/custom-script actions, and transports. The trigger type changes how the flow starts, not the underlying format model.
Important Classes
| Area | Classes |
|---|---|
| File definitions | TvxFileDef, TvxFileDefFlat, TvxFileDefXML, TvxFileDefEDI, TvxFileDefExcel, TvxFileDefJSON |
| File engines | TvxFileEngine, TvxFlatFileEngine, TvxXMLFileEngine, TvxEDIFileEngine, TvxExcelFileEngine, TvxJSONFileEngine |
| File connections | TvxFileCon |
| Database definitions | TvxDataDef, TvxDBDef, TvxDefItem, TvxDefDB, TvxDefFile, TvxDefManager |
| Database connections | TvxDBCon, TvxDBLink, TvxSQLConnection, TvxDBParams, TvxConnection |
| Dataviews | TdaSQLQueryDataView, TdaCDSQueryDataView, TdaXMLQueryDataView, TdaJSONQueryDataView, TdaEDIQueryDataView, TdaExcelDataView |
| Binary/streams | TStream, TMemoryStream, TBlobField, TvxAPIRequest, TvxAPIResponse, TvxLogFile, TvxLogTransport |
Important Forms
| Form | Format area | Purpose |
|---|---|---|
Forms\frmSetupDBCon.pas | Database | Configure database connection details. |
Forms\frmSetupDBDef.pas | Database | Configure database definitions/dataviews. |
Forms\frmDatabaseExplorer.pas | Database | Explore database objects/data. |
Forms\frmSetupFileCon.pas | Files | Configure file paths, patterns, audit/error/transport folders, naming behaviour. |
Forms\frmSetupFileDefFlat.pas | Flat/CSV | Configure flat-file definition details. |
Forms\frmCSVImporter.pas | CSV | Import field lists and delimiter/quote settings. |
Forms\frmSetupFileDefXML.pas | XML | Configure XML schema, validation, namespaces, root node selection. |
Forms\frmXMLSchemaItemSelect.pas | XML | Select schema root node when multiple roots are detected. |
Forms\frmSetupFileDefJSON.pas | JSON | Configure JSON schema/sample path and JSON file settings. |
Forms\frmSetupFileDefEDI.pas | EDI | Configure EDI file definition delimiters and dataviews. |
Forms\frmSetupFileDefExcel.pas | Excel | Configure Excel format, template/password, ranges, and dataviews. |
Forms\frmLogs.pas, Forms\frmManageLogs.pas, Forms\frmManageTransportLogs.pas | Logs/binary/streams | View log file data, transport log data, and payload-related log records. |
Important Services
| Service/manager | Format relationship |
|---|---|
Classes\Service\vxManagerScheduler.pas | Starts scheduled flows that open database/file definitions. |
Classes\Service\vxManagerMonitor.pas | Starts monitor flows when file patterns or watched sources produce work. |
Classes\Service\vxManagerREST.pas | Starts REST flows, passes request content streams to file definitions, and returns response streams with file MIME types. |
Classes\Service\vxManagerTransportIn.pas | Runs inbound transports that receive files/messages and hand them to file connections/definitions. |
Classes\Service\vxManagerTransportOut.pas | Processes outbound transport log queue records and sends file payloads. |
Related Configuration
| Configuration | Source | Notes |
|---|---|---|
| File type | TvxFileDef.FileType | Selects active file engine. |
| File connection | TvxFileCon | Controls path, pattern, save path, audit/error/issue/duplicate/temp/transport folders, naming, file hash, current file. |
| File encoding | TvxFileEncoding | ASCII, ANSI, UTF-8, UTF-16, UTF-16 big endian. |
| Database type | TRegConType | SQL Server, Oracle, MySQL, PostgreSQL, IBM DB2, ADO, ODBC. |
| System connection JSON | TvxConnection in Classes\vxCon.pas | Loads Config/Log/Data/Test database assignments from JSON. |
| MIME type | TvxFileDef.MimeType | Used by API/OpenAPI paths and response content type. |
| API streams | TvxAPIRequest, TvxAPIResponse | Request/response content stream wrappers. |
Unclear Or Not Implemented From Source
- CSV has no separate
TvxFileType; it is a delimited flat-file configuration. - Arbitrary binary files have no
TvxFileType,TvxFileDefBinary, or dedicated binary file engine in the inspected source. - JSON schema/sample handling is present in setup/outliner code, but no active runtime JSON Schema validation equivalent to XML validation was found.
- ADO and ODBC are supported connection mechanisms, but specific backend database/file capabilities depend on provider/DSN settings and are not enumerated in the Velox code.
TvxModuleFormatTypeincludesfmtBinary,fmtASCII, andfmtXML, but normal module template creation sets ReportBuilder template format to ASCII inTvxModule.CreateModuleTemplate.