[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Aug 2001
    Beiträge
    2.941
    Zitat Zitat von kuempi von stein
    es sollte wirklich per apicall gehen.
    ein cl was ne liste erstellt und die dann eingelesen wird geht leider leider nicht....
    mein chef hat diesen weg ausdrücklich verneint.
    Darfst Du überhaupt kein CL verwenden oder nur keines das eine Liste erstellt?

    Mit CL gibt es nämlich einen ganz einfachen Weg das rufende Programm zu ermitteln, über Send/Receive Message.

    Hier das CL-Programm, vielleicht hilfts:
    P$CALLED wird als Parameter übergeben, und P$CALLER ist das Programm im Call-Stack, für das das rufende Programm ermittelt werden soll.
    Code:
                 PGM        PARM(&P$CALLER           +                     
                                 &P$CALLED)                
     
                 DCL        VAR(&P$CALLER) TYPE(*CHAR) LEN(10)             
                 DCL        VAR(&P$CALLED) TYPE(*CHAR) LEN(10)             
                                                                           
                 DCL        VAR(&MSGKEY)   TYPE(*CHAR) LEN(4)              
                 DCL        VAR(&SENDER)   TYPE(*CHAR) LEN(80)             
                                                                           
                 SNDPGMMSG  MSG('TEST') TOPGMQ(*PRV (&P$CALLED)) +         
                              MSGTYPE(*RQS) KEYVAR(&MSGKEY)                
                                                                           
                 RCVMSG     PGMQ(*PRV (&P$CALLED)) MSGKEY(&MSGKEY) +       
                              SENDER(&SENDER)                              
                                                                           
                 CHGVAR     VAR(&P$CALLER) VALUE(%SST(&SENDER 56 10))
    ENDE:        ENDPGM

    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

  2. #2
    Registriert seit
    Aug 2004
    Beiträge
    923

    Thumbs up Vielen Dank an ALLE

    Zitat Zitat von B.Hauser
    Darfst Du überhaupt kein CL verwenden oder nur keines das eine Liste erstellt?
    Birgitta
    Sodele ...

    erst mal vielen Dank an die vielen Helferlein!
    Die Variante mit dem CL funktioniert.
    Da muss dann natürlich als callendes Programm z.B. QDBPUT gegeben werden, wenn ich den Trigger auf Insert habe.
    Wie auch immer, ein SNDPGMMSG mit anschliessenden RCVMSG scheint mir auch nicht ganz so ressourcenfressend zu sein wie eine Ausgabe nach Liste und diese dann einzulesen...
    Die ILE-Geschichte hab ich leider nicht auf Anhieb gebacken bekommen. Interessant, aber da muss ich erst mal ein wenig Autodidaktik betreiben...
    Aber der Tag hat ja leider nur 24 Stunden... :-))

    Also, nochmal ein Dankeschön und schönes WE dann irgendwann...

    kuempi

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.782
    Was nützt dir die Info, das ein QDB-Programm der Auslöser ist ?
    Die sind es doch immer !
    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
    Aug 2004
    Beiträge
    923

    ANtwort

    Zitat Zitat von Fuerchau
    Was nützt dir die Info, das ein QDB-Programm der Auslöser ist ?
    Die sind es doch immer !
    ähmm... ich habe mich vermutlich schlecht ausgedrückt.
    alsooooo
    Sagen wir mal PGM4711 macht einen Insert auf eine Datei ...
    Dann steht im Stack als Letzter caller VOR dem Triggerprogramm eben QDBdingens..
    Und diesen Namen muss man im CL mitgegebn...
    weil die Frage ist ja eben nicht welches Systemprogramm den Trigger ausgelöst hat, sondern welches Anwenderprogramm hat das Systemprogramm gerufen, welches dann eben den Trigger auslöst......
    Wenn ich in dem Beispiellistung von der Brigitte als Anfrager den Namen des TriggerPGM mitgebe würde ich den QDBdingens zurückbekommen...
    Gebe ich aber QDBdingens als Frage kommt der Name des ANwenderprogrammes...
    Aber was rede ich mir den Mund fusselig? Das weisste doch eh alles...
    Ich hatte mich nur schlecht ausgedrückt anscheinend..
    Anyway...

    ICH SAGE NOCHMAL DANKE AN ALLE!!!!

    Werde in Zukunft hier öfter mitmischen denke ich...

    Grüsse und so aus dem verregneten Berlin

    kuempi

Similar Threads

  1. Probleme API QUSLJOB aufzurufen
    By TMusolf in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 25-01-07, 13:42
  2. javamail api
    By jogisarge in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 22-11-06, 17:02
  3. "remote" - call
    By hh-mi in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 15-11-06, 13:23
  4. CALL PGM schlägt fehl
    By alexander may in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 18-05-06, 21:16
  5. rekursiver Call
    By Marimari1009 in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 03-05-06, 18:30

Berechtigungen

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