REPORT ztest3.
DATA: w1(4) TYPE p DECIMALS 2,
w2(4) TYPE p DECIMALS 2,
result(4) TYPE p DECIMALS 2.
START-OF-SELECTION.
w1 = '4'.
w2 = '219'.
result = nmin( val1 = 100 * w1 / w2 val2 = 100 ).
WRITE result.
Warum ist das ausgegebene Ergebnis 0,00?!? 100*4/219 ist bei mir 1,83 (und damit kleiner als 100), und dieser Wert sollte (ebenso wie alle etwaigen Zwischenwerte bei der Berechnung) problemlos in ein P-Feld der Länge 4 mit zwei Dezimalstellen reinpassen. NMIN scheint irgendwie mit Integer zu rechnen und daher abzurunden, aber der Doku zufolge dürfte das nicht sein, denn die besagt, dass ein Rechentyp bestimmt wird und dieser als TYPE P festgelegt wird, wenn irgendwo in der Formel ein TYPE P-Wert vorkommt (und keine TYPE F-Werte dabei sind).