I'm trying to write a custom ABAP program that reads infotype 0008 and works with the "Wage Type Amount" field (BET01), but I am having trouble getting an accurate value out of it. When I view the data in PA20 or SE16 (looking at table PA0008), the value comes up properly as a value going out to 5 decimal places. In this case, the value is 2,688.10667, which is correct.
When I try and read this value in my program, however, it comes as 2,688,106.67, with the decimal place shifted over 3 places! I have tried reading it using HR_READ_INFOTYPE, direct SELECT statement, and with the decoupled framework, but I get the same result. It seems to be shifting the number over to fill in just 2 decimal places no matter what record I go after.
If it matters, this value is in USD, but I am having the same problem with EUR or any other currency where the value is stretched out past 2 decimal places. It does not appear to be currency-specific.
It seems the displays in SE16 and PA20 can handle it, so I'm guessing there must be some conversion routine, but I don't see one attached to the datatype. How do I get it to return this value correctly?
Thanks in advance.