Quand les deux variables (source et résultat)
sont des données caractère, EVAL est
l'équivalent de l'opération MOVEL(P)
(Move left with blank padding). EVALR est
l'équivalent de MOVE(P). Le code en format
fixe suivant
C Movel(p) Source Result
C Move(p) Source2 Result2
est converti en
Result = Source; //
MOVEL(P)
Evalr Result2 = Source2; // MOVE(P)
Si l’on veut éviter de combler le résultat avec des blancs,
il faut prendre en compte les longueurs des champs respectifs.
Si le résultat est plus court que la source, il faut
utiliser la fonction %SUBST (Substring) à droite de l’expression
pour attribuer la portion appropriée du champ source
au résultat :
Result = %Subst(Source
:%Size(Source)-%Size(Result)+1
:%Size(Result)) ;
Bien que ce code plutôt encombrant soit capable de
bien convertir une opération MOVE dans cette situation, il
sera préférable de le simplifier en substituant les tailles en
octets réelles des champs source et résultat. Ainsi, si la
source a neuf octets et si le résultat en a cinq, utilisez ce
code dans la version en format libre :
Result = %Subst(Source:5:5);
Si la variable result est plus longue que la variable
source, on peut utiliser la fonction %SUBST à gauche de
l’expression d’attribution, pour
n’attribuer la source qu’à une portion
du résultat :
%Subst(Result
%Size(Result)-%Size(Source)+1) =
Source;
Si la source a cinq octets et si le résultat en a neuf, on
peut simplifier le code
%Subst(Result:5) = Source;
Pour une opération MOVEL sans remplissage, il faut
quand même ajuster les emplacements, mais on utilisera
encore la fonction %SUBST si le résultat est plus long que la
variable source :
%Subst(Result:1:%Size(Source)) = Source;
Si la source a cinq octets et si le résultat en a neuf, on
peut simplifier le code
%Subst(Result:1:5) = Source;
Bien entendu, si le résultat est plus court que la source,
une attribution simple fera l’affaire dans une conversion
MOVEL:
Result = Source;
Téléchargez cette ressource
État des lieux de la réponse à incident de cybersécurité
Les experts de Palo Alto Networks, Unit 42 et Forrester Research livrent dans ce webinaire exclusif leurs éclairages et stratégies en matière de réponses aux incidents. Bénéficiez d'un panorama complet du paysage actuel de la réponse aux incidents et de sa relation avec la continuité de l'activité, des défis auxquels font face les entreprises et des tendances majeures qui modèlent ce domaine. Un état des lieux précieux pour les décideurs et professionnels IT.