OTM Integration Guide
OTM Integration Guide
OTM Integration Guide
Release 20A
Oracle Transportation and Global Trade Management Cloud
Integration Guide
Release 20A
Copyright © 2004, 2019, Oracle and/or its aliates. All rights reserved.
This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected
by intellectual property laws. Except as expressly permied in your license agreement or allowed by law, you may not use, copy, reproduce, translate,
broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering,
disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.
The information contained herein is subject to change without notice and is not warranted to be error-free. If you nd any errors, please report
them to us in writing.
If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then
the following notice is applicable:
U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware,
and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition
Regulation and agency-specic supplemental regulations. As such, use, duplication, disclosure, modication, and adaptation of the programs,
including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license
terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.
This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for
use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware
in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe
use. Oracle Corporation and its aliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.
Oracle and Java are registered trademarks of Oracle and/or its aliates. Other names may be trademarks of their respective owners.
Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or
registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks
of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.
This software or hardware and documentation may provide access to or information about content, products, and services from third parties. Oracle
Corporation and its aliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and
services unless otherwise set forth in an applicable agreement between you and Oracle. Oracle Corporation and its aliates will not be responsible
for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services, except as set forth in an applicable
agreement between you and Oracle.
Documentation Accessibility
For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website.
Contents
Preface .................................................................................................................................. i
1 Overview 1
Integration Overview ...................................................................................................................................................................... 1
4 Security 17
Security Summary ........................................................................................................................................................................ 17
5 Available Interfaces 19
Schema Files .................................................................................................................................................................................. 19
Shipment.xsd ................................................................................................................................................................................. 19
Order.xsd ......................................................................................................................................................................................... 21
GTM.xsd .......................................................................................................................................................................................... 22
Finance.xsd .................................................................................................................................................................................... 23
LocationContact.xsd .................................................................................................................................................................... 25
Item.xsd .......................................................................................................................................................................................... 25
Planning.xsd .................................................................................................................................................................................. 26
Conguration.xsd ......................................................................................................................................................................... 28
Document.xsd ............................................................................................................................................................................... 28
GenericTransaction.xsd ............................................................................................................................................................... 28
Job.xsd ............................................................................................................................................................................................ 29
Rate.xsd .......................................................................................................................................................................................... 29
Oracle Transportation and Global Trade Management Cloud
Integration Guide
9 HTTP Integration 51
Inbound ........................................................................................................................................................................................... 51
Outbound ....................................................................................................................................................................................... 52
10 FTP Integration 53
Outbound ....................................................................................................................................................................................... 53
Oracle Transportation and Global Trade Management Cloud
Integration Guide
11 Seing Up Interfaces 55
General Information ..................................................................................................................................................................... 55
Dene External Systems ............................................................................................................................................................. 55
User Management ........................................................................................................................................................................ 55
Workow Parameters .................................................................................................................................................................. 55
Agent Manager ............................................................................................................................................................................. 56
19 Appendix A 87
Integration Messages .................................................................................................................................................................. 87
20 Appendix B 93
Backward Compatible Dates – pre 6.4.2 ................................................................................................................................. 93
21 Appendix C 95
Uploading XSL Stylesheets ........................................................................................................................................................ 95
23 Appendix E 125
General Properties ...................................................................................................................................................................... 125
Oracle Transportation and Global Trade Management Cloud
Integration Guide
24 Appendix F 127
Testing Tips .................................................................................................................................................................................. 127
External System Servlet ............................................................................................................................................................. 127
Examples ....................................................................................................................................................................................... 129
Oracle Transportation and Global Trade Management Cloud
Integration Guide
Oracle Transportation and Global Trade Management Cloud Preface
Integration Guide
Preface
Oracle® Transportation and Global Trade Management Cloud Integration Guide, Release 20A
This manual is for members of the Transportation and Global Trade Management Cloud implementation teams, who are
responsible for connecting the system to other external systems through integration interfaces. This manual explains
how to send and receive integration messages and the format of each message.
Change History
Using Applications
Additional Resources
• Community: Use Oracle Cloud Customer Connect to get information from experts at Oracle, the partner
community, and other users.
• Guides and Videos: Go to the Oracle Help Center to nd guides and videos.
• Training: Take courses on Oracle Cloud from Oracle University.
Conventions
The following table explains the text conventions used in this guide.
Convention Meaning
boldface Boldface type indicates user interface elements, navigation paths, or values you enter or select.
i
Oracle Transportation and Global Trade Management Cloud Preface
Integration Guide
Convention Meaning
monospace Monospace type indicates le, folder, and directory names, code examples, commands, and URLs.
Contacting Oracle
Access to Oracle Support
Oracle customers that have purchased support have access to electronic support through My Oracle Support. For
information, visit My Oracle Support or visit Accessible Oracle Support if you are hearing impaired.
ii
Oracle Transportation and Global Trade Management Cloud Chapter 1
Integration Guide Overview
1 Overview
Integration Overview
Oracle Transportation and Global Trade Management Cloud exposes a large number of interfaces to support integration
with external applications. There are two distinct use cases for application integration covered in this guide: Business
Process Integration and User Interface Integration. Data Tier Integration is covered in the Data Management Guide.
Business Process Integration is dened in this guide as the sending and receiving of functional messages between
applications. These messages are implemented as Transmission or Mobile Device Communication XML documents.
The Transmission XML document is the primary application integration message and is covered in detail in the
following chapters in this guide. Mobile Device Communication integration is built on the infrastructure described in the
main chapters of this guide but uses a dierent XML message format and is optimized for high volume, small messages
e.g. for Fleet power or trailer devices. The details for this integration are covered in the Mobile Device Communications
chapter.
As an example functional message, the Transportation Orders (TransOrder) Transmission interface receives
transportation order messages from an external application into Transportation and Global Trade Management Cloud.
This is referred to as an inbound interface. The outbound interfaces send messages from the Transportation and
Global Trade Management Cloud application to other external applications. For example, shipments planned from
Orders in Transportation Management Cloud can be sent in a PlannedShipment message to another system for
additional processing.
The valid formats of all messages are described by Integration XML Schema Denition (XSD) documents.
• The purpose of each XSD and the available messages dened by it.
• The application level message protocol describing the process of message exchange.
• The transport level protocols supported for inbound and outbound message communication.
User Interface Integration is dened in this guide as the retrieval and modication of application data to support
customer-dened user interfaces. This is achieved by the use of the Transportation and Global Trade Management
Cloud Representational State Transfer (ReST) API, which is covered in the REST API Reference chapter.
1
Oracle Transportation and Global Trade Management Cloud Chapter 1
Integration Guide Overview
2
Oracle Transportation and Global Trade Management Cloud Chapter 2
Integration Guide Understanding the Integration Schemas
Denitions
This section will describe the overall format and design of the Integration XML Schema Denition (XSD) schemas for use
when implementing interfaces.
The following denitions are used widely in the remainder of the document and deserve detailed explanation of their
exact meaning.
• Global element/type/aribute: This is an XSD denition which is an immediate child of the <xsd:schema>
document element.
• Local element/type/aribute: This is an XSD denition that is contained within a parent denition e.g. an
element denition within a named complex type.
• Local reference: This refers to using the 'ref=' aribute to reference a global element denition i.e. as opposed
to a Local element denition.
• Primary Document: These are the global element denitions for XML documents which can be sent as
messages to and from Transportation and Global Trade Management Cloud. The main example is the
Transmission.
• Transaction interface: These are the denitions which relate to the high level business object interface e.g.
for Orders, Shipments, Invoices etc. The Transmission primary document will contain one or more Transaction
interface elements.
The Workow Web Service related schemas are used by a set of Web Services which expose Agent workow triggers.
See the Workow Web Service chapter for details.
3
Oracle Transportation and Global Trade Management Cloud Chapter 2
Integration Guide Understanding the Integration Schemas
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
Business Process Automation > Integration > Integration Manager > Retrieve Schemas
When integrating to Transportation and Global Trade Management Cloud using XML, you must create documents
that follow the structure and rules of the Transportation and Global Trade Management Cloud XML schemas. We
recommend that you use an XML management tool to view the schema les. This will help in understanding the
Transportation and Global Trade Management Cloud data elements and relationships.
The W3C XML Schema site (hp://www.w3.org/XML/Schema) provides links to several such tools. The examples in
this document use the freely available Oracle XSD Visual Editor which is a built-in part of the JDeveloper IDE (see Jdev
overview on the Oracle website for details.)
For a full description of the Visual Editor tool please see Developing Applications Using XML in the Oracle Fusion
Middleware User's Guide for JDeveloper online documentation (hp://docs.oracle.com).
Transmission Schema
Schema Files
The following schema les contain all denitions for the Transmission schema:
• Transmission.xsd: Denitions for all Primary Documents.
• TransmissionCommon.xsd: Denitions for types shared across interfaces.
• Transaction.xsd: This is a convenient schema which imports all other Transaction denition schemas.
• GTM.xsd: Transaction interfaces for Global Trade Management Cloud application functionality.
• LocationContact.xsd: Transaction interfaces for Location and Contact business objects and other related
common types used in other interfaces e.g. Involved Party.
• ShipUnit.xsd: Transaction interfaces for Ship Units common to Orders, Shipments etc.
• Item.xsd: Transaction interfaces for Item and Package related business objects.
• Document.xsd: Transaction interfaces for Document Content for Content Management Systems.
• Conguration.xsd: Low level transaction interfaces e.g. User management.
• Shipment.xsd: Transaction interfaces for Shipment related business objects including Planned, Actual and
Tendered shipments.
• Order.xsd: Transaction interfaces for Purchase Orders and Order Release business objects.
4
Oracle Transportation and Global Trade Management Cloud Chapter 2
Integration Guide Understanding the Integration Schemas
XML Namespaces
The following table lists the namespace URLs and associated physical le name for each new schema dened in version
6.4.2:
GTM.xsd http://xmlns.oracle.com/apps/gtm/transmission/v6.4
5
Oracle Transportation and Global Trade Management Cloud Chapter 2
Integration Guide Understanding the Integration Schemas
The style used is based on a combination of the value of the Transmission Type Transmission header property and
the interfaces present in the Transmission body content. If no Transmission Type value is specied the style defaults to
Transactional.
It is not supported to mix Transactional style content with Query style content in the same Transmission. It is also not
valid to request Query style processing for interfaces which do not support that style.
The following diagram shows how the documents are used when processing an inbound transactional Transmission
XML into Transportation and Global Trade Management Cloud.
1. Transmission XML document is sent to Transportation and Global Trade Management Cloud. The nature of
the sending component depends on the transport protocol used e.g. it will be an HTTP client if sending the
message via HTTP POST.
2. Transmission message is persisted for later processing generating a unique Transmission number in the
process.
3. A TransmissionAck document is returned which will contain the Transmission number. The nature of the
response depends on the transport protocol used e.g. if using HTTP it will be a synchronous response to
the initial HTTP POST. If using message oriented middleware the response will be queued to a congured
'Acknowledgment' queue.
6
Oracle Transportation and Global Trade Management Cloud Chapter 2
Integration Guide Understanding the Integration Schemas
4. The background Transmission processing daemon retrieves the Transmission at some time later and processes
it e.g. creates or updates the business object using the original XML message content.
5. A TransmissionReport is optionally sent to conrm the status (PROCESSED or ERROR) of the Transmission
message. Again the report message contains the Transmission number for correlation. The sending of the
report is congurable i.e. 'always', 'never' or 'on error only'. The nature of the receiving component depends on
transport method e.g. it can be a Servlet URL, Message Queue, Web Service endpoint and the transport method
can be dierent to original inbound transport method.
The following diagram shows the documents used when processing an inbound query Transmission.
1. Transmission XML is sent to Transportation and Global Trade Management Cloud. The nature of the sending
component depends on the transport protocol used e.g. it will be an HTTP client if sending message via HTTP
POST.
2. The internal processing is called. The Transmission Type property must be present and be either "QUERY" or
"SERVICE" depending on the interface to be processed.
3. The processing results are returned as either a TransmissionAck or a new Transmission document. The
document used can depend on:
a. The protocol used. For example, Web Service calls must always return the document declared in the
WSDL output parameter.
b. Customer-dened property seings (if not using a Web Service). For example, when sending
multiple RIQ requests via HTTP, the following property will result in a Transmission being returned:
glog.integration.remoteQuery.WrapReplyInTransmission=1
Transmission Structure
The Transmission XML document has a root element with local name Transmission. The current namespace URL is
http://xmlns.oracle.com/apps/otm/transmission/v6.4.
The Transmission contains a TransmissionHeader and a TransmissionBody. The TransmissionBody contains one or
more interface transactions, each wrapped in a GLogXMLElement element. Each GLogXMLElement can contain an optional
7
Oracle Transportation and Global Trade Management Cloud Chapter 2
Integration Guide Understanding the Integration Schemas
TransactionHeaderelement but must contain an interface element which must be a type of GLogXMLTransaction
element. See gure below for schema diagram representation.
The Transmission schema uses Substitution Groups to dene the possible interface elements that can be contained
by a GLogXMLElement. This removes the need for the Transmission schema to list all possible interface elements. This
approach allows future schemas to dene new interfaces without having to change the Transmission schema which is a
more extensible approach.
The GLogXMLTransaction is essentially a marker element which species the base type – GLogXMLTransactionType
- of the elements that can be used in its place i.e. substituted for it. Only elements whose type extends the
GLogXMLTransactionType can be substituted for the GLogXMLTransaction element. At present there are three types which
extend GLogXMLTransactionType to further qualify the interface and provide additional control for how the interface can
be used. See the gure below for a schema diagram of the three types and the subsequent explanation.
• OTMTransactionIn: Interfaces which are only valid for inbound processing must extend this type
• OTMTransactionOut: Interfaces which are only valid for outbound processing must extend this type
• OTMTransactionInOut: Interfaces which are valid for both inbound and outbound processing must extend this
type
For example, the TransOrder interface is valid inbound and outbound and so has the following schema denition (some
information has been removed to aid clarity for this discussion):
<xsd:element name="TransOrder" type="TransOrderType" substitutionGroup="GLogXMLTransaction">
...
<xsd:complexType name="TransOrderType">
8
Oracle Transportation and Global Trade Management Cloud Chapter 2
Integration Guide Understanding the Integration Schemas
...
<xsd:complexContent>
<xsd:extension base="OTMTransactionInOut">
<xsd:sequence>
<xsd:element name="TransOrderHeader" type="TransOrderHeaderType">
...
The TransOrder element denition declares that the element is a TransOrderType and that the element can be substituted
for the GLogXMLTransaction element. The TransOrderType extends the OTMTransactionInOut type which ensures that it is a
valid substitution (because it in turn extends the GLogXMLTransactionType). The OTMTransactionInOut type declares that is
valid for both inbound and outbound Transmissions.
The following is an example Transmission XML document containing two transaction interfaces (TransOrder followed by
ShipmentStatus).
AckSpec
The AckSpec element controls whether or not a TransmissionReport message is sent when the transactions within a
Transmission have been completely processed i.e. when they have been persisted and any dependent workow has
been completed.
The AckOption child element species when to receive a TransmissionReport. If unspecied, the behavior is property
controlled where the default property seing (glog.integration.TransmissionReport="on error") is equivalent to the
ERROR option.
9
Oracle Transportation and Global Trade Management Cloud Chapter 2
Integration Guide Understanding the Integration Schemas
The ComMethodGid element identies the transport method to be used to send the report. The ContactGid element
identies a contact record containing the relevant details – user credentials, email address, servlet URL etc. – for the
selected method.
• Domain name: (optional). The domain name typically identies a company or business unit and is used to
separate data and secure it from other data in a shared, web-based environment. For example, if you are using
Transportation and Global Trade Management Cloud in an environment where many companies may be using
the same Transportation and Global Trade Management Cloud installation, the domain allows you to isolate
data in Transportation and Global Trade Management Cloud for each company. Therefore, many users from
dierent companies can work in the same Transportation and Global Trade Management Cloud installation (or
web site) and use data that is private and specic 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): (mandatory). The ID that denes the item on the external system. An external system is any
system other than Transportation and Global Trade Management Cloud.
It is recommended to only use uppercase characters in GIDs and XIDs in your transmissions. The Transportation and
Global Trade Management Cloud user interface normally only search for uppercase text strings and therefore it may be
dicult to nd records with mixed case XIDs.
Note: You should also be careful not to create GIDs with trailing spaces, as these records will not be retrievable
via the User Interface.
Transaction Code
Transaction Codes tell Transportation and Global Trade Management Cloud what to do with the transactions it receives
from other systems. Transaction Code elements will have the type TransactionCodeType which is an enumerated type
and should contain one of the following values:
• I: Insert. Use this transaction code to send new information to Transportation and Global Trade Management
Cloud. Transportation and Global Trade Management Cloud 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.
• U: Update. Transportation and Global Trade Management Cloud updates an existing record.
10
Oracle Transportation and Global Trade Management Cloud Chapter 2
Integration Guide Understanding the Integration Schemas
• UU: Transportation and Global Trade Management Cloud updates the existing record while suppressing "no
data found" constraint violations.
• IU: Insert and Update. Transportation and Global Trade Management Cloud creates a new record unless it
already exists, in which case Transportation and Global Trade Management Cloud updates the existing record
with the new information.
• UI: Update and Insert. This works the same way as IU.
• D: Delete. Use this transaction code to delete an existing record.
• DD: Transportation and Global Trade Management Cloud deletes the existing record while suppressing "no data
found" constraint violations.
• NP: No Persist. Use this transaction code to keep Transportation and Global Trade Management Cloud 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 Transportation and Global Trade Management
Cloud.
• 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 Transportation and Global Trade Management Cloud 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 remove all elds 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.
Replace Children
Replace Children content is for inbound use only and is dened in elements whose type is ReplaceChildrenType. It is
used in conjunction with a TransactionCode value of "RC". By specifying the ManagedChild content elements, it is
possible to limit which child objects are replaced by new values within the present Transmission. See the Extended
Inbound Validation section for more details.
Send Reason
Send Reason information is outbound only and is dened in elements whose type is SendReasonType. The information is
used to show the internal application event which resulted in the generation of the outbound Transmission, for example,
a SHIPMENT CREATED event.
Flex Fields
Flex elds are so called because they provide a exible set of table columns for Transportation and Global Trade
Management Cloud implementers to congure their data model to suit their functional needs. They can be entered via
the User Interface and/or via Integration.
11
Oracle Transportation and Global Trade Management Cloud Chapter 2
Integration Guide Understanding the Integration Schemas
Flex elds cover a number of data types and have been added to most of the major business objects and their
corresponding interfaces and are available for both inbound and outbound messages.
Not all ex eld types have been added to all interfaces. Please consult the relevant schema documentation to
determine the support available for each business object.
In addition to the above, the RATE_GEO and RATE_OFFERING outbound interfaces have equivalent Flex Fields available
which are dened slightly dierently due to the database centric nature of these (outbound only) interfaces. These
interfaces use the following elements:
An example value is "20121031083030" which represents October 31st, 2012 at 30 seconds after 8.30a.m.
Additionally, the GLogDateTimeType can hold a Time Zone ID element (TZId) and a Time Zone Oset. When date
elements are inbound the Time Zone ID is used to calculate times relative to the system time. On outbound messages,
the Time Zone Oset will be populated to show the oset in hours from the system Time Zone compared to the target
system locale. See the Time Zone Override section for details.
12
Oracle Transportation and Global Trade Management Cloud Chapter 2
Integration Guide Understanding the Integration Schemas
With strict schema validation disabled, which is the default in versions prior to 20A, message validation was more
exible in that elements were accepted out of sequence, or unrecognized elements were ignored etc. but all element
content for valid elements was still validated e.g. primary or foreign key validation.
Any validation error will be reported immediately as part of the synchronous TransmissionAck response. The details of
the error – i.e. which element is thought to be in error – is reported in the EXCEPTION log.
Note: If an XML format was known to be accepted before strict validation was enabled then the elements
are most likely in an incorrect sequence or an invalid element name is used (e.g. incorrect cased leers). The
schema for the associated interface should be reviewed to verify and correct the XML message.
13
Oracle Transportation and Global Trade Management Cloud Chapter 2
Integration Guide Understanding the Integration Schemas
14
Oracle Transportation and Global Trade Management Cloud Chapter 3
Integration Guide Supported Transport Protocols
Available Protocols
There are a number of transport protocol options available when sending messages to or from Transportation and
Global Trade Management Cloud and Global Trade Management. The available options can vary for inbound versus
outbound and whether the message is a Transmission XML or a Mobile Device Message XML.
The following table shows all valid combination (Y – available, N – not available):
HTTP POST Y Y Y Y
FTP N Y Y Y
The protocol specic details e.g. resource URLs are covered in each of the following sections:
• Security
• HTTP Integration
• FTP Integration
Note: Mobile Device Communication protocol details are covered in the Mobile Device Communications
chapter. In addition to the protocols listed above it is possible to upload XML les using the Integration
Manager User Interface. This is a useful tool when testing new interfaces or diagnosing functional issues that
are normally triggered via integration. Please refer to the online Help for usage instructions.
15
Oracle Transportation and Global Trade Management Cloud Chapter 3
Integration Guide Supported Transport Protocols
16
Oracle Transportation and Global Trade Management Cloud Chapter 4
Integration Guide Security
4 Security
Security Summary
Access to Integration functionality is restricted to authenticated and authorized users only.
User credentials are passed in the message in a protocol specic way and so is covered in detail in each of the following
sections:
Please consult the Transportation and Global Trade Management Cloud Security Guide for details on how to congure
the required access control for your integration user accounts.
17
Oracle Transportation and Global Trade Management Cloud Chapter 4
Integration Guide Security
18
Oracle Transportation and Global Trade Management Cloud Chapter 5
Integration Guide Available Interfaces
5 Available Interfaces
Schema Files
This chapter lists each schema le and a description of the interfaces dened within it. The schema le will contain the
detailed denition and documentation for each interface.
Shipment.xsd
19
Oracle Transportation and Global Trade Management Cloud Chapter 5
Integration Guide Available Interfaces
20
Oracle Transportation and Global Trade Management Cloud Chapter 5
Integration Guide Available Interfaces
Order.xsd
21
Oracle Transportation and Global Trade Management Cloud Chapter 5
Integration Guide Available Interfaces
GTM.xsd
22
Oracle Transportation and Global Trade Management Cloud Chapter 5
Integration Guide Available Interfaces
Finance.xsd
23
Oracle Transportation and Global Trade Management Cloud Chapter 5
Integration Guide Available Interfaces
24
Oracle Transportation and Global Trade Management Cloud Chapter 5
Integration Guide Available Interfaces
LocationContact.xsd
Corporation
Item.xsd
25
Oracle Transportation and Global Trade Management Cloud Chapter 5
Integration Guide Available Interfaces
• General ledger ID
• Accessorial charges
Item master data must exist in
Transportation and Global Trade
Management Cloud before you can
create transportation orders.
Planning.xsd
26
Oracle Transportation and Global Trade Management Cloud Chapter 5
Integration Guide Available Interfaces
27
Oracle Transportation and Global Trade Management Cloud Chapter 5
Integration Guide Available Interfaces
Conguration.xsd
Document.xsd
GenericTransaction.xsd
28
Oracle Transportation and Global Trade Management Cloud Chapter 5
Integration Guide Available Interfaces
Job.xsd
Rate.xsd
29
Oracle Transportation and Global Trade Management Cloud Chapter 5
Integration Guide Available Interfaces
30
Oracle Transportation and Global Trade Management Cloud Chapter 6
Integration Guide Inbound Transmission Processing
General Overview
The internal processing of inbound transmissions is highly congurable and can support a wide range of requirements
from the very simple single object Create, Retrieve, Update and Delete (CRUD) interfaces through to multi-message
groups and exible sequencing involving complex workow.
The following steps outline the default process for a simple Transactional style transmission. The various conguration
options are described in the subsequent sections.
Processing Overview
On receipt of a Transmission XML, the integration application module performs the following steps. Note that
authentication and authorization will already have been performed before the message is passed to the module:
1. Parse and validate Transmission XML according to schemas, generate a new unique Transmission Number and
persist records in the I_TRANSMISSION and I_TRANSACTION tables for this transmission number.
2. Depending on transport protocol used, and if requested, create a TransmissionAck XML message and return to
the sender. Schema validation errors will be returned at this time.
3. If Integration Data Queues are not active a message is placed on the internal Integration Workow in-memory
queue to say that a new transmission requires processing. If Integration Data Queues are active, which is the
default in a Cloud environment, an event is staged in the inbound integration data queue. When the event
is polled by a data queue poller the message is then placed on the internal Integration Workow in-memory
queue. See the Integration Data Queues chapter for more details on data queue conguration.
4. The Integration Workow retrieves the message from the internal queue and:-
a. Determines any grouping or sequencing constraints
b. Submits group(s) to Mediator for processing.
5. When the Mediator selects a group for processing, it will process each Transaction in the group as follows:
a. If extended validation is congured the integration module validates the following:
i. Foreign keys, for example a Location GID must exist in the Location table.
ii. Data Types, for example a number only contains numeric characters.
iii. 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.
iv. Required Elements are not NULL.
b. Saves any validation errors.
c. If there are no validation errors or if extended validation was not congured, the corresponding business
object is populated with the data from the XML and passed to the persistence module.
d. If there are agents listening for pre-persist events, the persistence module triggers those now. An
example of this is the public Order Base - Insert agent for TransOrder transmissions.
e. The business objects are now persisted to the corresponding database tables. If extended validation
had not been congured all integrity constraints are now checked and any violations would cause the
transaction to fail.
f. If there are agents listening for post-persist events, the persistence module triggers those.
31
Oracle Transportation and Global Trade Management Cloud Chapter 6
Integration Guide Inbound Transmission Processing
6. When the Mediator has processed all transactions for all groups in a Transmission the Transmission processing
is complete. The completion process optionally sends a TransmissionReport with validation and processing
errors. See AckSpec for details.
Note: The Transmission Report is only physically transmied when the all workow that is considered to be
part of the Transmission Process has completed (known as "child" processes). If there is a signicant amount
of agent workow congured this could appear as a delay in delivering the report. If this is an issue it may be
worth considering the use of customer-dened events with the "Create New Process" option selected.
Transmission Status
Each Transmission sent into Transportation and Global Trade Management Cloud has a status eld that indicates the
state of the Transmission at each stage in the processing. The state of the Transmission will change as it progresses
through the various steps outlined in Processing Overview. You can view the status for a Transmission in the
Transmission Manager UI that can be accessed via the following menu: Business Process Automation > Integration >
Transmission Manager. The status of the transmission could be one of the following:
Status Description
STAGED Indicates that the Transmission has been parsed and is stored in the transmission and transaction
tables. An internal event will also be queued which, when triggered, will process the transmission
content. No Transmission should stay in a STAGED status permanently. Such a scenario would
normally suggest an application conguration issue.
STAGING Indicates that the Transmission has been persisted 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
Inbound Transmission Staging and Processing for additional details.
FRESH Indicates that the Transmission is waiting to complete processing. The individual transactions may still
be processing. Normally a STAGED Transmission will go to FRESH status when its Transactions have
been sent to the Mediator for scheduling.
ERROR Indicates that the Transmission had completed processing and there were errors in the processing.
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.
System administrators can set the default level of extended validation that Transportation and Global
Trade Management Cloud performs. Changing the validation level can improve performance by removing
32
Oracle Transportation and Global Trade Management Cloud Chapter 6
Integration Guide Inbound Transmission Processing
unnecessary queries and logic for validating the data. The default level of validation is specied via the following
"glog.integration.validation" property. Refer to the online help for the list of possible values for the property.
If your Transportation and Global Trade Management Cloud installation validates all transmissions fully, you can skip
validation for certain transmissions on a case-by-case basis. Just include this processing instruction in all transmissions
where Transportation and Global Trade Management Cloud should skip validation:
<?gc3-xml-process validate_required_fields="N"?>
If instead your Transportation and Global Trade Management Cloud installation never validates errors or only validates
when receiving persist errors from the Oracle Database, you can get Transportation and Global Trade Management
Cloud to validate certain transmissions on a case-by-case basis. Include this processing instruction in all transmissions
Transportation and Global Trade Management Cloud should validate:
<?gc3-xml-process validate_required_fields="Y"?>
glog.integration.enableCaseChange=true
If there are some elements that you do not want to change, you can set the glog.integration.casechange.element
property for those elements. Valid values are element names. For example, to prohibit the ArgName and ArgValue
values from changing, you would dene the following:
glog.integration.casechange.element=ArgName
glog.integration.casechange.element=ArgValue
33
Oracle Transportation and Global Trade Management Cloud Chapter 6
Integration Guide Inbound Transmission Processing
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.
• Remove ShipmentStop 2 and two ShipUnitContents of ShipUnit A from the above XML.
• Expected result: ShipmentStop 2, two shipUnitContents as well as their corresponding children are deleted from
database.
Shipment
ShipmentHeader
TransactionCode RC
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
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.
• Remove ShipmentStopDetail elements of ShipmentStop 2 and add ManagedChild = ShipmentStop from the
original XML.
• Expected result: ShipmentStopDs of ShipmentStop 2 are deleted from database.
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
34
Oracle Transportation and Global Trade Management Cloud Chapter 6
Integration Guide Inbound Transmission Processing
ShipUnitContent: LineNumber=1
ShipUnit: ShipUnitGid=ShipUnit B
ShipUnitContent: LineNumber=3
ShipUnitContent: LineNumber=4
SEquipment: SEquipment_A
35
Oracle Transportation and Global Trade Management Cloud Chapter 6
Integration Guide Inbound Transmission Processing
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
• Remove ShipUnit A and the ShipUnitContent 3 and 4 for the remaining ShipUnit B with
ManagedChild=ShipUnit.
• Expected result: SShipUnit corresponding to ShipUnit A is unchanged. SShipUnit corresponding to ShipUnit B is
replaced. The SShipUnitLines corresponding to ShipUnitContents 3 and 4 are deleted from database.
Shipment
ShipmentHeader
TransactionCode RC
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
• 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 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
TransactionCode= R
ManagedChild = ShipUnitContent
<!-- ShipUnitContent: LineNumber=3
ShipUnitContent: LineNumber=4 -->
SEquipment: SEquipment_A
36
Oracle Transportation and Global Trade Management Cloud Chapter 6
Integration Guide Inbound Transmission Processing
ShipmentHeader
TransactionCode RC
ManagedChild = SEquipment
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
• 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
dierent from transaction code RC).
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
SEquipment: SEquipment_A
37
Oracle Transportation and Global Trade Management Cloud Chapter 6
Integration Guide Inbound Transmission Processing
For systems that only maintain their times in a single time zone, or in other circumstances when you are unable to
specify times as expected in the time zone of the corresponding locations, an override can be specied to indicate the
time zone for all times for the transaction. As an example, if your sending application maintains all times in a specic
time zone such as San Francisco where the early pickup date is maintained as 5 AM, it would be possible to send
050000 as the time to Transportation and Global Trade Management Cloud and indicate an override that all the times
in the transportation order are specied in the America/Los_Angeles time zone.
A valid time zone override can be specied in the TimeZoneGid element within the Transaction Header. When the
TimeZoneGid is specied, it will be assumed that all the times within the transaction (GLogXMLElement) are in that time
zone.
In Transportation and Global Trade Management Cloud XML messages, to delete (null out) values from certain elds
in a record (without deleting the whole record), you can specify the (~) character in the element. For example, if a
value was entered for the External System ID eld in the TransOrderHeader, and that value needed to be removed in a
subsequent TransOrder update, the following would be specied for the XML:
<ExternalSystemId>~</ExternalSystemId>
38
Oracle Transportation and Global Trade Management Cloud Chapter 6
Integration Guide Inbound Transmission Processing
The inbound XML would then contain the following IntSavedQuery element to use the above query:
<IntSavedQuery>
<IntSavedQueryGid>
<Gid>
<DomainName>GUEST</DomainName>
<Xid>TEST_SAVED_QUERY_001</Xid>
</Gid>
</IntSavedQueryGid>
<IntSavedQueryArg>
<ArgName>QUAL</ArgName>
<ArgValue>ZZ</ArgValue>
</IntSavedQueryArg>
<IntSavedQueryArg>
<ArgName>VALUE</ArgName>
<ArgValue>MY_SHIP_REFNUM_001</ArgValue>
</IntSavedQueryArg>
<IsMultiMatch>Y</IsMultiMatch>
<NoDataFoundAction></NoDataFoundAction>
</IntSavedQuery>
During processing, Transportation and Global Trade Management Cloud would then replace the '{%QUAL%}' with
'ZZ' and the '{%VALUE%}' with ' MY_SHIP_REFNUM_001' to search for the shipment GID. And the transaction would
be processed with using the shipment GID returned from the query. Note that the IsMultiMatch element can be used
to indicate if multiple GIDs can be returned from the query and used for processing. Refer to the schema notes for
additional elds that are available for the query.
The queries can also be wrien using XPath expressions to search for values from specic elements in the XML. An
example of a query that relies on XPath expressions is as follows:
select ob.ORDER_BASE_GID from OB_REFNUM ob where ob.ORDER_REFNUM_QUAL_GID = 'PO' and ob.OB_REFNUM_VALUE
= '{TransOrder/TransOrderHeader/OrderRefnum[OrderRefnumQualifierGID/GID/Xid='PO' and
(not(OrderRefnumQualifierGID/GID/DomainName) or OrderRefnumQualifierGID/GID/DomainName = '' or
OrderRefnumQualifierGID/GID/DomainName = 'PUBLIC')]/OrderRefnumValue}'
Note that the preferred method is to use the ArgName and ArgValue as they perform much beer than the XPath
expressions.
If NoDataFoundAction is not null and the Integration Saved Query returns no value, then the transaction code for the XML
is switched to the transaction code specied by NoDataFoundAction, which must be a valid transaction code.
39
Oracle Transportation and Global Trade Management Cloud Chapter 6
Integration Guide Inbound Transmission Processing
The default integration saved queries are only used when the transaction code element has a value of U or D, and
the primary GID for the interface is missing. If a TransOrderGid is missing, then the INT_TRANS_ORDER_GID_1
and INT_TRANS_ORDER_GID_2 saved queries are used. If a TransOrderLineGid is missing, then the
INT_TRANS_ORDER_LINE_GID_1 and INT_TRANS_ORDER_LINE_GID_2 saved queries are used. If a Shipment GID is
missing, then the INT_SHIPMENT_GID_1 and INT_SHIPMENT_GID_2 saved queries are used. If a Location GID is missing,
then the INT_LOCATION_GID_1 and INT_LOCATION_GID_2 saved queries are used.
The dened queries must return a single GID of the element being referenced (for example, Order_Base_GID for
TransOrder, Shipment_GID for Shipment, etc.). When a query returns multiple records, it will generate an error.
Transportation and Global Trade Management Cloud supports up to two queries for each interface/record. If the rst
query generates an error or does not resolve to a single record, the second query will be applied. And if nothing is
returned, then an error is generated.
Character Encodings
The default character encoding for inbound XML transmissions is UTF-8. However, Transportation and Global Trade
Management Cloud can receive transmissions in other encodings.
As per the Transportation and Global Trade Management Cloud Installation guidelines, the database character set must
be UTF-8 which means that all the characters, irrespective of initial encoding, can be stored in the database.
However, for certain scenarios it is feasible that transactions that should be processed together do not all arrive in one
Transmission. For example, depending on the message routing for various applications, a Tracking Event transaction
could arrive from a WMS system a few seconds before the transaction from a Planning system which actually creates
the shipment to which the tracking event should apply.
Transportation and Global Trade Management Cloud supports this scenario by using Staging Transmissions.
40
Oracle Transportation and Global Trade Management Cloud Chapter 6
Integration Guide Inbound Transmission Processing
Staging Transmissions are identied by a TransmissionType of STAGING. This is an indication that processing can be
delayed until some later time or event. The logic which should be applied to the Staging Transmission must be dened
in the StagingInfo content.
Staging Info
The StagingInfo content in the Transmission header denes the following:
• A Staging Query: The StagingQuery element is an Integration Saved Query which should return one or more
Transmission numbers. The rst transmission number returned from the query is used as the transmission
number to which the transactions in the current transmission are appended thus constructing a more complete
Transmission.
• A Staging Process: The StagingProcess element is an Integration Saved Query which determines if the
Transmission is now ready for processing. If the query returns a result, the Transmission will proceed with
processing, and if no result is returned then the transmission will remain in a STAGING status until another
event triggers it to be processed.
Note: Initiating the processing of the Staging Transmission can also be enabled through the TRANSMISSION
agent type, and the Staging Transmission Processing process management actions. Refer to the online help
for details on the agents and process management actions.
If a Transmission contains the above header the transactions within the transmission will remain in STAGING state until
a subsequent transmission or process changes their state.
If the current transmission should also be put into STAGING state but the transactions contained within it should be
added to an already existing transmission also in STAGING state, the following TransmissionHeader should be used:-
<TransmissionHeader>
<TransmissionType>STAGING</TransmissionType>
<StagingInfo>
<StagingQuery>
<IntSavedQuery>
…integration saved query elements…
</IntSavedQuery>
</StagingQuery>
</StagingInfo>
</TransmissionHeader>
The Integration Saved Query should return the transmission number of the previously staged transmission which
should have the current transactions added to it. If no result is returned the transactions remain associated to this
transmission and it will remain in STAGING state.
41
Oracle Transportation and Global Trade Management Cloud Chapter 6
Integration Guide Inbound Transmission Processing
42
Oracle Transportation and Global Trade Management Cloud Chapter 7
Integration Guide Outbound Transmission Processing
There are various ways to trigger the sending of Transmissions to the external system from Transportation and Global
Trade Management Cloud:
• Some messages are sent automatically as the result of workow notication.
• Send and schedule integration transmissions in the Process Manager.
• Re-send and schedule integration transmissions in the Process Manager.
• Send transportation records to external systems from various managers using the Finder or Manager
UI actions. The content of the information that is transmied is determined by the context of the UI in
Transportation and Global Trade Management Cloud from which you are sending it.
Processing Overview
Once an event triggers the requirement to send a Transmission for one or more objects, the following processing takes
place.
1. Construct internal objects based on SQL Queries. Out XML Proles are applied during the generation of the
objects.
2. Convert the objects into an XML String.
3. If anything other than the Current Target Namespace is selected then this conversion takes place now.
4. Apply XSL Transformations if needed.
5. 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.
6. Send the XML via the indicated notify type (e.g. HTTP POST). The External System record in Transportation and
Global Trade Management Cloud indicates whether or not an acknowledgment is required from the external
system.
7. Updates the status of the Transmission.
43
Oracle Transportation and Global Trade Management Cloud Chapter 7
Integration Guide Outbound Transmission Processing
• Use Credential: Transportation and Global Trade Management Cloud username associated with the process
sending the message will be present in Transmission and/or Message XML header. (The workow 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 conguration ("Run As").) No password will be sent.
• Username and Password elds: Appear in Transmission and/or Message XML header.
Note: Refer to transport specic sections on outbound security for details on whether user credentials from
the External System are used.
Note: Referencing Stylesheet les in the External System is deprecated and will be removed in a future
version. Please convert to using Stylesheet Prole/Stylesheet Content as soon as possible.
44
Oracle Transportation and Global Trade Management Cloud Chapter 7
Integration Guide Outbound Transmission Processing
Integration preferences can also be associated with the Rate Inquiry and Generic Query interfaces. To use the
integration preference in those synchronous interfaces, you would specify the IntPreferenceGid in the RIQQuery, or
the GenericQuery XML. When specied in the RIQQuery, the RIQQueryResponse would apply the preferences before
responding with the result XML. When specied in the GenericQuery XML, the preference would be applied to the
resulting generated interface XML.
• Versions prior to 6.4.2: this will be used when the Include Namespace option is DEFAULT or STRICT.
• None (Compatibility Mode): this will be used when the Include Namespace option is NONE.
All new External Systems will default to the Current target namespace.
Versions prior to 6.4.2 retained the compatibility logic for receiving older format GLogDate elements. This same
capability is only retained if older namespace message formats are sent i.e. only the date formats specied in the 6.4.2
versions of the schemas will be accepted in version 6.4.2 messages.
See the Backward Compatible Dates – pre 6.4.2 appendix for more details.
45
Oracle Transportation and Global Trade Management Cloud Chapter 7
Integration Guide Outbound Transmission Processing
46
Oracle Transportation and Global Trade Management Cloud Chapter 8
Integration Guide Web Service Integration
Both Inbound and Outbound web services security requires the correct WSS policy to be used. Refer to the
Transportation and Global Trade Management Security Guide for details on conguring alternative policies.
Inbound
Transportation and Global Trade Management Cloud support a number SOAP Web Services for sending messages
inbound to the application. All available services are described in the following table.
Workow Web Services Process agent actions against one or more existing transactional objects. See the Workow Web
Service section for details.
MessageService Process Mobile Device messages. See the Mobile Device Communications section for details.
All the web services above are only deployed to the Transportation and Global Trade Management Cloud Application
Server, i.e. not the Web Server. If your system is congured as a cluster of more than one application server, each
application server will provide a web service endpoint. At the current time, each application server has to be accessed
directly and so any load balancing or failover across application servers would have to be managed external to the
Transportation and Global Trade Management Cloud system e.g. by a hardware load balancer.
Security
All Inbound Web Services default to using a Web Service Security (WSS) policy which requires a Username Token to be
passed and to be securely transported over HTTPS.
47
Oracle Transportation and Global Trade Management Cloud Chapter 8
Integration Guide Web Service Integration
for the WSDL based on the application server. The servlet is accessed via the following menu path: Business Process
Automation > Integration > Integration Manager > Retrieve WSDLs on main page. The servlet relies on the following
properties to form the correct URL:
• appserver
• appserver.port.webservice.weblogic (default value is 7001)
If the application server congures a dierent port for use, please add the properties with the appropriate values in your
glog.properties le.
The servlet also provides access to any related XSD schema les for each service.
Transmission Service
The Transmission Service is the standard inbound Web Service for processing of Transmission XML documents.
TransmissionService is a SOAP Document Literal WRAPPED style of web service which means the SOAP Body of the
SOAP message contains a Transmission XML wrapped in an element which matches the name of the operation to be
performed. This style is recommended by the OASIS Web Services Interoperability Basic Prole. See hps://www.oasis-
open.org/ for details.
• publish:
This operation accepts and stages a Transmission for processing and returns a TransmissionAck as
response.
• execute: This operation synchronously processes a Transmission and returns a reply Transmission with the
processing results. For example, this operation should be used for RemoteQuery and ServiceRequest interfaces. In
future, other interfaces may be supported inbound.
Refer to the TransmissionService WSDL for each operations input and output supported schema types.
Outbound
It is also possible to congure a Transportation and Global Trade Management Cloud External System to use an external
web service endpoint as the destination for an outbound message.
The external system is congured to use a Web Service record created from the WSDL for the external service. See the
online Web Service Manager help for details but, at a high level, the main steps are as follows:
1. Create a Document in Transportation and Global Trade Management Cloud from the external service WSDL
URL.
2. Create a Web Service record in Transportation and Global Trade Management Cloud using the Document
created in step 1.
3. Congure External System to reference Web Service for the chosen Web Service operation and service
endpoint.
48
Oracle Transportation and Global Trade Management Cloud Chapter 8
Integration Guide Web Service Integration
In step 1, the Document can be created from an uploaded text le containing the denitions (normally with the .wsdl le
extension) or by specifying the URL for the WSDL resource. See the online Document Manager help for details.
Note: If the external service species a WS-SecurityPolicy (see below) then the Document must be created
using the URL.
Security
The following WS-Security policies are supported for outbound web services:-
• Username Token Prole: uses username and password congured on Web Service Endpoint.
• HTTPS Transport
• Message Encryption
Note: Please refer to the Transportation and Global Trade Management Cloud Security Guide for
conguration details for using Web Service Security for inbound and outbound messages.
Note: Support for SOAP RPC style has been removed as it is rarely used due to its own interoperability issues.
By default, i.e. unless transformations have been specied, the SOAP Body will be the outbound Transmission
document. Therefore, in versions prior to 6.4.2 the external web service 'input' parameter had to be dened as the
Transmission which meant that Document Literal WRAPPED services could not be supported.
In version 6.4.2 it is now possible to select the Parameter Style which suites the WRAPPED style of service. See the
online Help for Web Service Manager UI on how to choose the correct style.
49
Oracle Transportation and Global Trade Management Cloud Chapter 8
Integration Guide Web Service Integration
50
Oracle Transportation and Global Trade Management Cloud Chapter 9
Integration Guide HTTP Integration
9 HTTP Integration
Inbound
There are various options for sending integration messages into Transportation and Global Trade Management Cloud
using HTTP:
Note: The supported content types for HTTP messages (corresponding to the Content-Type HTTP header
parameter) are text/xml and application/xml.
Security
All Inbound HTTP messages require user authentication and authorization with the preferred method of passing
credentials being Basic Authorization transported over HTTPS.
The methods of passing user credentials in the Transmission Header or as Transportation and Global Trade
Management Cloud specic HTTP Header parameters is deprecated as of version 6.4.2 and will be removed in a
subsequent version.
1. Create a Stylesheet Content record in the Transportation and Global Trade Management Cloud Database.
2. Include this processing instruction in the beginning of every transmission that Transportation and Global Trade
Management Cloud needs to transform: <?gc3-int-translate stylesheet_name="stylesheet_name"?>, stylesheet
name is the GID of the required Stylesheet Content record prexed with "db:". You can include multiple
processing instructions in one transmission, in which case, Transportation and Global Trade Management
Cloud will transform in the order the processing instructions appear in the transmission.
3. Post XML documents to http://hostname/GC3/glog.integration.servlet.TransformerServlet instead of http://
hostname/GC3/glog.integration.servlet.WMServlet.
51
Oracle Transportation and Global Trade Management Cloud Chapter 9
Integration Guide HTTP Integration
Note: The use of uploaded (le-system based) stylesheets instead of Stylesheet Content is still supported for
backward compatibility but is deprecated and their use should be replaced with Stylesheet Content as soon as
possible. Support for le-system based stylesheets will be removed in a future version.
Outbound
Security
The username and password credentials from the External System, if present, are used as the HTTP Basic Authorization
authentication properties on the outbound HTTP connection. They will also be present in the Transmission Header.
HTTPS URLs are also supported.
52
Oracle Transportation and Global Trade Management Cloud Chapter 10
Integration Guide FTP Integration
10 FTP Integration
Outbound
Transmission XML documents can be saved to an external FTP server.
The server name, port and remote directory should be congured on the External System record.
Security
The username and password credentials from the External System, if present, are used as the FTP authentication
properties.
Note: The Use Credential check box is not valid for FTP.
The transport for FTP can optionally be secured using the Use Secure FTP check box on the External System. This
enables the support for FTPS (FTP over TLS).
Note: S/FTP often just referred to as "Secure FTP" is not the same as FTP over TLS and is not supported.
53
Oracle Transportation and Global Trade Management Cloud Chapter 10
Integration Guide FTP Integration
54
Oracle Transportation and Global Trade Management Cloud Chapter 11
Integration Guide Seing Up Interfaces
11 Seing Up Interfaces
General Information
The following general information helps you set up your interfaces. If an interface has specic setup requirements, they
are found with the pages dening each interface.
To set up interfaces, you must dene where to send transmissions and what to do with the transmissions Transportation
and Global Trade Management Cloud receives. Information throughout Transportation and Global Trade Management
Cloud 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 Transportation and Global Trade Management Cloud. 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.
• Dene service providers as users in Transportation and Global Trade Management Cloud.
• Dene associations for the service providers.
Workow Parameters
In Power Data, dene workow parameters that determine how Transportation and Global Trade Management Cloud
responds to inbound and outbound transmissions. You dene Workow Power Data topics to dene the way the
tendering shipments works.
• Workow Parameters: Use the Workow Parameters to dene how Transportation and Global Trade
Management Cloud tenders shipments. You also dene shipment notication messages. For example, you
dene information, warning, and, fatal messages that Transportation and Global Trade Management Cloud
sends out as the results of status information sent by service providers about particular shipments.
• Workow Trigger Parameters: Use the Workow Trigger Parameters to dene how often Transportation and
Global Trade Management Cloud performs tender activity. This topic helps you control system performance.
For example, if Transportation and Global Trade Management Cloud is performing tender actions too
frequently, your system performance may be slowed.
55
Oracle Transportation and Global Trade Management Cloud Chapter 11
Integration Guide Seing Up Interfaces
Agent Manager
The Automation Agent Manager lets you construct workow agents that are key components to automate
Transportation and Global Trade Management Cloud. A workow agent listens for an Transportation and Global Trade
Management Cloud event, veries a user-dened condition, and executes one or more actions that you choose from an
action library.
56
Oracle Transportation and Global Trade Management Cloud Chapter 12
Integration Guide Integration Data Queues
Overview
By default the Transportation and Global Trade Management Cloud application server workload is managed by a set of
in-memory event queues; with a congurable number of threads available to process each queue. The Transportation
and Global Trade Management Cloud Data Queue infrastructure was introduced to permit a more congurable ne-
grained control of various aspects of this internal workload. The Data Queues are database resident queues where a
congurable number of "poller" threads retrieve a congurable number of events at a congurable interval and pass
them to an "executor" to be processed.
Note: Although the entity names used are similar, Transportation and Global Trade Management Cloud Data
Queues do not use Oracle Advanced Queue schema objects for processing data queue events.
The internal processes for Inbound and Outbound Integration can now be congured to use this infrastructure.
Note: SeeData Queue Manager in the Transportation and Global Trade Management Cloud online Help for
coverage on the User Interface used to congure each data queue.
57
Oracle Transportation and Global Trade Management Cloud Chapter 12
Integration Guide Integration Data Queues
The following gure 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.
1. The XML is stored in the Transmission table with a new unique Transmission number.
2. A New XML topic containing the Transmission number is placed on the in-memory event queue.
3. A listener thread which has subscribed to New XML topics removes the event and passes it to the New XML
Workow to process.
4. Workow processes the content of the XML, which in this case results in a new status being assigned to a
shipment.
Imagine a Transportation and Global Trade Management Cloud implementation scenario that has an inbound interface
with a carrier status application where shipment statuses are sent in one batch of 10000 to Transportation and Global
Trade Management Cloud. Without Data Queues, the application server in-memory event queues would contain all
10000 Shipment Status transactions in one backlog, therefore competing with all other internal application server
processes for resources and process time.
The following gure shows the application server processing where data queues were congured for inbound XML
messages. The Inbound Data Queue process can instead be congured 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 congured 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.
58
Oracle Transportation and Global Trade Management Cloud Chapter 12
Integration Guide Integration Data Queues
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 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.
59
Oracle Transportation and Global Trade Management Cloud Chapter 12
Integration Guide Integration Data Queues
• INTEGRATION OUT TRANSPORT – QUEUE: Used to manage transmissions ready to be transported via Oracle
Advance Queue to external system.
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 data queues are inactive, except for the INTEGRATION IN data queue which is active. To activate
the other queues, login as DBA.ADMIN and edit the Data Queue records via the Data Queue Manager (under Business
Process Automation > Integration menu).
Alternatively, the PUBLIC records can be copied to DOMAIN specic records and activated there. In order for the
application server to recognize the new queue names as the default data queues, 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
Note: An application server can only process one default data queue of each type. For example it is not
possible to congure two inbound default data queues: MYDOMAIN.INBOUNDQ1 & MYDOMAIN.INBOUNDQ2
or MYDOMAIN2.INBOUNDQ1.
Although only a single default inbound data queue can be specied, it is possible to congure as many additional
inbound data queues as required. Additional data queues are useful for scenarios where dierent inbound transactions
require dierent prioritization or throughput management. For example, it may be desirable to process inbound
Tracking Event transactions on a data queue with more threads or that while Order Release creation and update must
be regarded as top priority, other lower priority transactions must still be processed.
It is now possible to specify a data queue GID and/or event priority in the Transmission header for each individual
Transmission to override the default inbound data queue. Consult the Transmission schema documentation for details
on how to specify these overrides.
Using the earlier example where Order Releases are top priority but others must still be processed, it should be clear
from the following discussion that multiple data queues would best be used in this scenario.
The priority value for an event corresponds to the q_preemption_priority column in the data queue. The poller
congured for the data queue can then use this column in the 'order by' clause for retrieving batches of events to
process. The INTEGRATION IN poller is an example of such a poller. For the single data queue scenario where orders
were higher priority than all other transactions, if there were 100 events in the queue – 60 order releases and 40
tracking events – and the data queue batch size was 50, then only the rst 50 order releases would be selected for
processing. If, before the poller aempts to poll a new batch another 50 order release transmissions arrive, then these
would be selected for the next batch thus meaning that the processing of tracking events message is delayed longer
than might be preferable. However, with dierent data queues each queue can process events in parallel.
The inbound Order Release Transmissions should specify the data queue used to handle orders and the other
Transmissions should specify a dierent data queue and possibly also a priority value to further control the order of
processing in this data queue. Obviously, there are many other possible congurations of batch sizes, poller frequency
and threads counts that can handle similar scenarios. The addition of support for multiple data queues expands these
options considerably.
60
Oracle Transportation and Global Trade Management Cloud Chapter 12
Integration Guide Integration Data Queues
Once one or more Integration Data Queues are active, the processing can be controlled on a domain-by-domain basis
by seing one of the following PARAMETER SET parameters to 'TRUE' on the DOMAIN PARAMETER SET.
• DATA QUEUES - USE INBOUND DATA QUEUE
• DATA QUEUES – USE QUEUE FOR XML BUILD
• DATA QUEUES – USE QUEUE FOR TRANSPORT – HTTP
• DATA QUEUES – USE QUEUE FOR TRANSPORT – SERVICE
• DATA QUEUES – USE QUEUE FOR TRANSPORT – FTP
• DATA QUEUES – USE QUEUE FOR TRANSPORT – QUEUE
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.
This section describes these denitions so that any conguration can be done without any unforeseen impact on the
integrity or performance of the Transportation and Global Trade Management Cloud servers.
The Data Queue Denition is a unique (based on a Data Queue Denition GID) conguration of the following properties.
Parameter Description
Active Only queues which are marked as 'Active' will have Poller threads started on the application server.
Thread Count The number of Poller threads that will be started on each application server. All Poller threads will
synchronize their access to the events on a data queue. One thread at a time will retrieve a batch of
events, mark them all as 'ACTIVE' and commit the transaction before releasing the queue for another
thread to access.
61
Oracle Transportation and Global Trade Management Cloud Chapter 12
Integration Guide Integration Data Queues
Parameter Description
Batch Size The maximum number of events that will be retrieved by each Poller thread.
This would normally be tuned to match the expected volume of events.
Polling Frequency The duration each Poller thread will sleep between aempts to retrieve a batch of events. Note: if the
time taken to process a batch exceeds the polling frequency the Poller thread will essentially start
processing the next batch more or less immediately after completing the current batch.
This would normally be tuned to match the expected volume of events.
Data Queue Table Corresponds to the physical table which will contain the events
This should not require customization.
Data Queue Poller The Poller conguration species the behavior and aributes of the SQL statement used to retrieve the
batch of events. In addition to the Class that will execute the query, the following can be congured:-
• Filter – these are additional predicates added to the basic statement (e.g. status = 'QUEUED' etc.).
For example, if a domain specic queue is in use it may be necessary to add a predicate which
selects the q_queue_name column which matches the full GID.
• Order – this is specied as the ORDER BY criteria. This is how priority ordering is achieved.
Poller Denitions are congured via Business Process Automation Power Data.
Custom Poller denitions may be required if additional criteria is used to further partition events
placed on the same queue e.g. by joining other tables.
Data Queue Executor The Executor conguration species the Class that will process the actual event and whether events in
the ACTIVE or FAILED state should be reprocessed on app server startup.
Executor Denitions are congured via Business Process Automation Power Data.
Custom Executor denitions may be required if reprocessing of events needs to be handled
dierently.
Finder Set This species the Class which formats the queue specic information in the Data Queue Manager
Events UI.
This should not require customization.
Related Queue This is used to manage the parent/child relationship between events.
This is not used by Integration Data Queues.
62
Oracle Transportation and Global Trade Management Cloud Chapter 12
Integration Guide Integration Data Queues
If these base congurations are deemed to be sucient for the expected volumes, they can be activated by logging in
as DBA.ADMIN and seing each queue denition to 'Active'. Additionally, as mentioned previously, the INTEGRATION IN
Parameter set value also needs to be set to 'TRUE'.
Parameter Description
column list The complete column list is controlled via the Event Class which for Q_INTEGRATION_IN events would
be:-
q_event_seq, rownum, q_start, q_process_start, domain_name, q_preemption_priority, topic_class_
name, topic_parameters, topic_description, i_transmission_no, q_queue_name.
lter The PUBLIC Poller denitions for INTEGRATION IN has a lter clause as follows:-
q_start < sys_extract_utc(current_timestamp) and q_queue_name = 'INTEGRATION IN'
Therefore, if a customer-dened Data Queue Denition is to be used there will need to be a
corresponding customer-dened Poller Denition in order to override the q_queue_name parameter.
order For Preemptive Data Queues the base ORDER BY clause will be as follows:-
q_preemption_priority, q_event_seq
That is, ordered by priority rst and then event sequence number.
batch size This is the batch size taken from the Data Queue Denition.
63
Oracle Transportation and Global Trade Management Cloud Chapter 12
Integration Guide Integration Data Queues
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 Conguration and Administration,
Cluster Management.
For example, assume CLUSTER-01 is dened 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 denition 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. See "Cluster Management" in online Help
for a full description.
Inbound Events
All inbound events have an associated transmission number. In normal processing, when a transmission is sent
to Transportation and Global Trade Management Cloud, 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,
64
Oracle Transportation and Global Trade Management Cloud Chapter 12
Integration Guide Integration Data Queues
however, have a Notication 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.
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.
65
Oracle Transportation and Global Trade Management Cloud Chapter 12
Integration Guide Integration Data Queues
66
Oracle Transportation and Global Trade Management Cloud Chapter 13
Integration Guide Customs Info Integration
Overview
The Global Trade Management component of Transportation and Global Trade Management Cloud supports an
interface to Customs Info for retrieving reference data used in the services. This section details the setup for accessing
the data.
These properties do not need to be changed for implementation. The logic will create the directories needed if they are
not already created.
67
Oracle Transportation and Global Trade Management Cloud Chapter 13
Integration Guide Customs Info Integration
• Setup an External System record in Global Trade Management with the following details:
◦ User Name: User ID provided during registration.
◦ Password: Password provided during registration.
◦ Password (Conrm): Same value for password.
◦ URL (in For HTTP/HTTPS section): URL for accessing the Customs Info status document. The URL may
resemble the following: hps://gtm.content.descartes.com/status/statusdocument.xml.
• Update the Content Source to refer to the newly created External System record as follows:
◦ Access menu: Trade Master Data > Power Data > Data Loading > Content Source
◦ Edit the Content Source with ID: "CUSTOMS INFO" which has been predened for Customs Info
◦ Add an entry in the Content Source Cong section at the boom as follows:
- ID: Specify an ID (e.g. CI_GTM_DATA).
- Comm Method: Specify "HTTPPOST".
- External System: Select the external system created above.
- Active: Select to enable the conguration.
• Download Data Content: Used to retrieve the content from a Global Trade Management content source. For
Customs Info, this process will download the latest les from the Customs Info server into the local Global Trade
Management server.
• Purge Data Content: This is used to cleanup up the les on the Global Trade Management server used for the
data loading.
68
Oracle Transportation and Global Trade Management Cloud Chapter 14
Integration Guide Global Trade Management Screening Service
Screening Services
This section captures the screening services developed in Global Trade Management.
All interactions with the Global Trade Management Services through integration is made using the Service Request
element (refer to the GLogXML-GTM.xsd schema for additional details). Upon receiving the ServiceRequest XML in
Global Trade Management, the request is processed synchronously and a ServiceResponse xml is generated as a
response to the caller. Note that the Transmission/TransmissionHeader/TransmissionType must be set to "SERVICE" for
the synchronous processing to occur.
The ServiceRequest element contains several options for the screening services. A few of the available services are as
follows:
RestrictedParty Used to indicate if the specied party is on the restricted parties list.
SanctionedTerritory Used for transactional screening of territories. The screening uses the rules engine and runs all rules
that have a control category of SANCTION. Users specify any number of territories and qualiers in the
LocationInfo element.
Classication Used for transactional searching for global classication based on product description.
ComplianceRule Used for transactional screening of personal information, product and usage information, location
information, and user dened conditions.
LicenseDetermination Used to nd matching licenses for a license control, based on party, location and user dened code
data.
Refer to the GLogXML-GTM.xsd schema le for additional elds in the ServiceRequest and ServiceResponse, and the
online help for details on the services.
69
Oracle Transportation and Global Trade Management Cloud Chapter 14
Integration Guide Global Trade Management Screening Service
70
Oracle Transportation and Global Trade Management Cloud Chapter 15
Integration Guide Mobile Device Communications
Schema Files
The following schema les contain all denitions for the Message schema:
Message Content Source Denitions for Message Group implementations for the Content Source infrastructure.
XML Namespaces
Message.xsd hp://xmlns.oracle.com/apps/otm/msg/v1
MessageContentSource.xsd hp://xmlnx.oracle.com/apps/otm/cs/msg/v1
71
Oracle Transportation and Global Trade Management Cloud Chapter 15
Integration Guide Mobile Device Communications
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.
Each of these documents is detailed in the Message XML schema le.
In the case where the message is correctly parsed and converted to a Transmission XML for inbound transmission
processing, the Transmission Report XML may also be sent as a summary of processing if the AckSpec is specied in
the generated Transmission resulting from the parsing.
1. Message XML document is sent to Transportation and Global Trade Management Cloud. The nature of the
sending component depends on the transport protocol used e.g. it will be an HTTP client if sending message
via HTTP POST.
72
Oracle Transportation and Global Trade Management Cloud Chapter 15
Integration Guide Mobile Device Communications
2. Mobile message is persisted generating a unique Message Reference ID in the process. A data queue event is
queued to the MESSAGE IN data queue for later processing of the message content.
3. A MessageAck document is returned which will contain the Message Reference ID. The nature of the response
depends on the transport protocol used e.g. if using HTTP it will be a synchronous response to the initial HTTP
POST.
4. The MESSAGE IN data queue event is polled and executed.
5. If the Message Body contains actionable content a Transmission XML will be staged for processing. The
background Transmission processing daemon retrieves the Transmission at some time later and processes it
e.g. creates or updates the business object using the original XML message content.
6. A MessageReport is optionally sent to conrm the status (PROCESSED or ERROR) of the actionable content.
Again the report message contains the Message Reference ID for correlation.
Processing Overview
If the servlet receives a Message XML, the integration module does the following:
1. Extracts authentication information from the MessageHeader. This information can be in the HTTP header
instead.
2. Validates username and password.
3. Stores an entry in the I_message table, and the content in the I_transmission table.
4. Sends a MessageAck back to the sender as the synchronous response.
5. Checks for presence of MessageTypeGid and StylesheetProleGid. If neither are present, checks for the
MessageProleGid, and uses the StylesheetProleGids specied in the Message Prole to determine the correct
Stylesheet Prole.
6. Using the Stylesheet Prole, the message is parsed to extract designated elds and updates the message table
with extracted elds as needed.
7. Using the Message Type specied, the module performs the following:
a. Noties Message Center recipients specied on the Message Type
b. Associates or disassociates devices to drivers, pieces of equipment, and power units as indicated on the
Message Type
c. Generates a Transmission XML if indicated on the Message Type. The Transmission XML would then be
processed as indicate in the Transmission Processing section above.
8. Sends a MessageReport with validation and processing errors; Depending on your property seings,
Transportation and Global Trade Management Cloud might only send a MessageReport if there are errors.
Message Status
Each message sent into Transportation and Global Trade Management Cloud has a status eld that indicates the state
of the message. In addition, the content of the message is stored in the transmission table which also has its associated
status. You can view the status for a message in the Message Hub Manager UI that can be accessed via the following
menu: Business Process Automation > Integration > Message Hub Manager. The status of the message, and its
related transmission, could be one of the following:
73
Oracle Transportation and Global Trade Management Cloud Chapter 15
Integration Guide Mobile Device Communications
HTTP Integration
Mobile Device Communication messages can be sent inbound to Transportation and Global Trade Management
Cloud by sending via HTTP POST to the glog.integration.servlet.WMServlet. The servlet accepts both a Message and
MessageAck XML document and returns a corresponding MessageAck in both cases.
74
Oracle Transportation and Global Trade Management Cloud Chapter 16
Integration Guide Transactional Data Pre-Loading
DirLoad
You can get Transportation and Global Trade Management Cloud to load your inbound transmissions into the database
faster without involving the application server. This is good when you just want to pre load data into Transportation
and Global Trade Management Cloud and process the data later, like during setup of Transportation and Global Trade
Management Cloud.
Note: The DirLoadServlet does not raise lifetime events (like shipment - created for ActualShipment) so
automation agents cannot be triggered. Therefore, care must be taken to ensure that any objects created via
DirLoadServlet will be complete and in the expected state.
To do this:
1. Make sure your transmissions only use the transaction code I. It is possible to use other transaction codes but
with the limitation that you need to make sure that no user accesses that data through the application server
while you update/delete your data. If a user accesses the data, you need to restart your application server after
uploading your data to refresh its caches. To use other transaction codes with the DirLoadServlet you need to
enable the relevant glog.integration.dirload.support.<code> property, where <code> is one of – update for 'U',
insertUpdate for 'IU' or delete for 'D'. Seing the property value to 'on' will enable that transaction code.
75
Oracle Transportation and Global Trade Management Cloud Chapter 16
Integration Guide Transactional Data Pre-Loading
2. If you load many transactions and want to increase loading speed, you can increase the number of threads
assigned to load the data for the 'DirLoad' Event Queue by following the instructions in the Conguration
Guide.
3. Post XML transmissions to hp://hostname/GC3/glog.integration.servlet.DirLoadServlet
4. DirLoadServlet saves your data to the database.
DirLoadServlet sets default statuses for business objects you insert.
76
Oracle Transportation and Global Trade Management Cloud Chapter 17
Integration Guide Workow Web Service
All services are implemented with the synchronous REQUEST/RESPONSE messaging model. However, with respect to
Transportation and Global Trade Management Cloud agent action processing, the response indicates that the action
has been scheduled successfully. This is due to the fact that the Transportation and Global Trade Management Cloud
application could have a signicant amount of workow 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 specied in the service XSDs. Namely:
• AgentService.xsd
• ShipmentService.xsd
• SellSideShipmentService.xsd
• OrderReleaseService.xsd
• OrderMovementService.xsd
Agent specic message content is specied in the following XSDs:
• Agent.xsd: contains agent header details
• ShipmentAction.xsd: contains all actions related to buy shipments
• SellSideShipmentAction.xsd: contains all actions related to sell shipments
• OrderReleaseAction.xsd: contains all actions related to order releases
77
Oracle Transportation and Global Trade Management Cloud Chapter 17
Integration Guide Workow Web Service
Note: Due to a change in V6.2 in how these services are deployed in the application server at runtime, the
WSDL for each service will not directly reference the XSD les mentioned above. However, the formats dened
in these XSD les will be functionally equivalent to the denitions referenced in the WSDL.
AgentService Constraints
Although in theory a complete agent could be dened 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.
Version Control
The service and message denition 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 (dened 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 dened in the ShipmentAction.xsd schema. The following
example shows the Set Indicator Action:
78
Oracle Transportation and Global Trade Management Cloud Chapter 17
Integration Guide Workow Web Service
The SetIndicator element is allowed to be substituted for the ShipmentAction element because it is dened as an XSD
substitutionGroup and extends the same AgentActionType complexType.
79
Oracle Transportation and Global Trade Management Cloud Chapter 17
Integration Guide Workow Web Service
80
Oracle Transportation and Global Trade Management Cloud Chapter 18
Integration Guide REST API Reference
The API documented here covers the internal API used by the Oracle Mobile Application.
Consequently, to secure the username and password within each REST API call, the transport should be performed
using a secure protocol e.g. HTTPS.
Access Control Lists exist for View and Update of each entity supported in the Transportation and Global Trade
Management Cloud ReST API.
Refer to the Security Guide for instructions on how to add these ACLs to the user or user role.
Parameters
• Encoded Authorization: After the user logs in while using the Oracle Transportation Mobile application, the
auth API is invoked by aaching the cookies with the credentials to the Rest call header. A special setup is
needed in the security section of the maf-application.xml.
Response
AUTH: {"userId": "GUEST.ADMIN",
"roles": ["SERVPROV"]}
81
Oracle Transportation and Global Trade Management Cloud Chapter 18
Integration Guide REST API Reference
Parameters
• None
Parameters
• None
Request Body
Media Types: application/json.
The request body contains the JSON string representing the user logon in credentials to retrieve shipments for the user
sent in the request header.
Response Body
The response body includes Transportation and Global Trade Management Cloud default value for the Maximum
Session Timeout and shipments with shipment's children tables. Finally, Quick Codes are also retrieved during this call.
{"userid":"GUEST.ADMIN",
"maxSessionTimeout":2,
"shipments":[{"shipmentGid":"GUEST.01008",
"transactionNumber":4872089,
"tenderType":"Ordinary",
"isTendered":true,
"tenderedAction":"A",
"servprovGid":null,
"isException":true,
"progressStatus":"I",
"indicator":"R",
"respondByDate":1471877801000,
"respondByDateTz":"UTC",
"respondByDateOffset":0,
"equipmentGid":"28FT DRY VAN",
"totalWeightUP":23900.0,
"totalWeightUomUP":"LB",
"totalWeightAE":23900.0,
"totalWeightUomAE":"LB",
"totalVolumeUP":0.0,
"totalVolumeUomUP":"CUFT",
"totalVolumeAE":0.0,
"totalVolumeUomAE":"CUFT",
"freightCostUP":600.0,
"freightCostUomUP":"USD",
"freightCostAE":600.0,
"freightCostUomAE":"USD",
"contactName":"ORACLE GUEST",
"contactPhone":"850-687-6860",
"contactEmail":"oracle.guest@oracle.com",
82
Oracle Transportation and Global Trade Management Cloud Chapter 18
Integration Guide REST API Reference
"isHazardous":true,
"totalDistanceUP":1167.99,
"totalDistanceUomUP":"MI",
"totalDistanceAE":1167.99,
"totalDistanceUomAE":"MI",
"totalTime":185832548,
"delayedTime":185676453,
"firstStopNumber":1,
"lastStopNumber":2,
"isMultiStop":false,
"isPreShipmentEvent":false},
{"shipmentGid":"GUEST.01025",
"transactionNumber":4894340,
"tenderType":"Ordinary",
"isTendered":true,
"tenderedAction":"A"
,"servprovGid":null,
"isException":true,
"progressStatus":"C",
"indicator":"R",
"respondByDate":1472746276000,
"respondByDateTz":"UTC",
"respondByDateOffset":0,
"equipmentGid":"28FT DRY VAN",
"totalWeightUP":3050.0,
"totalWeightUomUP":"LB",
"totalWeightAE":3050.0,
"totalWeightUomAE":"LB",
"totalVolumeUP":0.0,
"totalVolumeUomUP":"CUFT",
"totalVolumeAE":0.0,
"totalVolumeUomAE":"CUMTR",
"freightCostUP":600.0,
"freightCostUomUP":"USD",
"freightCostAE":600.0,
"freightCostUomAE":"USD",
"contactName":null,
"contactPhone":null,
"contactEmail":null,
"isHazardous":false,
"totalDistanceUP":1170.5,
"totalDistanceUomUP":"MI",
"totalDistanceAE":1170.5,
"totalDistanceUomAE":"MI",
"totalTime":0,
"delayedTime":1946,
"firstStopNumber":1,
"lastStopNumber":2,
"isMultiStop":false,
"isPreShipmentEvent":false}],
"quickCodes":[{"quickCodeGid":"GUEST.1PU",
"quickCodeDesc":"PICKUP"},
{"quickCodeGid":"GUEST.ARRIVED",
"quickCodeDesc":"ARRIVED AT LOCATION"},
{"quickCodeGid":"GUEST.CA",
"quickCodeDesc":"Carrier Arrived"},
{"quickCodeGid":"GUEST.CDPU",
"quickCodeDesc":"Carrier Departed Pickup Location"},]}
83
Oracle Transportation and Global Trade Management Cloud Chapter 18
Integration Guide REST API Reference
The request body contains the JSON string representing the shipmentGid to accept or decline and the user accepting or
declining it.
{"tenderType":"Ordinary","shipmentGid":"GUEST.01060","transactionNumber":4866048,"type":"A","servprovGid":"GUEST.393
Parameters
• tenderType: Transportation and Global Trade Management Cloud Tender type's such as ordinary.
• shipmentGid: ShipmentGid to accept or decline.
• transactionNumber
• type: "A" for accepted or "D" for decline.
• ServprovGid: The transport user accepting or declining the shipment
Response Body
Response includes OK or 500 if an error occurred while trying to process the acceptance or decline in Transportation
and Global Trade Management Cloud.
The request body contains the JSON string representing the Event data Entered in the Oracle Transportation Mobile
Add Event UI, including the shipment related data e.g. shipmentGid as well as any image associated with the event such
as signature or pictures. Images such as signatures and pictures should be passed as Base64 encoded strings. The
header request adds the user credentials to the REST service call.
{"stopNumber":1,"eventDateTz":"America/
New_York","shipmentGid":"GUEST.01059","eventDateOffset":0,"latitude":39.77264,"quickCode":"GUEST.PUC","eventDateMill
[{"fileEncoded":[47,57,106,47,52,65,65…] }]}
Parameters
• shipmentGid: The shipment GID.
• stopNumber: The stop where the event is occurring. Current Location or actual stop number. Current Location
is identied as -1.
• Latitude: The position of the stop.
• longitude: The position of the stop.
• eventDateMillis: Date Entered in UI sent in milliseconds.
84
Oracle Transportation and Global Trade Management Cloud Chapter 18
Integration Guide REST API Reference
Response Body
Response includes the JSON String that contains the current shipment in addition to all the shipment's children table
including the events. Or 500 if an error occurred while trying to process the event in Transportation and Global Trade
Management Cloud. Or 401 if the user is not authenticated.
{"userid":null,"maxSessionTimeout":0,"shipments":
[{"shipmentGid":"GUEST.01008","transactionNumber":4872089,"tenderType":"Ordinary","isTendered":true,"tenderedAction"
DRY
VAN","totalWeightUP":23900.0,"totalWeightUomUP":"LB","totalWeightAE":23900.0,"totalWeightUomAE":"LB","totalVolumeUP
ORACLE","contactPhone":"850-687-6860","contactEmail":"GUEST@oracle.com","isHazardous":false,"totalDistanceUP":1170.
[{"shipmentGid":"GUEST.01008","stopNumber":1,"locationGid":"GUEST.DENVER
LOCATION","locationName":"DENVER","locationCity":"DENVER","locationProvinceCode":"CO","locationPostalCode":"80212",
OSCEOLA
ST.","addressLine2":null,"addressLine3":null,"addressLine4":null,"addressLine5":null,"latitude":39.77264,"longitude
DENVER","contactPhone":"303-867-5309","contactEmail":"GUEST@oracle.com","isPickup":true,"isDelivery":false,"isOther
Denver","plannedArrivalTimeOffset":0,"plannedDepartureTime":1213646992000,"plannedDepartureTimeTz":"America/
Denver","plannedDepartureTimeOffset":-21600000,"estimatedArrivalTime":1213646992000,"estimatedArrivalTimeTz":"Americ
Denver","estimatedArrivalTimeOffset":-21600000,"estimatedDepartureTime":1213646992000,"estimatedDepartureTimeTz":"Am
Denver","estimatedDepartureTimeOffset":-21600000,"actualArrivalTime":0,"actualArrivalTimeTz":null,"actualArrivalTime
Denver","stopDisplayTimeOffset":-21600000,"shipUnitCount":10,"weightUP":23900.0,"weightUomUP":"LB","weightAE":23900.
{"shipmentGid":"GUEST.01008","stopNumber":2,"locationGid":"GUEST.EUGENE
LOCATION","locationName":"EUGENE","locationCity":"EUGENE","locationProvinceCode":"OR","locationPostalCode":"97402",
SPRUCE
ST.","addressLine2":null,"addressLine3":null,"addressLine4":null,"addressLine5":null,"latitude":44.05827,"longitude
Los_Angeles","plannedArrivalTimeOffset":0,"plannedDepartureTime":1213803087000,"plannedDepartureTimeTz":"America/
Los_Angeles","plannedDepartureTimeOffset":-25200000,"estimatedArrivalTime":1213803087000,"estimatedArrivalTimeTz":"A
Los_Angeles","estimatedArrivalTimeOffset":-25200000,"estimatedDepartureTime":1399479540000,"estimatedDepartureTimeTz
85
Oracle Transportation and Global Trade Management Cloud Chapter 18
Integration Guide REST API Reference
86
Oracle Transportation and Global Trade Management Cloud Chapter 19
Integration Guide Appendix A
19 Appendix A
Integration Messages
This appendix lists integration messages, describes why the message occurs, and describes what you need to do as a
result of receiving the message.
Heading Data
Message: THE DATE ELEMENT {0} WITH VALUE {1} IS NOT OF FORMAT YYYYMMDDHHMMSS
Occurs When: An invalid date format error occurs when the date is not provided in the format YYYYMMDDHHMMSS.
Heading Data
Message: DATA CONVERSION FAILED FOR THE ELEMENT {0} WITH VALUE {1}
Occurs When: A data conversion error occurs when character data cannot be converted to an internal data type.
Heading Data
Message: THE ELEMENT(S) {0} WITH VALUE(S) {1} IS A DUPLICATE PRIMARY KEY
Occurs When: A duplicate Key error occurs when the primary key for a given element already exists in the G-Log
database.
Heading Data
Message: THE DATE ELEMENT {0} WITH VALUE {1} IS NOT OF FORMAT YYYYMMDDHHMMSS
Occurs When: A PKNotFoundError most often occurs when an aempt is made to update or delete data that does not
exist in the G-Log database.
Corrective Action: If your Transaction Code is U, then use UI instead. If your Transaction Code is D, then there is no
corrective action.
87
Oracle Transportation and Global Trade Management Cloud Chapter 19
Integration Guide Appendix A
Heading Data
Message: THE FOREIGN KEY ELEMENT {0} WITH VALUE {1} COULD NOT BE FOUND IN TABLE {2} COLUMN {3}
Occurs When: A FK Not Found Error occurs when a referenced primary key does not exist in the GLog database.
Corrective Action: Correct the XML data value such that it refers to a primary key that does exist in the G-Log database.
Heading Data
Occurs When: A missing required element error occurs when a required element has been omied from a GLogXML
element.
Corrective Action: Provide the missing required element in your XML data.
Heading Data
Message: THE I_TRANSACTION_NO WITH VALUE {0} DOESN'T EXIST IN THE DATABASE
Occurs When: An ITransactionNoNotFoundError occurs when a GLogXMLElement, such as a Tender Response, refers
to a transaction number that does not exist in the G-Log I_TRANSACTION table.
Heading Data
Message: THE TRANSACTION CODE {0} is not valid. Valid codes are I,U,D,IU,UI,NP
Occurs When: An invalid transaction code error occurs when the Transaction Code element is specied with an invalid
value.
Heading Data
Message: THE TRANSACTION CODE {0} IS NOT SUPPORTED IN THIS INTERFACE. VALID CODES ARE {1}
Occurs When: A transactionCodeNotSupported occurs when the TransactionCode element is specied with an
unsupported value.
Heading Data
Message: THE ELEMENT {0} AND THE ELEMENT {1} CANNOT BOTH BE SPECIFIED
Occurs When: A conicting element error occurs when two elements have been provided in a G-Log XML Element,
when only one out of the two may be used.
88
Oracle Transportation and Global Trade Management Cloud Chapter 19
Integration Guide Appendix A
Heading Data
Corrective Action: Eliminate one of the two conicting elements in your XML data.
Heading Data
Message: THE NUMBER ELEMENT {0} WITH VALUE {1} IS NOT IN A NUMBER FORMAT
Occurs When: An invalid number format error occurs when non-numeric characters are specied in a numeric
element.
Heading Data
Message: WE REQUIRE A {0} ELEMENT WITH VALUE {1} IN THE {2} ELEMENT
Occurs When: A missing element error occurs when an element with a particular value is required.
Corrective Action: Provide the element with the required value as indicated in the error message.
Heading Data
Message: THE BOOLEAN ELEMENT {0} WITH VALUE {1} MUST BE EITHER Y or N
Occurs When: An invalid Boolean error occurs when a Boolean element is provided with a value other than Y or N.
Corrective Action: Provide either Y or N in the indicated Boolean element in your XML data.Table 20‑14
Heading Data
Message: THE ACTION CODE {0} is not valid. Valid codes are A, D
Occurs When: An invalid action code error occurs when an action code is specied with a value other than A or D.
Heading Data
Message: THE ELEMENT {0} WITH VALUE {1} is not valid. Valid codes are {2}
Occurs When: An invalidCodeError occurs when a code is specied that is not valid for that element
89
Oracle Transportation and Global Trade Management Cloud Chapter 19
Integration Guide Appendix A
Heading Data
Occurs When: An invalidActivityError occurs when an activity is specied with a value other than P, D or O.
Heading Data
Occurs When: A transactionProcessorException occurs when the integration layer validation method has not checked
for a given error condition, and the condition is caught by the underlying database. Most often this
error occurs when an aempt is made to update the Transportation and Global Trade Management
Cloud database so that one or more database referential integrity constraints are violated. For example,
this error occurs if you aempt to delete a transportation order after one or more releases have been
created.
Corrective Action: No particular correction can be dened. Analyze the error based on the requirements of the data in the
underlying database.
Heading Data
Message: ELEMENT {0} VALUE {1} HAS LENGTH {2} WHICH EXCEEDS THE MAX LENGTH {3} OF TABLE {4}
COLUMN {5}
Occurs When: The length of an element value exceeds the length of the corresponding database column
Corrective Action: Correct the XML data to provide a value which does not exceed the maximum length.
Heading Data
Message: ELEMENT {0} VALUE {1} EXCEEDS THE MAX LENGTH {2}
Occurs When: The length of an element value exceeds the length of the corresponding database column
Corrective Action: Correct the XML data to provide a value which does not exceed the maximum length.
Heading Data
Message: ERROR VALIDATING MAX LENGTH OF ELEMENT {0} VALUE {1} - CHECK TABLE NAME {2} COLUMN
NAME {3}
90
Oracle Transportation and Global Trade Management Cloud Chapter 19
Integration Guide Appendix A
Heading Data
Message: TRANSACTION NUMBER {0} APPLICATION {1} PRIMARY KEY {2} TRANSACTION CODE {3}
SUCCESSFULLY PROCESSED
Occurs When: A transaction success informational message occurs when a transaction has been successfully
processed.
Heading Data
Corrective Action: Correct the XML data to provide ShipmentRefnum values which correspond to the same Shipment.
Heading Data
Message: WE REQUIRE A {0} ELEMENT WITH A VALUE MATCHING A {1} IN THE {2} TABLE
Occurs When: A missingRequiredDataError occurs when an element with a particular value is missing from the
database table.
Corrective Action: Correct the database data to provide the value as indicated in the error message.
Heading Data
Message: ORDER {0} IS NOT MODIFIABLE AND SO COULD NOT BE MODIFIED OR DELETED.
Occurs When: An orderNotModiable informational message occurs when the status on an order is not "WKFLW_
ORDER_OB_MODIFIABLE". This can occur if an order is in a state that restricts it from being modied,
or an agent is setup to restrict modication.
Corrective Action: If you want to be able to modify the order, you may have to change the state of the order or modify the
agent that handles order modications.
Heading Data
Occurs When:
91
Oracle Transportation and Global Trade Management Cloud Chapter 19
Integration Guide Appendix A
Heading Data
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 ship units exist.
92
Oracle Transportation and Global Trade Management Cloud Chapter 20
Integration Guide Appendix B
20 Appendix B
The previous XML Date elements as strings are replaced with new elements to include GLogDate, Time Zone ID, and
Time Zone Oset. These new date elements are renamed with a sux "Dt" for uniformity. Also, the original XML Date
elements with GLogDate are modied to include Time Zone ID and Time Zone Oset.
For example:
For inbound integration the old date elements are compatible and remain same, Transportation and Global
Trade Management Cloud 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).
93
Oracle Transportation and Global Trade Management Cloud Chapter 20
Integration Guide Appendix B
94
Oracle Transportation and Global Trade Management Cloud Chapter 21
Integration Guide Appendix C
21 Appendix C
The following process captures the steps required to upload an XSL le.
95
Oracle Transportation and Global Trade Management Cloud Chapter 21
Integration Guide Appendix C
96
Oracle Transportation and Global Trade Management Cloud Chapter 22
Integration Guide Appendix D: Interface Additional Detail
Actual Shipments
If the service provider sends a new order release as part of the actual shipment, Transportation and Global Trade
Management Cloud 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.
97
Oracle Transportation and Global Trade Management Cloud Chapter 22
Integration Guide Appendix D: Interface Additional Detail
- Cannot Add SEquipment From Another Shipment: You cannot add a SEquipment that already
exists on another shipment to a shipment with the propagation. The SEquipment addition should
be done in a separate ActualShipment without the propagation.
- 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.
- 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 Transportation and Global Trade Management 6.0 from a previous release, review
the implementation of the Actual Shipment integration into Transportation and Global Trade Management to
determine the impacts of this change.
Element Description
Shipment/ShipUnit/ShipUnitContent If TransactionCode=IU, a Line Number that does not exist will be added, otherwise updated. You cannot
delete an individual line.
Shipment/ShipmentHeader/ If TransactionCode=IU, a new Qualier Value pair will be added. You can delete (and replace) using the
ShipmentRefnum GenericStatusUpdate interface.
ShipmentHeader/Remark If TransactionCode is IU and the RemarkSequence does not exist, then Transportation and Global
Trade Management Cloud will automatically generate a sequence number and add the remark.
If TransactionCode is IU and the RemarkSequence does exist, Transportation and Global Trade
Management Cloud updates with a new RemarkQualier and RemarkText.
If you supply neither a RemarkSequence nor a RemarkQualier, Transportation and Global Trade
Management Cloud adds the RemarkText as new Remark.
You can delete (and replace) using the GenericStatusUpdate interface.
98
Oracle Transportation and Global Trade Management Cloud Chapter 22
Integration Guide Appendix D: Interface Additional Detail
In the Shipment element, if you set the transaction code to RC and set the ReplaceChildren/ManagedChild element to
"ShipmentStop", Transportation and Global Trade Management Cloud 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
Transportation and Global Trade Management Cloud web interface).
In the Shipment element, if you set the transaction code to RC and set the ReplaceChildren/ManagedChild element to
ShipmentStopDetail, Transportation and Global Trade Management Cloud replaces the existing ship units with the ship
units in your transmission.
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.
Adding Stops
There is no way to insert a new stop to a shipment via shipment actuals unless the new stop has a stop number that
does not already exist on the shipment (like adding stop #3 to a 2-stop shipment, or adding stop #2 to a shipment with
stops 1 and 99).
To add a ship unit to a shipment, the following must be done in the ActualShipment XML interface:
1. Specify a ag to indicate that new ship unit should be applied to downstream shipments.
AcutalShipment.Shipment.ShipmentHeader.IntCommand.IntCommandName = "PropagateShipUnitChanges"
2. Indicate that Drop-o stop should be determined for the shipment, but not to propagate the ship unit changes.
ActualShipment.ShipmentHeader.IntCommand.IntCommandName = "DetermineShipUnitDropoff"
99
Oracle Transportation and Global Trade Management Cloud Chapter 22
Integration Guide Appendix D: Interface Additional Detail
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. Using the ShipUnit.SequipmentGID element, do the following:
a. Allow integration to assign it by using the following:
ActualShipment.ShipmentHeader.Shipment.ShipUnit.SEquipmentGIDQuery.SequipGIDMatchOption = "Any"
c. Have the business logic assign it by not specifying the element in the ship unit.
A ship unit can be marked for removal from the shipment via the TransactionCode as follows:
ActualShipment.Shipment.ShipUnit.TransactionCode = "DR"
where "DR" corresponds to "Delete Reference." The ship unit will be removed from the shipment, but not deleted from
Transportation and Global Trade Management Cloud.
100
Oracle Transportation and Global Trade Management Cloud Chapter 22
Integration Guide Appendix D: Interface Additional Detail
Alternatively, you can delete ship units from a shipment using the IntCommand via integration. You can either delete all
the ship units from the shipment, or only those that are marked as non-permanent. When used, the ship unit record, its
shipment stop detail record, and any corresponding equipment, is deleted.
To remove orphaned ship units, use the command below. This species 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>
Element Description
ShipmentHeader2 In Shipment/ShipmentHeader2, the most important element is ShipmentAsWork and it should almost
always be set to "Y". The exception is when:
1. The shipment is new
AND
2. There is at least one release associated with
the shipment
OR
the shipment.ShipmentHeader2.
AutoGenerateRelease = "Y"
To avoid confusion, set the Perspective element to "B." If Perspective is not specied, it will default to
"B". All other elements in this branch are completely optional from a schema and business perspective.
ShipmentHeader, use correct rate In the Shipment/ShipmentHeader, if you can get them, it is good to provide the RateOeringGID and
the RateRecordGID. This helps Transportation and Global Trade Management Cloud use the rate for
the service provider that actually took the load. If you can't get information for these elements, the
ServiceProviderGID would be the next best thing to use.
sPlannedTimeFixed If you want to send in old shipments (past dates) and want Transportation and Global Trade
Management Cloud to rate with correct rates (pertaining to correct eective/expiration dates), then
101
Oracle Transportation and Global Trade Management Cloud Chapter 22
Integration Guide Appendix D: Interface Additional Detail
Element Description
SEquipment Transportation and Global Trade Management Cloud requires at least one SEquipment object.
When you insert a new SAW, Transportation and Global Trade Management Cloud creates a default
SEquipment if you do not provide one. If there are several ship units, the same (created equipment)
is specied for each ship unit. The only thing really required in SEquipment is the SEquipmentGID.
To avoid problems later, include the SEquipment element and set the SEquipmentGID to the same
value as the ShipmentGID. This makes it easier to identify and manage the SEquipment, if there is
ever a need in the future to specify multi-equipment, or update the shipment with additional ship unit
information.
Note: When you update a SAW with a new ship unit, you must include the SEquipmentGID.
Transportation and Global Trade Management Cloud cannot create one for you.
TransOrder The Shipment/TransOrder element is outbound only so you cannot include it. Any TransOrderHeader
info should be specied in the Release/TransOrderHeader element.
Locations When specifying source and destination locations in the Shipment/Release/ShipFromLocationRef and
Shipment/Release/ShipToLocationRef elements, refer to locations already dened in Transportation
and Global Trade Management Cloud instead of dening new ones (using Shipment/Release/
ShipFromLocationRef/LocationRef/Location). This saves you the eort of providing all the
Location elements. To refer to existing locations, use the Shipment/Release/ShipFromLocationRef/
LocationRef/LocationGID element.
Order-Centric Modications
Most modications 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:
1. Transportation and Global Trade Management Cloud 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 modications will change the number of order ship units involved and allocate
the delta in the ship unit counts across multiple ship units.
3. The modied order ship unit count will be properly propagated and the related business objects (shipments
and order movements) will be updated across legs.
102
Oracle Transportation and Global Trade Management Cloud Chapter 22
Integration Guide Appendix D: Interface Additional Detail
4. The modied gross weight and volume will be updated per ship unit. This would then be reected in the
shipment total gross weight and volume, which impacts the shipment cost. This should only be applied when
the AectsCurrentLegOnly 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 dened the same on the inbound and the outbound,
you can only specify one way for the modication 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, Transportation and Global Trade Management Cloud 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 Transportation and Global Trade Management Cloud when you are doing a
modify transaction. When the integration brings in this modication 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 Transportation and
Global Trade Management Cloud to perform certain actions.
A shipment as work must have at least one pickup and one delivery location. A shipment as work is not associated with
an itinerary.
Note: To indicate that the shipment you are sending to Transportation and Global Trade Management Cloud
is a shipment as work, enter Y in the ShipmentAsWork element.
When a Shipment as Work is received, Transportation and Global Trade Management Cloud can be set to automatically
perform certain actions dened in public workow agents in the Agent Manager.
To ensure best possible performance, you should let Transportation and Global Trade Management Cloud process your
actual shipments in parallel. To do this, either send only one actual shipment per transmission or follow these steps:
• In the TransmissionHeader, set IsProcessInSequence to N.
103
Oracle Transportation and Global Trade Management Cloud Chapter 22
Integration Guide Appendix D: Interface Additional Detail
If you insert a new shipment and omit the end_date, Transportation and Global Trade Management Cloud sets the
end_date to the same date as the start_date.
Accrual Interface
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 dierence
between the current allocated freight cost and the previously transmied freight cost. The delta between the two is
used because a single order may be on multiple shipments, which are approved for payment in dierent time periods.
These accrual records are sent as part of this interface.
Invoice Interface
Invoices can be automatically matched to shipments based on the Service Provider ID and Shipment Reference Number
elds. 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 Transportation and Global Trade Management Cloud 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 look up the parent
id based on the invoice number.
◦ Populate the parent invoice ID on the child.
Job Interface
A job oers 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.
104
Oracle Transportation and Global Trade Management Cloud Chapter 22
Integration Guide Appendix D: Interface Additional Detail
• The ability to manage selement functions at the job level, including protability, expenses, revenues, and
billing.
Release Interface
An order release contains the following information:
• Order release ID that is automatically generated by Transportation and Global Trade Management Cloud.
• Order release name and type.
• Order base ID that references the base order from which the order release was created.
• Source and destination locations.
• Early/late pick up dates.
• Assigned or xed itinerary.
• Current status.
• Package or non-package data aributes.
Release Method
Populate the ReleaseMethodGid to tell Transportation and Global Trade Management Cloud how to release ship units.
TheReleaseMethodGid (also called Order Conguration) tells Transportation and Global Trade Management Cloud how
105
Oracle Transportation and Global Trade Management Cloud Chapter 22
Integration Guide Appendix D: Interface Additional Detail
to build ship units from order lines, or how to calculate ship unit information if ship units are entered. If ReleaseHeader/
ReleaseMethodGid is not populated, the default can be property controlled. See the Order Management Guide for more
information.
• User accounts for service providers in Transportation and Global Trade Management Cloud
• Shipment Status Codes
• Shipment Status Reason Codes
• Shipment Event Groups
• Shipment Reason Groups
• Corporations for service providers
106
Oracle Transportation and Global Trade Management Cloud Chapter 22
Integration Guide Appendix D: Interface Additional Detail
◦ If you cannot do this either, set the TimeZoneGID to Local. In this case, Transportation and Global Trade
Management Cloud 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 LocationRefnumQualierGID = Location Reference Qualier in the
Location Manager.
8. If you have a Shipment Agent Type with the Recalculate Estimated Stop Times action, then you must include
a RATE_GEO element for Transportation and Global Trade Management Cloud to be able to recalculate your
estimated stop times and/or re-drive your shipment. If you omit the RATE_GEO element, Transportation and
Global Trade Management Cloud 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.
IntSavedQuery
If you specify the IntSavedQuery element, only that query is applied. You can dene 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, Transportation and Global Trade Management Cloud generates an error message. No other queries are
applied. You must have created this query in Power Data beforehand.
• IntSavedQueryArg to arguments that can be referred to in the queries. For example, BM=YELLOW-0000007. If
you omit this element, your IntSavedQueryGID must point to a query that uses XPath instead.
• IsMultiMatch to N to forbid multiple records to be returned from the query. If your query happens to return
multiple records, Transportation and Global Trade Management Cloud generates an error message.
Refnums
If you omit the IntSavedQuery element, Transportation and Global Trade Management Cloud tries to match your
shipment status with:
107
Oracle Transportation and Global Trade Management Cloud Chapter 22
Integration Guide Appendix D: Interface Additional Detail
You can optionally enforce a rule that a give shipment may have only one shipment reference number with a given
qualier. The update_ag column in the shipment_refnum_qual table indicates if the rule is in eect or not. The valid
values for the update_ag are:
• UPDATE_OK: Only one value is allowed for a give qualier, the value of which can be modied.
• UPDATE_NOT_OK: Only one value is allowed for a give qualier, the value of which cannot be modied.
• MANY: a given shipment can have multiple values for the same qualier.
Another way of matching event to shipment stop is to include the LocationID where the event occurred and the
LocationRefnumQualierGID in SSStop/SSLocation. This only works if you have enabled this feature in your
glog.properties le. As long as Transportation and Global Trade Management Cloud can match your LocationID to a
stop number, your shipment status saves as if you had supplied a stop number.
Note: If Transportation and Global Trade Management Cloud cannot match the event to a location,
Transportation and Global Trade Management Cloud still saves the information but not for a specic stop
and only as informational. You can also have Transportation and Global Trade Management Cloud send you a
TransmissionReport if the LocationID is missing altogether (controlled by glog.properties). Transportation and
Global Trade Management Cloud also set the time zone for the event to local.
Correspondingly, if the event is not related to a shipment stop to begin with, Transportation and Global Trade
Management Cloud saves the event as informational with a local time zone.
A single stop related shipment event can be applied to multiple shipments, regardless of whether their stop numbers
or location IDs are the same. This will allow for situations where you want to apply a single shipment stop event to stop
2, but stop 2 of shipment 1 and stop 1 of shipment 2 are both Philadelphia. Stop related events are applied to all the
shipments specied in the ShipmentStatus interface. To work successfully, the ShipmentStatus XML must include an
IntSavedQuery element that will return two shipments. Logically, this is similar to having specied the ShipmentStatus
message multiple times in the Transmission XML.
108
Oracle Transportation and Global Trade Management Cloud Chapter 22
Integration Guide Appendix D: Interface Additional Detail
Required Data
To send an order to Transportation and Global Trade Management Cloud, certain information related to the order must
already exist in Transportation and Global Trade Management Cloud. 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.
3. Populate the ProcessingCodeGID to tell Transportation and Global Trade Management Cloud how to plan the
shipments from the order release.
4. Populate the TransOrderLineDetail element, including the PackagedItemCount, WeightVolume/Weight, and
WeightVolume/Volume under TransOrderLineDetail/TransOrderLine/ItemQuantity/ to specify the order lines.
You can set all but one of them to 0, if your setup uses the same kind of quantity to release.
5. Set TransOrderLineDetail/TransOrderLine/ItemQuantity/IsShippable = N.
6. Populate the amount to release in the TransOrderHeader/ReleaseInstruction/QuantityToRelease element.
If you omit the ReleaseInstruction, set TransOrderLineDetail/TransOrderLine/ItemQuantity/IsShippable = Y to
have Transportation and Global Trade Management Cloud create an order release for all of your order lines.
7. 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 Transportation and Global Trade Management Cloud's
transform feature to do this.
8. 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.
9. See the online help for a description of the elds.
10. 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. Transportation and Global Trade Management Cloud receives your transmission and starts to process it
internally.
2. Transportation and Global Trade Management Cloud starts the public Order Base - Insert agent.
109
Oracle Transportation and Global Trade Management Cloud Chapter 22
Integration Guide Appendix D: Interface Additional Detail
If the current date is outside the eective 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, Transportation and Global Trade
Management Cloud starts the public Order Base - Modify agent instead.
3. Transportation and Global Trade Management Cloud raises events that in turn can trigger Notications to be
sent.
Error Messages
If you receive a TransmissionReport, check for integration messages.
Required Data
To send an order to Transportation and Global Trade Management Cloud, certain information related to the order must
already exist in Transportation and Global Trade Management Cloud. 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.
3. Populate the ProcessingCodeGID to tell Transportation and Global Trade Management Cloud how to plan the
shipments from the order release.
4. Populate the TransOrder/ShipUnitDetail element.
5. To be able to track your ship unites as they propagate through Transportation and Global Trade Management
Cloud 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.
6. Set ShipUnitDetail/ShipUnit/IsShippable to Y to have Transportation and Global Trade Management Cloud
create an order release for all your order base ship units.
110
Oracle Transportation and Global Trade Management Cloud Chapter 22
Integration Guide Appendix D: Interface Additional Detail
7. 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.
8. You can override all dates and locations from the ShipUnitDetail with other seings in the ReleaseInstruction.
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.
10. See the Order Base Manager online help for a description of the elds.
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
1. Transportation and Global Trade Management Cloud receives your transmission and starts to process it
internally.
2. Transportation and Global Trade Management Cloud starts the public Order Base - Insert agent.
3. It nds the unprocessed release instructions with a release date <= the current date.
4. If the current date is outside the eective 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.
5. If you use the UI or IU transaction codes and the record exists already, Transportation and Global Trade
Management Cloud starts the public Order Base - Modify agent instead.
6. Transportation and Global Trade Management Cloud raises events that in turn can trigger notications to be
sent.
Required Data
None
Setup
You control validation of incoming transmissions with the glog.integration.validation.orderinterface property.
111
Oracle Transportation and Global Trade Management Cloud Chapter 22
Integration Guide Appendix D: Interface Additional Detail
5. See the Order Base Manager online help for a description of the elds.
6. 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.
7. To update date elds with NULL values, submit a value of '~' in the date element(s) of the inbound TransOrder
XML.
Transmission Results
1. Transportation and Global Trade Management Cloud receives your transmission and starts to process it
internally.
2. Transportation and Global Trade Management Cloud starts the public Order Base - Modify agent.
If you use the UI or IU transaction codes and the record does not exist already, Transportation and Global Trade
Management Cloud starts the public Order Base - Insert agent instead.
3. Transportation and Global Trade Management Cloud raises events that in turn can trigger Notications to be
sent.
Error Messages
If you receive a TransmissionReport, check for integration messages.
Modify ShipUnits
The following ways update the ship unit information (quantities, weights, volumes, etc.) on a shipment via integration:
• Use ActualShipment. This interface provides complete control of all the elds in the Shipment.
• Use SShipUnit.
• Send another TransOrder with the IsUpdateShipmentOnly element.
The TransOrder interface together with the IsUpdateShipmentOnly element supports uploading a slightly modied
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 elds 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 ag 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 specic S_Ship_Unit(s) to be modied are identied 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 eld in the S_SHIP_UNIT table). The search requires those
reference pointers to exist.
112
Oracle Transportation and Global Trade Management Cloud Chapter 22
Integration Guide Appendix D: Interface Additional Detail
Delete Orders
Required Data
Setup
You control validation of incoming transmissions with the glog.integration.validation.orderinterface property.
Transmission Results
1. Transportation and Global Trade Management Cloud receives your transmission and starts to process it
internally.
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. Transportation and Global Trade Management Cloud raises events that in turn can trigger notications to be
sent.
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, Transportation and Global Trade Management Cloud might send a TransmissionReport stating the
problem.
Setup
You control validation of incoming transmissions with the glog.integration.validation.orderinterface property.
113
Oracle Transportation and Global Trade Management Cloud Chapter 22
Integration Guide Appendix D: Interface Additional Detail
1. Set IsProcessInSequence=N.
This ensures maximum performance because Transportation and Global Trade Management Cloud can process
TransOrders belonging to dierent order bases in parallel.
2. Include all TransOrders that should be bulk planned.
3. Create an order release for every TransOrder either with IsShippable=Y and omit the ReleaseInstruction, or with
IsShippable=N and include a ReleaseInstruction.
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.
This tells Transportation and Global Trade Management Cloud to wait to start the bulk planning until the end of
the transmission.
Note: Transportation and Global Trade Management Cloud 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, Transportation and
Global Trade Management Cloud will plan incorrectly.
If you cannot keep all your TransOrders within one Transmission follow these guidelines:
If you instead set the ProcessingCodeGID to PLN on each TransOrder in a transmission, Transportation and
Global Trade Management Cloud bulk plans these orders on each transmission. Also, Transportation and Global
Trade Management Cloud cannot supply a bulk plan history in this case.
4. When Transportation and Global Trade Management Cloud 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 Transportation and Global Trade Management Cloud has received all your
transmissions, allow sucient amount of time between sending the last TransOrder Transmission and sending
the Topic element.
Note: Transportation and Global Trade Management Cloud plans all order releases that match the
saved query, not just the ones within the last transmissions.
114
Oracle Transportation and Global Trade Management Cloud Chapter 22
Integration Guide Appendix D: Interface Additional Detail
Note: The Topic element must be the last element in the transmission or group. If it is not,
Transportation and Global Trade Management Cloud will plan incorrectly.
Transmission Results
When Transportation and Global Trade Management Cloud completes the bulk planning, Transportation and Global
Trade Management Cloud sends the results of the bulk plan in a BulkPlan element.
Error Messages
If you receive a TransmissionReport, check for integration messages.
To incrementally release TransOrderLines from an order already in Transportation and Global Trade Management Cloud
via an integration transmission, do the following:
Required Data
None.
Setup
You control validation of incoming transmissions with the glog.integration.validation.orderinterface property.
Transmission Results
1. Transportation and Global Trade Management Cloud receives your transmission and starts to process your
transmission internally.
115
Oracle Transportation and Global Trade Management Cloud Chapter 22
Integration Guide Appendix D: Interface Additional Detail
2. Transportation and Global Trade Management Cloud starts the public Order Base - Modify - Incremental
Release agent.
3. Transportation and Global Trade Management Cloud raises events that in turn can trigger notications to be
sent.
Error Messages
If you receive a TransmissionReport, check for integration messages.
Setup
You must have created the external system you want to send to.
Transmission Results
Error Messages
Processing Codes
When you send an order to Transportation and Global Trade Management Cloud, you can indicate whether you want
Transportation and Global Trade Management Cloud to perform planning functions on it. If Transportation and Global
Trade Management Cloud 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.
Control the details of planning orders in Transportation and Global Trade Management Cloud in the Agent Manager.
• NOPLN: Instructs Transportation and Global Trade Management Cloud not to plan shipments form the order.
This is the default if you omit this element.
116
Oracle Transportation and Global Trade Management Cloud Chapter 22
Integration Guide Appendix D: Interface Additional Detail
• PLN: Instructs Transportation and Global Trade Management Cloud to plan shipments from the order release.
Transportation and Global Trade Management Cloud 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.
Voucher Interface
Transportation and Global Trade Management Cloud 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.
Transportation and Global Trade Management Cloud determines to whom a payment is due based on the involved
parties dened 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.
DataQuerySummary Interface
Contains the GID of a business object record.
Some external systems may not be prepared for Transportation and Global Trade Management Cloud 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 Transportation and Global Trade Management Cloud at
appropriate times (e.g. idle times, overnight) by referencing the GID.
117
Oracle Transportation and Global Trade Management Cloud Chapter 22
Integration Guide Appendix D: Interface Additional Detail
Transmission Results
Error Messages
For example, the Shipment_Refnum table has a composite primary key made up of the ShipmentGID, RefnumQualier,
and RefnumValue. Assume a shipment has the following ShipmentRefnum Qualier/Value pairs in the system:
CO/A-12345, CO/B-89387, CN/C-83920. If you send a new refnum qualier/value of CO/D-23849 using the
GenericStatusUpdate interface, the TransactionCode would aect the change as follows:
• 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 qualier 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.
118
Oracle Transportation and Global Trade Management Cloud Chapter 22
Integration Guide Appendix D: Interface Additional Detail
Topic Interface
This inbound interface allows you to raise a topic and get Transportation and Global Trade Management Cloud to start
processing an object. Currently Transportation and Global Trade Management Cloud supports BuildBuySideShipments
and BuildSellSideShipments that allows you to start bulk planning. Transportation and Global Trade Management Cloud
also supports clearing caches using the interface.
Note: Make sure Transportation and Global Trade Management Cloud has released all your TransOrders
before sending the Topic element to Transportation and Global Trade Management Cloud.
Note: When including other transactions in the same transmission as the Topic transaction, make the Topic
transaction the last in the transmission.
SKU Interface
How to Structure Your Data
If you have large amounts of highly complex, nested inventory information, you should use the XML column in the
SKU_DESCRIPTOR table to store that information, rather than using nested SKU_DESCRIPTOR records. However, it will
not be possible to search for SKUs using the XML info. You will only be able to search on the non-XML columns in the
SKU and SKU_DESCRIPTOR tables.
If you have small or medium amounts of less complex inventory information, you can use nested SKU_DESCRIPTOR
records instead. Using this method, it will be possible to nd a SKU by a sub-descriptor.
119
Oracle Transportation and Global Trade Management Cloud Chapter 22
Integration Guide Appendix D: Interface Additional Detail
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
Owner_corporation_GID = novelty.ge
Quantity_on_hand = 1800
Min_level = 100
Max_level = 2000
Domain_name = novelty
This section illustrates the relational approach to storing SKU descriptor and sub-descriptor information in using the
SKU_DESCRIPTOR table. This method would be used when it is necessary to use standard SQL to search SKU descriptor
data.
The example below shows a top-level SKU_DESCRIPTOR record. Notice that the parent_sku_descriptor_seq is null.
SKU_GID = novelty.2002-wh1
SKU_descriptor_seq = 1
SKU_descriptor_type = status
SKU_desriptor_value = held
SKU_descriptor_quantity = 1000
Parent_sku_descriptor_seq = null
Domain_name = novelty
The example below shows a level-2 SKU_DESCRIPTOR record. The parent_sku_descriptor_seq is set to 1, pointing to the
previous example.
SKU_GID = novelty.2002-wh1
SKU_descriptor_seq = 2
SKU_descriptor_type = reason
SKU_descriptor_value = damaged
SKU_descriptor_quantity = 600
Parent_sku_descriptor_seq = 1
Domain_name = novelty
The example below shows a level-3 SKU_DESCRIPTOR record. The parent_sku_descriptor_seq is set to 2, pointing to the
previous example.
SKU_GID = novelty.2002-wh1
SKU_descriptor_seq = 3
SKU_descriptor_type = batch
SKU_descriptor_value = 001
SKU_descriptor_quantity = 250
Parent_sku_descriptor_seq = 2
Domain_name = novelty
120
Oracle Transportation and Global Trade Management Cloud Chapter 22
Integration Guide Appendix D: Interface Additional Detail
SKU_GID = novelty.2002
SKU_descriptor_seq = 4
SKU_descriptor_type = batch
SKU_descriptor_value = 002
SKU_descriptor_quantity = 300
Parent_sku_descriptor_seq = 2
Domain_name = novelty
SKU_GID = novelty.2002
SKU_descriptor_seq = 5
SKU_descriptor_type = batch
SKU_descriptor_value = 003
SKU_descriptor_quantity = 50
Parent_sku_descriptor_seq = 2
Domain_name = novelty
An example situation where the XML method may not be appropriate would be where the top level SKU is a
combination of shoes of dierent styles. The top level SKU_DESCRIPTOR records would have one row for each style.
The level 2 SKU_DESCRIPTOR would have counts of sizes within each style. A query to determine the total inventory of
size 9 shoes across all styles would not be possible using the XML method. You can think of similar examples for the
auto industry, i.e. nd the inventory of all cars with anti-lock brakes, etc.
When using the XML method for representing detailed SKU_DESCRIPTOR information, each client implementation
will be responsible for developing their own industry-specic XML schema for that information. By default, the UI will
display this information in a nicely formaed manner. The UI provides a mechanism whereby you can install customer-
dened XSL for formaing information. However, this XSL le is purely optional.
Below is a snippet of how the information from the previous section might appear in the database if the XML approach
is used instead of the nested SKU_DESCRIPTOR method. In this case, the parent_sku_descriptor_seq column is always
null, and the XML column is used instead. In this case, the top level status information is available relationally. However,
the lower level descriptors within that status are represented inside the XML.
SKU_GID=novelty.2002-wh1
SKU_descriptor_seq = 1
SKU_descriptor_type = status
SKU_descriptor_value = held
SKU_descriptor_quantity = 1000
Domain_name = novelty
Xml =
<SkuDescriptor>
<type>damaged</type>
<value>001</value>
<quantity>600</quantity>
<SkuDescriptor>
<type>batch</type>
<value>001</value>
<quantity>250</quantity>
</SkuDescriptor>
<SkuDescriptor>
<type>batch</type>
<value>002</value>
<quantity>300</quantity>
</SkuDescriptor>
121
Oracle Transportation and Global Trade Management Cloud Chapter 22
Integration Guide Appendix D: Interface Additional Detail
… etc …
</SkuDescriptor>
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 dened on a consol that you
create for each stowage mode dened 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 dened stowage modes, you can create a consol that has a single empty shipment
aached. For each voyage, one consol is automatically created for each stowage mode dened 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 elds 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 (ight).
A charter voyage consol represents the weight, volume, FEU/TEU capacities of a specic stowage mode on a specic
charter voyage. It captures the allocated, maximum, commied, 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
ights. For each ight reservation, there is a consol for dening the reserved capacity of the ight. The sell shipments
are then booked to consols to create buy shipments.
122
Oracle Transportation and Global Trade Management Cloud Chapter 22
Integration Guide Appendix D: Interface Additional Detail
• Reference Number
• Remark
The following table shows which properties are supported by each valid business object (the GenericStatusObjectType
is the value that must be passed in the transaction XML):
INVOICE_LINEITEM x x
INVOICE x x x x
LOCATION x x x
OB_LINE x x x
OB_ORDER_BASE x x x x
OB_SHIP_UNIT x x x
ORDER_RELEASE x x x x
SHIPMENT x x x x
SHIPMENT_STOP x x
SHIP_GROUP x x x x
S_SHIP_UNIT x x
S_SHIP_UNIT_LINE x x
VOUCHER x x x
SCHEDULE x
CHARTER_VOYAGE x
CLAIM_LINE_ITEM x
CLAIM x x x
CONSOL x
ITEM x x x
JOB x x x
ORDER_RELEASE_LINE x x
DOCUMENT x
CONTAINER_GROUP x
DRIVER x x x x
DRIVER_TYPE x
POWER_UNIT x x x x
POWER_UNIT_TYPE x
123
Oracle Transportation and Global Trade Management Cloud Chapter 22
Integration Guide Appendix D: Interface Additional Detail
OR_STOP x
EQUIPMENT x x x
EQUIPMENT_TYPE x
WORK_INVOICE x
SHIP_STATUS_SPCL_ x
SERVICE
ORDER_MOVEMENT x x x
CONTACT x x x x
GTM_TRANSACTION x x x
GTM_TRANSACTION_LINE x x x
GTM_REGISTRATION x x x
GTM_STRUCTURE x x
124
Oracle Transportation and Global Trade Management Cloud Chapter 23
Integration Guide Appendix E
23 Appendix E
General Properties
See the "Advanced Conguration: Customer-dened Properties" chapter in the Administration Guide for instructions on
how to manage reserved properties.
glog.integration.remoteQuery.wrapReplyInTransmission
No See Help on 'glog.integration Properties' for
details.
glog.integration.TransmissionReport.readResponse
No Used when sending a TransmissionReport via
the HTTP POST communication method.
true – block and read the HTTP return code
from the receiving URL
false – do not aempt to read any response.
glog.integration.transmissionreport.includesummarydetail
No 1 – include Summary Detail in the
TransmissionReport
0 – (Default) Do not include Summary Detail
125
Oracle Transportation and Global Trade Management Cloud Chapter 23
Integration Guide Appendix E
glog.integration.dataqueue.inbound.useMemoryQueue
No See Help on 'glog.integration Properties' for
details.
126
Oracle Transportation and Global Trade Management Cloud Chapter 24
Integration Guide Appendix F
24 Appendix F
Testing Tips
It is often the case that through the use of Out XML Proles or XSLT stylesheets on outbound messages, the nal XML
document leaving the Transportation and Global Trade Management Cloud application is modied from the default
representation. Consequently it would be useful to have a way of testing the process to generate it before nally using in
a Production scenario. The following section outlines the ways in which this can be achieved.
Although the nal External System may use a dierent transport protocol – SOAP, FTP, OAQ – the main objective for
this tool is to validate the XML message content which can be exactly the same for all methods and so the HTTP POST
emulation should be useful in most cases.
Note: If the requirement is to see SOAP Envelope content then this would not be possible with the servlet and
another method would be needed. In fact, it is the WebLogic application server which generates these headers
and so it would actually need to be WebLogic tools or external test tools – TCP monitor, Wireshark etc. – that
would be required.
The servlet supports the forwarding or saving of the XML to the following:-
• Email address
• FTP server
• File system le
• Message Center
• HTTP (essentially only allows logging)
The processing for each option is controlled by URL parameters, dened below, that are specied on the URL used for
the HTTP section in the External System.
forwardingProtocol (optional) Controls the choice of where the XML should be forwarded or saved as a le. If it is present it
must be one of the following values:-
• email
• ftp
• hp
127
Oracle Transportation and Global Trade Management Cloud Chapter 24
Integration Guide Appendix F
• messagecenter
Depending on the option chosen other URL parameters may be required (see sections below).
If it is not present, the XML will be saved as a le on the targeted server in the 'Integration Temporary
Directory' (see glog.integration.tempdir property in the General Properties appendix).
logOn (optional)
0 – Default. Do not output URL parameters to log le.
1 – Output all URL parameters to a le in Integration temp dir. The le name of the le will be
"ExternalSystemServletLog<N>.txt". The <N> is between 0 and 6 corresponding to each day of the
week. There are up to 7 of these les. The oldest le is overwrien each day.
logContent (optional)
0 – Default. Do not log XML content to log le.
1 – Output XML to log le (name/location described above).
remoteFileExt (optional) If a le is to be saved this le extension should be used otherwise it will have no extension.
This property is also available when the forwardingProtocol is not specied which results in the le
being saved on the server. See forwardingProtocol above for details.
The following sections describe the additional URL parameters used when a forwardingProtocol is specied.
email
• from: Valid email address the mail should appear to be sent from.
• to: Valid email address the mail should be sent to.
• smtphost: The SMTP server that will be used to transport the message. If not specied the default server will
be used.
• subject: Subject to appear on email.
ftp
• hostname: FTP server host.
• port: FTP server port.
• username: User account on FTP server.
• password: Password for user account on FTP server.
• remoteDir: Directory on the remote FTP server where le will be saved.
• remoteFileName: File name used to save the le.
• connectMode: The FTP connection mode to be used, one of "active" or "passive".
• debugMode: Used to decide whether FTP transfer should be "verbose".
128
Oracle Transportation and Global Trade Management Cloud Chapter 24
Integration Guide Appendix F
hp
This option essentially acts as the "do nothing" option other than provide logging capability via the logOn and
logContent parameters.
messagecenter
When sent as a Message Center message, the event will be sent as a GC3 ALERT event and the XML content is sent as
the event message content.
• to: Valid Transportation and Global Trade Management Cloud user account the message should be sent to.
• subject: Subject to appear on the message.
Examples
Email:
http://< hostname_of_OTM_server>/GC3/glog.integration.servlet.ExternalSystemServlet?
forwardingProtocol=email&smtphost=internal-smtp.hostname.com&from=admin@company.com& to=target@company.com&
subject=TestMessage&logOn=0&logContent=0
FTP:
http://< hostname_of_OTM_server>/GC3/glog.integration.servlet.ExternalSystemServlet?
forwardingProtocol=ftp&hostname=< external_system_hostname>&username=<
username_for_ftp_server>&password=<password>&logOn=0&logContent=0&connectMode=active&debugMode=true
129
Oracle Transportation and Global Trade Management Cloud Chapter 24
Integration Guide Appendix F
130