Customizing der WiM-Weiche

Überblick

Die WiM-Weiche wird in B2B by Practice zur Aussteuerung der WiM-Nachrichten verwendet. Hierzu wird eine Channel Distribution benötigt, die in dieser Dokumentation beschrieben wird.

Customizing

Einrichtung Channel Distribution

Im Folgenden wird beschrieben, wie die WiMChannelDistribution konfiguriert wird. Im neuesten Standard sollte stattdessen jedoch die WiMMixChannelDistribution genutzt werden.

In der Extension EXT_CHANNEL_DIST muss folgender Eintrag hinzugefügt werden:

EXT_CHANNEL_DIST

registered.classes: com.nextlevel.b2b.wim.actions.WiMChannelDistribution;\

Position der CD muss individuell geklärt werden.

Zusätzlich folgende Eigenschaften in EXT_CHANNEL_DIST einfügen:

EXT_CHANNEL_DIST

#WiM Channel Distribution
com.nextlevel.b2b.wim.actions.WiMChannelDistribution.registeredServiceIds=*
com.nextlevel.b2b.wim.actions.WiMChannelDistribution.executeOnChannelId=inbound_default;INBOUND_CONTRL;INBOUND_APERAK
com.nextlevel.b2b.wim.actions.WiMChannelDistribution.skipChannelDistributionOnChannelId=WIM_INBOUND_CHANNEL

Wobei der Channel inbound_default je nach B2B Customizing auch anders heißen kann.

Einstellungen Global Properties

WIM_URL

Hier muss ein Link auf einen WIM/EEG-Knoten eingetragen werden. Z.B. WIM_URL = http://localhost:8080/b2bbp-engine/StartupEngine?channel=WIM_OUTBOUND_CHANNEL
Der Host und der Port müssen angepasst werden!

B3P_NO_WIM_BACKEND

Nutzt man die WiM-Weiche ohne WiM-Backend muss man folgende Global Property setzen: B3P_NO_WIM_BACKEND = false (Achtung: false, nicht true!)

WIM_BACKEND_DATASOURCE_NAME

Die WimChannelDistribution greift zur Prüfung einiger Formate auf die WiM-Backend-DB zu. Dieser Zugriff erfolgt über die Standard Datasource (b2bbp). Sollte die WiM-Backend-DB in einer anderen Datenbank oder einem anderen Schema liegen, so muss eine zusätzliche DataSource angelegt werden. Der Name der Datasource muss in den GlobalProperties hinterlegt werden. WIM_BACKEND_DATASOURCE_NAME = fastlane.

WiM_CHECK_MALOMSB_MSCONS_TO_VNB_REFERENCE

Bei den Prozessen Beginn bzw. Ende Messstellenbetrieb gibt es bei m:n Konstrukten das Problem, dass dem Malo-MSB die Verteilung der Messwerten obliegt (MSBN sendet an MaLo-MSB evtl. der gMSB). Für den Fall, dass die Verteilung und Aufbereitung der Messwerte über die WiM erfolgen soll, muss diese GP auf “true” gesetzt sein. Sie aktiviert eine zusätzliche Prüfung, ob es einen laufenden Prozess des referenzierenden VNB (Beginn oder Ende MSB) gibt. Hierzu muss im WiM Backend unter Stammdaten ==> ILN Marktpartner bei dem ILN Code des eigenen MSB in dem Eintrag “Referenz auf VNB ILN” der eigene VNB hinterlegt werden.

WIM_RULE_EXTENSION

Die WiM Channeldistribution kann um EdiPath Ausdrücke erweitert werden. Analog der (Regeln) Hierfür sind in der Extension WIM_RULE_EXTENSION Einträge anzulegen. (Beispiele s. unten)

Aussteuerungsregeln

Positiv Check auf Format

In der GENERIC_MAP muss wim_formats=UTILMD,MSCONS,IFTSTA,ORDERS,INSRPT,REQOTE,QUOTES,ORDERS,ORDRSP,APERAK definiert werden. Nachrichten mit anderen Formaten werden nicht in den WiM-Channel verschoben.

Empfängerüberprüfung: Alle ILN Nummern, die mit der WiM Installation arbeiten

Außerdem müssen in der GENERIC_MAP system_wim=<iln>,<iln> definiert werden. Es werden alle System ILNs angegeben (incl. der Lieferanten, die Ihre WiM Prozesse über diese WiM Lösung abbilden) für die WIM Nachrichten akzeptiert werden. Nachrichten, die für andere System ILNs empfangen werden, werden nicht in den WIM Channel verschoben. Sollte der Eintrag gar nicht angelegt werden, wird angenommen, dass für alle System ILNs auf dem Server die Weiche aktiv ist.

Wettbewerbliche MSBs im System, die mit der WiM Lösung arbeiten

Über system_wim_w-msbmdl=<iln>,<iln> müssen ILN Nummern angegeben werden, für die alle Nachrichten an diese ILN Nummern in den WIM Channel verschoben werden.

VNBs und Default MSBs, die die WiM Lösung nutzen

Die eigenen VNBs, die mit der WiM Lösung arbeiten, werden über system_wim_vnb==<iln>,<iln> in der Generic Map gepflegt.

Die zugehörigen Default MSBs werden über system_wim_d-msbmdl=<iln>,<iln> in der Generic Map gepflegt.

Beispiel WiM Customizing in Generic Map

GENERIC_MAP

wim_formats=UTILMD,MSCONS,IFTSTA,ORDERS,INSRPT,REQOTE,QUOTES,ORDERS,ORDRSP,APERAK
system_wim=9800256500007,9910152000009,9800256900009,9800257000006,9800256600005,9910138000007,9870089000003,9870115400002,9900655000002,9905387000007,4041408701003,4041408001004,4041408700105,4041408000106
system_wim_w-msbmdl=4041408701003,4041408001004,4041408700105,4041408000106
system_wim_vnb=9870115400002,9900655000002,9870089000003
system_wim_d-msbmdl=9870115400012,9900655000012,9870089000013, 9870115400022,9900655000022,9870089000023

