I have just published a new version of the nwrfc gem with (as usual) very minor updates.
The changes are simply:
Support for String::encode to replace iconv (which was obsoleted in Ruby 1.9 and stops working in Ruby 2). I have been wanting to do it since forever and user Meatballs1 on github even submitted a pull request for this last year some time. Anyway, it’s now there. I have tested with pre- and post 1.9 Rubies as well as JRuby and so far nothing breaks.
Binary Coded Decimal (BCD values) are now returned as BigDecimal. The reason is that very long decimal numbers like those used for timestamps in ABAP lose some decimal places when converted to a floating point number in Ruby. However, by setting and getting BigDecimals for BCD fields, it preserves the entire number. This could break somebody’s scripts. Hopefully not. Let’s see.
I have not added any tests for this, but merely tested with some scripts locally, primarily because I could not find any standard, Basis RFC function modules that allow you to test with BCD values.
Please go ahead and install the new gem with
gem install nwrfc
and get the source at https://github.com/mydoghasworms/nwrfc.