Créer une clé composée propre avec AutoNumberHash128()
Quand l’unicité dépend de plusieurs champs, une clé technique évite de propager partout une longue concaténation.
Exemple concret
Une facture peut être identifiée par Société + Année + Numéro. Ces trois champs forment la clé métier ; AutoNumberHash128() permet d’en produire une clé technique compacte pour les associations, sans bricoler une chaîne ambiguë.
Le problème
Concaténer des valeurs sans séparateur fiable peut créer des collisions logiques : 12 & 34 et 1 & 234 donnent tous deux 1234.
LOAD
Societe & Annee & Numero AS %CleFacture,
*
RESIDENT Factures;LOAD
AutoNumberHash128(
Societe,
Annee,
Numero
) AS %CleFacture,
*
RESIDENT Factures;AutoNumberHash128() attribue des entiers propres au rechargement : ne stockez pas ces clés dans des QVD destinés à être associés après des rechargements indépendants. Pour une clé persistante entre chargements, utilisez Hash128(), Hash160() ou Hash256(). Conservez les champs métier utiles aux contrôles.