PDA

View Full Version : führende Nullen



Seiten : [1] 2

pabloesco
06-02-20, 07:16
Hallo,
Ich habe gerade folgendes Problem. In meinem Programm würde ich gerne dem Feld im Display File führende Nullen zuweisen. Dies habe ich wie folgt probiert:


feld = %SUBST(%editc(feld2: 'X') :1 :7)

Leider bekomme ich folgende Fehlermeldung beim umwandeln angezeigt.



Aufbereitung für nichtnumerisches Feld ungültig; für
Aufbereitungsschlüssel oder Schablone werden standardmäßig Leerz. angenommen.

KingofKning
06-02-20, 07:18
Hallo,
Ich habe gerade folgendes Problem. In meinem Programm würde ich gerne dem Feld im Display File führende Nullen zuweisen. Dies habe ich wie folgt probiert:


feld = %SUBST(%editc(feld2: 'X') :1 :7)

Leider bekomme ich folgende Fehlermeldung beim umwandeln angezeigt.



Aufbereitung für nichtnumerisches Feld ungültig; für
Aufbereitungsschlüssel oder Schablone werden standardmäßig Leerz. angenommen.

Dann solltest Du mal die Felddefinitionen posten.

GG

camouflage
06-02-20, 07:35
Du weisst schon, dass Du nur ein Dezimalfeld mit einem Editcode versehen kannst ...

Anmerkung:
Wenn Du das so haben willst, musst Du das numerische Feld als Alpha-Feld ausgeben. Das Handling überlasse ich Dir.

pabloesco
06-02-20, 07:48
Ja. Das hab ich mittlerweile auch bemerkt. Gibt es etwas ähnliches für ein alphanumerisches Feld?

camouflage
06-02-20, 07:58
Du kannst auf ein numerisches Feld keinen %subst machen. Dafür musst Du es erst in ein Alphafeld umwandeln. Ist es nur ein Ausgabefeld, kannst Du Alpha ausgeben, bei einem Inputfeld handelst Du dir, bzw. dem Benutzer nur Probleme ein.

prsbrc
06-02-20, 08:20
Trick 17: EvalR Feld = '0000000000' + Feld2

pabloesco
06-02-20, 08:26
Ich habe es mittlerweile so probiert aber ich bekomme trotzdem die selbe Fehlermeldung.
Beide Felder sind als Alphafelder definiert.
feld = %subst(feld2 :1 :7)
feld = %int(%editc(feld: ''))

camouflage
06-02-20, 08:32
ok, die einfachste Lösung bei numerischem Feld: machst Du bei deinem Displayfile folgenden Zusatz zum feld: EDTWRD('0bbbbbbb'),
b = Blank.

pabloesco
06-02-20, 08:52
Vielen Dank für eure Hilfe. Es funktioniert jetzt wie es soll :-)

camouflage
06-02-20, 08:54
Noch eine Lösung zum mitschreiben mit verschachtelten Bifs für Alphafelder:

feld = %editc(%dec(%subst(feld2:1:7):7:0):'X');