Introduction

Oracle Transportation Management allows importing of CSV files via the application server. This feature is called “AppServer CSV” or AS.CSV.

If you upload a file whose name ends in “as.csv” instead of just “.CSV”, it will be interpreted as an application server CSV file, instead of a database-centric CSV file. AppServer CSV files have the following features:

  • The first line must be the name of an Entity such as Location, ObOrderBase, OrderRelease, etc. Entity names are derived from database table names, except they omit the underscores and use mixed case. For example, the entity name for the ob_order_base table is ObOrderBase.
  • The second line must be a comma-separated list of attribute names. Attribute names are like database column names, except they omit the underscores and use mixed case. For example, a column called location_gid corresponds to the attribute locationGid. Note that the first character is in lower-case for attribute names, but upper case for entity names.
  • The third line may be an optional UOM line, which provides UOM values for any UOM attributes. This line may be provided instead of providing UOM qualifiers every time a UOM value occurs.
  • The remaining lines are data lines. Each value in a data line must correspond to an attribute name from line2.
  • If a particular attribute is typically populated via an Oracle Database sequence, it can be specified in the attribute name list (second line described above), but the data lines can leave the value for that attribute empty (two commas next to each other without any other text between them).

Here's small sample file. This example omits the optional UOM line.

Location
locationGid,locationXid,countryCode3Gid,domainName,locationName
"GUEST.MYLOC8","MYLOC8","USA","GUEST","myloc8"

Here's another small sample file showing how to specify a UOM line.

SShipUnit
domainName,unitWidth,sShipUnitGid,isSplitable,unitNetVolume,unitNetWeight,shipUnitCount,unitWeight,unitVolume,unitHeight,receivedNetVolume,receivedNetWeight,unitLength,sShipUnitXid
UOM:,,,,CUFT,LB,,LB,,,CUFT,LB,,
GUEST,,GUEST.001,false,0,10,1,10,,,0,0,,001

Here's the same sample, but with the UOM line omitted and the units of measure specified with each data attribute instead. (Note the use of “false” for the boolean isSplitable field).

SShipUnit
domainName,unitWidth,sShipUnitGid,isSplitable,unitNetVolume,unitNetWeight,shipUnitCount,unitWeight,unitVolume,unitHeight,receivedNetVolume,receivedNetWeight,unitLength,sShipUnitXid
GUEST,,GUEST.001,false,0 CUFT,10 LB,1,10 LB,,,0 CUFT,0 LB,,001

Here's an example that will result in errors. You can't specify a UOM line of you also specify UOMs within the data attributes.

Note: The example below represents what not to do. Do NOT copy the example below. The following example would produce an error because a UOM line was specified, but UOMs were also specified in the data attributes. Doing this would cause the system to think that each UOM field has two UOM qualifiers.
SShipUnit
domainName,unitWidth,sShipUnitGid,isSplitable,unitNetVolume,unitNetWeight,shipUnitCount,unitWeight,unitVolume,unitHeight,receivedNetVolume,receivedNetWeight,unitLength,sShipUnitXid
UOM:,,,,CUFT,LB,,LB,,,CUFT,LB,,
GUEST,,GUEST.001,false,0 CUFT,10 LB,1,10 LB,,,0 CUFT,0 LB,,001