Publié le :
Macro CREATION_INTERNE

Macro de calcul de version

Ce code est également disponible en : Deutsch English Español
La macro `AHGverCalc` est conçue pour modifier de manière incrémentielle ou décrémentielle une partie d'une chaîne de version. Elle prend deux paramètres : `version` (une chaîne de caractères généralement au format 'X.Y') et `offset` (un entier). La macro extrait la première et la deuxième partie de la chaîne de `version`, applique le `offset` à la deuxième partie (mineure) et s'assure que le résultat n'est pas inférieur à 1. Elle retourne ensuite la nouvelle chaîne de version formatée. Cette macro est utile pour des scénarios de gestion de versions dynamiques.
Analyse des données

Type : CREATION_INTERNE


La macro ne consomme pas de données provenant de sources externes ou de bibliothèques SAS. Elle opère uniquement sur les paramètres qui lui sont passés (`version` et `offset`), qui sont des données internes à l'exécution de la macro.

1 Bloc de code
MACRO DEFINITION
Explication :
Ce bloc définit la macro SAS `AHGverCalc`. Il commence par une vérification conditionnelle pour s'assurer que si `offset` est 0, il est traité comme -0 pour la cohérence des opérations. Les variables locales `left` et `right` sont déclarées. La macro utilise `%scan` pour extraire la première et la deuxième partie de la chaîne `version`. `%eval` est utilisé pour appliquer l'`offset` à la partie `right`. Une vérification est effectuée pour s'assurer que la valeur de `right` ne tombe pas en dessous de 1. Enfin, elle renvoie une nouvelle chaîne combinant `left`, un point, et la nouvelle valeur de `right`.
Copié !
1%macro AHGverCalc(version,offset);
2 %IF &offset=0 %THEN %let offset=-0;
3 %local left right;
4 %let left=%scan(&version,1);
5 %let right=%eval(%scan(&version,2)&offset);
6 %IF &right <=0 %THEN %let right=1;
7 &left..&right
8 %mend;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.