Partager via


Comment pader des chaînes de caractères mainframe avec des espaces

Vous pouvez définir les propriétés d’une chaîne de sorte que l’environnement d’exécution TI (Transaction Integrator) ajoute des caractères d’espace pour compléter la représentation mainframe de la chaîne au lieu de dépendre d’un caractère d’arrêt null.

Pour utiliser un caractère d’espace ou un caractère d’arrêt null

  1. Dans Microsoft Visual Studio, cliquez avec le bouton droit sur l’objet, puis cliquez sur Propriétés.

  2. Sous Informations sur le type de données de l’hôte dans le volet Propriétés , cliquez sur Limitation de chaîne.

  3. Sélectionnez Espace rembourré ou Null Terminé.

    Le tableau suivant décrit ce qui se passe avec chaque option de limitation (Espace rembourré ou Null terminé) lors de la conversion en type de chaîne indiqué.

Type d’opération de chaîne Que se passe-t-il pour chaque type d’opération de limitation de chaîne
Conversion en chaîne EBCDIC Espace rembourré. L’environnement d’exécution TI ajoute des caractères d’espace d’un octet à la fin de la chaîne jusqu’à ce que tous les octets de la chaîne au format PIC X soient remplis.
Null terminé. L’environnement d’exécution TI ajoute un caractère Null unique à la fin de la chaîne s’il y a de la place dans le nombre PIC X pour l’octet.
Conversion à partir d’une chaîne EBCDIC Espace rembourré. L’environnement d’exécution TI supprime les caractères d’espace d’un octet de la fin de la chaîne.
Null terminé. L’environnement d’exécution TI analyse à partir du début de la chaîne et arrête la conversion au premier caractère null rencontré dans la chaîne.
Conversion en chaîne DBCS Espace rembourré. L’environnement d’exécution TI ajoute des caractères d’espace sur deux octets à la fin de la chaîne jusqu’à ce que tous les caractères de la chaîne au format PIC G soient remplis.
Null terminé. L’environnement d’exécution TI ajoute un caractère null de jeu de caractères codés sur deux octets (DBCS) à la fin de la chaîne s’il y a de la place dans le nombre de G PIC pour les octets.
Conversion à partir d’une chaîne DBCS Espace rembourré. L’environnement d’exécution TI supprime les caractères d’espace sur deux octets de la fin de la chaîne.
Null terminé. L’environnement d’exécution TI analyse à partir du début de la chaîne et arrête la conversion au premier caractère null DBCS rencontré dans la chaîne.
Conversion en chaîne mixte Espace rembourré. L’environnement d’exécution TI ajoute des caractères d’espace d’un octet à la fin de la chaîne jusqu’à ce que tous les octets de la chaîne au format PIC X soient remplis. Si le caractère de fin de la chaîne UNICODE est mappé à un caractère DBCS, l’environnement d’exécution TI ajoute un caractère SI avant d’ajouter les caractères d’espace.
Null terminé. L’environnement d’exécution TI ajoute un caractère null d’octet unique à la fin de la chaîne s’il y a de la place dans le nombre PIC X. Si le caractère de fin de la chaîne UNICODE est mappé à un caractère DBCS, l’environnement d’exécution TI ajoute un caractère SI avant d’ajouter le caractère null.
Conversion à partir d’une chaîne mixte Espace rembourré. L’environnement d’exécution TI supprime les caractères d’espace à un octet et à deux octets de fin de la fin de la chaîne. Lorsqu’il supprime les caractères d’espace, l’environnement d’exécution TI traite tout caractère SI de fin comme s’il s’agissait d’un espace.
Null terminé. L’environnement d’exécution TI analyse à partir du début de la chaîne et arrête la conversion au premier caractère null (de l’une ou l’autre largeur) qu’il rencontre.

Une gestion spéciale se produit pour une chaîne qui est en dernier dans la mémoire tampon de l’hôte et qui est marquée comme étant la dernière variable. Par exemple :

  • Espace rembourré. Lors de la conversion en une chaîne EBCDIC (Extended Binary Coded Decimal Interchange Code), la chaîne est terminée par le nombre de longueurs de la mémoire tampon contenante, de sorte qu’elle ne contient pas d’espace supplémentaire. Lors de la conversion à partir d’une chaîne EBCDIC, la mémoire tampon est considérée comme terminée par le nombre de longueurs de la mémoire tampon contenante ; ensuite, la chaîne est examinée pour le remplissage vide. L’hôte peut envoyer cette chaîne vide rembourrée au-delà des données significatives ou non vide, mais avec le dernier caractère significatif de la chaîne à la dernière position dans la mémoire tampon contenante. L’espace est déterminé par le type de chaîne (simple, double ou mélangé).

  • Null terminé. Lors de la conversion en chaîne EBCDIC, la chaîne est envoyée telle telle qu’elle est. L’environnement d’exécution TI vérifie la longueur de la chaîne, puis vérifie que le nombre exact de caractères est envoyé. En d’autres termes, le nombre de caractères envoyés est égal à la longueur de la chaîne. Aucune fin null ou espace n’est ajouté à la fin de la chaîne.

    Les tableaux suivants montrent comment fonctionne la limitation de chaîne lorsque la propriété de limitation de chaîne est définie sur Espace padded par rapport à Null terminée en combinaison avec le paramètre de taille variable. Tous les exemples supposent que la déclaration de données mainframe est PIC X(5). « b » représente un espace , » ? » représente les données non attribuées et « \0 » représente une valeur null.

Délimitation de chaîne définie sur Espace rembourré et taille variable non active

Station de travail Sens Macroordinateur
ABC\0 Pour héberger 'ABCbb'
ABCb Pour héberger 'ABCbb'
ABC À partir de l’hôte 'CBAbb'
CBA\0 ? À partir de l’hôte 'CBA\0 ?'
CBA\0 À partir de l’hôte 'CBA\0b'

Délimitation de chaîne définie sur Espace rembourré et taille variable active

Station de travail Sens Macroordinateur
ABC\0 Pour héberger 'ABC'
Abb Pour héberger 'Abb'
ABC À partir de l’hôte 'CBAbb'
CBA\0 ? À partir de l’hôte 'CBA\0 ?'
CBA\0 À partir de l’hôte 'CBA\0b'

Délimitation de chaîne définie sur Null terminée et taille variable non active

Station de travail Sens Macroordinateur
ABC\0 Vers l’hôte 'ABC\0 ?'
ABC À partir de l’hôte 'ABC\0 ?'
ABCbb À partir de l’hôte 'ABCbb'
ABC À partir de l’hôte ABC\0\0'

Limitation de chaîne définie sur Null terminée et la taille de variable active

Station de travail Sens Macroordinateur
ABC\0 Vers l’hôte 'ABC\0'
ABC À partir de l’hôte 'ABC\0 ?'
ABCbb À partir de l’hôte 'ABCbb'
ABC À partir de l’hôte ABC\0\0'

Voir aussi

Chaînes de caractères et pages de codes sur les mainframes