L'importateur COBOL importe des structures de données COBOL à partir d'un programme COBOL (avec une extension de type .cbl, .ccp ou .cob) et présente ces structures de données COBOL en tant que métamodèle CAM (Common Application Metamodel) - ressource EMF à l'application
(client d'importation).
L'objectif de l'importateur COBOL est de représenter les structures de données COBOL sous forme de ressource de
modèle de données (CAM) - EMF. Il est de la responsabilité des fournisseurs d'outils d'extraire les informations de la ressource et de l'utiliser à leurs propres fins. L'importateur signale les erreurs de syntaxe qui se produisent dans l'environnement et dans la division, et ignore les messages de division de procédure.
Utilisation de l'importateur COBOL
Voici une liste des spécifications et des limitations de l'utilisation de l'importateur COBOL :
- Un fichier est supposé être un programme COBOL complet s'il a l'extension .cbl, .ccp ou .cob.
- Un fichier est supposé être un copybook s'il a l'extension .cpy.
Si le fichier est un membre copybook, il doit être constitué seulement d'une ou plusieurs structures de données 01 ou d'une définition d'éléments de données élémentaires 01 ou 77.
- Si le membre copybook contient tout autre élément du langage COBOL, l'utilisateur doit fournir un programme d'encapsulage incluant le membre copy et il doit nommer le programme d'encapsulage avec une extension .cbl, .ccp ou .cob. Le programme d'encapsulage doit être correct du point de vue de la syntaxe. (S'il y a des erreurs, l'importateur doit pouvoir les afficher dans la liste des tâches posant problème.)
- Vous devez fournir un programme encapsuleur si le membre de copie contient un de ces éléments :
- Une référence à un caractère symbolique
- Une section PICTURES numeric-edited qui contient un symbole monétaire requérant une clause CURRENCY SIGN
- Une virgule utilisée comme séparateur décimal dans une clause PICTURE
Remarque : Dans ces situations, un paragraphe SPECIAL-NAMES doit être spécifié dans le programme encapsuleur, qui fournit une définition pour ces éléments.
Voici un exemple de programme encapsuleur : ex.cbl
- Les programmes imbriqués ne sont pas pris en charge.
- Les COPYBOOKS sont pris en charge pour autant qu'ils se trouvent dans le même emplacement que le fichier source principal (qui peut être un COPYBOOK ou un programme complet).
- Pour ajouter la capacité d'importer une source COBOL ayant des dépendances sur des copybooks qui se trouvent dans des emplacements autres que le fichier source principal, vous pouvez ajouter ces emplacements de répertoire à vos préférences COBOL :
- Sélectionnez Fenêtre > Préférences > Importateurs > COBOL > SYSLIB.
- Cliquez sur Ajouter.
- Utilisez Parcourir pour rechercher le répertoire que vous voulez ajouter.
- Cliquez sur Supprimer pour supprimer les répertoires dont vous n'avez pas besoin, et utilisez Vers le haut et Vers le bas pour changer l'ordre des répertoires où l'importateur COBOL recherche les copybooks.

- L'importation échoue s'il y a des erreurs de syntaxe dans l'environnement (applicable seulement pour les programmes complets) et dans la division des données.
- La prise en charge actuelle de la clause VALUE est la suivante :
- Chaque élément de données de la section WORKING-STORAGE ou LOCAL-STORAGE qui a une clause VALUE spécifiée a un objet COBOLElementInitialValue.
Si le littéral de la clause VALUE est une constante figurative, nous générons les attributs suivants :
| Constante figurative |
ValueKind |
initVal |
| SPACE |
spaces |
" " |
| QUOTE |
quotes |
""" ou "'" |
| ZERO |
zero_value |
"0" |
| HIGH-VALUE |
high_value |
"0", dans la mesure où ceci n'est pas pris en charge |
| LOW-VALUE |
low_value |
"0", dans la mesure où ceci n'est pas pris en charge |
| NULL |
null |
"0" |
- Si le littéral de la clause VALUE est un caractère alphanumérique, DBCS, national ou symbolique, l'attribut valueKind est défini à string_value et l'attribut initVal a le contenu du littéral réel. Dans le cas d'un littéral alphanumérique ou DBCS, le contenu littéral de la valeur est d'abord converti en UTF-16 puis en UTF-8. Dans le cas d'un littéral national, le contenu littéral de la valeur est converti en UTF-8. Ainsi, la valeur de l'attribut initVal est toujours au format UTF-8. Si le littéral de la valeur contient des caractères XML non autorisés (exemple : X'00' à X'1F'), ces caractères sont remplacés par un caractère "?".
- Pas de prise en charge pour les éléments de données de niveau 66.
- Prise en charge de SQL : toutes les instructions SQL autres que SQL INCLUDE sont ignorées par l'importateur. EXEC SQL INCLUDE est traitée comme une instruction COPY.
Entrée
Pour qu'un fichier COBOL soit importé correctement dans votre projet, il doit s'agir d'un programme ou d'un copybook COBOL complet. L'importateur vérifie les extensions de fichier ; les fichiers avec des extensions incorrectes provoquent une erreur de l'importateur.
Output
Après une importation réussie de la source de l'importateur COBOL, une ressource EMF (modèle de données CAM) est retournée.