PDA

View Full Version : Systemkatalog-View SYSFIELDS fehlt



Seiten : [1] 2 3

COS
19-10-12, 10:33
CREATE COLLECTION (auf V5R4 or V6R1),
diese Systemkatalog-Views werden in jeder collection generiert:
SYSCHKCST
SYSCOLUMNS
SYSCST
SYSCSTCOL
SYSCSTDEP
SYSINDEXES
SYSKEYCST
SYSKEYS
SYSPACKAGE
SYSREFCST
SYSTABDEP
SYSTABLES
SYSTRIGCOL
SYSTRIGDEP
SYSTRIGGER
SYSTRIGUPD
SYSVIEWDEP
SYSVIEWS

CREATE COLLECTION (auf V7R1),
diese Systemkatalog-Views werden in jeder collection generiert:
SYSCHKCST
SYSCOLUMNS
SYSCST
SYSCSTCOL
SYSCSTDEP
SYSFIELDS <==== neu mit V7R1, fehlt aber in Collections, welche vorher mit älteren OS-Vers. erstellt wurden und dann auf V7R1 upgedatet worden sind

SYSINDEXES
SYSKEYCST
SYSKEYS
SYSPACKAGE
SYSREFCST
SYSTABDEP
SYSTABLES
SYSTRIGCOL
SYSTRIGDEP
SYSTRIGGER
SYSTRIGUPD
SYSVIEWDEP
SYSVIEWS


kann man die fehlenden Systemkatalog-Views in älteren Collections einfach per CMD/PGM erstellen und damit fixen,
oder muss man manuell jeweils ein CREATE VIEW .... mit WHERE Collection = ..... machen ?

Fuerchau
19-10-12, 10:50
SYSFIELDS gabs früher vielleicht mal.
Korrekt heißt diese SYSCOLUMNS und die ist ja da.
Die Standardzugriffe (embedded, ODBC/JDBC/DRDA) verwenden nur die SYSCOLUMNS.

Wer selber auf SYSFIELDS zugreift sollte dies auf SYSCOLUMNS umstellen bzw. die korrekten DESCRIBE-Befehle verwenden.

COS
19-10-12, 10:58
SYSFIELDS gabs früher vielleicht mal.
Korrekt heißt diese SYSCOLUMNS und die ist ja da.
Die Standardzugriffe (embedded, ODBC/JDBC/DRDA) verwenden nur die SYSCOLUMNS.

Wer selber auf SYSFIELDS zugreift sollte dies auf SYSCOLUMNS umstellen bzw. die korrekten DESCRIBE-Befehle verwenden.

Nein, das ist denke ich falsch.

Ich habe die Statements CREATE COLLECTION heute auf unseren Systemen ausgeführt,
SYSFIELDS erscheint unter V7R1 erstellten Collections,
fehlt aber bei unter älteren OS-Vers. erstellten und dann auf V7R1 migrierten Collections.

u.a. SAP verwendet wohl diese SYSFIELDS

Fuerchau
19-10-12, 11:02
OK, dann ist diese wohl erst ab V7R1 neu dazugekommen.
Per DSPFD kannst du dir die View ja ansehen und dann entsprechend manuell per CREATE VIEW erstellen.

Irgendwo hier gabs auch einen Thread, in dem ein Komamndo zum Neuaufbau beschrieben war da sich ja zum Teil auch der Aufbau der Views geändert hat.

PS:
Das heißt ja, dass SAP mit älteren Versionen dann gar nicht funktioniert ?
Was ist das denn für eine schlechte Implementation.

B.Hauser
19-10-12, 11:06
Wenn Dir schon Kent Milligan darauf keine Antwort geben kann, wie sollen wir es dann können?

Aktuell werden insbesondere die Statistic Views (z.B. SYSTABLESTAT oder SYSPARTITIONSTAT) nicht in die Catalog Views für die einzelnen Umgebungen übernommen bzw. erstellt.
Warum das so ist, müssen die Jungs von der IBM sagen.

Wenn Du die Catalog View in einer individuellen Bibliothek haben willst, dann erstell' sie Dir halt mit:

Create View YourLib/YourView
as (Select * from QSYS2/SYSFIELDS
Where Table_Schema = YourLib);

... außerdem solltest Du statt CREATE COLLECTION (AS/400 spezifisch) den Befehl CREATE SCHEMA (SQL Standard) verwenden, ggf. wurde der zweite Befehl erweitert, der erste nicht (mehr) geändert.

Birgitta

COS
19-10-12, 11:08
OK, dann ist diese wohl erst ab V7R1 neu dazugekommen.
Per DSPFD kannst du dir die View ja ansehen und dann entsprechend manuell per CREATE VIEW erstellen.

naja, ich hatte gehofft, IBM bietet da was intelligentes an, um das zu fixen .....



Irgendwo hier gabs auch einen Thread, in dem ein Komamndo zum Neuaufbau beschrieben war da sich ja zum Teil auch der Aufbau der Views geändert hat.

.... ja, genau danach suche ich .....



PS:
Das heißt ja, dass SAP mit älteren Versionen dann gar nicht funktioniert ?
Was ist das denn für eine schlechte Implementation.
ja, das wundert mich ja auch ....
DBACOCKPIT and missing View SYSFIELDS | SCN (http://scn.sap.com/thread/3253729)
:)

COS
19-10-12, 11:11
Wenn Dir schon Kent Milligan darauf keine Antwort geben kann, wie sollen wir es dann können?

Aktuell werden insbesondere die Statistic Views (z.B. SYSTABLESTAT oder SYSPARTITIONSTAT) nicht in die Catalog Views für die einzelnen Umgebungen übernommen bzw. erstellt.
Warum das so ist, müssen die Jungs von der IBM sagen.

Wenn Du die Catalog View in einer individuellen Bibliothek haben willst, dann erstell' sie Dir halt mit:

Create View YourLib/YourView
as (Select * from QSYS2/SYSFIELDS
Where Table_Schema = YourLib);

... außerdem solltest Du statt CREATE COLLECTION (AS/400 spezifisch) den Befehl CREATE SCHEMA (SQL Standard) verwenden, ggf. wurde der zweite Befehl erweitert, der erste nicht (mehr) geändert.

Birgitta

ich hatte die Hoffnung, das man mich hier eher versteht ...... :):):)

COS
19-10-12, 11:14
... außerdem solltest Du statt CREATE COLLECTION (AS/400 spezifisch) den Befehl CREATE SCHEMA (SQL Standard) verwenden, ggf. wurde der zweite Befehl erweitert, der erste nicht (mehr) geändert.

Birgitta

bei CREATE SCHEMA ........ unter V7R1 ....
gibt es die SYSFIELDS ebenfalls ,
also kein Unterschied zu CREATE COLLECTION .....

Fuerchau
19-10-12, 11:17
Laut Dokumentation ist Collection nur noch ein Synonym für Schema (oder anders herum) und sollte daher nicht unterschiedlich implementiert sein sondern auf die selben Routinen zugreifen.

Ansonsten suche hier mal im Forum nach "SYS-Tabellen nachträglich installieren" oder so ähnlich.

Fuerchau
19-10-12, 11:20
So habs gefunden, ob aber alles angepasst oder nur fehlende Views erstellt werden weiß ich nicht:

CALL QSYS2/QSQXRLF PARM(CRT Bibliotheksname)