DBLOG Trace-Bildschirm

Der DBLOG Trace-Bildschirm dient zur Anzeige der aufgezeichneten Protokollierungsdaten zu Adabas-Kommandos, DL/I- und SYNC/ROLB-Aufrufen, SQL-Statements oder VSAM-Aufrufen, die im Natural-DBLOG-Puffer befinden.

Folgende Themen werden behandelt:


DBLOG Trace-Bildschirm für Adabas-Kommandos

DBLOG Trace-Funktion für Adabas-Kommandos aufrufen

Beispiel eines Aufrufs des DBLOG Trace-Bildschirms für Adabas-Kommandos:

  1. Schreiben Sie das folgende Natural-Programm:

    DEFINE DATA LOCAL
    1 EMP-VIEW VIEW OF EMPLOYEES
      2 NAME
    END-DEFINE
    READ (3) EMP-VIEW BY NAME
      DISPLAY NAME
    END-READ
    END
  2. Geben Sie das folgende Natural-Systemkommando ein:

    TEST DBLOG

    Die Meldung DBLOG started now wird angezeigt.

  3. Geben Sie das folgende Natural-Systemkommando ein:

    RUN

    Das Natural-Programm im Source-Bereich wird ausgeführt.

  4. Geben Sie erneut ein:

    TEST DBLOG

    Die Protokollierung wird deaktiviert und der DBLOG Trace-Bildschirm erscheint (Beispiel):

    14:14:23             ***** NATURAL TEST UTILITIES *****              2015-11-03
    User SAG                      - DBLOG Trace -                  Library SAG
    M ________No Cmd ___DB __FNR _Rsp _______ISN ____ISQ CID(Hex) OP_ Pgm_____ Line
    _          1  S1    10  2430                         00000000     ATEST2   5470
    _          2  RC    10                               00000000 F   ATEST    0220
    _          3  L3    10   316             295         00500101  A  LOGTEST  0050
    _          4  L3    10   316             621         00500101  A  LOGTEST  0050
    _          5  L3    10   316             715         00500101  A  LOGTEST  0050
    _          6  RC    10   316                         00500101 SI  LOGTEST  0050
    _          7  RC    10                               00000000 F   LOGTEST  0080
    
    
    Command ===>
    Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
          Help  Print Exit        Posi  --    -     +     ++                Canc

Spaltenüberschriften und Kommandos im DBLOG Trace-Bildschirm

Die folgende Tabelle enthält die Beschreibungen der Felder im DBLOG Trace-Bildschirm und die Blätterkommandos, die in dem Bildschirm oder in einem der in diesem Bildschirm aufrufbaren Fenster zur Anzeige der Puffer zur Verfügung stehen, siehe Adabas-Puffer anzeigen. Zur Kommandoausführung können Sie entweder eine PF-Taste drücken oder ein Direktkommando in der Kommandozeile absetzen.

Spalte PF-Taste bzw.
Direktkommando
Erklärung
M   Eingabemöglichkeit für Zeilenkommandos, mit denen zusätzliche Fenster aufgerufen werden, die ausführliche Informationen zu Puffern enthalten, siehe Adabas-Puffer anzeigen.
No   Folgenummer. Die Kommandos werden in der Reihenfolge angezeigt, in der sie ausgeführt wurden.
Cmd   Adabas-Kommando.

Wenn vor dem Kommando ein Stern steht (z.B. *S1), wurde der Datenbankaufruf in ACBX-Form gestartet.

DB   Datenbankkennung (DBID).
FNR   Dateinummer (FNR).
Rsp   Antwortcode (Adabas Response Code).
ISN   Interne Folgenummer (Internal Sequence Number) eines Datensatzes.
ISQ   ISN Quantity (Anzahl).
CID   Kommandokennung (Command ID).
CID (Hex)   Kommandokennung (Command ID) im Hexadezimalformat.
OP   Adabas-Kommando-Optionen 1 und 2.

