Just faced the same problem. From my point of view it is an error in gateway framework. It calls output conversion exit for exchange rate and provides non-character output field as you can see in debugger. If it provided character like output field (as it should do) everything worked fine. You can not change this behaviour by entering a different data type for the property of the entity type.
Did you import the entity type via DDIC structure? This is where it gets the output conversion info from. If you do not import the exchange rate field from DDIC but just add it from scratch the error will not show.
Maybe you can suppress output conversion in the first place, but this is my first day trying it out so I don't have much knowledge about GW or OData.
Regards,
Christoph
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Yes, you can disable output conversion programmatically by overriding /IWBEP/CL_MGW_ABS_MODEL->DEFINE like that (makes use of some new ABAP syntax):
METHOD define.
super->define( ).
* Disable all output conversion since it is buggy
DATA(lt_type) = CAST /iwbep/if_mgw_odata_re_model( model )->get_entity_types( ).
LOOP AT lt_type ASSIGNING FIELD-SYMBOL(<s_type>).
DATA(lo_type) = model->get_entity_type( <s_type>-external_name ).
LOOP AT <s_type>-properties ASSIGNING FIELD-SYMBOL(<s_property>).
DATA(lo_property) = lo_type->get_property( <s_property>-external_name ).
lo_property->disable_conversion( ).
ENDLOOP.
ENDLOOP.
ENDMETHOD.
| User | Count |
|---|---|
| 4 | |
| 4 | |
| 4 | |
| 3 | |
| 2 | |
| 2 | |
| 2 | |
| 2 | |
| 2 | |
| 2 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.