[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Feb 2006
    Beiträge
    62

    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

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    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')".
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Feb 2006
    Beiträge
    62
    ok,
    dann werd ich das mal mit C probieren
    Danke und Gruss

  4. #4
    Registriert seit
    Sep 2006
    Beiträge
    162
    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

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    @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.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  6. #6
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    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 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.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  7. #7
    Registriert seit
    Sep 2006
    Beiträge
    162
    @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

  8. #8
    Registriert seit
    Nov 2006
    Beiträge
    102

    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

  9. #9
    Registriert seit
    Feb 2006
    Beiträge
    62
    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

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    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.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  11. #11
    Registriert seit
    Sep 2006
    Beiträge
    162
    @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

  1. Berechtigungen im IFS zuweisen
    By ChrisX in forum IBM i Hauptforum
    Antworten: 9
    Letzter Beitrag: 03-12-07, 12:07
  2. Allgemeine Berechtigung für Jobs ... IFS Ordner ...
    By bode in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 30-10-06, 11:10
  3. Datei im IFS auf iSeries verschlüsseln
    By jo400 in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 21-10-06, 17:57
  4. Windowstabelle wird im IFS in CCSID 1252 erstellt
    By umeis in forum NEWSboard Windows
    Antworten: 3
    Letzter Beitrag: 11-08-06, 12:45
  5. Umlaute werden im IFS zu Sonderzeichen
    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
  •