Přechod mezi aktuálními výběry na ORDA a zpět

Automaticky přeloženo z Deepl

ORDA je zásadní novinkou 4D v17, a proto 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])

Avatar
• Product Owner • Marie-Sophie Landrieu-Yvert se připojila k programovému týmu 4D jako Product Owner v roce 2017. Jako Product Owner má na starosti psaní uživatelských příběhů a jejich převod do funkčních specifikací. Její úlohou je také zajistit, aby implementovaná funkce odpovídala potřebám zákazníka. Marie-Sophie vystudovala inženýrskou školu ESIGELEC a svou kariéru zahájila jako inženýrka v IBM v roce 1995. Podílela se na různých projektech (projekty údržby nebo výstavby) a pracovala jako vývojářka Cobol. Poté pracovala jako UML designer a Java developer. V poslední době byly jejími hlavními rolí analyzovat a psát funkčních požadavky a koordinovat obchodní a vývojové týmy.