Zusammenfassung uns Szenario
Über die bestehende initXml Struktur der WiM sollen für das MBSE WfM der Ausbau und Einbau von Geräten getriggert werden soll. Da das WiM Fastlane ausschließlich für die Prozessteuerung und Mako verwendet werden soll wird eine Implementierung auf Basis der B2BbP EAI Funktionalitäten gewählt.
B2BbP EAI Dokumentation und Voraussetzungen
Die vorliegende Konfiguration bespricht eine minimalistische Konfiguration der B2BbP als EAI Plattform in diesem Szenario. Die folgenden Dokumentationen sind Voraussetzungen bzw. können nützlich im Zusammenhang mit Kundenindividuellen Systemlandschaften und Anforderungen sein. Wenn zum Beispiel noch ein Proxyuser oder Passwort beim Versenden von Request notwendig ist.
- Channel Distribution
- Ausgehender Rest Service
- Mapping
- Anpassung der Dialect für die InitXml ==> Voraussetzung
- Verständnis über den Aufbau der initXml. initXml und ff
Konfiguration
Für die Konfiguration wird das Customizing B2BbPInitXmlToMbseWfm.zip benötigt. Bitte überprüfen Sie vor dem Einspielen der zip die ActionIds und die entsprechende Channelkonfiguration. Im folgenden werden die Schritte beschrieben, die nicht über das CustomizigngUpload eingespielt werden können.
Channel Distribution
Das Routing wird auf Grund der bestehenden Dialect über die EdiConditionDistributorAll-Presentations vorgenommen. Hierzu muss in der Extension EXT_CHANNEL_DIST die ChannelDistribution entsprechend im Eingang registriert werden. Über den Beispielausdruck
"INBOUND_MBSE_WFM" <== $messagecontext.FORMAT.attributes.processPart == "NLIWFMTASK";
in der GENERIC_EDICONDITION_DISTRIBUTION
erfolgt dann das entsprechende Routing.
Extension Konfiguration
Bitte passen sie noch folgende Einträge in der Extension EAI_OUTBOUND_SERVICE_CONFIG
entsprechend Ihren Bedingungen an:
WFM_NLIWWFMTASK_URL=http://server:port/api/wfm-task/meterReplaceRequest?client-name={clientname eintragen}
WFM_NLIWWFMTASK_USERNAME=
WFM_NLIWWFMTASK_PASSWORD=
initXml und ZielMapping
MBSE /api/wfm-task/meterReplaceRequest
Das Zielinterface ist die MBSE WFM Schnittstelle …/api/wfm-task/meterReplaceRequest
Beispiel:
{
"processId":"57f7bdd1-c7a0-11ea-aefd-9242f1c89b53",
"orderType":"UPGRADE_TO_SMART_METERING_SYSTEM",
"msbIln":"1111111111111",
"partnerIln":"1111111111112",
"meteringLocation":"DE2020032507307029990000000009961",
"meterNumberOld":"1ITT0013660491",
"earliestAppointment":"2020-07-16T22:20:58.606+02:00",
"latestAppointment":null,
"equipmentType":"AHZ",
"equipmentBasicType":[
null
],
"smartMeterGatewayNumber":null,
"priority":"HIGH",
"obisDeinstallationList":[
"1-0:1.8.0"
],
"articleNr":null,
"orderSubType":"IMS-ET-TAF7",
"annotation":"Beachten Eintarif!",
"installGateway":"yes"
}
Quellbeschreibung
Als Quelldokument dient die initXml aus der WiM Implementierung.
Pflichtfelder für die Verarbeitung innerhalb der B2BbP
Grundlage bildet die initXml. Für das korrekte Verarbeitung innerhalb der B2BbP muss zusätzlich zu den unten stehenden Mappingfeldern folgende Felder mindestens befüllt werden:
Pflichtfeld | Beschreibung | Beispiel |
---|---|---|
/BdewTemplateInit/WimProcessList/WimProcessData/processOverview/ownILN | Eigene ILN Nummer für Systemsicht in der B2BbP | 9900000VNB |
/BdewTemplateInit/WimProcessList/WimProcessData/processOverview/partnerILN | Partner ILN Nummer für die Partnersicht in der B2BbP | 9900000gMSB |
/BdewTemplateInit/WimProcessList/WimProcessData/processOverview/processPart | Processpart zur Identifikation des Interfaces, Mappings und Routings. Dies ist ein Festwert. | NLIWFMTASK |
Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<BdewTemplateInit>
<WimProcessConfiguration>
<id>Irgendwas</id>
</WimProcessConfiguration>
<WimProcessList>
<WimProcessData>
<processData>
<meteringPoint>DE20200709090000XR20007XNEU000580</meteringPoint>
<msbIln>1111111111111</msbIln>
<processName>WFM Task</processName>
<processPart>NLIWFMTASK</processPart>
<terminationDate>2020-07-09</terminationDate>
</processData>
<processOverview>
<group>GroupName</group>
<meteringPoint>DE20200709090000XR20007XNEU000580</meteringPoint>
<ownILN>1111111111111</ownILN>
<partnerILN>1111111111112</partnerILN>
<processName>WFM Task</processName>
<processPart>NLIWFMTASK</processPart>
</processOverview>
<masterDataVo>
<deviceDirectionDatas>
<deviceDirectionData>
<deviceNumber>deviceNumber</deviceNumber>
<meterType>meterType</meterType>
<smartmeterGatewayRef>smartMeterref</smartmeterGatewayRef>
</deviceDirectionData>
</deviceDirectionDatas>
<obisMeters>
<obisMeter>
<obisNumber>obis1</obisNumber>
</obisMeter>
<obisMeter>
<obisNumber>obis2</obisNumber>
</obisMeter>
</obisMeters>
</masterDataVo>
<additionalDataList>
<additionalData>
<key>orderType</key>
<value>orderType</value>
</additionalData>
<additionalData>
<key>orderSubType</key>
<value>OrderSubType</value>
</additionalData>
<additionalData>
<key>priority</key>
<value>priorioty</value>
</additionalData>
<additionalData>
<key>installGateway</key>
<value>installGateway</value>
</additionalData>
<additionalData>
<key>annotation</key>
<value>Schlüssel für Keller im Zimmer 502 abho-len.</value>
</additionalData>
<additionalData>
<key>articelNr</key>
<value>articelNr</value>
</additionalData>
</additionalDataList>
</WimProcessData>
</WimProcessList>
</BdewTemplateInit>
Mappingtabelle
Bestimmte Parameter können nicht in der initXml auf definierte Felder geschrieben werden. Hier wird die generischen additionalDatas(http://wim.next-level-help.org/wim_dev_xml_upload_additionalData.html) verwendet. Die Feldbeschreibungen für die additionalDatas des WFM sind hier beschrieben.
Zielfeld | Quellfeld | Beschreibung | Festwert oder Beispiel |
---|---|---|---|
processId | WimProcessConfiguration/id | Id für des WFM | |
orderType | WimProcessList/WimProcessData/additionalDataList/additionalData[/key==’orderType’)/value | Art des Auftrages | siehe |
msbIln | WimProcessList/WimProcessData/processData/msbIln | ILN Nummer des MSB am Gerät | 9900000gMSB |
partnerIln | WimProcessList/WimProcessData/processOverview/partnerILN | ||
meteringLocation | WimProcessList/WimProcessData/processData/meteringPoint | MeLo des Gerätes | |
meterNumberOld | WimProcessList/WimProcessData/masterDataVo/deviceDirectionDatas/deviceDirectionData/deviceNumber | Gerätenummer des zu tauschenden Gerätes | |
earliestAppointment | Frühester Tauschzeitpunkt | Hier wird beim Aufruf der Systemzeitpunkt verwendet | |
latestAppointment | WimProcessList/WimProcessData/processData/terminationDate | Spätester Wechselzeitpunkt im Format yyyy-mm-dd |
2020-07-09 |
equipmentType | WimProcessList/WimProcessData/masterDataVo/deviceDirectionDatas/deviceDirectionData/meterType | Zählertyp aus UTILMD CCI+++E13’ | |
equipmentBasicType | Aktuell wird hier ein Defaultwert gesetzt. | ZAEHLEINRICHTUNG | |
smartMeterGatewayNumber | WimProcessList/WimProcessData/masterDataVo/deviceDirectionDatas/deviceDirectionData/smartmeterGatewayRef | Gerätenummer des Smartmetergateways | |
priority | WimProcessList/WimProcessData/additionalDataList/additionalData[/key==’priority’)/value | Priorität des Auftrages | siehe |
obisDeinstallationList | WimProcessList/WimProcessData/masterDataVo/obisMeters/obisMeter/obisNumber | Liste der betroffenen OBIS-Daten | |
articleNr | WimProcessList/WimProcessData/additionalDataList/additionalData[/key==’articleNr’)/value | ||
orderSubType | WimProcessList/WimProcessData/additionalDataList/additionalData[/key==’orderSubType’)/value | ||
annotation | WimProcessList/WimProcessData/additionalDataList/additionalData[/key==’annotation’)/value | Hinweis für den Wechsel | |
installGateway | WimProcessList/WimProcessData/additionalDataList/additionalData[/key==’installGateway’)/value | Installation eines Gateways | siehe |