Valeur NULL vers valeur vide ? Plus de mappage par défaut

Traduit automatiquement de Deepl

Lorsque vous créez un nouveau champ dans votre base de données, 4D vous permet de choisir de mapper la valeur NULL à des valeurs vides ou non. À partir de 4D v19 R4, dans les nouveaux projets, 4D ne mappera plus par défaut la valeur NULL à une valeur vide.

Rappel rapide de l’histoire : les anciennes versions de 4D (avant l’introduction de 4D v11) ne supportaient pas les valeurs NULL. Ni dans la base de données, ni dans le langage.

À partir de 4D v11, les bases de données supportent NULL, ainsi que le langage SQL de 4D, mais pas le langage 4D. Pour cette raison précise, par défaut, l’option « map NULL value to blank values » était présélectionnée pour les champs nouvellement créés. Cela rendait le codage avec le langage 4D beaucoup plus facile.

De retour à aujourd’hui, et avec ORDA, c’est une autre histoire. ORDA est pleinement conscient de NULL et l’utilisation du concept de NULL ouvre beaucoup de possibilités dans votre code.

NULL est utilisé pour marquer les données absentes. Même si la correspondance entre NULL et une valeur vide peut sembler logique, ce n’est pas vraiment la même chose. Par exemple, si un utilisateur saisit un 0 ou n’a jamais rien saisi, cela peut être une différence majeure pour vous ! NULL vous indique qu’aucune valeur n’a jamais été saisie.

ORDA est conçu pour travailler avec des valeurs NULL. Par exemple, la fonction .count() renvoie le nombre d’entités dans la sélection d’entités avec une valeur non nulle. Avec ORDA, c’est une bien meilleure pratique de garder le support de NULL, et ainsi éviter de le mapper à une valeur vide.

Par exemple, si vous avez besoin de compter combien de vos clients ont entré un numéro de téléphone mobile dans leur description, si le champ « mobile » de votre table supporte la valeur Null, écrivez simplement :

$count:=ds.Users.all().count("mobile")

Chaque fois que vous avez besoin de faire correspondre une valeur NULL à une valeur vide, vous pouvez toujours utiliser l’option Map NULL values to blank values dans les propriétés du champ :

ORDA étant devenu le moyen standard de travailler avec 4D, il est maintenant temps de changer la valeur par défaut de cette option. En démarrant un projet avec 4D v19 R4, cette option n’est plus définie par défaut pour les champs nouvellement créés – mais bien sûr, vous pouvez toujours l’activer si nécessaire !

Fabrice Mainguené
- Product Owner -Fabrice Mainguené a rejoint l'équipe du programme 4D en novembre 2016. En tant que Product Owner, il est en charge de rédiger les user stories puis de les traduire en spécifications fonctionnelles. Son rôle est également de s'assurer que l'implémentation de la fonctionnalité livrée répond au besoin du client.Après avoir obtenu une licence en informatique au CNAM, Fabrice a rejoint une petite société d'édition de logiciels en tant que développeur Windev. Il a ensuite travaillé pour différentes entreprises dans les domaines de l'industrie et du commerce en tant que développeur Windev et web ainsi que conseiller technique sur les nouvelles fonctionnalités.