Andare avanti e indietro tra le selezioni correnti e ORDA

Tradotto automaticamente da Deepl

ORDA è una delle principali innovazioni di 4D v17, per questo motivo stiamo dedicando un’intera serie di post del blog a ORDA. Sebbene ORDA abbia concetti propri molto diversi dall’approccio classico, è comunque possibile combinare ORDA con il codice esistente.

In breve, questo post vi mostrerà come aggiornare la selezione corrente di una tabella da una selezione di entità e come ottenere una selezione di entità dalla selezione corrente di una tabella. Vi permetterà di integrare senza problemi i concetti diORDA nel vostro codice 4D esistente, passo dopo passo.

Esempio: dalla selezione di entità alla selezione corrente e viceversa

INTRODUZIONE

Con ORDA, l’accesso ai dati avviene attraverso un livello di astrazione: il datastore. Un datastore è un oggetto che fornisce un’interfaccia al database e ai suoi dati attraverso gli oggetti. Ricordiamo che in ORDA ogni tabella è mappata con una classe di dati.

Una volta ottenuta una selezione di entità relativa a una classe di dati, è possibile aggiornare la selezione corrente della [Tabella] corrispondente con il comando USE ENTITY SELECTION con il comando Inoltre, una volta che si dispone di una selezione corrente su una [Tabella], si può ottenere una selezione di entità relativa alla classe di dati corrispondente con il comando Create entity selection comando.

Per guidarvi nell’esplorazione delle funzionalità di ORDA , abbiamo preparato un glossario dei diversi termini e concetti, insieme alla loro definizione.

Esempio di codice

Selezione corrente da una selezione di entità

Nel codice sottostante, la selezione dell’entità $entitySelection è relativa alla classe di dati Employee che corrisponde alla tabella [Employee] con lo stesso nome. Il comando USE ENTITY SELECTION aggiorna di conseguenza la selezione corrente della tabella.

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])
//...

selezione dell’entità da Selezione attuale

In questo caso, la selezione corrente è stata aggiornata dopo aver eseguito una query sulla tabella [Employee]. Il comando Create entity selection() crea di conseguenza la selezione di entità $entitySelection. La selezione di entità creata è collegata alla tabella 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([Employee])

Avatar
- Product Owner - Marie-Sophie Landrieu-Yvert è entrata a far parte del team 4D Product come Product Owner nel 2017. In qualità di Product Owner, è incaricata di scrivere le storie degli utenti e di tradurle in specifiche funzionali. Il suo ruolo è anche quello di assicurarsi che l'implementazione della funzionalità fornita soddisfi le esigenze del cliente.Marie-Sophie si è laureata presso la scuola di ingegneria ESIGELEC e ha iniziato la sua carriera come ingegnere presso IBM nel 1995. Ha partecipato a vari progetti (di manutenzione o di costruzione) e ha lavorato come sviluppatrice Cobol. In seguito ha lavorato come progettista UML e sviluppatore Java. Ultimamente i suoi ruoli principali erano l'analisi e la scrittura dei requisiti funzionali, il coordinamento dei team di business e di sviluppo.