====== 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 MiddleWare((Die eBiss MiddleWare repräsentiert ein Abstraktionslayer zwischen EDIFACT und kundenspezifischer INHOUSE Nachrichtenstruktur dar und ernöglicht die Anzahl der insgesamt benötigten Mappings und den Wartungsaufwand zu minimieren. Es existieren MiddleWare Ausprägung für Hertsteller und Retailer. Siehe auch [[ueberblick:start#schema_der_zwei-stufigen_transformierung| Zweistufige Transformierung]])) 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 D01b). Die Nachrichten sind zwar in der Inbox, werden aber nicht weiter verarbeitet. - 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. - Dann prüfen wir, ob der entsprechende Eingangstyp, in diesem Fall **eBiss.MappingObjects.Edifact.D01B.Messages.INVOIC.INVOIC** im EDIFACT Repository bei den Etitä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.\\ {{:howtos:edifactd01b_etities.png?nolink|}} - 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 erster Transformer das Mapping mit der __Selektionsstrategie__ **ByPartnersPreference** und dem __TargetEntityTypeName__ **eBiss.Industry.Invoice** auswählt. - Als letztes muss noch ein entsprechendes Typset im StandardTemplatePartner für die Mappingselektion des oben eingestellten Transformers angelegt werden. Dazu im TemplatePartner eine neues Typset definierten 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 D93a) - 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. - da es für den SLSRPT D93a 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 zwischen den verschiedenen EDIFACT Releases ändern bzw. noch nicht vorhanden sein. - Nun erzeugen wir noch den Typssatz beim fordernden Partner mit der Kommunikationsrichtung **Ausgehend**, dem Typ **eBiss.Retail.SalesReport** und dem zuvor angelegten Mapping