Inhaltsverzeichnis

Mappings aus StandardTemplates importieren und verwenden

Im Ordner ..\eBiss3\StandardTemplates\Mappings werden im ausgerollten Zustand bereits viele Mappings für die Verarbeitung von eingehenden EDIFACT-Nachrichten mitgeliefert. Ebenso stehen auch die wesentlichen Mappings für das Erzeugen der EDIFACT-Nachrichten aus den MiddleWare1) -Typen zur Verfügung.

Mögliche Szenarien

Neuer eingehender EDIFACT Release-Typ

Ein Partner sendet eine EDIFACT-Nachricht in einem bisher noch nicht verwendeten EDIFACT Release (z.Bsp. INVOIC D.01B). Die Nachrichten sind zwar in der Inbox, werden aber nicht weiter verarbeitet.

  1. Als Rechnungsempfänger sind wir i.d.R. in einer RETAILER-Rolle. D.h. wir finden den Ordner ..\eBiss3\StandardTemplates\Mappings\Retail\ und darin das Mapping eBiss.Retail.Invoic.D01B.emapXml. Dieses importieren wir bei den Mappings.
  2. Dann prüfen wir, ob der entsprechende Eingangstyp, in diesem Fall eBiss.MappingObjects.Edifact.D01B.Messages.INVOIC.INVOIC im EDIFACT-Repository bei den Entitätstypen in den beiden benötigten Suptypen 380 und 381 deklariert ist. Falls nicht, deklarieren wir diese wie in der Abbildung und achten auf die Einstellung der Lesekomponente.
  3. Nun müssen wir noch sicherstellen, dass in dem Standard INBOUND-Job der Selektor für die INVOICes mit der Selektionsstrategie ByTArgetTypeSet und dem SelectEntityTypeName eBiss.Industry.Invoice bestimmt und der erste Transformer das Mapping mit der Selektionsstrategie ByPartnersPreference und dem TargetEntityTypeName eBiss.Industry.Invoice auswählt.
  4. Zuletzt muss noch ein entsprechendes Typset im StandardTemplatePartner für die Mappingselektion des oben eingestellten Transformers angelegt werden. Dazu im TemplatePartner eine neues Typset definieren mit der Kommunikationsrichtung Eingehend, dem Typ EDIFACT D.01B INVOIC (CommercialInvoice 380) und dem Mapping eBiss.MappingObjects.Edifact.D01B.Messages.INVOIC.INVOIC anlegen.

Neuer ausgehender EDIFACT Release-Typ

Ein Partner fordert EDIFACT-Nachrichten in einem bisher noch nicht verwendeten EDIFACT Release (z.Bsp. SLSRPT D.93A) an.

  1. Wir prüfen zunächst die Existenz des Entitätstypen eBiss.MappingObjects.Edifact.D93A.Messages.SLSRPT.SLSRPT im EDIFACT-Repository. Falls dieser dort nicht existiert, muss er angelegt werden. Hierbei ist darauf zu achten, dass Kontainerisierer und Schreibkomponente deklariert sind.
  2. Wenn für den SLSRPT D.93A kein Mapping im Ordner ..\eBiss3\StandardTemplates\Mappings\Retail\D93A existiert, müssen wir dieses erst definieren. Am einfachsten legen wir dafür eine Kopie des ..\eBiss3\StandardTemplates\Mappings\Retail\D96A\eBiss.Retail.Slsrpt.D96A.eMapXml an, ändern den Zieltyp auf eBiss.MappingObjects.Edifact.D93A.Messages.SLSRPT.SLSRPT und machen allfällige Korrekturen in den Datenzielen, denn bestimmte Segmente können sich zwischen den verschiedenen EDIFACT Releases ändern bzw. noch nicht vorhanden sein.
  3. Nun erzeugen wir noch den Typsatz beim fordernden Partner mit der Kommunikationsrichtung Ausgehend, dem Typ eBiss.Retail.SalesReport und dem zuvor angelegten Mapping.
1)
Die eBiss-MiddleWare repräsentiert ein Abstraktionslayer zwischen EDIFACT und kundenspezifischer INHOUSE-Nachrichtenstruktur. Dank der eBiss-MiddleWare sinkt die Anzahl der insgesamt benötigten Mappings signifikant, und der Wartungsaufwand wird minimiert. Die MiddleWare existiert in je einer Ausprägung für Hersteller und Retailer. Siehe auch Zweistufige Transformierung