PDA

View Full Version : DSPF - Eingabefelder zur Laufzeit erstellen



sim
30-12-03, 08:30
Hallo,

vielleicht kann mir jemand helfen. Es geht um folgendes:

In einem DSPF sollen verschiedene Eingabefelder zur Laufzeit generiert werden. Die Felder die benötitgt werden lese ich aus einer Datei "A" aus. Dort ist neben dem Feldnamen die Feldart, Länge, Bezeichnung hinterlegt.

Die Eingabefelder sollen nun zur Laufzeit vom Programm erstellt und am Bildschirm angezeigt werden.

Natürlich würde das ganze auch mit einem Subfile funktionieren jedoch möchte ich die Felder in der richtigen Länge, Typ usw haben.

Deshalb lieber zur Laufzeit.....

Wenn jemand ne Idee, Beispiel, Link,.... hat - her damit. ;-)

tfroehlich
30-12-03, 11:08
Guten Morgen,

Dein Problem ist mir noch nicht ganz klar.
Wenn Du über F10 im SDA auf die Dateien gehst,
hast Du doch die genaue Beschreibungen(Feldgrössen etc.)
doch im Zugriff.
Ich vermute aber, Du möchtest dieses Bildschirmformat
mehrfach benutzen, dann könntest Du ja nur über
eine Copystrecke/Datenstruktur dies reinkopieren und Dein Bildschirm als ein ganzes Feld betrachten?

Habe ich Dein Problem richtig erkannt?

Gruss Thomas

sim
30-12-03, 11:18
Es geht eher darum verschiedene Bildschirmfelder oder auch das komplette DSPF zur Laufzeit durch das RPG Programm zu erstellen (Quasi: on the fly)

Ich habe gehört das dies mit den DSM APIs gehen würde
(dynamic screen manag. (?))

Wenn sich da jemand auskennt.....

tfroehlich
30-12-03, 11:37
Hallo,

welchen Vorteil siehst Du darin eine Bildschirmmaske (on the fly)
zu erstellen?

Kostet das nicht zu viel Performance? Ich denke da ab 100 USER
aufwärts?

Gib mir bitte einen Denkanstoss?

Gruss Thomas

sim
30-12-03, 12:42
ein denkbares Anwendungsgebiet wäre:

z.Bsp ein
Programm bei dem der Anwender eine Termingebundene Kundenänderung definieren /anlegen kann.
Der Benutzer kann aus vorgegebenen Werten (Datei "A", siehe oben) verschiedene Werte die zur Änderung anstehen selektieren.

Die selektierten Felder sollen dann zur Eingabe auf einer weiteren Seite ausgegeben/abgefragt werden.

Hier würden dann die zur
Laufzeit selektierten Felder ins Spiel kommen.

Gibt natürlich noch weitere Anwendungsgebiete die ich jetzt
jedoch nicht alle aufzählen möchte.

Performance Probleme sehe ich in diesem Fall nicht, da max.
10 Felder generiert werden müssten und dies auch keine
Anwendung ist die ständig in Verwendung ist.

tfroehlich
30-12-03, 13:10
Jetzt weiss ich ,was Du meinst!

So etwas habe ich gesehen bei unserem Druckgenerator von
"Schilling-Bremen".

Leider kann ich nicht den Quellcode einsehen, da Schilling
nur Programmobjekte ausliefert. Finanzbuchhaltungssoftware.
Die arbeiten soviel ich weiss, mit den Produkten von
SSS-Software.

Grundsätzlich würde ich aber die Lösung über Subfile
vorziehen und mit READC weiterverarbeiten.

Es ist ja auch möglich, das man die Subfile wie eine neue
Datei (Plattendatei) behandelt und somit verarbeitet.

Halte mich bitte auf den Laufenden, wie Du das Problem
gelöst hast!


Gruss Thomas

Joe
02-01-04, 14:22
Hallo.
Wenn die Eingabefelder und deren Attribute bekannt sind, könntest du die DDS per Program generieren, ebenfalls das
dazu passende RPG-Programm. Die Prüfung der Eingabefelder
(Muss,Kann, Range etc.) ist hier ein kleine Herausforderung, könnte aber ebenfalls als Parameter in der Datei hinterlegt werden.

Gruss
Joe

Robi
05-01-04, 11:26
Hi,
Was du suchst haben wir im Standart unserer Software.
Das zu beschreiben währe hier zu lang.
Komm nach Hannover (z.B. CEBIT) und schau bei uns rein

Intresse ?
Gruß
Robi

rolf
05-01-04, 11:45
Hallo

Ich habe mal für uns intern mit dem DSM rumexperimentiert.
Ich kann im Anhang eine Datei mit einer Muster-Applikation (RPG und DDS) bereitstellen.
Alles "as is" und ohne Gewähr !
Das sollte dir jedoch einen Ueberblick geben über DSM.

Bezüglich Performance habe ich eigentlich keine Bedenken, da das RPG ja einfach einen 5250-Datenstrom generiert, anstatt, dass der Datenstrom fix im DDS gespeichert wird.

Gruss
Rolf

Robi
05-01-04, 12:00
ach ja,
bei uns ist das DDS ohne API's
Es läuft in 'GRÜN' in im GUI (per JAVA Frontend)
gruß
Robi