Update Actual Route Point Times for a Service Trip
A ProcessEvents message with either a NotifyWorkExecutedEvent or NotifyWorkReconciledEvent node can be used to import and update actual route point times for a service trip from an XML file.
Note: Words in coloured text refer to node names in the XML file. Words in bold refer to field names or data in MineMarket, or required text strings. Words in italics refer to field values in MineMarket.
Subscriber Name
The subscriber name must be NotifyWorkExecutedEvent or NotifyWorkReconciledEvent.
Class Name
The class names are BulkTrak.Integration.PublishSubscribe.B2MML_Classes.NotifyWorkExecutedEvent and BulkTrak.Integration.PublishSubscribe.B2MML_Classes.NotifyWorkReconciledEvent. Either class can be used; however, only the NotifyWorkReconciledEvent can process multiple times in the one file.
XML Example
<?xml version="1.0" encoding="UTF-8"?>
<p:NotifyWorkExecutedEvent xmlns:p="http://www.mesa.org/xml/B2MML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<p:ApplicationArea>
<p:Sender>
<p:LogicalID>BMS</p:LogicalID>
<p:ComponentID>PTGM1</p:ComponentID>
</p:Sender>
<p:CreationDateTime>2022-10-13T04:58:36Z</p:CreationDateTime>
</p:ApplicationArea>
<p:DataArea>
<p:Notify />
<p:WorkExecutedEvent>
<p:AddedJobResponseRecord effectiveTimestamp="2022-10-13T04:43:00Z" recordTimestamp="2022-10-13T04:58:36Z">
<p:JobResponse>
<p:ID>b1c23776-4ab3-11ed-8691-dca6322ada9f</p:ID>
<p:EndTime>2022-10-13T04:43:00Z</p:EndTime>
<p:WorkMasterID>Direct Barge Loading</p:WorkMasterID>
<p:WorkflowSpecificationID>Barge Transport</p:WorkflowSpecificationID>
<p:WorkflowSpecificationNodeID>Awaiting Barge Loader Positioning</p:WorkflowSpecificationNodeID>
<p:EquipmentActual>
<p:ID/>
<p:EquipmentID>BargeServiceTripAlias1</p:EquipmentID>
<p:EquipmentUse>Used</p:EquipmentUse>
<p:HierarchyScope>
<p:EquipmentID>BusinessAreaAlias1Segment</p:EquipmentID>
<p:EquipmentLevel>Enterprise</p:EquipmentLevel>
<p:HierarchyScopeChild>
<p:EquipmentID>BusinessAreaAlias1Segment</p:EquipmentID>
<p:EquipmentLevel>Site</p:EquipmentLevel>
<p:HierarchyScopeChild>
<p:EquipmentID>BusinessAreaAlias1Segment</p:EquipmentID>
<p:EquipmentLevel>Area</p:EquipmentLevel>
</p:HierarchyScopeChild>
</p:HierarchyScopeChild>
</p:HierarchyScope>
<p:OperationalLocation>
<p:Location>Barge Load Out</p:Location>
<p:LocationType>Operational Location</p:LocationType>
</p:OperationalLocation>
<p:EquipmentActualProperty>
<p:ID>Physical Barge Name</p:ID>
<p:Value>
<p:ValueString>BargeAlias1</p:ValueString>
</p:Value>
</p:EquipmentActualProperty>
</p:EquipmentActual>
</p:JobResponse>
</p:AddedJobResponseRecord>
</p:WorkExecutedEvent>
</p:DataArea>
</p:NotifyWorkExecutedEvent>
XML Nodes
Node and Path |
Notes |
---|---|
ApplicationArea » CreationDateTime |
If AddedJobResponseRecord does not include a timestamp, this time is saved in an export mapping specific to the route point time on the service trip. If AddedJobResponseRecord does include a timestamp, this time is ignored in processing. Note: If used, the time must be later than existing data in MineMarket. If the time is earlier than the applicable export mapping on the service trip, no data is saved. |
JobResponse » ID |
A unique identifier that is generated automatically. |
JobResponse » EndTime |
The route point date and time. |
JobResponse » WorkMasterID |
A text string that may be "Direct Barge Loading". |
JobResponse » WorkflowSpecificationID |
A text string that must be "Barge Transport". |
JobResponse » WorkflowSpecificationNodeID |
A text string that determines the route point location for which the time is updated. See the table below. |
JobResponse » EquipmentActual » EquipmentID |
The Alias1 of an existing service trip. |
JobResponse » EquipmentActual » HierarchyScope |
Ignored in processing. |
JobResponse » EquipmentActual » OperationalLocation |
Ignored in processing. |
JobResponse » EquipmentActual » EquipmentActualProperty » ValueString |
The Alias1 of an existing barge. Note: If this barge does not match the barge already assigned to the service trip, MineMarket updates the barge. If the service trip already has transactions, MineMarket assigns the transactions to the hold of the new barge. |
Notes and Troubleshooting
This B2MML adaptor class requires a specific barge route with the following configuration:
- First route point—Loading type set to Loading Only.
- Second route point—Loading type set to Unloading Only.
The actual time that is updated depends on the value of the WorkflowSpecificationNodeID node.
WorkflowSpecificationNodeID | Route Point Loading Type | Time |
---|---|---|
Travel To Loading Point | Loading Only | ATA |
Cast On | Loading Only | Berth Date |
Awaiting Barge Loader Positioning | Loading Only | Start Loading |
Loading | Loading Only | End Loading |
Awaiting Loader Clearance | Loading Only | Unberth Date |
Cast Off | Loading Only | ATD |
Multiple JobResponse nodes (with their sub-nodes) can exist within the one file if more than one time is saved in MineMarket at the same time, but only if using the NotifyWorkReconciledEvent class.