Anmelden

View Full Version : 36er Rpg nach RPGLE



Joe
22-06-05, 14:38
Hallo Forum.

Ein 36er Pgm. mit "Pseudo-Subfile" SLN(XX) in der WORKSTN
und Except mit O-Bestimmungen läuft nach Konvertierung
in RPGLE bedeutend langsamer als im Urzustand in der /36 Umgebung.

In der DSPF wurde SLNO(*VAR) definiert.

Wer kennt dieses Problem?

Gruss Joe

Fuerchau
22-06-05, 15:07
Die Frage ist hier, in welchem Bereich das Programm langsamer ist ?!
Ist es tatsächlich der Bildschirm-IO ?

Joe
22-06-05, 15:30
Hallo Fuerchau.
Ich habe mal einen dreizeiler geschrieben der nur
1 Format ausgibt. s.unten.
Ausgebezeit für jede Zeile ca. 2 Sekunden.

Gruß
Joe



FYTF025 CF F 329 WORKSTN
F SLN(POCO)

seton 11
Do 20 POCO
except
enddo


OBILD E 11
O K3 'M30'
O MA 2
O KS080 9 ' 0 '
O KS090 34
O KS040 59
o ilnnr 72

Joe
22-06-05, 15:42
Nachsatz

Ein write mit extertner DSPF bringt die gleiche Antwortzeit.
Also Bildschirm I/O

Gibt es da evtl DDs-Schlüsselwort?

Joe

Fuerchau
22-06-05, 16:25
Vielleicht sollte man das sofortige Schreiben (FRCDTA) ausschalten bzw. bei der DSPF mittels DFRWRT(*YES) arbeiten. Damit wird dann tatsächlich erst bei einem READ ausgegeben.

Joe
23-06-05, 08:05
Hallo.

FRCDTA bezieht sich m.E. nur auf PF's.
Hier geht es wirklich nur um reine Bildschirm-Ausgabe.

Die Lösung liegt wohl nur im Redesign der Anwendung und
Verwendung einer Subfile.

Was mich allerdings weiterhin irritiert, ist ein völlig anderes
Ergebnis in der /36-Umgebung auf der gleichen Machine.
Hier werden die Zeilen quasi wie eine Subfile ohne Zeitverzögerung auf einmal angezeigt.

Gruss Joe

Fuerchau
23-06-05, 10:16
FRCDTA bzw. DFRWRT bezieht sich tatsächlich auf die DSPF !
In der /36-Umgebung gab es diese Funktionalität nicht, so dass ich von einem "Fehler" in der Umstellung der DSPF's ausgehe.
Bitte prüfe mal die DDS-Quelle auf FRCDTA und per DSPFD die Bildschirmdatei auf DFRWRT und eliminiere (CHGDSPF) die Angaben.

Durch FRCDTA auf Satzformat kann ich die Ausgabe erzwingen als auch auf Dateiebene mittels DFRWRT(*NO).
Wenn FRCDTA nicht angegeben ist und DFRWRT(*YES) ist, verzögert die AS/400 die Ausgabe bis zum nächten READ.