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.
This import will allow you to connect Authorizations to existing employee records in the EMWP by matching one of these two data points:
System Number
Employee Email Address
If import finds an Employee match, it will not create the record in the AUTH_STAGE_EMPLOYEE table. It will display the details from the EMPLOYEE table. For the Batch Authorizations Import, we also want to always create an AUTH_STAGE_ASSIGNMENT record for the GROUP_NAME being populated from the input parameters, even if there are no AUTH_STAGE_ASSIGNMENT fields in the import
The import supports the use of multiple rows when there are multiple records for certain tables
This can use the column for “AuthorizationIdentifier”. This value is optional. The column exists to handle a specific use case. The value you supply will not be stored in the Equus Platform database, but will instead be used to link two or more rows together within the Import You can pick any value you like (alphanumeric), but make sure that every row of data that should serve as an update to this newly-created record has the same value in this column, and that no row of data that should update a different assignment has this same value
Things to Note
Error Message when there is an open Authorization, we will fail the line and provide this error message in the summary of import failures