Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Inhaltsübersicht

Table of Contents
maxLevel4

Lizenz prüfen


...

Bibliotheken und Verzeichnisse für

...

RPGWX


...

Fehlersuche und -behebung auf IBM i

Version feststellen

IBM i-Version

GO LICPGM, Auswahl 10, Taste F11

...

RPGWX Version

WRKLIB DIRWEB - in der Beschreibung steht die Versionsnummer

...

Die Versions-Nr. ist auch in der Tabelle DWWEBAPP (Bibliothek DIRWEB) in den Spalten APVERS, APVERSREL und APVERSPTF hinterlegt. Daten-Bereich und Einträge in der Tabelle DWWEBAPP werden beide aktualisiert und gegeneinander abgeglichen.

Befehle zur Konfiguration

ADDLIBLE DIRWEB
CFGDIRWEB

Wenn nötig, dann können Sie SSL im Betriebssystem IBM i aktivieren. Folgen Sie dafür den Schritten auf der Seite HTTPS-Konfiguration (z.B. für WOPiXXRPGWX).

Start/Stop -Befehle

  1. ADDLIBLE DIRWEB
  2. STRWOPIXX STRRPGWX oder ENDWOPIXXENDRPGWX

Sofern man die Befehle mit dem CL-Befehl CRTDUPOBJ in die Bibliothek QGPL kopiert (was auf unseren Systemen, zumindest auf der PWRDIST und PW8BHA erfolgt ist), können beide Befehle ausgeführt werden, ohne dass zuvor die Bibliothek DIRWEB explizit in die Bibliotheksliste aufgenommen wurde.

Subsystem und Jobs

Damit WOPiXX RPGWX arbeiten kann werden einige Dienste des HTTP-Servers auf der IBM i benötigt. Diese Dienste laufen im Subsystem QHTTPSVR als eigene Instanz mit dem Namen DIRWEB. Hierfür müssen jedoch Name und Port des Servers (der IBM i) im Green-Screen gesetzt und die Instanz DIRWEB gestartet werden.

...

Sofern man in der Anzeige das Debug-Fenster aktiviert hat, kann der qualifizierte Job direkt aus den Header-Informationen (System-Job) ausgelesen werden.

Logs/Protokolle/Dumps

Protokollierung ein und ausschalten (im Browser)

Wenn WOPiXX RPGWX im Browser funktioniert dann geht das mit WOPiXX RPGWX → Einstellungen → Protokollierung

...

In der Spalte Protokoll-Datei sieht man, welche Datei mit abgefragt werden muss, um die entsprechende Log-Information zu sehen.

Protokollierung ein und ausschalten (im Green-Screen)

Die Steuerdatei für die oben beschriebenen Dateien heisst DIRWEB/DWACTLOGP. Für jede Protokolldatei gibt es einen Datensatz in der DWACTLOGP.

Das Feld ACACT steuert, ob die Protokolldatei geschrieben wird oder nicht: 1=Ja, 0=Nein

Protokoll-Dateien in Bibliothek DIRWEB

Für alle SQL-Befehle gilt:

  • wenn man sie in einem IBM i - Green Screen im STRSQL-Bildschirm eingibt, dann muss man die Bibliothek DIRWEB
    • entweder bereits vor dem Aufruf von STRSQL in die Bibliotheksliste geschrieben haben
    • oder man gibt sie qualifiziert an, im dem man die Bibliothek DIRWEB dem Objekt voranstellt. Bibliothek und Objekt können wahlweise mit einem Querstrich ( / ) oder einem Punkt ( . ) getrennt werden, also DIRWEB/DWSESSQL oder DIRWEB.DWSESSQL.
  • wenn man sie in einem graphischen SQL-Tool (z.B. ACS oder SQuirreL) eingibt, das standardmäßig mit SQL Namenskonventionen arbeiteat, dann ist der Questrich als Qualifikationskennzeichen nicht zulässig. Das Trennzeichen ist in diesem Fall immer der Punkt: DIRWEB.DWSESSQL.

DWSESSQL - SQL-Befehle, die verarbeitet wurden

select * from DIRWEB.DWSESSQL order by SQCHGDATE desc 

...

select SQRCDS, time(SQWRTDATE), SQCMD
from DIRWEB.DWSESSQL
where SQID like '%jzchc%'
order by SQID, SQCHGDATE desc

DWPRDIRWP - verschiedene Log-Funktionen - hier: von den Anwendungen durchgeführte SQL-Befehle

Die DWSESSQL (s.o.) zeigt alle SQL-Befehle, die von WOPiXX RPGWX selbst gerufen werden. Befehle, die in den Anwendungen programmiert wurden, erscheinen nicht.

...

select log.PRWRTDATE, log.PRINFO, log.*
from  DWPRDIRWP log

where PRINFO like '%SQL Command:%'
order by PRWRTDATE desc;

DWWEBSES - Sitzungen

Eine Liste der Sitzungen mit ihren angemeldeten Benutzern anzeigen:

select B.SUUSR, A.*
FROM DWWEBSES A
left join DWWEBUSR B
on A.SEUID = B.SUID
ORDER BY SELST desc


Protokolldateien im IFS

/www/dirweb/logs/error_log.Qxxxxxx


STRDBMON - SQL-Befehle loggen

Der DB-Monitor loggt - wenn eingeschaltet - sämtliche SQL-Befehle. Man kann ihn auf einen einzelnen Job eingrenzen oder über das gesamte System arbeiten lassen.

