Watching it run
The message log
The tracker answers what happened to this order. The message log answers what happened across all of them.
One row per transmission, in each direction, for every partner. It is where you go when the question is broader than a single order: everything to one partner today, every invoice that failed this week, every message still waiting for a receipt.
What a row carries
| Field | What it is for |
|---|---|
| Partner, direction, document type | The three things you filter by first |
| Our identifier and theirs | As they appeared on the wire, not as they are set up now |
| Interchange references, both sides | What each system called this transmission. What you quote to a partner |
| Document number | The order, packing slip or invoice it belongs to |
| Lifecycle stage | How far it got |
| Envelope and document receipt | The two acknowledgement states |
| Deadline | When a missing receipt becomes overdue |
| Health, last error code and text | Whether it is fine, and if not, why |
Lifecycle stage
| Stage | Outbound | Inbound |
|---|---|---|
| Created | The document was produced and queued | It arrived and a row was made |
| Transmitted | Handed to the service and on its way | Not used |
| Stored | The wire file is kept and readable | The wire file is kept and readable |
| Processed | Not used | It became a record: an order, a receipt, an invoice |
Stage is how far it got, not whether it is healthy. A message can be transmitted and unhealthy, which is the common case for a document that was delivered and then refused.
Health
Three values, and the middle one is the useful one.
- Ok. Nothing to see.
- Degraded. It worked, but not entirely. A receipt is late, a validation was advisory, a field could not be resolved. Worth reading, not worth waking anyone.
- Failed. It did not work, and the error says why.
The wire file
The file as it was sent or received is kept and can be opened from the message. Not a rendering of it, the file. That is the thing to send a partner when they say your document is malformed, and the thing to read when their description of the problem does not match what you think you sent.
Filters that earn their keep
- Health is failed, sorted by time. The list of things that need a person.
- An acknowledgement state of pending with a deadline in the past. The list of things to chase.
- One partner, this week, every type. What you look at before a call with them.
- One document number. The single-order question, when you are not on the order.
The log is complete, not partial
What the service knows about a message is drawn back into this log, so a row here is not just what Dynamics did with the document. That is why the log can tell you a message was delivered even though Dynamics itself only ever handed it over.
That drawing down is one of the batch jobs. If the log looks like it stops at handed over, that job is not running.