[NEWSboard IBMi Forum]
  1. #1
    gaby68 Besucher/Guest

    Beenden eines Bildschirmprogrammes (RPG)

    Hallo,

    ich habe folgendes Problem:

    Ich möchte ein Bildschirmprogramm (RPG) beenden, wenn der User xx Minuten lang nichts getan hat. Ich will damit verhindern, dass bestimmte User längere Zeit ein Programm ohne Bearbeitung am Bildschirm stehen lassen und dadurch andere Prozesse behindern.

    Mein Problem ist, dass ich die Steuerung nicht an das Programm zurück bekomme.

    Hat jemand einen Tipp für mich??

    Viele Grüße
    Gaby

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.243
    Das geht mit Hilfe einer DTAQ.
    An eine DSPF kann man eine DTAQ hängen.
    Das RPG darf dann keinen EXFMT machen, sondern gibt per WRITE und DDS-Schlüsselwort INVITE die Tastatur frei.
    Per QRCVDTAQ mit Timeout kann dann entsprechend gewartet werden.
    Gibt es einen Datensatz, dann können die DSPF-Daten per READ ausgelesen werden.
    Gibt es einen Timeout, hat der User eben nichts eingegeben.
    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
    gaby68 Besucher/Guest
    Hallo Fuerchau,

    danke für die schnelle Antwort!

    Ich hab dazu noch folgende Fragen:
    Die DTAQ muss ich bei Umwandlung des DSPF angeben, richtig?

    Muss ich nach jeder Benutzereingabe selbst einen Satz in die DTAQ schreiben oder geschieht das automatisch.

    Mit Timeout meinst Du wahrscheinlich die Wartezeit, also den Parameter des APIs QRCVDTAQ, oder?

    Viele Grüße
    Gaby

  4. #4
    gaby68 Besucher/Guest
    Ich habs hinbekommen

    nochmal danke für die Hilfe

    Viele Grüße
    Gaby

  5. #5
    Registriert seit
    Jul 2002
    Beiträge
    151
    Hallo,
    warum so umständlich mit DTAQ?
    Nehme doch den Parameter WAITFILE oder WAITRCD des CRTDSPF , dann bekommst Du nach x Sekunden die Steuerung zurück, wenn der Anwender nichts eingibt!
    Gruß Holger

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.243
    @Holger
    Probier das bitte mal aus, bei mir gehts nicht !!!

    Wäre mir auch vollkommen neu, da diese Timer sich auf Lock beziehen:
    WAITFILE startet beim OPEN
    WAITRCD startet beim READ/CHAIN
    Da es aber bei DSPF's keine Satzsperren gibt, kann es keinen Timeout bei WAITRCD geben.
    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

  7. #7
    Registriert seit
    Jul 2002
    Beiträge
    151
    @Baldur
    Bei mir funktioniert das schon. Ist die Frage, ob es für den oben erwähnten Fall was bringt (Anwendungsabhängig).
    Ich zeige über ein RPG-PGM eine Digitaluhr an, deren Anzeige selbstständig jede Sekunde wechselt (WAITRCD = 1); das ganze 30 Sekunden lang. Betätigt der User eine Taste endet das Programm vorzeitig. (Kuempi wird sich noch dran erinnern, hat Alex damals programmiert)
    Gruß Holger

  8. #8
    Registriert seit
    Aug 2004
    Beiträge
    923
    Hey klar erinnere ich mich. Diese Technik kann man ja für viele nette Spielereien missbrauchen.

    Trotzdem rate ich dem TO (Thread-Opener) mal diese Anwendung grundlegend zu überdenken.

    Wenn man das richtig programmiert, dürfen solche Störungen (Kaffepause und "vergessen" aus dem Programm zu gehen) nicht von Belang sein!

    kuempi

  9. #9
    gaby68 Besucher/Guest
    Zitat Zitat von kuempi von stein
    Hey klar erinnere ich mich. Diese Technik kann man ja für viele nette Spielereien missbrauchen.

    Trotzdem rate ich dem TO (Thread-Opener) mal diese Anwendung grundlegend zu überdenken.

    Wenn man das richtig programmiert, dürfen solche Störungen (Kaffepause und "vergessen" aus dem Programm zu gehen) nicht von Belang sein!

    kuempi
    Hallo kuempi,

    das Problem ist, dass diese Anwendung von einem Rechner B auf dem Rechner A (zentrale iSeries) gestartet wird. Die Rechner B sind ältere iSeries mit einem sehr alten Releasestand.

    Wenn nun Anwender ewig in diesem Programm stehen bleiben, weil sie "Kaffeepausen" oder sonstige Pausen einlegen, hat das zur Folge, dass andere User dieses Programm nicht aufrufen können.

    Deshalb meine Frage hier im Forum. Dank Fuerchaus Hilfe hab ich es jetzt auch hinbekommen.

    Viele Grüße
    Gaby

  10. #10
    Registriert seit
    Aug 2004
    Beiträge
    923
    Japp,

    danke für die Ausführung.
    Verteilte Datenbanken und Programme die rechnerübergreifend arbeiten sind natürlich nicht unbedingt gleichzusetzen mit ner "normalen" Anwendung.

    Ich "vergesse" manchmal, das es solche Geschichten immer noch zu Hauf gibt.
    Leicht Reden, wenn man produktionstechnisch nur mit zwei Rechner zu tun hat, die klar untereinander abgegrenzt sind.

    In meinen Augen fast ne "üble" Geschichte, aber vermutlich nicht leicht zu bereinigen.

    Wenn Dir die Geschichte mit der DTAQ geholfen hat... gut ist es!

    Bis zum nächsten mal...

    Gruss

    k.

Similar Threads

  1. Rückgabewert vom RPG Programm
    By mk in forum NEWSboard Java
    Antworten: 8
    Letzter Beitrag: 21-04-11, 21:51
  2. RPG: Client Infos lesen?
    By robertki in forum NEWSboard Programmierung
    Antworten: 25
    Letzter Beitrag: 19-01-07, 08:42
  3. Bibliotheksliste in RPG IV abfragen
    By timeless in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 11-01-07, 12:04
  4. Problem mit Java-Methoden Aufruf aus ILE RPG?
    By Stoeberl in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 10-01-07, 10:58
  5. RPG goes Web
    By jth in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 21-12-06, 11:13

Berechtigungen

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