Freigeben über


So wird's: Auffüllen von Mainframezeichenfolgen mit Leerzeichen

Sie können die Eigenschaften für eine Zeichenfolge so definieren, dass die Transaction Integrator (TI)-Laufzeitumgebung Leerzeichen hinzufügt, um die Mainframedarstellung der Zeichenfolge zu versehen, anstatt von einem NULL-Terminierungszeichen abhängig zu sein.

So verwenden Sie entweder ein Leerzeichen oder ein NULL-Beendigungszeichen

  1. Klicken Sie in Microsoft Visual Studio mit der rechten Maustaste auf das Objekt, und klicken Sie dann auf Eigenschaften.

  2. Klicken Sie im Bereich Eigenschaften unter Informationen zum Hostdatentyp auf Zeichenfolgentrennzeichen.

  3. Wählen Sie entweder Leerzeichen oderNull beendet aus.

    In der folgenden Tabelle wird beschrieben, was mit jeder Trennzeichenoption (Leerzeichen oder Null beendet) geschieht, wenn sie in den angegebenen Zeichenfolgentyp konvertiert wird.

Typ des Zeichenfolgenvorgangs Was geschieht für jeden Typ von Zeichenfolgentrennvorgang?
Konvertierung in EBCDIC-Zeichenfolge Leerraum aufgefüllt. Die TI-Laufzeitumgebung fügt am Ende der Zeichenfolge Einzelbyte-Leerzeichen hinzu, bis alle Bytes in der PIC X-formatierten Zeichenfolge ausgefüllt sind.
Null beendet. Die TI-Laufzeitumgebung fügt ein einzelnes NULL-Zeichen am Ende der Zeichenfolge hinzu, wenn in der PIC X-Anzahl platz für das Byte vorhanden ist.
Konvertierung aus der EBCDIC-Zeichenfolge Leerraum aufgefüllt. Die TI-Laufzeitumgebung entfernt Einzelbyte-Leerzeichen vom Ende der Zeichenfolge.
Null beendet. Die TI-Laufzeitumgebung scannt am Anfang der Zeichenfolge und beendet die Konvertierung mit dem ersten NULL-Zeichen, das in der Zeichenfolge angezeigt wird.
Konvertierung in DBCS-Zeichenfolge Leerraum aufgefüllt. Die TI-Laufzeitumgebung fügt am Ende der Zeichenfolge Doppelte-Byte-Leerzeichen hinzu, bis alle Zeichen in der PIC G-formatierten Zeichenfolge ausgefüllt sind.
Null beendet. Die TI-Laufzeitumgebung fügt ein DBCS-NULL-Zeichen (Double-Byte Character Set) am Ende der Zeichenfolge hinzu, wenn platz in der PIC G-Anzahl für die Bytes vorhanden ist.
Konvertierung von DBCS-Zeichenfolgen Leerraum aufgefüllt. Die TI-Laufzeitumgebung entfernt Doppelbyte-Leerzeichen vom Ende der Zeichenfolge.
Null beendet. Die TI-Laufzeitumgebung scannt am Anfang der Zeichenfolge und beendet die Konvertierung beim ersten DBCS-NULL-Zeichen, das in der Zeichenfolge angezeigt wird.
Konvertierung in gemischte Zeichenfolge Leerraum aufgefüllt. Die TI-Laufzeitumgebung fügt am Ende der Zeichenfolge Einzelbyte-Leerzeichen hinzu, bis alle Bytes in der PIC X-formatierten Zeichenfolge ausgefüllt sind. Wenn das endende Zeichen in der UNICODE-Zeichenfolge einem DBCS-Zeichen zugeordnet ist, fügt die TI-Laufzeitumgebung ein SI-Zeichen hinzu, bevor die Leerzeichen hinzugefügt werden.
Null beendet. Die TI-Laufzeitumgebung fügt ein einzelnes Byte-NULL-Zeichen am Ende der Zeichenfolge hinzu, wenn platz in der PIC X-Anzahl vorhanden ist. Wenn das endende Zeichen in der UNICODE-Zeichenfolge einem DBCS-Zeichen zugeordnet ist, fügt die TI-Laufzeitumgebung ein SI-Zeichen hinzu, bevor das NULL-Zeichen hinzugefügt wird.
Konvertierung aus einer gemischten Zeichenfolge Leerraum aufgefüllt. Die TI-Laufzeitumgebung entfernt die endenden Einzelbyte- und Doppelbyte-Leerzeichen vom Ende der Zeichenfolge. Wenn die Leerzeichen entfernt werden, behandelt die TI-Laufzeitumgebung jedes abschließende SI-Zeichen wie ein Leerzeichen.
Null beendet. Die TI-Laufzeitumgebung scannt am Anfang der Zeichenfolge und beendet die Konvertierung mit dem ersten NULL-Zeichen (in beiden Breiten).

