[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte
  1. #1
    Registriert seit
    Aug 2019
    Beiträge
    53

    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.

  2. #2
    Registriert seit
    Jun 2001
    Beiträge
    1.973
    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!)

  3. #3
    Registriert seit
    Jun 2001
    Beiträge
    1.973
    gelöscht, doppelt!
    XXXXXXXXXXXXX
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  4. #4
    Registriert seit
    Aug 2019
    Beiträge
    53
    Vielen dank Robi !

    Ich werd es mal morgen ausprobieren ! Falls es klappt, würde es mir aufjedenfall sehr weiterhelfen !

  5. #5
    Registriert seit
    Aug 2001
    Beiträge
    2.869
    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
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  6. #6
    Registriert seit
    Aug 2019
    Beiträge
    53
    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''')

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    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')
    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

  8. #8
    Registriert seit
    Jan 2007
    Beiträge
    904
    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

  9. #9
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    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;-).
    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

  10. #10
    Registriert seit
    Aug 2019
    Beiträge
    53
    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.

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

  12. #12
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    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.
    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

Similar Threads

  1. Datenstruktur Namen der Felder auslesen
    By Mark in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 20-02-18, 13:59
  2. verbotene Variablen, Zeichen und Namen
    By mahones in forum NEWSboard Programmierung
    Antworten: 7
    Letzter Beitrag: 06-08-15, 18:35
  3. Datei mit leerem Datei-Namen im IFS
    By KingofKning in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 11-03-15, 19:24
  4. Phishing Mail im Namen von newsolutions
    By scheipl in forum Archiv NEWSblibs
    Antworten: 13
    Letzter Beitrag: 16-10-12, 17:31
  5. Neue Namen für VEDA-Software
    By Kirsten Steer in forum Archiv NEWSblibs
    Antworten: 0
    Letzter Beitrag: 12-03-02, 09:00

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •