2017 Jul 26 5:01 PM
Dear All Experts,
Our requirement here is to find the Log changes for certain Custom table.
When we we tried using SCU3 we were able to get the old value and New Value properly.
Now we have Created a Custom Program to perform the same function of SCU3 for few tables.
In our custom Program All fields are processed properly and the Old Value and New value are returned correctly but there is one field where the Data type is DEC with Length 10 and Decimals 2.
For this field alone we get different values (Values like Hexadecimals) which we find different we are not getting the Old value and New Value properly also we are not able to decipher the obtained value.
Kindly help us on this.
Regards,
2017 Jul 26 6:41 PM
Well, a little searching shows that entries in DBTABLOG are written in a proprietary binary format that is understood by SCU3 and other SAP programs. And it also shows that many have tried (and some might have succeeded) to convert the format back to real data. That's what you must do too. Search for a solution or build one yourself.
2017 Jul 26 8:38 PM
Did you consider these points beforehand?
BR Suhas
2017 Jul 26 9:02 PM
I don't know how it's stored in DBTABLOG, but packed numbers are stored in memory using the Binary-coded decimal format (roughly 2 digits by byte).
Moreover, packed numbers are often used for storing currency amounts, and there's a "floating" decimal point depending on the value of the related currency code.
If you could give examples of "hexadecimal" values, and to which actual values they correspond, then maybe we can help you find the logic to decode.
2017 Jul 27 6:54 AM
Transaction SCU3 (Report RSVTPROT) is able to generate an ALV Grid, so with class cl_salv_bs_runtime_info you can wrap SCU3 report, prevent display of grid, submit report and return, get the internal table data back in the wrapper program. (Much easier than reverse engineering of the report...)