in src/zgoog_data_cluster_editor.prog.abap [0:0]
METHOD pbo.
DATA: lt_fcode TYPE TABLE OF sy-ucomm.
IF p_edit IS INITIAL.
APPEND 'SAVE' TO lt_fcode.
ENDIF.
SET PF-STATUS 'STATUS_0100' EXCLUDING lt_fcode.
SET TITLEBAR 'TITL_0100'.
IF go_container IS INITIAL.
CREATE OBJECT go_container
EXPORTING
container_name = 'CC_INPUT'.
CREATE OBJECT go_editor
EXPORTING
parent = go_container.
DATA: lo_serial TYPE REF TO object.
DATA: lr_data TYPE REF TO data.
FIELD-SYMBOLS:
<lv_data> TYPE any.
IF gs_config-class IS NOT INITIAL.
ASSIGN lo_serial TO <lv_data>.
ELSE.
CREATE DATA lr_data TYPE (gs_config-data_type).
ASSIGN lr_data->* TO <lv_data>.
ENDIF.
CALL METHOD zgoog_cl_data_cluster=>import_data
EXPORTING
iv_table = gs_config-cluster_table
iv_area = gs_config-relid
iv_id = gs_config-srtfd
IMPORTING
ev_data = <lv_data>.
IF <lv_data> IS INITIAL AND
gs_config-class IS NOT INITIAL.
CREATE OBJECT lo_serial TYPE (gs_config-class).
ENDIF.
CALL METHOD zgoog_cl_data_cluster=>abap_to_json
EXPORTING
iv_data = <lv_data>
iv_pretty = abap_true
IMPORTING
ev_json_xstring = gv_xstring.
go_editor->set_xstring( gv_xstring ).
go_editor->toggle_change_mode( ).
IF p_edit IS INITIAL.
go_editor->set_readonly( abap_true ).
ENDIF.
ENDIF.