File Format (On Demand) - *.XINI
- Michelle Cabaya
The XINI file is used to configure integration translations for order imports. For route imports, see File Format (Routed ASN) - *.XASN.
General
Datetime fields must use the format “yyyyMMdd HHmm".
Comments
Comments are indicated by the '#' character and continue to the end of the line and can be at the beginning of a line, or at the end.
# This is a comment OriginName=0,CXT Software # This is also a comment
General Configuration Items
Configuration items are set using a Key=Value format.
Configuration Item | Description |
---|---|
ConcurrentDataFiles | Optional This value is set to the number of concurrent data files to be processed and will tell the system how many parallel processes to attempt to create. If this value is set to -1 it will tell the system to create as many as it can. If this value is NOT set, it will default to 1 to mimic current functionality. Example ConcurrentDataFiles=-1 |
ConcurrentProcesses | Optional Can be set in the X Stream definition to run multiple XASN/XINI files at the same time. |
DataMask | Required Specifies the extension of the import files (e.g., xml, txt, *). To disregard the file extension, you may use '*', however, the DataMask item should be set whenever possible to prevent the processing of unintended files. Many times, third-party companies sending the import files will upload the file with a ".tmp" extension and rename the file to the correct extension only once the upload has been completed. If the DataMask is set to '*' these temporary files may be processed before they have been completely transferred. Example DataMask=xml |
DataPath | Required Directory to monitor for incoming files. If the directory is not on the local machine, the fully qualified URI (\\server1\customer1\inbox) must be used. Example DataPath=c:\ximport\inbox |
Inherit | Optional Specifies whether files moved to the “ProcPath” directory should inherit the permissions of that directory when moved. A value of “1” indicates files should inherit permissions, while a value of “0” indicates the file should retain its current permissions (default behavior). Example Inherit=1 |
Delimiter | Required This specifies the type of file to be processed and must be one of:
Example Delimiter=XML |
ErrPath | Required The directory in which to store any error log files for the import. Example ErrPath=c:\ximport\errors |
NumLinesSkipped | Optional Indicates how many lines to skip from the top on an imported flat file. This allows you to bypass header rows in data files. Example NumLinesSkipped=1 |
PreProcessor | Optional Full path to the preprocessor executable. Example PreProcessor=c:\ximport\plugins\eTracPreProcessor.exe If running the preprocessor from a batch file, you must include the full path to the specified preprocessor within the batch file and not use a referential path. Example: c:\ximport\plugins\eTracPreProcessor.exe - would run properly from a batch file .\eTracPreProcessor.exe - would not run properly from a batch file |
PreprocessorPassInstance | Optional in X Dispatch 19.2 or newer 0/1 to enable/disable passing of the database instance to the pre-processor. Defaults to 0 to not pass the parameter so that it will not cause a regression for any existing preprocessors. |
ProcPath | Required The directory in which to store copies of original import file and the log of XML requests used to place an order. Example ProcPath=c:\ximport\processed |
Qualifier | Optional Qualifier defaults to the double-quote character and should almost never be modified. The corner case where Qualifier may need to be specified is if the import file format is a hybrid CSV file where escaped data is surrounded with a character other than the double-quote. This case is exceedingly rare. Example Qualifier=" |
URL | Required Full URL to the XMLListener.asp file. Example URL=http://127.0.0.1/XMLListener.asp |
BaseNode | Required only if using XML for Routed The XML node used to indicate the base node. Example BaseNode=/OrdersXASN |
OrderNode | Required only if using XML The XML node used to indicate orders. If listed, relative to BaseNode. Otherwise, it is an absolute path from the root of the document. See DATA ITEMS (XML) below. Example OrderNode=/Orders/Order |
ParcelNode | Required only if using XML The XML node used to indicate parcels. See Data Item Types (XML) below. ParcelNode is relative to OrderNode if used in XINI or if BaseNode is specified in routed. Otherwise, it is an absolute path from the root of the document. This node supports XPath statements. These statements are a powerful method to extend the capability of returning data. Example: if you wanted the ParcelNode to find all subnodes that start with “D_87”, you could use an XPath statement such as this: S_MAN[D_88_1="W"]/*[contains(local-name(),'D_87')] This statement only looks at S_MAN nodes that have a D_88_1 node that is set to “W” and then returns all sub nodes that start with “D_87”. |
StripBeginningQualifier | Optional Used in XML only. If the XML file submitted is wrapped in leading characters, this will prevent X Import from processing the document. This is because having leading characters is not valid XMDelimiterL. In order to modify the file into becoming valid XML, you can specify a mask of characters to strip out from the very beginning of the file if they are found. This could be more than one character and is not a dynamic field, so do not wrap the value in quotes or begin it with 0,. Example StripBeginningQualifier=” |
StripEndingQualifier | Required only if using XML If the XML file submitted is wrapped in trailing characters, this will prevent X Import from processing the document. This is because having trailing characters is not valid XML. In order to modify the file into becoming valid XML, you can specify a mask of characters to strip out from the very end of the file if they are found. This could be more than one character and is not a dynamic field, so do not wrap the value in quotes or begin it with 0,. Example StripEndingQualifier=” |
SkipLinesIfBeginsWith | Optional This is only processed for fixed width and delimited imports. It will not be considered in an XML import. A regular expression is used to test each line to see if it should be processed. If the regular expression matches the current line, it will be skipped and not be processed. Here is a good reference for regular expressions: http://www.regular-expressions.info/reference.html Example ^[^"] That regular expression matches any line that does not begin with a double quote ("). Therefore, any line beginning with something other than a double quote would not be processed by X Import. |
LogRetentionDays | Required Best Practice Set between 3 and 7 days with the max set to 7 days for Cloud. The number of days to keep files that are in the ProcPath (.proc, .original) and ErrPath (.err) directories (EdiProcessedPath (.proc, .original) and EdiErrorsPath (.bad) for EDI). If this setting is omitted from the configuration file the number of days to keep the files defaults to 90. If the value in the configuration file cannot be parsed as an Integer the number of days to keep the files defaults to 90. Example LogRetentionDays=7 |
ReImport | Optional Used to reimport the processing of a file in the processed directory that does not have a .proc file. Example ReImport=1 # Default is 0 ( no reimport ). |
ReportEmail | Optional The e-mail address to which X Import will send a report about the import process for the current input file. Multiple email addresses should be comma separated. This works for both On Demand and Routed. Example ReportEmail=text@cxtsoftware.com ReportEmail is not stored with the Order, but is used to create an email to be sent. It could be found tblMailLog, tblMailOutbox, or tblMailOutboxHistoric, depending on the time that has passed since the import and the status of email. |
MaxReimport | Required The number of times to attempt to re-import failed imports. Omitting this item or setting it to 0 will have no change on import functionality. Any numeric value higher than 0 will tell X Import to try the configured number of times to re-import the failed data. This feature will only re-import failed orders/stops. Any successfully imported orders/stops will not be re-imported. If an import fails due to a bad parcel, X Stream will not create the stop or any parcels associated to the stop (even good parcels). A re-import file is generated (regardless to the MaxReimport setting) containing the stop information and only the "good" parcel to re-import (this helps avoid future duplicates if consolidation logic is not used). If the key ReportEmail is in the file, it will trigger an email with the failing reason. Example MaxReimport=3 |
LocalizedDateTimes | Optional 0/1 (disable/enable) this tells the Import process that the date/times are already localized to the stop location in the ASN file, and not to localize them against the server date/time. Defaults to 0 (disabled) so that it works as it always has. This allows the user to let the import plugin know that the date/time stamp they are passing in (e.g. "07/27/2018 00:00:00") has already been localized. If the user specifies a date/time with a timezone offset, the system will make use of that offset for the timezone (e.g. "07/27/2018T00:00:00-04:00"). Example LocalizedDateTimes=1 Possible version compatibility issue. See Changelog below. |
Attempts | Optional Specifies how many times each line is attempted on an import before moving on and throwing an error. Defaults to 1 if not set. If not managed correctly, it could potentially cause substantial processing delays. Before implementing ensure that you fully understand how the element works with the MaxFailed and RetryDelay(ms) to prevent issues with integration processing times. Possible version compatibility issue. See Changelog below. |
MaxFailed | Optional Specifies how many lines in an import can fail to import before the remainder of the file is failed and set for reimport later. If not set, the import process will continue and all of the failed entries will be put into a new file for reimport. If not managed correctly, it could potentially cause substantial processing delays. Before implementing ensure that you fully understand how the element works with the Attempts and RetryDelay(ms) to prevent issues with integration processing times. Example If a CSV file has 100 rows, it processes the first 25 successfully, the MaxFailed is set to 15, and the next 15 lines fail, the remaining 60 lines are failed as well. The new file for reimport attempt will have the remaining 75, including the 15 failed entries, and it will be attempted again based on the MaxReimport. Possible version compatibility issue. See Changelog below. |
RetryDelay(ms) | Optional Specifies an amount of time in milliseconds to wait in between failed attempts at importing a line from a file. This is the delay for attempting to process each data set. Delimited files would be the delay for processing each row, XML would be a delay for processing each node based on the Attempts value. Defaults to 0 if not set. If not managed correctly, it could potentially cause substantial processing delays. Before implementing ensure that you fully understand how the element works with the Attempts and MaxFailed to prevent issues with integration processing times. Possible version compatibility issue. See Changelog below. |
XSLTTranslator | Optional Contains the file name of the XSLT file to use for translation (e.g. C:\IMPORT\TEST.XSLT). The XSLT file can be used to modify the incoming data before it is processed by the Import plugin. |
XSLTDataPath | Optional Contains the directory location where to write the XSLT translation output data. This is primarily used for debugging purposes. It allows the user to see the data that was created by the XSLT transformation. |
XmlDataPath | Optional Contains the directory location where to write the output that the Import plugin sent to the back end. This is primarily used for debugging purposes. It allows the user to see what data is being sent to the back end server. |
XmlPostAlso | Optional Contains a 1 or 0 to enable or disable sending requests to the back end. This value is used in conjunction with XmlDataPath. This must be set to 1 for the Import plugin to properly process requests and send them to the back end. It is set to 0 only for debugging the Import process without sending the request to the back end server. |
QueueBatchConfigType | Optional Set to the config type from tblQueue_Batch that will denote import data to processes. How it is configured:
How it works:
Possible version compatibility issue. See Changelog below. |
DelayImport | Optional Used to delay the processing of a file by a set number of seconds. Example DelayImport=180 # This is for 3 minutes 60*3 = 180 |
NameSpacePrefix | Optional Required in some XML inbound documents or if NameSpaceUri is used. Example NameSpacePrefix =ns2 # This data would be found at the root element in the xml doc |
NameSpaceUri | Optional Required in some XML inbound documents or if NameSpacePrefix is used. Example NameSpaceUri =http://internal.amazon.com/TrailerInfo # This data would be found at the root element in the xml doc |
ReplaceContent | Optional Used to replace content in the document with the matching value with an empty string. Example ReplaceContent =:TrailerInfo xmlns:“http://www.schema.com” # This will remove any match for this string to be set to the empty string “” |
ReportEmail | Optional The e-mail address to which X Import will send a report about the import process for the current input file. Multiple email addresses should be comma separated. This works for both On Demand and Routed. Example ReportEmail=text@cxtsoftware.com Data: ReportEmail is not stored with the Order, but is used to create an email to be sent. It could be found tblMailLog, tblMailOutbox, or tblMailOutboxHistoric, depending on the time that has passed since the import and the status of email. |
File Failures
The import plugin will move any failing data files to the ERRORS folder.
Possible version compatibility issue. See Changelog below.
Configuration Item | Description |
---|---|
FailureEmailFromAddress | Optional FailureEmailFromAddress is a parameter for a return email address for failure emails. This parameter and FailureEmailFromName must be set the same as the setting in the email account. For example, if the email account has the email as email@cxtsoftware.com and the name as John Doe, the FailureEmailFromAddress must be "email@cxtsoftware.com" and the FailureEmailFrom Name must be "John Doe". The best practice is to use the same email address as the one set in the active Mail Manager profile. FailureEmailToAddress must be set. The failure emails will be sent if the import fails to pre-process or translate using XSLT the inbound data file. The email will be sent with the data file attached along with the failure message. |
FailureEmailFromName | Optional FailureEmailFromName is a parameter for a return email name for the failure emails. This parameter and FailureEmailFromAddress must be set the same as the setting in the email account. For example, if the email account has the email as email@cxtsoftware.com and the name as John Doe, the FailureEmailFromAddress must be "email@cxtsoftware.com" and the FailureEmailFrom Name must be "John Doe". The best practice is to use the same email address as the one set in the active Mail Manager profile. FailureEmailToAddress must be set. The failure emails will be sent if the import fails to pre-process or translate using XSLT the inbound data file. The email will be sent with the data file attached along with the failure message. |
FailureEmailToAddress | Optional FailureEmailToAddress is a parameter for a valid email address where the failure email should be sent. The failure emails will be sent if the import fails to pre-process or translate using XSLT the inbound data file. The email will be sent with the data file attached along with the failure message. |
Example
DataPath=C:\ximport\inbox # example comment DataMask=XML Inherit=0 ProcPath=C:\ximport\Processed ErrPath=C:\ximport\Errors # another comment URL=http://127.0.0.1/SampleWeb/XMLListener.asp Delimiter=XML
Data Item Types
There are three types of data items: static, dynamic, and macro.
Static Data Items
Static data items allow you to populate fields with known values. For example, if all of the deliveries sent in on an ASN will be assigned the same order type, origin address, etc. Static data items can be set by prepending the argument with “0,” followed by the static value.
UserID=0,ximport-mckesson
Dynamic Data Items
Dynamic data items allow you to set an item’s value based upon the type of input file.
Macro Data Items
Macro data items allow you to populate fields with certain pre-defined macros. Currently, the only supported macros are the following:
NOW | Returns the current timestamp at the time of processing, e.g. “04/20/2008 11:11” AKA "Server Time" This would be the time of the server on which X Import is running. Time may be added and subtracted in minute increments by appending the appropriate math after the “NOW” route keyword.
|
TODAY | Returns the current date at the time of processing with the time set to 12:00 AM, e.g. “04/20/2008 00:00” AKA "X Dispatch Time" This is the time in X Dispatch via dbo.GETCXTDate(). Time may be added and subtracted in day (whole or fractional) increments by appending the appropriate math after the “TODAY” keyword
|
CXTNOW | Returns the current date at the time of processing within cxtAsp. This would be useful if the time zone of the system running X Import does not line up with the time zone of X Dispatch. For example, if a customer on Cloud is set for Eastern time but the server running their instance is set to Pacific or Central time. ReadyTimeFromApplies to the following XINI fields:
Applies to the Following XASN Fields:
If CXTNOW is used in a field outside of what is outlined above, the field will contain the results of NOW instead. |
Example
PickupDate= NOW+360 DeliverDate=TODAY+2
Macro data items can also be manipulated to add time offsets. For example, if you receive an ASN for same day delivery and the file comes in at inconsistent times (11 PM one day and 1 AM the next), using the above macros may not be sufficient. For these cases, it is possible to add a time offset and then apply a date transformation.
If you want to accept a same day ASN before 3 PM, but roll everything after 3 PM to the next day, you could do the following:
PickupDate=NOW&09:01|DAYFLOOR
The syntax for this type of macro manipulation is in the following form: Item=Macro&[OffsetHours:]OffsetMinutes|Transformation
Where:
- Item is a valid Data Item for the configuration file.
- Macro must be one of: NOW (see NOTE below) or TODAY.
- OffsetHours specifies the number of hours to add to the evaluated macro (required)
- OffsetMinutes specifies the number of minutes to add to the evaluated macro (required)
- Transformation is one of:
- DAYFLOOR: Set the resulting time to 00:00
- DAYUPPER: Set the resulting time to 00:00 and adds one day
WEEKDAYFLOOR: Behaves similarly to DAYFLOOR. If the time, after adding the OffsetHours and OffsetMinutes, is on a Saturday or Sunday, it will be pushed to the following Monday and then set the resulting time to 00:00
NOW is a macro that pulls the SERVER time, not the time local to the customer. The server time for Cloud customers is always UTC and the imported files will show the time local to the customer. In the example above, if the customer’s local time is EST you would need to add 4 hours to the syntax example:
PickupDate=NOW&13:01|DAYFLOOR
Configuration Items
Configuration items are set using a Key=Value format. In addition to the general configuration items, On Demand XINI files may also contain the following Key/Value pairs:
Configuration Item | Description |
---|---|
LookupTable | Optional LookupTable is the name of a user-defined custom database table that stores additional order information. Certain data items can be populated with information in this table. The table must have a “Route” column that is used as the unique identifier to match against data from the imported data file. The remaining columns in the table can be named by the user, and may only be used for certain order fields during processing. To populate fields from the data columns, the value specified for the data item should be “Col” followed by the database column name (see example for Driver below). The data items that can be populated with information from the lookup table are: CustID, Driver, OriginAddress, OriginComments, OrderType, ReadyTimeFrom, ReadyTimeTo Example LookupTable=0,CUSTOM_Lookup Driver=0,ColDriver |
KeyNode | Required when LookupTable is specified The node used for KeyNode must not contain data that is more than 8 characters long. The KeyNode specifies the node from the imported file which will be used to match the “Route” column in the lookup table. If the KeyNode value for an order within the data file does not match a record in the lookup table, the order will not be imported. Example KeyNode=/Orders/OrderIdentifier |
Data Items
Data items are set using a Key=Value format.
The syntax of Value varies based on the delimiter item (i.e., whether the input file is XML, delimited, or fixed-width).
Data Item | Description |
---|---|
EncryptedPassword | Required Specifies whether the X Dispatch Internet User's password has been encrypted. Most of the time, this should be set to true. Example EncryptedPassword=0,1 |
Password | Required Password for the X Dispatch Internet User used for placing orders. Example Password=0,testpassword |
UserID | Required X Dispatch Internet User to use for placing the orders. Example UserID=0,ximport-mckesson |
CustID | Required Customer ID used to place the order. Example CustID=0,1218 |
Order Details
Data Item | Description |
---|---|
OrderPK | Required The OrderPK is used to identify unique orders during import. It can be used to group rows together (when each row of data in the ASN file contains a different parcel) into the a single order. Only one column value is permitted when using tab delimited files (e.g. OrderPK=3 where column 3 is the Store Number). Multiple concatenated columns are allowed for csv (e.g. OrderPK=3,4,5 where columns 3,4,5 are address, city, state) To turn off consolidation set OrderPK=GUID Data: OrderPK is not stored in the database nor displayed on the Order form. It is only used by X Import for processing. |
OrderNodePK | Optional Used to associate multiple records together for XML in an XINI document. Set this value to an element within the Order node that contains a unique value. Data: OrderNodePK is not stored in the database nor displayed on the Order form. It is only used by X Import for processing. IMPORTANT: If you are using large XML data files (> 2MB) you will want to set this value to prevent "Out of Memory" exceptions from being reported and the import not processing all of the orders. |
AutoPlaceOrder | Optional Used to specify if the import should skip the step of receiving an OrderResponse, choosing an order type, and submitting an OrderSelectedRequest with the chosen order type. If true, you must include an OrderType or the import will fail. Setting to true will roughly double performance as well since it will skip trying to rate all available order types for that customer’s rate chart as well as an additional post/response in the import process. To let X Import pick the cheapest available order type for the order, set this to false and set OrderType=0,0. This will tell X Import to choose the cheapest order type in the OrderResponse and use it in the OrderSelectedResponse. Example AutoPlaceOrder=false |
BillingGroup | Optional Billing group to use on the resulting orders. Data: BillingGroup is saved to the database in tblOrder to the CustomerBillingGroup column. Displayed on the main Order form as Billing Group/Cost Center. |
BillOfLading | Optional Bills of Lading (BOL) are used to aggregate orders. This allows you to execute status actions on groups of orders instead of individually. Example BillOfLading=0,ABC123 Data: BillOfLading is saved to the database in tblOrder to the BOL column. Displayed on the Order form on the Parcels tab as Order BOL. |
ConsolidationText | Optional Any string can be used to set the consolidation text. Intended to consolidate on demand orders. When used for on demand imports, the import plugin will consolidate the order and not duplicate the parcels with the same barcode. If OrderA imports with a consolidation string in the database of “ABC 3/30/2020”, and OrderB imports with the same consolidation string, the Parcels from OrderB will be placed on OrderA. OrderB will not be imported as a separate order. Data: ConsolidationText is saved to the database in tblOrder_Consolidated in the ConsolidationText column. This includes the date, as the consolidation text will try to lookup anything that matches within the last 30 days. This is not displayed on the Order form. Possible version compatibility issue. See Changelog below. |
DeliverDate | Required Date by which the resulting orders should be delivered. If AutoPlaceOrder=True (which is the default setting), and DeliverDate is not set, the order will automatically calculate delivery times based on the time windows on specified order type. Data: DeliverDate is stored in the database in tblOrder as DueTimeTo. Displayed on the Order form under Delivery in the To: Field. |
DestAddressBarcode | Optional. Supported only in XINI. This value can be set to the Location Barcode specified for a given address. The address must be associated with the given customer (cannot be a global address). If you use this value, the system will look up the address that has this location barcode value and use that address as the destination address. If you use this value, you must set DestName, DestAddress, DestCity, DestState, and DestZip to “0,”. Data: The data that is in this field is matched to the column Barcode in tblAddressPoints. This is the Lookup Barcode on the Details tab of the Address form. Whatever is matched here is then used as the DestAddress. |
DestAddress | Required The address of the destination location. Data: DestAddress is stored in tblOrder in the DestAddress column. Displayed as the Address field in the Destination address on the Order form. |
DestCity | Required The city of the destination location. Data: DestCity is stored in tblOrder in the DestCity column. Displayed as the City field in the Destination address on the Order form. |
DestComments | Optional Comments on the destination location. (e.g., "Mailroom") Data: DestComments is stored in tblOrder in the DestComments column. Displayed as the Remarks field in the Destination section of the Order form. |
DestContactPhone | Optional Phone number of the contact person at the destination location. Data: DestContactPhone is stored in tblOrder in the DestPhone column. Displayed on the Order form as Phone under the Destination section. |
DestName | Required Name of the destination location. Data: DestName is stored in tblOrder in the DestName column. Displayed on the Order form as Name under the Destination section. |
DestPlus4 | Optional The postal code extension of the destination location. Data: DestPlus4 is stored in tblOrder in the DestPlus4 column. Displayed on the Order form as part of the address under the Destination section. |
DestState | Required The state or province of the destination location. Data: DestState is stored in tblOrder in the DestState column. Displayed on the Order form as part of the address under the Destination section. |
DestSuite | Optional The suite of the destination location. Data: DestSuite is stored in tblOrder in the DestAddress2 column. Displayed on the Order form as part of the address under the Destination section. |
DestZip | Required The postal code of the destination location. Data: DestZip is stored in tblOrder in the DestZip column. Displayed on the Order form as part of the address under the Destination section. |
Driver | Optional The Driver ID of the driver to assign to the imported on demand order. Example Driver=0,26 Data: Driver is stored in tblOrderDrivers in the DriverID column, linked to the Order with the OrderID. Displayed on the Order form on the Drivers tab. |
Geocode | Optional Determines whether addresses are geocoded/validated (latitude & longitude determined). This configuration is case sensitive and should not contain any capital letters. Failure to use the correct casing will cause the import to not validate addresses. geocode is correct Geocode or GeoCode are incorrect Example geocode=0,0 (turn off) geocode=0,1 (turn on) Data: This is not stored in the database or displayed in X Dispatch, it simply decides whether to validate the address at import or not. |
ValidationFailOver | Optional Returns minimum specified value when the address does not precisely validate. Valid types:
|
PickupDate | Required Date and time by which this order should be picked up. If AutoPlaceOrder=True (which is the default setting), and PickupDate is not set, the order will automatically calculate pickup times based on the time windows on specified order type. Data: PickupDate is stored in tblOrder in ReadyTimeFrom. Displayed on the Order form as Pickup From time. |
OriginAddressBarcode | Optional. Only supported in XINI. This value can be set to the Location Barcode specified for a given address. The address must be associated with the given customer (cannot be a global address). If used, the system will look up the address that has this location barcode value and use that address as the origin address. If used, OriginName, OriginAddress, OriginCity, OriginState and OriginZip must be set to “0,”. Data: The OriginAddressBarcode value that is passed in is not stored but rather is used to match from the Address Point and then populate the various address fields in tblOrder (OriginName, OriginAddress, OriginAddress2, OriginCity, OriginState, and OriginZip). |
OriginAddress | Required The address of the origin location. Data: The OriginAddress is stored in tblOrder in the OriginAddress column. Displayed as a part of the Origin Address on the Order form. |
OriginCity | Required The city of the origin location. Data: The OriginCity is stored in tblOrder in the OriginCity column. Displayed as a part of the Origin Address on the Order form. |
OriginComments | Optional Comments on the origin location. Data: OriginComments are stored in tblOrder in the OriginComments column. Displayed on the Order form as Origin Remarks. |
OriginContactPhone | Optional Phone number of the contact person at the origin location. Data: OriginContactPhone is stored in tblOrder in the OriginPhone column. Displayed on the Order form as Phone under the Origin Address. |
OriginName | Required Name of the origin location. Data: The OriginName is stored in tblOrder in the OriginName column. Displayed as a part of the Origin Address on the Order form. |
OriginPlus4 | Optional The postal code extension of the origin location. Data: The OriginPlus4 is stored in tblOrder in the OriginPlus4 column. Displayed as a part of the Origin Address on the Order form. |
OriginState | Required The state of the origin location. Data: The OriginState is stored in tblOrder in the OriginState column. Displayed as a part of the Origin Address on the Order form. |
OriginSuite | Optional The suite of the origin location Data: The OriginSuite is stored in tblOrder in the OriginAddress2 column. Displayed as a part of the Origin Address on the Order form. |
OriginZip | Required The postal code of the origin location. Data: The OriginZip is stored in tblOrder in the OriginZip column. Displayed as a part of the Origin Address on the Order form |
EmailOrderConfirmationChecked | Optional Determines if a confirmation e-mail should be sent to the e-mail address specified on the order. (see also: File Format (On Demand) - *.XINI#EmailPOD) Data: EmailOrderConfirmationChecked is stored in tblOrder in the column EmailOrderConfirmationChecked as a bit (1 for true, 0 for false). Displayed on the Order form under the Email address as the Placed checkbox. |
EmailPOD | Optional The e-mail address associated with the order. The specified e-mail address will receive status messages when events occur on this order. (see also: File Format (On Demand) - *.XINI#EmailOrderConfirmationChecked, File Format (On Demand) - *.XINI#EmailPODChecked, File Format (On Demand) - *.XINI#EmailPOPChecked) Data: EmailPOD is stored in tblOrder in the column EmailPod. Displayed on the Order form as Email / Fax Alerts. |
EmailPODChecked | Optional Determines if a Proof of Delivery e-mail should be sent to the address specified in EmailPOD when the order is delivered. Data: EmailOrderConfirmationChecked is stored in tblOrder in the column EmailPODChecked as a bit (1 for true, 0 for false). Displayed on the Order form under the Email address as the Delivered checkbox. |
EmailPOPChecked | Optional Determines if a Proof of Pickup e-mail should be sent to the address specified in EmailPOD when the order is picked up. Data: EmailOrderConfirmationChecked is stored in tblOrder in the column EmailPOPChecked as a bit (1 for true, 0 for false). Displayed on the Order form under the Email address as the Picked up checkbox. |
General
Data Item | Description |
---|---|
Reference1 | Optional User-defined reference field 1. Data: Reference1 is stored in tblOrder in the column Reference1. Displayed on the Order form as Reference1. |
Reference2 | Optional User-defined reference field 2. Data: Reference2 is stored in tblOrder in the column Reference1. Displayed on the Order form as Reference2. |
OrderType | Required The numeric OrderTypeID to use for placing orders. If set to "0,0" and AutoPlaceOrder is set to False, X Import will use the cheapest order type available that satisfies the specified time window (see also: File Format (On Demand) - *.XINI#DeliverDate, File Format (On Demand) - *.XINI#PickupDate). Data: OrderType is stored in tblOrder in the OrderType column, using the OrderTypeID. Displayed on the Order form, using the OrderType Description, in the Order Type field. |
ServiceType | Optional Specifies the text for the Orders Comments field. Data: SpecialInst is stored in tblOrder in the SpecialInst column. Displayed on the Order form as Order Comments. |
ParcelPieces | Optional The number of parcels on this order. If parcels are also included in the import file, the order's parcel pieces will match the total number of imported parcels. Data: ParcelPieces is stored in tblOrder in the Pieces column. Displayed on the Order weightform as Pieces under Parcel Info. |
ParcelWeight | Optional The total weight of all parcels assigned to this order. Use the “Weight” option instead when using “OrderPK” to ensure the weight of all parcels are summed on the order correctly. Data: ParcelWeight is stored in tblOrder in the column Weight. Displayed on the Order form as Weight under Parcel Info. |
For the next four options (OverrideDeliveryTimeFrom, OverrideDeliveryTimeTo, OverrideReadyTimeFrom, OverrideReadyTimeTo) to affect orders, you must check the “Ignore time windows when using web service” option on each order type to be affected.
Also:
- IgnoreTimeWindows does NOT allow an order to post when it should not be serviced.
- IgnoreTimeWindows allows the UPDATE of order from/to times to non-standard values.
- IgnoreTimeWindows is part of OverrideTimes- and those only are used IF the time the data being IMPORTED falls within the SERVICE window.
Data Item | Description |
---|---|
OverrideDeliveryTimeFrom | Optional Specifies a "from" value in the order delivery window to force regardless of the rules in the order type. OverrideReadyTimeFrom, OverrideReadyTimeTo, and OverrideDeliveryTimeTo must also be specified. Delimited, OverrideDeliveryTimeFrom=PARSEDATE(TODAY;;yyyy-MM-dd 17:00:00.000) Example OverrideReadyTimeFrom=0,10/19/2020 18:00:48 PM |
OverrideDeliveryTimeTo | Optional Specifies a "to" value in the order delivery window to force regardless of the rules in the order type. OverrideReadyTimeFrom, OverrideReadyTimeTo, and OverrideDeliveryTimeFrom must also be specified. Example OverrideReadyTimeTo=0,10/19/2012 18:30:48 PM |
OverrideReadyTimeFrom | Optional Specifies a "from" value in the order pickup window to force regardless of the rules in the order type. OverrideReadyTimeTo, OverrideDeliveryTimeFrom, and OverrideDeliveryTimeTo must also be specified. Example OverrideDeliveryTimeFrom=0,10/19/2012 19:00:48 PM |
OverrideReadyTimeTo | Optional Specifies a "to" value in the order pickup window to force regardless of the rules in the order type. OverrideReadyTimeFrom, OverrideDeliveryTimeFrom, and OverrideDeliveryTimeTo must also be specified. Example OverrideDeliveryTimeTo=0,10/19/2012 19:30:48 PM |
Dimensional Weight Calculator
Data Item | Description |
---|---|
OrderLength | Length used in dimensional weight calculator. Data: ParcelLength stored in tblOrder. It is displayed on the dimensional weight calculator on the order form as Length. Possible version compatibility issue. See Changelog below. |
OrderWidth | Width used in dimensional weight calculator. Data: ParcelWidth stored in tblOrder. It is displayed on the dimensional weight calculator on the order form as Width. Possible version compatibility issue. See Changelog below. |
OrderHeight | Height used in dimensional weight calculator. Data: ParcelHeight stored in tblOrder. It is displayed on the dimensional weight calculator on the order form as Height. Possible version compatibility issue. See Changelog below. |
OrderDimWtDenominator | Dimensional weight denominator. Data: DimWtDenominator is stored in tblOrder as DimWtDenominator. It is displayed on the dimensional weight calculator on the order form as Denominator. Possible version compatibility issue. See Changelog below. |
UseCalculatedDimensionalWeight | A flag if the Length, Width, and Height values are set to tell the import to calculate the Dimensional Weight. Possible version compatibility issue. See Changelog below. |
DimWtDenominator | Parcel level dimensional weight denominator. Data: ParcelNodeDimWtDenominator is stored in tblParcel as DimWtDenominator. Possible version compatibility issue. See Changelog below. |
Parcels
Data Item | Description |
---|---|
MasterBillOfLading | Optional Master Bills of Lading aggregate Bills of Lading. Possible version compatibility issue. See Changelog below. |
Parcel Fields
Data Item | Description |
---|---|
Ref | Required to import parcels Parcel reference. Data: Ref is stored in tblParcel as Reference. Displayed on the Parcels tab of the Order form as Reference for the parcel. This is also the parcel barcode. |
Pieces | Required to import parcels Number of Parcel Pieces on the Parcel Import Data: Stored in tblOrder as Pieces. Displayed on the General tab of the Order form as Pieces. |
Length | Required to import parcels Parcel length. Data: Length is stored in tblParcel as ParcelLength. It is displayed on the Parcels tab of the Order form under the Dims button |
Width | Required to import parcels Parcel width. Data: Width is stored in tblParcel as ParcelWidth. Displayed on the Parcels tab of the Order form under the Dims button. |
Height | Required to import parcels Parcel height. Data: Height is stored in tblParcel as ParcelHeight. Displayed on the Parcels tab of the Order form under the Dims button. |
Weight | Required to import parcels Parcel weight. Data: Weight is stored in tblParcel as Weight. It is displayed on the Parcels tab of the Order form as Weight. |
ParcelId | Optional Parcel ID. Data: ParcelId is stored in tblParcel as CustomerParcelID. Displayed on the Parcels tab of the Order form as CustomerParcelID. |
MasterParcelId | Optional Master parcel id. This functions exactly like the routed MasterParcelBarcode. If this value is scanned as a barcode, it will mark all parcels with the same value as scanned. Data: MasterParcelID is stored in tblParcel as CustomerMasterParcelID. Displayed on the Parcels tab of the Order form as CustomerMasterParcelID. |
CustomerReference1 | Optional Parcel customer reference 1. Data: CustomerReference1 is stored in tblParcel as CustomerReference1. Displayed on the Parcels tab of the Order form as CustomerReference1. |
CustomerReference2 | Optional Parcel customer reference 2. Data: CustomerReference2 is stored in tblParcel as CustomerReference2. Displayed on the Parcels tab of the Order form as CustomerReference2. |
Comment | Optional Parcel comment. Data: Comment is stored in tblParcel as Comment. Displayed on the Parcels tab of the Order form as Comment. |
ParcelType | Optional Parcel type. Data: ParcelType is stored in tblParcel as Type (as an tinyint - the ParcelTypeID from tblParcelTypes). The description for the ParcelType is displayed on the Parcels tab of the Order form as Parcel Type (drop-down list). |
XML XINI Alternate Parcel Fields
Quick Tip
If the delimiter is XML then all the parcel level fields use a prefix of “ParcelNode”.
Data Item | Description |
---|---|
ParcelNodeRef | Required to import XML parcels Parcel reference (barcode). Used instead of Ref for XML parcel imports Data: ParcelNodeRef is stored in tblParcel as Reference. It is displayed on the Parcels tab of the Order form as Reference for the parcel. This is the parcel barcode as well. |
ParcelNodeLength | Required to import XML parcels Parcel dimensional length. Used instead of Length for XML parcel imports Note: Must be an X Path expression that evaluates to a node set. Literals (0,1) do not work for this field. Can be set to a nonexistent node (/this/does/not/exist). Data: ParcelNodeLength is stored in tblParcel as ParcelLength. Displayed on the Parcels tab of the Order form under the Dims button. |
ParcelNodeWidth | Optional Parcel dimensional width. Used instead of Width for XML parcel imports. Data: ParcelNodeWidth is stored in tblParcel as ParcelWidth. Displayed on the Parcels tab of the Order form under the Dims button. |
ParcelNodeHeight | Optional Parcel dimensional height. Used instead of Height for XML parcel imports. Data: ParcelNodeHeight is stored in tblParcel as ParcelHeight. Displayed on the Parcels tab of the Order form under the Dims button. |
ParcelNodeWeight | Optional Parcel weight. Used instead of Weight for XML parcel imports. Data: ParcelNodeWeight is stored in tblParcel as Weight. Displayed on the Parcels tab of the Order form as Weight. |
ParcelNodeParcelID | Optional Parcel ID. Used instead of ParcelID for XML parcel imports. Data: ParcelNodeParcelID is stored in tblParcel as CustomerParcelID. Displayed on the Parcels tab of the Order form as CustomerParcelID. Possible version compatibility issue. See Changelog below. |
ParcelNodeMasterParcelID | Optional Master parcel ID. Used instead of MasterParcelID for XML parcel imports. This functions exactly like the routed MasterParcelBarcode. If this value is scanned as a barcode, it will mark all parcels with the same value as scanned. Data: ParcelNodeMasterParcelID is stored in tblParcel as CustomerMasterParcelID. Displayed on the Parcels tab of the Order form as CustomerMasterParcelID. |
ParcelNodeCustomerReference1 | Optional Parcel customer reference 1. Used instead of CustomerReference1 for XML parcel imports. Data: ParcelNodeCustomerReference1 is stored in tblParcel as CustomerReference1. Displayed on the Parcels tab of the Order form as CustomerReference1. |
ParcelNodeCustomerReference2 | Optional Parcel customer reference 1. Used instead of CustomerReference2 for XML parcel imports. Data: ParcelNodeCustomerReference2 is stored in tblParcel as CustomerReference2. Displayed on the Parcels tab of the Order form as CustomerReference2. |
ParcelNodeComment | Optional Parcel comment. Used instead of Comment for XML parcel imports. Data: ParcelNodeComment is stored in tblParcel as Comment. Displayed on the Parcels tab of the Order form as Comment. |
ParcelNodeParcelType | Optional Parcel type. Used instead of ParcelType for XML parcel imports. Data: ParcelNodeParcelType is stored in tblParcel as Type (as an tinyint - the ParcelTypeID from tblParcelTypes). The description for the ParcelType is displayed on the Parcels tab of the Order form as Parcel Type (drop-down list). |
User Fields
Data Items | Description |
---|---|
UserField0 | Optional User field. Data: UserField(0-12) is stored in tblOrderUserData in the UserData(0-12) columns. It is displayed on the Order form on the User Fields tab as User Field (0-12) by default. (The customer may have renamed these fields; see the general Options under Order for the name if so.) |
UserField1 | Optional User field. Data: UserField(0-12) is stored in tblOrderUserData in the UserData(0-12) columns. It is displayed on the Order form on the User Fields tab as User Field (0-12) by default. (The customer may have renamed these fields; see the general Options under Order for the name if so.) |
UserField2 | Optional User field. Data: UserField(0-12) is stored in tblOrderUserData in the UserData(0-12) columns. It is displayed on the Order form on the User Fields tab as User Field (0-12) by default. (The customer may have renamed these fields; see the general Options under Order for the name if so.) |
UserField3 | Optional User field. Data: UserField(0-12) is stored in tblOrderUserData in the UserData(0-12) columns. It is displayed on the Order form on the User Fields tab as User Field (0-12) by default. (The customer may have renamed these fields; see the general Options under Order for the name if so.) |
UserField4 | Optional User field. Data: UserField(0-12) is stored in tblOrderUserData in the UserData(0-12) columns. It is displayed on the Order form on the User Fields tab as User Field (0-12) by default. (The customer may have renamed these fields; see the general Options under Order for the name if so.) |
UserField5 | Optional User field. Data: UserField(0-12) is stored in tblOrderUserData in the UserData(0-12) columns. It is displayed on the Order form on the User Fields tab as User Field (0-12) by default. (The customer may have renamed these fields; see the general Options under Order for the name if so.) |
UserField6 | Optional User field. Data: UserField(0-12) is stored in tblOrderUserData in the UserData(0-12) columns. It is displayed on the Order form on the User Fields tab as User Field (0-12) by default. (The customer may have renamed these fields; see the general Options under Order for the name if so.) |
UserField7 | Optional User field. Data: UserField(0-12) is stored in tblOrderUserData in the UserData(0-12) columns. It is displayed on the Order form on the User Fields tab as User Field (0-12) by default. (The customer may have renamed these fields; see the general Options under Order for the name if so.) |
UserField8 | Optional User field. Data: UserField(0-12) is stored in tblOrderUserData in the UserData(0-12) columns. It is displayed on the Order form on the User Fields tab as User Field (0-12) by default. (The customer may have renamed these fields; see the general Options under Order for the name if so.) |
UserField9 | Optional User field. Data: UserField(0-12) is stored in tblOrderUserData in the UserData(0-12) columns. It is displayed on the Order form on the User Fields tab as User Field (0-12) by default. (The customer may have renamed these fields; see the general Options under Order for the name if so.) |
UserField10 | Optional User field. Data: UserField(0-12) is stored in tblOrderUserData in the UserData(0-12) columns. It is displayed on the Order form on the User Fields tab as User Field (0-12) by default. (The customer may have renamed these fields; see the general Options under Order for the name if so.) |
UserField11 | Optional User field. Data: UserField(0-12) is stored in tblOrderUserData in the UserData(0-12) columns. It is displayed on the Order form on the User Fields tab as User Field (0-12) by default. (The customer may have renamed these fields; see the general Options under Order for the name if so.) |
UserField12 | Optional User field. Data: UserField(0-12) is stored in tblOrderUserData in the UserData(0-12) columns. It is displayed on the Order form on the User Fields tab as User Field (0-12) by default. (The customer may have renamed these fields; see the general Options under Order for the name if so.) |
Accessorials
Data Item | Description |
---|---|
Accessorial1ID | Optional Used if you wish to add an accessorial Item onto the imported order. It represents the numerical ItemID of the accessorial item you wish to add to the imported order. If you specify an ItemID here, you must specify a quantity for the item in Accessorial1Quantity as well. For accessorial items to be added onto the imported order, the box “Allow Accessorial Charges” must be checked on the corresponding Internet user. Example Accessorial1ID=0,10 |
Accessorial1Quantity | Optional Used in conjunction with Accessorial1ID to specify the quantity for the item in imported on demand order. If you specify a quantity here, you must specify an ItemID for the item in Accessorial1ID. For accessorial items to be added onto the imported order, the box “Allow Accessorial Charges” must be checked on the corresponding Internet user. Example Accessorial1Quantity=0,1 |
Accessorial2ID | Optional Used to add additional accessorial items beyond the first. The usage is the same as for Accessorial1ID. Example Accessorial2ID=0,10 |
Accessorial2Quantity | Optional Used to add additional quantities for accessorial items beyond the first. The usage is the same as for Accessorial1Quantity. Example Accessorial2Quantity=0,1 |
Accessorial3ID | Optional Used to add additional accessorial items beyond the first. The usage is the same as for Accessorial1ID. Example Accessorial3ID=0,10 |
Accessorial3Quantity | Optional Used to add additional quantities for accessorial items beyond the first. The usage is the same as for Accessorial1Quantity. Example Accessorial3Quantity=0,1 |
Accessorial4ID | Optional Used to add additional accessorial items beyond the first. The usage is the same as for Accessorial1ID. Example Accessorial4ID=0,10 |
Accessorial4Quantity | Optional Used to add additional quantities for accessorial items beyond the first. The usage is the same as for Accessorial1Quantity. Example Accessorial4Quantity=0,1 |
Accessorial5ID | Optional Used to add additional accessorial items beyond the first. The usage is the same as for Accessorial1ID. Example Accessorial5ID=0,10 |
Accessorial5Quantity | Optional Used to add additional quantities for accessorial items beyond the first. The usage is the same as for Accessorial1Quantity. Example Accessorial5Quantity=0,1 |
Accessorial6ID | Optional Used to add additional accessorial items beyond the first. The usage is the same as for Accessorial1ID. Example Accessorial6ID=0,10 |
Accessorial6Quantity | Optional Used to add additional quantities for accessorial items beyond the first. The usage is the same as for Accessorial1Quantity. Example Accessorial6Quantity=0,1 |
Accessorial7ID | Optional Used to add additional accessorial items beyond the first. The usage is the same as for Accessorial1ID. Example Accessorial7ID=0,10 |
Accessorial7Quantity | Optional Used to add additional quantities for accessorial items beyond the first. The usage is the same as for Accessorial1Quantity. Example Accessorial7Quantity=0,1 |
Accessorial8ID | Optional Used to add additional accessorial items beyond the first. The usage is the same as for Accessorial1ID. Example Accessorial8ID=0,10 |
Accessorial8Quantity | Optional Used to add additional quantities for accessorial items beyond the first. The usage is the same as for Accessorial1Quantity. Example Accessorial8Quantity=0,1 |
Accessorial9ID | Optional Used to add additional accessorial items beyond the first. The usage is the same as for Accessorial1ID. Example Accessorial9ID=0,10 |
Accessorial9Quantity | Optional Used to add additional quantities for accessorial items beyond the first. The usage is the same as for Accessorial1Quantity. Example Accessorial9Quantity=0,1 |
Accessorial10ID | Optional Used to add additional accessorial items beyond the first. The usage is the same as for Accessorial1ID. Example Accessorial10ID=0,10 |
Accessorial10Quantity | Optional Used to add additional quantities for accessorial items beyond the first. The usage is the same as for Accessorial1Quantity. Example Accessorial10Quantity=0,1 |
Example
Changelog
X Dispatch 21.1
- OrderLength
- OrderWidth
- OrderHeight
- OrderDimWtDenominator
- UseCalculatedDimensionalWeight
- DimWtDenominator
X Dispatch 21.0
- ConsolidationText - Allows apostrophes.
- QueueBatchConfigType
- File Failures - The import plugin will move any failing data files to the ERRORS folder. Previously any data files that failed to preprocess (via preprocessor or XSLT) would have been left in the inbound folder. This caused the import plugin to retry that data file over and over throwing errors while not processing that data file.
- FailureEmailFromAddress
- FailureEmailFromName
- FailureEmailToAddress
X Dispatch 19.2
- Attempts
- MaxFailed
- RetryDelsy(ms)
X Dispatch 18.1
- LocalizedDateTimes
X Dispatch 17.1
- When using ConsolidationText for OnDemand imports, the Import plugin will now consolidate the order and not duplicate the parcels with the same barcode
Fixed issue where ParcelNodeParcelID was not being passed properly to the backend
X Dispatch 17.0
- MasterBillOfLading
X Dispatch 14.2.4
- MaxReimport
X Dispatch 12.1.4
- SkipLinesIfBeginsWith available in XINI
X Dispatch 12.1.3
- StripBeginningQualifier
- StripBeginningQualifier
- Accessorial2ID
- Accessorial2Quantity
- Accessorial3ID
- Accessorial3Quantity
- Accessorial4ID
- Accessorial4Quantity
- Accessorial5ID
- Accessorial5Quantity
- Accessorial6ID
- Accessorial6Quantity
- Accessorial7ID
- Accessorial7Quantity
- Accessorial8ID
- Accessorial8Quantity
- Accessorial9ID
- Accessorial9Quantity
- Accessorial10ID
- Accessorial10Quantity
X Dispatch 12.0.0
- SkipLinesIfBeginsWith is available in XASN
- Weight
X Dispatch 11.2.6
- Added use of modifiers for CXTNOW like with NOW
X Dispatch 11.2.21
- AutoPlaceOrder
Version 1.4.5
- Resolved an issue that prevented CXTNOW from being passed to the system for these fields.
Version 1.4.3
- Delimiter - The CSV file can an unlimited number of columns. Prior versions was limited to 201 columns
Version 1.3.0
- Delimiter value can be set to “Excel” to tell the import process to import Excel formatted files. This process supports Excel 2003 and Excel 2007 or newer files (*.XLS, *.XLSX, *.XLSB and *.XLSM)
Version 1.2.1
- Support functions (e.g. GUID, NOW, CXTNOW, etc..) in XML XINI Alternate Parcel fields
Version 1.2.0
- ConcurrentDataaFiles
On This Page:
Related Articles:
- Configuration: X Import Translations
- File Format (General)
- File Format (On Demand) - *.XINI
- File Format (Routed ASN) - *.XASN
- File Format (Decrypt File) - *.XENCRYPTINI
- Data Items (XML)
- Data Items (Fixed-Width)
- Data Items (Delimited)
- X Import as a Service (Deprecated)
- Chaining Preprocessors
- Config file functions