[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    ... no risc, no fun!
    end of joke

    Da müsste man sich schon sehr viel Mühe geben, oder unendlich dappig vorgehen.

    D*B

    PS: Beim VLDCKR kann das per Design nicht passieren.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  2. #2
    Registriert seit
    Jan 2012
    Beiträge
    1.120
    Ich habe mir das VLDCKR mal angesehen. Ich glaube, ich verstehe, wie das funktionieren soll. Es ist insofern unkritisch, weil man es nur an ein spezielles Command hängt und alle anderen Commands davon nicht beeinflusst werden.
    Allerdings bin ich unsicher, ob es meinen Einsatzweck erfüllt: Mein Checkprogramm würde ja aufgerufen, bevor das Command wirklich ausgeführt wird. Das wäre natürlich kein Problem, da ich ja in meinem Checkprogramm alles notwendige machen könnte. (Also selbst ein CRTDSPF aufrufen usw.). Aber ich müsste danach ja verhindern, dass das Command zu Ende läuft. (Da ich ja bereits alles notwendige selber gemacht habe). Wenn ich das zu Ende laufen per Escape Nachricht verhindere, würde ja sicherlich im Visual Designer von Profound eine Fehlermeldung auftauchen. Das wäre natürlich auch nicht schön.

    Ich muss am Wochenende nochmal etwas über das ganze nachdenken.

    Ich wünschen allen ein schönes Wochenende.

    LG, Dieter

  3. #3
    Registriert seit
    Jan 2012
    Beiträge
    1.120
    Hier doch noch eine Überlegung, bevor ich mich ins Wochenende begebe:

    Kann es sein, dass ich die Exit Points, die ich oben genannt habe, falsch verstanden habe? Ich hatte gedacht, dass QIBM_QCA_CHG_COMMAND darauf reagiert, wenn ein Command ausgeführt wird. Inzwischen habe ich etwas gelesen, was darauf hindeutet, dass der Point ausgeführt wird, wenn das Command in QSYS verändert wird. Also per CHGCMD oder so.

    Das würde mir dann ja nicht weiterhelfen, denke ich. Ich will ja eingreifen, wenn das Command ausgeführt wird, nicht wenn das Command-Objekt geändert wird.

  4. #4
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    Zitat Zitat von dschroeder Beitrag anzeigen
    Hier doch noch eine Überlegung, bevor ich mich ins Wochenende begebe:

    Kann es sein, dass ich die Exit Points, die ich oben genannt habe, falsch verstanden habe? Ich hatte gedacht, dass QIBM_QCA_CHG_COMMAND darauf reagiert, wenn ein Command ausgeführt wird. Inzwischen habe ich etwas gelesen, was darauf hindeutet, dass der Point ausgeführt wird, wenn das Command in QSYS verändert wird. Also per CHGCMD oder so.

    Das würde mir dann ja nicht weiterhelfen, denke ich. Ich will ja eingreifen, wenn das Command ausgeführt wird, nicht wenn das Command-Objekt geändert wird.
    ... für die WRKREGINF Variante machst Du:
    ADDEXITPGM EXITPOINT(QIBM_QCA_CHG_COMMAND) FORMAT(CHGC0100) PGMNR(1) PGM(Mylib/MyPgm) PGMDTA(*JOB 20 'CRTDSPF QSYS ')

    damit wird beim Aufruf von CRTDSPF nachdem alles geprompted wurde, dein Programm aufgerufen. Das ist völlig identisch mit der VLDCKR Variante - nur dass keine command geändert wird und dass du im Programm den commanstring in cl notation bekommst und weiter Informationen in dem CHGC0100 Format.

    Beim VLDCKR machst du ein crtdupobj von crtdspf in eine Bibliothek (ändere nie einen System command direkt, der könnte defekt werden), die vor der QSYS steht und hängst an diesen command den VLDCKR an. Das angehängte Programm kriegt die Parameter genau so, wie das CPP (Command processing programm), was bei Releasewechsel oder PTFs zu Problemen führen kann.

    Mit beiden kannst Du den commandstring ändern oder abbrechen, bei der reginf Variante kannst du den Aufruf auch auf ein anderes Programm umbiegen.

    Bei der VCP Variante musst Du die (undokumentierte) Parameter Schnittstelle des Commands kennen, damit könntest Du auch den Command auf ein Programm von Dir umbiegen.

    Falls Profound die Wandlung mit einem eigenen command macht, der den CRTDSPF benutzt, dann würde ich den Profound command mit eine der obigen Techniken bearbeiten.


    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 2012
    Beiträge
    1.120
    Vielen Dank für das konkrete Beispiel. Ich werde das mal ganz vorsichtig ausprobieren.

  6. #6
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    Zitat Zitat von dschroeder Beitrag anzeigen
    Vielen Dank für das konkrete Beispiel. Ich werde das mal ganz vorsichtig ausprobieren.
    ... das Problem ist eher, da was nach dem CRTDSPF zu machen, ohne sich in Rekursion festzufahren.

    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/

  7. #7
    Registriert seit
    Jan 2012
    Beiträge
    1.120
    Guter Hinweis,
    vielen Dank.

Similar Threads

  1. RDi Bedingter Service Entry Point im Service-Programm
    By dschroeder in forum NEWSboard Programmierung
    Antworten: 9
    Letzter Beitrag: 22-12-22, 08:18
  2. FTP Exit Point Programm - Ausnahmebedingung
    By jaimosky in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 10-08-09, 13:44
  3. Cursorposition per INFDS verändern
    By Kaufmann in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 30-03-09, 09:59
  4. Antworten: 0
    Letzter Beitrag: 23-02-07, 12:44
  5. AS/point - E5/D8 - MIDRANGE Welt
    By Burgy Zapp in forum Archiv NEWSboard Events
    Antworten: 0
    Letzter Beitrag: 08-04-02, 18:11

Berechtigungen

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