PDA

View Full Version : Dezimalfeld



Seiten : [1] 2

woodstock99
13-05-08, 10:54
Hallo miteinander,


ich habe in meiner Bildschirmmaske ein nummerisches Feld 9,2 definiert.



wenn ich jetzt 155 in das Feld eingebe

ist der Inhalt des Feldes 155,00.

wenn ich 155,22 eingebe

ist der Inhalt des Feldes 155,22.


So jetzt wollen unsere Superhelden das ganze ohne Komma eingeben

also 15522 wird zu 155,22 im Bildschirmfeld.

und 15500 wird zu 155,00


Gibt es da irgendeine Lösung per Check oder??


Ich kann das Feld nicht ändern und es muß auch 9,2 bleiben

Fuerchau
13-05-08, 11:02
Du musst das Feld dann als 9,0 definieren und mit EDTWRD eine Maske hinterlegen.
Im Programm ist entsprechend an Stelle von MOVE eben MULT bzw. DIV zu verwenden.

woodstock99
13-05-08, 11:27
Ja aber genau das will ich ja nicht machen. Gibt es da nichts das mir den eingegebenen Wert automatisch so aufbereitet??

Fuerchau
13-05-08, 13:04
Wenn ein Dezimalfeld mit NK definiert ist, so muss ein Komma eingegeben werden um die Ausrichtung zu gewährleisten.

Wenn das Komma nicht eingegeben werden soll, sondern automatisch "angenommen" werden soll, so musst du das Feld ohne NK definieren, da sonst alle Ziffern vor dem Komma angenommen werden.

Mittels EDTWRD an Stelle von EDTCDE kannst du dann das Komma an beliebiger Stelle platzieren, da es nicht als Dezimalkomma interpretiert wird.

Im Programm musst du dann halt per MULT/DIV kommagerecht ausrichten.

woodstock99
13-05-08, 13:16
ich versteh jetzt nicht was NK heisst :(.
Wo definier ich das??

ja das mit dem EDTWRD da kenn ich mich aus.


Ja das problem is ja eigentlich dass das Feld intern beschrieben ist ,
in einer Datenstruktur vorhanden ist und gleichzeitig als Bildschirmfeld definiert ist.
Also alles derselbe Name.
Muß ein altes RPG36
Programm umschreiben :(.

(Damit keine Fragen auftauchen ich muß das intern Beschriebene so lassen :( )


Wenn ich jetzt mit mult div usw anfange darf ich das halbe Programm mit mult und div zuknallen da es mindestens 20 solcher Eingabefelder gibt und alle den gleichen Aufbau aufweisen wie oben beschrieben.
Ausserdem würde das dann in einem schlimmen hin und hergemovel /move enden

Fuerchau
13-05-08, 13:30
NK = NachKomma

Dann kannst du die Anforderung leider nicht erfüllen.

woodstock99
13-05-08, 13:35
Oh Gott. Jetzt wo ich mir des nochmal durchlese :).

NK.


Naja heut is nicht mein Tag :(.

Naja dann muß ich wohl in den sauren Apfel beissen :(.

Danke für die Hilfe.

Pikachu
13-05-08, 14:32
Wie ist das Feld in der Bildschirmdatei denn genau definiert?

Probier's mal als "Default (Blank)", wie hier beschrieben (http://publib.boulder.ibm.com/iseries/v5r1/ic2929/info/rzakc/rzakcmstdfdt.htm#FIGDTKSC) am Beispiel SIGN2.

woodstock99
13-05-08, 14:55
Das Feld ist so definiert.

A BEZBET 9Y 2B 5 23CHECK(RB)
A DSPATR(CS)
A N54 DSPATR(PC)
A EDTCDE(K)

Pikachu
13-05-08, 15:19
Definiere das Feld einmal ohne das Y und ohne den EDTCDE(K).