[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Feb 2001
    Beiträge
    42

    Post Datenbank aktualisieren

    Hallo,

    um Datenbank-Dateien beim Kunden automatisch zu aktualisieren, gibt es für PF die Möglichkeit, dieses über den Befehl "chgpf" mit Angabe der Quelle zu tun. Bei logischen Dateien gibt es ja den Befehl "chglf", aber keine Angabe zur Quelle. Gibt es ein Trick oder eventuell Tools, die diese Arbeit ausführen?

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.873

    Post

    Hallo,

    Warum willst Du die logischen Dateien ändern?
    Geänderte Zugriffs-Wege?
    In diesem Fall musst Du die logischen Dateien mittels CRTLF neu generieren.

    Ändert sich nur die physiche Datei, nicht jedoch die Zugriffs-Wege, genügt der Befehl CHGPF.

    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

  3. #3
    Registriert seit
    Aug 2001
    Beiträge
    2.873

    Post

    Hallo,

    wenn es Dir darum geht, das Ganze zu automatisieren, hast Du folgende Möglichkeit:

    1. Erstelle eine Arbeits-Datei mittels DSPOBJD:
    DSPOBJD DSPOBJDOBJ(MyLib/*ALL)
    OBJTYPE(*FILE)
    OUTPUT(*OUTFILE)
    OUTFILE(WrkLib/WrkFile)

    2. Verarbeite diese Datei in einem CL-Programm:
    Aus dieser Datei kannst Du folgende Informationen übernehmen:
    ODOBAT = Objekt-Attribut (PF=phys./LF=log. Datei)
    ODSRCF = Source-File
    ODSRCL = Bibliothek Source-File
    ODSRCM = Source Member

    Mit diesen Informationen kannst Du dann den CHGPF und den CRTLF absetzen.

    Anstatt einer Arbeits-Datei über DSPOBJD zu erstellen, kann man auch das API QUSLOBJ benutzen und die benötigten Informationen aus dem User Space auslesen.

    Anmerkung:
    Zur Compilierung der zugehörigen OPM-Programme und Module kann der Befehl FNDSTRPDM benutzt werden.

    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

  4. #4
    Registriert seit
    Jun 2001
    Beiträge
    1.975

    Post

    Hi, B. Hauser
    CHGPF genügt nicht, wenn du mit SATZFORMATNAME-PF = SATZFOTMATNAME-LF arbeitest. Ein neu hinzugekommenes Feld fehlt nach CHGPF in der LF !!!
    Robi
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  5. #5
    Registriert seit
    Aug 2001
    Beiträge
    54

    Post

    Hallo Robi,

    das Feld fehlt aber nur dann, wenn man in der LF eine Feldaufzählung hat. Das dann nach einem CHGPF das neue Feld in der LF nicht enthalten ist, ist m.E. nur konsequent (dafür gibt es ja die Feldaufzählung).

    In Deinem Fall muss sich also auch die Quelle der LF ändern, damit das neue Feld dort auftaucht.

    Das geht dann glaube ich nur mit CRTLF.

    Viele Grüße
    Heinz Bretthauer

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    42

    Post

    Unsere LF haben meistens eine Feldauflistung, um z.B. Felder zusammenzufügen.

    Das Problem ist beim crtlf, das man sich dabei um solche Dinge wie Teildateien und Trigger kümmern muss.

    Ein chglf mit Quellenangabe wie beim chgpf wäre natürlich wesentlich eleganter. Warum geht das eigentlich nicht?

  7. #7
    Registriert seit
    Jun 2001
    Beiträge
    1.975

    Post

    Hi Heinz Bretthauer,
    Wir haben eben genau KEINE Feldaufzählungen in unseren LF, dadurch, das der Satzformat name dem des PF entspricht hat das LF immer alle Felder. Hat der PF den Satzformatnamen SAFOxy und die Felder A, B, C so hat der LF nur SAFOxy und Key A. DSPFFD zeigt A, B, C. Wird in der DDS des PF ein Feld D zugefügt und CHGPF gemacht enthält lt. DSPFFD die LF trotzdem nur A, B, C (Leider) fehlt uns ein PTF ? (V5R1)
    Robi
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  8. #8
    Registriert seit
    Aug 2001
    Beiträge
    54

    Post

    Hi Robi,

    hmmm, bei uns gehts.

    Wir haben auch V5R1M0. Ich habe es gerade noch einmal mit einer PF und einer LF getestet. Die LF hat nach dem CHGPF die gleichen Felder wie die PF.

    Heinz Bretthauer

  9. #9
    Registriert seit
    Aug 2001
    Beiträge
    2.873

    Post

    Hi Robi,

    bei uns enthalten die DDS-Beschreibungen der logischen Dateien nur Schlüssel und Select/Omit-Anweisungen.
    Die Satz-Formate heissen alle gleich.
    Wir arbeiten auch unter V5R1M0.
    Bei Dateierweiterung der physichen Datei und Änderung mittels CHGPF werden die Felder auf in die logischen Dateien übernommen.

    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

  10. #10
    Registriert seit
    Jun 2001
    Beiträge
    1.975

    Post

    Toll, dann werd ich mal nen PTF bestellen, danke
    Diese Funktion fehlt uns schon lange mir wurde sogar auf der letzten COMMON gesagt das das gut so wäre
    Danke nochmal, Robi
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

Similar Threads

  1. Ferne Datenbank
    By HPKahn in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 08-03-18, 15:06
  2. Problem mit Steuerzeichen in Datenbank?
    By Stoeberl in forum NEWSboard Programmierung
    Antworten: 11
    Letzter Beitrag: 26-10-06, 10:07
  3. Performance-Problem Datenbank
    By gogocdb in forum IBM i Hauptforum
    Antworten: 11
    Letzter Beitrag: 09-08-06, 10:27
  4. Ursprüngliche Datenbank der JOBSCDE
    By deni87991 in forum IBM i Hauptforum
    Antworten: 12
    Letzter Beitrag: 19-05-06, 13:27
  5. In welcher Datenbank stehen die JOBSCDE?
    By deni87991 in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 17-05-06, 11:01

Berechtigungen

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