Syntaxe
|
MOVE identifier1 TO identifier2 [,identifier3] ...
|
Paramètres
| Nom |
Description |
| identifier1 |
Ce paramètre permet d'indiquer la source des données. C'est la variable ou la valeur à déplacer (copier) vers la destination. Il peut s'agir d'un champ de données, d'une constante ou d'une autre variable COBOL. Par exemple, cela pourrait être une valeur numérique, une chaîne de caractères, ou un champ de type date que l'on souhaite transférer. |
| identifier2 |
Ce paramètre permet d'indiquer la première destination dans laquelle les données de identifier1 seront déplacées. Cela peut être une autre variable ou un champ COBOL dans lequel vous souhaitez placer les données de identifier1. La compatibilité des types de données entre identifier1 et identifier2 est importante pour éviter des erreurs lors du transfert. |
| identifier3 |
Ce paramètre permet d'indiquer la destination supplémentaire dans laquelle les données de identifier1 peuvent également être transférées, le cas échéant. Vous pouvez spécifier plusieurs destinations en les séparant par des virgules. Cela permet de copier les mêmes données dans plusieurs variables simultanément, ce qui peut être utile dans les cas où une donnée doit être propagée dans différentes parties du programme. |
Description
Cette instruction permet de transférer des données, dans l'accord de règles d'édition, vers une ou plusieurs régions de données.
Remarques
- Transfert de données simple mais puissant : L'instruction MOVE est un des moyens les plus utilisés pour transférer des données d'une variable source à une
variable destination dans un programme COBOL. Elle permet une manipulation simple et directe des données, essentielle pour la logique de programmation.
- Compatibilité des types de données : L'une des règles essentielles lors de l'utilisation de l'instruction MOVE est que les types de données entre
la source (identifier1) et la destination (identifier2, identifier3, etc.) doivent être compatibles. Par exemple, un transfert de données numériques vers une variable
alphanumérique est possible, mais la conversion doit respecter les formats définis par les clauses PICTURE.
- Gestion des données multiples : L'instruction MOVE peut être utilisée pour déplacer les mêmes données dans plusieurs variables en une seule ligne de code.
En spécifiant plusieurs destinations, comme dans MOVE identifier1 TO identifier2, identifier3, vous pouvez dupliquer les données rapidement, ce qui est utile pour des
calculs ou des formats différents dans un programme.
- Respect des règles d'édition COBOL : Lorsque vous utilisez MOVE, les données sont transférées en respectant les règles d'édition spécifiées dans la
clause PICTURE de la variable cible. Cela garantit que le formatage des données est cohérent, même si des caractères ou des espaces supplémentaires doivent être ajoutés
à une chaîne.
- Impact sur les types de données complexes : Le transfert de données entre des types complexes, comme des champs numériques avec des décimales ou des dates,
nécessite que les formats entre la source et la destination soient correctement définis pour éviter des erreurs de conversion ou des pertes d'information. Dans certains
cas, il peut être nécessaire d'utiliser des fonctions supplémentaires pour effectuer des conversions de type ou des ajustements de format.
- Comportement avec les champs de longueur variable :Lorsque la source (identifier1) est une chaîne de caractères et que la destination (identifier2) a une
longueur définie, COBOL peut ajouter des espaces à la fin de la chaîne pour correspondre à la taille de la variable cible. Cela peut être crucial lorsqu'on travaille avec des
champs de longueur variable, comme les noms ou les adresses.
- Utilisation dans les calculs : MOVE est couramment utilisé dans des opérations impliquant des calculs où des résultats doivent être stockés dans une
variable de destination. Par exemple, après un calcul dans une variable temporaire, les résultats peuvent être déplacés vers une variable permanente où ils seront
utilisés pour d'autres traitements.
- Pas de calcul effectué, juste un transfert : Contrairement à d'autres instructions comme ADD ou SUBTRACT,
l'instruction MOVE ne réalise pas de calculs. Elle se contente de copier les valeurs telles quelles de la source vers la destination, ce qui signifie qu'il n'y a
pas d'effets secondaires comme des arrondis ou des changements de signe. Elle est donc purement un outil de transfert de données.
Dernière mise à jour : Jeudi, le 28 juillet 2011