[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte
  1. #1
    Registriert seit
    Nov 2011
    Beiträge
    86

    2 Bildschirmdateien in einem RPG-Programm

    Hallo zusammen,

    ich möchte folgendes realisieren:
    Ich habe ein RPG-Programm. In diesem Programm ist eine WORKSTN "XY" in den F-Bestimmungen mit u.a. USROPPN und EXTFILE definiert.
    Das Keyword EXTFILE wird über eine Variable gefüttert, die ich in der Routine *INZSR fülle. Je nach Benutzer soll eine andere Bildschirmdatei "geladen" werden.
    Jetzt mein Problem:
    Die Bildschirmdateien heißen zwar unterschiedlich (logisch), z.B. "TESTFM" und "TEST1FM", enthalten jedoch namenstechnisch die gleichen Formate.

    Wie bekomme ich es also hin, dass je nach Benutzer eine andere DSPF "geladen" wird, wobei die DSPFs die gleichen Formate beinhalten. Mit "rename" könnte ja vielleicht was gehen, allerdings wäre mir dies zu aufwendig. Vielleicht hat einer eine bahnbrechende Idee?

    Schon jetzt vielen Dank für die Hilfe!

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Da hast du leider schlechte Karten.
    EA-Operationen werden in RPG an den Formatnamen gebunden.
    Dies erfolgt bereits zur Compilezeit!
    Über den Formatnamen zur Compilezeit wird der richtige File-Descriptor dann gewählt.
    Deshalb ist der Formatname auch nicht in einer Variablen erlaubt.
    2 identische Formatnamen in unterschiedlichen Dateien erfordern nun mal das umbenennen.
    Dies ist aber ja nur eine einmalige Aktion damit der Compiler Bescheid weiß.

    Wenn du es voll dynamisch benötigst, musst du leider auf COBOL ausweichen.
    In COBOL werden EA-Operationen über den Datenamen (Input) und Satznamen (log. Name der FD) bestimmt. Für DSPF/PRTF gibt es die Ergänzung FORMAT. Hier kann der Name als Konstante oder Variable verwendet werden.
    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
    Nov 2003
    Beiträge
    2.304
    Sind die Formatebenen-IDs der gleichnamigen Formate beider Dateien identisch?

  4. #4
    Registriert seit
    Aug 2001
    Beiträge
    2.869
    Hast Du's schon mal mit Überschreiben versucht?
    OVRDSPF (Overide Display File) vor dem Öffnen ausführen.
    M.E. sollte das klappen, wenn die Display-Files die gleichen Formate und innerhalb der Formate die gleichen Feld-Namen beinhalten.

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Mit dem OVR hat dies nun überhaupt nichts zu tun.

    Der Compiler ordnet sich zu jedem Formatnamen den Dateinamen zu.
    Bei doppelten Formatnamen gibt's einen Compiler-Fehler und keine Programmerstellung!

    Also muss ich eine Umbenennung durchführen.

    Somit weiß der Compiler nun, bei welchem Format welche Datei gemeint ist.
    Bei den Eingabe-Befehlen kann ich entweder Datei- oder Formatnamen angeben.
    Bei den Ausgabe-Befehlen muss ich aber das Format angeben, ein Dateiname ist nicht erlaubt.
    Hierbei wird dann bei Umbenennungen intern wieder das korrekte Format der Datei verwendet da es sonst zu Laufzeitfehlern kommen würde.
    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

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Nachtrag:
    Wobei ich den Grund für diese Aufgabenstellung nicht nachvollziehen kann.
    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
    Nov 2011
    Beiträge
    86
    Die Vorschläge hören sich alle gut an, und ich werde morgen mal ein bisschen testen.

    Den Grund kann ich kurz erläutern:
    Wir stellen z.Zt. alle unsere Programme auf eine grafische Oberfläche um. Dabei ist es nötig, die DSPF teilweise zu bearbeiten. Da viele Programme/DSPFs aber dauerhaft durch diverse Benutzer gesperrt sind, wollte ich so eine einfache Möglichkeit haben, die Benutzer während der Umstellung auf eine identische "Bildschirmdatei" umzuleiten, um mit der Originaldatei arbeiten zu können.

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Das erreichst du am ehesten, wenn du die Arbeits-DSPF's ganz einfach in eine separate Lib stellst und die LIBL anpasst.
    Wie soll sich denn das/die Programm/e verhalten, wenn sie es mit 2 DSPF's zu tun haben?
    Du müsstest nicht nur die Formate umbenennen sondern auch sämtliche EA-Anweisungen doppeln und per Bedingung entscheiden.
    Für wie viele Programme möchtest du das durchziehen?

    Überlege da noch mal deinen Ansatz.
    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

  9. #9
    Registriert seit
    Jan 2012
    Beiträge
    1.102
    Da wir auch vor einiger Zeit eine grafische Oberfläche eingeführt haben, würde mich interessieren, mit welchem Produkt ihr das macht und wie eure Erfahrungen sind.

    Dieter

  10. #10
    Registriert seit
    Aug 2001
    Beiträge
    2.644
    Zitat Zitat von philsturm Beitrag anzeigen
    Wir stellen z.Zt. alle unsere Programme auf eine grafische Oberfläche um. Dabei ist es nötig, die DSPF teilweise zu bearbeiten. Da viele Programme/DSPFs aber dauerhaft durch diverse Benutzer gesperrt sind, wollte ich so eine einfache Möglichkeit haben, die Benutzer während der Umstellung auf eine identische "Bildschirmdatei" umzuleiten, um mit der Originaldatei arbeiten zu können.
    Wenn Dir das zu umständlich ist, könnte ich Dir eine einfache GUI anbieten, bei der das nicht nötig ist. Gerne auch kostenlos bei Bereitschaft, etwas Betatester zu spielen.

    -h
    www.RZKH.de
    IBM Champion 2022, 2023, 2024
    IBM i Community Advocate https://www.youracclaim.com/badges/6...c-7ad4ba147af6
    Common / CEAC
    http://pub400.com

  11. #11
    Registriert seit
    Nov 2011
    Beiträge
    86
    @Fuerchau: Den Ansatz mit unterschiedlichen Lib's haben wir momentan. Ich dachte, man könnte das weniger aufwendig und mehr eleganter lösen . Aber du hast Recht, das anpassen sämtlicher E/A-Operationen bedeutet zu viel Aufwand.

    @dschroeder: Ich schreibe nachher mal ne PN

    @holgerscherer: Da wir das Tool bereits gekauft haben und teilweise die neue GUI auch schon im Produktionseinsatz haben, kommt dein Angebot leider nicht in Frage. Zusätzlich sind wir mit der GUI auch sehr zufrieden. Allerdings würde ich mir, rein interessehalber, deine GUI-Lösung mal anschauen. Kann man sich irgendwo Beispiele anschauen (vllt. als Screenshot, PDF, o.ä.)? Gibt es eine Dokumentation?

  12. #12
    Registriert seit
    Nov 2004
    Beiträge
    325
    Moin Holger,

    daran habe ich Interesse. Bekommst eine PN.


    mfg


    DKSPROFI

Similar Threads

  1. Antworten: 15
    Letzter Beitrag: 05-01-16, 16:42
  2. Anzeigervariable bei einem Resuktset
    By mk in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 11-08-14, 18:57
  3. Pause in einem CL
    By heynem in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 11-07-03, 13:32
  4. QRYPROD in einem CL
    By heynem in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 10-04-03, 10:23
  5. Alarm aus einem RPG-Programm
    By Markus Ralf in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 08-08-01, 15:29

Berechtigungen

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