Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Das GET_CP_CONVERT_TABLE Verb erstellt und gibt eine 256-Byte-Konvertierungstabelle zurück, um Zeichenzeichenfolgen aus einer Quellcodeseite in eine Zielcodeseite zu übersetzen.
In der folgenden Struktur wird der verbsteuerungsblock (VCB) beschrieben, der vom GET_CP_CONVERT_TABLE Verb verwendet wird.
Syntax
struct get_cp_convert_table {
unsigned short opcode;
unsigned char opext;
unsigned char reserv2;
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char reserv3[8];
unsigned short source_cp;
unsigned short target_cp;
unsigned char FAR * conv_tbl_addr;
unsigned char char_not_fnd;
unsigned char substitute_char;
};
Elemente
opcode
Angegebener Parameter. Das Verb, das den Vorgangscode identifiziert, SV_GET_CP_CONVERT_TABLE.
opext
Ein reserviertes Feld.
reserv2
Ein reserviertes Feld.
primary_rc
Zurückgegebener Parameter. Gibt den primären Rückgabecode an, der von APPC am Ende des Verbs festgelegt wurde. Die gültigen Rückgabecodes variieren je nach ausgegebenen APPC-Verb. Informationen zu gültigen Fehlercodes für dieses Verb finden Sie unter "Rückgabecodes".
secondary_rc
Zurückgegebener Parameter. Gibt den von APPC festgelegten sekundären Rückgabecode am Ende des Verbs an. Die gültigen Rückgabecodes variieren je nach ausgegebenen APPC-Verb. Informationen zu gültigen Fehlercodes für dieses Verb finden Sie unter "Rückgabecodes".
Reserv3
Ein reserviertes Feld.
source_cp
Angegebener Parameter. Gibt die Quellcodeseite an, aus der Zeichen konvertiert werden. Die zulässigen Codeseiten (Dezimalwerte) sind wie folgt:
ASCII 437, 850, 860, 863, 865
EBCDIC 037, 273, 277, 278, 280, 284, 285, 297, 500
Benutzerdefinierte Codeseiten im Bereich von 65280 bis 65535 sind ebenfalls zulässig.
ASCII-Codeseiten werden manchmal als PC-Codeseiten bezeichnet; EBCDIC-Codeseiten werden manchmal als Hostcodeseiten bezeichnet.
target_cp
Angegebener Parameter. Gibt die Zielcodeseite an, in die Zeichen konvertiert werden. Informationen zu zulässigen Codeseiten finden Sie in der vorherigen Definition für source_cp.
conv_tbl_addr
Angegebener Parameter. Gibt die Adresse des Puffers an, der die 256-Byte-Konvertierungstabelle enthalten soll. Der Puffer muss sich in einem beschreibbaren Segment befinden und lang genug sein, um die Tabelle zu enthalten.
char_not_fnd
Angegebener Parameter. Gibt die auszuführende Aktion an, wenn auf der Quellcodeseite auf der Zielcodeseite kein Zeichen vorhanden ist:
Verwenden Sie SV_ROUND_TRIP, um einen eindeutigen Wert in der Konvertierungstabelle für jedes Quellcodeseitenzeichen zu speichern.
Verwenden Sie SV_SUBSTITUTE, um ein Ersatzzeichen (angegeben durch substitute_char) in der Konvertierungstabelle zu speichern.
substitute_char
Angegebener Parameter. Gibt das Zeichen an, das in der Konvertierungstabelle gespeichert werden soll, wenn ein Zeichen aus der Quellcodeseite keine Entsprechung auf der Zielcodeseite aufweist.
Rückgabecodes
SV_OK
Primärer Rückgabecode; das Verb erfolgreich ausgeführt wurde.
SV_PARAMETER_CHECK
Primärer Rückgabecode; das Verb wurde aufgrund eines Parameterfehlers nicht ausgeführt.
SV_INVALID_CHAR_NOT_FOUND
Sekundärer Rückgabecode; der parameter char_not_fnd einen ungültigen Wert enthielt.
SV_INVALID_DATA_SEGMENT
Sekundärer Rückgabecode; der für die Konvertierungstabelle angegebene 256-Byte-Bereich, der über die Segmentgrenze hinausgeht oder das Segment nicht beschreibbar war.
SV_INVALID_SOURCE_CODE_PAGE
Sekundärer Rückgabecode; Die von source_cp angegebene Codeseite wird nicht unterstützt.
SV_INVALID_TARGET_CODE_PAGE
Sekundärer Rückgabecode; Die von target_cp angegebene Codeseite wird nicht unterstützt.
SV_COMM_SUBSYSTEM_NOT_LOADED
Primärer Rückgabecode; Eine erforderliche Komponente konnte beim Verarbeiten des Verbs nicht geladen oder beendet werden. So konnte die Kommunikation nicht stattfinden. Wenden Sie sich an den Systemadministrator, um Korrekturmaßnahmen zu ergreifen.
SV_INVALID_VERB
Primärer Rückgabecode; der Opcode-Parameter entspricht nicht dem Vorgangscode eines Verbs. Kein Verb ausgeführt.
SV_INVALID_VERB_SEGMENT
Primärer Rückgabecode; die VCB über das Ende des Datensegments hinaus erweitert wurde.
SV_UNEXPECTED_DOS_ERROR
Primärer Rückgabecode; eine der folgenden Bedingungen ist aufgetreten:
®® Beim Verarbeiten des Verbs ist beim Verarbeiten des Verbs ein Fehler aufgetreten. Der Rückgabecode des Betriebssystems wurde über den sekundären Rückgabecode zurückgegeben. Wenn das Problem weiterhin besteht, wenden Sie sich an den Systemadministrator, um Korrekturmaßnahmen zu ergreifen.
Eine CSV-Datei wurde aus einer Nachrichtenschleife ausgegeben, die von einer anderen Anwendung aufgerufen wurde, die einen Windows SendMessage-Funktionsaufruf ausgibt, anstatt den häufigeren Windows PostMessage-Funktionsaufruf . Die Verbverarbeitung kann nicht erfolgen.
Eine CSV wurde ausgegeben, als SendMessage Ihre Anwendung aufgerufen hat. Mithilfe des InSendMessage-Funktionsaufrufs der Windows-API können Sie ermitteln, ob Ihre Anwendung mit SendMessage aufgerufen wurde.
Bemerkungen
Der Typ A-Zeichensatz besteht aus:
- Großbuchstaben.
- Ziffern 0 bis 9.
- Sonderzeichen $, #, @und Leerzeichen.
Dieser Zeichensatz wird von einer vom System bereitgestellten Typ A-Konvertierungstabelle unterstützt.
Das erste Zeichen der Quellzeichenfolge muss ein Großbuchstaben oder das Sonderzeichen $, #oder @sein. Leerzeichen sind nur in nachfolgenden Positionen zulässig. Ascii-Buchstaben in Kleinbuchstaben werden in Großbuchstaben übersetzt, wenn die Richtung ASCII zu EBCDIC ist.
Der Typ AE-Zeichensatz besteht aus:
- Großbuchstaben.
- Kleinbuchstaben.
- Ziffern 0 bis 9.
- Sonderzeichen $, #, @, period und leerzeichen.
Dieser Zeichensatz wird von einer vom System bereitgestellten AE-Konvertierungstabelle unterstützt.
Das erste Zeichen der Quellzeichenfolge kann ein beliebiges Zeichen im Zeichensatz sein, mit Ausnahme des Leerzeichens.
Während der Konvertierung werden eingebettete Leerzeichen (einschließlich Leerzeichen an der ersten Position) in 0x00 konvertiert. Obwohl eine solche Konvertierung abgeschlossen ist, wird CONVERSION_ERROR als sekundärer Rückgabecode zurückgegeben, der angibt, dass die CSV-Bibliothek eine unumkehrbare Konvertierung für die bereitgestellten Daten abgeschlossen hat.
Für Windows sollte eine Beschreibung von COMTBLG auf die Windows-Registrierung unter \SnaBase\Parameters\Client verweisen. Für das Betriebssystem OS/2 muss das Verzeichnis und die Datei, das die Tabelle enthält, durch die Umgebungsvariable COMTBLG angegeben werden. (Wenn die Datei nicht gefunden wird, gibt das System die SV_TABLE_ERROR Parameterüberprüfung zurück.)
Der SV_ROUND_TRIP Wert für char_not_fnd ist nur nützlich, wenn Sie eine zweite Konvertierungstabelle erstellen, um zwischen den gleichen beiden Codeseiten in umgekehrter Richtung zu konvertieren. Wenn Sie den SV_ROUND_TRIP Wert beim Erstellen beider Konvertierungstabellen angeben, wird jedes Zeichen, das von einer Codeseite in die andere übersetzt wird, unverändert sein.
Wenn Sie den SV_SUBSTITUTE Wert für char_not_fnd verwenden, erstellt das Konvertieren der übersetzten Zeichenfolge in die ursprüngliche Codeseite nicht unbedingt die ursprüngliche Zeichenfolge erneut.
Verwenden Sie substitute_char nur, wenn char_not_fnd auf SV_SUBSTITUTE festgelegt ist.
Der in der Konvertierungstabelle gespeicherte Wert ist der ASCII-Wert, der dem Zeichen zugeordnet ist. Wenn die Tabelle für die Konvertierung von ASCII in EBCDIC verwendet wird, ist das Zeichen, das in der konvertierten Zeichenfolge angezeigt wird, das dem numerischen EBCDIC-Wert und nicht dem ASCII-Wert zugeordnet ist.
Wenn Sie z. B. den Unterstrich () (ASCII-Wert F6) beim Erstellen einer ASCII-zu-EBCDIC-Konvertierungstabelle angeben, lautet das in den konvertierten Zeichenfolgen angezeigte Zeichen 6, das dem Wert F6 in EBCDIC zugeordnet ist. Um das \-Zeichen als Ersatzzeichen in einer ASCII-zu-EBCDIC-Konvertierungstabelle zu verwenden, sollten Sie den Wert E1 (den Wert, der dem _-Zeichen in EBCDIC zugeordnet ist) anstelle des tatsächlichen Zeichens angeben.
Eine Codeseite ist eine Tabelle, die bestimmte ASCII- oder EBCDIC-Werte bestimmten Zeichen zuordnet. Wenn auf der Zielcodeseite kein Zeichen vorhanden ist, unterscheidet sich die übersetzte (Ziel)-Zeichenfolge von der ursprünglichen (Quell)-Zeichenfolge.