[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte
  1. #1
    Registriert seit
    Nov 2007
    Beiträge
    79

    Aufbau des Zugriffspfads beim CRTLF unterdrücken

    Hallo Leute,

    ich bräuchte mal wieder Unterstützung bei der folgenden Aufgabe.

    Wenn wir neue Objekte mit einem Release verteilen, werden z.T. auch neue Logische geschickt. Bei der Erstellung jeder Logischen wird auch immer der Zugriffspfad aufgebaut, was erheblich Zeit in Anspruch nimmt und während der Installation ungewünscht ist.

    Ich habe bereits das Feld MAINT auf dem CRTLF gefunden und es auf *DLY gesetzt. Dies scheint aber lediglich Auswirkungen auf den Betrieb zu haben, nicht auf die Erstellung.

    Meine konkrete Vorstellung war die Logische per CRTLF ohne Aufbau den Zugriffspfads zu erzeugen und später einen CHGLF als job zu submitten und dadurch den Zugriffspfad nachgelagert zu erzeugen.

    Gibt es eine solche Möglichkeit? Wenn ja, was kann ich tun um dies zu erreichen?

    Vielen Dank im voraus.


    Gruß
    Matthias

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    CRTLF MAINT(*DLY)

    Der Zugriffspfad wird dann automatisch beim ersten Open aufgebaut.
    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
    Nov 2007
    Beiträge
    79
    Das scheint bei mir aber anders zu sein.

    Ich habe jetzt einen CRTLF mit MAINT(*DLY) gemacht und es dauert genauso lange wie vorher.

    Oder mache ich sonst etwas falsch?

    Muss ich noch einen anderen Parameter zusärtlich setzen?

    Ich bin davon ausgegangen, der dass der CRTLF sehr viel schneller ist, wenn der Zugriffspfad nicht aufgebaut werden muss.

  4. #4
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    Falls sich die logische Datei nur auf Dateien in einer einzigen Bibliothek beziehen, könntet ihr Kopien der entsprechenden physischen Dateien ohne Inhalt in eine andere Bibliothek legen und die logischen Dateien zuerst dort anlegen. Später könntet ihr sie dann (mit der richtigen Bibliotheksliste!) in die gewünschte Bibliothek kopieren.

    Nachtrag:
    Eventuell hilft euch auch der Befehl EDTRBDAP (Zugriffspfade wiederherstellen).

  5. #5
    Registriert seit
    Nov 2007
    Beiträge
    79
    Ok, verstanden.

    Also gibt es keine Möglichkeit das über den CRTLF command zu steuern.

    Danke.


    Gruß
    Matthias

  6. #6
    Registriert seit
    Nov 2007
    Beiträge
    79
    Ich glaube das kopieren ist auch noch nicht ganz der richtige Schritt.

    Meine Situation ist wie folgt:

    Ich habe eine physische mit Daten in eine Worklib gestellt.

    Nun erstelle ich die Physische (mit Änderungen) neu.

    Nun muss ich sowohl die Logischen erzeugen, als auch die Daten in die neue Physische kopieren.

    Egal in welcher Reihenfolge ich das tue, der Pfad wird immer aufgebaut, sowohl beim CRTLF als auch beim CPYF.

    Wie kann ich den Aufbau des Pfads komplett unterdrücken und später separat anstossen.


    Gruß
    Matthias

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Nunja, wozu soll das gut sein ?

    Tipp:
    Wenn du einen CHGPF mit Source machst, erledigt die Kopiererei das System für dich. Die LF's werden automatisch mit geändert.
    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
    Apr 2005
    Beiträge
    104
    Der richtige Parameter wäre auch nicht *DLY sondern eher *REBLD oder *NONE oder so. Man kann von *REBLD aber (glaube ich) nicht mehr zurück auf *DLY.

    Ich glaube, ich habe diese Klippe schon mal umschifft, indem ich eine LF ohne LFM's (logische Teildateien) erstellt habe, und später nur ADDLFM ausgeführt habe. Das war aber lange vor Relase 5. Vieleicht geht es heute auch anders, oder nicht mehr, probiert doch mal RMVM und ADDLFM bei einer LF aus ...

  9. #9
    Registriert seit
    Apr 2005
    Beiträge
    104
    Der richtige Parameter wäre auch nicht *DLY sondern eher *REBLD oder *NONE oder so. Man kann von *REBLD aber (glaube ich) nicht mehr zurück auf *DLY.

    Ich glaube, ich habe diese Klippe schon mal umschifft, indem ich eine LF ohne LFM's (logische Teildateien) erstellt habe, und später nur ADDLFM ausgeführt habe. Das war aber lange vor Relase 5. Vielleicht geht es heute auch anders, oder nicht mehr, probiert doch mal RMVM und ADDLFM bei einer LF aus ...

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Wichtig ist die Abhängigkeit vom UNIQUE-Schlüsselwort.
    *DLY verzögert zwar die Wartung, wenn die LF aber UNIQUE ist, muss natürlich bei jedem Insert/Update der Schlüssel geprüft werden.
    Ist die LF nicht UNIQUE, wird die Wartung bei jedem Open für die neu hinzugekommenen/geänderten Schlüssel durchgeführt.

    *REBLD ist bei UNIQUE nicht erlaubt, führt aber dazu, dass beim Open der Pfad aufgebaut und beim letzten Close sofort wieder gelöscht wird.

    *NONE gibt's gar nicht.

    Die Teildatei später hinzuzufügen geht, wenn man sich sicher ist, dass bei UNIQUE auch tatsächlich nur eindeutige Schlüssel vorhanden sind.
    Ist dies nicht der Fall, wird ADDLFM mit MONMSG abgelehnt.

    Wenn es nur darum geht, die PF zu modifizieren, kann man mittels CHGPF ... SRCFILE(MYLIB/QDDSRC) SRCMBR(MYFILE) automatisch alle abhängigen LF's neu aufbauen lassen (Ausnahme Join's, da hier explizit Felder genannt werden).
    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
    Nov 2007
    Beiträge
    79
    Hallo Leute,

    ja, den Grund, warum wir das im Moment so machen, versteht wohl keiner mehr. Ist wohl eher historisch bedingt.

    Der Typ den MAINT Type auf *REBLD zu stellen ist schon mal gut. Damit wird zumindest der Pfad nicht aufgebaut.

    Leider kommen dann aber relativ schnell die Datenbank Server (QDBSRV04 bzw. QDBSRV05) und bauen den Pfad selbstständig auf. Bei der Anzahl an Logischen, die da betroffen sind, dauert das ewig, bis wir wieder produktiv sein können.

    Ich würde gerne mehr als zwei Jobs in einer separaten JOBQ/SBS nutzen, um die Pfade aufzubauen. Parallel natürlich. Ich denke dies sollte schneller sein, als wenn ich auf die Server warte.

    Gibt es eine Möglichkeit zu steuern, dass die Server die Dateien nicht greifen? Und wie kann ich das Aufbauen des Pfads manuell anstoßen, ohne ein Open auf die Datei zu machen?


    Gruß
    Matthias

  12. #12
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    Mit dem Befehl EDTRBDAP (Zugriffspfade wiederherstellen) läßt sich steuern, was diese beiden Jobs machen.
    Zitat Zitat von Pikachu Beitrag anzeigen
    Eventuell hilft euch auch der Befehl EDTRBDAP (Zugriffspfade wiederherstellen).

Similar Threads

  1. Cursorpositionierung nach Auswahl des letzten Subfilesatzes!
    By CrazyJoe in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 02-10-06, 10:01
  2. Sprache des Betriebssystems ändern XP
    By intelinside in forum NEWSboard Server Software
    Antworten: 4
    Letzter Beitrag: 28-07-06, 09:00
  3. Rechte für den Start des WAS
    By Christian.Hesse in forum IBM i Hauptforum
    Antworten: 0
    Letzter Beitrag: 20-07-06, 08:35
  4. Subfilepositionierung bei der Ausgabe des Steuersatz mit WRITE
    By timeless in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 24-05-06, 06:37
  5. Trigger: Aufbau des Puffers
    By FlexFux in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 17-06-04, 12:17

Berechtigungen

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