4D v14.3Lire cle sous enregistrement |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
Lire cle sous enregistrement
Lire cle sous enregistrement
La commande Lire cle sous enregistrement est destinée à faciliter la migration du code 4D utilisant des sous-tables converties vers le code standard de manipulation des tables. Rappel : Les sous-tables ne sont plus prises en charge à compter de la version 11 de 4D. Lors de la conversion d’une ancienne base, les sous-tables existantes sont automatiquement transformées en tables standard reliées aux tables d’origine par un lien automatique. La sous-table devient une table “N” et la table d’origine la table “1”. Dans la table 1, l’ex-champ de type sous-table est transformé en champ spécial de type “Lien sous-table” et dans la table N, un champ spécial, également de type “Lien sous-table” est ajouté. Il est nommé “id_added_by_converter”. Ce principe permet de préserver le fonctionnement des bases de données converties, mais il est fortement conseillé de remplacer les mécanismes des sous-tables par ceux des tables standard. La première étape de ce processus consiste à supprimer le lien automatique spécial, ce qui désactive définitivement les mécanismes hérités des sous-tables. Cette opération nécessite ensuite de réécrire le code associé. La commande Lire cle sous enregistrement accompagne cette réécriture en renvoyant l’identifiant interne utilisé par le lien. Elle permet de s’affranchir du lien et donc de travailler avec la sélection de l’ancienne sous-table, que le lien soit présent ou non. Examinons par exemple la structure (convertie) suivante : Dans 4D, le code suivant continue de fonctionner mais il doit être mis à jour : TOUS LES SOUS ENREGISTREMENTS([Employés]Enfants) Vous pouvez désormais remplacer ce code par : CHERCHER([Employés_Enfants];[Employés_Enfants]id_added_by_converter=Lire cle sous enregistrement([Employés]Enfants)) Note : S’il n’y a pas d’enregistrement courant chargé au moment de son exécution, Lire cle sous enregistrement retourne 0. Le second code présente le double avantage d’utiliser des commandes standard de 4D et de fonctionner de manière identique, que le lien soit présent ou non. Lorsque vous supprimerez le lien, la commande retournera simplement la valeur clé stockée dans le champ Entier long. La commande accepte dans le paramètre champ_ID soit un champ de type Lien sous-table (lien existant) soit de type Entier long (lien supprimé). Dans tous les autres cas, une erreur est générée. Ce principe permet d’écrire du code de transition. Lors de la dernière étape de la mise à niveau de l’application, vous pourrez supprimer les appels à cette commande. |
PROPRIÉTÉS
Produit : 4D
HISTORIQUE
Créé : 4D v12.1 UTILISATION DE L'ARTICLE
4D - Langage ( 4D v12.4) Parent de : Lire cle sous enregistrement ( 4D v14 R3) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||