Zitat Zitat von Fuerchau Beitrag anzeigen
Besser wäre es, die korrekte Feldtype zu nehmen: INT(2), INT(4), INT(8).
Ein BINDEC wird intern immer erst von BIN nach DEC und von DEC nach BIN gewandelt incl. Überlaufprüfung, bindec(2) = +/-9999, INT(2) = +-/32767. Bei Zuweisung von 10000 erfolgt ein MCH.
Du meinst wohl: INT(5) für 2 Byte Integer, INT(10) für 4 Byte Integer und INT(20) für 8 Byte Integer. BinDec(4) deckt den Bereich zwischen -9999 und +9999 während Int(5) den Bereich zwischen -32768 und +32767 abdeckt.
BinDec(9) deckt den Bereich zwischen -999.999.999 und +999.999.999 ab, während Integer(10) den Bereich zw. ca. -2,1 Mrd und +2,1 Mrd abdeckt,

In RPG wird die Länge immer als Anzahl Ziffern, die der Maximal-Wert benötigt angegeben.
BinDec-Werte werden intern in Gepackt-Numerisch konvertiert, während Integer-Werte im Binär-Format sind und bleiben.
Beim Int-Binär-Firmat kann 1 Byte kann maximal 256 unterschiedliche Zustände einnehmen. Wenn man diese Werte potenziert, kann man die Maximal-Werte leicht berechnen)

Birgitta