[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Nov 2004
    Beiträge
    26

    Änderungsstand von Queries automatisch updaten

    Hallo,

    bei uns steht nächster Zeit ein Software-Update an (XPPS der Firma Infor von Rel. 2.2 auf 3.1). Dabei ergibt sich jetzt das Problem, alle vorhandenen Queries (ca. 500) zumindest einmal "anfassen" zu müßen und so an evtl. geänderte Dateien anzupassen. (ansonsten droht MSG QRY1058)
    Kennt jemand einen Weg, die Anpassung automatisch vorzunehmen, ohne jedes Query manuell zu öffnen und wieder abzuspeichern?

    Vielen Dank für eure Hilfe,


    Thilo

  2. #2
    Registriert seit
    Nov 2003
    Beiträge
    2.307
    Für automatisch ist mir leider nichts bekannt, aber du kannst immer 30 Querys gleichzeitig auswählen, wenn du im Befehl WRKQRY im Feld "Abfrage" F4=Bedienerführung drückst und dann die ersten 30 Querys durch 2=Ändern auswählst und dann "anfaßt", dann die nächsten 30 Querys usw. Das geht schneller als jede Query einzeln anzufassen. In der letzten Spalte siehst du, welche Querys bereits geändert wurden.

  3. #3
    Registriert seit
    Aug 2007
    Beiträge
    6

    Änderungsstand von Queries automatisch updaten

    Die Record-Format-ID läßt sich per Programm ändern,
    wenn der Systemwert QSECURITY nicht höher als 30 eingestellt ist.
    Damit laufen Querys nach der Dateiumstellung problemlos,
    wenn die Änderung der Datei nicht signifikant für die Ausführung war.
    z.B.:

    o wenn Felder hinzugefügt wurden

    o wenn Felder entfernt wurden, die bisher in den Querys nicht
    benutzt werden

    o wenn die Datei auf andere Weise erstellt wurde.

    Details:
    An Stelle 46 des Objekts *QRYDFN ist der Offset zum File-Array eingetragen.
    In diesem File-Array wird die Record-Format-ID zum Erstellungszeitpunkt abgelegt.
    Zur Laufzeit wird diese ID mit der altuellen Format-ID der Datei(en) verglichen
    und bei Abweichung MSG QRY1058 gesendet.


    PHP-Code:
    D posInputfiles   s              5i 0 inz(46)                       
     **                                                                 
     ** 
    inputfile definition                                            
     
    **                                                                 
     
    D InpFilesHeader  Ds                  inz qualified                
     D  Totlen                       10i 0                              
     D                               10i 0                              
     D                               10i 0                              
     D                                5i 0                              
     D  NbrFiles                      5i 0                              
     D InpFilesDetail  Ds            80    inz qualified Dim
    32 )      
     
    D                                5i 0 OverlayInpFilesDetail:  )
     
    D  Name                         10a   OverlayInpFilesDetail:  )
     
    D                                5i 0 OverlayInpFilesDetail13 )
     
    D  Library                      10a   OverlayInpFilesDetail15 )
     
    D                                5i 0 OverlayInpFilesDetail25 )
     
    D  Member                       10a   OverlayInpFilesDetail27 )
     
    D                                5i 0 OverlayInpFilesDetail37 )
     
    D  Recordfmt                    10a   OverlayInpFilesDetail39 )
     
    D                                5i 0 OverlayInpFilesDetail49 )
     
    D  FileID                        3a   OverlayInpFilesDetail51 )
     
    D                                5i 0 OverlayInpFilesDetail55 )
     
    D  RecordID                     13a   OverlayInpFilesDetail57 )
     
    D                               11a   OverlayInpFilesDetail70 

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

    Holprige, alte Lösung, aber nicht so schlimm wie der letzte Vorschlag

    In der US-Ausgabe der System i NEWS, Dezember 2003, damals noch iSeries NEWS, war ein Tool von Jeff Yanoviak beschrieben, das Query-Definitionen in einer virtuellen Terminalsitzung updatet. Dazu hat er mit den VT-APIs eine Sitzung gestartet, in der mit WRKQRY alle Queries angefasst werden. Falls Interesse besteht, kann ich versuchen, Dir den Code zu beschaffen. Ich weiß aber nicht, ob das jetzt noch ohne Anpassungen lauffähig ist. Elegant ist es auch nicht gerade, aber es spart vielleicht Zeit (falls es noch funktioniert). Bei Bedarf bitte kurze PM.
    Gruß
    M. Spateneder

  5. #5
    Registriert seit
    Aug 2007
    Beiträge
    6

    Änderungsstand von Queries automatisch updaten

    Was ist schlimm an meinem Vorschlag ?

    Zitat Zitat von Spateneder Beitrag anzeigen
    Holprige, alte Lösung, aber nicht so schlimm wie der letzte Vorschlag

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

    "Schlimm"

    Das war schon augenzwinkernd gemeint. Aber die Antwort gibst Du ja selbst schon, indem Du die Einschränkungen auflistest.
    Letztendlich tüftelt man auf diese Weise mit viel Aufwand ein Programm zusammen, das dieselbe Problematik erzeugt wie LVLCHK(*NO).
    Ergebnis: Alle Queries funktionieren, außer denen, die nicht funktionieren.
    Das ist sicher irgendwie pragmatisch, wenns mals brennt, aber eine Problemlösung sieht eigentlich anders aus.
    Ich finde die VT-Lösung ja auch nicht optimal, aber immerhin kann man bei dieser Lösung aus dem Joblog die Queries herausfinden, bei denen man etwas tun muß.
    Also nix für ungut.
    Gruß
    M. Spateneder

  7. #7
    Registriert seit
    Aug 2007
    Beiträge
    6

    QUERY und LVLCHK(*NO)

    OK. Es kommt wie immer auf die konkrete Anforderung an. Meistens kommen Felder hinzu.
    Die LevelCheck-Problematik bei Querys kann für unkritische Dateiänderungen voll,
    für kritische halb automatisiert werden.

    Eine Tabelle "MACHTNIX" mit unkritischen Dateien kann man über DSPFFD FILE(MYLIB/*ALL) OUTPUT(*OUTFILE) vor und nach Release-Wechsel leicht erstellen.

    Das Programm "UPDQRYDFN" testet also auf FMT-Übereinstimmung Query/DATEI.
    Bei Nichtübereinstimung wird upgedatet, wenn die Datei in Tabelle "MACHTNIX" steht,
    ansonsten Printout Query-Name.

    Von den 500 Querys sind dann i.d.R. die meisten mit Änderungsbedarf komplett erledigt,
    die restlichen stehen auf einer Liste, nicht nur für dieses Mal.
    Der Entwicklungsaufwand für ein Programm "UPDQRYDFN" ist vergleichsweise gering.
    Der Aufwand liegt in der Analyse der Ablagestrukturen in *QRYDFN, aber die sind hier gegeben.

  8. #8
    Registriert seit
    Nov 2003
    Beiträge
    2.307
    Etwa 500 Querys jeweils öffnen und gleich wieder zu schließen ist in 30er Stößen (so viele kann man im WRKQRY gleichzeitig auswählen) manuell doch eingermaßen schnell (in 17 Durchgängen) zu schaffen. Wer benötigt da ein Programm?

Similar Threads

  1. Spooldateien automatisch löschen
    By Der_Unwissende in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 14-09-06, 09:35
  2. iSeries Access Session automatisch beenden
    By jgv in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 27-02-06, 12:08
  3. 2 Systeme starten nicht automatisch
    By TARASIK in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 15-06-05, 14:57
  4. Spools & Dateien automatisch in EXCEL-Tabellen übertragen!
    By Kilianski in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 14-04-04, 11:44
  5. Spool automatisch in PC-Ordner übertragen
    By Linus in forum IBM i Hauptforum
    Antworten: 13
    Letzter Beitrag: 21-12-01, 09:01

Berechtigungen

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