Aperak-, Contrl-Handling mit B2B by Practice zum 1.10.2010
Dieser Artikel beschreibt die Einrichtung des Aperak- und Contrl-Handlings für den 1.10.2011. Die verwendeten Formate sind CONTRL 1.3d (ist gleich geblieben) und APERAK 2.0f. Da gewisse Informationen von Installation zu Installation unterschiedlich sein können, wird an diesen Stellen auf das eigene Customizing verwiesen und eine allgemeingültige Form gewählt.
Um die notwendigen Customizing-Einstellungen durchführen zu können, müssen Sie zunächst die aktuelle Version in Ihren Application Server einspielen. Laden Sie diese Datei bitte aus dem Downloadbereich des B2B-WIKIs herunter.
Ab dem 1.10.2011 wird eine Unterscheidung der Aperak Fehler Qualifier vorgneommen. Bei Modellfehlern (Z01-Z08) handelt es sich um Fehler, die die vollständige Nachricht ablehnt. Die Verarbeitbarkeitsfehler basieren auf einer inhaltlichen Prüfung, die Geschäftsprozesse beeinflussen kann. Für die B2B müssen diese Aperak Nachrichten an das System weitergeleitet werden, in dem die Geschäftslogik umgesetzt wurde.
Für die Ermittlung des richtigen Channel für eingehende Aperak, muss die Channel Distribution „org.b2bbp.channels.extension.CheckAperakError“ in der Extension EXT_CHANNEL_DIST konfiguriert werden. Die Einrichtung erfolgt analog zu den schon existierenden.
Beispiel:
registered.classes=org.b2bbp.channels.extension.IndexingService;\ org.b2bbp.channels.extension.CheckDuplicateMessageEntry;\ org.b2bbp.channels.extension.CheckAperakError;\ … org.b2bbp.channels.extension.CheckAperakError=* org.b2bbp.channels.extension.CheckAperakError.executeOnChannelId=*
Die Channel Distribution untersucht die eingehende Aperak auf die Fehlerkategorie und stellt diese im MessageContext unter der Eigenschaft „APERAK_ERROR_TYPE“ zur Verfügung. Über den PatternBased-Ansatz wird die Konfiguration der Channels in die GENERIC_MAP Extension verlagert. Die Konfiguration könnte zum Beispiel so aussehen:
Beispiel (GENERIC_MAP):
CD_APERAK_ERROR.pattern=${template(&(this.APERAK_ERROR_TYPE)_ &(this.FORMAT.partnerCode))}
# Standardverarbeitung Z01-Z08 2.0F
CD_APERAK_ERROR= M=INBOUND_APERAK
# Aussteuerung Z09-Z13 in Richtung SAP
CD_APERAK_ERROR=V_=INBOUND_MPID1
CD_APERAK_ERROR=V_=INBOUND_MPID2
CD_APERAK_ERROR=V_=INBOUND_MPID3
Neben den bisher schon bekannten Modellfehler- und Marktpartnerprüfungen sind seit der Version 2.0c auch Überprüfungen auf Referenznummern hinzugekommen. Nachrichten mit der selben Referenznummer eines Marktpartners, die erfolgreich mit B2B by Practice verarbeitet wurden, werden mit Aperak Z07 abgelehnt. Diese muss in B2B by Practice vor der Ermittlung der Channels durchgeführt werden.
Richten Sie folgende Actions ein, wie Sie hier zu sehen sind.
| Einrichtung Aperak Action 2.0e |
|---|
| Name | Klasse | Urheber | Typ | Version | Beschreibung |
|---|---|---|---|---|---|
| Aperak Action 2.0f | org.b2bbp.validation.AperakAction20f | b2bbp.org | JAVA | 1.1 | Die Action erstellt ein APERAK EdiFact auf der Basis der Modellfehler. Für die Befüllung der Segment CTA und COM müssen an dieser Actions Eigenschaften gepflegt werden. |
| Einrichtung Aperak Action 2.0e Eigenschaften |
|---|
| Name | Typ | Wert | Kontext überschreiben | Optionen |
|---|---|---|---|---|
| B3P_ALTERNATIVE_SERVICE_ID | java.lang.String | <Einen alternativen Service, anstatt MailService> | NEIN | technisch |
| PERSIST_TECHNICAL | java.lang.String | B3P_BASE_SERVICE_ID;B3P_BASE_MESSAGE;B3P_BASE_CHANNEL_ID; B3P_APERAK_USED_SERVICE_ID;B3P_APERAK_FOLDER | NEIN | technisch |
| B3P_APERAK_CONTACT | java.lang.String | <Kontaktperson, die im CTA Segment erscheinen soll> | NEIN | technisch |
| B3P_APERAK_COMM_ADDRESS | java.lang.String | <Kontaktadresse, die im COM Segment erscheinen soll (COMMTYPE muss dann auch angegeben werden.)> | NEIN | technisch |
| B3P_APERAK_COMM_TYPE | java.lang.String | <Kontakttyp, Qualifier, die im COM Segment erscheinen soll> | NEIN | technisch |
| B3P_TARGET_CHANNEL | java.lang.String | <Channel, über den die APERAK versendet wird> | NEIN | technisch |
Ab dem 1.04.2011 wird die Version CONTRL 1.3d verwendet. Dazu muss die Action ContrlAction13d eingesetzt werden.
| Einrichtung Contrl Action 1.3d |
|---|
| Name | Klasse | Urheber | Typ | Version | Beschreibung |
|---|---|---|---|---|---|
| Contrl Action 1.3d | org.b2bbp.runtime.actions.internal.ContrlAction13d | b2bbp.org | JAVA | 1.1 | Die Action erstellt ein CONTRL EdiFact in der Version 1.3d. |
| Einrichtung Contrl Action 1.3d Eigenschaften |
|---|
| Name | Typ | Wert | Kontext überschreiben | Optionen |
|---|---|---|---|---|
| B3P_MAIL_BODY_CONTENT | java.lang.String | <Verweis auf das CONTRL-Mailtenplate> | JA | verpflichtend, technisch |
| B3P_MAIL_FROM | java.lang.String | <Verweis auf einen Absender dieser CONTRL Nachricht> | NEIN | technisch |
| B3P_ALTERNATIVE_SERVICE_ID | java.lang.String | <Alternativer Service zum MailService> | NEIN | technisch |
Legen Sie einen neuen Channel an und vergeben Sie als Namen "DUPLICATE_MESSAGE_CHANNEL" . Wir empfehlen, die unten aufgeführten Actions in diesen Channel einzubinden. Sollten Sie diesen Channel schon angelegt haben, denken Sie bitte daran, dass Sie die aktuellen Contrl- und Aperak-Actions verwenden.
Der neue Channel „DUPLICATE_MESSAGE_CHANNEL“ zeigt in Richtung „ERP“.
Folgende Actions sollten eingerichtet werden:
!Hinweis: Die Aperak Action 2.0e erstellt wie die Vorgänger-Action auch nur die APERAK EDIFact Nachricht und stellt dieser zur weiteren Prozessierung wieder in die B2B-Queue. Von dort wird die Nachricht im Standard Aperak Channel „OUTBOUND_APERAK“ verarbeitet.
Die Modellfehlerprüfung Z07 wird über eine ChannelDistribution ausgeführt. Nach dem Deployment steht die Klasse zur Ausführung zur Verfügung. Jetzt muss diese in die Abfolge der ChannelDistributions eingefügt und konfiguriert werden.
Tragen Sie die Klasse org.b2bbp.channels.extension.CheckAperakDuplicateMessage in der Extension „EXT_CHANNEL_DIST“ unter registered.classes als ersten Eintrag ein.
registered.classes=org.b2bbp.channels.extension.CheckAperakDuplicateMessage;\
…;\
Zur Feinkonfiguration legen Sie bitte folgende Eigenschaften in dieser Datei an. Die Position der Einträge spielt keine Rolle.
org.b2bbp.channels.extension.CheckAperakDuplicateMessage.regsiteredServiceIds=* org.b2bbp.channels.extension.CheckAperakDuplicateMessage.executeOnChannelId=INBOUND_NEW;INBOUND;...
Die ChannelDistribution muss nur für INBOUND-Prozesse ausgeführt werden. In diesem Beispiel wurde die Ausführung nur an diese Channels gebunden. Es ist genauso denkbar, die Ausführung an ServiceIds zu binden, oder einen Mix aus ServiceIds und ChannelIds.
org.b2bbp.channels.extension.CheckAperakDuplicateMessage.skipChannelDistributionOnChannelId=DUPLICATE_MESSAGE_CHANNEL
Die ChannelDistribution soll beendet werden, wenn ein Modellfehler festgestellt wurde. Hier wird dann der Channel DUPLICATE_MESSAGE_CHANNEL ausgeführt.
Um CONTRLs 1.3d im Eingang verarbeiten zu können fügen Sie zu allen Actions der Klasse org.b2bbp.runtime.actions.internal.GetReferenceNumberAction die Eigenschaften, wie Sie in der Tabelle stehen, hinzu. Ohne diese Einträge steht der Action sonst kein Pattern zur Analyse zur Verfügung steht. Gehen Sie hierzu unter Administration auf den Karteireiter Actions und suchen Sie alle definierten Actions, die in der Spalte Klasse den wert "org.b2bbp.runtime.actions.internal.GetReferenceNumberAction" haben.
| Einrichtung Action org.b2bbp.runtime.actions.internal.GetReferenceNumberAction Eigenschaften |
|---|
| Name | Typ | Wert | Kontext überschreiben | Optionen |
|---|---|---|---|---|
| edi.CONTRL.1.3D.state | java.lang.String | UCI+4+1 | NEIN | technisch |
| edi.CONTRL.1.3D.referenceNumber | java.lang.String | UCI+1+1 | NEIN | technisch |
Um APERAKs 2.0f im Eingang verarbeiten zu können fügen Sie zu allen Actions der Klasse org.b2bbp.runtime.actions.internal.AperakCosnumerAction die Eigenschaften, wie Sie in der Tabelle stehen, hinzu. Ohne diese Einträge steht der Action sonst kein Pattern zur Analyse zur Verfügung steht. Gehen Sie hierzu unter Administration auf den Karteireiter Actions und suchen Sie alle definierten Actions, die in der Spalte Klasse den wert "org.b2bbp.runtime.actions.internal.AperakConsumerAction" haben.
| Einrichtung Action org.b2bbp.runtime.actions.internal.AperakConsumerAction Eigenschaften |
|---|
| Name | Typ | Wert | Kontext überschreiben | Optionen |
|---|---|---|---|---|
| edi.APERAK.2.0F.referenceNumber | java.lang.String | RFF+1+1 | NEIN | technisch |
Die Prüfung wird nun standardmäßig im Next Level Converter durchgeführt.
Um Ihre Customizing-Änderungen für den Betrieb zu übernehmen, müssen Sie die Anwendung jetzt einmal neustarten! Sie haben das Aperak- und Contrl-Handling zum 1.10.2011 aktiviert.
Die hier beschriebenen Komponenten sind lediglich unter Verwendung des Next Level Converters getestet worden