-
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!
-
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.
-
Sind die Formatebenen-IDs der gleichnamigen Formate beider Dateien identisch?
-
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
-
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.
-
Nachtrag:
Wobei ich den Grund für diese Aufgabenstellung nicht nachvollziehen kann.
-
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.
-
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.
-
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
-
Zitat von philsturm
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
-
@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?
-
Moin Holger,
daran habe ich Interesse. Bekommst eine PN.
mfg
DKSPROFI
Similar Threads
-
By PFR in forum NEWSboard Programmierung
Antworten: 15
Letzter Beitrag: 05-01-16, 15:42
-
By mk in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 11-08-14, 17:57
-
By heynem in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 11-07-03, 12:32
-
By heynem in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 10-04-03, 09:23
-
By Markus Ralf in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 08-08-01, 14:29
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks