View Full Version : API suche
Hallo,
gibt es ein APi mit dem ich feststellen kann welche z.B. "physischen Dateien" sich in einer Bibliothek befinden?
d.h.
ich will in einem Pgm. einen oder mehrere Buchstaben eingeben und anschließend alle Dateien (welche sich in einer bestimmten Bibl. befinden) in einer SubFile anzeigen.
Hallo,
auch das, aber
select * from qsys2.systables
where table_schema = 'MYLIB'
tuts auch schon
mfg
Dieter Bender
Hallo,
gibt es ein APi mit dem ich feststellen kann welche z.B. "physischen Dateien" sich in einer Bibliothek befinden?
d.h.
ich will in einem Pgm. einen oder mehrere Buchstaben eingeben und anschließend alle Dateien (welche sich in einer bestimmten Bibl. befinden) in einer SubFile anzeigen.
ist schon nicht schlecht! ;-)
ich bräuchte (zur entsprechenden Datei) aber schon noch ein paar Infos dazu (sorry hatte ich leider nicht erwähnt)
z.B.
a) erstellt am
b) zuletzt benutzt
c) etc.
Hallo,
für CL Liebhaber liefert selbiges RTVOBJD, ansonsten DSPOBJD mylib/*ALL *FILE output(*outfile) outfile(qtemp/blablabla) und dann select * from qtemp.blablabla .
wers lieber kryptisch mag, kann dann immer noch in der API section nachsehen und sich den DSPOBJD selber schreiben (was anderes macht der nämlich auch nicht.
mfg
Dieter Bender
ist schon nicht schlecht! ;-)
ich bräuchte (zur entsprechenden Datei) aber schon noch ein paar Infos dazu (sorry hatte ich leider nicht erwähnt)
z.B.
a) erstellt am
b) zuletzt benutzt
c) etc.
Hallo,
falls Du ein API brauchst:
Retrieve Object Description (QUSROBJD) API
Format OBJD0100 müsste schon die Informationen liefern, die Du brauchst.
Es gibt übrigens eine API-Finder, mit dem über Stichworte nach APIs gesucht werden kann:
API-Finder (http://publib.boulder.ibm.com/infocenter/iseries/v5r4/index.jsp?topic=/apifinder/finder.htm)
Birgitta
KingofKning
19-06-07, 10:14
Hallo,
auch das, aber
select * from qsys2.systables
where table_schema = 'MYLIB'
tuts auch schon
mfg
Dieter Bender
Hallo Dieter,
hatte es mal schnell kopiert und ausgeführt, bekomme aber folgende Fehlermeldung
Qualifizierter Objektname SYSTABLES nicht gültig.
Wo ist mein Denkfehler?
Gruß
Gregor
Hallo,
die AS400 hat zwei SQL Modi:
ANSI SQL (universeller Qualifier Punkt) und HuddelSQL ("Bibliotheks" Qualifier /), das lässt sich in den Einstellungen des interaktiven SQL einstellen.
mfg
Dieter Bender
Hallo Dieter,
hatte es mal schnell kopiert und ausgeführt, bekomme aber folgende Fehlermeldung
Qualifizierter Objektname SYSTABLES nicht gültig.
Wo ist mein Denkfehler?
Gruß
Gregor
Um Dieters Aussage zu erweitern:
set options naming=*SYS <= Default LIB/FILE
set options naming=*SQL <= ANSI Lib.File
Aber Achtung:
Bei *SQL laufen nicht qualifizierte SQL's (also ohne Lib) in der DFTRDBCOL (Default hier Username) !
Sowohl Naming als auch DFTRDBCOL können per "set option" oder CRTSQLxxx angegeben werden.
... deswegen nenne ich das HuddelSQL, das darf ja nicht wahr sein, da habe ich eine Datenbank mit allem Schnick, Schnack und Feuerstein, bis hin zu RI und dann sage ich: "Schau mal in welchem Schema (= Library) du die Auftragsdatei findest und in welchem Schema du dann einen Artikelstamm findest, das ist mir sowas von Wurscht..."
Bei *SQL laufen nicht qualifizierte SQL's (also ohne Lib) in der DFTRDBCOL (Default hier Username) !
Und wenn man zwei gleichnamige Dateien in unterschiedlichen Bibliotheken auf dem System i hat? Wie kann man die dann mit ANSI SQL ansprechen?
Nachtrag: Achso, bei ANSI SQL ist das so als hätte der Job eine Bibliothekssuchliste mit leerem Benutzerteil und nur der Bibliothek des Benutzers als aktuelle Bibliothek?