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. |