ORDA je zásadní novinkou 4D v17, a proto jí věnujeme celou sérii blogových příspěvků. Ačkoli má ORDA vlastní koncepty, které se od klasického přístupu značně liší, stále je možné kombinovat ORDA s vaším stávajícím kódem.
Ve zkratce vám tento blogový příspěvek ukáže, jak můžete aktualizovat aktuální výběr tabulky z výběru entit a získat výběr entit z aktuálního výběru tabulky. Umožní vám plynule začlenit konceptyORDA do vašeho stávajícího kódu 4D, a to krok za krokem.
Příklad: z výběru entit do aktuálního výběru a naopak
ÚVOD
V systému ORDA se k datům přistupuje prostřednictvím abstrakční vrstvy: datového skladu. Datové úložiště je objekt, který poskytuje rozhraní k databázi a jejím datům prostřednictvím objektů. A nezapomeňte, že v ORDA je každá tabulka mapována datovou třídou.
Jakmile máte k dispozici výběr entit vztahující se k datové třídě, můžete aktualizovat aktuální výběr příslušné [tabulky] pomocí příkazu USE ENTITY SELECTION příkazem. A jakmile máte aktuální výběr [Tabulka], můžete získat výběr entit související s odpovídající datovou třídou příkazem wtih Create entity selection příkazem.
Abychom vás provedli průzkumem funkcí ORDA , připravili jsme slovníček různých pojmů a konceptů spolu s jejich definicemi.
Příklad kódu
Aktuální výběr z výběru entit
V níže uvedeném kódu se výběr entity $entitySelection vztahuje k třídě třídy Employee datové třídy, která ve skutečnosti odpovídá stejnojmenné tabulce [Zaměstnanec]. Příkaz USE ENTITY SELECTION příkaz odpovídajícím způsobem aktualizuje aktuální výběr tabulky.
C_OBJECT($entitySelection)
$entitySelection :=ds.Employee.query("lastName=:1"; "R@")
// The current selection of the [Employee] table is replaced according to the content of $entitySelection
USE ENTITY SELECTION (
$entitySelection)
//... Go on with your classic 4D code ...
PRINT SELECTION (
[Employee])
//...
výběr subjektu z Aktuální výběr
Zde byl aktuální výběr aktualizován po provedení dotazu na tabulku [Zaměstnanec]. Příkaz Create entity selection() příkaz odpovídajícím způsobem vytvoří výběr entity $entitySelection. Vytvořený výběr entit se vztahuje k Employee dataclass.
C_OBJECT($entitySelection)
// The current selection of the [Employee] table is updated after the query
QUERY ([Employee])
// $entitySelection is created from the current selection of the [Employee] table
$entitySelection :=Create entity selection([Zaměstnanec])