[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jan 2001
    Beiträge
    833

    IFS und Commit

    Hallo zusammen,

    es ist ein wenig Verwirrung aufgekommen :-)

    Beispiel:
    Ich habe einen Job mit dem Aufbau:
    PHP-Code:
     exec sql commit;                                                                             

     
    Monitor;                                                                                     
     
       if 
    bestellungVorhanden() ;
         if 
    not istUebernahmeJobimSystemAktiv( ) and                                                
             
    not IfsXmlDatenListe() ;                                      
              
    logg_aMsg('error':'Fehler bei XML  Erstellung ' );                                                                                       
         ENDIF;                                                                                     
       Endif;                                                                                      

       
    on-error *all;                                                                              
         
    exec sql rollback;                                                                         
       
    ENDMON;                                                                                      

       
    exec sql commit;                                                                             

       *
    inlr = *on;                                                                                 
      return; 
    Das Programm ( der Job ) erstellt eine XML Datei auf dem IFS .

    Wenn der Job abgebrochen wird soll ein Rollback durchgeführt werden.

    Frage: Ist ein Rollback für eine IFS Datei möglich ?

    Gruß
    Michael

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Generell nein.
    Man kann nur in einer DB-Tabelle einen DATALINK erstellen, der auf ein IFS-Objekt verweist. In diesem Fall ist das Objekt gegen löschen gesperrt.

    Per API kann man eine Commit-Ressource (ein Programm) definieren, dass im Commit/Rollback-Fall aufgerufen wird um dann entsprechende Aktionen auszuführen.
    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
    Feb 2001
    Beiträge
    20.241
    Noch zur Ergänzung:
    Für RPGLE gibt's auch noch ein API.
    Mit diesem kann man ein Exit-Programm definieren, dass auf jeden Fall auch bei Jobabbruch aufgerufen wird.
    Dies kann dann auch entsprechend aufräumen.
    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

  4. #4
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    ... sollte mich wundern, lässt sich aber leicht verifizieren: man braucht ja nur so ein XML Teil füllen lassen und sagt dann Rollback - wenn das Teil im IFS weg ist, dann funzt es, wenn nicht, dann nicht!
    @Exit Handler: den braucht's eigentlich nur im Falle eines Programm Abbruchs, ansonsten kann man ja im on-error Zweigt das Teil im IFS löschen.
    Wenn man denn einen Commit Exit verwendet, dann zieht der auch beim Abbruch. ist aber ein wenig tricky, da man ja im Allgemeinen nicht weiß, was man da löschen soll. Das Handling mit dem API QTNADDCR ist ebenfalls ein wenig tricky, da das ja auf ACTGRP Ebene ziehen muss. Wer sichs antun will, kann sich das im native Teil von ArdGate (-> QRPGLESRC.JDBCGATE und QRPGLESRC.CCEXIT) ansehen.
    CEE4RAGE braucht man hier nicht.

    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/

  5. #5
    Registriert seit
    Jan 2001
    Beiträge
    833
    Hallo,

    definitiv räumt der Rollback das erstellte XML File nicht weg.

    gruß
    Michael

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Versuche mal ein STRJRN für das Verzeichnis, das könnte dann funktionieren.
    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

Similar Threads

  1. SAVLIB und COMMIT-Definitionen
    By Bodo Roggenkamp in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 10-03-03, 09:54
  2. COMMIT und ROLLBACK in RPG+SQL
    By Willi1 in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 02-05-02, 22:54
  3. Antworten: 1
    Letzter Beitrag: 05-10-01, 08:42
  4. Commit Control
    By lorenzen in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 06-02-01, 10:03

Berechtigungen

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