[NEWSboard IBMi Forum]

Thema: ILE-Frage

Hybrid View

  1. #1
    Registriert seit
    Oct 2003
    Beiträge
    117

    ILE-Frage

    Ich habe ein Triggerprogramm (ILE mit benannter Aktivierungsgruppe X), das Tabelle A fortschreibt.
    Jetzt soll Tabelle A durch Tabelle B ersetzt werden.

    Was passiert, wenn ich die neue Version des Triggerprogramms, das dann Tabelle B fortschreibt, erstelle?

    Wird ab diesem Moment nur noch Tabelle B fortgeschrieben?

    Oder, was ich befürchte, werden beide Tabellen fortgeschrieben, bis alle Aktivierungsgruppen X der laufenden Jobs geschlossen werden?

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Ich denke wohl letzteres.
    Du kannst ja den Trigger für Tabelle A nicht löschen, so dass eben das Programm aufgerufen wird.

    Für solche Aktionen empfehle ich externe Parameter (DTAARA, PF) um dem Trigger ggf. Stati mitgeben zu können ob er denn was tun soll.

    Das Triggerprogramm läßt sich ja leider im laufenden Betrieb auch nicht austauschen.
    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
    Oct 2003
    Beiträge
    117
    Du hast recht, ich kann nicht einmal die aktuelle Version des Triggerprogramms neu erstellen, die Datei ist gelocked.

    Damit hat sich die Umstellung im laufenden Betrieb erst einmal erledigt.

    Externe Steuerparameter sind eine Überlegung wert, lohnt sich hier allerdings nicht, da es ein einmaliger "Datenumzug" ist.

  4. #4
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    ... was man natürlich auch machen kann ist:
    Das registrierte Trigger-Programm als Wapper zu verwenden und aus diesem heraus das eigentliche Trigger-Programm (das die Verarbeitung erledigt) aufrufen. Dieses Programm kann dann geändert und neu erstellt werden, ohne dass Exklusiv-Rechte auf die Datei notwendig sind.

    ... wobei die Exklusiv-Rechte beim Austausch/Ändern von Triggern durch aus Sinn machen!! Damit treten solche Situationen, wie Du sie beschreibst, Datei A und Datei B werden fortgeschrieben, obwohl nur eine Datei aktualisiert werden soll, erst gar nicht auf.

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    @Birgitta
    Das geht aber nur mit einem OPM-CLP als Wrapper, da nur dieses bei jedem Call das aktuelle Programm neu ermittelt.
    Nach dem CALL muss dann auch noch die ggf. offene ACTGRP wieder geschlossen werden.
    Die Performance-Einbußen sind aber teils nicht unerheblich.
    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
    Mar 2002
    Beiträge
    5.365
    ...ist eigentlich ein Standard Weg, habe ich zwar ne Weile nicht mehr gemacht, aber mit der Performance gibt es da keinerlei Probleme. Ausgetauscht wird das dann, wenn es aktiviert werden muss. ILE oder OPM geht da beides, wenn man mit replace arbeitet, nur löschen darf man das Objekt nicht - lediglich SQL Trigger scheiden als Wrapper aus, die dürfen keinen Call.
    @Birgitta: ich sehe da keine Entschuldigungsgründe, das ist einfach Schlamperei, dass der Austausch eines Triggers einen exclusive Lock braucht, da würde eine temporäre Schreibsperre reichen und das Sperrhandling von RLA beim open for update ist ohnehin vom Feature zum Bug geworden, mit der Folge, dass Transaction Isolation Serializable (den der SQL Standard als default fordert!) auf einer DB2/400 nicht verwendbar ist.
    (siehe auch RGZPFM, da hat sich ja endlich was getan, was jahrelang angeblich nicht ging)

    D*B

    Zitat Zitat von Fuerchau Beitrag anzeigen
    @Birgitta
    Das geht aber nur mit einem OPM-CLP als Wrapper, da nur dieses bei jedem Call das aktuelle Programm neu ermittelt.
    Nach dem CALL muss dann auch noch die ggf. offene ACTGRP wieder geschlossen werden.
    Die Performance-Einbußen sind aber teils nicht unerheblich.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

Similar Threads

  1. Problem mit Java-Methoden Aufruf aus ILE RPG?
    By Stoeberl in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 10-01-07, 10:58
  2. ILE Umwandlung per FNDSTRPDM
    By horni in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 07-12-06, 18:51
  3. DDS in ILE RPG
    By Squall in forum IBM i Hauptforum
    Antworten: 82
    Letzter Beitrag: 19-10-06, 15:37
  4. ILE aus Feld rechts Blanks abschneiden und mit move übertragen
    By kuempi von stein in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 16-10-06, 12:39
  5. Rechnen mit Datumsfeldern in ILE RPG
    By Angela in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 22-08-06, 10:11

Berechtigungen

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