Anmelden

View Full Version : API suche



Seiten : [1] 2

muadeep
15-06-07, 13:44
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.

BenderD
15-06-07, 14:10
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.

muadeep
15-06-07, 14:16
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.

BenderD
15-06-07, 14:49
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.

B.Hauser
15-06-07, 20:12
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

BenderD
19-06-07, 10:33
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

Fuerchau
19-06-07, 11:44
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.

BenderD
19-06-07, 11:52
... 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) !

Pikachu
19-06-07, 14:17
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?