Ir y venir de las selecciones actuales a ORDA

Traducido automáticamente de Deepl

ORDA es una de las principales innovaciones de 4D v17, es por ello que estamos dedicando una serie completa de entradas de blog a ORDA. Aunque ORDA tiene sus propios conceptos que son muy diferentes del enfoque clásico, todavía es posible mezclar ORDA con su código existente.

En pocas palabras, esta entrada del blog le mostrará cómo puede actualizar la selección actual de una tabla desde una selección de entidad y obtener una selección de entidad desde la selección actual de una tabla. Le permitirá integrar sin problemas los conceptosde ORDA en su código 4D existente, paso a paso.

Ejemplo: de la selección de entidades a la selección actual y viceversa

INTRODUCCIÓN

Con ORDA, se accede a los datos a través de una capa de abstracción: el datastore. Un datastore es un objeto que proporciona una interfaz a la base de datos y sus datos a través de objetos. Y recuerde, con ORDA cada tabla se mapea con una clase de datos.

Una vez que tenga una selección de entidad relacionada con una clase de datos, puede actualizar la selección actual de la [Tabla ] correspondiente con el USE ENTITY SELECTION comando. Y, una vez que tenga una selección actual en una [Tabla ], puede obtener una selección de entidad relacionada con la clase de datos correspondiente con el comando Create entity selection comando.

Para guiarte en la exploración de las características de ORDA , hemos preparado un glosario de los diferentes términos y conceptos, junto con su definición.

Ejemplo de código

Selección actual de una selección de entidades

En el código siguiente, la selección de entidades de $entitySelection está relacionada con la Employee clase de datos que en realidad corresponde a la tabla del mismo nombre [Empleado]. El comando USE ENTITY SELECTION actualiza la selección actual de la tabla en consecuencia.

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

selección de entidades de la selección actual

Aquí, la selección actual se ha actualizado después de realizar una consulta en la tabla [Empleado]. El comando Create entity selection() crea la selección de entidades $entitySelection. La selección de entidades creada está relacionada con la tabla 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([Empleado]
)

Avatar
• Propietario de producto - Marie-Sophie Landrieu-Yvert ingresó al equipo de 4D Product como Propietario de producto en 2017. Como tal, está a cargo de escribir las historias de los usuarios y luego traducirlas en especificaciones funcionales. Su papel es también asegurarse de que la implementación de la funcionalidad entregada cumpla con las necesidades del cliente. Marie-Sophie se graduó en la Escuela de Ingeniería de ESIGELEC y comenzó su carrera como ingeniera en IBM en 1995. Participó en varios proyectos (de mantenimiento y creación) y trabajó como desarrolladora de Cobol. Luego trabajó como diseñadora de UML y desarrolladora de Java. Sus principales funciones fueron analizar y redactar requisitos funcionales, coordinar los equipos de negocio y de desarrollo.