BAGetPrimarySource('<Datentabelle der RelDef>', 'Relationsdefinition', Stufe, '<Ergebnis Datentabelle>', Formel)

Diese allgemeine BA-Funktion ermöglicht den Zugriff auf einen Quelldatensatz.

Parameter:

  • Datentabelle aus der die Relationsdefinition ausgelesen wird.
  • Die Relationsdefinition.
  • Entweder Text mit ‘direct’, ‘top’ oder ‘nearest’ oder eine positive Zahl für den Level in der Hierachie. Bei ? wird ‘direct’ verwendet. Außer für den direkten Vorgänger wird immer ein hierarchischer Relationstyp benötigt.
  • Definition der möglichen Datentabellen. Wenn ? angegeben wird, werden alle Quellen der Relationsdefinition verwendet. Datentabellen werden kommasepariert angegeben.
  • Optional: Formel. Besteht das Ergebnis aus verschiedenen Datentabellen, kann nur auf die gemeinsamen Datenspalten zugegriffen werden.
Beispiel Erklärung
BAGetPrimarySource('<OrmCRMContact>', 'RelatedCompany', 'direct', ?, [Name]) Der direkte Vorgänger wird ermittelt. Als Ergebnis-Datentabelle wird wegen der Relationsdefinition immer eine Firma zurück geliefert, weswegen man direkt auf eine Datenspalte der „Firma” zugreifen kann.
BAGetPrimarySource('<OrmActivityBase>', 'RelatedParents', ?, ?, [EntityTitle]) Der direkte Vorgänger wird ermittelt. Die Ergebnis-Datentabelle kann wegen der Relationsdefinition eine beliebige Datentabelle sein, weswegen man nur auf gemeinsame Datenspalten zugreifen kann.
BAGetPrimarySource('<OrmActivityBase>', 'RelatedParents', 'Top', '<OrmCRMCompany>', [Name]) Der oberste Vorgänger aus der Datentabelle „Firma” wird ermittelt.
BAGetPrimarySource('<OrmActivityBase>', 'RelatedParents', 'Top', ?, [Common_EntityTitle]) Der oberste Vorgänger aus einer beliebigen Datentabelle wird ermittelt.
BAGetPrimarySource('<OrmActivityBase>', 'RelatedParents', 'Nearest', '<OrmCRMCompany>,<OrmCRMContact>', [EntityTitle]) Der übergeordnete Vorgänger aus der Datentabelle „Firma” oder „Kontakt” wird ermittelt.
BAGetPrimarySource('<OrmActivityBase>', 'RelatedParents', 2, ?, [EntityTitle]) Der zweite Vorgänger aus einer beliebigen Datentabelle wird ermittelt.
Iif(IsNull(BAGetPrimarySource('<OrmActivityBase>', 'RelatedParents', 'Nearest', '<OrmCRMContact>')), 'Nur Firma', 'Kontakt vorhanden') Wenn kein übergeordneter Vorgänger aus der Datentabelle „Kontakt” existiert wird ‘Nur Firma’ sonst ‘Kontakt vorhanden’ ausgegeben.
Iif(IsNull(BAGetPrimarySource('<OrmCRMContact>', 'RelatedCompany', ?, ?)), 'Kein direkte Firma', BAGetPrimarySource('<OrmCRMContact>', 'RelatedCompany', ?, ?, [Name])) Wenn kein direkter Vorgämger aus der Datentabelle „Firma” existiert wird ‘Keine direkte Firma’ sonst der Firmanname ausgegeben.
BAGetPrimarySource('<OrmFollowUp>', 'RelatedParents', 'Nearest', '<OrmCRMCompany>', BAGetPrimarySource('<OrmCRMCompany>', 'RelatedResponsiblePerson', ?, ?)) = BACurrentUser() Der Betreuer der übergeordneten Firma wird mit dem aktuellen Benutzer verglichen.
BAGetPrimarySource('<OrmFollowUp>', 'RelatedParents', 'Nearest', '<OrmCRMCompany>', BAGetPrimarySource('<OrmCRMCompany>', 'RelatedResponsiblePerson', ?, ?, [LastName])) Der Nachname des Betreuers der übergeordneten Firma.