[NEWSboard IBMi Forum]

Thema: qsh

Hybrid View

  1. #1
    Registriert seit
    Feb 2001
    Beiträge
    20.749
    Inzwischen gibt es zu den API's ebenso SQL-Funktionen und für das Lesen/Schreiben SQL-Variablen.
    Im *SNGSTG bis 16MB, im *TERASPACE (o.ä.) bis 2 TB.
    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

  2. #2
    Registriert seit
    May 2012
    Beiträge
    31
    Hallo,

    so habe jetzt alles so wie ich es will.

    Das mit den API bzw SQL werde ich mir am wochenende anschauen.

    Vielen Dank nochmals

    Volker.

  3. #3
    Registriert seit
    Jan 2007
    Beiträge
    189
    Sorry, dass ich spät zur Party angekommen.

    Leider sind die Article (INN Newsletter & Systemi Magazine) Links nicht mehr verfügbar. Ist aber hier zu lesen: http://www.support.ecofitonline.com/...-Tree-Contents
    CLLE pgm:
    Code:
     /********************************************************************/
    /* SYSTEM       - Systems                                           */
    /* AUTHOR       - Deon A von Blerk (EcofIT Ltd)                     */
    /* DATE         - 25/01/09                                          */
    /* Description  - List the IFS files for a directory tree           */
    /*                                                                  */
    /*     MODIFICATION HISTORY                                         */
    /*     ====================                                         */
    /*   Date     Nr  By/Reason                                         */
    /*   ----    ---  ---------                                         */
    /********************************************************************/
    PGM        PARM(&AttchPath &DocName &PgmError)
    DCL        VAR(&AttchPath) TYPE(*CHAR) LEN(64)
    DCL        VAR(&DocName) TYPE(*CHAR) LEN(32)
    DCL        VAR(&QSHSTMT) TYPE(*CHAR) LEN(200)
    DCL        VAR(&Exists) TYPE(*CHAR) LEN(2)
    DCL        VAR(&PgmError) TYPE(*CHAR) LEN(2)
     
    MONMSG     MSGID(CPF0000 QSH0000) EXEC(GOTO CMDLBL(FAIL))
     
    /********************************************************************/
    /* Create the workfiles                                             */
    /********************************************************************/
    DLTF       FILE(QTEMP/QSHLIST)
    MONMSG     MSGID(CPF0000)
    CRTPF      FILE(QTEMP/QSHLIST) RCDLEN(200)
    DLTF       FILE(QTEMP/QSHFIND)
    MONMSG     MSGID(CPF0000)
    CRTPF      FILE(QTEMP/QSHFIND) RCDLEN(200)
     
    /********************************************************************/
    /* Fill the data                                                    */
    /********************************************************************/
    OVRDBF     FILE(STDOUT) TOFILE(QTEMP/QSHLIST) OVRSCOPE(*JOB)
    CHGVAR     VAR(&QSHSTMT) VALUE('ls -lRT' *BCAT &AttchPath)
    QSH        CMD(&QSHSTMT)
    DLTOVR     FILE(STDOUT) LVL(*JOB)
     
    OVRDBF     FILE(STDOUT) TOFILE(QTEMP/QSHFIND) OVRSCOPE(*JOB)
    CHGVAR     VAR(&QSHSTMT) VALUE('find' *BCAT &AttchPath *TCAT '*')
    QSH        CMD(&QSHSTMT)
    DLTOVR     FILE(STDOUT) LVL(*JOB)
     
    /********************************************************************/
    /* Now check if the document exists                                 */
    /********************************************************************/
    CALLPRC    PRC(IFS50R) PARM(&DocName) RTNVAL(&PgmError)
    GOTO       CMDLBL(PERFECT)
     
    /********************************************************************/
    /* Fail                                                             */
    /********************************************************************/
    FAIL:
    DLTF       FILE(QTEMP/QSHLIST)
    MONMSG     MSGID(CPF0000)
    DLTF       FILE(QTEMP/QSHFIND)
    MONMSG     MSGID(CPF0000)
    CHGVAR     VAR(&PgmError) VALUE('01')
     
    /********************************************************************/
    /* EOJ                                                              */
    /********************************************************************/
    PERFECT:
    ENDPGM
    SQLRPGLE pgm:
    Code:
     
    Declare QSHDocs_csr cursor for
    with ListOut as 
    (select
    locate(':', QSHList, 51) -1 as Offset,
    QSHList
    from QSHList
    where substr(QSHList, 13, 1)  = '1'
    )
    select distinct QSHFind, 
    substr(QSHList, 47+Offset-5, 12) as DateTime,
    substr(QSHList, 55+Offset) as Document,
    substr(QSHList, 15, Offset+1) as Owner
    from QSHFind, ListOut
    where QSHFind like '%' concat trim(:DocName) concat '%'
    and substr(QSHList, 55+Offset)
    like '%' concat trim(:DocName) concat '%'; 
    mfg

    Kit
    www.ecofitonline.com
    DeskfIT - ChangefIT - XrefIT

  4. #4
    Registriert seit
    May 2012
    Beiträge
    31
    Hallo,
    da habe ich ja noch eine Antwort bekommen , Vielen Dank dafür.

    Schön ist , wenn ich das jetzt richtig verstehe , dass ich beim QSH den Pfad mit angeben kann . Dann brauche ich den CD nicht mehr.

    Und ganz besonders tollfand ich dass man im SQL den CONCAT auch so benutzen kann , habe den immer mit nur 2 Feldern (Concat (feldA,FeldB)) benutzt und dann ging imer eine regelrechte concat schlacht los.

    Gruss Volker.

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.749
    Lesen bildet....steht alles im Handbuch;-).
    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.122
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Lesen bildet....steht alles im Handbuch;-).
    Baldur! Bitte keine Fremndwörter!

    Was bitte ist ein Handbuch...
    ;-)

    Gruß
    Ronald

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.749
    Ok, neudeutsch => PDF.
    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
    Oct 2013
    Beiträge
    175
    Dieses Auslesen von-bis hat man ganz früher gemacht, zu S/34-Zeiten, da gab es sonst nichts.
    Problem: wenn sich in einem Release mal was verschoben hat, musste man korrigieren.

    Vielleicht tust Du Dir mit "QRYIFSLIB" leichter. Kann man von der IBM downloaden, link auf der Seite.
    https://www-01.ibm.com/support/docvi...d=nas8N1019580

  9. #9
    Registriert seit
    Feb 2001
    Beiträge
    20.749
    Inzwischen gibt es selbst dafür sogar SQL-Funktionen (frag mal Birgitta).
    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
    Oct 2013
    Beiträge
    175
    Nein, jetzt frage ich Dich, da Du der bist, der dauernd SQL für alles Mögliche ins Rennen führt, aber ohne link oder sonst irgendwas, was einem helfen könnte.
    Dafür der armen Birgitta Arbeit machen.

    Wie kann ich denn mit SQL ein Inhaltsverzeichnis eines IFS-Verzeichnis erhalten?
    (Das Outfile von RTVDIRINF abfragen gilt nicht!)

    In den SQL Services finde ich jedenfalls nichts dazu.
    https://www.ibm.com/support/knowledg...ervicessys.htm

  11. #11
    Registriert seit
    Mar 2002
    Beiträge
    5.379
    Zitat Zitat von AG1965_2 Beitrag anzeigen
    Nein, jetzt frage ich Dich, da Du der bist, der dauernd SQL für alles Mögliche ins Rennen führt, aber ohne link oder sonst irgendwas, was einem helfen könnte.
    ... das wird ja immer toller, ein Forum ist doch kein Wunschkonzert und schon gar nicht unter Nennung des Interpreten. Ein Forum lebt davon, dass freundliche Kollegen Hilfestellung anbieten, ohne Bezahlung und wem das nicht schnell oder ausführlich genug geht, der kann gefälligst selber nachsehen!

    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.749
    Nun, da sich Birgitta halt des öfteren beschwert hat möchte ich sie einfach stärker einbeziehen.
    In vielen Beispielen und anderen Threads zeigt Birgitta entsprechende SQL-Lösungen und verweist dann auf die IBM-Seiten.
    Siehe z.B. hier:
    http://newsolutions.de/forum-systemi...-Netzlaufwerke
    Birgitta: "Es gibt übrigens die Tabelle SERVICES_INFO in der Bibliothek QSYS2, in der alle Db2 und IBM i Services incl. ab welchem Release sie ausgeliefert werden. Einfach mal reinschauen."

    Warum also soll ich mich mit dem Thema auseinander setzen?
    Birgitta ist da im Thema und wenn sie halt nicht so oft Zeit hat wie ich, muss man sich u.U. mal etwas gedulden.

    Außerdem präsentiere ich häufig genug Lösungen, die allerdings zugegebener Maßen, ein wenig Mitarbeit der Fragesteller erfordern.

    Und zu deiner Ursprungsfrage:
    Wenn die IBM nun mal noch keinen Service dieser Art anbietet, hindert dich das ja nicht daran, einen eigenen SQL-Service/Prozedur bereitzustellen, der als Wrapper für API's fungiert.
    Dies mache ich auch durchaus in und für ERP-Anwendungen um per ODBC/JDBC dann SQL-Funktionen der ERP-Anwendung zu nutzen.

    Und ansonsten kann ichmich nun nicht darüber beschweren, dass meine Beiträge wenig hilfreich wären;-).
    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

Berechtigungen

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