Pour les secteurs manipulant des données de haute précision, comme la finance ou la recherche scientifique, l'option BIGINTPROCESSING est critique. En utilisant l'action de récupération, vous pouvez vérifier si le traitement des entiers de 64 bits est activé (valeur 1) ou désactivé (valeur 0). Cette vérification est une étape de sécurité métier pour garantir que les grands identifiants ne subissent aucun arrondi lors des transferts entre le plan de contrôle et les plans de données de SAS Viya.
Comment s'assurer que vos identifiants numériques géants sont traités sans perte de précision ?
Précision de calcul et entiers 64 bits
Exemple de Code Additionnel
| 1 | <pre>/* CASL Script : Vérification et Activation du Traitement BIGINT |
| 2 | (c) Nicolas Housset 2026 - Code SAS pour VIYA 4 - testé et validé en version 2024.09 */ |
| 3 | PROC CAS; |
| 4 | /* 1. Vérification de l'état actuel de l'option de session */ |
| 5 | sessionProp.getSessOpt / name="bigIntProcessing"; |
| 6 | RUN; |
| 7 | /* 2. Activation explicite pour garantir la précision 64-bit */ |
| 8 | sessionProp.setSessOpt / bigIntProcessing="ON"; |
| 9 | PRINT "INFO: Traitement BIGINT activé pour la session CAS."; |
| 10 | RUN; |
| 11 | /* 3. Test de récupération (Fetch) d'une table avec identifiants géants */ |
| 12 | /* On vérifie que les métadonnées de la table utilisent bien le type INT64 */ |
| 13 | TABLE.columnInfo / TABLE={name="MY_FINANCIAL_DATA", caslib="Public"}; |
| 14 | TABLE.fetch / |
| 15 | TABLE={name="MY_FINANCIAL_DATA", caslib="Public"}, |
| 16 | maxRows=10, |
| 17 | fetchVars={"ACCOUNT_ID", "TRANSACTION_ID", "AMOUNT"}; |
| 18 | RUN; |
| 19 | QUIT;</pre> |
Exemples pour l'action getSessOpt
Vérifier la Caslib active
Un grand classique : savoir sur quelle bibliothèque de données (caslib) votre session pointe par défaut.
Vérifier le Timezone
Idéal pour savoir si votre serveur vit encore à l'heure du siège social en Caroline du Nord ou s'il est synchronisé avec vous.
Audit de la configuration du DATA Step CAS
Dans cet exemple, nous vérifions comment le DATA Step va se comporter en cas de fusion sans clause BY ou de formats manquants.
Inspection des limites de mémoire et performance
Vérifions les ressources allouées à la session pour éviter de faire exploser le serveur (et s'attirer les foudres de l'admin).
Récupération dynamique dans une variable CASL
Utilisation de getSessOpt pour stocker la valeur dans une variable et l'utiliser plus tard dans un script complexe.