zcl_mdp_json icon indicating copy to clipboard operation
zcl_mdp_json copied to clipboard

Default mapper for ease of use

Open ghost opened this issue 8 years ago • 2 comments

This library is very flexible. However there are times I only need to serialize an row with many columns. Right now I use field-symbol to read column names. This functionality can be added to library as a default mapper feature.

ghost avatar Aug 24 '16 14:08 ghost

Hi imutlu, thank you for the suggestion. Can you please share an example of field-symbol usage with this library?

fatihpense avatar Aug 25 '16 14:08 fatihpense

Hi Fatih,

DATA: lt_table  TYPE slis_t_fieldcat_alv,
      ls_table  TYPE slis_fieldcat_alv,
      lv_string TYPE string,
      ls_kna1   TYPE kna1.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
  EXPORTING
    i_structure_name = 'KNA1'
  CHANGING
    ct_fieldcat      = lt_table.

SELECT SINGLE * FROM kna1 INTO ls_kna1 WHERE kunnr EQ '0001140013'.
FIELD-SYMBOLS: <fs> TYPE ANY.

LOOP AT lt_table INTO ls_table.
  l_book_attr_string_node = zcl_mdp_json_node=>create_string_node( ).
  lv_string = ls_table-fieldname.
  CONCATENATE 'ls_kna1-' ls_table-fieldname INTO ls_table-fieldname.
  ASSIGN   (ls_table-fieldname) TO <fs>.
  l_book_attr_string_node->value = <fs>.
  l_root_object_node->object_add_child_node( child_key = lv_string  child_node = l_book_attr_string_node ).
ENDLOOP.
l_string_1 = l_root_object_node->serialize( ).

ghost avatar Aug 26 '16 14:08 ghost