Oracle® Transportation Management: Integration Guide Release 6.2 Part No. E20104-05
Oracle® Transportation Management: Integration Guide Release 6.2 Part No. E20104-05
Oracle® Transportation Management: Integration Guide Release 6.2 Part No. E20104-05
Integration Guide
Release 6.2
Part No. E20104-05
August 2012
ii
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
Contents
CONTENTS................................................................................................ III
SEND US YOUR COMMENTS ....................................................................... IX
PREFACE ................................................................................................... XI
CHANGE HISTORY .................................................................................................... XI
SEND DATA VIA A WEB SERVICE TO THE APPLICATION TIER ............................................ 2-4
SERVLET FOR ACCESSING WEB SERVICES DESCRIPTION LANGUAGE (WSDL) FILES ..................................... 2-5
AVAILABLE SERVICES ON WEBLOGIC AND ORACLE APPLICATION SERVER PLATFORMS .................................... 2-5
PREVIOUS SERVICES STILL AVAILABLE ON WEBLOGIC ........................................................................ 2-6
iii
iv
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
6-13
6-13
6-14
6-14
6-18
6-19
6-19
6-20
6-24
6-25
6-26
6-27
6-28
6-29
6-30
6-31
6-31
vi
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
6-48
6-49
6-50
6-50
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
vii
viii
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
If you find any errors or have any other suggestions for improvement, please indicate the title and
part number of the documentation and the chapter, section, and page number (if available). You can
send comments to us in the following ways:
If you would like a reply, please give your name, address, telephone number, and electronic mail
address (optional).
If you have problems with the software, contact Support at https://support.oracle.com or find the
Support phone number for your region at http://www.oracle.com/support/contact.html.
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
ix
Preface
This manual is for members of the Oracle Transportation Management implementation team, who
connect Oracle Transportation Management to other systems through integration interfaces. This
manual explains how Oracle Transportation Management sends and receives integration messages.
This manual does not cover the installation of any components required to import or export. See the
Administration Guide and Installation Guide on your Oracle Transportation Management CD for
installation and configuration instructions.
Change History
Date
Document Revision
Summary of Changes
11/2010
-01
Initial release.
2/2011
-02
5/2011
-03
3/2012
-04
8/2012
-05
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
xi
1. Integration Overview
Logistics systems require large amounts of data, including information about locations, geography,
service providers, rates, itineraries, as well as transactional data such as orders and shipment status.
Much of this data comes from traditional enterprise resource planning (ERP) systems; however, some
of this information now comes from the internet. In either case, Oracle Transportation Management
uses the following tools and techniques for data integration:
Support for XML and EDI-based integration for carrier and other partner communications
Hosted data server for cleansing and downloading key Internet data
Oracle Transportation Management uses XML to integrate with other systems through several
interfaces that perform inbound and outbound processing.
XML documents are sent to/from Oracle Transportation Management using one of the supported
communication methods. See sections Primary Transmission XML Documents & Send Data from
Oracle Transportation Management (Outbound) for a complete description.
To send or receive interface transmissions or messages, a programmer creates an XML document that
conforms to one of the Oracle Transportation Management XML schemas (GLogXML schema or
Message schema). GLogXML schema is the format in which you send interface transmissions to Oracle
Transportation Management; the Message Schema is the format in which you send device messages.
Each type of interface transmission or message you want to send to Oracle Transportation
Management or receive from Oracle Transportation Management has a specific XML schema that must
be used. This documentation describes the information that must appear in a particular schema,
defines the pieces of the different schemas, and lists the data that must already exist in Oracle
Transportation Management for the transmission to function properly.
You can view the interface diagrams and the XML Element list in different documents.
Interface Definition
An interface is a program that sends and receives properly formatted information from one application
to another. Oracle Transportation Management has separate interfaces that process different types of
data. For example, the Transportation Orders (TransOrder) interface supports transmission of
transportation order information from a foreign system into Oracle Transportation Management. This
type of interface is called inbound since data is imported into Oracle Transportation Management.
Outbound interfaces transmit data from Oracle Transportation Management to other systems. For
example, shipments planned in Oracle Transportation Management can be exported to another system
for additional processing.
To send and receive transmissions from Oracle Transportation Management, you need to understand:
The underlying Oracle Transportation Management XML schema. This schema defines the data
elements you want to import and export.
The rules that govern how Oracle Transportation Management processes data.
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
1-1
Namespace
http://xmlns.oracle.com/apps/otm
http://xmlns.oracle.com/apps/otm/msg/v1
GTM Schema
http://xmlns.oracle.com/apps/gtm
XML documents being sent inbound to Oracle Transportation Management are not required to specify
the namespace in the XML (except when using inbound web services; see section 11 Oracle
Transportation Management Web Services).
When XML documents are sent outbound from Oracle Transportation Management, the namespace
attribute has been specified. These attributes can be disabled from showing up in the outbound XML
document by setting the following properties to false:
glog.integration.enableXmlNamespace = false
glog.integration.enableTargetNamespace = false
1-2
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
Note: For XML documents sent inbound to Oracle Transportation Management where the
namespace may be specified for several elements (not only in the parent Transmission
element), or a namespace attribute specified for each element, it may be necessary to
enable the parsers in the web server (refer to Section: Enable Parsing in Oracle
Transportation Management Servlets for Namespaces).
A few basics to help you understand the diagram notations are shown below:
A double sided arrow ( <-> ) indicates that the element has relationships to other elements
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
1-3
The following diagram shows a branch indicating a choice of one, but not both. For example, a
Location Ref contains either a LocationGID (existing location information), or a Location (new location
information), but not both.
An element with the following notation is a leaf. It is the lowest level element on the tree, and cannot
be exploded any further.
Domain name: Typically identifies a company and is used to separate data and secure it from
other data in a shared, web-based environment. For example, if you are using Oracle
Transportation Management in an environment where many companies may be using the
same Oracle Transportation Management installation, the domain allows you to isolate data in
Oracle Transportation Management for each company. Therefore, many users from different
companies can work in the same Oracle Transportation Management installation (or web site)
and use data that is private and specific to their company. If you do not include a domain
name in a GID, it can be viewed across all domains in your system.
External ID (XID): The ID that defines the item on the external system. An external system is
any system other than Oracle Transportation Management.
Note: You should not create GIDs with trailing spaces, as these records will not be able to
be looked up via the UI.
Transmission
o
TransmissionAck
o
1-4
The Transmission is the primary document used for inbound to and outbound from
Oracle Transportation Management. Each Transmission can contain multiple
transactions to be processed.
The TransmissionAck is the response message to the receipt of the Transmission. It
contains the confirmation for the receipt of the Transmission with an assigned
ReferenceTransmissionNo element, or an error if the Transmission was not correctly
received.
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
TransmissionReport
o
The TransmissionReport summarizes the errors that were detected during the
processing of the Transmission. The report is optionally sent after all the transactions
in the Transmission have been completed (successfully processed or generated
errors). The request for the TransmissionReport is indicated in the Transmission in the
AckSpec element in the TransmissionHeader.
TransactionAck
o
Each of these documents is detailed in the GLogXML schema file. The following diagram shows when
the documents are sent for an inbound scenario into Oracle Transportation Management.
Transmission
Sending
System
Oracle
Transportation
Management
TransmissionAck
-carol#p=1 (Assigned
ReferenceTransmissionNo)
Processed
(Assigned ReferenceTransmissionNo)
TransmissionReport
(optional based on AckSpec)
Primary Message XML Documents
The Message XML is used for mobile communication messages sent inbound and outbound to Oracle
Transportation Management. These messages are intended for communication to a mobile
communication device or sensor. When sent inbound to Oracle Transportation Management, these
messages should be small. The message body can contain text-formatted content, which may be
parsed and converted to the Transmission XML when transmission processing is required. There are
two primary XML documents in the Message XML schema that are used inbound and outbound to
Oracle Transportation Management:
Message
o
MessageAck
o
The Message is the primary document used for inbound to and outbound for mobile
communication messages. Each message can contain either text based or XML-based
content in the message body.
The MessageAck is the response message to the receipt of the message. It contains
the confirmation for the receipt of the message with an assigned ReferenceMessageId
element, or an error if the message was not correctly received.
MessageReport
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
1-5
The MessageReport summarizes the errors that were detected during the processing of
the message. The report is optionally sent after all the transactions in the
Transmission have been completed (successfully processed or generated errors). The
request for the MessageReport is indicated in the message in the AckSpec element in
the MessageHeader. The MessageReportBody in the MessageReport will include the
TransmissionReport that will summarize the errors that were detected during the
processing of the Transmission.
Sending
System
Message
Oracle
Transportation
Management
MessageAck
Processed
(Assigned ReferenceMessageID)
MessageReport
(Optional based on generated Message with AckSpec from
parsed Message)
1-6
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
Send via HTTPPOST to one of the following servlets on the web server:
o
http://hostname/GC3/glog.integration.servlet.WMServlet
http://hostname/GC3/glog.integration.servlet.LargeTransmissionServlet
http://hostname/GC3/glog.integration.servlet.TransformerServlet
http://hostname/GC3/glog.integration.servlet.DirLoadServlet
DirLoadServlet provides a faster option than WMServlet for loading data into
Oracle Transportation Management by bypassing the application server. It can
be used for inserting/creating data. Refer to the Send Data and Load Faster
into Oracle Transportation Management section for additional details.
Send data via a web service to the application tier. Note that this is currently only supported
when Oracle Transportation Management is on the WebLogic and Oracle Application Server
(OAS) application platforms.
Manually upload an XML file in the Integration Manager. This is primarily used for testing.
Directly insert Transmission XML into Oracle Transportation Management database. See the
Direct XML Insert section for details.
The username and password can be specified in the Transmission XML via the UserName and
Password elements in the TransmissionHeader element. For the Message XML, the username
and password can be specified via the Username and Password elements.
When sending via HTTP post to one of the servlets, the username and password can be
specified in the HTTP header.
When sending via HTTP post to one of the servlets, the username can be specified with no
password in the HTTP header, and the IP address of the sending system can be used for
validation. The IP address would need to be specified in the External System Manager in the
UI. Refer to online help for additional details.
When sending via Oracle Advanced Queue, the username and password can be specified as
elements in the INTG_QUEUE_MESSAGE message payload type.
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
2-1
When sending via Direct XML Insert, the username and password is specified as columns on
the INSERT statement.
When sending via a web service, the username and password can be specified in the Web
Service Security Username Token. See Oracle Transportation Management Web Services
for more details.
Note: SOAP/HTTP also passes user credentials specified by the client as HTTP header
parameters.
Password Encryption
The password element in the Transmission and Message XML messages can now be specified as plain
text or encrypted. As is common security practice, it is recommended to only send plain text
passwords when the network connection between the external server and Oracle Transportation
Management can be guaranteed as secure, for example, over HTTPS. If such a guarantee is not in
place there is now the option to encrypt the password in the message. The encryption algorithm used
must be the same as is used for Oracle Transportation Management database encryption, which, by
default, is SHA-1.
A new optional element attribute called Type identifies the password text value. The attribute has
two accepted values: #PasswordDigest and #PasswordText. For example:
<?xml version 1.0 encoding=utf-8?>
<Transmission>
<TransmissionHeader>
<Username>GUEST.ADMIN</Username>
<Password Type=#PasswordDigest>VAU9uZtJtMwEb3tIVKgNgN49bfrnE=</Password>
</TransmissionHeader>
<TransmissionBody>
etc
</TransmissionBody>
</Transmission>
The password value is a base64 encoded SHA-1 digest. Therefore, this assumes the external system
knows the plain text password and can compute the SHA-1 digest value and then encode in base64
encoding, as in the following sample java code.
Public static String digestValue(String value) {
String digestStr = null;
try {
MessageDigest digester = MessageDigest.getInstance(SHA);
byte[] digest = digester.digest(value.getBytes());
digestStr = new String(new Base64().encode(digest));
} catch (Throwable t) {
t.printStackTrace();
}
Return digestStr;
}
For backward compatibility, the password element without the Type attribute will be assumed to be
plain text. For example:
<?xml version 1.0 encoding=utf-8?>
<Transmission>
<TransmissionHeader>
<Username>GUEST.ADMIN</Username>
<Password>CHANGEME</Password>
</TransmissionHeader>
2-2
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
<TransmissionBody>
etc
</TransmissionBody>
</Transmission>
The above is functionally equivalent to the new format with the Type attribute:
<?xml version 1.0 encoding=utf-8?>
<Transmission>
<TransmissionHeader>
<Username>GUEST.ADMIN</Username>
<Password Type=#PasswordText>CHANGEME</Password>
</TransmissionHeader>
<TransmissionBody>
etc
</TransmissionBody>
</Transmission>
The same password element formats are valid for Message XML.
<ns1:TransmissionBody>
</Transmission>
This would need to be parsed within Oracle Transportation Management to correctly extract the data
(e.g. the values for the username and password used for authentication).
The parsers within the application can be enabled through setting the following property:
glog.integration.enableParserInServlets=true
TransOrder: You must include the GID to be able to have the application server offline.
Shipment
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
2-3
ShipmentLink
TenderResponse
Location
Item
ItemMaster
HazmatGeneric
HazmatItem
ShipmentStatus
Invoice
Release
ShipmentGroup
SShipUnit
Sku
SkuTransaction
Contact
TransOrderStatus
Note: The DirLoadServlet does not raise events (like shipment - created for
ActualShipment) so automation agents cannot be triggered. This means that to realize the
benefits of the DirLoadServlet, you should only use interfaces that do not require
processing. Examples of interfaces not requiring processing are Location, Contact, and
Item. See the agent manager online help to learn more about what agents cannot start
when using DirLoadServlet.
Note: Oracle Transportation Management ignores your AckSpec element. Instead, the
DirLoadServlet HTTPPOSTs the TransmissionAck back to the IP address you sent your
Transmission from.
To do this:
1.
2.
If you load many transactions and want to increase loading speed, you can increase the
number of threads assigned to load the data in glog.properties.
3.
Result
1.
2.
2-4
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
a web service call is currently only supported on the WebLogic and Oracle Application Server (OAS)
platforms. The host name in the URL should be the application host, not the web host.
appserver
If the application server configures a different port for use, please add the properties with the
appropriate values in your glog.properties file.
The servlet also provides access to any related XSD schema files for each service.
IntXmlService: The IntXmlService is the name of the supplied integration web service for
receiving the Transmission XML. You can retrieve the WSDL file for the service as described
above. It is a document style service. The operation is as follows:
o
One issue identified in JDeveloper when working with the IntGtmXmlService is that
JDeveloper had an issue with allowing you to select the Global Trade Management
elements from the Global Trade Management schema. A workaround is to manually
edit the business process execution language (BPEL) file as follows:
1. Add the namespace to the root element after the Oracle Transportation
Management namespace attribute. For example:
<process name="SendGtmParty"
...
xmlns:ns2="http://xmlns.oracle.com/apps/otm"
xmlns:ns3="http://xmlns.oracle.com/apps/gtm">
2. Add the variable for the Global Trade Management interface needed. For
example, if you need the GtmParty interface, add the following variable noting
the namespace prefix for the Global Trade Management schema as identified
in step 1 above:
<variables>
<variable name="transmission"
element="ns2:Transmission"/>
<variable name="gtmParty" element="ns3:GtmParty"/>
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
2-5
</variables>
o
After these two changes are manually made, you can proceed with developing the
BPEL flow.
MessageService: The MessageService is the name of the supplied integration web service for
receiving the Message XML. You can retrieve the WSDL file for the service as described above.
It is a document style service.
process: accepts a simple xsd:string parameter and returns a simple xsd:string result. The
integration XML is embedded in the Simply Object Access Protocol (SOAP) message.
processAttachment: uses a text/XML MIME attachment to pass the document into Oracle
Transportation Management. Sends the reply via a similar text/XML MIME attachment
The processAttachment method should run slightly faster than process since it does not have to check
the integration XML for well-formedness. The processZip method can significantly reduce network
bandwidth for large transmissions. The process method, though, is easier to use and better for
interoperability (since .NET does not understand MIME attachments).
1.
Upload the XSL file or files that Oracle Transportation Management must use to transform
your inbound transmissions.
2.
Include this processing instruction in the beginning of every transmission that Oracle
Transportation Management needs to transform:
<?gc3-int-translate stylesheet_name=stylesheet_name?>
stylesheet_name is the file name of the XSL file you have uploaded. You can include multiple
processing instructions in one transmission, in which case, Oracle Transportation Management
will transform in the order the processing instructions appear in the transmission.
3.
2-6
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
Transaction Codes
Transaction codes tell Oracle Transportation Management what to do with the transmissions it receives
from other systems. In the TransactionCode element field for each of the interfaces, enter one of the
following values:
I: Insert. Use this transaction code to send new information to Oracle Transportation
Management. Oracle Transportation Management creates a new record. If the record already
exists, then the transaction will generate a "record already exists" error.
II: Insert and Ignore. When used, if the record already exists, then it is not updated and the
"record already exists" error message is not logged. If it does not exist, then it is inserted.
IU: Insert and Update. Oracle Transportation Management creates a new record unless it
already exists, in which case Oracle Transportation Management updates the existing record
with the new information.
UI: Update and Insert. This works the same way as IU.
NP: No Persist. Use this transaction code to keep Oracle Transportation Management from
persisting data to the database. For example, enter NP if you do not want to persist public
locations. This is the default TransactionCode when the data is sent outbound from Oracle
Transportation Management.
RC: Replace Children. Use this transaction code to delete all child data corresponding to the
top level parent, update the top level parent, and insert the new child data. You use the
ReplaceChildren element to specify what child elements Oracle Transportation Management
should replace. The remaining elements are processed using the IU transaction code.
RP: Replace Primary/Parent. Use this transaction code to replace the primary/parent object
without replacing the child objects. This will null out all fields in the primary/parent object that
are not contained in the incoming xml, and will perform an insert/update on all the child data.
R: Replace. Use this transaction code to replace the primary/parent and child objects. This is a
combination of the RC and RP transaction codes.
A
B
A
B
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
2-7
ShipUnitContent: LineNumber=4
SEquipment: SEquipment_A
If the data is not found in database, the shipment is inserted into database. In this case, the RC is
equivalent to IU. The use cases described in the following sections are edited from this XML.
1.
Remove ShipmentStop 2 and two shipUnitContents of ShipUnit A from the above XML.
Shipment
ShipmentHeader
TransactionCode RC
ShipmentStop=1
ShipmentStopDetail: ShipUnitGid=ShipUnit
ShipmentStopDetail: ShipUnitGid=ShipUnit
<!-- ShipmentStop=2
ShipmentStopDetail: ShipUnitGid=ShipUnit
ShipmentStopDetail: ShipUnitGid=ShipUnit
ShipUnit: ShipUnitGid=ShipUnit A
ShipUnitContent: LineNumber=0
ShipUnitContent: LineNumber=1
ShipUnit: ShipUnitGid=ShipUnit B
<!--ShipUnitContent: LineNumber=3
ShipUnitContent: LineNumber=4 -->
SEquipment: SEquipment_A
2.
A
B
A
B -->
Expected result: ShipmentStop 2 and all its child tables are deleted from database.
Shipment
ShipmentHeader
TransactionCode RC
ManagedChild =ShipmentStop
ShipmentStop=1
ShipmentStopDetail: ShipUnitGid=ShipUnit
ShipmentStopDetail: ShipUnitGid=ShipUnit
<!-- ShipmentStop=2
ShipmentStopDetail: ShipUnitGid=ShipUnit
ShipmentStopDetail: ShipUnitGid=ShipUnit
ShipUnit: ShipUnitGid=ShipUnit A
ShipUnitContent: LineNumber=0
ShipUnitContent: LineNumber=1
ShipUnit: ShipUnitGid=ShipUnit B
ShipUnitContent: LineNumber=3
ShipUnitContent: LineNumber=4
SEquipment: SEquipment_A
A
B
A
B -->
If the Is_permanent of the above stop in database equals true or the ManagedChild is set to a value
other than ShipmentStop or ShipmentStopDetail, the stop as well as it child tables are not able to be
removed from database.
3.
Shipment
ShipmentHeader
TransactionCode RC
2-8
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
ManagedChild =ShipmentStop
ShipmentStop=1
ShipmentStopDetail: ShipUnitGid=ShipUnit A
ShipmentStopDetail: ShipUnitGid=ShipUnit B
ShipmentStop=2
<!-- ShipmentStopDetail: ShipUnitGid=ShipUnit A
ShipmentStopDetail: ShipUnitGid=ShipUnit B -->
ShipUnit: ShipUnitGid=ShipUnit A
ShipUnitContent: LineNumber=0
ShipUnitContent: LineNumber=1
ShipUnit: ShipUnitGid=ShipUnit B
ShipUnitContent: LineNumber=3
ShipUnitContent: LineNumber=4
SEquipment: SEquipment_A
You can set ManagedChild=ShipmentStopDetail in order to get the same result.
4.
Shipment
ShipmentHeader
TransactionCode RC
ManagedChild =ShipmentStop
ShipmentStop=1
ShipmentStopDetail: ShipUnitGid=ShipUnit A
ShipmentStopDetail: ShipUnitGid=ShipUnit B
ShipmentStop=2
<!-- ShipmentStopDetail: ShipUnitGid=ShipUnit A
ShipmentStopDetail: ShipUnitGid=ShipUnit B -->
ShipUnit: ShipUnitGid=ShipUnit A
<!-- ShipUnitContent: LineNumber=0
ShipUnitContent: LineNumber=1 -->
ShipUnit: ShipUnitGid=ShipUnit B
ShipUnitContent: LineNumber=3
ShipUnitContent: LineNumber=4
SEquipment: SEquipment_A
5.
Expected result: The SShipUnitLines 0 and 1 are deleted from database. SShipUnit in the
XML is replaced.
Shipment
ShipmentHeader
TransactionCode RC
ManagedChild = ShipUnitContent
OR
ManagedChild = ShipUnit
ShipmentStop=1
ShipmentStopDetail: ShipUnitGid=ShipUnit A
ShipmentStopDetail: ShipUnitGid=ShipUnit B
ShipmentStop=2
ShipmentStopDetail: ShipUnitGid=ShipUnit A
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
2-9
ShipmentStopDetail: ShipUnitGid=ShipUnit B
ShipUnit: ShipUnitGid=ShipUnit A
<!-- ShipUnitContent: LineNumber=0
ShipUnitContent: LineNumber=1 -->
ShipUnit: ShipUnitGid=ShipUnit B
ShipUnitContent: LineNumber=3
ShipUnitContent: LineNumber=4
SEquipment: SEquipment_A
6.
Shipment
ShipmentHeader
TransactionCode RC
ManagedChild =ShipmentStop
ManagedChild =ShipUnit
ShipmentStop=1
ShipmentStopDetail: ShipUnitGid=ShipUnit A
ShipmentStopDetail: ShipUnitGid=ShipUnit B
ShipmentStop=2
<! -- ShipmentStopDetail: ShipUnitGid=ShipUnit A
ShipmentStopDetail: ShipUnitGid=ShipUnit B -->
ShipUnit: ShipUnitGid=ShipUnit A
<!-- ShipUnitContent: LineNumber=0
ShipUnitContent: LineNumber=1 -->
ShipUnit: ShipUnitGid=ShipUnit B
ShipUnitContent: LineNumber=3
ShipUnitContent: LineNumber=4
SEquipment: SEquipment_A
7.
Remove ShipUnit A and the ShipUnitContent 3 and 4 for the remaining ShipUnit B with
ManagedChild=ShipUnit.
Shipment
ShipmentHeader
TransactionCode RC
ManagedChild = ShipUnit
ShipmentStop=1
ShipmentStopDetail: ShipUnitGid=ShipUnit
ShipmentStopDetail: ShipUnitGid=ShipUnit
ShipmentStop=2
ShipmentStopDetail: ShipUnitGid=ShipUnit
ShipmentStopDetail: ShipUnitGid=ShipUnit
<!-- ShipUnit: ShipUnitGid=ShipUnit A
ShipUnitContent: LineNumber=0
ShipUnitContent: LineNumber=1 -->
ShipUnit: ShipUnitGid=ShipUnit B
<!-- ShipUnitContent: LineNumber=3
ShipUnitContent: LineNumber=4 -->
SEquipment: SEquipment_A
2-10
A
B
A
B
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
The same result can be achieved through specifying the transaction code R and
ManagedChild = ShipUnitContent in ShipUnit B.
Shipment
ShipmentHeader
TransactionCode RC
ShipmentStop=1
ShipmentStopDetail: ShipUnitGid=ShipUnit
ShipmentStopDetail: ShipUnitGid=ShipUnit
ShipmentStop=2
ShipmentStopDetail: ShipUnitGid=ShipUnit
ShipmentStopDetail: ShipUnitGid=ShipUnit
<!-- ShipUnit: ShipUnitGid=ShipUnit A
ShipUnitContent: LineNumber=0
ShipUnitContent: LineNumber=1-->
ShipUnit: ShipUnitGid=ShipUnit B
TransactionCode= R
ManagedChild = ShipUnitContent
<!-- ShipUnitContent: LineNumber=3
ShipUnitContent: LineNumber=4 -->
SEquipment: SEquipment_A
8.
A
B
Expected result: SEquipment_A data in database will be replaced with SEquipment data.
Shipment
ShipmentHeader
TransactionCode RC
ManagedChild = SEquipment
ShipmentStop=1
ShipmentStopDetail: ShipUnitGid=ShipUnit
ShipmentStopDetail: ShipUnitGid=ShipUnit
ShipmentStop=2
ShipmentStopDetail: ShipUnitGid=ShipUnit
ShipmentStopDetail: ShipUnitGid=ShipUnit
ShipUnit: ShipUnitGid=ShipUnit A
ShipUnitContent: LineNumber=0
ShipUnitContent: LineNumber=1
ShipUnit: ShipUnitGid=ShipUnit B
ShipUnitContent: LineNumber=3
ShipUnitContent: LineNumber=4
SEquipment: SEquipment_A
9.
A
B
A
B
A
B
Remove ShipmentStop 2 with ManagedChild=ShipmentStop from the original XML and change
the transaction code to R.
Expected result: ShipmentStop 2 and all its child tables are deleted. The shipment table is
replaced (This is different from transaction code RC).
Shipment
ShipmentHeader
TransactionCode RC
ManagedChild =ShipmentStop
ShipmentStop=1
ShipmentStopDetail: ShipUnitGid=ShipUnit
ShipmentStopDetail: ShipUnitGid=ShipUnit
ShipmentStop=2
ShipmentStopDetail: ShipUnitGid=ShipUnit
ShipmentStopDetail: ShipUnitGid=ShipUnit
ShipUnit: ShipUnitGid=ShipUnit A
A
B
A
B
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
2-11
ShipUnitContent: LineNumber=0
SEquipment: SEquipment_A
Change the transaction code to RP in the XML above.
10.
Expected result: Only shipment table is replaced. The ManagedChild element is ignored.
ShipmentStop 2 and all its child tables are unchanged.
Shipment
ShipmentHeader
TransactionCode RC
ManagedChild =ShipmentStop
ShipmentStop=1
ShipmentStopDetail: ShipUnitGid=ShipUnit
ShipmentStopDetail: ShipUnitGid=ShipUnit
<!-- ShipmentStop=2
ShipmentStopDetail: ShipUnitGid=ShipUnit
ShipmentStopDetail: ShipUnitGid=ShipUnit
ShipUnit: ShipUnitGid=ShipUnit A
ShipUnitContent: LineNumber=0
SEquipment: SEquipment_A
A
B
A
B -->
2-12
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
<StartDate>20071012173600</St
artDate>
<StartDt>
<GLogDate>20071012173600</GLogDate>
<TZId>America/New_York</TZId>
<TZOffset>-4</TZOffset>
</StartDt>
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
2-13
< ActivityDate>
< ActivityDate>
<GLogDate>20071012173600</GLogDate>
<GLogDate>20071012173600</G
LogDate>
< /ActivityDate>
<TZId>America/New_York</TZId>
<TZOffset>-4</TZOffset>
< /ActivityDate>
For inbound integration the old date elements are compatible and remain same, Oracle Transportation
Management will convert and persist them. Backward compatibility logic is used to support inbound
transmissions by enabling the property glog.integration.enableTimeZoneCompatibility=true.
Properties are used to specify the compatibility of old date elements to new date elements as
glog.integration.timeZone.{old element name}={new element name}. For example:
glog.integration.timeZone.StartDate = StartDt
XSL Transformation Files can be used for mapping elements if needed, such as
(GLogXML_v55_to_v60_DateTime.xsl, GLogXML_v60_to_v55_DateTime.xsl)
2-14
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
2-15
Make sure your database uses an encoding that can handle all the characters you need.
Specify that same encoding in your XML file. For example, <?xml version="1.0"
encoding="UTF-8"?>
The default character encoding for inbound XML transmissions is UTF-8. Oracle Transportation
Management will receive transmissions in other formats as well. To accept character encoding in ISO8859-1 format, specify it in the XML file. For example, <?xml version="1.0" encoding="ISO-88591"?>
Save your XML file using that same encoding. For example in UTF-8 format.
If sending via HTTP post, you will also need to specify the encoding in the HTTP header. You
must use the "Content-Type" attribute on the HTTP header to indicate that its a stream of
character data with a given encoding.
XML Spy, Textpad, and Notepad (Microsoft Windows 2000 or better) can all save in UTF-8 format. If
you use a third party integration application to send your transmission via HTTP Post, refer to their
documentation for how to send XML in UTF-8 format.
2-16
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
WMServlet Client
When uploading files with WMServletClient you need to specify the proper encoding on the command
line. The XML must be transmitted as a stream of character data with a specified encoding of either
ISO-8859-1 or UTF-8. The character stream must not be "mime-encoded". WMServlet is not designed
to handle mime-encoded data. You must use the "Content-Type" attribute on the HTTP header to
indicate that its a stream of character data with a given encoding.
1.
2.
3.
4.
5.
Validates the contents of the transactions. The integration module validates the following:
6.
7.
Foreign keys, for example a LocationGID must exist in the Location table.
TransactionCode. If set to I, the integration module checks that the primary key does not
exist. If set to U or D, the integration module checks that the primary key does exist.
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
2-17
8.
Persist transactions to corresponding database tables. Converts strings to data types; string to
Boolean, string to date, and so on.
9.
10.
If there are agents listening for post-persist events, those agents kick in now. There are a
number of public agents that start at this point.
Description
STAGED
Indicates that the Transmission is initially stored in the transmission tables, and is
awaiting some pre-preprocessing steps such as sequencing of the Transactions for
processing.
STAGING
Indicates that the Transmission has been staged and is waiting on a condition to be
released for processing. In this status, additional transactions can be added to it prior
to processing. Refer to the Inbound Transmission Staging and Processing
section for additional details.
FRESH
ERROR
Indicates that the Transmission had completed processing and there were errors in
the processing.
PROCESSED
REDO
Indicates that the Transmission is waiting for the REDO logic to initiate re-processing
of it. Please refer to the online help for REDO processing.
MESSAGE
Indicates that the Transmission is a Message. The Message Hub Manager should be
used to manage the message.
1.
Extracts authentication information from the MessageHeader. This information can be in the
HTTP header instead.
2.
3.
Stores an entry in the I_message table, and the content in the I_transmission table.
4.
5.
2-18
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
6.
Using the Stylesheet Profile, the message is parsed to extract designated fields and updates
the message table with extracted fields as needed.
7.
Using the Message Type specified, the module performs the following:
8.
a.
b.
c.
Sends a MessageReport with validation and processing errors; Depending on your property
settings, Oracle Transportation Management might only send a MessageReport if there are
errors.
Related
Transmission
Status
Description
RECEIVED
MESSAGE
PROCESSING
MESSAGE or
(dependent on
Transmission
processing)
PROCESSED
MESSAGE or
(dependent on
Transmission
processing)
ERROR
MESSAGE or
(dependent on
Transmission
processing)
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
2-19
Send transportation records to external systems from various managers using the Go dropdown action. The type of information you can transmit is determined by the location in Oracle
Transportation Management from which you are sending it.
Note: Before you can send integration data to an external system, you must define the
system in the External System Manager.
Note: The default character encoding for outbound XML transmissions is UTF-8.
Use Credential: Oracle Transportation Management username associated with the process 1
sending the message will be present in Transmission and/or Message XML header. No
password will be sent.
Username and Password fields: Appear in Transmission and/or Message XML header and also
be used for transport specific user credentials (e.g. HTTP header Basic Authentication or FTP
user/password). Password will be sent.
Send Encrypted Password: If a password is sent it will be sent as a base64 encoded SHA
digest in exactly the way expected for inbound. See the Password Encryption portion of the
Send Data to Oracle Transportation Management (Inbound) section for examples.
Web Service Endpoint username and password: Can be used in conjunction with Username
and Password fields on External System header. The External System fields will appear in the
Transmission and/or Message XML header elements whereas the Web Service Endpoint
username and password will be used for client authentication (and possibly also WS-Security
header. See section 11, Web Service Security (WS-Security))
The workflow process determines the user and will either be the user signed in to Oracle
Transportation Management whose action triggers the message or the automation agent
configuration (Run As).
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
3-1
1.
2.
3.
Define that the XSL file should be used for a specific external system.
1.
Populates the internal Java object classes based on SQL Queries. Some Out XML Profiles are
applied during the generation of the objects.
2.
3.
4.
5.
Send the XML via the indicated notify type (e.g. HTTP POST). Oracle Transportation
Management does not require an acknowledgment from the external system.
6.
Save the XML (Or Transformed output) to the I_TRANSMISSION table. If the outbound
integration is designated as a message (e.g. generated via the Compose and Send UI action or
dispatch actions), then an entry is stored in the I_MESSAGE table.
3-2
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
Message
Status
Related
Transmission
Status
Description
PROCESSING
MESSAGE or
(dependent on
Transmission
processing)
PENDING
MESSAGE
PROCESSED
PROCESSED
ERROR
ERROR
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
3-3
4. Types of Interfaces
Oracle Transportation Management offers the following integration interfaces:
Data Loading
Interface
Description
Inbound
Outbound
ActivityTimeDef
In
Out
Contact
In
Out
ContactGroup
In
Out
CSVDataLoad
In
CSVFileContent
In
Driver
In
Out
ExchangeRate
In
Out
HazmatGeneric
In
HazmatItem
In
ItemMaster
In
Out
Itinerary
In
Location
In
Out
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
4-1
Interface
Description
Inbound
Outbound
Mileage
In
PowerUnit
In
Out
Equipment
In
Out
ServiceTime
In
User
In
XLane
In
Transport Flow
Interface
Description
Inbound
Outbound
TransOrder
In
Out
OBShipUnit
Out
OBLine
Out
OrderMovement
In
TransOrderStatus
In
BulkPlan
Out
4-2
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
Interface
Description
Inbound
Outbound
BulkRating
Out
BulkTrailerBuild
Out
BulkContMove
Out
Release
In
Out
ReleaseInstruction
In
ActualShipment
In
TenderOffer
Out
TenderResponse
In
ShipmentStatus
In
Out
ShipmentLink
In
ShipmentGroup
In
Out
ShipmentGroupTenderOffer
Out
PlannedShipment
Out
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
4-3
Interface
Description
Inbound
Outbound
SShipUnit
In
OrderMoveReplace
In
ShipStop
In
CharterVoyage
In
Out
Consol
In
Out
BookingLineAmendment
Out
Claim
In
Out
TransOrderLink
In
Financial
Interface
Description
Inbound
Outbound
Invoice
In
Billing
Out
Voucher
Out
4-4
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
Interface
Description
Inbound
Outbound
AllocationBase
Out
FinancialSystemFeed
Out
WorkInvoice
In
Out
Accrual
Out
Interface
Description
Inbound
Outbound
TransmissionAck
In
Out
TransmissionReport
In
Out
TransactionAck
In
RemoteQuery
In
RemoteQueryReply
Out
DataQuerySummary
Out
Miscellaneous
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
4-5
Interface
Description
Inbound
Outbound
Job
In
Out
RATE_OFFERING
Out
RATE_GEO
Out
Schedule
In
Out
Sku
In
SkuEvent
In
SkuTransaction
In
Topic
In
GenericStatusUpdate
In
RouteTemplate
In
Out
Voyage
Out
Document
In
Out
DriverCalendarEvent
In
Quote
In
4-6
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
Out
Description
Inbound
Outbound
ServiceRequest
In
ServiceResponse
GTMItem
In
Out
GtmParty
In
Out
GtmTransaction
In
Out
Out
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
4-7
5. Setting Up Interfaces
The following general information helps you set up your interfaces. If an interface has specific setup
requirements, they are found with the pages defining each interface.
To set up interfaces, you must define where to send transmissions and what to do with the
transmissions Oracle Transportation Management receives. Information throughout Oracle
Transportation Management acts interdependently; one piece of information depends on another to
perform an action. For some interfaces to work, data from other sources must already be present in
Oracle Transportation Management. For example, before you can create a shipment, you must create
itineraries.
User Management
You must add service providers as users and enter user associations for them. To perform user
management functions, log in to the SERVPROV with a username that contains administrator (ADMIN)
rights.
Workflow Parameters
In Power Data, define workflow parameters that determine how Oracle Transportation Management
responds to inbound and outbound transmissions. You define Workflow Power Data topics to define
the way the tendering shipments works.
Workflow Parameters: Use the Workflow Parameters to define how Oracle Transportation
Management tenders shipments. You also define shipment notification messages. For
example, you define information, warning, and, fatal messages that Oracle Transportation
Management sends out as the results of status information sent by service providers about
particular shipments.
Workflow Trigger Parameters: Use the Workflow Trigger Parameters to define how often
Oracle Transportation Management performs tender activity. This topic helps you control
system performance. For example, if Oracle Transportation Management is performing tender
actions too frequently, your system performance may be slowed.
Agent Manager
The Automation Agent Manager lets you construct workflow agents that are key components to
automate Oracle Transportation Management. A workflow agent listens for an Oracle Transportation
Management event, verifies a user-defined condition, and executes one or more actions that you
choose from an action library.
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
5-1
6. Interfaces
You can view diagrams of the XML schema for the interfaces by viewing the XSD file with an XML
management tool.
ProcessInfo
ProcessInfo controls how Oracle Transportation Management processes GLogXMLElement elements.
You can think of ProcessInfo as a transaction header.
In the WhenToProcess element, you can specify "END_OF_TRANSMISSION" or leave it unspecified. If
you specify END_OF_TRANSMISSION, then Oracle Transportation Management processes that
transaction after all other transactions in the transmission. This setting is useful for making sure that
Oracle Transportation Management processes a Topic transaction last in a transmission.
If you leave WhenToProcess unspecified, then Oracle Transportation Management processes as normal
and according to the other ProcessInfo elements.
Note: Oracle Transportation Management ignores the WhenToProcess element if you set
IsProcessInSequence=Y in the TransmissionHeader.
Planned Shipments
Use this interface to send planned shipments from Oracle Transportation Management to an external
system. Planned shipments perform two functions:
If a warehouse management system (WMS) is defined as one of the involved parties for the shipment,
Oracle Transportation Management automatically sends a transmission containing the shipment
information to the WMS to determine if the items that are being shipped are available. For example,
Oracle Transportation Management sends a planned shipment to a warehouse, requesting 5000
pounds of food be shipped to a customer.
Oracle Transportation Management sends the planned shipment as part of a tender offer to the service
provider associated with the shipment. Planned shipment transmissions get sent to service providers
automatically when a tender offer is made or withdrawn.
Actual Shipments
Transmissions in the actual shipment interface define working shipments that are sent to Oracle
Transportation Management by third parties, such as service providers. For example, when a shipment
is tendered to a service provider, a copy of the planned shipment is included with the tender offer. The
service provider responds to the tender and, if the service provider accepts, sends the actual shipment
transmission back to Oracle Transportation Management. The actual shipment represents the working
shipment that is being transported (A planned shipment represents what Oracle Transportation
Management expects the shipment to contain).
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
6-1
If the service provider sends a new order release as part of the actual shipment, Oracle Transportation
Management creates an order release and order base for the new release.
An actual shipment is required to print shipment documentation such as a bill of lading or Domestic
Packing List.
6-2
Update each of the shipments impacted with a separate ActualShipment xml. Each
ActualShipment xml would update the appropriate ship units on that shipment.
This option is beneficial when the shipment and/or ship unit GIDs are not all known in
the integration layer.
This option is limited in that any other fields set in the ActualShipment would be
applied to all shipments identified by the query. A similar situation exists for the Ship
Units on the shipments.
This option has limitations on the types of changes it will handle and propagate.
Several are listed as follows:
Cannot Change SEquipment for Existing Ship Unit: If there are more than one
SEquipment on a Shipment, you cannot change the SEquipment for an existing
Ship Unit with the propagation.
Cannot Add New SEquipment for Existing Ship Unit: You cannot add a new
SEquipment and assign to an existing Ship Unit with the propagation. The
SEquipment changes should be done in a separate ActualShipment without the
propagation.
Limited Support to Add New SEquipment and New Ship Unit: You can add a
new SEquipment and assign to a new Ship Unit. The logic will determine the
new SEquipment and persist it before initiating the propagation logic. The
ability to support adding the new SEquipment is controlled by the following
property:
glog.integration.shipment.persistNewSEquipmentForShipmentActualAPI=true
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
Can Add a New Ship Unit: The propagation supports adding a new Ship Unit
to the Shipment. The Ship Unit must be assigned to an existing SEquipment
on the shipment.
Cannot Use DR Transaction Code In Ship Unit: You cannot use the DR
transaction code in the Ship Unit to dereference the Ship Unit from the
Shipment. Since the Ship Units are no longer shared among shipments, you
should consider using the D transaction code to delete the ship unit. If there is
a need to use the DR transaction code, it should be done in a separate
ActualShipment without the propagation.
Note: When migrating to Oracle Transportation Management 6.0 from a previous release,
review the implementation of the Actual Shipment integration into Oracle Transportation
Management to determine the impacts of this change.
Description
Shipment/ShipUnit/ShipUnitContent
Shipment/ShipmentHeader/ShipmentRefnum
ShipmentHeader/Remark
In the Shipment element, if you set the transaction code to RC and set the
ReplaceChildren/ManagedChild element to "ShipmentStop", Oracle Transportation Management
deletes all shipment stops for that shipment and replaces the deleted shipment stops with the
shipment stops from your transmission.
Note: This does not apply to shipment stops marked IsPermanent (same as Permanent
check box in Oracle Transportation Management web interface).
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
6-3
In the Shipment element, if you set the transaction code to RC and set the
ReplaceChildren/ManagedChild element to ShipmentStopDetail, Oracle Transportation Management
replaces the existing ship units with the ship units in your transmission.
Note: This does not apply to existing ShipmentStopDetails marked IsPermanent.
Note: Within ShipmentStopDetail, the removal of the reference to the ShipUnitGID(s) will
not remove the S_Ship_Unit from the system. Only the reference to the object is removed.
In the Shipment element, if you set the transaction code to U and the Shipment ID is missing from
either the transaction or the database, you will receive an error.
When a new shipment referencing a ship unit is added with missing ship unit data, then the ship unit
data is pulled from the database. When a new shipment referencing a ship unit is added with new
data, then the ship unit data passed in through integration is used.
1.
Specify a flag to indicate that new ship unit should be applied to downstream shipments.
AcutalShipment.Shipment.ShipmentHeader.IntCommand.IntCommandName =
PropagateShipUnitChanges
2.
Indicate that DropOff stop should be determined for the shipment, but not to propagate the
ship unit changes.
ActualShipment.ShipmentHeader.IntCommand.IntCommandName =
DetermineShipUnitDropoff
3.
4.
5.
6.
ShipmentFrom and ShipmentTo Locations can in the Shipment.ShipUnit element are ignored.
They will be based on the release.
7.
Assign an SEquipment for the new ShipUnit via one of the following options:
8.
6-4
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
9.
10.
11.
Have the business logic assign it by not specifying the element in the ship unit.
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
6-5
<IntCommand>
<IntCommandName>RemoveNonPermanentShipUnits</IntCommandName>
</IntCommand>
To remove orphaned ship units, use the command below. This specifies that the ship units that have
been removed from the shipment via the DR transaction code should be deleted if no other shipments
refer to them. Without this command, those ship units are left in the system and can later be added to
other shipments.
<IntCommand>
<IntCommandName>DeleteOrphanedShipUnits</IntCommandName>
</IntCommand>
Description
ShipmentHeader2
6-6
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
Element
Description
sPlannedTimeFixed
If you want to send in old shipments (past dates) and want Oracle
Transportation Management to rate with correct rates (pertaining to correct
effective/expiration dates), then you may want to use the
Shipment/ShipmentStop/ArrivalTime/EventTime/IsPlannedTimeFixed flag set to
"Y". You only need to insert the ArrivalTime element at the first stop (only) and
that the date here should be the same as the StartDate of the shipment.
SEquipment
TransOrder
Locations
ShipUnits
Order-Centric Modifications
Most modifications via this interface are based around shipment ship units (SShipUnit). In these
cases, all weight, volume, quantities, and rating are based on shipment ship units. If you would like to
modify shipments based on order information, you can do so by using the following sub-elements in
the ShipmentHeader element:
ShipmentModViaOrderLine
ShipmentModViaOrderSU
When these two elements are used in the ShipmentHeader, the following logic will be used instead of
the standard Shipment Interface logic:
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
6-7
1.
Oracle Transportation Management will only interact with the order line level or order ship unit
information instead of the shipment ship unit level information.
2.
The logic addressing shipment modifications will change the number of order ship units
involved and allocate the delta in the ship unit counts across multiple ship units.
3.
The modified order ship unit count will be properly propagated and the related business
objects (shipments and order movements) will be updated across legs.
4.
The modified gross weight and volume will be updated per ship unit. This would then be
reflected in the shipment total gross weight and volume, which impacts the shipment cost.
This should only be applied when the AffectsCurrentLegOnly element is set to 'N'.
Both of these elements will only be included once on the shipment. There is no need to repeat this
data for both the pickup stop and the delivery stop. Since the Shipment Interface is defined the same
on the inbound and the outbound, you can only specify one way for the modification to happen, either
at the order line level or the ship unit level.
ShipmentModViaOrderLine
The ShipmentModViaOrderLine element will contain all of the counts, weights, and volumes for that
order (order release, order release line, or order base) that is being shipped on this shipment across
all the shipment ship units.
ShipmentModViaOrderSU
The ShipmentModViaOrderSU element, Oracle Transportation Management will loop through all the
ship units that are on the shipment that have the same order ship unit GID (ob_ship_unit_gid or
or_ship_unit_gid).
The inbound XML will accept this data into Oracle Transportation Management when you are doing a
modify transaction. When the integration brings in this modification it will call business logic that will
apply allocation rules and perform the appropriate updates.
Data Requirements
To send shipments and perform planning actions, you must make decisions about the way you want
Oracle Transportation Management to perform certain actions.
6-8
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
See the Shipment Manager help for a detailed description of manual shipments.
If you insert a new shipment and omit the end_date, Oracle Transportation Management sets the
end_date to the same date as the start_date.
AllocationBase Interface
The AllocationBase outbound interface sends order release allocation cost information to an external
system. Allocation is a method for dividing the cost of a shipment among its order releases based on
the line items and ship units on the shipment. An allocation transmission consists of an OrderRelease
GID and cost information. You can send allocation information about planned and actual shipments.
You can create an agent that send the AllocationBase interface using the agent action Send Allocation
Interface. You can also send this interface from the Invoice Manager, Shipment Manager, and the
Order Release Manager.
You must setup allocation to follow the rules for allocating shipments used at your organization.
Process Allocations
Instruct Oracle Transportation Management to send an allocation transmission using the Process
Manager:
Issue Allocation
Bulk Allocation
Accrual Interface
The Accrual interface is used to transmit the allocated freight cost accrued or paid against orders. This
can be used to communicate changes or differences in an order's allocated freight cost to other
external systems. These differences, for example, could be used to establish liabilities in an accounting
or general ledger system.
When the ALLOCATION GENERATES ACCRUALS parameter is set to TRUE and the shipment status is
ACCRUAL_ALLOWED, the allocation logic will generate an accrual record. The accrual record contains
the difference between the current allocated freight cost and the previously transmitted freight cost.
The delta between the two is used because a single order may be on multiple shipments, which are
approved for payment in different time periods. These accrual records are sent as part of this
interface.
The Accrual interface is supported on the outbound only. It can also be sent via the user interface in
the Process Manager, Send Integration page.
ExchangeRate Interface
You can send exchange rates from and to Oracle Transportation Management through this interface.
You might want to do this if the default IMF feed does not work for your requirements.
6-9
6.
7.
See the Exchange Rate Manager online help for a description of the fields.
See the ExchangeRate Diagram in the XML schema to learn which elements are required. To
view the diagrams use an XML application like XML Spy.
Transmission Results
Oracle Transportation Management saves your exchange rate definition in the database.
Error Messages
If you receive a TransmissionReport, check for integration messages.
2.
Enter data in the elements that need to be updated and in the required elements.
3.
4.
See the Exchange Rate Manager online help for a description of the fields.
See the ExchangeRate Diagram in the XML schema to learn which elements are required. To
view the diagrams use an XML application like XML Spy.
Transmission Results
Oracle Transportation Management saves your modified exchange rate definition in the database.
Error Messages
If you receive a TransmissionReport, check for integration messages.
Setup
You control validation of incoming transmissions with the glog.integration.validation property.
2.
Transmission Results
Oracle Transportation Management deletes your exchange rate definition in the database.
6-10
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
Error Messages
If you get a TransmissionReport that reads "CAUGHT THE FOLLOWING EXCEPTION WHILE
PROCESSING TRANSACTION:", make sure you are not trying to delete an exchange rate definition
that is used elsewhere in Oracle Transportation Management.
If you receive a TransmissionReport, check for integration messages.
Transmission Results
Error Messages
Invoice Interface
Service providers and other third parties send invoices for payments on shipments to Oracle
Transportation Management through the Invoice interface. The invoice transmission contains details
about the payment and the specific transportation activity for which payment is owed.
Invoices can be automatically matched to shipments based on the Service Provider ID and Shipment
Reference Number fields. If more than one shipment is found for an invoice, the invoice must be
reviewed manually and assigned to a shipment, it must be rejected. After an invoice is approved, a
voucher gets created. A voucher represents what the planner agrees to pay for the shipment.
Use the Financials managers to create and modify invoices and customer bills.
In some cases, you may need to send the Invoice interface outbound. This is true when sending a bill
to yourself for internal invoice or billing purposes. When the Invoice interface is used outbound, then it
will include all shipment details, as well as any associated order information.
Consolidated Invoices
1.
You must send each invoice, parent and child, as a separate transaction.
2.
Parent invoices must enter Oracle Transportation Management before any child invoices.
3.
Child invoices may be sent inbound referencing a parent in one of two ways:
Populate the invoice number on the child to be that of the parent and integration will lookup
the parent id based on the invoice number.
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
6-11
ItemMaster Interface
The ItemMaster interface provides a way to transmit item information to Oracle Transportation
Management. Items represent the freight being shipped. The ItemMaster transmission includes
packaging elements, elements that describe the item, and any NMFC, STCC, SITC, or HTS codes that
apply. In addition, a general ledger GID or accessorial charges can be included.
Note: Item information must be in Oracle Transportation Management before it can accept
TransOrders that reference the item.
Itinerary Interface
The Itinerary interface is part of the GLogXMLElement element. It is used to define the path between
two locations and specifies the constraints for building the shipment. This element is supported on the
inbound only.
For details on the elements, both required and optional, as well as their format and descriptions,
please view the XML Element Dictionary.
Job Interface
Use the Job Interface to send data that addresses how logistics service providers and freight
forwarders manage the services they provide within Oracle Transportation Management. A job offers a
workspace that brings together the objects and activities required of them, including:
The ability to group all objects related to a job and perform existing functions/actions against
those objects, including buy shipments, sell shipments, non-freight related charges, and
customer bills.
The ability to manage jobs from various perspectives depending on responsibility. For
example, export, import, both, or consolidations.
The ability to manage settlement functions at the job level, including profitability, expenses,
revenues, and billing.
1.
Order releases
2.
3.
The Buy Side Costs wrapper element contains two sub elements, Buy Shipments and Buy
Allocation.
Buy shipments: Select all related orders. For each order, select all related buy shipments
where the shipment job GID equals null or it equals the current job GID. There may be
zero or more buy shipments.
Buy allocation: Each allocation will be selected for each order, where the allocation
Shipment Job GID is equal to the current job or it is equal to null. There may be zero or
more allocations.
6-12
For each order release related to the job, JOB_ORDER_RELEASE_JOIN will be added to the
XML. Although orders are not required to create a job, at least one order should be related
to the job to send out the interface.
The sell side costs works exactly the same as the buy side, except the selection criteria is
based on sell side perspective.
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
4.
Bills
Each customer bill related to the job will be included in the XML. Bills can be found in the
JOB_BILL table. Zero or more bills are required.
Because this interface can potentially be large, redundant data has been reduced across
multiple data elements included in the interface. This includes:
The ability to only include the Order Release GID in the shipment, allocation, and bill
elements.
The ability to only include the Shipment GID in the allocation and bill elements.
Location Interface
The Location element specifies a location.
Setup
You control validation of incoming transmissions with the glog.integration.validation property.
2.
3.
See the Location Manager online help for a description of the fields.
See the Location diagram in the XML schema to learn which elements are required. To view
the diagrams use an XML application like XML Spy.
Transmission Results
Oracle Transportation Management saves your location definition in the database.
If you send a location to Oracle Transportation Management with a new child domain, Oracle
Transportation Management adds the child domain to your database automatically.
Error Messages
If you receive a TransmissionReport, check for integration messages.
6-13
2.
Enter data in the elements that need to be updated and in the required elements.
3.
4.
See the Location Manager online help for a description of the fields.
See the Location diagram in the XML schema to learn which elements are required. To view
the diagrams use an XML application like XML Spy.
Transmission Results
Oracle Transportation Management saves your modified location definition in the database.
Error Messages
If you receive a TransmissionReport, check for integration messages.
Setup
You control validation of incoming location transmissions with the
glog.integration.validation.locationinterface property.
2.
Transmission Results
Oracle Transportation Management deletes your location in the database.
Error Messages
If you get a TransmissionReport that reads "CAUGHT THE FOLLOWING EXCEPTION WHILE
PROCESSING TRANSACTION:", make sure you are not trying to delete a location that is used
elsewhere in Oracle Transportation Management.
If you receive a TransmissionReport, check for integration messages.
6-14
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
Transmission Results
Error Messages
Mileage Interface
Use the Mileage interface to transmit distance information to Oracle Transportation Management. The
mileage interface identifies the distance between the points in a lane. Lanes may contain specific or
general geographic information, such as:
City to city
State to state
City to state
Address to address
City to address
State to address
As a result, the mileage data may enter Oracle Transportation Management with different level of
precision with regard to specific locations.
Mileage information may be changed whenever necessary, using the Mileage interface, or by using
Power Data. The mileage interface may be used to create new lane information, or update existing
information or when planning an order.
Release Interface
The Release interface transmits order release information to and from Oracle Transportation
Management. An order release represents the shippable portion of a transportation order. After you
send a release, Oracle Transportation Management automatically creates an order base for it. A
release from a Transportation Order corresponds to the particular TransOrder Lines, which share
common transportation requirements.
TransOrders represent the demand for transportation services, and consist of header information and
either line items or ship units, but not both.
Note: The TransOrder element is only supported on the outbound Release interface.
An order release contains the following information:
Order base ID that references the base order from which the order release was created.
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
6-15
Current status.
Release Type
Populate the ReleaseType to tell Oracle Transportation Management how to release ship units. If the
ReleaseType is not populated, the default will be ONE_TO_ONE.
Value
Description
PREPACK
Oracle Transportation Management will build a single ship unit for all lines on
an order base.
AUTO_CALC
The number of ship units built for an order will be defined by Oracle
Transportation Management.
ONE_TO_ONE
AUTO_CALC_UNIQUE
Acts the same as AUTO_CALC, but will create a unique ship unit record for
each full ship unit.
ReleaseInstruction Interface
The ReleaseInstruction interface allows you to select specific line items and ship units, and release
specific quantities of them for a particular order base.
Included in this interface are detailed instructions for creating the order release.
RemoteQuery Interface
Use remote queries to request certain kinds of information from Oracle Transportation Management.
Note: When you create a RemoteQuery, enter QUERY in the TransmissionType element.
<TransmissionType>QUERY</TransmissionType>
ShipmentQuery
Use the ShipmentQuery element to request information about a shipment. Send Oracle Transportation
Management the shipmentID, and receive a shipment transmission that includes all the details
associated with the shipment.
RIQQuery Interface
Use the RIQQuery element to request rate information for a shipment. Ask for rates based on service
provider, transportation mode, quantity, locations, and arrival or departure dates. For example, you
might request a list of carriers, show best rates, or fastest routes.
6-16
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
For air rates, Oracle Transportation Management looks for known shippers by default and therefore
returns cargo as well as passenger flights.
If the AvailableBy element is not passed, the current date is used.
Note: For the remote query to work properly, rates, locations, itineraries, and all other
shipment-related information must be fully loaded in Oracle Transportation Management.
Note: You must create an external system and enter a correct IP address in order to pass
authentication.
Transmission ReportQuery
If you send a transmission to Oracle Transportation Management but do not get a TransmissionReport
back, use the TransmissionReportQuery element to request the missing TransmissionReport.
Note: This only makes sense if glog.integration.TransmissionReport has been set to yes.
RemoteQueryReply Interface
The RemoteQueryReply contains Oracle Transportation Managements response to your RemoteQuery.
You use the RemoteQuery interface to send remote queries to Oracle Transportation Management.
Oracle Transportation Management automatically sends its RemoteQueryReply to the IP:port number
of the originating RemoteQuery transmission.
If you are trying to send more than one RIQ into Oracle Transportation Management using the
RemoteQuery interface, then you need to set the
glog.integration.RemoteQuery.WrapReplyInTransmission property to 1. Since the RemoteQueryReply
interface only sends one reply back, it will drop the additional RIQs. With this property set to 1, it will
wrap the reply in the XML transmission which will send all the RIQs back in the reply.
ServiceTime Interface
Use the ServiceTime interface to transmit the time it takes to go from one point of an XLane to the
other. You can use this information for shipment planning.
ServiceTime transmissions can be sent as part of a Mileage interface transmission. Service time may
also be transmitted to Oracle Transportation Management as a GLogXMLElement. When identified as
part of a Mileage element, Oracle Transportation Management ignores the TransactionCode and
XLaneRef elements.
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
6-17
Setup
You control validation of incoming transmissions with the glog.integration.validation property.
2.
Identify which object (shipment, shipment group etc) the status applies to. Set StatusLevel,
ShipmentStatusType, ServiceProviderAlias, and ShipmentRefnum or IntSavedQuery.
3.
4.
Optionally, identify which equipment the shipment status refers to with SStatusSEquipment
element.
5.
Include the time when the event occurred. To be sure that Oracle Transportation Management
can interpret the time correctly, include the TimeZoneGID element. Alternatives to doing this
is:
If you cannot include the TimeZoneGID, Oracle Transportation Management can set the
time zone to the time zone of the Location where the event occurred.
If you cannot do this either, set the TimeZoneGID to Local. In this case, Oracle
Transportation Management saves and displays the event date as entered, ignoring user
preferences.
6.
Enter your status information. In some cases, shipments can only have events added to them
if they are of a certain status.
7.
Identify at what SSStop (number or location name) the event (shipment status) occurred. The
LocationID = Location Reference Number and the LocationRefnumQualifierGID = Location
Reference Qualifier in the Location Manager.
8.
If you have a Shipment Agent Type with the Recalc Estimated Stop Times action, then you
must include a RATE_GEO element for Oracle Transportation Management to be able to
recalculate your estimated stop times and/or re-drive your shipment. If you omit the
RATE_GEO element, Oracle Transportation Management only resets the stop times you
provide.
9.
See the ShipmentStatus Diagram in the XML schema to learn which elements are required. To
view the diagrams use an XML application like XML Spy.
6-18
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
Transmission Results
Oracle Transportation Management saves your information in the database.
Agents might have been set up to act upon receiving certain shipment statuses.
Error Messages
If you receive a TransmissionReport, check for integration messages.
If you need the object (shipment or shipment group) to match many reference numbers, use
IntSavedQuery.
If you need the object to only match one out of a set of reference numbers, use
ShipmentRefnums, or ShipmentGroupRefnums.
IntSavedQuery
If you specify the IntSavedQuery element, only that query is applied. You can define a query to search
for shipments or shipment groups that shipment status applies to. To do this, set:
IntSavedQueryGID to specify which query you want to use. If the query you specify here does
not return any results, Oracle Transportation Management generates an error message. No
other queries are applied. You must have created this query in Power Data beforehand.
IsMultiMatch to N to forbid multiple records to be returned from the query. If your query
happens to return multiple records, Oracle Transportation Management generates an error
message.
Refnums
If you omit the IntSavedQuery element, Oracle Transportation Management tries to match your
shipment status with:
You can optionally enforce a rule that a give shipment may have only one shipment reference number
with a given qualifier. The update_flag column in the shipment_refnum_qual table indicates if the rule
is in effect or not. The valid values for the update_flag are:
UPDATE_OK: Only one value is allowed for a give qualifier, the value of which can be modified.
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
6-19
UPDATE_NOT_OK: Only one value is allowed for a give qualifier, the value of which cannot be
modified.
MANY: a given shipment can have multiple values for the same qualifier.
ShipStop Interface
The ShipStop interface is used to modify stop related information for a shipment.
It is an easier alternative to updating shipment stop information than doing it directly through the
Shipment interface.
There are four main elements to the ShipStop interface:
SendReason: Used to indicate the reason the notification/data/information is being sent to the
external system.
ShipmentStop: They are the pickup and delivery points for a shipment. Ship units and lines
represent the freight and packaging carried on a shipment from one stop to another. Subelements of the ShipmentStop element mirror the fields found in the Shipment Stops
Manager.
TenderOffer Interface
Tender a planned shipment to a service provider.
The service providers reply to the TenderOffer is sent through the TenderResponse interface.
6-20
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
Define an external system where Oracle Transportation Management should send the
TenderOffer transmissions.
Associate the contact of your service provider with the external system.
Choose HTTPPOST or EDI as the main communication method for the contact of your service
provider.
Choose HTTPPOST or EDI as the main communication method for the logistics contact on the
shipment. Choose the same communication method as for the contact of your service
provider.
Setup
Set parameters in Power Data that determine how many tender offers are automatically sent for single
shipment and how much time you want to allow before a tender times out.
Starts a timer that defines how long the service provider has to respond to the tender before it
is withdrawn.
If the service provider declines the tender offer, Oracle Transportation Management automatically retenders the shipment and re-initiates the tender process by sending a tender transmission to a new
service provider. If no other service provider is available, the shipment status is updated to SECURE
RESOURCES_NO_RESOURCES.
If the tender offer times out, Oracle Transportation Management notifies the service provider of the
tender withdrawal, and re-tenders the shipment to another service provider. A tender offer times out
when the amount of time established for a service provider to respond to a tender expires.
Error Messages
Cancel TenderOffer
Required Data
You must have sent a new TenderOffer.
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
6-21
Setup
How To Send the Transmission?
Shipment Manager, Withdraw Tender action
Transmission Results
Error Messages
TenderResponse Interface
Responds to a TenderOffer.
Oracle Transportation Management sends out a TenderOffer asking if a particular service provider
wants to carry a shipment. Service providers send back a TenderResponse stating whether they agree
to carry the shipment.
You need to know the ITransactionNo from the TenderOffer you are accepting or declining.
See the online help topic: Configuring Online Booking and Tendering.
Setup
You control validation of incoming transmissions with the glog.integration.validation property.
2.
3.
4.
Transmission Results
When you accept a tender, Oracle Transportation Management performs the following actions:
5.
6.
Cancels the tender time-out alarm. The tender time-out alarm defines the amount of time in
which a service provider can respond to a tender.
6-22
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
7.
You can have Oracle Transportation Management send notification to involved parties when a
tender is accepted.
If the tender is declined, Oracle Transportation Management performs the following actions:
8.
9.
10.
11.
Accesses re-tender rules. The re-tender log contains user-defined rules for how alternate
service providers are evaluated and how many times a shipment gets tendered automatically
by Oracle Transportation Management.
Identifies the Declined Route so that the same service provider is not offered the shipment a
second time.
Error Messages
If you receive a TransmissionReport, check for integration messages.
TransmissionReport Interface
Lists why the transmission, sent to Oracle Transportation Management, was not processed
successfully.
Setup
glog.integration.TransmissionReport controls what kind of errors trigger Oracle Transportation
Management to send a TransmissionReport. You can override these settings with the AckSpec element
of your transmission.
You can speed up the generation of TransmissionReports by omitting the TransmissionSummary
element with the glog.integration.transmissionreport.includesummarydetail property.
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
6-23
Transmission Results
Error Messages
If you are not getting a TransmissionReport, check the following properties:
glog.integration.transmissionReport.readResponse
glog.integration.TransmissionReport
Required Data
To send an order to Oracle Transportation Management, certain information related to the order must
already exist in Oracle Transportation Management. For example, you must have a valid itinerary,
rate, locations, and so on.
Setup
You control validation of incoming transmissions with the glog.integration.validation property.
Specify if Oracle Transportation Management should release based off of weight, volume or item count
with the glog.integration.Transorder.TransOrderLine.IsShippable.DefaultReleaseType property.
3.
Populate the ProcessingCodeGID to tell Oracle Transportation Management how to plan the
shipments from the order release.
4.
5.
6.
Set TransOrderLineDetail/TransOrderLine/ItemQuantity/IsShippable = N.
6-24
Populate the ReleaseType to tell Oracle Transportation Management how to release ship units.
If the ReleaseType is not populated, the default will be ONE_TO_ONE.
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
7.
8.
If your order base is coded in a format other than GLogXML you need to transform your
TransOrder transmission into the GLogXML schema, you can use Oracle Transportation
Management's transform feature to do this.
9.
If you want to change the level of validation for this transmission, you can include a
processing instruction to set the desired level. By default, TransOrder validation is turned on.
See the online help for a description of the fields.
10.
11.
See the TransOrder Diagram in the XML schema to learn which elements are required. To view
the diagrams use an XML application like XML Spy.
Transmission Results
12.
13.
Oracle Transportation Management starts the public Order Base - Insert agent.
If the current date is outside the effective date/expiration date window of your TransOrder,
the agent cannot create order releases. You must release the TransOrder via the process
manager. There you can release all orders which have release instructions, but whose release
has not been processed.
If you use the UI or IU transaction codes and the record exists already, Oracle Transportation
Management starts the public Order Base - Modify agent instead.
Oracle Transportation Management raises events that in turn can trigger Notifications to be
sent.
14.
Error Messages
If you receive a TransmissionReport, check for integration messages.
Required Data
To send an order to Oracle Transportation Management, certain information related to the order must
already exist in Oracle Transportation Management. For example, you must have a valid itinerary,
rate, locations, and so on.
Setup
You control validation of incoming transmissions with the glog.integration.validation property.
6-25
2.
If you do not want to enter values for the TransOrderGID, ShipUnitGID, or OrderReleaseGID
elements, you can have Oracle Transportation Management automatically generate GIDs.
Automatic generation of GIDs only works for a transaction code of I.
Note: If a transaction code of IU is used, then a TransOrderGID must be provided.
3.
Populate the ProcessingCodeGID to tell Oracle Transportation Management how to plan the
shipments from the order release.
4.
5.
6.
Populate the ReleaseType to tell Oracle Transportation Management how to release ship units.
If the ReleaseType is not populated, the default will be ONE_TO_ONE.
7.
8.
If you omit the IsShippable element or set it to N, you need to populate the amount to release
in the TransOrderHeader/ReleaseInstruction/QuantityToRelease element. With this option, you
can specify the number of ship units to be released in the
ReleaseInstruction/ShipUnitReleaseCount element.
9.
You can override all dates and locations from the ShipUnitDetail with other settings in the
ReleaseInstruction.
To be able to track your ship unites as they propagate through Oracle Transportation
Management as order release ship units and shipment ship units, you might want to include a
unique ID in the ShipUnitDetail/ShipUnit/ShipUnitContent/ItemQuantity/ItemTag1 element.
Also, there is a TransOrderShipUnitGID element in Release/ShipUnit that can help you track
ship units.
10.
If you want to change the level of validation for this transmission, you can include a
processing instruction to set the desired level. By default, TransOrder validation is turned on.
11.
12.
See the Order Base Manager online help for a description of the fields.
See the TransOrder Diagram in the XML schema to learn which elements are required. To view
the diagrams use an XML application like XML Spy.
Transmission Results
1.
2.
Oracle Transportation Management starts the public Order Base - Insert agent.
3.
4.
It finds the unprocessed release instructions with a release date <= the current date.
5.
If you use the UI or IU transaction codes and the record exists already, Oracle Transportation
Management starts the public Order Base - Modify agent instead.
6.
Oracle Transportation Management raises events that in turn can trigger notifications to be
sent.
If the current date is outside the effective date/expiration date window of your TransOrder,
the agent cannot create order releases. You must release the TransOrder via the process
manager. There you can release all orders which have release instructions, but whose release
has not been processed.
6-26
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
Required Data
Setup
You control validation of incoming transmissions with the glog.integration.validation.orderinterface
property.
Specify if Oracle Transportation Management should release based off of weight, volume or item count
with the glog.integration.Transorder.TransOrderLine.IsShippable.DefaultReleaseType property.
2.
If your update is to delete only a couple of fields in the OrderBase, use the Value to Null Field
symbol.
3.
Populate the ReleaseType to tell Oracle Transportation Management how to release ship units.
If the ReleaseType is not populated, the default will be ONE_TO_ONE.
4.
If you want Oracle Transportation Management to release all your order lines, set IsShippable
= Y.
With IsShippable=Y, you should omit the ReleaseInstruction element, Oracle Transportation
Management releases the full weight, volume, or count (depending on glog.properties). If you
set IsShippable=Y and include a ReleaseInstruction, Oracle Transportation Management
releases your order twice. One full order release based on the parameter in glog.properties
and another order release based on the ReleaseInstruction element.
5.
If you want to change the level of validation for this transmission, you can include a
processing instruction to set the desired level. By default, TransOrder validation is turned on.
6.
7.
See the Order Base Manager online help for a description of the fields.
8.
To update date fields with NULL values, submit a value of '~' in the date element(s) of the
inbound TransOrder XML.
See the TransOrder Diagram in the XML schema to learn which elements are required. To view
the diagrams use an XML application like XML Spy.
Transmission Results
1.
2.
Oracle Transportation Management starts the public Order Base - Modify agent.
If you use the UI or IU transaction codes and the record does not exist already, Oracle
Transportation Management starts the public Order Base - Insert agent instead.
3.
Oracle Transportation Management raises events that in turn can trigger Notifications to be
sent.
Error Messages
If you receive a TransmissionReport, check for integration messages.
Modify ShipUnits
There are three ways to update the ship unit information (quantities, weights, volumes, etc) on a
shipment via integration:
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
6-27
Use ActualShipment. This interface provides complete control of all the fields in the Shipment.
Use SShipUnit.
The TransOrder interface together with the IsUpdateShipmentOnly element supports uploading a
slightly modified TransOrder and has it update only the Shipment/SShipUnit. IsUpdateShipmentOnly
indicates that the TransOrder should update the shipment only, and not the order base information.
Note: To update date fields with NULL values, submit a value of '~' in the date element(s)
of the inbound TransOrder XML.
Using the IsUpdateShipmentOnly element can help you reduce the need to implement a separate
SShipUnit or ActualShipment interface. The use of this flag with the TransOrder interface is restricted
as follows:
The original order base should have been created using the ShipUnitDetail (not the
TransOrderLineDetail).
The information you can update is restricted to the SShipUnit element. The TransOrderHeader
is ignored, and none of the other Shipment related information is updated.
The specific S_Ship_Unit(s) to be modified are identified by using the ShipUnitGID in the new
TransOrder and searching for the related Release/ShipUnit (via the OB_SHIP_UNIT_GID on
SHIP_UNIT table) and then the Shipment.ShipUnit(s) (via the SHIP_UNIT_GID field in the
S_SHIP_UNIT table). The search requires those reference pointers to exist.
Delete Orders
Required Data
Setup
You control validation of incoming transmissions with the glog.integration.validation.orderinterface
property.
3.
If you want to change the level of validation for this transmission, you can include a
processing instruction to set the desired level. By default, TransOrder validation is turned on.
4.
5.
If you do not know the GID of the record you want to delete, you can use integration saved
queries instead.
See the TransOrder Diagram in the XML schema to learn which elements are required. To view
the diagrams use an XML application like XML Spy.
Transmission Results
1.
2.
Depending on what kind of record you are deleting an agent might start. For example, if you
are deleting an Order Base, the public Order Base - Delete agent starts.
3.
Oracle Transportation Management raises events that in turn can trigger notifications to be
sent.
6-28
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
Error Messages
You cannot delete an order that is assigned to a shipment after a service provider accepts a tender on
the shipment. If you try to do this, Oracle Transportation Management might send a
TransmissionReport stating the problem.
If you receive a TransmissionReport, check for integration messages.
Setup
You control validation of incoming transmissions with the glog.integration.validation.orderinterface
property.
1.
Set IsProcessInSequence=N.
This ensures maximum performance because Oracle Transportation Management can process
TransOrders belonging to different order bases in parallel.
2.
3.
4.
Include a Topic element as the last element in the transmission to start the bulk planning. Set
TopicArgName to 'savedQuery' and TopicArgValue to a Query_Name. The saved query must
point out the Order Releases you want to include.
5.
In the GLogXMLElement holding the Topic element, include a ProcessInfo element with
WhenToProcess=END_OF_TRANSMISSION.
Create an order release for every TransOrder either with IsShippable=Y and omit the
ReleaseInstruction, or with IsShippable=N and include a ReleaseInstruction.
This tells Oracle Transportation Management to wait to start the bulk planning until the end of
the transmission.
Note: Oracle Transportation Management plans all order releases that match the saved
query, not just the ones within the transmission.
Note: The Topic element must be the last element in the transmission. If it is not, Oracle
Transportation Management will plan incorrectly.
If you cannot keep all your TransOrders within one Transmission follow these guidelines:
1.
2.
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
6-29
3.
For every TransOrder that Oracle Transportation Management should bulk plan later, set the
ProcessingCodeGID to NOPLN.
If you instead set the ProcessingCodeGID to PLN on each TransOrder in a transmission, Oracle
Transportation Management bulk plans these orders on each transmission. Also, Oracle
Transportation Management cannot supply a bulk plan history in this case.
4.
When Oracle Transportation Management has received all TransOrders to be bulk planned,
send a Topic element as the last element in the transmission to start the bulk planning. Set
TopicArgName to 'savedQuery' and TopicArgValue to a Query_Name. The saved query must
point out the Order Releases you want to include. If you want to supply your own bulk plan
ID, in addition, set TopicArgName to 'bulkPlanID' and TopicArgValue to your desired bulk plan
ID.
To be reasonably sure that Oracle Transportation Management has received all your
transmissions, allow sufficient amount of time between sending the last TransOrder
Transmission and sending the Topic element.
Note: Oracle Transportation Management plans all order releases that match the saved
query, not just the ones within the last transmissions.
Note: The Topic element must be the last element in the transmission or group. If it is not,
Oracle Transportation Management will plan incorrectly.
Transmission Results
When Oracle Transportation Management completes the bulk planning, Oracle Transportation
Management sends the results of the bulk plan in a BulkPlan element.
Error Messages
If you receive a TransmissionReport, check for integration messages.
Required Data
Setup
You control validation of incoming transmissions with the glog.integration.validation.orderinterface
property.
Make sure the public Order Base - Modify - Incremental Release agent is active.
3.
4.
6-30
Send a transmission of the record and enter the transaction code U in the TransactionCode
element.
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
5.
6.
For each modified TransOrder you send, update the ReleaseInstruction/SequenceNumber and
make it unique. If you do not, Oracle Transportation Management keeps the old releases but
replaces the content of the release instruction.
7.
Populate the ReleaseType to tell Oracle Transportation Management how to release ship units.
If the ReleaseType is not populated, the default will be ONE_TO_ONE.
8.
9.
Transmission Results
1.
Oracle Transportation Management receives your transmission and starts to process your
transmission internally.
2.
Oracle Transportation Management starts the public Order Base - Modify - Incremental
Release agent. Oracle Transportation Management creates one ship unit per TransOrderLine
per default. See the ReleaseType element.
3.
Oracle Transportation Management raises events that in turn can trigger notifications to be
sent.
Error Messages
If you receive a TransmissionReport, check for integration messages.
Transmission Results
Error Messages
Processing Codes
When you send an order to Oracle Transportation Management, you can indicate whether you want
Oracle Transportation Management to perform planning functions on it. If Oracle Transportation
Management plans orders, it creates shipments from the orders and then executes the shipments as
soon as it receives them. If you want to execute orders into shipments at a particular time or after
you receive a certain number of orders, do not run the planning function.
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
6-31
Control the details of planning orders in Oracle Transportation Management in the Agent Manager.
In the ProcessingCodeGID element, enter one of the following values:
NOPLN: Instructs Oracle Transportation Management not to plan shipments form the order.
This is the default if you omit this element.
PLN: Instructs Oracle Transportation Management to plan shipments from the order release.
Oracle Transportation Management will plan multi-stop shipments if appropriate. You must
have your TransOrder set up to create an order release for this to work.
MSPLN: Obsolete.
XLane Interface
Use the XLane interface to transmit lane information to Oracle Transportation Management. An XLane
connects two geographic points. Associate XLanes with rate records to establish rates between
particular locations or areas. The geographic points can be specific, such as a street address, or more
general, such as a city, state, country, or region. You can include mileage interface information in the
lane transmission.
XLanes provide the basic geographic framework for shipment activity. When you define a lane with
specific geographic locations, fewer shipments can use the lane. When you define a lane with less
specific geographic information, more shipments qualify for it but processing time on the system may
be slowed.
Data Requirements
Before you can transmit lane information to Oracle Transportation Management, you must enter or
transmit the location information associated with the lanes.
Billing Interface
Use the Billing interface to send transmissions to an accounting system for customer billing. The billing
information represents the amount owed by a customer to the planner of a shipment. The billing
transmission includes the customer who is being charged and details of the bill such as the amount
due, the date due, and any discount information.
The elements included in the Billing interface transmission are the same as those in the invoice
interface. Oracle Transportation Management sends the bill to the involved parties specified on the
order.
For consolidated invoices, when you send the Billing interface, all child invoices are also sent.
Oracle Transportation Management sends Billing transmissions to the URL you specify in
glog.properties.
Bills can be generated in the Shipment Manager or in the Process Manager.
Voucher Interface
A voucher approves the payment of an invoice. A voucher represents the cost of a shipment owed to a
third party such as a service provider. Oracle Transportation Management sends a voucher
transmission to a financial system after it has matched a third party charge to a shipment and
approved the charge for payment.
6-32
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
Oracle Transportation Management sends voucher transmissions to the URL you specify in
glog.properties.
You can create an agent that send the Voucher interface using the agent action Send Voucher
Interface. You can also send this interface from the Invoice Manager.
Note: You can send a voucher transmission that cancels or edits a previous voucher.
Oracle Transportation Management determines to whom a payment is due based on the involved
parties defined on the order release.
The Shipment element is only included when generating vouchers for parent invoices. When
generating a voucher for a child invoice, the Shipment element is not included.
You can optionally use the ShipmentGID element instead of the full Shipment element in order to
reduce the size of the Voucher XML.
Process Vouchers
Vouchers are generated in the Process Manager
CSVFileContent Interface
The CSVFileContent element embeds the contents of a CSV file. This element should only be used for
setup activities; it is not intended for operational activity.
1.
2.
Refer to the Data Management Guide document for details on the CSV file format.
See the CSVFileContent Diagram in the XML schema to learn which elements are required. To
view the diagrams use an XML application like XML Spy.
Transmission Results
Oracle Transportation Management saves your CSV records in the database.
Error Messages
If you receive a TransmissionReport, check for integration messages.
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
6-33
DataQuerySummary Interface
Contains the GID of a business object record.
Some external systems may not be prepared for Oracle Transportation Management to send large
amounts of data. The DataQuerySummary interface provides a mechanism to send only a summary of
the data. The external system can request the individual records from Oracle Transportation
Management at appropriate times (e.g. idle times, overnight) by referencing the GID.
Bill Manager
Location Manager
Item Manager
Invoice Manager
Transmission Results
Error Messages
FinancialSystemFeed Interface
The FinancialSystemFeed interface allows you to use shipments (either buy or sell) as the final object
for managing financials. This alleviates the need to use invoices or bills as the final object for
managing financials.
For details on the data requirements and format of this interface, please see the FinancialSystemFeed
diagram.
6-34
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
You will use either the SellSideFinancials element or the BuySideFinancials element depending on
whether you are using a buy or a sell shipment to manage your financials. All related orders will be
passed through based on the allocation information passed through the AllocationBase element.
GLogXMLElement
You can send many transactions in or out of Oracle Transportation Management in one transmission
but to separate the transactions; every transaction must be wrapped in a GLogXMLElement.
A TransmissionBody element wraps one or more GLogXMLElement elements in a Transmission.
HazmatGeneric Interface
The HazmatGeneric element specifies a hazardous material. See the Hazardous Materials manager for
more information.
Note: To send hazardous material data to Oracle Transportation Management based on
specific item information, use the HazmatItem interface.
Setup
You control validation of incoming transmissions with the glog.integration.validation property.
2.
3.
See the Hazardous Materials Manager online help for a description of the fields.
See the HazmatGeneric Diagram in the XML schema to learn which elements are required. To
view the diagrams use an XML application like XML Spy.
Transmission Results
Oracle Transportation Management saves your hazmat definition in the database.
Error Messages
If you receive a TransmissionReport, check for integration messages.
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
6-35
2.
Enter data in the elements that need to be updated and in the required elements.
3.
4.
See the Hazardous Materials Manager online help for a description of the fields.
See the HazmatGeneric Diagram in the XML schema to learn which elements are required. To
view the diagrams use an XML application like XML Spy.
Transmission Results
Oracle Transportation Management saves your modified hazmat definition in the database.
Error Messages
If you receive a TransmissionReport, check for integration messages.
Setup
You control validation of incoming transmissions with the glog.integration.validation property.
2.
Transmission Results
Oracle Transportation Management deletes your hazmat in the database.
Error Messages
If you get a TransmissionReport that reads "CAUGHT THE FOLLOWING EXCEPTION WHILE
PROCESSING TRANSACTION:", make sure you are not trying to delete a hazmat that is used
elsewhere in Oracle Transportation Management.
If you receive a TransmissionReport, check for integration messages.
HazmatItem Interface
The HazmatItem element specifies an item containing a hazardous material. See the Hazardous Item
manager for more information.
Note: To specify a hazardous material, use the HazmatGeneric interface.
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
STCC ID (49...)
Package Type
Hazmat Region
Setup
You control validation of incoming transmissions with the glog.integration.validation property.
2.
3.
See the Hazardous Item Manager online help for a description of the fields.
See the HazmatItem Diagram in the XML schema to learn which elements are required. To
view the diagrams use an XML application like XML Spy.
Transmission Results
Oracle Transportation Management saves your hazardous item definition in the database.
Error Messages
If you receive a TransmissionReport, check for integration messages.
2.
Enter data in the elements that need to be updated and in the required elements.
3.
4.
See the Hazardous Item Manager online help for a description of the fields.
See the HazmatItem Diagram in the XML schema to learn which elements are required. To
view the diagrams use an XML application like XML Spy.
Transmission Results
Oracle Transportation Management saves your modified hazardous item definition in the database.
Error Messages
If you receive a TransmissionReport, check for integration messages.
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
6-37
Setup
You control validation of incoming transmissions with the glog.integration.validation property.
2.
Transmission Results
Oracle Transportation Management deletes your hazardous item definition in the database.
Error Messages
If you get a TransmissionReport that reads "CAUGHT THE FOLLOWING EXCEPTION WHILE
PROCESSING TRANSACTION:", make sure you are not trying to delete a hazardous item definition
that is used elsewhere in Oracle Transportation Management.
If you receive a TransmissionReport, check for integration messages.
RATE_GEO Interface
Contains a rate record.
RATE_GEO is "database centric" since the Oracle Database auto-generates the schema. The element
names directly correspond to the table and column names.
Setup
You must have created the external system you want to send to.
6-38
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
RATE_OFFERING Interface
Contains a rate offering.
RATE_OFFERING is "database centric" since the Oracle Database auto-generates the schema. The
element names directly correspond to the table and column names.
Transmission Results
Error Messages
Schedule Interface
This element is supported both for inbound and outbound, and contains parameters used in the Batch
Balance algorithm. The schedule is used as input to build shipments and assign orders into batches.
Each order (TransOrder) can be assigned to a Schedule for processing. The ScheduleStatus and Batch
elements in the Schedule element are outbound only.
ShipmentGroup Interface
Use this interface to specify shipment group header information and the associated shipments in a
group. The ShipmentGroup element is supported for both inbound and outbound messages.
ShipmentGroupTenderOffer
The ShipmentGroupTenderOffer interface is used to notify a service provider of a shipment group
pickup. This interface is a wrapper around the ShipmentGroup element, and currently does not accept
response back from the service provider.
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
6-39
For details on the elements included in this interface, and which ones are required versus optional,
view the ShipmentGroupTenderOffer diagram in the online help system.
1.
2.
3.
TransactionAck Interface
This element is inbound only. An external system sends a TransactionAck to Oracle Transportation
Management to acknowledge receipt and processing of a transaction.
The TransactionAck contains the original transmission's unique ProcessControlRequestID. This
identifies which transaction the TransactionAck acknowledges receipt and processing of.
Transmission Interface
XML documents imported into Oracle Transportation Management must start with a Transmission
element. You can think of sending the transmission element as a substitute for logging on to Oracle
Transportation Management and manually entering your user data.
The Transmission element tag tells Oracle Transportation Management where to start and end the
transmission. The beginning and ending tags must look as follows, respectively: <Transmission>,
</Transmission>. A Transmission element consists of the TransmissionHeader and the
TransmissionBody.
Transmission Header
The TransmissionHeader contains several elements.
AckSpec
The TransmissionHeader holds the AckSpec element that determines how Oracle Transportation
Management confirms that it has processed your Transmission. Oracle Transportation Management
sends its receipt of transmission acknowledgement in the TransmissionAck element and processing
acknowledgement in the TransmissionReport element.
The AckOption elements let you specify when to receive a TransmissionReport. If unspecified, Oracle
Transportation Management uses your settings in glog.properties instead.
6-40
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
Optional Password
UserName and Password are optional elements because there are alternatives for specifying them:
Note: If you are loading the XML while logged into Oracle Transportation Management
using the "Upload an XML/CSV Transmission" page, then the upload can use the user name
and password of the user that is logged in and Oracle Transportation Management does not
require UserName and Password in the XML.
Note: When the system is operational and either an Enterprise Application Integration tool
or a script generates the XML and posts the XML files to the Oracle Transportation
Management Integration Servlet, then you can specify user name and password in one of
the following ways:
1.
2.
Specify the UserName and Password in the TransmissionHeader element of the XML
3.
Specify only the user name in the TransmissionHeader as defined above, and use IP
Authentication to identify the password.
Specify user name and password in the HTTPPost Header. This must be coded into the
Enterprise Application Integration tool or script, provided that the script or tool supports this.
To do this, define an External System in the domain of the user who appears in the
TransmissionHeader. In that external system definition, specify the IP address from which the
transmissions will be sent. There are a few caveats however. IP address authentication does
not work in conjunction with proxy servers. When a proxy server is used, all transmissions
appear to come from the proxy server instead of from the original sender. Also, IP address
authentication will not work unless the sender has a fixed IP address.
As a result of these alternatives, UserName and Password are optional in the schema. Not to mention
that when Oracle Transportation Management posts out a Transmission, it does not include the
UserName or Password for security reasons.
NotifyInfo
Refers to recipient information which includes Contact GID and optional External Sytem GID.
SenderSystemID , GLogXMLElementName
These are new elements added in version 6.2. SenderSystemID refers to sending system name and
GLogXMLElementName refers to the GLogXMLElement name in the transmission.
Transmission Body
The TransmissionBody wraps one or more GLogXMLElement elements in a Transmission.
TransmissionAck Interface
Confirms that Oracle Transportation Management received the transmission.
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
6-41
Setup
Your external system must be set up to read response codes to its HTTPPOSTs, otherwise it will not
receive a TransmissionAck.
Exceptions
The StackTrace element is used when there is an exception with staging the inbound XML.
MessageReport Interface
Lists why the message, sent to Oracle Transportation Management, was not processed successfully.
Setup
glog.integration.MessageReport controls what kind of errors trigger Oracle Transportation
Management to send a MessageReport. You can override these settings with the AckSpec element of
your message.
6-42
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
BulkContMove Interface
After building a bulk continuous move, Oracle Transportation Management sends this element to an
external system. BulkContMove is used to provide statistics about shipments that were selected and
linked during a given run of bulk continuous move. This element is supported on the outbound only.
BulkPlan Interface
After finishing a bulk planning session, Oracle Transportation Management sends this element to an
external system. BulkPlan contains statistics about the orders that were planned and the shipments
that were created.
BulkRating Interface
After finishing a bulk rating session, Oracle Transportation Management sends this element to an
external system. BulkRating contains statistics about the orders that were planned and the shipments
that were created.
BulkTrailerBuild Interface
After finishing a bulk trailer build, Oracle Transportation Management sends this element to an
external system. BulkTrailerBuild contains statistics about the shipment groups that were created
during the bulk trailer build process. This element is supported on the outbound only.
GenericStatusUpdate Interface
This element expands on and replaces the following elements:
LocationStatusUpdate
TransOrderStatusUpdate
PaymentStatusUpdate
OrderReleaseStatusUpdate
ShipmentStatusUpdate
VoucherStatusUpdate
ShipmentGroupStatusUpdate
ScheduleStatusUpdate
This element updates the external statuses of the corresponding objects. It can update Refnum(s),
Remark(s), Status(es), and Indicator(s).
You use the GID and the SequenceNumber elements to identify the object to update. The GID
specifies the primary key of the object (e.g. ShipmentGID for the SHIPMENT object). The
SequenceNumber, together with the GID element, identifies the object when the GID is insufficient.
For example, the S_SHIP_UNIT_LINE object has a S_SHIP_UNIT_LINE_NO field as part of its primary
key, so the SequenceNumber would correspond to the S_SHIP_UNIT_LINE_NO. Other objects
requiring the sequence number include the INVOICE_LINEITEM and SHIPMENT_STOP.
When updating voucher reference numbers, you can only update a single voucher reference number
per transaction.
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
6-43
TransactionCode = I: The new refnum would be added, resulting in all of the following being
present in the table: CO/A-12345, CO/B-89387, CN/C-83920, CO/D-23849
TransactionCode = U: The current reference numbers with the same qualifier would be
deleted, and replaced by the new one. In this case, the result would leave the following in the
table: CN/C-83920, CO/D-23849
The TransactionCode is only applicable for the Refnum and Remark elements. It is not used for the
Status or Indicator elements, which are only intended to be updated.
Topic Interface
This inbound interface allows you to raise a topic and get Oracle Transportation Management to start
processing an object. Currently Oracle Transportation Management supports BuildBuySideShipments
and BuildSellSideShipments that allows you to start bulk planning. Oracle Transportation Management
also supports clearing caches using the interface.
Note: Make sure Oracle Transportation Management has released all your TransOrders
before sending the Topic element to Oracle Transportation Management.
Note: When including other transactions in the same transmission as the Topic transaction,
make the Topic transaction the last in the transmission.
The table lists what each element should contain.
TopicAliasName
TopicArgName
TopicArgValue
BuildBuySideShipments
savedQuery
query_name, e.g.
YELLOW_ORDER_REL
BuildSellSideShipments
savedQuery
query_name, e.g.
YELLOW_ORDER_REL
glog.server.workflow.adhoc.ClearCaches
cache
zone
exactMatch
6-44
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
SShipUnit Interface
The SShipUnit element allows you to identify and update s_ship_unit information on a shipment,
without having to identify the individual shipment. SShipUnit supports the use of a defined integration
saved query to lookup the s_ship_unit_gid. It also supports updates to multiple s_ship_unit(s) that
match the query constraints.
Typically you do not know the Shipment/ShipUnit/ShipUnitGID when a shipment has been built as a
result of a TransOrder since Oracle Transportation Management generates the
Shipment/ShipUnit/ShipUnitGID arbitrarily. Instead you may know the
TransOrder/ShipUnitDetail/ShipUnit/ShipUnitGID. You can define a query to search for the
Shipment/ShipUnit/ShipUnitGID that Oracle Transportation Management generated from the original
TransOrder.
Alternative Interfaces
For alternatives to using this interface see ActualShipment and TransOrder.
How to Use
To use this element, set:
IntSavedQueryGID to specify which query you want to use. If the query you specify here does
not return any results, Oracle Transportation Management generates an error message and
stops processing the SShipUnit. If you omit the IntSavedQuery element altogether, Oracle
Transportation Management just inserts or updates (depending on your TransactionCode) the
information in your SShipUnit element. Oracle Transportation Management contains two
predefined queries that you can change.
IsMultiMatch to Y or N to allow multiple ship unit records to be returned from the query or not.
If you specify N and your query returns multiple ship unit records, Oracle Transportation
Management generates an error message.
TransactionCode to I, IU, U, D, or RC. You can only delete a ship unit if it is not referenced by
for example a shipment.
Then you can enter your updated information in the ShipUnit element.
After receiving an SShipUnit transmission, Oracle Transportation Management searches for the
ShipUnitGID (Oracle Transportation Management ignores the ShipUnitGID in your ShipUnit element).
Based on the TransactionCode, Oracle Transportation Management then updates the ShipUnit(s) that
it finds.
TransOrderStatus Interface
Service providers and other third parties transmit order base event information to Oracle
Transportation Management with the TransOrderStatus interface.
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
6-45
Setup
You control validation of incoming transmissions with the glog.integration.validation property.
2.
Identify which object the status applies to. Set StatusLevel, OrderRefnum and
ServiceProviderAlias.
If you try to match your TransOrderStatus against a reference number and Oracle
Transportation Management finds multiple matches for the reference number you supplied,
Oracle Transportation Management gives you an error.
3.
Include the time when the event occurred. Your best option is to include the TimeZoneGID. If
you cannot do this, set the TimeZoneGID to Local. In this case, Oracle Transportation
Management saves and displays the event date as entered, ignoring user preferences.
4.
5.
6.
See the Order Base Event Manager online help for a description of the fields.
See the TransOrderStatus Diagram in the XML schema to learn which elements are required.
To view the diagrams use an XML application like XML Spy.
Transmission Results
Oracle Transportation Management saves your information in the database.
Agents might have been set up to act upon receiving certain statuses.
Error Messages
If you receive a TransmissionReport, check for integration messages.
Contact Interface
The Contact element specifies a contact. A location may have multiple contacts.
6-46
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
Setup
You control validation of incoming transmissions with the glog.integration.validation property.
2.
3.
See the Contact Manager online help for a description of the fields.
See the Contact Diagram in the XML schema to learn which elements are required. To view
the diagrams use an XML application like XML Spy.
Transmission Results
Oracle Transportation Management saves your contact definition in the database.
Error Messages
If you receive a TransmissionReport, check for integration messages.
Modify Contact
Required Data
Setup
You control validation of incoming transmissions with the glog.integration.validation.locationinterface
property.
2.
Enter data in the elements that need to be updated and in the required elements.
3.
4.
See the Contact Manager online help for a description of the fields.
See the Contact Diagram in the XML schema to learn which elements are required. To view
the diagrams use an XML application like XML Spy.
Transmission Results
Oracle Transportation Management saves your modified contact definition in the database.
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
6-47
Error Messages
If you receive a TransmissionReport, check for integration messages.
Delete Contact
Required Data
You must know the ContactGID of the location you want to delete.
Setup
You control validation of incoming transmissions with the glog.integration.validation.locationinterface
property.
2.
Transmission Results
Oracle Transportation Management deletes your contact in the database.
Error Messages
If you get a TransmissionReport that reads "CAUGHT THE FOLLOWING EXCEPTION WHILE
PROCESSING TRANSACTION:", make sure you are not trying to delete a contact that is used
elsewhere in Oracle Transportation Management.
If you receive a TransmissionReport, check for integration messages.
ContactGroup Interface
The ContactGroup Interface represents a list of contacts used for notification. The elements of the
interface mirror the fields found in the Contact Group Manager.
A contact group is a collection of contacts that can act as a broadcast mechanism to a set of email,
fax, or HTTP addresses using common language, communication method, and preferences. Or it can
be used to notify several people at one time about an event that has occurred with contact-specific
language, communication, and preference settings.
SKU Interface
SKU defines a stock keeping unit including what quantities to keep in stock, and the actual amount in
the warehouse.
Insert New
Required Data
You need to have the following defined in Oracle Transportation Management:
PackagedItem
6-48
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
Setup
You control validation of incoming transmissions with the glog.integration.validation property.
2.
3.
See the SKU Manager online help for a description of the fields.
See the SKU Diagram in the XML schema to learn which elements are required. To view the
diagrams use an XML application like XML Spy.
Transmission Results
Oracle Transportation Management saves your SKU information in the database.
You can set up involved parties to be notified when certain changes (events) occur.
You can also set up an agent to monitor the quantity on hand and notify involved parties when
necessary.
Error Messages
If you receive a TransmissionReport, check for integration messages.
2.
Enter data in the elements that need to be updated and in the required elements.
3.
4.
See the SKU Manager online help for a description of the fields.
See the SKU Diagram in the XML schema to learn which elements are required. To view the
diagrams use an XML application like XML Spy.
Transmission Results
Oracle Transportation Management saves your modified information in the database.
You can set up involved parties to be notified when certain changes (events) occur.
You can also set up an agent to monitor the quantity on hand and notify involved parties when
necessary.
Note: This will NOT delete any child records from the sku_descriptor table. See the next
section if you want to completely replace an individual SKU.
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
6-49
Error Messages
If you receive a TransmissionReport, check for integration messages.
Set the TransactionCode to D for the first transaction and I for the second.
2.
Enter data in the elements that need to be updated and in the required elements.
3.
4.
See the SKU Manager online help for a description of the fields.
See the SKU Diagram in the XML schema to learn which elements are required. To view the
diagrams use an XML application like XML Spy.
Transmission Results
Oracle Transportation Management deletes you existing SKU in the database and then insert your new
information.
You can set up involved parties to be notified when certain changes (events) occur.
You can also set up an agent to monitor the quantity on hand and notify involved parties when
necessary.
Error Messages
If you receive a TransmissionReport, check for integration messages.
SKU Table
The following sample SKU record shows a part used to make Novelty phones. The Novelty stock code
is 2002, which is used to form the XID. This corresponds to the packaged_item novelty.8946. The
warehouse is novelty.wh1. The supplier is General Electric, who also currently owns the inventory.
SKU_GID = novelty.2002-wh1
SKU_xid = 2002-wh1
Packaged_item_GID = novelty.8946
Warehouse_location_GID = novelty.wh1
Supplier_corporation_GID = novelty.ge
6-50
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
Owner_corporation_GID = novelty.ge
Quantity_on_hand = 1800
Min_level = 100
Max_level = 2000
Domain_name = novelty
6-51
SKU_descriptor_value = 003
SKU_descriptor_quantity = 50
Parent_sku_descriptor_seq = 2
Domain_name = novelty
6-52
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
SkuTransaction Interface
SkuTransaction represents a shipment of SKUs arriving or leaving the warehouse. This is separate
from shipments created in Oracle Transportation Management. Also, SkuTransactions do not update
the SKU table.
SKU
PackagedItem
Setup
You control validation of incoming transmissions with the glog.integration.validation property.
1.
2.
See the SKU Manager online help for a description of the fields.
See the SkuTransaction Diagram in the XML schema to learn which elements are required. To
view the diagrams use an XML application like XML Spy.
Transmission Results
Oracle Transportation Management saves your information in the database.
You can set up involved parties to be notified when certain changes (events) occur.
You can also set up an agent to monitor the quantity on hand and notify involved parties when
necessary.
Error Messages
If you receive a TransmissionReport, check for integration messages.
OBLine Interface
This is used to send out the order base line information.
Setup
You must have created the external system you want to send to.
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
6-53
OrderMovementReplace Interface
Some itineraries contain pre-transport legs, ocean legs, and customer delivery legs. When an order is
scheduled onto an itinerary, it will be split into component order movements corresponding to each leg
it is routed on. Production lot schedule information will be used to further split the first leg order
movement into multiple order movements, all corresponding to the same leg and indicating how the
order is available for movement on that leg. Similarly, the delivery line information will be used to split
the delivery transport leg into multiple order movements all corresponding to that leg.
The OrderMovementReplace (OMR) interface is used to bring in the production lot and delivery line
information and use it to carry out the necessary modifications to the order movements on the
corresponding legs. This interface is only supported on the inbound.
The OrderMovementReplace interface has the following elements/attributes:
Name
Description
OMR Name
Process Time
OMR Type
Indicates whether the span between the early and late times
represents a times window or availability or of continuous
flow. Available values are "window" and "flow."
Description
Order Release ID
Count
Early Time
Late Time
6-54
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
Name
Description
Unit Weight
Unit Volume
Unit Length
Unit Height
Unit Width
Unit Diameter
OBShipUnit Interface
This is used to send out order base ship unit information.
Setup
You must have created the external system you want to send to.
Transmission Results
Error Messages
Voyage Interface
The Voyage interface is used to send world-wide vessel schedule information to external systems. This
interface is supported on the outbound only.
The elements of this interface mirror the fields found in the Voyage Manager. Voyage schedules define
the rotation of a carrier's vessel as the vessel goes from a set of loading points (departure ports) to a
set of unloading ports (arrival ports).
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
6-55
Since this element is supported on the outbound only, a common way to add voyage data is via the
Voyage Manager in the user interface (good for smaller updates), or via the Voyage Data API (good
for larger updates), which is described in detail in the Data Management Guide.
BookingLineAmendment Interface
The BookingLineAmendment interface is used to send booking line changes out of the system. This
interface is supported on the outbound only.
A BookingLineAmendment can be initiated when an order or a portion of an order is added or removed
from a shipment, thereby changing the charter voyage to which it was assigned. The
BookingLineAmendment will contain either the BookLineAmendViaRelease or the
BookLineAmendViaServiceProvider, but not both. The selection is based on the agent used to send the
notification for the message.
CharterVoyage Interface
The CharterVoyage interface is used to specify the charter voyage for creating a consol shipment. It is
supported on both the inbound and the outbound.
A charter voyage represents an ocean transport movement by a carrier from a loading port to a
discharge port. Within a charter voyage, there are several Stowage Modes, which represent, at a
conceptual level, separate compartments within the charter voyage. There is also capacity
associated with each stowage mode as defined on a consol that you create for each stowage mode
defined on the charter voyage. This capacity controls the orders that can be booked on the charter
voyage.
For a charter voyage, and each of its defined stowage modes, you can create a consol that has a
single empty shipment attached. For each voyage, one consol is automatically created for each
stowage mode defined on the voyage. A shipment is also created for each consol at the same time.
Most of the elements included in the CharterVoyage interface follow the fields available in the Charter
Voyage manager and the Charter Voyage Stowage Details.
Consol Interface
The Consol interface is used to specify the shipment consolidator. It is supported on both the inbound
and the outbound. A consol can be created for a charter voyage or air schedule (flight).
A charter voyage consol represents the weight, volume, FEU/TEU capacities of a specific stowage
mode on a specific charter voyage. It captures the allocated, maximum, committed, booked, and
produced capacity values when the status of a consol is changed as a result of booking orders on a
shipment that is related to the consol.
For a freight forwarder, the consol is considered a group of house bills or a set of sell shipments. All
actions related to manipulating a consol should be performed from the perspective of a sell shipment.
For example, adding freight to a consol would be performed by selecting sell shipments to add to
consol.
For example, a freight forwarder starts with a group of house bills or a set of sell shipments. They
have also reserved flights. For each flight reservation, there is a consol for defining the reserved
capacity of the flight. The sell shipments are then booked to consols to create buy shipments.
6-56
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
Claim Interface
The Claim interface is used to specify damage claims. This interface is supported on both the inbound
and the outbound.
A claim contains information for Oracle Transportation Management or non-Oracle Transportation
Management damaged shipments, can be used to notify parties of their involvement with a claim, and
can tracks status changes that occur throughout the claim process. A claim consists of any freight
damage that occurs to a shipment prior to taking ownership/responsibility of the shipment. Claims in
Oracle Transportation Management are not dependent on pre-existing Oracle Transportation
Management orders or shipments. Oracle Transportation Management can create a claim about a nonrelated Oracle Transportation Management order as well as pull data from existing Oracle
Transportation Management shipments and orders.
Document Interface
The Document interface provides a consistent way to send and receive business documents in and out
of the system. It is supported on both the inbound and the outbound.
Business documents are objects that contain the contents of a traditional document, like a bill of
lading for example, in electronic format. This enables you to send and receive the business documents
via integration.
Some of the data included in the Document interface includes information relating to a document's
owner, its content, its parameters, and any involved parties.
SkuEvent Interface
The SkuEvent interface specifies a SKU event, which describes activities on SKUs. This enters order
events to inform planners, shippers, order owners, and other involved parties about actions related to
an SKU.
TransOrderLink Interface
The TransOrderLink interface is used to establish a link between order base objects. This provides the
ability to maintain orders in various states along with their relationships. Within the interface, the
PrevObjectGID element and the NextObjectGID element refer to TransOrderGID(s). This interface is
supported on the inbound only.
RouteTemplate Interface
RouteTemplate represents the plan for a cooperative route. A cooperative route is a linking of lanes
that have been identified to have sufficient recurring volume of shipments to form a good route for a
fleet or dedicated vehicle.
Quote Interface
The quote interface allows customer service representatives, CSR, to supply their customers with
transportation quotes. It is supported on both the inbound and the outbound.
General quoting process:
6-57
CSR will determine appropriate rate(s) (enter from within the system or external to the
system).
Quote is saved within the system and sent out to involved parties.
Driver Interface
Driver interface is used to specify driver data to Oracle Transportation Management. The interface is
supported both inbound and outbound. Some of the key attributes of a driver are: Driver GID, First
Name, Default Home Location, Contact, Rate offering, Status, and Remarks. Apart from these, the
other key sub-entities defined for a Driver are Driver Team data, Driver Special Services, Driver CDL
information, Driver Types, and Driver Calendar.
PowerUnit Interface
PowerUnit interface is used to specify power unit (such as a tractor) data to Oracle Transportation
Management through Asset Management Systems or any other systems. The interface is supported
both inbound and outbound. Some of the key attributes of a power unit include: Power Unit Name,
Power Unit Type, Special Services, and Remarks.
DriverCalendarEvent Interface
Specifies a Driver Calendar event. This describes calendar event information on the driver. This
interface is supported inbound.
WorkInvoice Interface
WorkInvoice specifies a record of driver activities for a shipment. This interface is supported inbound
and outbound but it is specifically used to send a record to payroll outbound from Oracle
Transportation Management which can be used to calculate driver pay. It also includes work invoice
activities which defines list of activities performed by the driver for the shipment. A single work invoice
is generated for a driver team by Oracle Transportation Management. The Driver interface inside the
Work Invoice should include a Driver interface for the secondary driver.
Equipment Interface
Equipment Interface represents the equipment assigned to a shipment. This interface is supported
both inbound and outbound. Some of the key attributes are Equipment Group GID, Equipment Type
GID, Equipment Special Services, Remark, and Status.
CSVDataLoad Interface
CSVDataLoad provides the capability to embed the contents of a CSV file for insertion into the
database. Each CSVDataLoad element can contain only one CSV File. This interface should only be
used for small sets of data.
User Interface
User interface is an interface used for representing an Oracle Transportation Management user. This
interface is supported inbound to load Oracle Transportation Management user data.
6-58
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
ActivityTimeDef Interface
The interface is used to specify fields for allowing multiple fixed and variable stop times for each
location role based on transport handling unit and commodity. It is supported both inbound and
outbound.
OrderMovement Interface
Order movement interface is used to specify part of the routing of an order. It is also used to specify a
collection of ship units that are unplanned for certain part of a route. The interface is supported both
inbound and outbound.
GtmItem Interface
The GtmItem interface provides a way to transmit item and classification information to Oracle
Transportation Management. Items represent the freight being shipped. The ItemMaster includes
packaging elements, elements that describe the item, and any NMFC, STCC, SITC, or HTS codes that
apply. In addition, a general ledger GID or accessorial charges can be included. The
GtmItemClassification includes product classification type and code.
GtmParty Interface
Global Trade Management holds a wide spectrum of trade paryt information in its database. The
GtmParty interface provides inbound and outbound interfaces to exchange party information with
outside sources. The partyScreeningResult element is for outbound only.
GtmTransaction Interface
The GtmTransaction interface allows users to bring in shipment or order release information for
screening purpose.
7. Integration Messages
This chapter lists integration messages, describes why the message occurs, and describes what you
need to do as a result of receiving the message.
You might find these error messages in a TransmissionReport element. (ILogMan.java).
Heading
Data
Message:
Occurs When:
Corrective Action:
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
7-59
Heading
Data
Message:
Occurs When:
Corrective Action:
Heading
Data
Message:
Occurs When:
Corrective Action:
Heading
Data
Message:
Occurs When:
Corrective Action:
Heading
Data
Message:
Occurs When:
Corrective Action:
7-60
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
Heading
Data
Message:
Occurs When:
Corrective Action:
Heading
Data
Message:
Occurs When:
Corrective Action:
Heading
Data
Message:
Occurs When:
Corrective Action:
Heading
Data
Message:
Occurs When:
Corrective Action:
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
7-61
Heading
Data
Message:
Occurs When:
Corrective Action:
Heading
Data
Message:
Occurs When:
Corrective Action:
Heading
Data
Message:
Occurs When:
Corrective Action:
Heading
Data
Message:
Occurs When:
Corrective Action:
7-62
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
Heading
Data
Message:
Occurs When:
Corrective Action:
Heading
Data
Message:
Occurs When:
Corrective Action:
Heading
Data
Message:
Occurs When:
Corrective Action:
Heading
Data
Message:
Occurs When:
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
7-63
Heading
Data
Corrective Action:
Heading
Data
Message:
Occurs When:
Corrective Action:
Heading
Data
Message:
Occurs When:
Corrective Action:
Heading
Data
Message:
Occurs When:
Corrective Action:
Call Support.
Heading
Data
7-64
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
Heading
Data
Message:
Occurs When:
Corrective Action:
No action needed.
Heading
Data
Message:
Occurs When:
Corrective Action:
Heading
Data
Message:
Occurs When:
Corrective Action:
Heading
Data
Message:
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
7-65
Heading
Data
Occurs When:
Corrective Action:
Heading
Data
Message:
Occurs When:
Corrective Action:
None.
Heading
Data
Message:
Occurs When:
The saved query in the SShipUnit element did not return any
values.
Corrective Action:
Verify that the integration saved queries are correct and that
the desired shipunits exist.
7-66
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
Use Sender Transmission Number: You must send a unique value in the
TransmissionHeader.SenderTransmissionNo element in the Transmission XML before sending it
to the queue. The value is echoed back in the TransmissionAck and the TransmissionReport.
Use refnum field in INTG_QUEUE_MESSAGE: You must set the refnum field in the queue
message before queuing. The value is echoed back as the SenderTransmissionNo in the
TransmissionAck and the TransmissionReport.
Limited Use of JMSCorrelationID Header Option: A column exists in the queue table for a
correlation id (table column name is CORRID). This field can be populated on the inbound
queue to Oracle Transportation Management, but is not populated on the queue table for the
acknowledgement or the report. When this field is populated on the inbound queue, it is
mapped to the Sender Transmission Number. The value is echoed back in the TransmissionAck
and the TransmissionReport.
Suppression of TransmissionAck
When using OAQ, clients can rely on the confirmation of receipt of the Transmission via the successful
enqueing of the Transmission. With this approach, the TransmissionAck response is redundant. It is
possible to suppress the TransmissionAck as a response by setting the SuppressTransmissionAck
element to Y in the TransmissionHeader element. Errors that may occur with receiving the
Transmission will still be reported in the error queue.
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
8-1
Figure 9.1
Note: Although the entity names used are similar, Oracle Transportation Management
Data Queues do not use Oracle Advanced Queue objects for processing data queue events.
The internal processes for Inbound and Outbound Integration can now be configured to use this
infrastructure.
Note: See Data Queue Manager in the OTM online Help for coverage on the User Interface
used to configure each data queue.
Figure 9.2 shows the application server processing of an inbound Shipment Status XML without the
use of data queues. The XML message will arrive via one of the supported protocols: HTTP, SOAP Web
Service or OAQ.
Note: the Direct Insert XML protocol is covered in the Direct XML Insert section.
1.
2.
The XML is stored in the Transmission table with a new unique Transmission number.
3.
A listener thread which has subscribed to New XML topics removes the event and passes it to
the New XML Workflow to process.
4.
Workflow processes the content of the XML, which in this case results in a new status being
assigned to a shipment.
A New XML topic containing the Transmission number is placed on the in-memory event
queue.
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
9-1
Figure 9.2
Imagine an Oracle Transportation Management implementation scenario that has an inbound interface
with a carrier status application where shipment statuses are sent in one batch of 10000 to Oracle
Transportation Management. Without Data Queues, the application server in-memory event queues
would contain all 10000 ShipmentStatus transactions in one backlog, therefore competing with all
other internal application server processes for resources and process time.
Figure 9.3 shows the application server processing where data queues were configured for inbound
XML messages. The Inbound Data Queue process can instead be configured to stage the initial 10000
transactions and process in batches of 1000 every 5 minutes.
1.
The XML is stored in the Transmission table and the associated Transmission number is stored
in a Data Queue Event.
2.
At some time within the configured interval, a Poller thread will retrieve up to 1000 data
queue events and pass individually to the Executor to be processed.
3.
The Executor publishes a New XML topic which, from then on, will be processed as with normal
in-memory event queues.
Figure 9.3
The application server processing for Outbound XML messages also uses in-memory event queues to
manage workload; one for the building of the XML and another for the physical transport of the
message. The use of Data Queues for outbound message works essentially identical to the inbound
9-2
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
scenario described above i.e. instead of publishing new build or transport topics on in-memory event
queues, data queue events are stored in outbound data queues. The same arrangement of Poller and
Executor then publishes the topic to the next step in the process.
INTEGRATION IN: Used to manage all Inbound GLogXML Transmissions sent in via UI
(Upload Transmission), HTTP (WMServlet), SERVICE (IntXmlService), and OAQ
(INBOUND_AQ).
The inbound data queue events reside in the Q_INTEGRATION_IN Data Queue table. The outbound
data queue events reside in the Q_INTEGRATION_OUT Data Queue table.
By default the PUBLIC queues are inactive. To activate the queues, login as DBA.ADMIN and edit the
Data Queue records via the Data Queue Manager (under Business Process Automation >
Integration menu).
Note: It is not recommended that you activate or customize any of the public data queues.
If you need to activate or customize a data queue, copy the queue and edit the copy.
PUBLIC queues should be used as a template to create your own queues. PUBLIC data is
not static and may change between releases. Custom changes should be made in domainspecific queues, not public ones. If you customize one of the integration queues, you must
configure the appropriate glog.integration.dataqueue property so that it references the
name of the customized data queue.
Alternatively, the PUBLIC records can be copied to DOMAIN specific records and activated there. In
order for the application server to recognize the new queue names, the following properties must also
be set:
glog.integration.dataqueue.inbound
glog.integration.dataqueue.xmlBuild
glog.integration.dataqueue.transport.http
glog.integration.dataqueue.transport.service
glog.integration.dataqueue.transport.ftp
glog.integration.dataqueue.transport.queue
For example,
glog.integration.dataqueue.inbound=MYDOMAIN.MYINBOUNDQ
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
9-3
Note: An application server can only process one data queue of each type. For example it
is not possible to configure two inbound data queues: MYDOMAIN.INBOUNDQ1 &
MYDOMAIN.INBOUNDQ2 or MYDOMAIN2.INBOUNDQ1. The only exception to this is the
data queue configuration for Direct Insert XML. See the Direct XML Insert section for
details.
Once one or more Integration Data Queues are active, the processing can be controlled on a domainby-domain basis by setting one of the following PARAMETER SET parameters to TRUE on the DOMAIN
PARAMETER SET.
For example,
If either the queue is not active or the domain parameter is FALSE, the default in-memory queues will
be used.
Note: It is possible to override this default to process via in-memory queues. Set property
glog.integration.dataqueue.inbound.useMemoryQueue=false. This will cause the
inbound Transmissions to remain in STAGED status.
Description
Active
9-4
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
Parameter
Description
Thread Count
Batch Size
Polling Frequency
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
9-5
Parameter
Description
Finder Set
Related Queue
9-6
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
Parameter
Description
column list
filter
order
batch size
9-7
Poller threads will only be started on Application Servers which belong to the Cluster associated to a
particular data queue. Data Queues are associated to a Cluster via the Cluster Manager under
Configuration and Administration, Cluster Management.
For example, assume CLUSTER-01 is defined and has app servers APP-01 and APP-02 assigned to it
via the Cluster Manager. App server APP-03 is assigned to CLUSTER-02.
If data queue definition INTEGRATION IN is also assigned via the Cluster Manager to CLUSTER-01,
then Poller threads will started when the APP-01 and APP-02 app server machines are started. Poller
threads will not be started on APP-03 and therefore it will not process any Data Queue events for
INTEGRATION IN.
9-8
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
Inbound Events
All inbound events have an associated transmission number. In normal processing, when a
transmission is sent to Oracle Transportation Management, the XML is persisted in the transmission
tables with an initial status of STAGED and a New XML event is published almost immediately. Once
the New XML event execution has started the status is changed to FRESH. When the Inbound Data
Queue is active, the XML is persisted in the transmission tables with a status of STAGED and the New
XML event is persisted in the data queue table. Consequently, transmissions can remain in this
STAGED status for much longer.
Inbound events can also be preempted. In other words, events already present in the data queue can
be selected for processing ahead of other events that may have been inserted before it. By selecting
an event for preemption, the Q_PREEMPTION_PRIORITY is set to the lowest value in the data queue
table. This will ensure the next POLLER will retrieve the selected event.
Outbound Events
Outbound events may go through two event queues: XML Build and Transport. The XML Build process
happens before a transmission record has been created and so these events do not have an available
transmission number. They do, however, have a Notification Context that shows the object type of the
communication, such as Location, and one or more object GIDs.
The display of the context is limited to approximately 4000 characters and so if the context is greater
than this it will not be displayed.
As with inbound events, outbound events can be preempted.
However, unlike inbound events, outbound event priority can be set when the data queue event is
staged in the data queue table. The priority value is managed via the External System where it can be
set alongside an OUT XML PROFILE for a particular GLogXML Element e.g. PlannedShipment.
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
9-9
p_username IN VARCHAR2,
p_password IN VARCHAR2,
p_transmission IN CLOB,
p_transmission_no OUT NUMBER,
p_data_queue IN VARCHAR2 DEFAULT NULL,
p_cluster_gid IN VARCHAR2 DEFAULT NULL,
p_priority IN NUMBER DEFAULT 0)
and:
insert_message (
p_username IN VARCHAR2,
p_password IN VARCHAR2,
p_message IN CLOB,
p_message_gid OUT VARCHAR2,
p_data_queue IN VARCHAR2 DEFAULT NULL,
p_cluster_gid IN VARCHAR2 DEFAULT NULL,
p_priority IN NUMBER DEFAULT 0)
Note: The DBA responsible for Oracle Transportation Management database security
should provide a suitable Oracle Database account that can be used to connect to the
Oracle Transportation Management Database instance in order to INSERT transmissions in
this way.
Parameter
Description
p_username
p_password
p_transmission
{insert_transmission}
p_message
{insert_message}
p_transmission_no
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
10-1
Parameter
Description
p_message_gid
p_data_queue
p_cluster_gid
p_priority
Internal Processing
The Transmission or Message XMLs inserted using these procedures are processed using an internal
Integration Data Queue INTEGRATION IN DIRECT XML and can be monitored in exactly the same
way as Integration Data Queue events covered in Integration Data Queues section.
Figure 10.1 shows the processing for directly inserted XML messages.
1.
2.
3.
4.
The Poller retrieves a number of events and calls the Executor for each event.
10-2
OTM procedure stores XML in Transmission table, data queue event in Direct Insert Data
Queue and returns Transmission number to caller.
The Executor retrieves the message XML and calls the New XML Insert Workflow to perform
the following Transmission pre-processing:
o
Publish New XML topic or queue event to INTEGRATION IN data queue if configured.
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
Figure 10.1
1.
Whereas the other Inbound and Outbound Data Queue Definitions to be used are
determined by logic in the application server, the Direct Insert XML Data Queue GID
can be selected by the client and specified as a parameter in the procedure call to
insert the XML message.
b.
Multiple Data Queue Definitions allow the ability to partition a large volume of XML
messages into separately controlled groups as each Definition can specify distinct
values for number of threads, batch size and polling interval.
Note: Multiple Data Queue Definitions would also require multiple Poller Definitions
because the queue name (i.e. the GID) forms part of the Poller Filter and so would need to
be customized.
2.
By default, the New XML Insert Workflow is called by the INTEGRATION IN DIRECT
XML Executor using the execute paradigm, which means the workflow is executed
using the Poller thread which retrieved the event. This method can be changed to
either publish or publishWait by setting the property
glog.integration.dataqueue.inboundDXIType which if not set defaults to execute.
i. Execute: executed using the Poller thread which retrieved the event.
ii. Publish: topic is published to in-memory event queue and process at some
time later by another thread. Poller thread is free to process another event
without waiting.
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
10-3
10-4
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
11-1
</env:Header>
<env:Body>
...etc..
</env:Body>
</env:Envelope>
1.
2.
3.
4.
5.
6.
Select WebService.
7.
8.
9.
10.
Chose policy file to be assigned. (Remember to Lock & Edit to enable updates to application.)
11.
Click OK.
12.
13.
Activate changes.
After the policy file is associated to the web service endpoint, the WSDL for the web service should
now show the policy assertion.
Execute individual agent action against one or more objects of a supported type.
Execute multiple agent actions against one or more objects of a supported type.
11-2
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
Currently the supported object types are SHIPMENT, SELL SIDE SHIPMENT, ORDER RELEASE, and
ORDER MOVEMENT.
Therefore, the following services are available:
ShipmentService
SellSideShipmentService
OrderReleaseService
OrderMovementService
AgentService
The type specific services handle individual agent actions for that type and have one operation:
processAction. The AgentService handles execution of multiple actions essentially identical to an
Oracle Transportation Management Agent but with some constraints (covered later) and also has one
operation: processAgent.
All services are implemented with the synchronous REQUEST/RESPONSE messaging model. However,
with respect to Oracle Transportation Management agent action processing, the response indicates
that the action has been scheduled successfully. This is due to the fact that the Oracle Transportation
Management application could have a significant amount of workflow triggered by such an action.
Therefore waiting for completion may require an excessive transaction timeout value.
The input and output messages for each service are specified in the service XSDs. Namely:
AgentService.xsd
ShipmentService.xsd
SellSideShipmentService.xsd
OrderReleaseService.xsd
OrderMovementService.xsd
The WSDL for all services is available via the Retrieve WSDL servlet discussed in the Servlet for
Accessing Web Services Description Language (WSDL) Files section.
Note: Due to a change in v 6.2 in how these services are deployed in the application server
at runtime, the WSDL for each service will not directly reference the XSD files mentioned
above. However, the formats defined in these XSD files will be functionally equivalent to
the definitions referenced in the WSDL.
AgentService constraints
Although in theory a complete agent could be defined using the schemas, some actions will not be
supported in the initial version. These actions are known as the BLOCK actions: IF, ELSE, FOR EACH,
etc.
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
11-3
Version Control
The service and message definition schemas are under version control starting from version 1.0, i.e.
major version number is 1, and minor version number is 0. The current target namespace for each
schema will contain the major version number, for example the target namespace for version 1.0 of
Agent.xsd is:
http://xmlns.oracle.com/apps/otm/agent/v1
As of version 6.2, the current version of the Agent Action web services has increased to v2.
However, to support backward compatibility, all v1 messages will still be valid.
All service messages extend the ServiceMessage complexType (defined in the Service.xsd schema).
The Agent Action messages then include Agent Header information (MessageHeader) followed by an
Agent Action, in this example ShipmentAction. All valid Shipment Actions are defined in the
ShipmentAction.xsd schema. The following example shows the Set Indicator Action:
The SetIndicator element is allowed to be substituted for the ShipmentAction element because it is
defined as an XSD substitutionGroup and extends the same AgentActionType complexType.
11-4
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
11-5
Setup an External System record in Global Trade Management with the following details:
o
URL (in For HTTP/HTTPS section): URL for accessing the Customs Info status
document. The URL may resemble the following:
https://gtm.customsinfo.com/status/statusdocument.xml
Update the Content Source to refer to the newly created External System record as follows:
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
12-1
Access menu: Trade Master Data > Power Data > Data Loading > Content Source
Edit the Content Source with ID: CUSTOMS INFO which has been predefined for
Customs Info
Add an entry in the Content Source Config section at the bottom as follows:
Download Data Content: Used to retrieve the content from a Global Trade Management
content source. For Customs Info, this process will download the latest files from the Customs
Info server into the local Global Trade Management server.
Process Downloaded Data: This will initiate the processing of the data that has been
downloaded using the Download Data Content process.
Process Files Manually: This allows you to manually select and process files that have been
uploaded to the Global Trade Management server.
Purge Data Content: This is used to cleanup up the files on the Global Trade Management
server used for the data loading.
Note: To initiate the data loading process for Customs Info, select and run the following in
this sequence:
1.
2.
12-2
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
Description
RestrictedParty
SanctionedTerritory
Classification
ComplianceRule
Refer to the GLogXML-GTM.xsd schema file for additional fields in the ServiceRequest and
ServiceResponse, and the online help for details on the services.
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.
13-1
13-2
Copyright 2005, 2012, Oracle and/or its affiliates. All rights reserved.