Hallo Zusammen!

Ich habe in den vergangenen Wochen folgendes Problem beobachtet und komme einfach nicht weiter bei diesem Phänomen.

Eine Bibliothek einer Standardsoftware enthält 2 Views, die sich auf die QSYS2/Views bzw. QSYS2.COLUMNS bezieht. Diese LF's werden durch SQL erstellt. Die Software des Herstellers arbeitet mit diesen Views und funktioniert auch.

Wenn ich nun einen IPL der Maschine durchführe, werden genau diese beiden Views gelöscht. Das Faszinierende daran ist, daß ich bisher nirgends Logeinträge über diesen Vorgang gefunden habe. QAUDJRN ist aktiviert. DSPLOG gibt auch keine Hinweise. Dieses Verhalten ist offenbar bei jedem IPL so reproduzierbar. Auch auf verschiedenen Maschinen (Testsystem, Produktivsystem, Backupsystem). Alle Maschinen laufen derzeit noch unter V6R1.

Nach IPL kann ich die Views per RSTOBJ oder mit dem entsprechenden SQL problemlos wieder erstellen.

Kann mir jemand einen Tip geben, wo ich hier ansetzen kann / muß? Macht der Softwarehersteller ggf. etwas beim Anlegen der View falsch bzw. beachtet eine Regel auf der AS400 nicht?

Ich bin im Moment etwas ratlos.

Anbei mal die SQL's mit denen die Views erstellt werden.

CREATE
VIEW DIAVIEWS
AS
SELECT
A.TABLE_SCHEMA AS LIMSSCHEMA ,
A.TABLE_NAME AS LIMSVIEW ,
'' AS BESCHREIBUNG ,
A.VIEW_DEFINITION AS SQLSTATEMENT ,
'Y' AS VALID
FROM
QSYS2.VIEWS A
WHERE
A.TABLE_SCHEMA = 'DIALIMS'

--------------------------------------
CREATE
VIEW DIACOLUMNS
AS
SELECT
TABLE_SCHEMA AS LIMSSCHEMA ,
TABLE_NAME AS TABELLE ,
COLUMN_NAME AS LIMSCOLUMN ,
DATA_TYPE AS SQL TYP ,
COALESCE(CHARACTER_MAXIMUM_LENGTH,COALESCE(NUMERIC _PRECISION,
DATETIME_PRECISION)) AS LAENGE ,'' AS BESCHREIBUNG ,
CASE DATA_TYPE
WHEN 'BINARY LARGE OBJECT'
THEN 'java.io.InputStream'
WHEN 'BOOLEAN'
THEN 'java.lang.Boolean'
WHEN 'NATIONAL CHARACTER'
THEN 'java.lang.String'
WHEN 'CLOB'
THEN 'java.io.InputStream'
WHEN 'DATE'
THEN 'java.sql.Date'
WHEN 'DECIMAL'
THEN 'java.math.BigDecimal'
WHEN 'DOUBLE PRECISION'
THEN 'java.lang.Double'
WHEN 'INTEGER'
THEN 'java.lang.Integer'
WHEN 'NATIONAL CHARACTER LARGE OBJECT'
THEN 'java.io.InputStream'
WHEN 'CHARACTER LARGE OBJECT'
THEN 'java.io.InputStream'
WHEN 'REAL'
THEN 'java.lang.Float'
WHEN 'SMALLINT'
THEN 'java.lang.Integer'
WHEN 'TIME'
THEN 'java.sql.Time'
WHEN 'TIMESTAMP'
THEN 'java.sql.Timestamp'
WHEN 'NATIONAL CHARACTER VARYING'
THEN 'java.lang.String'
WHEN 'CHARACTER VARYING'
THEN 'java.lang.String'
ELSE 'java.lang.String'
END AS JAVAKLASSE,
CASE
DATA_TYPE
WHEN 'BINARY LARGE OBJECT'
THEN 'java.io.InputStream'
WHEN 'BOOLEAN'
THEN 'java.lang.Boolean'
WHEN 'NATIONAL CHARACTER'
THEN 'com.dialog.dialims.abfragen.editoren.StringEditor '
WHEN 'CLOB'
THEN 'com.dialog.dialims.abfragen.editoren.StringEditor '
WHEN 'DATE'
THEN 'com.dialog.dialims.abfragen.editoren.StringEditor '
WHEN 'DECIMAL'
THEN 'com.dialog.dialims.abfragen.editoren.StringEditor '
WHEN 'DOUBLE PRECISION'
THEN 'com.dialog.dialims.abfragen.editoren.StringEditor '
WHEN 'INTEGER'
THEN 'com.dialog.dialims.abfragen.editoren.StringEditor '
WHEN 'NATIONAL CHARACTER LARGE OBJECT'
THEN 'com.dialog.dialims.abfragen.editoren.StringEditor '
WHEN 'CHARACTER LARGE OBJECT'
THEN 'com.dialog.dialims.abfragen.editoren.StringEditor '
WHEN 'REAL'
THEN 'com.dialog.dialims.abfragen.editoren.StringEditor '
WHEN 'SMALLINT'
THEN 'com.dialog.dialims.abfragen.editoren.StringEditor '
WHEN 'TIME'
THEN 'com.dialog.dialims.abfragen.editoren.StringEditor '
WHEN 'TIMESTAMP'
THEN 'com.dialog.dialimsdialims.abfragen.editoren.Strin gEditor'
WHEN 'NATIONAL CHARACTER VARYING'
THEN 'com.dialog.dialims.abfragen.editoren.StringEditor '
WHEN 'CHARACTER VARYING'
THEN 'com.dialog.dialims.abfragen.editoren.StringEditor '
ELSE 'com.dialog.dialims.abfragen.editoren.StringEditor '
END AS JAVAEDITOR,
ORDINAL_POSITION AS ORDNUNG
FROM
QSYS2.COLUMNS
WHERE TABLE_SCHEMA = 'DIALIMS'


Schönen Gruß
Heiko