Wenn die linke Option ein Kleiner als Zeichen ist (z.B. <A), wurde der Datensatz statt aus der Datenbank aus einem Multi-Fetch-Puffer geholt.

Pgm   Programmname.
Line   Quellcode-Zeilennummer.
  PF2 Hardcopy eines Bildschirms drucken.
  PF3 Der DBLOG Trace-Bildschirm wird verlassen oder ein Pufferanzeigefenster wird geschlossen. Die aktuellen Datensätze verbleiben im Natural-DBLOG-Puffer.
  PF5 Verschiebt die Protokolleinträge an den oberen Rand des Bildschirms: Positionieren Sie den Cursor in der Spalte M neben gewünschtes Kommando und Folgenummer in Spalte No und drücken Sie PF5.

Die Protokolle werden neu positioniert, beginnend mit der gewählten Folgenummer.

  PF6

oder

--

An den Anfang einer Liste oder der Daten in einem Puffer-Anzeigefenster blättern.
  PF7

oder

-

In einer Liste oder den Daten in einem Puffer-Anzeigefenster eine Seite nach oben blättern.
  PF8

oder

+

In einer Liste oder den Daten in einem Puffer-Anzeigefenster eine Seite nach unten blättern.
  PF9

oder

++

An das Ende einer Liste oder den Daten in einem Puffer-Anzeigefenster blättern.
  PF10 Nur in einem Puffer-Anzeigefenster mit mehreren Datensatz-/Formatpuffern vorhanden.

Anzeige des vorangegangenen Datensatz-/Formatpuffers.

  PF11 Nur in einem Puffer-Anzeigefenster mit mehreren Datensatz-/Formatpuffern vorhanden.

Anzeige des nächsten Datensatz-/Formatpuffers.

  PF12 Löschen des Natural-DBLOG-Puffers und Deaktivieren der Protokollierung.

Adabas-Puffer anzeigen

Der Adabas Control Block wird standardmäßig aufgezeichnet. Um einen oder mehrere Adabas-Puffer aufzuzeichnen, müssen Sie den oder die gewünschten Puffer im DBLOG-Menü markieren, bevor Sie die Protokollierungsfunktion ausführen (siehe Adabas-Puffer angeben). Wenn Sie beispielsweise im DBLOG-Menü nur den Formatpuffer markiert haben, können Sie nur das Format Buffer-Fenster, aber nicht das Record Buffer-Fenster anzeigen.

