Die UTM Diagarea ist ein Prozess-spezifischer Trace-Bereich, in den alle Ereignisse protokolliert werden. Dieser Bereich enthält somit auch alle Ereignisse, die unmittelbar vor dem Abbruch eines Vorgangs oder einer Anwendung aufgetreten sind.
Die UTM Diagarea wird zyklisch beschrieben. Zwei Zyklen werden durch eine Trennlinie bestehend aus ’=’-Zeichen und Leerzeichen getrennt. Oberhalb der Trennlinie steht der jüngste Eintrag und unterhalb davon der älteste Eintrag. Jeder Eintrag ist 136 bzw. 256 (64-Bit) Bytes lang. Wieviele Einträge insgesamt in die UTM Diagarea passen, ist abhängig vom UTM- Generierungsparameter MAX TRACEREC
.
In die UTM Diagarea werden folgende Arten von Einträgen geschrieben:
UTM-Records (Typ
KDCS
)UTM-Records vom Typ KDCS werden bei folgenden Ereignissen geschrieben:
bei einem KDCS-Aufruf in einem Teilprogramm oder
bei einem internen Aufruf an den UTM-Systemcode oder
- bei einem Aufruf der Administrationsschnittstelle oder
bei einem internen PEND ER-Aufruf durch openUTM (System-PEND ER) auf Grund eines schwerwiegenden Fehlers
Bei Aufruf der Administrationsschnittstelle (KDCS-Opcode=ADMI) werden zusätzliche Trace-Informationen geschrieben (siehe Abschnitt "Administration DIAGAREA“).
Im Falle eines System PEND ER enthält der Eintrag in den Bytes 22 - 57 einen Fehlertext.
UTM-Records beim Starten und Beenden von benutzerspezifischen Event-Exits:
INPUT-Exit-Programm (Typ INXS und INXE)
START-Exit-Programm (Typ STXS und STXE)
VORGANG-Exit-Programm (Typ VGXS und VGXE)
- HTTP-Exit-Programm (Typ HTXS und HTXE)
UTM-Records zur Vorgangsidentifizierung (Typ
VGID
)Ein VGID-Record wird bei jedem Start eines Teilprogramms und bei Rückkehr eines PGWT-Aufrufes in die UTM Diagarea geschrieben.
- UTM-Records beim Aufruf der HTTP-Funktionen (Typ HTTP )
Ein HTTP-Record wird bei Aufruf einer HTTP-Funktion geschrieben.
Header der Records in der UTM Diagarea
Jeder Record beginnt mit einem Header, der folgende Informationen enthält:
Byte | Bedeutung | |
dez. | hexadez. | |
0-1 | 00-01 | Zähler des aktuellen Eintrages in den DIAGAREAs (UTM und DB) |
2-5 | 02-05 | Typ-Identifizierung (KDCS, VGID, HTXS , HTXE, HTTP, INXS, INXE, ITRC, STXS, STXE, VGXS, VGXE, ITRC) |
6-7 | 06-07 | Derzeit nicht genutzt (mit ’= =’ vorbelegt) |
8-15 | 08-0F | Zeitstempel |
Aufbau des Headers
Der Inhalt der Records ab Byte 16 ist abhängig vom Typ des Records.
UTM Diagarea bei KDCS-Aufruf aus einem Teilprogramm (Typ KDCS)
Byte | Feldname und Bedeutung | |||||||
dez. | hexadez. | |||||||
16-19 | 10-13 | KCOP1: | USER-Operationscode: INIT, MGET, MPUT, usw. | |||||
interner Operationscode: siehe Tabelle "KCOP" | ||||||||
20-21 | 14-15 | KCOM: Operationsmodifikation | ||||||
22-23 | 16-17 | KCLA: Bereichslänge oder Queue Level (bei QCRE) oder | ||||||
24-25 | 18-19 | KCLM: Nachrichtenlänge oder | ||||||
26-33 | 1A-21 | KCRN: Bezugsname | ||||||
MCOM-Aufruf | ||||||||
34-41 | 22-29 | KCMF: Formatname oder Editprofilname | KCPOS: | |||||
42-43 | 2A-2B | KCDF: Bildschirmfunktion, siehe Tabelle "KCDF" | KCNEG: | |||||
DPUT/DADM | DGET | QCRE | PADM | APRO | ||||
44 | 2C | KCMOD: Modus | KCQTYP: | KCQMODE: | KCACT: | KCPI: | ||
45-47 | 2D-2F | KCTAG: Tag | leer | leer | ||||
48-49 | 30-31 | KCSTD: Stunde | KCADRLT: | |||||
50-51 | 32-33 | KCMIN: Minute | KCCOMID: | |||||
52-53 | 34-35 | KCSEC: Sekunde | KCOF: | |||||
54 | 36 | KCQTYP: Zieltyp | ||||||
55-57 | 37-39 | leer | leer | |||||
58-89 | 3A-59 | KCRFELD in KCKBC: KB-Rückgabebereich, siehe Tabelle "KCRFELD" | ||||||
92-95 | 5C-5F | Rücksprungadresse zum Teilprogramm (Die Adresse zeigt hinter KDCS-Aufruf im Teilprogramm) | ||||||
96-99(32-Bit) | 60-63 | Adresse des Benutzerdatenbereichs (2. Parameter bei KDCS-Aufruf). | ||||||
100-103(32-Bit) | 64-67 (32-Bit) | Vorgangs-Index | ||||||
104-111(32-Bit) | 68-6F | KCLOGTER in KCKBC: LTERM - Name | ||||||
112-119 (32-Bit) 128-135(64-Bit) | 70-77 | KCBENID in KCKBC: Name der aktuellen Benutzerkennung |
Aufbau eines Eintrags der UTM-Diagarea bei einem KDCS-Aufruf
1Bei KCOP=INFO (Byte 16-19) und Operationsmodifikation KCOM=CK (Byte 20-21) wird ohne Erhöhung des Zählers der Nachrichtenbereich (NB) des protokollierten Aufrufs in der Länge KCPAC in den nächsten Eintrag der UTM Diagarea geschrieben. Diese Information ist für die Diagnose interessant, da sie den zu prüfenden Aufruf protokolliert.
Opcode bei internem Aufruf an openUTM:
Inhalt | Situation, in der dieser Record geschrieben wird | Inhalt der Felder nach KCOP |
STRT | Start des UTM-Anwendungsprogramms, | kein Eintrag |
WAIT | UTM-Prozess wartet im Systemcode auf den nächsten Auftrag | kein Eintrag |
CONT | Fortsetzung im UTM-System-Code nach einer DB-Aktion über KDCROOT oder nach Aufruf des INPUT-Exits. | nur KCRCCC, KCRCKZ und KCRCDC, beim INPUT-Exit die Parameter, siehe "UTM Diagarea nach einem Aufruf des INPUT-Exits" |
NOOP | Pufferbereich der MESSAREA muss geleert werden (nur möglich bei eingeschaltetem Mess-Monitor) | - - - |
ADMI | UTM-Administrationsaktion | UTM-interne Schnittstelle |
Operationscodes bei einem internen UTM-Aufruf
Aufbau von KCRFELD
Byte | Feldname und Bedeutung | ||||
dez. | hexadez. | ||||
58-59 | 3A-3B | KCRDF: Rückgabe Bildschirmfunktion | |||
60-61 | 3C-3D | KCRLM: tatsächliche Länge der Nachricht | |||
INFO CK-Aufruf | MGET-Aufruf | SIGN ON-Aufruf | |||
62 | 3E | KCRINFCC: | KCVGST: | KCRSIGN1: | |
63 | 3F | KCTAST: | KCRSIGN2: | ||
64 | 40 | leer | |||
65 | 41 | leer | KCRMGT: Nachrichtentyp | ||
66-68 | 42-44 | KCRCCC: KCDS-Returncode | |||
69 | 45 | KCRCKZ: Kennzeichen: P (Produktivanwendung) | |||
70-73 | 46-49 | KCRCDC: interner Returncode | |||
74-81 | 4A-51 | KCRMF: Rückgabe Formatkennzeichen oder abstrakte Syntax | |||
82-89 | 52-59 | KCRPI: Rückgabe Vorgangs-Identifikation |
UTM Diagarea nach einem Aufruf des INPUT-Exits
Nach einem Aufruf des INPUT-Exit trägt openUTM in den KDCS-Record die wichtigsten Parameter ein, die der Exit bekommt bzw. setzt (KCPAC):
Byte | Feldname und Bedeutung | |
dez. | hexadez. | |
16-19 | 10-13 | KCOP: Hier wird "CONT" eingetragen |
20-25 | 14-19 | leer |
26-33 | 1A-21 | KCIFCH: Die ersten 8 Zeichen der Eingabe |
34-35 | 22-23 | KCICVST: Vorgangsstatus: "ES"/"ET"/"RS"/"EC" |
36-37 | 24-25 | KCIFKEY: Wert der F-Taste: 1,...,24 |
38-39 | 26-27 | KCIKKEY: Wert der K-Taste: 1,...,14 |
40-41 | 28-29 | KCICFINF: Information über Steuerfelder: "UN"/"NO"/"ON"/"MO" |
42-49 | 2A-31 | KCINTAC/KCINCMD: Nächster zu startender TAC bzw. Benutzer-Kommando |
50-51 | 32-33 | KCICCD: Code für die Wirkung der Eingabe: "ER"/"CC"/"SC"/"ST"/"CD" |
52 | 34 | KCICUT: TAC abschneiden: "Y"/"N" |
53 | 35 | - - - |
54-57 | 36-39 | KCIERRCD: Fehlerinfo für Datensichtstation |
58-... | 3A-... | Folgendes ist für die Diagnose nicht relevant |
Aufbau eines Eintrags der UTM Diagarea nach einem Aufruf des INPUT-Exits
Fehlertexte in der UTM Diagarea bei SYSTEM-PEND ER
Zur schnelleren Diagnose bei einem SYSTEM-PEND ER ist in der entsprechenden Zeile der UTM Diagarea in Byte 22-57 ein abdruckbarer Fehlertext abgelegt.
In der folgenden Tabelle sind alle möglichen Fehlertexte aufgeführt, dazu jeweils die Fehlerursache sowie mögliche Maßnahmen und die Fehlerart (Systemfehler oder Anwenderfehler).
Fehlertext | Ursache, Modul | Fehlerart |
APPL. PROGRAM DOES NOT EXIST | Beim Start eines Teilprogramms war kein Indikator für ein Teilprogramm vorhanden (70Z mit KR01) | Systemfehler |
APPL. PROGRAM WITHOUT PEND | Das Anwendungsprogramm wurde nicht mit PEND beendet. (84Z) | Anwenderfehler |
ASYNC. PROGRAM NOT FOUND | Asynchron-Programm ist nicht mehr verfügbar (evtl. Programmaustausch). PENDER-Dump mit 70Z und KR02 folgt. | Anwenderfehler |
ERROR IN "START-TP" OF LGCON | Beim Start eines Teilprogramms lieferte das Language-Connection-Modul einen fehlerhaften Returncode. | Systemfehler |
KB END LABEL OVERWRITTEN | Der KB im Anwendungsprogramm ist größer als in der UTM-Generierung | Anwenderfehler |
SPAB END LABEL OVERWRITTEN | Der SPAB im Anwendungsprogramm ist größer als in der UTM-Generierung angegeben (70Z mit KR05). | Anwenderfehler |
KCRCCC > = 70Z AFTER UTM SVC | Nach SVC UTM wurde der Returncode KCRCCC im KB-Kopf auf >=70Z gesetzt. | Anwender-/ Systemfehler |
ROOTDATA CODE INVALID | Vom SVC UTM wurde der ROOTDATA-CODE auf ungültigen Wert gesetzt | Systemfehler |
ERROR ROUTINE XT... ENTERED | Es ist ein SIGNAL mit der Nummer ... (in KDCRTDI) aufgetreten. | Anwender-/ |
ERROR ROUTINE EXIT ENTERED | Es wurde ein unerlaubter exit()-Aufruf (COBOL: STOP RUN-Anweisung) während eines Teilprogramm-Ablaufs erkannt, siehe auch bei Returncode KCRCDC= EXIT. | Anwenderfehler |
DB-ERRORCODE = TA_CHAIN_RSET | Das Datenbank-Verbindungsmodul lieferte den Returncode TA_CHAIN_RSET. | Systemfehler |
KDCS-CALL IN VORGANG EXIT | Im VORGANG-Exit-Programm wurde ein unerlaubter KDCS-Aufruf gemacht. | Anwenderfehler |
VORGANG-EXIT-PROGRAM | Das Programm für den VORGANG-Exit ist nicht geladen. | Anwenderfehler |
DATABASE DOWN AT USER DB CALL | Zum Zeitpunkt des CALL zur Datenbank aus dem Anwender-Teilprogramm ist die Datenbank nicht mehr konnektiert. | Anwender-/ |
ILLEGAL RTCODE FROM DBCON | Das Datenbank-Verbindungsmodul setzt unerlaubten Returncode. | Systemfehler |
NO DB CALL ALLOWED IN SIGN-ON | Der Anmelde-Vorgang hat einen DB-USER-CALL gegeben. | Anwenderfehler |
PROGRAM INDEX = 0 INVALID | Vom SVC UTM wurde ein ungültiger Programm-Index gesetzt. | Systemfehler |
Fehlertexte in der UTM Diagarea bei SYSTEM-PEND ER
Eintrag zur Vorgangs-Identifikation (Typ VGID)
Byte 32-Bit | Byte 64-Bit **) | Bedeutung | ||
dez. | hexadez. | dez. | hexadez. | |
16 | 10 | 16 | 10 | Vorgangskennzeichen |
17 | 11 | 17 | 11 | Sessionzähler |
18-19 | 12-13 | 18-19 | 12-13 | Transaktionszähler im Vorgang |
20-23 | 14-17 | 24-31 | 18-1F | Vorgangszähler |
24-27 | 18-1B | 32-39 | 20-27 | Summe von USED und ERROR für den aktuellen TAC |
28-31 | 1C-1F | 40-47 | 28-2F | Länge des Global Transaction Identifier (GTRID) der XID |
32-35 | 20-23 | 48-55 | 30-37 | Länge des Branch-Qualifier (BQUAL) der XID |
36-115 | 24-73 | 56-137 | 38-89 | die ersten 80 Bytes der XID-Daten *) |
116-117 | 74-75 | 138-139 | 8A-8B | Index zur Programm-Tabelle |
118-119 | 76-77 | 140-141 | 8C-8D | Index des Vorgangsexit in Programm-Tabelle |
120-127 | 78-7F | 142-149 | 8E-95 | Name des Transaktionscodes, der den Vorgang gestartet hat |
128-135 | 80-87 | 150-157 | 96-9D | Name des aktuellen Transaktionscodes |
Aufbau des Eintrags zur Vorgangs-Identifikation
*) Details zu XID, GTRID und BQUAL siehe betreffende XA-Spezifikation
**) gilt nur für Unix-, Linux- und Windows-Systeme
Eintrag zum VORGANG-Exit (Typ VGXS und VGXE)
Byte 32-Bit | Byte 64-Bit **) | Bedeutung | ||
dez. | hexadez. | dez. | hexadez. | |
16 | 10 | 16 | 10 | Vorgangskennzeichen |
17 | 11 | 17 | 11 | Sessionzähler |
18-19 | 12-13 | 18-19 | 12-13 | Transaktionszähler im Vorgang |
20-23 | 14-17 | 24-31 | 18-1F | Vorgangszähler |
24-27 | 18-1B | 32-39 | 20-27 | Summe von USED und ERROR für den aktuellen TAC |
28-31 | 1C-1F | 40-47 | 28-2F | Länge des Global Transaction Identifier (GTRID) der XID |
32-35 | 20-23 | 48-55 | 30-37 | Länge des Branch-Qualifier (BQUAL) der XID |
36-115 | 24-73 | 56-137 | 38-89 | die ersten 80 Bytes der XID-Daten *) |
116-117 | 74-75 | 138-139 | 8A-8B | Index zur Programm-Tabelle |
118-119 | 76-77 | 140-141 | 8C-8D | Index des Vorgangsexit in Programm-Tabelle |
120-127 | 78-7F | 142-149 | 8E-95 | Name des Transaktionscodes, der den Vorgang |
128-135 | 80-87 | 150-157 | 96-9D | Name des VORGANG-Exit-Programmes |
Aufbau des Eintrags zum VORGANG-Exit
*) Details zu XID, GTRID und BQUAL siehe betreffende XA-Spezifikation
**) gilt nur für Unix-, Linux- und Windows-Systeme
Eintrag zum INPUT-Exit (Typ INXS und INXE)
Byte | Bedeutung | |
dez. | hexadez. | |
16-31 | 10-1F | String INPUT-EXIT-FORM oder INPUT-EXIT-USER oder INPUT-EXIT-LINE |
32-39 | 20-27 | Programm-Name des INPUT-Exits |
40-47 | 28-2F | Erste 8 Zeichen Input-Message |
48-55 | 30-37 | Format-Name |
56-63 | 38-3F | TAC-Name |
64-65 | 40-41 | Status |
66-67 | 42-43 | F-Taste |
68-69 | 44-45 | K-Taste |
70-71 | 46-47 | Kontroll-Feld |
72-79 | 48-4F | Lterm-Name |
80-87 | 50-57 | User-Name |
88-119 | 58-77 | (ungenutzt) |
120-127 | 78-7F | Nächster Tac oder Kommando |
128-129 | 80-81 | Fortsetzungs-Code |
130 | 82 | CUT TAC |
131 | 83 | (ungenutzt) |
132-135 | 84-87 | Fehler-Code |
Aufbau des Eintrags zum INPUT-Exit
Eintrag zum START-Exit (Typ STXS und STXE)
Byte | Bedeutung | |
dez. | hexadez. | |
16-31 | 10-1F | String START-EXIT-# |
32-39 | 20-27 | Programm-Name des START-Exits |
40-47 | 28-2F | String STARTUP (fixer Name des TAC) |
48-63 | 30-3F | Kennzeichen, ob erste Task oder Folge-Task als String |
Aufbau des Eintrags zum START-Exit
Eintrag zum HTTP-Exit (Typ HTXS und HTXE)
Byte 32-Bit | Byte 64-Bit **) | Bedeutung | ||
dez. | hexadez. | dez. | hexadez. | |
16 | 10 | 16 | 10 | Opcode: HTTP_GET_EXIT = 1, HTTP_PUT_EXIT = 2 |
17 | 11 | 17 | 11 | Returncode: OK = 0; ROOT_INT_PEND_ER = 1 |
18 | 12 | 18 | 12 | Returncode des HTTP-Exit |
19 | 13 | 19 | 13 | InOut Indikator: I/O |
20-23 | 14-17 | 24-31 | 18-1F | Pointer auf den KDCS-Parameterbereich |
24-27 | 18-1B | 32-35 | 20-23 | KDCS Operationscode |
28-29 | 1C-1D | 36-37 | 24-25 | Zähler für erfolgreich gelesene MGET Nachrichtenteile |
30-31 | 1E-1F | 36-39 | 26-27 | Länge des restlichen Nachrichtenteils (nach RCCC=02Z) |
32-33 | 20-21 | 40-41 | 28-29 | Index des HTTP-Exit-Programms |
34-35 | 22-23 | 42-43 | 2A-2B | |
36-51 | 24-33 | 44-59 | 2C-3B | HTTP-Info-Struktur (s. INIT PU) |
52-55 | 34-37 | 64-71 | 40-47 | Pointer auf die MGET-Struktur-Information |
56-59 | 38-3B | 72-79 | 48-4F | Anzahl der Nachrichtenteile aus der MGET-Struktur-Info |
60-63 | 3C-3F | 80-87 | 50-57 | Pointer auf den aktuellen Nachrichtenteil |
Aufbau des Eintrags zum HTTP-Exit
**) gilt nur für Unix-, Linux- und Windows-Systeme
Eintrag zur HTTP-Funktion (Typ HTTP)
Das Layout des HTTP-Record ist funktionsabhängig. Der Record beginnt immer mit folgendem Layout.
Byte 32-Bit | Byte 64-Bit **) | Bedeutung | ||
dez. | hexadez. | dez. | hexadez. | |
16-47 | 10-2F | 16-47 | 10-2F | abdruckbarer Name der HTTP-Funktion, z.B. kcHttpGetHeaderByName |
48-95 | 30-5F | 48-95 | 30-5F | abdruckbarer Returncode der HTTP-Funktion, z.B. KC_HTTP_OK (0) |
96-99 | 60-63 | 96-99 | 60-63 | Returncode der HTTP-Funktion |
**) gilt nur für Unix-, Linux- und Windows-Systeme
Der HTTP-Record der Funktion kcHttpGetHeaderCount enthält zusätzlich folgendes Feld.
Byte 32-Bit | Byte 64-Bit **) | Bedeutung | ||
dez. | hexadez. | dez. | hexadez. | |
100-103 | 64-67 | 104-111 | 68-6F | Anzahl der HTTP-Headerfelder des HTTP-Requests |
**) gilt nur für Unix-, Linux- und Windows-Systeme
Der HTTP-Record der Funktion kcHttpGetHeaderByIndex enthält zusätzlich folgende Felder.
Byte 32-Bit | Byte 64-Bit **) | Bedeutung | ||
dez. | hexadez. | dez. | hexadez. | |
100-103 | 64-67 | 104-111 | 68-6F | Anzahl der HTTP-Headerfelder des HTTP-Requests |
104-107 | 68-6B | 112-119 | 70-77 | Index des angeforderten HTTP-Headerfeldes |
108-111 | 6C-6F | 120-127 | 78-7F | Adresse des Puffers für den Namen des HTTP-Headers |
112-115 | 70-73 | 128-135 | 80-87 | Länge des Puffers für den Namen des HTTP-Headers |
116-119 | 74-77 | 136-143 | 88-8F | Länge des Namens des HTTP-Headers |
120-123 | 78-7B | 144-151 | 90-97 | Adresse des Puffers für den Wert des HTTP-Headers |
124-127 | 7C-7F | 152-159 | 98-9F | Länge des Puffers für den Wert des HTTP-Headers |
128-131 | 80-83 | 160-167 | A0-A7 | Länge des Werts des HTTP-Headers |
**) gilt nur für Unix-, Linux- und Windows-Systeme
Der HTTP-Record der Funktion kcHttpGetHeaderByName enthält zusätzlich folgende Felder.
Byte 32-Bit | Byte 64-Bit **) | Bedeutung | ||
dez. | hexadez. | dez. | hexadez. | |
100-103 | 64-67 | 104-111 | 68-6F | Adresse des Namens des HTTP-Headers |
104-107 | 68-6B | 112-119 | 70-77 | Länge des Namens des HTTP-Headers |
108-111 | 6C-6F | 120-127 | 78-7F | Adresse des Puffers für den Wert des HTTP-Headers |
112-115 | 70-73 | 128-135 | 80-87 | Länge des Puffers für den Wert des HTTP-Headers |
116-119 | 74-77 | 136-143 | 88-8F | Länge des Wertes des HTTP-Headers |
**) gilt nur für Unix-, Linux- und Windows-Systeme
Der HTTP-Record der Funktionen kcHttpGetMethod, kcHttpGetPath, kcHttpGetScheme, kcHttpGetVersion und kcHttpGetQuery enthalten zusätzlich folgende Felder.
Byte 32-Bit | Byte 64-Bit **) | Bedeutung | ||
dez. | hexadez. | dez. | hexadez. | |
100-103 | 64-67 | 104-111 | 68-6F | Adresse des Puffers für das Funktionsergebnis |
104-107 | 68-6B | 112-119 | 70-77 | Länge des Puffers für das Funktionsergebnis |
108-111 | 6C-6F | 120-127 | 78-7F | Länge des Funktionsergebnisses, z.B. des HTTP-Path |
**) gilt nur für Unix-, Linux- und Windows-Systeme
Der HTTP-Record der Funktion kcHttpGetMsg enthält zusätzlich folgende Felder.
Byte 32-Bit | Byte 64-Bit **) | Bedeutung | ||
dez. | hexadez. | dez. | hexadez. | |
100-103 | 64-67 | 104-111 | 68-6F | Adresse für die Adresse des HTTP Message Body |
104-107 | 68-6B | 112-119 | 70-77 | Adresse des HTTP Message Body |
108-111 | 6C-6F | 120-127 | 78-7F | Länge des HTTP Message Body |
**) gilt nur für Unix-, Linux- und Windows-Systeme
Der HTTP-Record der Funktion kcHttpPutHeader enthält zusätzlich folgende Felder.
Byte 32-Bit | Byte 64-Bit **) | Bedeutung | ||
dez. | hexadez. | dez. | hexadez. | |
100-103 | 64-67 | 104-111 | 68-6F | Adresse des Namens des HTTP-Headers |
104-107 | 68-6B | 112-119 | 70-77 | Adresse des Wertes des HTTP Headers |
108-121 | 6C-79 | 120-127 | 78-7F | Erste 14 Zeichen des Namens des HTTP Headers |
122-135 | 7A-87 | 128-135 | 80-87 | Erste 14 Zeichen des Wertes des HTTP Headers |
**) gilt nur für Unix-, Linux- und Windows-Systeme
Der HTTP-Record der Funktion kcHttpPutStatus enthält zusätzlich folgende Felder.
Byte 32-Bit | Byte 64-Bit **) | Bedeutung | ||
dez. | hexadez. | dez. | hexadez. | |
100-103 | 64-67 | 104-111 | 68-6F | Status-Code |
104-107 | 68-6B | 112-119 | 70-77 | Adresse des Reason Phrase |
108-135 | 6C-87 | 120-147 | 78-93 | Erste 28 Zeichen der Reason Phrase |
**) gilt nur für Unix-, Linux- und Windows-Systeme
Der HTTP-Record der Funktion kcHttpPutMsg enthält zusätzlich folgende Felder.
Byte 32-Bit | Byte 64-Bit **) | Bedeutung | ||
dez. | hexadez. | dez. | hexadez. | |
100-103 | 64-67 | 104-111 | 68-6F | Adresse des übergebenen Nachrichtenfragments |
104-107 | 68-6B | 112-119 | 70-77 | Länge des übergebenen Nachrichtenfragments |
108-111 | 6C-6F | 120-127 | 78-7F | Adresse für die Adresse des gesamten HTTP Message Body |
112-115 | 70-73 | 128-135 | 80-87 | Adresse für die Länge des gesamten HTTP Message Body |
116-119 | 74-77 | 136-143 | 88-8F | Adresse des gesamten HTTP Message Body |
120-123 | 78-7B | 144-151 | 90-97 | Länge des gesamten HTTP Message Body |
124-127 | 7C-7F | 152-159 | 98-9F | Länge des Puffers für den gesamten HTTP Message Body |
**) gilt nur für Unix-, Linux- und Windows-Systeme
Der HTTP-Record der Funktion kcHttpPercentDecode enthält zusätzlich folgende Felder.
Byte 32-Bit | Byte 64-Bit **) | Bedeutung | ||
dez. | hexadez. | dez. | hexadez. | |
100-103 | 64-67 | 104-111 | 68-6F | Angeforderter Umfang der Normalisierung |
104-107 | 68-6B | 112-119 | 70-77 | Adresse der zu normalisierenden Nachricht |
108-111 | 6C-6F | 120-123 | 78-7B | Länge der zu normalisierenden Nachricht |
112-115 | 70-73 | 124-131 | 7C-83 | Adresse für die Länge der normalisierten Nachricht |
116-119 | 74-77 | 132-135 | 84-87 | Länge der normalisierten Nachricht |
120-122 | 78-7A | 136-139 | 88-8B | im Falle eines Fehlers: fehlerhafte Zeichenfolge |
**) gilt nur für Unix-, Linux- und Windows-Systeme
Beispiel
In den ersten beiden Beispielen wurde der hexadezimale Teil des Dump-Eintrages weggelassen, das dritte Beispiel zeigt, wie der hexadezimale Teil bei der Auswertung von C-Namen und Längenfeldern (KCLM, KCLA, ...) benutzt wird.
Fehlerhafter Operationscode bei einem KDCS-Aufruf.
KDCROOT : UTM Diagarea . . 0012 08227F2C 0000 ... ..INIT.......................... 08227F4C 0020 ... ............ .. 000P0000 0013 08227F90 0000 ... ..MPUTNT.... *f0114 .... 08227FB0 0020 ... ............ .. 000P0000 0014 08227FF4 0000 ... ..SIGNOB........................ 08228014 0020 ... ............ .. 000P0000 0015 08228058 0000 ... ..XXXXFI.... ............ 08228078 0020 ... ............ .. 79ZP0000 0016 082280BC 0000 ... ..PENDER: KCRCCC >= 70Z AFTER 082280DC 0020 ... UTM SVC !!
PEND ER durch Signal 11 wegen eines Adressfehlers
KDCROOT : UTM Diagarea 0004 082279B4 0000 ... ..INIT..t.*..................... 082279D4 0020 ... ............ .. 000P0000 082279F4 0040 ... .....J"............. 0005 08227A18 0000 ... ..PENDER: ERROR ROUTINE XT11 ENT 08227A38 0020 ... ERED !! 08227A58 0040 ... ........POOLT001....
Auswertung der Längenfelder beim Dump
Bei den Angaben in den Längenfeldern müssen Sie die maschinenabhängige Art der Darstellung (little endian oder big endian) berücksichtigen! Bei little endian-Maschinen ist das Oktett mit der niedrigsten Adresse auch das niedrigstwertige Oktett, bei big endian-Maschinen ist das Oktett mit der niedrigsten Adresse das höchstwertige Oktett.
Den unterschiedlichen Aufbau verdeutlicht folgende Tabelle.
dezimale Darstellung
hexadezimale Darstellung
INTEL-Prozessor (little endian)hexadezimale Darstellung
RISC-Prozessor (big endian)228
E400
00E4
Bei Dezimalfeldern (unterstrichen) werden die Bytes in umgekehrter Reihenfolge dargestellt.
INTEL-Prozessor (z.B. Linux- und Windows-Systemen)0008 B66EC3CC 0000 07004B44 43533D3D FF86AC45 53A20D00 ..KDCS==...ES...
B66EC3DC 0010 494E4954 00000000 00000000 00000000 INIT............
B66EC3EC 0020 00000000 00000000 00000000 00000000 ................
B66EC3FC 0030 00000000 00000000 00002020 00002020 .......... ..
B66EC40C 0040 20203030 30503030 30302020 20202020 000P0000
B66EC41C 0050 20202020 20202020 20203D3D 00000000 ==....
B66EC42C 0060 0A3C49B7 02000000 4C545030 30303031 .<I.....LTP00001
0009 B66EC454 0000 08004B44 43533D3D FF86AC45 67A20D00 ..KDCS==...Eg...
B66EC464 0010 4D474554 00006D01 00000000 00000000 MGET..m.........
1
B66EC474 0020 00002020 20202020 20200000 00000000 .. ......
B66EC484 0030 00000000 00000000 00000000 08004F43 ..............OC
B66EC494 0040 204D3030 30503030 30302020 20202020 M000P0000
B66EC4A4 0050 20202020 20202020 20203D3D 00000000 ==....
B66EC4B4 0060 710756B7 02000000 4C545030 30303031 q.V.....LTP00001
1Beim MGET-Aufruf wurde in KCLA = 365 (hexadezimal: 016D) angegeben.
RISC-Prozessor (z.B. Solaris-, HP-UX- und AIX-Systeme)0008 0004B2EC 0000 00074B44 43533D3D 45AC8284 000B2204 ..KDCS==E.....".
0004B2FC 0010 494E4954 00000000 00000000 00000000 INIT............
0004B30C 0020 00000000 00000000 00000000 00000000 ................
0004B31C 0030 00000000 00000000 00002020 00002020 .......... ..
0004B32C 0040 20203030 30503030 30302020 20202020 000P0000
0004B33C 0050 20202020 20202020 20203D3D 00000000 ==....
0004B34C 0060 FFF25214 00000002 4C545030 30303031 ..R.....LTP00001
0009 0004B374 0000 00084B44 43533D3D 45AC8284 000B2230 ..KDCS==E....."0
0004B384 0010 4D474554 0000016D 00000000 00000000 MGET...m........
1
0004B394 0020 00002020 20202020 20200000 00000000 .. ......
0004B3A4 0030 00000000 00000000 00000000 00084F43 ..............OC
0004B3B4 0040 204D3030 30503030 30302020 20202020 M000P0000
0004B3C4 0050 20202020 20202020 20203D3D 00000000 ==....
0004B3D4 0060 FF1E1315 00000002 4C545030 30303031 ........LTP00001
1Beim MGET-Aufruf wurde in KCLA = 365 (hexadezimal: 016D) angegeben.