Nachtrag:
Und wie man diese wieder aus einer Umgebung löscht

Nachdem ich die Microsoft Information über die Preview-Verfügbarkeit der Multi-Table Lookups (auch als Polymorphe Lookups) gelesen hatte, war ich zunächst etwas enttäuscht, dass diese Funktion erstmal nur per API verfügbar sein sollte und eine Lösung für nicht-Entwickler erst zu einem späteren Zeitpunkt zur Verfügung stehen würde.

Aber, wieder einmal kann man sich auf die Dynamics 365 CE / Power Platform Community verlassen. Die offizielle Meldung war noch nicht einmal 24 Stunden veröffentlicht, als ich beim Aktualisieren der XRMToolbox ein neues Plugin von Tanguy entdeckt habe, den Polymorphic Lookup Creator 😀😀

XRM Toolbox Plugin – Polymorphic Lookup Creator

Ich habe dann direkt ein paar unterschiedliche Szenarien mit der Toolbox ausprobiert – Multi-Table Lookups mit 2,3 oder 4 Standardtabellen, mit entsprechenden Custom Tabellen oder auch gemischt Custom- und Standardtabellen. Und ich kann sagen, bislang bin ich ziemlich zufrieden mit dem, was ich gesehen habe.

Hier aber ein paar Dinge die mir aufgefallen sind:

  • In der Columns Ansicht im Maker Portal werden die Multi-Table Lookups als ganz normaler Lookup-Datentyp angezeigt (keine Unterscheidung wie z.B. bei Choice oder Choices)
Maker Portal: Column Ansicht
  • Bei der Detailansicht der Column wird zumindest aktuell (Preview) nur die alphabetisch erste Related Table angezeigt, sowie die dazugehörige Relationship
Maker Portal: Detailansicht Column
  • Im Bereich Relationships werden alle 3 Many-to-One Beziehungen angezeigt, und zumindest über das XRMToolbox Plugin lassen sich aktuell keine eigenen Relationship Namen angeben.
Maker Portal: Relationships
  • Auf der Form selber sieht das Multi-Table Lookup Feld genauso aus, wie jedes andere Lookup Feld, und Einstellungen, die für Lookup Felder vorgenommen werden können stehen im Maker Portal und der App gleichermaßen zur Verfügung
Maker Portal: Form Einstellungen
Model Driven App – Multi-Table Lookup auf der Form
  • Auch die neue Funktion der Advanced Lookups steht mit den Multi-Table Lookups zur Verfügung
Model Driven App: Multi-Table Lookup mit aktiviertem Advanced Lookup

Interessant wird es dann jedoch, wenn man versucht das Multi-Table Lookup wieder aus der Umgebung zu entfernen – hierzu der folgende Nachtrag.

Wie man Multi-Table Lookups wieder löscht

Dem ein oder anderen wird es vielleicht gar nicht auffallen, dass es Probleme beim löschen des Lookups geben kann – aber dazu gleich mehr.

Im Maker Portal, der neuen Entwicklungsumgebung, passiert folgendes:

  • Wähle ich z.B. bei einem Multi-Table Lookup das auf 3 Tabellen verweist den Delete Befehl aus, so scheint es zunächst, dass nach dem Klick auf Delete Column und Save Table nichts passiert. Die Column wird nach der Durchführung des Löschvorgangs weiterhin angezeigt aber es erscheint auch keine Fehlermeldung.
  • Den Vorgang kann ich bei dieser Konstellation jetzt auch noch ein weiteres Mal wiederholen – mit demselben Erfolg / Nicht-Erfolg. Die Column ist nach dem Löschen noch weiterhin vorhanden.
  • Wechsle ich jedoch zwischendurch einmal auf den Reiter Relationships, sehe ich, das bei jedem Löschvorgang eine der Beziehungen des Multi-Column Lookup gelöscht wurde und nach den beiden „erfolglosen“ Löschversuchen nur noch eine Relationship vorhanden ist.
Maker Portal: 3 Relationships
Maker Portal: 2 Relationships nach dem 1. Löschdurchgang
Maker Portal: 1 Relationship nach dem 2. Löschvorgang
  • Interessanterweise ändert sich hierbei auch die angezeigte Verknüpfung bei den Colums Details des Lookups. Wird zunächst immer die alphabetisch zuerst kommende Relationship angezeigt, wird beim Löschen diese auch als erste gelöscht – so sieht man in meinem Beispiel den Wechsel von Opportunity zu Quote zu Order (salesorder).
  • Wenn nur noch eine Relationshiip vorhanden ist, schlägt der letzte, endscheidende Löschversuch jedoch fehl und auch der Versuch die Relationship direkt zu Löschen ruft dieselbe Fehlermeldung, das eine Abhängigkeit vorliegt, hervor
Maker Portal: Fehlermeldung beim Versuch den 3. Löschvorgnag durchzuführen

Die Lösung 😀

So schnell wollte ich dann aber doch nicht aufgeben. Der Wechsel in den klassischen Editor zeigt sehr schnell – hier gibt es kein Problem. Die letzte verblieben Relationship bzw. das Feld kann dort ohne Probleme und Fehlermeldung gelöscht werden und nach einem Klick auf Publish ist dieses auch im Maker Portal entfernt.

Ein weiterer Test zeigt – im klassischen Editor werden direkt alle Relationships entfernt. Also auch bei einem Multi-Table Lookup Feld mit Beziehungen zu 3 anderen Tabellen kann ich dieses direkt löschen, ohne dass ich den Löschvorgang für jede Relationship wiederholen muss.

Wer also im klassischen Editor unterwegs ist, wird wahrscheinlich von diesem Verhalten gar nichts mitbekommen, wer im Maker Portal unterwegs ist, hat hier hoffentlich die Lösung gefunden.

Klassischer Editor: Löschvorgang Erfolgreich auch bei 3 vorhandenen Relationships

No responses yet

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.