Además de las manipulaciones explicadas en el vídeo, también debe notar que:
El siguiente diagrama ilustra cómo funciona 4D, en otras palabras el modo SELECTION-ACTION:
El concepto de selección actual es una de las nociones fundamentales de 4D que es un poco diferente a los conceptos habituales, especialmente en SQL.
Una selección actual es una lista de registros obtenida por una búsqueda en una tabla (equivalente a la cláusula WHERE en SQL)
En 4D, tenemos continuamente una selección actual por tabla. Esta selección puede contener de 0 a X registros.
La selección actual consiste de la lista de registros en la cual realizaremos los procesos. Puede cambiar la selección actual entre dos procesos.
El código a continuación corresponde al ejercicio realizado en este vídeo (2 líneas de declaraciones de variables simples se añaden en la parte superior):
FIRST RECORD([Technicians]) While(Not(End selection([Technicians]))) QUERY([Interventions];[Interventions]echnician_Initials=[Technicians]ID) // tenemos la lista de intervenciones del técnico en memoria QUERY SELECTION([Interventions];[Interventions]Intervention_Date>=$StartYear;*) QUERY SELECTION([Interventions];&;[Interventions]Intervention_Date<=$EndYear)
Para evitar definir el tamaño de los arrays antes de efectuar el bucle y asignar un valor a la variable $Index durante el proceso (lo que nos lleva a descubrir la función Selected record number), puede utilizar el comando APPEND TO ARRAY.