[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Oct 2015
    Beiträge
    15
    "Select * From table(qsys2.stack_info())" habe ich probiert. Ist scheinbar irgendwie ein Glücksspiel hier den richtigen Datensatz zu treffen wenn eine kette von Programmen (CL RPG ) aufgerufen wurde.
    Bei externen Programmen ist so gut wie nichts vorhanden.

    Leider gibt es bei uns einige externe Anwendungen die auch teilweise über Access oder auch MSSQL laufen. Also nicht nur ODBC :-(

    An Journal habe ich auch schon gedacht. Aber leider ist die Datenflut hier so groß, das nur wenige Receiver vorgehalten werden können. Außerdem ist es sehr müßig die gesamten Sätze zu prüfen, ob auch gerade das Mengenfeld verändert wurde, um das es geht.

    HB

  2. #2
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Zitat Zitat von HEBORA Beitrag anzeigen
    [COLOR=#333333]Außerdem ist es sehr müßig die gesamten Sätze zu prüfen, ob auch gerade das Mengenfeld verändert wurde, um das es geht.

    HB
    ... genau das eben nicht! Man kann die Receiver automatisch durchsuchen: DSPJRN in outfile und über Before und After image kann man sich die Kandidaten scharf raussuchen. Auch das Transaktionsvolumen muss nicht zum Problem werden, die Analyse könnte auch automatisch beim umhängen der Receiver vor dem löschen stattfinden. Im übrigen ist Platte nicht mehr so teuer und ich empfehle generell alles zu journalisieren, mit before und after image und open/close Einträgen. Das ist bei jeglicher Fehlerabklärung Gold wert und öffnet auch die Möglichkeit commit einzusetzen, was bei SQL Verwendung ohnehin dringend geboten ist!

    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/

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Der Stack ist streng nach Aufrufebene sortiert. Da ist es kein Zufall, welches Programm den Trigger ausgelöst hat. Du musst also alle Einträge sortiert bearbeiten und SQL und Filehandler überlesen.

    Und Access/MSSQL können auch nur via ODBC auf die IBM i zugreifen. Da ist dann ein Job QZDASOINIT im Spiel. Hier wird es schwieriger zu erkennen, ob per Access oder SQL-Server zugegriffen wurde.

    Ein Journal ist zwar OK, es kann dir aber nur das Programm nennen, dass die Operation vornimmt.
    Bei Verwendung von Services (kann auch OPM sein) benötigst du aber durchaus den Aufrufer des Service.
    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
    Oct 2015
    Beiträge
    15
    Hallo,
    ich habe es nun so gelöst:

    INSERT INTO lib.jrnDatei (
    SELECT SEQUENCE_NUMBER, object, USER_NAME, JOB_NAME, JOB_USER, JOB_NUMBER, PROGRAM_NAME, JOURNAL_ENTRY_TYPE,
    INTERPRET(SUBSTRING(ENTRY_DATA, 6, 7) AS CHAR(7) CCSID 1141) AS AB1,
    INTERPRET(SUBSTRING(ENTRY_DATA, 13, 2) AS DECIMAL(2,0) ) AS AB2,
    INTERPRET(SUBSTRING(ENTRY_DATA, 15, 2) AS DECIMAL(3,0) ) AS Pos,
    INTERPRET(SUBSTRING(ENTRY_DATA, 38, 10) AS CHAR(7) CCSID 1141) AS Artikel,
    INTERPRET(SUBSTRING(ENTRY_DATA, 66, 2) AS DECIMAL(2,0) ) AS Bewegungsart,
    INTERPRET(SUBSTRING(ENTRY_DATA, 68, 20) AS CHAR(20) CCSID 1141) AS Text,
    INTERPRET(SUBSTRING(ENTRY_DATA, 111, 5) AS DECIMAL(9,3) ) AS MENGE,
    ENTRY_TIMESTAMP AS ZEITPUNKT
    FROM TABLE ( QSYS2.DISPLAY_JOURNAL( 'JRNLIB', 'JRN',
    STARTING_RECEIVER_NAME => '*CURCHAIN',
    OBJECT_LIBRARY=>'LIB',
    OBJECT_NAME =>'Datei',
    OBJECT_OBJTYPE=>'*FILE', OBJECT_MEMBER =>'Datei'
    ) ) AS X
    WHERE JOURNAL_ENTRY_TYPE <> ' '
    AND CAST(SUBSTR(ENTRY_DATA, 38, 10) AS VARCHAR(10)) IN ('xxxxx')
    AND SEQUENCE_NUMBER NOT IN (SELECT SEQUENCE_NUMBER FROM BKL.jrndatei)
    )



    Das ganze in ein CL und dann mit SBMJOB über WRKREGINF angestoßen.
    Läuft.

    HB

Similar Threads

  1. daten typ einer Datenstruktur ändern
    By inchic in forum NEWSboard Programmierung
    Antworten: 14
    Letzter Beitrag: 16-04-10, 18:38
  2. Triggermeldungen von RPG-Pgm zu Cobol-Pgm
    By puddschini in forum NEWSboard Programmierung
    Antworten: 7
    Letzter Beitrag: 23-05-08, 09:52
  3. Antworten: 3
    Letzter Beitrag: 25-02-02, 22:27
  4. Antworten: 1
    Letzter Beitrag: 16-12-01, 20:22
  5. Falsche Umlaute AS/400 Daten in Delphi-PGM
    By Joker in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 25-10-01, 15:02

Tags for this Thread

Berechtigungen

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