File Format
The input data file should be a CSV-formatted text file. A comma (“,”) will be used to separate each column.
A carriage-return+line-feed character combination will be used to terminate each row. If a carriage-return+line-feed character combination must be included as part of the data of a single column, the column’s data should be enclosed in double quotes. The same is true if a comma must be included as part of the data of a column.
If a double-quote character must be included as part of the data of a column, then it should be “escaped” by being immediately proceeded by another double-quote character. (e.g. "Hello world" would be encoded as ""Hello World"".)
High-Level File Structure
The file will consist of one header row followed by one or more data rows. The header rows explicitly state which fields will be updated (and, by inference, which tables).
The header row will include fields from a set of tables. The header row does not need to list all the fields in a table, nor does it need to reference each available table; it should only list as many fields as will be imported. The order in which it lists these fields will dictate the order in which the data will appear in the subsequent data rows.
Immediately following the header row there should be one or more data rows. Each data row shall contain the necessary command, key and data values needed to import one row of data into the database table(s).
There must be one value column for each field-definition column declared in the header (though the columns can be left blank when appropriate).
Header Row Details
The first non-blank row in the import file shall be interpreted as the header row. The header row shall be used to define which fields will be imported (as such, they are referred to as field-definition columns).
The first column of each row must have a header identifier of Command Action.
The following Command Actions are supported by this import type:
INSERT
UPDATE
UPDATEONE
UPSERT
UPSERTONE
The Command Action column can be omitted in cases where the default InvalidLookupBehavior should be invoked, however if an invalid lookup behavior other than "Fail" (the default) is desired, then the Command Action column must exist and values must all be "Insert".
It should be noted that the InvalidLookupBehavior can be specified as “Skip” for the Command Action and will cause the import to continue to process a record even if a field within the record fails. The “Skip” option is not recommended without careful consideration for data integrity and data auditing.
The format for each following field-definition column is <table name>!<field name>. For example, in order to update the LAST_NAME field of an EMPLOYEE record, the field definition column should be EMPLOYEE!LAST_NAME.
For reference, click here to see the supported tables and fields for the field definition columns of the import.
For fields where the value is a look-up value, the field-definition column format is <table name>!<field name>|lookupValue=True. Using “True” for this option specifies that the value contained on the import file should be the field value the user sees via the screen, while “False” specifies that the import file will contain the Equus Platform code that is saved in the database.
Identifying Authorizations for Update Commands
When performing an UPDATE or UPSERT import, you must tell the system which existing authorization record to modify. To identify an existing authorization, include this column in your header: AUTHORIZATION!ID|RecordIdentifier=True
Data Row Details
Following the header row are one or more data rows. Each data row shall contain the one mandatory column in addition to one or more data columns. The data columns much exactly match the layout defined in the header row.