Anmerkung: Nachrichten die AN ILNs gesendet werden, die unter system_wim_w-msbmdl gelistet sind, werden alle in den WIM_INBOUND Channel geroutet (z.B. VNB → MSB) – unabhängig vom Absender.

Nachrichten AUSSER MSCONS, die AN ILNs gesendet werden, die unter system_wim_d-msbmdl oder system_wim_vnb gelistet UND VON einem MSB/MLD (aus der Extension MPID_WIM_CHANNEL) kommen, werden alle in den WIM_INBOUND Channel geroutet (z.B. VNB → MSB). (Wenn eine Nachricht nicht von dieser Regel erfasst wird, dann kann sie aber trotzdem anhand von Qualifiern oder laufenden Prozessen durch die abschließende Überprüfung zugeordnet werden.)

Trägt man einen Default MSB unter system_wim_w-msbmdl ein, kann man erreichen, dass ALLE Nachrichten (incl. Zählerstände und Änderungsmeldungen IMMER in die WIM-Lösung geroutet werden.  

Nachricht von MSB und an VNB System

Es wird überprüft, ob eine Nachricht von einem MSB eingegangen ist. Hierfür muss eine Extension angelegt werden, die die ILNs der Marktpartner mit diesen Rollen enthält.

Fügen Sie bitte die Extension MPID_WIM_CHANNEL hinzu und tragen Sie dort, wie unten abgebildet, die ILNs der Rolle MSB ein.

Wenn außerdem die eigene ILN Nummer in der GENERIC_MAP unter system_wim_vnb oder system_wim_d-msbmdl angegeben wurde, und die Nachricht keine MSCONS oder E03 UTILMD ist, wird die Nachricht in den WIM Channel verschoben. E03 Utilmd kann auch ausgesteuert werden, wenn die B2B Global Property WIM_ACCEPT_E03_UTILMD auf true gesetzt wird.

WIM_ACCEPT_E03_UTILMD

Mit der Global Property WIM_ACCEPT_E03_UTILMD = true kann angegeben werden, dass Stammdatenänderungen trotzdem in den WiM-Channel verschoben werden und somit über den Prozess Stammdatenänderung behandelt werden.

MSCONS Behandlung

Falls eine MSCONS Nachricht nicht schon über die ILN-Zuordnung in der Generic Map in den WiM-Channel verschoben wurde (Nachricht an system_wim_w-msbmdl), wird sie nur in den WIM Channel verschoben, falls aktuell zu dem Zählpunkt ein Prozess Beginn oder Ende Messstellenbetrieb offen ist. Im Detail heißt das, dass es zu dem Sender, dem Empfänger und dem Zählpunkt der MSCONS einen Prozess im Schritt Warte auf Stammdaten (oder kurz davor) gibt und dieser im Status RUNNING ist. Außerdem muss das CCI+16 Segment SMV oder EMV oder COM sein (es sich also um Ein- oder Ausbauzählerstände handeln). Alle anderen MSCONS Nachrichten laufen nicht in den WiM-Channel.

MPID_SYNC_WIM

Legen Sie eine leere Extension MPID_SYNC_WIM an

Es wird automatisch eine Liste von <ILN>=<email> aufgebaut für die Marktpartner, mit denen Sie kommunizieren. Diese Liste können Sie verwenden, um die E-Mail Adressen von ausgehenden Marktpartnern zu ermitteln. Wenn ein Eintrag vorhanden ist, wird er nicht mehr überschrieben. Sie können also falsche E-Mail Adressen korrigieren. Wenn Sie dieses Feature nicht nutzen wollen, setzen Sie die Global Property WIM_WRITE_TO_MPID_SYNC_WIM = false.  

Aussteuerung mit Clearing Codes

Durch das Auflisten von Clearing Codes unter wim_skip_on_clearing_codes können diese Nachrichten mit diesem Clearing Code von der Weiche ausgeschlossen werden. Außerdem kann mittels wim_force_on_clearing_codes mit einen Clearing Code erzwungen werden, dass die Nachricht in den WiM Channel ausgesteuert wird.

 

IndikatorRouting / Aussteuerung mit Prüfidentifikator

Zusätzlich kann die Weiche noch mit dem Prüfidentifikator übersteuert werden.

Hierfür sind in der Extension GENERIC_MAP Einträge anzulegen, die einer der folgenden Strukturen entsprechen:

Indikator_<Incident>_<Recipient>_<Sender>=<Channel>
Indikator_<Incident>_<Recipient>=<Channel>
Indikator_<Incident>=<Channel>

Mit Incident ist der Vorgang der Edifact gemeint, z.B. 17111.

Mit Sender und Recipient sind ILN von Sender & Empfänger der EDIFACT gemeint. Beachten Sie, dass es sich um eine Inbound-ChannelDistribution handelt.

Falls ein Eintrag zur EDIFACT passt, wird in den entsprechenden Channel geroutet.

Aussteuerung mit Edipath Ausdrücken (WIM_RULE_EXTENSION)

Beispiele:

"WIM_INBOUND_CHANNEL"<==$edipath("UNH+2+0")=="UTILMD" and $edipath("UNB+3+0")=="9999999999999" and $edipath("RFF[1+0=\"Z13\"]+1+1")=="55116";


"TEST_CHANNEL"<==$edipath("UNH+2+0")=="UTILMD" and $edipath("UNB+3+0")=="9999999999999" and $edipath("RFF[1+0=\"Z13\"]+1+1")=="55116";