Freigeben über


So füllen Sie Mainframe-Zeichenfolgen mit Leerzeichen auf

Sie können die Eigenschaften für eine Zeichenfolge so definieren, dass die Laufzeitumgebung des Transaktionsintegrators (TI) Leerzeichen hinzufügt, um die Großrechnerdarstellung der Zeichenfolge aufzufüllen, anstatt von einem NULL-Beendigungszeichen abhängig zu sein.

Verwenden Sie entweder ein Leerzeichen oder ein Null-Abschlusszeichen.

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

  2. Klicken Sie im Eigenschaften-Bereich unter Host-Datentypinformationen auf Zeichenfolgentrennung.

  3. Wählen Sie entweder "Mit Leerzeichen aufgefüllt" oder "Mit Nullzeichen beendet" aus.

    In der folgenden Tabelle wird beschrieben, was bei jeder Trennoption (mit Leerzeichen gepolstert oder mit Nullzeichen abgeschlossen) geschieht, wenn in den angegebenen Zeichenfolgentyp konvertiert wird.

Typ des Zeichenfolgenvorgangs Was geschieht für jeden Typ von Zeichenfolgentrennvorgang?
Konvertierung in EBCDIC-Zeichenfolge Gepolsterte Fläche. Die TI-Laufzeitumgebung fügt am Ende der Zeichenfolge Ein-Byte-Leerzeichen hinzu, bis alle Bytes in der formatierten PIC X-Zeichenfolge gefüllt sind.
Null wurde beendet. Die TI-Laufzeitumgebung fügt am Ende der Zeichenfolge ein einzelnes NULL-Zeichen hinzu, wenn platz in der PIC X-Anzahl für das Byte vorhanden ist.
Konvertierung aus EBCDIC-Zeichenfolge Raum gepolstert. Die TI-Laufzeitumgebung entfernt Einzelbyte-Leerzeichen vom Ende der Zeichenfolge.
Null wurde beendet. Die TI-Laufzeitumgebung scannt vom Anfang der Zeichenfolge und stoppt die Konvertierung am ersten NULL-Zeichen, das in der Zeichenfolge auftritt.
Konvertierung in DBCS-Zeichenfolge Gepolsterter Raum. Die TI-Laufzeitumgebung fügt am Ende der Zeichenfolge Doppelbyte-Leerzeichen hinzu, bis alle Zeichen in der formatierten PIC G-Zeichenfolge ausgefüllt sind.
Null wurde beendet. Die TI-Laufzeitumgebung fügt am Ende der Zeichenfolge ein Nullzeichen (Double-Byte Character Set, DBCS) hinzu, wenn platz in der PIC G-Anzahl für die Bytes vorhanden ist.
Konvertierung aus DBCS-Zeichenfolge Gepolsterter Raum. Die TI-Laufzeitumgebung entfernt Doppelbyte-Leerzeichen vom Ende der Zeichenfolge.
Null wurde beendet. Die TI-Laufzeitumgebung scannt vom Anfang der Zeichenfolge und stoppt die Konvertierung am ersten DBCS-Nullzeichen, das in der Zeichenfolge auftritt.
Konvertierung in vermischte Zeichenkette Raum gepolstert. Die TI-Laufzeitumgebung fügt am Ende der Zeichenfolge Ein-Byte-Leerzeichen hinzu, bis alle Bytes in der formatierten PIC X-Zeichenfolge gefüllt sind. Wenn das Endzeichen 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 wurde beendet. Die TI-Laufzeitumgebung fügt am Ende der Zeichenfolge ein einzelnes Byte-Nullzeichen hinzu, wenn platz in der PIC X-Anzahl vorhanden ist. Wenn das Endzeichen in der UNICODE-Zeichenfolge einem DBCS-Zeichen zugeordnet ist, fügt die TI-Laufzeitumgebung ein SI-Zeichen hinzu, bevor das Nullzeichen hinzugefügt wird.
Konvertierung aus intermixter Zeichenfolge Gepolsterter Raum. Die TI-Laufzeitumgebung entfernt die abschließenden Ein-Byte- und Doppelbyte-Leerzeichen am Ende der Zeichenfolge. Wenn die Leerzeichen entfernt werden, behandelt die TI-Laufzeitumgebung alle endenden SI-Zeichen so, als wären sie Leerzeichen.
Null wurde beendet. Die TI-Laufzeitumgebung scannt vom Anfang der Zeichenfolge und stoppt die Konvertierung am ersten NULL-Zeichen (von beiden Breiten), auf das sie trifft.

