> Tech > Faire un passage de données latéral

Faire un passage de données latéral

Tech - Par iTPro - Publié le 24 juin 2010
email

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; //

Faire un passage de données latéral

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 gratuitement cette ressource

Le Guide d’Orchestration du Parcours client

Le Guide d’Orchestration du Parcours client

Au-delà de la clarification des nouveaux concepts de gestion du parcours client, ce guide vous permettra de définir, créer et mettre œuvre une orchestration complète articulée autour des trois volets essentiels au succès de l’expérience client et de l’entreprise.

Tech - Par iTPro - Publié le 24 juin 2010