Eine besondere Behandlung erfolgt für eine Zeichenfolge, die sich als letzte im Hostpuffer befindet und als letzte variable gekennzeichnet ist. Beispiel:

  • Leerraum aufgefüllt. Bei der Konvertierung in eine EBCDIC-Zeichenfolge (Extended Binary Coded Decimal Interchange Code) wird die Zeichenfolge durch die Längenanzahl des enthaltenden Puffers beendet, sodass sie keine zusätzlichen Leerzeichen enthält. Bei der Konvertierung aus einer EBCDIC-Zeichenfolge wird der Puffer durch die Längenanzahl des enthaltenden Puffers als beendet betrachtet. dann wird die Zeichenfolge auf leerer Auffüllung untersucht. Der Host kann diese leere Zeichenfolge senden, die über die signifikanten Daten hinaus oder nicht leer ist, aber mit dem letzten signifikanten Zeichen der Zeichenfolge an der letzten Position im enthaltenden Puffer. Das Leerzeichen wird durch den Typ der Zeichenfolge (single, double oder intermixed) bestimmt.

  • Null beendet. Bei der Konvertierung in eine EBCDIC-Zeichenfolge wird die Zeichenfolge unverändert gesendet. Die TI-Laufzeitumgebung überprüft die Länge der Zeichenfolge und überprüft dann, ob die genaue Anzahl von Zeichen gesendet wird. Anders ausgedrückt: Die Anzahl der gesendeten Zeichen entspricht der Länge der Zeichenfolge. Am Ende der Zeichenfolge werden keine NULL-Abschlusszeichen oder Leerzeichen angefügt.

    Die folgenden Tabellen zeigen, wie das Trennzeichen von Zeichenfolgen funktioniert, wenn die Zeichenfolgentrennzeichen-Eigenschaft in Kombination mit der Einstellung der Variablengröße auf Leerzeichen im Vergleich zu Null beendet festgelegt ist. In allen Beispielen wird die Mainframedatendeklaration als PIC X(5) angenommen. "b" steht für ein Leerzeichen, "?" für nicht zugewiesene Daten und "\0" für null.

Zeichenfolgentrennzeichen auf Leerzeichen und variable Größe nicht aktiv festgelegt

Arbeitsstation Direction Großrechner
ABC\0 So hosten Sie "ABCbb"
ABCb So hosten Sie "ABCbb"
CBA Vom Host "CBAbb"
CBA\0? Vom Host "CBA\0?"
CBA\0 Vom Host "CBA\0b"

Zeichenfolgentrennzeichen auf Leerzeichen und variable Größe aktiv festgelegt

Arbeitsstation Direction Großrechner
ABC\0 So hosten Sie "ABC"
Abb So hosten Sie 'Abb'
CBA Vom Host "CBAbb"
CBA\0? Vom Host "CBA\0?"
CBA\0 Vom Host "CBA\0b"

Zeichenfolgentrennzeichen auf Null beendet und Variablengröße nicht aktiv

Arbeitsstation Direction Großrechner
ABC\0 So hosten Sie 'ABC\0?'
ABC Vom Host 'ABC\0?'
ABCbb Vom Host "ABCbb"
ABC Vom Host ABC\0\0'

Zeichenfolgentrennzeichen auf Null beendet und Variablengröße aktiv festgelegt

Arbeitsstation Direction Großrechner
ABC\0 So hosten Sie 'ABC\0'
ABC Vom Host 'ABC\0?'
ABCbb Vom Host "ABCbb"
ABC Vom Host ABC\0\0'

Weitere Informationen

Mainframezeichenfolgen und -codepages