There are two different types of headers that are used in most of the CICA Documents used by BargeEx: the Standard Document Header and the Marine Application Header.
Standard Document Header
All CICA Documents have a Standard Document Header Module (M78), represented by the BargeEx..::.DocumentHeader class, that uniquely identifies the document from all other documents. This header requires the sender to identify themselves, identify who should receive the document, indicate when they generated the document, and provide a unique identifier for the document. The following table lists the required document header properties:
Property | Description |
---|---|
SenderTradingPartnerNumber | The BargeEx Trading Partner number for the trading partner who originated the document. |
ReceiverTradingPartnerNumber | The BargeEx Trading Partner number for the trading partner who will receive this document. |
CreateDateTime | The date and time the CICA Document was created. |
InstanceIdentifier | An identifier that, along with the SenderTradingPartnerNumber, uniquely identifies the CICA Document. |
Marine Application Header
All marine industry related CICA Documents have an application header that identifies the marine transaction represented by the document. This header requires the sender to indicate when they generated the transaction and provide a unique identifier for the transaction. There are two types of marine transactions: ones that can be updated (e.g. BargeStatus, BoatStatus, TowStatus, BargeServiceOrderResponse) and ones that cannot be updated (e.g. BargeInvoice and BargeServiceOrder).
Marine transactions that cannot be updated usually have another mechanism for updates that is specific to the business process being represented by the marine transaction. For example, updates to an invoice (i.e. BargeInvoice) are done using an adjustment invoice (indicated by setting the BargeInvoice..::.InvoiceOriginalNumber property) and updates to a service order (i.e. BargeServiceOrder) are done using the service order revision (BargeServiceOrder..::.OrderRevision property).
The following table lists the required marine application header properties that are applicable to both updatable and non-updatable transactions:
Property | Description |
---|---|
CreateDateTime | The date and time the marine transaction was created. This property can be set to the same value as the CreateDateTime property that resides in the Standard Document Header Module (M78). When this property differs from the Standard Document Header Module’s CreateDateTime property, this property represents the date and time the application generated the message internally and the Standard Document Header Module’s CreateDateTime property represents when the actual CICA document was created and sent to BargeEx. |
TransactionIdentifier | An identifier that, along with the DocumentHeader..::.SenderTradingPartnerNumber, uniquely identifies the marine transaction. The marine transaction identifier may or may not be the same value as the CICA Document Instance Identifier (DocumentHeader..::.InstanceIdentifier). |
The following table lists the marine application header properties that are applicable to updatable transactions only:
Property | Description |
---|---|
PurposeCode | Code that indicates if this is a new transaction, an update to a previously sent transaction, or if the transaction indicated by this document should be disregarded. |
Revision | Indicates the document's revision number. This property should be set whenever PurposeCode is set to UpdateTransaction or VoidTransaction. |
When PurposeCode is set to either UpdateTransaction or VoidTransaction, TransactionIdentifier will contain the marine transaction identifier of a previously sent document. This is the marine transaction (i.e. document) that is being updated by this document.
Document Acknowledgment Document
The Document Acknowledgment Document (represented by the DocumentAcknowledgment class) is a general purpose CICA Document that is not specific to the marine industry. Unlike the other documents, it does not represent a marine transaction. It is only used to provide a syntax level acknowledgment of a received XML document (i.e. CICA Document). Since this document is not a marine transaction, it does not contain a Marine Application Header. The InstanceIdentifier property of the AcknowledgedDocumentHeader property refers to the CICA Document’s Instance Identifier (i.e. the InstanceIdentifier property) of the document being acknowledged, not the marine transaction identifier (i.e. the TransactionIdentifier property).