-
DSPLNK Datei - Namen abgekürzt
Hallo Forum,
Per dsplnk erstelle ich ein Spool - File über ein Verzeichnis. Dort gibt es einige Dateien, die einen sehr langen Datei - Namen haben. Diese werden leider abgekürzt und nicht angezeigt. Zur weiteren Verarbeitung bräuchte ich aber den vollständigen Datei - Namen.
Weiter unten im Spool - File werden die abgekürzten Datei - Namen angezeigt aber dies bringt mir leider nichts. Es wäre gut wenn es in der Datei - Auflistung schon so wäre.
-
Code:
CRTPF FILE(QTEMP/T_IFS) RCDLEN(512)
CHGVAR VAR(&QSHC) VALUE('FIND ''' *CAT &PFAD *TCAT +
'''')
CHGJOB JOB(*) LOG(4 0 *NOLIST)
OVRDBF FILE(STDOUT) TOFILE(QTEMP/T_IFS) OVRSCOPE(*JOB)
STRQSH CMD(&QSHC)
CHGJOB JOB(*) LOG(4 0 *SECLVL)
DLTOVR FILE(STDOUT) LVL(*JOB)
OVRDBF FILE(T_IFS) TOFILE(QTEMP/T_IFS) LVLCHK(*NO)
RCVF
MONMSG MSGID(CPF0000) EXEC(GOTO CMDLBL(ENDE))
ist besser als nen dummen Spool aus zu lesen
und so lang wie du willst
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
gelöscht, doppelt!
XXXXXXXXXXXXX
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
Vielen dank Robi !
Ich werd es mal morgen ausprobieren ! Falls es klappt, würde es mir aufjedenfall sehr weiterhelfen !
-
Wenn Du auf Release 7.3 oder höher bist, kannst Du mit SQL direkt die Tabellen-Funktion IFS_OBJECT_STATISTICS auslesen:
Beispiel:
Code:
Select * from Table(IFS_Object_Statistics('/home/YourDir1/YourDir2')) x;
Alternativ kannst Du den CL-Befehl RTVDIRINF verwenden. Dieser Befehl generiert 2 Tabellen, die mit SQL ausgewertet werden können (oder aber auch in einem CL-Programm verarbeitet werden).
Der folgende Befehl generiert die Tabellen XXD und XXO in der Bibliothek YOURLIB, die die Informationen über das angegebene Verzeichnis ('/home/YourDir1/YourDir2').
Code:
RTVDIRINF DIR('/home/YourDir1/YourDir2')
INFFILEPFX(XX)
INFLIB(YOURLIB)
Beides einfacher als DSPLNK!
Birgitta
-
Vielen Dank Birgitta. Die SQL - Lösung klingt sehr gut. Leider kriege ich in meinem CL - Programm die Fehlermeldung "SQL0084". Per STRSQL funktionierte der Aufruf.
Code:
CHGVAR &SQL ('SELECT COUNT(OBJEC00001) ' *CAT +
'FROM TABLE(IFS_OBJECT_STATISTICS ' *CAT +
'(''/HOME/'')) ' *CAT +
'WHERE OBJEC00001 = ''*STMF''')
-
Select geht auch nicht im CLP. Dafür kannst du dann einen "Create Table MyTbl as (select ...) with data" durchführen um dann per RCVF diese Tabelle auslesen.
Zu beachten ist, dass du den Create vorher einmal machen musst, da du ja die Definition für DCLF benötigst.
Vor V7R3 klappt auch die QSH:
crtpf mylib/myifsnam rcdlen(256)
QSH CMD('ls /home/* >/qsys.lib/mylib.lib/myifsnam.file/myifsnam.mbr')
-
Merci Birgitta für den SQL-Hinweis.
Funktioniert eigentlich gut, aber nur eigentlich, weil ich immer alle Einträge bekomme. Wenn ich nun die Root-Files haben will, wird's schon schwierig, da bis zuhinterst alles angezeigt wird. Ergo muss ich noch zusätzlich die Pfade filtern.
Ich verwende daher nach wie vor die UDF rtvdir von Ted Holt. (wurde auch schon mal im Forum besprochen) Funktion nachzulesen in https://www.itjungle.com/2014/08/27/fhg082714-story02/
kf
-
Ich verwende da lieber die QSH, da ich neben dem "ls" auch "find", "grep", "fgrep" o.ä. verwenden kann um z.B. auch nach Inhalten zu suchen und schnell ist es auch noch;-).
-
Danke @Fuerchau !. Das funktioniert soweit aber sobald ich per RCVF die Tabelle lesen will bekomme ich den Fehler CPF428A.
Code:
Das Format für Datei XXX enthält ein oder mehrere LOB-Felder, aber die Öffnungsanforderung enthielt keine Angabe, dass der die Datei öffnende Benutzer LOB-Felder verarbeiten kann.
-
Zitat von camouflage
Merci Birgitta für den SQL-Hinweis.
Funktioniert eigentlich gut, aber nur eigentlich, weil ich immer alle Einträge bekomme. Wenn ich nun die Root-Files haben will, wird's schon schwierig, da bis zuhinterst alles angezeigt wird. Ergo muss ich noch zusätzlich die Pfade filtern.
Ich verwende daher nach wie vor die UDF rtvdir von Ted Holt. (wurde auch schon mal im Forum besprochen) Funktion nachzulesen in https://www.itjungle.com/2014/08/27/fhg082714-story02/
... tja, wenns ein command wär, hättest Du mal F4 und F1 gedrückt und hättest gewusst, was Du falsch und wie Du es richtig machst.
D*B
-
Das ist halt der Nachteil von SQL-Funktionen. Die sind eher selten für CLP gedacht. Da musst du dann ILERPG bemühen.
Versuch doch einfach mal die QSH-Variante;-).
Interessant ist die Fehlerbeschreibung (bzw. die Übersetzung):
"dass der die Datei öffnende Benutzer LOB-Felder verarbeiten kann".
Ich denke, der Benutzer wird es können, es scheitert nur an der verwendeten Technik.
Similar Threads
-
By Mark in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 20-02-18, 12:59
-
By mahones in forum NEWSboard Programmierung
Antworten: 7
Letzter Beitrag: 06-08-15, 17:35
-
By KingofKning in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 11-03-15, 18:24
-
By scheipl in forum Archiv NEWSblibs
Antworten: 13
Letzter Beitrag: 16-10-12, 16:31
-
By Kirsten Steer in forum Archiv NEWSblibs
Antworten: 0
Letzter Beitrag: 12-03-02, 08:00
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks