| Time | Status | Process area | Service | Object key | AMI request id | Target | Age | Retries | Message |
|---|
| Moratorium date | Event type | Day type | Applicability | Area | Reason | Remarks | Status | Created by |
|---|
| Disc. doc | Meter | Service address | Failure | Tries | Last comms | Open $ | Advice | Conf. | Action |
|---|
| Code | Meaning | Retry succeeds | Basis | Sample | Retry futile |
|---|
| Time | Service | Object key | Outcome | Response |
|---|---|---|---|---|
No invocations yet. | ||||
This is the AMI Message Cockpit running entirely in your browser against generated data. No SAP system is connected. Meter numbers, contract accounts, disconnection documents and request ids are synthetic and resemble nothing in any real landscape.
Every service name comes from the SAP standard AMI service catalogue — SAP standard enterprise services only, nothing bespoke. Hover any service chip to see the technical name. The disconnection status codes are the real EDISCACT-ORDSTATE values (02, 04, 12, 20, 26), the mismatch codes are the real the LRN mismatch report codes (11, 22, 55, 77, 88, 99), and the slotting follows the the dunning slotting job logic.
Configuration, not code. The threshold is keyed exactly like the monitoring config table — TRANS_ID 'MONITOR_THRESHOLD', IN_VALUE 'INFLIGHT_AGE_MIN' — the same row the RCD monitoring job reads. The cockpit adds per-service and per-process-area overrides on top, because one global number cannot serve both a reconnection and a bulk replication. Open any message and the SLA line shows from config. The numbers in this demo are placeholders until the production OUT_VALUE is loaded.
A No-Cut entry is a date, not an area rule. Event type (Scheduled, Adhoc, Same-day), day type (Non-Disconnection Day, Disconnection with Contact), applicability (All, District, City), a reason code and remarks capped at 30 characters. Past dates are refused; a date more than 18 months out warns and has to be accepted. Multiple dates can go in at once, and a repeat-until date replicates the same day of week.
Add, Edit and Cancel need the No-Cut maintenance role. Everyone else sees the same screen with every control disabled. Edit takes exactly one entry; Cancel takes several and asks for confirmation, because cancelling means disconnections may proceed on that date. History reveals cancelled entries, which the default view hides. Adding or cancelling a Same-day or no-contact entry pages the distribution list, including pager IDs — those two change what happens to customers today.
At run time the entry is matched to the document's service address. The city comes from the join the dunning slotting job already performs — EVER → EANL → EVBS → ILOA → ADRC — which gives the service address of the premise, not the bill-to address on the business partner. A customer can be billed in one place and metered in another, and a No-Cut has to follow the meter.
The banner is above every tab because extreme weather is the condition most likely to make a correct-looking disconnection run the wrong thing to do. It is not decoration: an EXTREME or SEVERE county forecast sets a weather lock and Release is disabled. A WATCH is shown but does not block — a watch means conditions are possible, not present.
A manual lock is separate and needs a reason. It holds every release regardless of county, for the things the forecast feed cannot see: a billing defect, a head end outage, a regulatory instruction. The manual control only adds a lock — clearing a weather lock by hand is not a judgement an operator should be able to make, so it clears when the forecast clears.
A remote disconnection is not a bare command. An adhoc disconnection creates a disconnection document at status 13 (to be requested) with process variant CUST, and the connection status change service is raised against that document. CUST rather than DUNN so the dunning follow-up rules do not pick up something an operator raised by hand.
An adhoc reconnection goes the other way: it finds the open disconnection document and creates the reconnection request against it, moving the document to status 26. Keys with no open document are named before you send and rejected rather than dispatched — a reconnection with no disconnection behind it has nothing to close out and the write-back has nowhere to land.
Cancel disconnection activity, on any disconnection in the drawer, does three things together: cancels the activity, closes the document at status 40, and resets the dunning cycle so the account is not left at a dunning level with nothing behind it. If the command already reached the head end, cancelling in S/4 does not recall it — that is what the service order option is for.
Every remote disconnection and reconnection carries a user status alongside the system status — the lifecycle the business tracks, from the status profile on the disconnection document:
| Code | Meaning | Code | Meaning |
|---|---|---|---|
| 00 | Disconnection or Reconnection Determination | 23 | Reconnection Planned |
| 13 | Disconnection Planned | 28 | Reconnection Inflight |
| 26 | Disconnection Inflight | 21 | Reconnection Confirmed |
| 27 | Disconnection Completed | 29 | Reconnection Completed |
| 12 | Disconnection Failed | 22 | Reconnection Failed |
It does not replace the ORDSTATE, and the two must never be conflated: several numbers collide with different meanings — user status 26 is Disconnection Inflight, ORDSTATE 26 is reconnection to be requested. That is why the cockpit always shows the user status as a labelled US nn tag and never as a bare number.
21 and 29 are distinct moments on purpose: 21 is the head end confirming supply is physically back on; 29 is the completion of the document afterwards by the daily job. Watch a reconnection confirm in the monitor and its status moves 28 → 21 → 29 as the document closes.
Live push over WebSocket instead of the simulated timer, XSUAA roles, the S/4 gateway that raises the actual proxy, HANA persistence, the background sweep that ages messages and raises alerts, and real reads against MDMS staged data (the MDMS staging table) and the head end for the reconciliation.