TRY.
DATA(o_server_info) = NEW cl_server_info( ).
DATA(lv_startup_time) = o_server_info->get_startup_time( ).
WRITE: / ' startup time:', lv_startup_time.
WRITE: / ' worker:'.
LOOP AT o_server_info->get_worker_list( ) ASSIGNING FIELD-SYMBOL(<w>).
WRITE: / ' ', <w>-logon_id, <w>-logon_type, <w>-logon_hdl, <w>-application, <w>-user_name, <w>-main_program, <w>-wp_program.
ENDLOOP.
DATA(lv_release_info) = o_server_info->get_release_info( ).
WRITE: / ' server name:', lv_release_info->server_name.
WRITE: / ' release:', lv_release_info->release.
WRITE: / ' compile date:', lv_release_info->compile_date.
WRITE: / ' compile time:', lv_release_info->compile_time.
WRITE: / ' patchlevel:', lv_release_info->patchlevel.
WRITE: / ' patchnumber:', lv_release_info->patchnumber.
WRITE: / ' sourceid:', lv_release_info->sourceid.
WRITE: / 'compatibility_level:', lv_release_info->compatibility_level.
WRITE: / ' make_variant:', lv_release_info->make_variant.
WRITE: / ' dblib:', lv_release_info->dblib.
WRITE: / ' supportlevel:', lv_release_info->supportlevel.
WRITE: / ' supported OS:'.
LOOP AT lv_release_info->supported_os ASSIGNING FIELD-SYMBOL(<os>).
WRITE: / ' ', <os>.
ENDLOOP.
WRITE: / ' supported ABAP:'.
LOOP AT lv_release_info->supported_abap ASSIGNING FIELD-SYMBOL(<a>).
WRITE: / ' ', <a>.
ENDLOOP.
WRITE: / ' supported DB:'.
LOOP AT lv_release_info->supported_db ASSIGNING FIELD-SYMBOL(<db>).
WRITE: / ' ', <db>.
ENDLOOP.
WRITE: / ' patch comment:'.
LOOP AT lv_release_info->patchcomment ASSIGNING FIELD-SYMBOL(<p>).
WRITE: / ' ', <p>.
ENDLOOP.
CATCH cx_root INTO DATA(e_txt).
WRITE: / e_txt->get_text( ).
ENDTRY.