Beginn der AnweisungslisteUm den Control Block oder Puffer-Informationen anzuzeigen:

  1. Geben Sie im Eingabefeld neben dem benötigten Kommando das Zeilenkommando (s.u.) ein, das dem gewünschten Puffer entspricht und drücken SieENTER:

    Zeilen-
    kommando
    Angeforderter Puffer
    C Control Block
    F Format Buffer
    R Record Buffer
    S Search Buffer
    V Value Buffer
    I ISN Buffer
    . Durch Eingabe eines Punkts (.) wird der DBLOG Trace-Bildschirm verlassen. Die aktuellen Protokollaufzeichnungen bleiben im Natural-DBLOG-Puffer erhalten.

    Es erscheint ein Fenster, in dem die protokollierten Daten des Control Buffer bzw. des angeforderten Puffers angezeigt werden. Wenn Sie mehrere Zeilenkommandos eingegeben haben, können Sie sich durch Drücken von PF3 den Control Block bzw. den Puffer des nächsten Kommandos anzeigen lassen.

    Das Fenster in dem folgenden Beispiel enthält Daten eines Datensatzpuffers (Record Buffer):

    16:50:05             ***** NATURAL TEST UTILITIES *****              2015-11-03
    User SAG                      - DBLOG Trace -                  Library SAG
    M ________No Cmd ___DB __FNR _Rsp _______ISN ____ISQ CID(Hex) OP_ Pgm_____ Line
    _          1  S1    10  2430                         00000000     ATEST2   5470
    _          2  RC    10                               00000000 F   ATEST    0220
    _          3  L3    10   316             295         00500101  A  LOGTEST  0050
    R          4  L3    10   316             621         00500101  A  LOGTEST  0050
    _ +------------------Page 1 of 1 (logged range:0x-0x4F)-------------------+ 050
    _ | _____ Seq No 4          Record Buffer (length:0x14)                   | 050
    _ | 0000 * C1C6C1D5 C1E2E2C9 C5E54040 40404040 * AFANASSIEV       * 0000  | 080
    _ | 0010 * 40404040 00000000 00000000 00000000 *                  * 0010  | 110
    _ +-----------------------------------------------------------------------+ 270
    
    
    Command ===>
    Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
          Help        Exit              --    -     +     ++    <     >     Canc

    Beschreibung der Felder im Fenster:

    Feld Erklärung
    Page Nummer der aktuellen Seite und die Gesamtzahl an Seiten, die für den Puffer generiert wurden (im oben gezeigten Beispiel Page 1 of 1 (Seite 1 von 1).
    logged range Tatsächlich protokollierte Pufferlänge in Hexadezimalformat (im obigen Beispiel 0x0-0x4F).
    Seq No Folgenummer des Kommandos. Im oben gezeigten Beispiel wurde das Kommando an dritter Stelle (3) ausgeführt.
    buffer-type

    num-current /num-total

    buffer-type kennzeichnet den Typ des angeforderten Puffers.

    Zusätzlich wird bei einem Format- oder Datensatzpuffer (Format oder Record Buffer) die Anzahl der Datensatz- oder Formatpuffer angezeigt.

     
    num-current Bezeichnet die Nummer des aktuell angezeigten Datensatz-/Formatpuffers.
     
    num-total Bezeichnet die Gesamtzahl der der protokollierten Record/Format Buffers (Datensatz-/Formatpuffer).

    Bei einem Datenbankaufruf unter Verwendung des Extended Adabas Control Block (ACBX) werden mehrere Format-/Datensatzpuffer protokolliert.

    Im oben gezeigten Beispiel wird der erste Datensatz von insgesamt 13 Datensätzen gezeigt (1 / 13).

    Weitere Informationen zu ACBX siehe Adabas Control Block Structures (ACB and ACBX) in der Adabas for Mainframes-Dokumentation.

    length Gesamtlänge des Datensatzes in Hexadezimalformat (im obigen Beispiel 0x7A).
    _____
    Im Eingabefeld neben Seq No können Sie eines der folgenden Zeilenkommandos eingeben:
     
    C Anzeige des Control Block.
    F

    oder

    R
    Anzeige des Format Buffer(F) oder Record Buffer (R).

    Wenn Paare von Format und Record Buffers vorhanden sind, wird durch die Eingabe von F in einem Record Buffer oder R in einem Format Buffer der passende Record Buffer bzw. Format Buffer angezeigt. Wenn z. B. gerade der zweite Record Buffer angezeigt wird, ruft die Eingabe von F ein Fenster mit dem entsprechenden zweiten Format Buffer auf.

     
    I Anzeige des ISN Buffer.
    S Anzeige des Search Buffer.
    V Anzeige des Value Buffer.
     
    buffer-number Sie können die Nummer des Record/Format Buffer eingeben, der gezeigt werden soll.

    Siehe auch Schritt 2 weiter unten.

     
    . Durch Eingabe eines Punkts (.) wird das aktuelle Puffer-Anzeigefenster geschlossen.
  2. In einem Record/Format Buffer-Anzeigefenster, das mehrere Datensatz-/Formatpuffer enthält, können Sie eine der folgenden Methoden anwenden, um jeden einzelnen Record/Format Buffer anzuzeigen:

    Drücken Sie PF10, um den vorangegangenen Record/Format Buffer anzuzeigen.

    Oder:
    Drücken Sie PF11, um den nächsten Record/Format Buffer anzuzeigen.

    Oder:
    Geben Sie im Eingabefeld _____ die Nummer ein, die dem Record/Format Buffer entspricht, den Sie sich ansehen möchten.

Adabas-Kommandos anzeigen, die Multi-Fetch benutzen

Wenn in einem FIND-, READ- oder HISTOGRAM-Statement die MULTI-FETCH-Klausel verwendet wird, greifen tatsächlich nur die Adabas-Kommandos auf die Datenbank zu, die einen Satz Records (Datensätze) abrufen. Die abgerufenen Datensätze werden in einen Multi-Fetch-Puffer verschoben, aus dem sie während der Ausführung der Datenbankabfrageschleife geholt werden. Der nächste Datenbankaufruf erfolgt erst, wenn der nächste Satz Datensätze abgerufen wird.

Weitere Informationen siehe MULTI-FETCH-Klausel im Leitfaden zur Programmierung.

Im DBLOG Trace-Bildschirm werden sowohl Datenbankaufrufe als auch Nicht-Datenbankaufrufe aufgelistet. Zur Kennzeichnung wird an der ersten Stelle in der Spalte OP ein M bei Datenbankaufrufen und ein Kleiner als Zeichen (<) bei Nicht-Datenbankaufrufen des Multi-Fetch-Puffers angezeigt. Dies wird im folgenden Beispiel veranschaulicht:

Beispiel für ein Adabas-Kommando mit Multi-Fetch

Führen Sie DBLOG für das folgende Natural-Programm mit dem Namen MFETCH aus:

DEFINE DATA LOCAL
1 EMP-VIEW VIEW OF EMPLOYEES
  2 NAME
END-DEFINE
*
READ (5)  MULTI-FETCH OF 3  EMP-VIEW BY NAME = 'ADKINSON'
  DISPLAY *COUNTER NAME
END-READ
END

Der DBLOG Trace-Bildschirm erscheint (Beispiel):

10:04:46             ***** NATURAL TEST UTILITIES *****              2015-11-03
User SAG                      - DBLOG Trace -                  Library SAG
M ________No Cmd ___DB __FNR _Rsp _______ISN ____ISQ CID(Hex) OP_ Pgm_____ Line
_          1  S1    10  2430                         00000000     ATEST2   5470
_          2  RC    10                               00000000 F   ATEST    0220
_          3  L3    10   316             295         00600101 MA  MFETCH   0060
_          4  L3    10   316             621         00600101 <A  MFETCH   0060
_          5  L3    10   316             715         00600101 <A  MFETCH   0060
_          6  L3    10   316             535         00600101 MA  MFETCH   0060
_          7  L3    10   316            1038         00600101 <A  MFETCH   0060
_          8  RC    10   316                         00600101 SI  MFETCH   0060
_          9  RC    10                               00000000 F   MFETCH   0090


Command ===>
Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
      Help  Print Exit        Posi  --    -     +     ++                Canc

Die in der Liste unter den Folgenummern 3 und 6 aufgeführten L3-Kommandos rufen einen Satz Records (Datensätze) aus der Datenbank ab (angezeigt durch ein M in der Spalte OP) und geben den ersten Datensatz an das Programm zurück. Die übrigen Datensätze werden im Multi-Fetch-Puffer zwischengespeichert.

Die unter den Folgenummern 4, 5 und 7 aufgeführten L3-Kommandos rufen den Datensatz aus dem Multi-Fetch-Puffer ab (angezeigt durch < in der Spalte OP) und geben ihn an das Programm zurück.

Inhalt des Record Buffer bei Multi-Fetch-Datenbankaufrufen

Der Record Buffer eines Datenbankaufrufs, der Multi-Fetch benutzt, enthält die Daten aller von der Datenbank abgefragten Datensätze. Sie werden in der Reihenfolge aufgelistet, in der sie verarbeitet werden.

Beim Laden eines Satzes an Datensätzen überschreibt Adabas den Record Buffer ab dem ersten Byte bis zur Größe der Datensätze, die von der Datenbank zurückgegeben werden. Der übrig bleibende Platz im Puffer wird nicht gelöscht, sondern enthält immer noch Daten von alten Datensätzen, die während einem vorangegangenen Datenbankaufruf geladen wurden. Dies bedeutet zum Beispiel, dass, wenn ein als NAME(A20) definiertes Feld gelesen wird und ein Multi-Fetch-Faktor von 5 benutzt wird, der Record Buffer eine Länge von 100 (20 * 5) Bytes hat. Wenn nur 3 Datensätze von der Datenbank zurückgegeben werden, wird der Record Buffer nur mit den ersten 3 Datensätzen richtig gefüllt (Bytes 1 bis 60), während die letzten 2 Datensätze (Bytes 61 - 100) unverändert bleiben.

DBLOG Trace-Bildschirm für DL/I-Aufrufe

DBLOG Trace-Bildschirm für DL/I-Aufrufe aufrufen

Beispiel eines Aufrufs des DBLOG Trace-Bildschirms für DL/I-Aufrufe.

  1. Schreiben Sie folgendes Natural-Programm:

    DEFINE DATA LOCAL
    01 COURSE VIEW OF DNDL01-COURSE
      02 COURSEN (A3)
      02 TITLE (A33)
    01 OFFERING VIEW OF DNDL01-OFFERING
      02 COURSEN-COURSE (A3)
      02 LOCATION (A31)
    END-DEFINE
    READ (5) COURSE BY COURSEN
      IF TITLE = 'NATURAL'
        FIND (1) OFFERING WITH COURSEN-COURSE = COURSEN
          MOVE 'DARMSTADT' TO LOCATION
          UPDATE
          END OF TRANSACTION
        END-FIND
      END-IF
    END-READ
    END
  2. Geben Sie das folgende Natural-Systemkommando ein:

    TEST DBLOG D

    Die Meldung DBLOG started now wird angezeigt.

  3. Geben Sie das folgende Natural-Systemkommando ein:

    RUN

    Das im Source-Bereich enthaltene Natural-Programm wird ausgeführt.

  4. Geben Sie erneut ein:

    TEST DBLOG D

    Die Protokollierung wird deaktiviert und der DBLOG Trace-Bildschirm für DL/I-Aufrufe wird angezeigt.

    User SAG                        - DBLOG Trace -                Library SAG
    No  Func PCB NS SC DBD/PSB    First SSA (truncated)   IOA (trunc) Program  Line
    --- ---- --- -- -- -------- ------------------------- ----------- -------- ----
      1 PCB            PCNQA42                                        LOGDL1   0090
      2 GU   1   1     DNDL01   COURSE  *--(COURSEN =>     .          LOGDL1   0090
      3 GN   1   1     DNDL01   COURSE  *--(COURSEN =>     .Z01       LOGDL1   0090
      4 GN   1   1     DNDL01   COURSE  *--(COURSEN =>     .001       LOGDL1   0090
      5 GN   1   1     DNDL01   COURSE  *--(COURSEN =>     .004NATURA LOGDL1   0090
      6 GHNP 1   2     DNDL01   COURSE  *- (COURSEN  =004  ?010791DAR LOGDL1   0110
      7 REPL 1         DNDL01                              ?010791DAR LOGDL1   0130
      8 SYNC                                                          LOGDL1   0140
      9 PCB            PCNQA42                                        LOGDL1   0110
     10 GU   1   1     DNDL01   COURSE  *--(COURSEN = 004  .004NATURA LOGDL1   0110
     11 GHNP 1   2     DNDL01   COURSE  *--(COURSEN = 004  ?010791DAR LOGDL1   0110
     12 GN   1   1     DNDL01   COURSE  *--(COURSEN =>     +110       LOGDL1   0090
    ***** End of Log *****
    
    
    
    
    
    
    NEXT                                                               LIB=SAG

Spaltenüberschriften im DBLOG Trace-Bildschirm

In der folgenden Tabelle werden die Spaltenüberschriften im DBLOG Trace-Bildschirm für DL/I-Aufrufe erklärt.

Spalte Erklärung
No Folgenummer. Die Aufrufe werden in der Abfolge ihrer erfolgten Ausführung angezeigt.
Func DL/I Function.
PCB PCB-Nummer.
NS Anzahl der SSAs.
SC DL/I Status Code.
DBD/PSB

DBD-Name für DB-Aufrufe.
PSB-Name für die Zeitplanung von Aufrufen.

First SSA Erste 25 Bytes der ersten SSA.
IOA Erste 13 Bytes der I/O Area.
Program Natural-Programmname.
Line Quellcode-Zeilennummer.

DBLOG Trace-Bildschirm für SQL-Statements

DBLOG Trace-Funktion für SQL-Statements aufrufen

Beispiel eines Aufrufs des DBLOG Trace-Bildschirms für SQL-Statements.

  1. Schreiben Sie folgendes Natural-Programm:

    DEFINE DATA LOCAL
    01 EMP VIEW OF DSN8810-EMP
      02 EMPNO
      02 FIRSTNME
      02 MIDINIT
      02 LASTNAME
      02 EDLEVEL
      02 SALARY
    01 EMPPROJACT VIEW OF DSN8810-EMPPROJACT
      02 EMPNO
      02 PROJNO
      02 ACTNO
      02 EMPTIME
    END-DEFINE
    FIND (1) EMP WITH EMPNO > '000300'
      FIND (1) EMPPROJACT WITH EMPNO = EMPNO(0150)
        MOVE 0.75 TO EMPTIME
        UPDATE
      END-FIND
      ADD 1 TO EDLEVEL
      UPDATE
    END-FIND
    *
    FIND (1) EMP WITH EMPNO > '000300'
      FIND (1) EMPPROJACT WITH EMPNO = EMPNO(0240)
        DISPLAY EMPPROJACT EMP.EDLEVEL
      END-FIND
    END-FIND
    ROLLBACK
    END
  2. Geben Sie das folgende Natural-Systemkommando ein:

    TEST DBLOG Q

    Die Meldung DBLOG started nowwird angezeigt.

  3. Geben Sie das folgende Natural-Systemkommando ein:

    RUN

    Das Natural-Programm im Source-Bereich wird ausgeführt.

  4. Geben Sie erneut ein:

    TEST DBLOG Q

    Die Protokollierung wird deaktiviert. Der DBLOG Trace-Bildschirm für SQL-Statements wird angezeigt (Beipiel):

    11:28:58              ***** NATURAL Test Utilities *****             2008-07-28
    User SAG                        - DBLOG Trace -                Library SAG
    M No   R SQL Statement (truncated)     CU SN SREF M Typ SQLC/W Program  Line LV
    _    1   SELECT EMPNO,FIRSTNME,MIDINIT 01 01 0150 D DB2        LOGSQL   0150 01
    _    2     FETCH CURSOR NEX            01 01 0150 D DB2        LOGSQL   0150 01
    _    3   SELECT EMPNO,PROJNO,ACTNO,EMP 02 02 0160 D DB2        LOGSQL   0160 01
    _    4     FETCH CURSOR NEX            02 02 0160 D DB2        LOGSQL   0160 01
    _    5   UPDATE DSN8810.EMPPROJACT SET 02 03 0160 D DB2        LOGSQL   0180 01
    _    6   CLOSE CURSOR                  02 02 0160 D DB2        LOGSQL   0160 01
    _    7   UPDATE DSN8810.EMP SET EDLEVE 01 04 0150 D DB2        LOGSQL   0210 01
    _    8   CLOSE CURSOR                  01 01 0150 D DB2        LOGSQL   0150 01
    _    9   SELECT EMPNO,FIRSTNME,MIDINIT 05 05 0240 D DB2        LOGSQL   0240 01
    _   10     FETCH CURSOR NEX            05 05 0240 D DB2        LOGSQL   0240 01
    _   11   SELECT EMPNO,PROJNO,ACTNO,EMP 06 06 0250 D DB2        LOGSQL   0250 01
    _   12     FETCH CURSOR NEX            06 06 0250 D DB2        LOGSQL   0250 01
    _   13   CLOSE CURSOR                  06 06 0250 D DB2        LOGSQL   0250 01
    _   14   CLOSE CURSOR                  05 05 0240 D DB2        LOGSQL   0240 01
    _   15   ROLLBACK                      00 00 0000 D DB2        LOGSQL   0290 01
    _
    _
    Command ===>
    
    
    Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
          Help  Print Exit  Top   Posi  Bot    -     +                      Canc

Spaltenüberschriften und Kommandos im DBLOG Trace-Bildschirm

In der folgenden Tabelle werden die Spaltenüberschriften im DBLOG Trace-Bildschirm für SQL-Statements erklärt.

Um ein Kommando auszuführen, können Sie entweder eine PF-Taste drücken oder ein Direktkommando in der Kommandozeile eingeben.

Spalte PF-Taste Erklärung
Direkt-
kommando
M  
Eingabefelder für Zeilenkommandos:
   
E Ausführung des Kommandos EXPLAIN zwecks Anzeige von Informationen über die Wahl der Stragegie, die der DB2 Optimizer zur Ausführung von SQL-Statements gewählt hat.

Siehe auch Unterabschnitt Verwendung des Kommandos EXPLAIN bei Natural for DB2 in der Dokumentation zum Kommando LISTSQL in der Systemkommandos -Dokumentation.

   
L Ausführung des Kommandos LISTSQL. Dieses listet die Natural-Statements im Quellcode eines Natural-Objekts auf und zeigt die entsprechenden SQL-Kommandos, in die sie übersetzt wurden. Ein SQL Statement wird identifiziert druch den Library-Namen, den Programmnamen und die Zeilennummer, die aus dem Natural-DBLOG-Puffer genommen werden.

Siehe auch LISTSQL Command in der Systemkommandos-Dokumentation.

 

Wichtig:
Da beide Kommandos ihre Informationen aus der Natural-Systemdatei beziehen, können unerwünschte Ergebnisse auftreten, wenn das entsprechende Natural-Programm neu katalogisiert worden ist, nachdem die Protokollierungsfunktion mit dem Kommando TEST DBLOG Q ausgeführt wurde. Diese unerwünschten Ergebnisse können durch Statements verursacht werden, die nach der Protokollierung verändert wurden.

No   Folgenummer. Die Statements werden in der Abfolge ihrer erfolgten Ausführung angezeigt.
R   Gilt nur, wenn der Natural File Server for DB2 benutzt wird.

Ein Stern vor dem betreffenden Statement zeigt an, dass eine Neuselektion durchgeführt wurde, andernfalls bleibt das Feld leer.

Siehe auch Concept of the File Server in der Natural for DB2-Dokumentation.

SQL Statement   Die ersten 29 Zeichen der protokollierten SQL-Statement.
CU   Cursor-Nummer.
SN   Interne Statement-Nummer.
SREF   Statement-Referenznummer.
M   Modus: D für dynamisch oder S für statisch.
Typ   Datenbanktyp: DB2 oder /DS.
SQLC/W   Entwerder der Rückgabecode (SQL Return Code) im SQLCODE-Feld der SQLCA oder die Warnung im SQLWARN0-Feld der SQLCA, wenn SQLCODE 0 ist.
Pgm   Natural-Programmname.
Line   Quellcode-Zeilennummer.
LV   Programmebene (Level)
  PF2 Ausdrucken einer Hardcopy des Bildschirms.
  PF3 Beenden der DBLOG Trace-Funktion. Die aktuellen Protokolle werden im Natural-DBLOG-Puffer beibehalten.
  PF4 An den Listenanfang blättern.
  PF5 Protokolleinträge an den oberen Rand des Bildschirms verschieben: Positionieren Sie den Cursor in der Spalte M neben gewünschtes Kommando und Folgenummer in Spalte No und drücken Sie PF5.

Die Protokolle werden neu positioniert, beginnend mit der gewählten Folgenummer.

  PF6 An das Listenende blättern.
  PF7

oder

-

In der Liste eine Seite nach oben blättern.
  PF8

oder

+

In der Liste eine Seite nach unten blättern.
  PF12 Löschen des Natural-DBLOG-Puffers und Deaktivieren der Protokollierung.

DBLOG Trace-Bildschirm für VSAM-Aufrufe

Invoking DBLOG Trace for VSAM-Aufrufe

Beispiel eines Aufrufs des DBLOG Trace-Bildschirms für VSAM-Aufrufe.

  1. Schreiben Sie folgendes Natural-Programm:

    DEFINE DATA LOCAL                
    01 EMPVSAM VIEW OF EMPLOYEES-VS  
       02 NAME (A20)                 
       02 CITY (A20)                 
       02 PERSONNEL-ID (A8)          
    END-DEFINE                       
    READ (10) EMPVSAM BY PERSONNEL-ID
       WRITE PERSONNEL-ID NAME CITY  
    END-READ                         
    END
  2. Geben Sie das folgende Natural-Systemkommando ein:

    TEST DBLOG V

    oder

    TEST DBLOG V START

    Die Meldung DBLOG started now wird angezeigt.

  3. Geben Sie das folgende Natural-Systemkommando ein:

    RUN

    Das im Source-Bereich enthaltene Natural-Programm wird ausgeführt.

  4. Geben Sie erneut ein:

    TEST DBLOG V

    oder

    TEST DBLOG V SHOW

    Die Protokollierung wird deaktiviert und der DBLOG Trace-Bildschirm für VSAM-Aufrufe erscheint (Beispiel):

    11:21:41          ***** Natural Test Utility *****                 2019-10-14 
    User SAG                 - DBLOG V Trace -                   Library SAG   
                                                                                  
    Seq Number VSAMCall Cmd Resp NRet Key (10)   RecID(10)  FileName Program  Line
    ---------- -------- --- ---- ---- ---------- ---------- -------- -------- ----
                                                                                  
             1 SETL     L3                                  EMPLVS   VSAM01   0050
             2 GETNXT   L3            11100102   11100102   EMPLVS   VSAM01   0050
             3 GETNXT   L3            11100105   11100105   EMPLVS   VSAM01   0050
             4 ESETL    RC                                  EMPLVS   VSAM01   0050
                                                                                  
                                   ***** End of Log *****

Spaltenüberschriften im DBLOG Trace-Bildschirm

In der folgenden Tabelle werden die Spaltenüberschriften im DBLOG Trace-Bildschirm für VSAM-Aufrufe erklärt.

Spalte Erklärung
Seq Number Folgenummer. Die Aufrufe werden in der Reihenfolge angezeigt, in der sie ausgeführt wurden.
VSAMCmd VSAM-Aufruf wird abgesetzt.
Cmd Äquivalentes Adabas-Kommando.
Resp Rückgabecode nach dem VSAM-Aufruf. c
NRet Natural-Rückgabecode, falls vorhanden.
Key (10) Erste 10 Bytes des VSAM-Schlüssels.
RecID (10) Erste 10 Bytes der Datensatzkennung (Record ID).
FileName VSAM-Datei, auf die zugegriffen wurde.
Program Name des Natural-Programms.
Line Quellcode-Zeilennummer des Natural-Programms.