Spezielle Behandlung erfolgt für eine Zeichenfolge, die sich zuletzt im Hostpuffer befindet und als letzte Variable gekennzeichnet ist. Beispiel:

  • Raum gepolstert. Bei der Konvertierung in eine EBCDIC-Zeichenfolge (Extended Binary 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 beendet; anschließend wird die Zeichenfolge auf leere Abstände untersucht. Der Host kann diese Zeichenfolge entweder mit Leerzeichen über die bedeutenden Daten hinaus auffüllen oder ohne Auffüllung senden, wobei das letzte bedeutende Zeichen der Zeichenfolge an der letzten Position im enthaltenden Puffer bleibt. Das Leerzeichen wird durch den Typ der Zeichenfolge (einfach, doppelt oder gemischt) bestimmt.

  • Null wurde beendet. Bei der Konvertierung in eine EBCDIC-Zeichenfolge wird die Zeichenfolge wie folgt gesendet. Die TI-Laufzeitumgebung überprüft die Länge der Zeichenfolge und überprüft dann, ob die genaue Anzahl von Zeichen gesendet wird. Mit anderen Worten, die Anzahl der gesendeten Zeichen entspricht der Länge der Zeichenfolge. Am Ende der Zeichenfolge werden keine Null-Endzeichen oder Leerzeichen angefügt.

    In den folgenden Tabellen wird angezeigt, wie die Zeichenfolgenbegrenzung funktioniert, wenn die Zeichenfolgenbegrenzungseigenschaft in Kombination mit der variablen Größeneinstellung auf Leerzeichen-gepolstert oder Null-terminiert gesetzt ist. In allen Beispielen wird die Großrechnerdatendeklaration als PIC X(5) vorausgesetzt. "b" stellt ein Leerzeichen dar,"?" stellt nicht zugewiesene Daten dar, und "\0" stellt einen Nullwert dar.

Zeichenfolgentrennung auf Leerzeichen gepolstert festgelegt und variable Größe nicht aktiv

Arbeitsstation Richtung Großrechner
ABC\0 Hosten "ABCbb"
ABCb Zu hosten "ABCbb"
CBA Vom Gastgeber "CBAbb"
CBA\0? Vom Gastgeber 'CBA\0?'
CBA\0 Vom Host "CBA\0b"

Trennmethode für Zeichenfolgen auf mit Leerzeichen aufgefüllt und variable Größe aktiviert eingestellt.

Arbeitsstation Richtung Großrechner
ABC\0 Hosten "ABC"
Abb Hosten 'Abb'
CBA Vom Gastgeber "CBAbb"
CBA\0? Vom Gastgeber CBA\0?
CBA\0 Vom Host "CBA\0b"

Zeichenfolgendelimiter auf Null gesetzt und variable Größen sind nicht aktiv

Arbeitsstation Richtung Großrechner
ABC\0 Hosten 'ABC\0?'
ABC Vom Host 'ABC\0?'
ABCbb Vom Gastgeber "ABCbb"
ABC Vom Host ABC\0\0'

Zeichenfolgentrennung mit Nullabschließung und aktiver variabler Größe

Arbeitsstation Richtung Großrechner
ABC\0 Hosten "ABC\0"
ABC Vom Host 'ABC\0?'
ABCbb Vom Host "ABCbb"
ABC Vom Host ABC\0\0'

Siehe auch

Mainframe-Zeichenzeichenfolgen und Codeseiten