PDA

View Full Version : Suche dringend API Befehl der den DSPOBJD Befehl ersetzt



CLbangRpg
10-08-05, 11:21
Tag alle fleißigen Denker!

Folgendes dauert mir zu lange:

Im CL den Befehl DSPOBJD OBJ *all in der Qtemp sichern! Mit SQL das Feld ODOBTX (Textbeschreibung/Bemerkung) mit der "Like" Funktion 'suche%'' alle mit dem Inhalt suche in einer Datei abspeichern bei bedarf senden oder nach wunsch nur anzeigen lassen... Da unsere Objekte extrem an vielzahl gewonnen haben dauert der Befehl Dspobjd OBJ *all einfach viel zu lange...
Kann mir jemand bitte helfen, weil ich das API Reference Guide Handbuch noch nicht gefunden habe....

Ich danke alle auch für eine kleine Script vorlage des Befehls...

Euer Azubi CL bang RPG

RobertMack
10-08-05, 11:29
http://publib.boulder.ibm.com/infocenter/iseries/v5r3/ic2929/index.htm

Suchbegriff QUSROBJD

Gruß,
Robert

CLbangRpg
10-08-05, 11:49
Danke Robert
Frage ist jetzt nur was das Programm macht, weil es leider kein Command ist! wie kann ich den API den nutzten um nach der Textbeschreibung zu suchen...

Hmm na ja bin halt nur Azubi...

RobertMack
10-08-05, 12:22
... im o.g. Link, linkes Fenster "Ansicht:" auf "Programmierer" und danach auf "APIs" gehen, dort findest Du alles was Du brauchst.

B.Hauser
10-08-05, 12:24
Ich denke für das was Du suchst ist das API QUSLOBJ mit Format OBJL0200 besser geeignet.

Allerdings wird das Ergebnis in einen User Space ausgebeben. Das heißt, dieser User Space muss zunächst über ein weiteres API generiert werden. Ist der User Space gefüllt, muss der Inhalt (am besten mit Pointer-Artithmethik) ausgelesen werden.
Alles nicht ganz einfach und zu kompliziert, um es mal schnell in 5 Minuten zu erklären.

Die Beschreibung zu diesem API findest Du unter folgendem Link:
List Objects (QUSLOBJ) API (http://publib.boulder.ibm.com/infocenter/iseries/v5r3/ic2924/index.htm?info/apis/quslobj.htm)

Es gibt für alle APIs eine detaillierte Beschreibung. Den API-Finder findest Du unter dem folgenden Link:
API-Finder (http://publib.boulder.ibm.com/infocenter/iseries/v5r3/ic2924/index.htm?info/apis/apifinder.htm)

Solltest Du nur nach physischen Dateien (Tabellen) suchen, kannst Du mit SQL direkt über die View SYSTABLES in der Bibliothek QSYS2 gehen.

Birgitta

NEich
10-08-05, 13:59
Es gibt eine Seite, auf der eine Menge APIs anhand von Beispielen beschrieben werden. Ist zwar eine Dänische Seite, aber das meiste ist in Englisch verfasst ...

Für APIs mein Nachschlagewerk Nr. 1 :)

Hier z.B. für QUSLOBJ:
http://www.think400.dk/apier_1.htm#eks0013

CLbangRpg
11-08-05, 08:28
Ich danke allen vielmals und habe erstmal genügend Infos um mein schnelleres AS400 tool zu erstellen ... Aber wer weiß irgendwo ist immernoch ein kleiner Umwandlungfehler versteckt...
;)

Daumen hoch an alle die mir geantwortet haben...

Fuerchau
15-08-05, 14:04
Aber schneller wirst du damit auch nicht, da du nun mal immer noch per SCAN im Programm nach den Texten suchen musst.
Mit deiner Methode DSPOBJD und SQL bist du da auf jeden Fall schneller !

cbe
15-08-05, 14:46
...
Im CL den Befehl DSPOBJD OBJ *all in der Qtemp sichern! Mit SQL das Feld ODOBTX (Textbeschreibung/Bemerkung) mit der "Like" Funktion 'suche%'' alle mit dem Inhalt suche in einer Datei abspeichern bei bedarf senden oder nach wunsch nur anzeigen lassen... Da unsere Objekte extrem an vielzahl gewonnen haben dauert der Befehl Dspobjd OBJ *all einfach viel zu lange...
...

dauert mir auch zu lange.
Wir machen einen DSPOBJ *ALL jede Nacht in eine Datei (natürlich nicht QTEMP), dann haben wir eine fast-aktuelle Liste für alle möglichen Auswertungen.
Vielleicht reicht Dir das ja auch?

Gruß,
Christian

CLbangRpg
16-08-05, 08:19
...also ich habe das Programm schonmal angefangen, aber durch einen Zwischenfall im Betrieb mussten sich alle aus dem ASP, dem DFU widmen. Naja morgens ohne Chefs ist es ja sowieso immer am ruhigsten, also wollte ich mal wieder "sehr erfreut über die neuen Antworten" schreiben. Da ich mir das jetzt erstmal als Ziel gesetzt habe, dass das ganze Suchverfahren über den API Befehl laufen soll, werde ich das mal durchziehen. Momentan habe ich ja auch im CL DSPOBJD *all umgeändert. Ich habe jetzt einmal die Outfile nicht in der Qtemp erstellt sondern in einer festen Lib. So läuft das Programm sehr schnell und ich aktualisere es einaml in der Woche.

Ich habe oben gelesen das jemand es jede Nacht macht, finde ich aber nicht sinvoll, 1. weil ich nicht genau weiß wann der Job fertig wird, außerdem nachts die Spiegelung anfängt und 3. wir nur drei Programmierer sind, die eher nicht jeden Tag drei neue Programme schreiben, sondern eher Change Requests bearbeiten.

Na gut ich werde in meinen nächsten freien Minuten das Programm fertig stellen und werde ein Feedback zur Differenz der Schnelligkeit gegenüber den beiden Befehlen geben.

Ich bin über jeden weiteren der seinen scharfen Senf hinzufügen wird sehr erfreut.

Bis die Tage
Denza Azubi :p