Zunächst wird mit dem Befehl STRDBMON das Daten-Sammeln eingeschaltet. Nachdem die fragliche Funktion ausgeführt wurde kann man ihn mit ENDDBMON wieder abschalten.

Die Daten werden in eine Datei geschrieben, die man im STRDBMON angibt und die man mit einem SELECT-Befehl auswerten kannn.

Daten sammeln

  1. Job-ID des zu loggenden  Jobs ermitteln (z.B. 235242/QTMHHTTP/DIRWDIRWEB)
    1. woppix im Browser starten und das debug-Fenster aktivieren
    2. ein Programm startern, in dem die Job-Angaben angezeigt werden
  2. DB-Monitor starten mit STRDBMON
    1. OUTFILE angeben (hier: QGPL/WPXDBMON)
    2. JOB angeben, damit nur dessen Daten geloggt werden (Ausgabedatei könnte sonst sehr gross werden)
    3. z.B. STRDBMON OUTFILE(QGPL/WPXDBMON) JOB(235242/QTMHHTTP/DIRWEB)
  3. Programme ausführen, für die man sich interessiert
  4. DB-Monitor wieder beenden
    1. z.B. ENDDBMON JOB(235242/QTMHHTTP/DIRWEB)


Code Block
languagesql
titleAlternativen zu den 5250-Befehlen STRDBMON / ENDBMON in SQL
CL:STRDBMON OUTFILE(QGPL.WPXDBMON) JOB(235242/QTMHHTTP/DIRWEB) ;

CL:ENDDBMON JOB(235242/QTMHHTTP/DIRWEB) ;

Gesammelte Daten mit dem ACS Database Monitor auswerten

1. Im Startmenü von IBM i Access - Client Solutions (ACS) Doppelklicke auf "SQL Performance Center"

Image Modified


2. Den Reiter "Leistungsüberwachungen" (englich: "Performance monitors") wählen

Image Modified


3. Rechtsklick auf die Datei, die im Befehl STRDBMON, Parameter OUTFILE angegeben war und "Analysieren" (engl. "Analyze")

Image Modified


4. In der Kategorie "Overview" → Error → Error Statements wählen



Gesammelte Daten mit SQL auswerten


Code Block
languagesql
titleSTRDBMON-Logdatei auswerten
-- Auswahl aller SQL-Befehle, die länger als 1 Millisekunde benötigten (QQI4 > 1)
select
  QQI4 as Millisec, 
  QQI6 as Microsec,  
  QQTIME ,  
  QQSTN , 
  QQSTIM as Starttime  ,  
  QQETIM as Endtime ,  
  QQC103 , 
  QQC104 , 
  QQ1000, 
  QVC1282
from QGPL/WPXDBMON a 
where QQI4 > 1 and  QQC103 <> 'QAQQINI'
order by QQETIM desc;


Weitere Hinweise zu den Feldern in der DB-Monitor-Ausgabedatei:https://www.ibm.com/docs/en/i/7.3?topic=formats-sql-table


...

Fehlersuche und -behebung auf dem Browser

Cache löschen

  • Firefox: STRG+F5


...

Support-Fälle

Fehlermeldung: "Zeile für SELECT nicht gefunden. Error calling <programmname>" im Browser (18030182)

Der Fehler trat in diesem Fall in einem CHG-Programm auf.

...

Wx_ChgFile('CONTPF');

verschwand der Fehler.

Datenfehler X'1F' führt zu Fehlern bei

...

RPGWX-WRK-Programmen

Bei dieser Fehlersituation ist eine mögliche Ursache, dass ungültige Zeichen (X‘1F‘) in einem Feld in der Datei dazu führen, dass nicht alle oder sogar gar keine Sätze angezeigt werden. Es handelt sich mit ziemlicher Sicherheit um Textfelder, die in der WRK-Anzeige angezeigt werden sollten.

...

Zur Zeit bietet Toolmaker bietet kein Tool, mit dem dieser Vorgang automatisiert bearbeitet werden kann.

Fehlermeldung beim Versuch, sich anzumelden: "Zu viele ungültige Anmeldeversuche. IP xxx.xxx.xxx.xxx ist gesperrt"

Es wurde zu häufig versucht, sich mit falschen Anmeldeinformationen von einem PC mit einer bestimmten IP-Adresse anzumelden.

In diesem Fall wird die Adresse von WOPiXX RPGWX für eine bestimmte Zeit gesperrt. In dieser Zeit ist kein Anmelden von diesem PC möglich. Nach Ablauf der Sperrfrist, kann man sich wieder normal anmelden.

Die Zeit, in der eine IP-Adresse blockiert wird, wird in WOPiXX RPGWX → Einstellungen → Grundeinstellungen, Reiter "Allgemein" festgelegt. Das Feld ist "IP Adresse sperren".


Fehlermeldung im Browser: ERR_CERT_AUTHORITY_INVALID

Problem

Der Browser zeigt eine Fehlermeldung beim Aufrufen von WOPiXXRPGWX. Man kann den Fehler umgehen, er kehrt jedoch immer wieder.

...

Folgen Sie hierzu den Schritten, die auf der Seite IBM i - wichtige Informationen rund um das Betriebssystem - Das CA-Zertifikat auf den Benutzer PCs unter "Vertrauenswürdige Stammzertifizierungsstellen" installieren.

Fehlermeldung im Browser: ERR_CERT_COMMON_NAME_INVALID

Problem

Es wurde ein Zertifkat erstellt, das nicht "passt".

...