[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Oct 2008
    Beiträge
    56

    Question Gross-/Kleinschreibung bei Dateien im IFS

    Hallo Welt

    In einem Feld in einem Displayfile wird Pfad + Name einer Datei im IFS eingegeben. Die Gross-/Kleinschreibung spielt dabei keine Rolle, denn das Dateisystem findet die Datei immer case-insensitiv.

    Jetzt soll dieser Dateiname in einem physischen File gespeichert werden, aber nicht so wie er eingegeben worden ist, sondern so wie er tatsächlich im IFS steht, wenn man ihn z.B. mit WRKLNK anschaut.

    Beispiel:
    Eingabe: /temp/xyz.jpg
    Name im IFS: /Temp/XYZ.JPG
    Gespeichert werden soll /Temp/XYZ.JPG.

    Gibt es irgendein API oder sonst etwas, das den "richtigen" Namen anhand der Eingabe zurückliefern kann? Wir haben bis jetzt leider keine Möglichkeit gefunden.

    Schöne Grüsse aus der Schweiz
    Dächsle

  2. #2
    Registriert seit
    Jun 2001
    Beiträge
    1.975
    Du kannst die Datei mit ls oder find in eine Datei umleiten und daraus den Namen lesen.

    Wir nehmen den Namen, bauen Ihn in Groß Klein um und machen ein rn (rename).
    Dadurch sind 'unsere' Regeln eingehalten und ich weis auch gleich ob es das OBJ wirklich gibt.
    Der Pfad sollte natürlich schon so existieren (als /Temp statt als /temp) sonst ist der aufwand etwas größer.
    Robi
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Hierzu musst du wohl die IFS-API's verwenden.
    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

  4. #4
    Registriert seit
    May 2002
    Beiträge
    1.121
    Versuche mal folgendes

    PHP-Code:
    h dftactgrp(*nobnddir('QC2LE')  Option( *NoDebugIO )                
    h datfmt(*dmy.) timfmt(*hms:) datedit(*dmy.) decedit('0,'debug(*yes)
                                                                          
    fxxwork    if   F  255        Disk    UsrOpn                          
                                                                          
     
    Prozedurn-Defextern für C-Api "system"                           
    d System          pr            10i 0 extproc('system')               
    d                                 *   value options(*string)          
    d                                                                     
    d Eingabe         s            255                                    
    d File_Name       s            255                                    
    d Befehl          s            255                                    
                                                                          
    ixxwork    kf                                                         
    i                                  1  255  Daten                      
                                                                          
     
    /Free                                                                
                                                                     
       System
    ('crtpf mylib/xxwork rcdlen(255)' );                    
       
    Eingabe '/temp/xyz.jpg';                                                              
       
    Befehl 'qsh cmd(''ls ' + %TrimEingabe ) + ' >/qsys.lib/' +
                
    'mylib.lib/xxwork.file/xxwork.mbr 2>/dev/null'')' ;  
                                                                     
       
    SysTemBefehl );                                             
                                                                     
       
    Open xxwork;                                                  
       
    Read xxwork;                                                  
       
    File_Name Daten;                                            
                                                                     
       *
    InLr = *on;                                                 
     /
    end-free 
    MyLib darf nicht die QTEMP !!! Sein

    Gruß
    Ronald

    nicht schön, sollte aber funktioniren!

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Das Problem bei der QSH ist, dass der Name der Datei und/oder des Pfades genau so wiedergegeben wird wie ich ihn eingebe.
    Mache ich ein "ls FileName" ist die Ausgabe eben "FileName". Mache ich ein "ls filename" ist die Ausgabe "filename". Das selbe gilt auch für den "find".
    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
    May 2002
    Beiträge
    1.121
    hhm,

    Baldur hat leider recht!

    Dann siehe das als Fingerübung ;-)

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Da helfen dann leider wirklich nur die C-API's, hier die Directory-Funktionen.
    Allerdings gilt ja hier das selbe wie für die QSH.
    Also musst du den Namen erst mal in die einzelnen Teile, getrennt durch "/" zerlegen.
    Dann jeden Pfadteil mittels der OpenDir()/ReadDir()/CloseDir()-Funktion durchlesen bis du den richtigen Teil gefunden hast.
    Der Vergleich muss natürlich dabei caseinsensitive erfolgen wobei hier die korrekte CCSID für die Konvertierung (upper->Lower o.ä.) wegen der Sonderzeichen berücksichtigt werden muss.
    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. 2 PF-Dateien verbinden
    By Hans Zuther in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 15-05-03, 15:38
  2. Gross-/Klein Vergleich ILE RPG
    By cicero22 in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 22-04-03, 20:03
  3. OV-Dokumente in PC-Dateien
    By GfD in forum NEWSboard Server Software
    Antworten: 8
    Letzter Beitrag: 04-02-03, 11:59
  4. IFS-Dateien per FTP übertragen
    By mott in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 20-06-02, 10:24
  5. DDM-Dateien über TCP/IP
    By Joshua in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 12-02-01, 14:23

Tags for this Thread

Berechtigungen

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