-
Dateiverarbeitung im IFS
hallo zusammen,
Was ist will:
habe Dateien ( jpg usw ) in einem lokalen Ordner auf dem PC.
Ich will eine Anwendung schreiben (ILERPG) in der ich diese Dateien in einen Ordner im IFS Verzeichnis kopieren.
Der Ordnername soll per Parameter mitgegeben werden. Wenn dieser noch nicht vorhanden ist, soll dieser mit dem Namen aus dem Parameter erstellt werden.
Wenn dieser schon vorhanden ist, soll er sich den letzen Dateinamen aus diesem Verzeichnis merken xx.03,jpg ( die anderen haben xx.01 und xx.02 )
und die Dateien aus dem lokalen Verzeichnis entsprechend in dieses Verzeichnis kopieren.
Dabei sollen die neuen Dateinamen mit xx.04 beginnend umbenannt werden.
Gibt es dafür überhaupt Befehle in ILERPG oder CL ?
Oder muss ich dies irgendwie mit C++ realisieren?
Vielen Dank und Gruss
-
Direkte ILERPG-Befehle gibt es nicht.
Wenn du einen C-Compiler hast, ist dies sicherlich der bessere Weg.
Alternativ kannst du C-Befehle aus ILERPG aufrufen "BNDDIR('QC2LE')".
-
ok,
dann werd ich das mal mit C probieren
Danke und Gruss
-
Es gibt einige viele Funktionen zum Thema IFS die du ohne großen Aufwand in RPGLE erstellen kannst. Dazu gehört auch eine Routine mit denen du ein CHKOBJ auf ein IFS Objekt ausführen kannst.
Dieses in einem CL eingebaut und du kannst dein Problem lösen.
Leider bin ich zur Zeit in Urlaub und kann dir nicht die einzelnen Routinen nennen. Allerdings, bin ich seinerzeit über Google schnell fündig geworden. incl. Beipielsourcen in RPGLE.
Gruß
DVE
-
@DVE
Wirklich schnell sind diese CMD's ja nicht.
CHKOBJ funktioniert da nicht, hier heißen diese CHKOUT/CHKIN wobei gleichzeitig aber auch eine Sperre gesetzt und somit wieder aufgehoben werden muss.
Um aber den letzten Namen zu ermitteln, ist das so nicht performant, da man ja alle Varianten mittels CHKOUT/CHKIN durchgehen muss.
Notfalls gehts noch mit
QSH CMD('cd pfad; ls >/qsys.lib/mylib.lib/myfile.file/myfile.mbr')
Dann habe ich dort alle vorhandenen Namen.
Wenn aber C/C++ verfügbar ist, dann gehts einfacher mit den Funktionen für Verzeichnisbearbeitung.
-
Hallo,
möglicherweise war da auch access gemeint, aber das ganze läuft sowieso auf "embedded C" in RPG raus, sprich Aufruf von C-APIs aus RPG mit übersetzten Prototypen - the original stuff ist da sicher besser. Sicherlich gibts da auch Hexer, die das mit einem Shell Script hinkriegen...
mfg
Dieter Bender
Zitat von Fuerchau
@DVE
Wirklich schnell sind diese CMD's ja nicht.
CHKOBJ funktioniert da nicht, hier heißen diese CHKOUT/CHKIN wobei gleichzeitig aber auch eine Sperre gesetzt und somit wieder aufgehoben werden muss.
Um aber den letzten Namen zu ermitteln, ist das so nicht performant, da man ja alle Varianten mittels CHKOUT/CHKIN durchgehen muss.
Notfalls gehts noch mit
QSH CMD('cd pfad; ls >/qsys.lib/mylib.lib/myfile.file/myfile.mbr')
Dann habe ich dort alle vorhandenen Namen.
Wenn aber C/C++ verfügbar ist, dann gehts einfacher mit den Funktionen für Verzeichnisbearbeitung.
-
@Fuerchau.
Ich meine nicht CHKOBJ o.ä. sondern die IFS-Api's die man in ein RPGLE einbauen (hab ich schon gemacht) und dann benutzen kann.
Letztendlich habe ich mir (in RPGLE) einige Programme (u.a. ein CHKOBJ oder DSPOBJD ) zusammengebastelt um das IFS auszuwerten.
Gruß
DVE
-
IFS-APIs
Die IFS-APIs, die man für diese Aufgabe benötigt, sind recht einfach anwendbar. Ich habe schon mehrere ILE-RPG-Anwendungen damit geschrieben (u.a. ein Programm, das die komplette Beschreibung aller IFS-Dateien eines Ordners ausliest und in eine Ausgabedatei schreibt) und kann auch über die Performance nichts negatives sagen. Ein kleines Beispiel kann ich gerne zur Verfügung stellen, bitte bei Bedarf mailen.
Grüße
M. Spateneder
-
hallo zusammen,
habe das jetzt so gemacht:
1. DSPLNK mit der Ausgabe *PRINT
2. CPYSPLF in eine PF
3. Füllen in die Subfile
4. Bearbeiten, umbenennen in der SFL
5. MOV -Befehl
So klappt das eigentlich ganz gut, aber würde mich trotzem über ein kleines Beipsiel freuen !!
Vielen Dank und Gruss
-
Ganz schön umständlich, zumal die QSHELL umsonst ist:
QSH CMD('cd /pfad; ls -l >/qsys.lib/mylib.lib/myfile.file/myfile.mbr 2>/dev/null')
Falls die Zieldatei nicht vorhanden ist, wird sie sogar angelegt und schnell ist es auch noch.
-
@STOERFANG
Gehe auf MALUME.DE dort findest du eine freeware mit dem du ein DSPLNK (heißt DIRTOOL) in einer *OUTFILE machen kannst.
Da du auch die Source bekommst, kannst du diese (wenn gewünscht) modifizieren.
Gruß
DVE
http://www.malume.de/ibmiseries/downloads.html
Similar Threads
-
By ChrisX in forum IBM i Hauptforum
Antworten: 9
Letzter Beitrag: 03-12-07, 12:07
-
By bode in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 30-10-06, 11:10
-
By jo400 in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 21-10-06, 17:57
-
By umeis in forum NEWSboard Windows
Antworten: 3
Letzter Beitrag: 11-08-06, 12:45
-
By y-tom in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 29-05-06, 14:31
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