Condiciones y bucles
Independientemente de la simplicidad o la complejidad de un método, siempre utilizará uno o varios de los tres tipos de estructuras de programación. Las estructuras de programación determinan el flujo de ejecución, si se ejecutan y el orden de las líneas de instrucciones dentro de un método. Hay tres tipos de estructuras:
- Secuencial: una estructura secuencial es una estructura simple y lineal. Una secuencia es una serie de sentencias que 4D ejecuta una tras otra, de la primera a la última. Una instrucción de una línea, utilizada frecuentemente para los métodos de los objetos, es el caso más simple de una estructura secuencial. Por ejemplo: 
[People]lastName:=Uppercase([People]lastName) - Branching: una estructura de bifurcación permite que los métodos prueben una condición y tomen caminos alternativos, dependiendo del resultado. La condición es una expresión booleana, una expresión que evalúa TRUE o FALSE. Una estructura condicional es la estructura 
If...Else...End if, que dirige el flujo del programa a lo largo de uno de los dos caminos. The other branching structure is theCase of... Else...End casestructure, which directs program flow to one of many paths. - Bucle: cuando se escriben métodos, es muy común encontrarse con que se necesita que una secuencia de sentencias se repita un número de veces. Para hacer frente a esta necesidad, el lenguaje 4D ofrece las siguientes estructuras de bucle:
While...End whileRepeat...UntilFor...End forFor each...End for each
Los bucles se controlan de dos maneras: o bien hacen un bucle hasta que se cumpla una condición, o bien hacen un bucle un número determinado de veces. Cada estructura de bucle puede utilizarse de cualquier manera, pero los buclesWhiley los buclesRepeatson más apropiados para repetir hasta que se cumpla una condición, y los buclesForson más apropiados para hacer un bucle un número determinado de veces.For each...End for eachpermite la mezcla en ambos sentidos y está diseñado para realizar bucles dentro de objetos y colecciones.
 
Nota: 4D permite anidar estructuras de programación hasta una "profundidad" de 512 niveles.