├── .github └── workflows │ └── test.yml ├── .gitignore ├── .npmrc ├── .vscode ├── extensions.json └── launch.json ├── LICENSE ├── README.md ├── abap_transpile.json ├── abap_transpile_test.json ├── abaplint.jsonc ├── package.json ├── src ├── 00.msag.xml ├── abap │ ├── abap.type.abap │ ├── cl_abap_char_utilities.clas.abap │ ├── cl_abap_char_utilities.clas.testclasses.abap │ ├── cl_abap_exceptional_values.clas.abap │ ├── cl_abap_exceptional_values.clas.testclasses.abap │ ├── cl_abap_format.clas.abap │ ├── cl_abap_gzip.clas.abap │ ├── cl_abap_gzip.clas.testclasses.abap │ ├── cl_abap_weak_reference.clas.abap │ ├── cl_abap_weak_reference.clas.testclasses.abap │ ├── cl_abap_zip.clas.abap │ ├── cl_abap_zip.clas.locals_imp.abap │ ├── cl_abap_zip.clas.testclasses.abap │ ├── dyn │ │ ├── cl_abap_dyn_prg.clas.abap │ │ ├── cx_abap_not_a_table.clas.abap │ │ ├── cx_abap_not_in_package.clas.abap │ │ └── cx_abap_not_in_whitelist.clas.abap │ ├── hash │ │ ├── cl_abap_hmac.clas.abap │ │ ├── cl_abap_hmac.clas.testclasses.abap │ │ ├── cl_abap_message_digest.clas.abap │ │ ├── cl_abap_message_digest.clas.testclasses.abap │ │ └── cx_abap_message_digest.clas.abap │ ├── math │ │ ├── cl_abap_math.clas.abap │ │ ├── cl_abap_random.clas.abap │ │ ├── cl_abap_random.clas.testclasses.abap │ │ ├── cl_abap_random_int.clas.abap │ │ ├── cl_abap_random_int.clas.testclasses.abap │ │ └── cx_abap_random.clas.abap │ └── regex │ │ ├── cl_abap_matcher.clas.abap │ │ ├── cl_abap_matcher.clas.testclasses.abap │ │ ├── cl_abap_regex.clas.abap │ │ ├── cl_abap_regex.clas.testclasses.abap │ │ ├── match_result.tabl.xml │ │ ├── match_result_tab.ttyp.xml │ │ ├── submatch_result.tabl.xml │ │ └── submatch_result_tab.ttyp.xml ├── adbc │ ├── cl_sql_connection.clas.abap │ ├── cl_sql_result_set.clas.abap │ ├── cl_sql_statement.clas.abap │ ├── cl_sql_statement.clas.testclasses.abap │ └── cx_sql_exception.clas.abap ├── bcs │ ├── cl_bcs.clas.abap │ ├── cl_bcs_convert.clas.abap │ ├── cl_cam_address_bcs.clas.abap │ ├── cl_document_bcs.clas.abap │ ├── cx_bcs.clas.abap │ ├── if_document_bcs.intf.abap │ ├── if_recipient_bcs.intf.abap │ ├── if_sender_bcs.intf.abap │ ├── so_raw255.dtel.xml │ ├── so_text255.doma.xml │ ├── so_text255.dtel.xml │ ├── soli.tabl.xml │ ├── soli_tab.ttyp.xml │ ├── solix.tabl.xml │ └── solix_tab.ttyp.xml ├── cl_i18n_languages.clas.abap ├── cl_i18n_languages.clas.testclasses.abap ├── cl_message_helper.clas.abap ├── cl_message_helper.clas.testclasses.abap ├── classrun │ ├── if_oo_adt_classrun.intf.abap │ └── if_oo_adt_classrun_out.intf.abap ├── conv │ ├── cl_abap_codepage.clas.abap │ ├── cl_abap_conv_codepage.clas.abap │ ├── cl_abap_conv_codepage.clas.locals_imp.abap │ ├── cl_abap_conv_codepage.clas.testclasses.abap │ ├── cl_abap_conv_in_ce.clas.abap │ ├── cl_abap_conv_in_ce.clas.testclasses.abap │ ├── cl_abap_conv_out_ce.clas.abap │ ├── cl_abap_conv_out_ce.clas.testclasses.abap │ ├── cl_gdt_conversion.clas.abap │ ├── cl_gdt_conversion.clas.testclasses.abap │ ├── cx_gdt_conversion.clas.abap │ ├── if_abap_conv_in.intf.abap │ └── if_abap_conv_out.intf.abap ├── date_time │ ├── cl_abap_datfm.clas.abap │ ├── cl_abap_datfm.clas.testclasses.abap │ ├── cl_abap_timefm.clas.abap │ ├── cl_abap_timefm.clas.testclasses.abap │ ├── cl_abap_tstmp.clas.abap │ ├── cl_abap_tstmp.clas.testclasses.abap │ ├── cx_abap_datfm.clas.abap │ └── cx_abap_timefm_invalid.clas.abap ├── ddic │ ├── bapi │ │ ├── bapi_fld.dtel.xml │ │ ├── bapi_line.dtel.xml │ │ ├── bapi_msg.dtel.xml │ │ ├── bapi_mtype.dtel.xml │ │ ├── bapi_param.dtel.xml │ │ ├── bapi_rcode.dtel.xml │ │ ├── bapilogsys.dtel.xml │ │ ├── bapiret2.tabl.xml │ │ ├── bapirettab.ttyp.xml │ │ └── bapireturn.tabl.xml │ ├── doma │ │ ├── abap_boolean.doma.xml │ │ ├── char1.doma.xml │ │ ├── char10.doma.xml │ │ ├── char120.doma.xml │ │ ├── char15.doma.xml │ │ ├── char2.doma.xml │ │ ├── char20.doma.xml │ │ ├── char25.doma.xml │ │ ├── char255.doma.xml │ │ ├── char30.doma.xml │ │ ├── char32.doma.xml │ │ ├── char4.doma.xml │ │ ├── char40.doma.xml │ │ ├── char5.doma.xml │ │ ├── char6.doma.xml │ │ ├── char61.doma.xml │ │ ├── char70.doma.xml │ │ ├── char8.doma.xml │ │ ├── char80.doma.xml │ │ ├── dats.doma.xml │ │ ├── ddoption.doma.xml │ │ ├── ddsign.doma.xml │ │ ├── meins.doma.xml │ │ ├── text1.doma.xml │ │ ├── text10.doma.xml │ │ ├── text100.doma.xml │ │ ├── text20.doma.xml │ │ ├── text255.doma.xml │ │ ├── text30.doma.xml │ │ ├── text40.doma.xml │ │ ├── text50.doma.xml │ │ ├── text60.doma.xml │ │ ├── text64.doma.xml │ │ ├── text80.doma.xml │ │ ├── tzntstmps.doma.xml │ │ ├── waers.doma.xml │ │ ├── xsdboolean.doma.xml │ │ ├── xsddatetime_z.doma.xml │ │ └── xsdtime_t.doma.xml │ ├── dtel │ │ ├── abap_boolean.dtel.xml │ │ ├── abap_encod.dtel.xml │ │ ├── balmnr.dtel.xml │ │ ├── balognr.dtel.xml │ │ ├── bapioption.dtel.xml │ │ ├── bapisign.dtel.xml │ │ ├── boole_d.dtel.xml │ │ ├── boolean.dtel.xml │ │ ├── char1.dtel.xml │ │ ├── char10.dtel.xml │ │ ├── char120.dtel.xml │ │ ├── char15.dtel.xml │ │ ├── char2.dtel.xml │ │ ├── char20.dtel.xml │ │ ├── char25.dtel.xml │ │ ├── char255.dtel.xml │ │ ├── char3.dtel.xml │ │ ├── char30.dtel.xml │ │ ├── char32.dtel.xml │ │ ├── char4.dtel.xml │ │ ├── char40.dtel.xml │ │ ├── char6.dtel.xml │ │ ├── char70.dtel.xml │ │ ├── char8.dtel.xml │ │ ├── char80.dtel.xml │ │ ├── dats.dtel.xml │ │ ├── ddoption.dtel.xml │ │ ├── ddsign.dtel.xml │ │ ├── devclass.dtel.xml │ │ ├── doku_obj.dtel.xml │ │ ├── dynprofld.dtel.xml │ │ ├── flag.dtel.xml │ │ ├── funcname.dtel.xml │ │ ├── guid.dtel.xml │ │ ├── icon_d.dtel.xml │ │ ├── int1.dtel.xml │ │ ├── int2.dtel.xml │ │ ├── int4.dtel.xml │ │ ├── laiso.dtel.xml │ │ ├── land1.dtel.xml │ │ ├── langu.dtel.xml │ │ ├── mandt.dtel.xml │ │ ├── matnr.dtel.xml │ │ ├── meins.dtel.xml │ │ ├── menge_d.dtel.xml │ │ ├── msehi.dtel.xml │ │ ├── numc4.dtel.xml │ │ ├── rfcdest.dtel.xml │ │ ├── scrtext_l.dtel.xml │ │ ├── scrtext_m.dtel.xml │ │ ├── scrtext_s.dtel.xml │ │ ├── seoclsname.dtel.xml │ │ ├── sotr_conc.dtel.xml │ │ ├── spras.dtel.xml │ │ ├── sydate.dtel.xml │ │ ├── symsgid.dtel.xml │ │ ├── symsgno.dtel.xml │ │ ├── symsgty.dtel.xml │ │ ├── symsgv.dtel.xml │ │ ├── syrepid.dtel.xml │ │ ├── syst_host.dtel.xml │ │ ├── sysubrc.dtel.xml │ │ ├── sysuuid_c22.dtel.xml │ │ ├── sysuuid_x16.dtel.xml │ │ ├── syuname.dtel.xml │ │ ├── tabfdpos.dtel.xml │ │ ├── tabname.dtel.xml │ │ ├── tdline.dtel.xml │ │ ├── text20.dtel.xml │ │ ├── text200.dtel.xml │ │ ├── text255.dtel.xml │ │ ├── text30.dtel.xml │ │ ├── text80.dtel.xml │ │ ├── timestamp.dtel.xml │ │ ├── timestampl.dtel.xml │ │ ├── timezone.dtel.xml │ │ ├── timn.dtel.xml │ │ ├── trfunction.dtel.xml │ │ ├── trkorr.dtel.xml │ │ ├── tzntstmpl.dtel.xml │ │ ├── tzntstmps.dtel.xml │ │ ├── uname.dtel.xml │ │ ├── usnam.dtel.xml │ │ ├── waers.dtel.xml │ │ ├── waers_curc.dtel.xml │ │ ├── xfeld.dtel.xml │ │ ├── xsdboolean.dtel.xml │ │ ├── xsddatetime_z.dtel.xml │ │ └── xsdtime_t.dtel.xml │ ├── structures │ │ ├── abap_callstack_line.tabl.xml │ │ ├── abap_sortorder.tabl.xml │ │ ├── mimetypes.tabl.xml │ │ ├── scx_t100key.tabl.xml │ │ ├── symsg.tabl.xml │ │ ├── textpool.tabl.xml │ │ └── tline.tabl.xml │ ├── transparent │ │ ├── t000.tabl.xml │ │ ├── t100.tabl.xml │ │ ├── tadir.tabl.xml │ │ ├── tdevc.tabl.xml │ │ └── tfdir.tabl.xml │ └── ttyp │ │ ├── abap_callstack.ttyp.xml │ │ ├── abap_sortorder_tab.ttyp.xml │ │ ├── string_table.ttyp.xml │ │ ├── stringtab.ttyp.xml │ │ └── tline_tab.ttyp.xml ├── demo │ ├── cl_demo_output.clas.abap │ └── if_demo_output.intf.abap ├── exceptions │ ├── cx_dynamic_check.clas.abap │ ├── cx_no_check.clas.abap │ ├── cx_parameter_invalid.clas.abap │ ├── cx_parameter_invalid_range.clas.abap │ ├── cx_parameter_invalid_type.clas.abap │ ├── cx_root.clas.abap │ ├── cx_root.clas.testclasses.abap │ ├── cx_st_error.clas.abap │ ├── cx_static_check.clas.abap │ ├── cx_static_check.clas.testclasses.abap │ ├── cx_sy_arithmetic_error.clas.abap │ ├── cx_sy_arithmetic_overflow.clas.abap │ ├── cx_sy_buffer_overflow.clas.abap │ ├── cx_sy_codepage_converter_init.clas.abap │ ├── cx_sy_compression_error.clas.abap │ ├── cx_sy_conversion_codepage.clas.abap │ ├── cx_sy_conversion_data_loss.clas.abap │ ├── cx_sy_conversion_error.clas.abap │ ├── cx_sy_conversion_no_date_time.clas.abap │ ├── cx_sy_conversion_no_number.clas.abap │ ├── cx_sy_conversion_overflow.clas.abap │ ├── cx_sy_create_data_error.clas.abap │ ├── cx_sy_create_object_error.clas.abap │ ├── cx_sy_create_object_error.clas.testclasses.abap │ ├── cx_sy_data_access_error.clas.abap │ ├── cx_sy_duplicate_key.clas.abap │ ├── cx_sy_dyn_call_error.clas.abap │ ├── cx_sy_dyn_call_illegal_class.clas.abap │ ├── cx_sy_dyn_call_illegal_form.clas.abap │ ├── cx_sy_dyn_call_illegal_func.clas.abap │ ├── cx_sy_dyn_call_illegal_method.clas.abap │ ├── cx_sy_dyn_call_illegal_type.clas.abap │ ├── cx_sy_dyn_call_param_not_found.clas.abap │ ├── cx_sy_dyn_call_parameter_error.clas.abap │ ├── cx_sy_dynamic_osql_error.clas.abap │ ├── cx_sy_dynamic_osql_semantics.clas.abap │ ├── cx_sy_find_infinite_loop.clas.abap │ ├── cx_sy_invalid_regex.clas.abap │ ├── cx_sy_itab_duplicate_key.clas.abap │ ├── cx_sy_itab_error.clas.abap │ ├── cx_sy_itab_line_not_found.clas.abap │ ├── cx_sy_message_illegal_text.clas.abap │ ├── cx_sy_move_cast_error.clas.abap │ ├── cx_sy_open_sql_error.clas.abap │ ├── cx_sy_range_out_of_bounds.clas.abap │ ├── cx_sy_ref_is_initial.clas.abap │ ├── cx_sy_regex.clas.abap │ ├── cx_sy_regex_too_complex.clas.abap │ ├── cx_sy_sql_error.clas.abap │ ├── cx_sy_strg_par_val.clas.abap │ ├── cx_sy_struct_attributes.clas.abap │ ├── cx_sy_struct_comp_name.clas.abap │ ├── cx_sy_struct_comp_type.clas.abap │ ├── cx_sy_struct_creation.clas.abap │ ├── cx_sy_table_creation.clas.abap │ ├── cx_sy_type_creation.clas.abap │ ├── cx_sy_zerodivide.clas.abap │ ├── cx_transformation_error.clas.abap │ ├── cx_xslt_exception.clas.abap │ ├── cx_xslt_format_error.clas.abap │ ├── cx_xslt_runtime_error.clas.abap │ ├── cx_xslt_serialization_error.clas.abap │ ├── cx_xslt_system_error.clas.abap │ ├── if_message.intf.abap │ ├── if_t100_dyn_msg.intf.abap │ ├── if_t100_message.intf.abap │ └── scx_attrname.dtel.xml ├── fugr │ ├── kernel_fugr_test.clas.abap │ ├── kernel_fugr_test.clas.testclasses.abap │ ├── openabap.fugr.call_v1_ping.abap │ ├── openabap.fugr.conversion_exit_alpha_input.abap │ ├── openabap.fugr.conversion_exit_alpha_output.abap │ ├── openabap.fugr.conversion_exit_isola_input.abap │ ├── openabap.fugr.conversion_exit_isola_output.abap │ ├── openabap.fugr.convert_itf_to_stream_text.abap │ ├── openabap.fugr.docu_get.abap │ ├── openabap.fugr.function_exists.abap │ ├── openabap.fugr.generate_sec_random.abap │ ├── openabap.fugr.get_system_timezone.abap │ ├── openabap.fugr.lopenabaptop.abap │ ├── openabap.fugr.lopenabaptop.xml │ ├── openabap.fugr.saplzopenabap.abap │ ├── openabap.fugr.saplzopenabap.xml │ ├── openabap.fugr.system_callstack.abap │ ├── openabap.fugr.system_installed_languages.abap │ ├── openabap.fugr.text_split.abap │ ├── openabap.fugr.unit_conversion_simple.abap │ └── openabap.fugr.xml ├── http │ ├── cl_http_client.clas.abap │ ├── cl_http_entity.clas.abap │ ├── cl_http_server.clas.abap │ ├── cl_http_server.clas.testclasses.abap │ ├── cl_http_utility.clas.abap │ ├── cl_http_utility.clas.testclasses.abap │ ├── cl_web_http_utility.clas.abap │ ├── if_http_client.intf.abap │ ├── if_http_entity.intf.abap │ ├── if_http_extension.intf.abap │ ├── if_http_request.intf.abap │ ├── if_http_response.intf.abap │ ├── if_http_server.intf.abap │ ├── if_http_utility.intf.abap │ ├── ihttpnvp.tabl.xml │ ├── ssfapplssl.dtel.xml │ └── tihttpnvp.ttyp.xml ├── icon.type.abap ├── if_amdp_marker_hdb.intf.abap ├── if_serializable_object.intf.abap ├── ixml │ ├── cl_ixml.clas.abap │ ├── cl_ixml.clas.locals_imp.abap │ ├── cl_ixml.clas.testclasses.abap │ ├── if_ixml.intf.abap │ ├── if_ixml_attribute.intf.abap │ ├── if_ixml_document.intf.abap │ ├── if_ixml_element.intf.abap │ ├── if_ixml_encoding.intf.abap │ ├── if_ixml_istream.intf.abap │ ├── if_ixml_named_node_map.intf.abap │ ├── if_ixml_node.intf.abap │ ├── if_ixml_node_collection.intf.abap │ ├── if_ixml_node_filter.intf.abap │ ├── if_ixml_node_iterator.intf.abap │ ├── if_ixml_node_list.intf.abap │ ├── if_ixml_ostream.intf.abap │ ├── if_ixml_parse_error.intf.abap │ ├── if_ixml_parser.intf.abap │ ├── if_ixml_renderer.intf.abap │ ├── if_ixml_stream_factory.intf.abap │ └── if_ixml_unknown.intf.abap ├── json │ ├── #ui2#cl_json.clas.abap │ ├── #ui2#cl_json.clas.locals_imp.abap │ └── #ui2#cl_json.clas.testclasses.abap ├── kernel │ ├── call_transformation │ │ ├── id.xslt.source.xml │ │ ├── id.xslt.xml │ │ ├── kernel_call_transformation.clas.abap │ │ ├── kernel_call_transformation.clas.locals_imp.abap │ │ └── kernel_call_transformation.clas.testclasses.abap │ ├── ixml │ │ ├── kernel_ixml_json_to_data.clas.abap │ │ ├── kernel_ixml_json_to_data.clas.testclasses.abap │ │ ├── kernel_ixml_xml_to_data.clas.abap │ │ ├── kernel_json_to_ixml.clas.abap │ │ └── kernel_json_to_ixml.clas.testclasses.abap │ ├── kernel_authority_check.clas.abap │ ├── kernel_call.clas.abap │ ├── kernel_call.clas.testclasses.abap │ ├── kernel_create_data_handle.clas.abap │ ├── kernel_create_data_handle.clas.testclasses.abap │ ├── kernel_internal_name.clas.abap │ ├── kernel_lock.clas.abap │ ├── kernel_push_channels.clas.abap │ └── scan │ │ ├── kernel_scan_abap_source.clas.abap │ │ ├── kernel_scan_abap_source.clas.testclasses.abap │ │ ├── sstmnt.tabl.xml │ │ ├── sstmnt_tab.ttyp.xml │ │ ├── sstruc.tabl.xml │ │ ├── sstruc_tab.ttyp.xml │ │ ├── stokes.tabl.xml │ │ ├── stokes_tab.ttyp.xml │ │ └── stokesx.tabl.xml ├── memory │ ├── abap_msize.dtel.xml │ ├── cl_abap_memory_utilities.clas.abap │ └── cl_abap_memory_utilities.clas.xml ├── numberrange │ ├── cl_numberrange_runtime.clas.abap │ ├── cl_numberrange_runtime.clas.testclasses.abap │ ├── kernel_numberrange.clas.abap │ ├── kernel_numberrange.clas.xml │ ├── number_get_next.fugr.lnumber_get_nexttop.abap │ ├── number_get_next.fugr.lnumber_get_nexttop.xml │ ├── number_get_next.fugr.number_get_next.abap │ ├── number_get_next.fugr.saplnumber_get_next.abap │ ├── number_get_next.fugr.saplnumber_get_next.xml │ └── number_get_next.fugr.xml ├── oauth2 │ ├── cl_oa2c_config_writer_api.clas.abap │ ├── cl_oauth2_client.clas.abap │ ├── cx_oa2c.clas.abap │ ├── cx_oa2c_at_not_available.clas.abap │ ├── cx_oa2c_config_not_found.clas.abap │ ├── if_oauth2_client.intf.abap │ ├── oa2c_configuration.dtel.xml │ ├── oa2c_granttype.dtel.xml │ └── oa2c_profile.dtel.xml ├── oo │ ├── cl_oo_factory.clas.abap │ ├── cl_oo_factory.clas.testclasses.abap │ ├── cx_oo_clif_not_exists.clas.abap │ ├── if_oo_clif_source.intf.abap │ └── reposrc.tabl.xml ├── rtti │ ├── cl_abap_classdescr.clas.abap │ ├── cl_abap_classdescr.clas.testclasses.abap │ ├── cl_abap_complexdescr.clas.abap │ ├── cl_abap_datadescr.clas.abap │ ├── cl_abap_datadescr.clas.testclasses.abap │ ├── cl_abap_elemdescr.clas.abap │ ├── cl_abap_elemdescr.clas.testclasses.abap │ ├── cl_abap_enumdescr.clas.abap │ ├── cl_abap_intfdescr.clas.abap │ ├── cl_abap_intfdescr.clas.testclasses.abap │ ├── cl_abap_objectdescr.clas.abap │ ├── cl_abap_objectdescr.clas.testclasses.abap │ ├── cl_abap_refdescr.clas.abap │ ├── cl_abap_refdescr.clas.testclasses.abap │ ├── cl_abap_structdescr.clas.abap │ ├── cl_abap_structdescr.clas.testclasses.abap │ ├── cl_abap_tabledescr.clas.abap │ ├── cl_abap_tabledescr.clas.testclasses.abap │ ├── cl_abap_typedescr.clas.abap │ ├── cl_abap_typedescr.clas.testclasses.abap │ ├── ddfields.ttyp.xml │ └── dfies.tabl.xml ├── shma │ ├── cl_shm_area.clas.abap │ ├── cl_shm_service.clas.abap │ ├── ddic │ │ ├── shm_affect_server.dtel.xml │ │ ├── shm_area_name.dtel.xml │ │ ├── shm_attach_mode.dtel.xml │ │ ├── shm_auto_build_class_name.dtel.xml │ │ ├── shm_client.dtel.xml │ │ ├── shm_constr_invocation_mode.dtel.xml │ │ ├── shm_inst_info.tabl.xml │ │ ├── shm_inst_infos.ttyp.xml │ │ ├── shm_inst_name.dtel.xml │ │ ├── shm_life_context.dtel.xml │ │ ├── shm_properties.tabl.xml │ │ ├── shm_rc.dtel.xml │ │ ├── shma_attributes.tabl.xml │ │ ├── shma_client.dtel.xml │ │ └── shmm_trc_variant_name.dtel.xml │ ├── exceptions │ │ ├── cx_shm_already_detached.clas.abap │ │ ├── cx_shm_attach_error.clas.abap │ │ ├── cx_shm_build_failed.clas.abap │ │ ├── cx_shm_change_lock_active.clas.abap │ │ ├── cx_shm_completion_error.clas.abap │ │ ├── cx_shm_detach_error.clas.abap │ │ ├── cx_shm_error.clas.abap │ │ ├── cx_shm_event_execution_failed.clas.abap │ │ ├── cx_shm_exclusive_lock_active.clas.abap │ │ ├── cx_shm_general_error.clas.abap │ │ ├── cx_shm_inconsistent.clas.abap │ │ ├── cx_shm_initial_reference.clas.abap │ │ ├── cx_shm_no_active_version.clas.abap │ │ ├── cx_shm_parameter_error.clas.abap │ │ ├── cx_shm_pending_lock_removed.clas.abap │ │ ├── cx_shm_read_lock_active.clas.abap │ │ ├── cx_shm_secondary_commit.clas.abap │ │ ├── cx_shm_version_limit_exceeded.clas.abap │ │ ├── cx_shm_wrong_handle.clas.abap │ │ ├── cx_shma_dynamic.clas.abap │ │ ├── cx_shma_inconsistent.clas.abap │ │ └── cx_shma_not_configured.clas.abap │ ├── if_shm_build_instance.intf.abap │ └── if_shm_trace.intf.abap ├── smim │ ├── cl_mime_repository_api.clas.abap │ ├── if_mr_api.intf.abap │ ├── sdok_class.doma.xml │ ├── sdok_class.dtel.xml │ ├── sdok_docid.doma.xml │ ├── sdok_docid.dtel.xml │ ├── sdokobject.tabl.xml │ ├── skwf_io.tabl.xml │ ├── skwf_ioty.doma.xml │ └── skwf_ioty.dtel.xml ├── sxml │ ├── cl_sec_sxml_writer.clas.abap │ ├── cl_sec_sxml_writer.clas.testclasses.abap │ ├── cl_sxml_string_reader.clas.abap │ ├── cl_sxml_string_reader.clas.locals_imp.abap │ ├── cl_sxml_string_reader.clas.testclasses.abap │ ├── cl_sxml_string_writer.clas.abap │ ├── cl_sxml_string_writer.clas.testclasses.abap │ ├── cx_sxml_error.clas.abap │ ├── cx_sxml_illegal_argument_error.clas.abap │ ├── cx_sxml_name_error.clas.abap │ ├── cx_sxml_parse_error.clas.abap │ ├── cx_sxml_state_error.clas.abap │ ├── if_sxml.intf.abap │ ├── if_sxml_attribute.intf.abap │ ├── if_sxml_close_element.intf.abap │ ├── if_sxml_named.intf.abap │ ├── if_sxml_node.intf.abap │ ├── if_sxml_open_element.intf.abap │ ├── if_sxml_reader.intf.abap │ ├── if_sxml_value.intf.abap │ ├── if_sxml_value_node.intf.abap │ ├── if_sxml_writer.intf.abap │ ├── if_sxmlp_factory.intf.abap │ ├── if_sxmlp_list.intf.abap │ ├── if_sxmlp_part.intf.abap │ └── if_sxmlp_simple.intf.abap ├── tcp │ ├── cl_apc_tcp_client_manager.clas.abap │ ├── cl_apc_tcp_client_manager.clas.locals_imp.abap │ ├── cl_apc_wsp_ext_stateless_base.clas.abap │ ├── cx_apc_error.clas.abap │ ├── if_abap_channel_types.intf.abap │ ├── if_apc_tcp_frame_types.intf.abap │ ├── if_apc_wsp_binding_manager.intf.abap │ ├── if_apc_wsp_client.intf.abap │ ├── if_apc_wsp_event_handler.intf.abap │ ├── if_apc_wsp_extension.intf.abap │ ├── if_apc_wsp_initial_request.intf.abap │ ├── if_apc_wsp_message.intf.abap │ ├── if_apc_wsp_message_manager.intf.abap │ └── if_apc_wsp_server_context.intf.abap ├── unit │ ├── cl_abap_unit_assert.clas.abap │ ├── cl_abap_unit_assert.clas.locals_imp.abap │ ├── cl_abap_unit_assert.clas.testclasses.abap │ ├── ftd │ │ ├── cl_function_test_environment.clas.abap │ │ ├── cl_function_test_environment.clas.locals_imp.abap │ │ ├── cl_function_test_environment.clas.testclasses.abap │ │ ├── cx_ftd_parameter_not_found.clas.abap │ │ ├── if_ftd_input_arguments.intf.abap │ │ ├── if_ftd_input_config_setter.intf.abap │ │ ├── if_ftd_invocation_answer.intf.abap │ │ ├── if_ftd_invocation_result.intf.abap │ │ ├── if_ftd_output_config_setter.intf.abap │ │ ├── if_ftd_output_configuration.intf.abap │ │ ├── if_function_test_environment.intf.abap │ │ └── if_function_testdouble.intf.abap │ ├── if_abap_unit_constant.intf.abap │ ├── if_aunit_constants.intf.abap │ ├── kernel_cx_assert.clas.abap │ ├── kernel_unit_runner.clas.abap │ ├── kernel_unit_runner.clas.testclasses.abap │ └── osql │ │ ├── cl_osql_test_environment.clas.abap │ │ ├── cl_osql_test_environment.clas.testclasses.abap │ │ └── if_osql_test_environment.intf.abap ├── uuid │ ├── cl_system_uuid.clas.abap │ ├── cl_system_uuid.clas.testclasses.abap │ ├── cx_uuid_error.clas.abap │ ├── if_system_uuid_rfc4122_static.intf.abap │ ├── if_system_uuid_static.intf.abap │ ├── sysuuid_c32.dtel.xml │ └── sysuuid_c36.dtel.xml ├── w3mi │ ├── w3mime.tabl.xml │ ├── wwwdatatab.tabl.xml │ ├── wwwparams.tabl.xml │ ├── zw3mi.fugr.lzw3mitop.abap │ ├── zw3mi.fugr.lzw3mitop.xml │ ├── zw3mi.fugr.saplzw3mi.abap │ ├── zw3mi.fugr.saplzw3mi.xml │ ├── zw3mi.fugr.wwwdata_export.abap │ ├── zw3mi.fugr.wwwdata_import.abap │ ├── zw3mi.fugr.wwwparams_insert.abap │ ├── zw3mi.fugr.wwwparams_read.abap │ └── zw3mi.fugr.xml └── xco │ ├── sxco_fm_name.dtel.xml │ └── sxco_transport.dtel.xml └── test ├── adbc ├── init.sql ├── zcl_adbc_test.clas.abap └── zcl_adbc_test.clas.testclasses.abap ├── cl_apc_tcp_client_manager.clas.testclasses.abap ├── cl_http_client.clas.testclasses.abap ├── performance.mjs ├── performance ├── cl_conversion_exit_input.clas.abap ├── cl_json_parsing1.clas.abap ├── cl_ui2_deserialize1.clas.abap └── cl_ui2_serialize1.clas.abap ├── performance_comment.mjs ├── setup.mjs ├── shma ├── zcl_shma_area.clas.abap ├── zcl_shma_area.clas.xml ├── zcl_shma_root.clas.abap ├── zcl_shma_root.clas.testclasses.abap └── zcl_shma_root.clas.xml └── stack.yml /.gitignore: -------------------------------------------------------------------------------- 1 | output 2 | node_modules 3 | package-lock.json 4 | output_test 5 | foo.zip 6 | results*.json 7 | *.0x 8 | isolate* -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | ignore-scripts=true -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | "larshp.vscode-abaplint" 4 | ] 5 | } -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.2.0", 3 | "configurations": [ 4 | { 5 | "name": "All Unit Tests", 6 | "type": "node", 7 | "request": "launch", 8 | "pauseForSourceMap": true, 9 | "trace": false, 10 | "skipFiles": [ 11 | "/**", 12 | "${workspaceFolder}/output/cl_*", 13 | "${workspaceFolder}/output/index.mjs", 14 | "${workspaceFolder}/node_modules/@abaplint/runtime/**" 15 | ], 16 | "program": "${workspaceFolder}/output/index.mjs", 17 | } 18 | ] 19 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # open-abap-core 2 | 3 | Reuseable ABAP functionality 4 | 5 | For use with latest https://github.com/abaplint/transpiler 6 | 7 | ## Contributing 8 | 9 | - To ensure the stuff works you need to have [nodejs](https://nodejs.org) installed 10 | - run `npm install` 11 | - run `npm test` (please beware that tests must pass for PR to be accepted) 12 | - to add new functionality please cover it with unit tests appropriately 13 | 14 | ## Add-ons 15 | 16 | * [open-abap-gui](https://github.com/open-abap/open-abap-gui) SAP GUI related classes/functionality 17 | * [open-abap-odata](https://github.com/open-abap/open-abap-odata) OData/Gateway shims 18 | * [open-abap-bal](https://github.com/open-abap/open-abap-bal) BAL logging 19 | * [shims-rfc](https://github.com/open-abap/shims-rfc) Shims for tRFC + qRFC + bgRFC -------------------------------------------------------------------------------- /abap_transpile.json: -------------------------------------------------------------------------------- 1 | { 2 | "input_folder": "src", 3 | "input_filter": [], 4 | "output_folder": "output", 5 | "write_unit_tests": true, 6 | "write_source_map": true, 7 | "options": { 8 | "ignoreSyntaxCheck": false, 9 | "addFilenames": true, 10 | "addCommonJS": true, 11 | "extraSetup": "../test/setup.mjs" 12 | } 13 | } -------------------------------------------------------------------------------- /abap_transpile_test.json: -------------------------------------------------------------------------------- 1 | { 2 | "input_folder": ["test", "src"], 3 | "input_filter": [], 4 | "output_folder": "output", 5 | "write_unit_tests": true, 6 | "write_source_map": true, 7 | "options": { 8 | "ignoreSyntaxCheck": false, 9 | "addFilenames": true, 10 | "addCommonJS": true, 11 | "extraSetup": "../test/setup.mjs" 12 | } 13 | } -------------------------------------------------------------------------------- /src/abap/cl_abap_format.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cl_abap_format DEFINITION PUBLIC. 2 | PUBLIC SECTION. 3 | CONSTANTS e_html_attr TYPE i VALUE 5. 4 | CONSTANTS e_html_js TYPE i VALUE 8. 5 | CONSTANTS e_html_js_html TYPE i VALUE 10. 6 | CONSTANTS e_html_text TYPE i VALUE 4. 7 | CONSTANTS e_json_string TYPE i VALUE 24. 8 | CONSTANTS e_url TYPE i VALUE 12. 9 | CONSTANTS e_xml_attr TYPE i VALUE 1. 10 | CONSTANTS e_xss_ml TYPE i VALUE 26. 11 | ENDCLASS. 12 | 13 | CLASS cl_abap_format IMPLEMENTATION. 14 | 15 | ENDCLASS. -------------------------------------------------------------------------------- /src/abap/cl_abap_weak_reference.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cl_abap_weak_reference DEFINITION PUBLIC. 2 | PUBLIC SECTION. 3 | METHODS constructor 4 | IMPORTING 5 | oref TYPE REF TO object. 6 | 7 | METHODS get 8 | RETURNING 9 | VALUE(oref) TYPE REF TO object. 10 | PRIVATE SECTION. 11 | DATA mv_ref TYPE x LENGTH 1. 12 | ENDCLASS. 13 | 14 | CLASS cl_abap_weak_reference IMPLEMENTATION. 15 | METHOD constructor. 16 | ASSERT oref IS NOT INITIAL. 17 | * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakRef 18 | WRITE '@KERNEL this.mv_ref = new WeakRef(oref);'. 19 | ENDMETHOD. 20 | 21 | METHOD get. 22 | WRITE '@KERNEL oref.set(this.mv_ref.deref());'. 23 | ENDMETHOD. 24 | ENDCLASS. -------------------------------------------------------------------------------- /src/abap/dyn/cx_abap_not_a_table.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_abap_not_a_table DEFINITION PUBLIC INHERITING FROM cx_static_check. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_abap_not_a_table IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/abap/dyn/cx_abap_not_in_package.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_abap_not_in_package DEFINITION PUBLIC INHERITING FROM cx_static_check. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_abap_not_in_package IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/abap/dyn/cx_abap_not_in_whitelist.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_abap_not_in_whitelist DEFINITION PUBLIC INHERITING FROM cx_static_check. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_abap_not_in_whitelist IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/abap/hash/cx_abap_message_digest.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_abap_message_digest DEFINITION PUBLIC INHERITING FROM cx_static_check. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_abap_message_digest IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/abap/math/cl_abap_math.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cl_abap_math DEFINITION PUBLIC. 2 | PUBLIC SECTION. 3 | CONSTANTS min_int4 TYPE i VALUE -2147483648. 4 | CONSTANTS max_int4 TYPE i VALUE 2147483647. 5 | 6 | CONSTANTS max_int8 TYPE int8 VALUE 9223372036854775807. 7 | CONSTANTS min_int8 TYPE int8 VALUE -9223372036854775808. 8 | 9 | CONSTANTS round_ceiling TYPE i VALUE 0. 10 | CONSTANTS round_up TYPE i VALUE 1. 11 | CONSTANTS round_half_up TYPE i VALUE 2. 12 | CONSTANTS round_half_even TYPE i VALUE 3. 13 | CONSTANTS round_half_down TYPE i VALUE 4. 14 | CONSTANTS round_down TYPE i VALUE 5. 15 | CONSTANTS round_floor TYPE i VALUE 6. 16 | ENDCLASS. 17 | 18 | CLASS cl_abap_math IMPLEMENTATION. 19 | 20 | ENDCLASS. -------------------------------------------------------------------------------- /src/abap/math/cl_abap_random_int.clas.testclasses.abap: -------------------------------------------------------------------------------- 1 | CLASS ltcl_test DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT FINAL. 2 | 3 | PRIVATE SECTION. 4 | METHODS test1 FOR TESTING RAISING cx_static_check. 5 | ENDCLASS. 6 | 7 | CLASS ltcl_test IMPLEMENTATION. 8 | 9 | METHOD test1. 10 | DATA lv_int TYPE i. 11 | 12 | lv_int = cl_abap_random_int=>create( 13 | min = 1 14 | max = 10 )->get_next( ). 15 | 16 | cl_abap_unit_assert=>assert_number_between( 17 | lower = 1 18 | upper = 10 19 | number = lv_int ). 20 | ENDMETHOD. 21 | 22 | ENDCLASS. -------------------------------------------------------------------------------- /src/abap/math/cx_abap_random.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_abap_random DEFINITION PUBLIC INHERITING FROM cx_dynamic_check. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_abap_random IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/abap/regex/cl_abap_matcher.clas.testclasses.abap: -------------------------------------------------------------------------------- 1 | CLASS ltcl_test DEFINITION FOR TESTING DURATION SHORT RISK LEVEL HARMLESS FINAL. 2 | 3 | PRIVATE SECTION. 4 | METHODS test01 FOR TESTING RAISING cx_static_check. 5 | 6 | ENDCLASS. 7 | 8 | 9 | CLASS ltcl_test IMPLEMENTATION. 10 | 11 | METHOD test01. 12 | * tested in class CL_ABAP_REGEX 13 | ENDMETHOD. 14 | 15 | ENDCLASS. -------------------------------------------------------------------------------- /src/abap/regex/match_result_tab.ttyp.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | MATCH_RESULT_TAB 7 | E 8 | MATCH_RESULT 9 | S 10 | STRU 11 | T 12 | D 13 | N 14 | MATCH_RESULT_TAB 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/abap/regex/submatch_result_tab.ttyp.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | SUBMATCH_RESULT_TAB 7 | E 8 | SUBMATCH_RESULT 9 | S 10 | STRU 11 | T 12 | D 13 | N 14 | SUBMATCH_RESULT_TABh 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/adbc/cl_sql_statement.clas.testclasses.abap: -------------------------------------------------------------------------------- 1 | CLASS ltcl_sql_statement DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT FINAL. 2 | PUBLIC SECTION. 3 | METHODS bad_syntax_throws FOR TESTING RAISING cx_static_check. 4 | ENDCLASS. 5 | 6 | CLASS ltcl_sql_statement IMPLEMENTATION. 7 | METHOD bad_syntax_throws. 8 | DATA lo_sql TYPE REF TO cl_sql_statement. 9 | 10 | CREATE OBJECT lo_sql. 11 | TRY. 12 | lo_sql->execute_update( |hello world| ). 13 | cl_abap_unit_assert=>fail( ). 14 | CATCH cx_sql_exception. 15 | ENDTRY. 16 | ENDMETHOD. 17 | ENDCLASS. -------------------------------------------------------------------------------- /src/adbc/cx_sql_exception.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sql_exception DEFINITION PUBLIC INHERITING FROM cx_static_check. 2 | PUBLIC SECTION. 3 | DATA sql_message TYPE string. 4 | 5 | METHODS constructor 6 | IMPORTING 7 | textid LIKE textid OPTIONAL 8 | sql_message TYPE string OPTIONAL 9 | previous TYPE REF TO cx_root OPTIONAL. 10 | ENDCLASS. 11 | 12 | CLASS cx_sql_exception IMPLEMENTATION. 13 | METHOD constructor. 14 | super->constructor( 15 | textid = textid 16 | previous = previous ). 17 | 18 | me->sql_message = sql_message. 19 | ENDMETHOD. 20 | 21 | ENDCLASS. -------------------------------------------------------------------------------- /src/bcs/cl_cam_address_bcs.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cl_cam_address_bcs DEFINITION PUBLIC. 2 | PUBLIC SECTION. 3 | INTERFACES if_recipient_bcs. 4 | INTERFACES if_sender_bcs. 5 | 6 | CLASS-METHODS create_internet_address 7 | IMPORTING 8 | i_address_string TYPE clike 9 | i_address_name TYPE clike OPTIONAL 10 | i_incl_sapuser TYPE abap_bool OPTIONAL 11 | RETURNING 12 | VALUE(result) TYPE REF TO cl_cam_address_bcs 13 | RAISING 14 | cx_bcs. 15 | 16 | ENDCLASS. 17 | 18 | CLASS cl_cam_address_bcs IMPLEMENTATION. 19 | 20 | METHOD create_internet_address. 21 | ASSERT 1 = 'todo'. 22 | ENDMETHOD. 23 | 24 | ENDCLASS. -------------------------------------------------------------------------------- /src/bcs/cx_bcs.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_bcs DEFINITION PUBLIC INHERITING FROM cx_static_check. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_bcs IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/bcs/if_document_bcs.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_document_bcs PUBLIC. 2 | 3 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/bcs/if_recipient_bcs.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_recipient_bcs PUBLIC. 2 | 3 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/bcs/if_sender_bcs.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_sender_bcs PUBLIC. 2 | 3 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/bcs/so_raw255.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | SO_RAW255 7 | E 8 | 55 9 | 10 10 | 20 11 | 40 12 | SO_RAW255 13 | SO_RAW255 14 | SO_RAW255 15 | SO_RAW255 16 | SO_RAW255 17 | E 18 | RAW 19 | 000255 20 | 000510 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/bcs/so_text255.doma.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | SO_TEXT255 7 | E 8 | CHAR 9 | 000255 10 | 000255 11 | X 12 | SO_TEXT255 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/bcs/so_text255.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | SO_TEXT255 7 | E 8 | SO_TEXT255 9 | 55 10 | 10 11 | 20 12 | 40 13 | SO_TEXT255 14 | SO_TEXT255 15 | SO_TEXT255 16 | SO_TEXT255 17 | SO_TEXT255 18 | E 19 | D 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/bcs/soli.tabl.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | SOLI 7 | E 8 | INTTAB 9 | SOLI 10 | 1 11 | 12 | 13 | 14 | LINE 15 | SO_TEXT255 16 | 0 17 | E 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/bcs/soli_tab.ttyp.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | SOLI_TAB 7 | E 8 | SOLI 9 | S 10 | STRU 11 | T 12 | D 13 | N 14 | SOLI_TAB 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/bcs/solix.tabl.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | SOLIX 7 | E 8 | INTTAB 9 | SOLIX 10 | 1 11 | 12 | 13 | 14 | LINE 15 | SO_RAW255 16 | 0 17 | E 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/bcs/solix_tab.ttyp.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | SOLIX_TAB 7 | E 8 | SOLIX 9 | S 10 | STRU 11 | T 12 | D 13 | N 14 | SOLIX_TAB 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/classrun/if_oo_adt_classrun.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_oo_adt_classrun PUBLIC. 2 | METHODS main IMPORTING out TYPE REF TO if_oo_adt_classrun_out. 3 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/classrun/if_oo_adt_classrun_out.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_oo_adt_classrun_out PUBLIC. 2 | 3 | METHODS write 4 | IMPORTING 5 | data TYPE any 6 | name TYPE string OPTIONAL 7 | RETURNING 8 | VALUE(output) TYPE REF TO if_oo_adt_classrun_out. 9 | 10 | METHODS get 11 | IMPORTING 12 | data TYPE any OPTIONAL 13 | name TYPE string OPTIONAL PREFERRED PARAMETER data 14 | RETURNING 15 | VALUE(output) TYPE string. 16 | 17 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/conv/cl_abap_conv_codepage.clas.testclasses.abap: -------------------------------------------------------------------------------- 1 | CLASS ltcl_conv_in DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT FINAL. 2 | 3 | PRIVATE SECTION. 4 | METHODS convert FOR TESTING RAISING cx_static_check. 5 | 6 | ENDCLASS. 7 | 8 | CLASS ltcl_conv_in IMPLEMENTATION. 9 | 10 | METHOD convert. 11 | 12 | DATA lv_xstr TYPE xstring. 13 | DATA instance TYPE REF TO if_abap_conv_in. 14 | DATA char TYPE c LENGTH 2. 15 | 16 | lv_xstr = '0041'. 17 | 18 | instance = cl_abap_conv_codepage=>create_in( codepage = 'UTF-16' ). 19 | 20 | CONCATENATE lv_xstr+1(1) lv_xstr(1) INTO lv_xstr IN BYTE MODE. 21 | 22 | char = instance->convert( source = lv_xstr ). 23 | 24 | cl_abap_unit_assert=>assert_equals( 25 | act = char 26 | exp = 'A ' ). 27 | 28 | ENDMETHOD. 29 | 30 | ENDCLASS. -------------------------------------------------------------------------------- /src/conv/cx_gdt_conversion.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_gdt_conversion DEFINITION PUBLIC INHERITING FROM cx_dynamic_check. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_gdt_conversion IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/conv/if_abap_conv_in.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_abap_conv_in PUBLIC. 2 | 3 | METHODS convert 4 | IMPORTING 5 | source TYPE xstring 6 | RETURNING 7 | VALUE(result) TYPE string 8 | RAISING 9 | cx_sy_conversion_codepage. 10 | 11 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/conv/if_abap_conv_out.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_abap_conv_out PUBLIC. 2 | 3 | METHODS convert 4 | IMPORTING 5 | source TYPE string 6 | RETURNING 7 | VALUE(result) TYPE xstring 8 | RAISING 9 | cx_sy_conversion_codepage. 10 | 11 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/date_time/cx_abap_datfm.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_abap_datfm DEFINITION PUBLIC INHERITING FROM cx_static_check. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_abap_datfm IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/date_time/cx_abap_timefm_invalid.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_abap_timefm_invalid DEFINITION PUBLIC INHERITING FROM cx_static_check. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_abap_timefm_invalid IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/ddic/bapi/bapi_fld.dtel.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | BAPI_FLD 7 | E 8 | CHAR 9 | 55 10 | 10 11 | 15 12 | 20 13 | BAPI_FLD 14 | BAPI_FLD 15 | BAPI_FLD 16 | BAPI_FLD 17 | BAPI_FLD 18 | E 19 | 000030 20 | 000000 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/ddic/bapi/bapi_line.dtel.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | BAPI_LINE 7 | E 8 | INT4 9 | 55 10 | 10 11 | 15 12 | 20 13 | BAPI_LINE 14 | BAPI_LINE 15 | BAPI_LINE 16 | BAPI_LINE 17 | BAPI_LINE 18 | E 19 | 000010 20 | 000000 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/ddic/bapi/bapi_msg.dtel.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | BAPI_MSG 7 | E 8 | CHAR 9 | 55 10 | 10 11 | 15 12 | 20 13 | 14 | 15 | BAPI_MSG 16 | BAPI_MSG 17 | BAPI_MSG 18 | E 19 | 000220 20 | 000000 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/ddic/bapi/bapi_mtype.dtel.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | BAPI_MTYPE 7 | E 8 | CHAR 9 | 55 10 | 10 11 | 15 12 | 20 13 | BAPI_MTYPE 14 | BAPI_MTYPE 15 | BAPI_MTYPE 16 | BAPI_MTYPE 17 | BAPI_MTYPE 18 | E 19 | 000001 20 | 000000 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/ddic/bapi/bapi_param.dtel.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | BAPI_PARAM 7 | E 8 | CHAR 9 | 55 10 | 10 11 | 15 12 | 21 13 | BAPI_PARAM 14 | BAPI_PARAM 15 | BAPI_PARAM 16 | BAPI_PARAM 17 | BAPI_PARAM 18 | E 19 | 000032 20 | 000000 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/ddic/bapi/bapilogsys.dtel.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | BAPILOGSYS 7 | E 8 | CHAR 9 | 55 10 | 09 11 | 16 12 | 38 13 | BAPILOGSYS 14 | BAPILOGSYS 15 | BAPILOGSYS 16 | BAPILOGSYS 17 | BAPILOGSYS 18 | E 19 | 000010 20 | 000000 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/ddic/bapi/bapirettab.ttyp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | BAPIRETTAB 7 | E 8 | BAPIRET2 9 | S 10 | STRU 11 | T 12 | D 13 | N 14 | BAPIRETTAB 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/ddic/doma/char1.doma.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | CHAR1 7 | E 8 | CHAR 9 | 000001 10 | 000001 11 | CHAR1 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/ddic/doma/char10.doma.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | CHAR10 7 | E 8 | CHAR 9 | 000010 10 | 000010 11 | CHAR10 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/ddic/doma/char120.doma.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | CHAR120 7 | E 8 | CHAR 9 | 000120 10 | 000120 11 | CHAR120 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/ddic/doma/char15.doma.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | CHAR15 7 | E 8 | CHAR 9 | 000015 10 | 000015 11 | CHAR15 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/ddic/doma/char2.doma.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | CHAR2 7 | E 8 | CHAR 9 | 000002 10 | 000002 11 | CHAR2 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/ddic/doma/char20.doma.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | CHAR20 7 | E 8 | CHAR 9 | 000020 10 | 000020 11 | CHAR20 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/ddic/doma/char25.doma.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | CHAR25 7 | E 8 | CHAR 9 | 000025 10 | 000025 11 | char25 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/ddic/doma/char255.doma.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | CHAR255 7 | E 8 | CHAR 9 | 000255 10 | 000255 11 | CHAR255 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/ddic/doma/char30.doma.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | CHAR30 7 | E 8 | CHAR 9 | 000030 10 | 000030 11 | CHAR30 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/ddic/doma/char32.doma.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | CHAR32 7 | E 8 | CHAR 9 | 000032 10 | 000032 11 | CHAR32 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/ddic/doma/char4.doma.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | CHAR4 7 | E 8 | CHAR 9 | 000004 10 | 000004 11 | CHAR4 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/ddic/doma/char40.doma.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | CHAR40 7 | E 8 | CHAR 9 | 000040 10 | 000040 11 | CHAR40 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/ddic/doma/char5.doma.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | CHAR5 7 | E 8 | CHAR 9 | 000005 10 | 000005 11 | CHAR5 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/ddic/doma/char6.doma.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | CHAR6 7 | E 8 | CHAR 9 | 000006 10 | 000006 11 | CHAR6 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/ddic/doma/char61.doma.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | CHAR61 7 | E 8 | CHAR 9 | 000061 10 | 000061 11 | CHAR61 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/ddic/doma/char70.doma.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | CHAR70 7 | E 8 | CHAR 9 | 000070 10 | 000070 11 | CHAR70 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/ddic/doma/char8.doma.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | CHAR8 7 | E 8 | CHAR 9 | 000008 10 | 000008 11 | CHAR8 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/ddic/doma/char80.doma.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | CHAR80 7 | E 8 | CHAR 9 | 000080 10 | 000080 11 | CHAR80 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/ddic/doma/dats.doma.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | DATS 7 | E 8 | DATS 9 | 000008 10 | 000010 11 | DATS 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/ddic/doma/ddoption.doma.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | DDOPTION 7 | E 8 | CHAR 9 | 000002 10 | 000002 11 | DDOPTION 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/ddic/doma/ddsign.doma.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | DDSIGN 7 | E 8 | CHAR 9 | 000001 10 | 000001 11 | DDSIGN 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/ddic/doma/meins.doma.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | MEINS 7 | E 8 | UNIT 9 | 000003 10 | 000003 11 | UOM 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/ddic/doma/text1.doma.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | TEXT1 7 | E 8 | CHAR 9 | 000001 10 | 000001 11 | TEXT1 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/ddic/doma/text10.doma.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | TEXT10 7 | E 8 | CHAR 9 | 000010 10 | 000010 11 | TEXT10 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/ddic/doma/text100.doma.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | TEXT100 7 | E 8 | CHAR 9 | 000100 10 | 000100 11 | TEXT100 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/ddic/doma/text20.doma.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | TEXT20 7 | E 8 | CHAR 9 | 000020 10 | 000020 11 | TEXT20 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/ddic/doma/text255.doma.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | TEXT255 7 | E 8 | CHAR 9 | 000255 10 | 000255 11 | TEXT255 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/ddic/doma/text30.doma.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | TEXT30 7 | E 8 | CHAR 9 | 000030 10 | 000030 11 | TEXT30 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/ddic/doma/text40.doma.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | TEXT40 7 | E 8 | CHAR 9 | 000040 10 | 000040 11 | TEXT40 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/ddic/doma/text50.doma.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | TEXT50 7 | E 8 | CHAR 9 | 000050 10 | 000050 11 | TEXT50 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/ddic/doma/text60.doma.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | TEXT60 7 | E 8 | CHAR 9 | 000060 10 | 000060 11 | TEXT60 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/ddic/doma/text64.doma.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | TEXT64 7 | E 8 | CHAR 9 | 000064 10 | 000064 11 | TEXT64 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/ddic/doma/text80.doma.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | TEXT80 7 | E 8 | CHAR 9 | 000080 10 | 000080 11 | TEXT80 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/ddic/doma/tzntstmps.doma.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | TZNTSTMPS 7 | E 8 | DEC 9 | 000015 10 | 000019 11 | TZNTSTMPS 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/ddic/doma/waers.doma.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | WAERS 7 | E 8 | CUKY 9 | 000005 10 | 000005 11 | Currency 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/ddic/doma/xsddatetime_z.doma.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | XSDDATETIME_Z 7 | E 8 | DEC 9 | 000015 10 | 000019 11 | XSDDATETIME_Z 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/ddic/doma/xsdtime_t.doma.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | XSDTIME_T 7 | E 8 | TIMS 9 | 000006 10 | 000008 11 | XSDTIME_T 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/ddic/dtel/abap_boolean.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ABAP_BOOLEAN 7 | E 8 | ABAP_BOOLEAN 9 | 55 10 | 10 11 | 20 12 | 40 13 | ABAP_BOOLEAN 14 | ABAP_BOOLEAN 15 | ABAP_BOOLE 16 | ABAP_BOOLEAN 17 | ABAP_BOOLEAN 18 | E 19 | D 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/ddic/dtel/balmnr.dtel.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | BALMNR 7 | E 8 | NUMC 9 | 55 10 | 10 11 | 15 12 | 20 13 | BALMNR 14 | BALMNR 15 | BALMNR 16 | BALMNR 17 | BALMNR 18 | E 19 | 000006 20 | 000000 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/ddic/dtel/balognr.dtel.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | BALOGNR 7 | E 8 | CHAR 9 | 55 10 | 10 11 | 15 12 | 20 13 | BALOGNR 14 | BALOGNR 15 | BALOGNR 16 | BALOGNR 17 | BALOGNR 18 | E 19 | 000020 20 | 000000 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/ddic/dtel/bapisign.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | BAPISIGN 7 | E 8 | 55 9 | 10 10 | 20 11 | 40 12 | BAPISIGN 13 | BAPISIGN 14 | BAPISIGN 15 | BAPISIGN 16 | BAPISIGN 17 | E 18 | CHAR 19 | 000001 20 | 000001 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/ddic/dtel/boole_d.dtel.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | BOOLE_D 7 | E 8 | CHAR 9 | 55 10 | 10 11 | 15 12 | 20 13 | 14 | 15 | TRUE 16 | TRUE 17 | TRUE 18 | E 19 | 000001 20 | 000000 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/ddic/dtel/boolean.dtel.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | BOOLEAN 7 | E 8 | CHAR 9 | 55 10 | 00 11 | 00 12 | 00 13 | 14 | 15 | 16 | 17 | 18 | E 19 | 000001 20 | 000000 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/ddic/dtel/char1.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | CHAR1 7 | E 8 | 55 9 | 10 10 | 20 11 | 40 12 | CHAR1 13 | CHAR1 14 | CHAR1 15 | CHAR1 16 | CHAR1 17 | E 18 | CHAR 19 | 000001 20 | 000001 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/ddic/dtel/char120.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | CHAR120 7 | E 8 | CHAR120 9 | 15 10 | 10 11 | 20 12 | 40 13 | CHAR120 14 | CHAR120 15 | CHAR120 16 | CHAR120 17 | CHAR120 18 | E 19 | D 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/ddic/dtel/char15.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | CHAR15 7 | E 8 | CHAR15 9 | 15 10 | 10 11 | 20 12 | 40 13 | CHAR15 14 | CHAR15 15 | CHAR15 16 | CHAR15 17 | CHAR15 18 | E 19 | D 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/ddic/dtel/char2.dtel.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | CHAR2 7 | E 8 | CHAR2 9 | CHAR 10 | 55 11 | 00 12 | 00 13 | 00 14 | 15 | 16 | 17 | 18 | 19 | E 20 | 000002 21 | 000000 22 | D 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /src/ddic/dtel/char20.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | CHAR20 7 | E 8 | CHAR20 9 | 15 10 | 10 11 | 20 12 | 40 13 | CHAR20 14 | CHAR20 15 | CHAR20 16 | CHAR20 17 | CHAR20 18 | E 19 | D 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/ddic/dtel/char25.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | CHAR25 7 | E 8 | CHAR25 9 | 25 10 | 10 11 | 20 12 | 40 13 | CHAR25 14 | CHAR25 15 | CHAR25 16 | CHAR25 17 | CHAR25 18 | E 19 | D 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/ddic/dtel/char3.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | CHAR3 7 | E 8 | 55 9 | 10 10 | 20 11 | 40 12 | CHAR3 13 | CHAR3 14 | CHAR3 15 | CHAR3 16 | CHAR3 17 | E 18 | CHAR 19 | 000003 20 | 000003 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/ddic/dtel/char4.dtel.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | CHAR4 7 | E 8 | CHAR4 9 | CHAR 10 | 55 11 | 00 12 | 00 13 | 00 14 | 15 | 16 | 17 | 18 | 19 | E 20 | 000004 21 | 000000 22 | D 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /src/ddic/dtel/devclass.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | DEVCLASS 7 | E 8 | 55 9 | 10 10 | 20 11 | 40 12 | DEVCLASS 13 | DEVCLASS 14 | DEVCLASS 15 | DEVCLASS 16 | DEVCLASS 17 | E 18 | CHAR 19 | 000030 20 | 000030 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/ddic/dtel/doku_obj.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | DOKU_OBJ 7 | E 8 | 55 9 | 10 10 | 20 11 | 40 12 | DOKU_OBJ 13 | DOKU_OBJ 14 | DOKU_OBJ 15 | DOKU_OBJ 16 | DOKU_OBJ 17 | E 18 | CHAR 19 | 000060 20 | 000060 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/ddic/dtel/dynprofld.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | DYNPROFLD 7 | E 8 | ABAP_BOOLEAN 9 | 55 10 | 10 11 | 20 12 | 40 13 | DYNPROFLD 14 | DYNPROFLD 15 | DYNPROFLD 16 | DYNPROFLD 17 | DYNPROFLD 18 | E 19 | D 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/ddic/dtel/flag.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | FLAG 7 | E 8 | 55 9 | 10 10 | 20 11 | 40 12 | FLAG 13 | FLAG 14 | FLAG 15 | FLAG 16 | FLAG 17 | E 18 | CHAR 19 | 000001 20 | 000001 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/ddic/dtel/guid.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | GUID 7 | E 8 | 32 9 | 10 10 | 20 11 | 40 12 | GUID 13 | GUID 14 | GUID 15 | GUID 16 | GUID 17 | E 18 | RAW 19 | 000016 20 | 000032 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/ddic/dtel/icon_d.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ICON_D 7 | E 8 | 55 9 | 10 10 | 20 11 | 40 12 | ICON_D 13 | ICON_D 14 | ICON_D 15 | ICON_D 16 | ICON_D 17 | E 18 | CHAR 19 | 000004 20 | 000004 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/ddic/dtel/int1.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | INT1 7 | E 8 | 55 9 | 10 10 | 20 11 | 40 12 | INT1 13 | INT1 14 | INT1 15 | INT1 16 | INT1 17 | E 18 | INT1 19 | 000003 20 | 000003 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/ddic/dtel/int2.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | INT2 7 | E 8 | 06 9 | 10 10 | 20 11 | 40 12 | INT2 13 | INT2 14 | INT2 15 | INT2 16 | INT2 17 | E 18 | INT2 19 | 000005 20 | 000006 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/ddic/dtel/int4.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | INT4 7 | E 8 | 11 9 | 10 10 | 20 11 | 40 12 | INT4 13 | INT4 14 | INT4 15 | INT4 16 | INT4 17 | E 18 | INT4 19 | 000010 20 | 000011 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/ddic/dtel/laiso.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | LAISO 7 | E 8 | 55 9 | 10 10 | 20 11 | 40 12 | LAISO 13 | LAISO 14 | LAISO 15 | LAISO 16 | LAISO 17 | E 18 | CHAR 19 | 000002 20 | 000002 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/ddic/dtel/land1.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | LAND1 7 | E 8 | 55 9 | 10 10 | 20 11 | 40 12 | LAND1 13 | LAND1 14 | LAND1 15 | LAND1 16 | LAND1 17 | E 18 | CHAR 19 | 000003 20 | 000003 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/ddic/dtel/langu.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | LANGU 7 | E 8 | 55 9 | 10 10 | 20 11 | 40 12 | LANGU 13 | LANGU 14 | LANGU 15 | LANGU 16 | LANGU 17 | E 18 | CHAR 19 | 000001 20 | 000001 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/ddic/dtel/mandt.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | MANDT 7 | E 8 | 55 9 | 10 10 | 20 11 | 40 12 | MANDT 13 | MANDT 14 | MANDT 15 | MANDT 16 | MANDT 17 | E 18 | CLNT 19 | 000003 20 | 000003 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/ddic/dtel/matnr.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | MATNR 7 | E 8 | 40 9 | 10 10 | 20 11 | 40 12 | MATNR 13 | MATNR 14 | MATNR 15 | MATNR 16 | MATNR 17 | E 18 | CHAR 19 | 000040 20 | 000040 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/ddic/dtel/meins.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | MEINS 7 | E 8 | MEINS 9 | 55 10 | 10 11 | 20 12 | 40 13 | UOM 14 | UOM 15 | UOM 16 | UOM 17 | UOM 18 | E 19 | D 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/ddic/dtel/menge_d.dtel.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | MENGE_D 7 | E 8 | QUAN 9 | 55 10 | 10 11 | 15 12 | 20 13 | MENGE_D 14 | MENGE_D 15 | MENGE_D 16 | MENGE_D 17 | MENGE_D 18 | E 19 | 000013 20 | 000003 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/ddic/dtel/msehi.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | MSEHI 7 | E 8 | 55 9 | 10 10 | 20 11 | 40 12 | UOM 13 | UOM 14 | UOM 15 | UOM 16 | UOM 17 | E 18 | UNIT 19 | 000003 20 | 000003 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/ddic/dtel/numc4.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | NUMC4 7 | E 8 | 55 9 | 10 10 | 20 11 | 40 12 | NUMC4 13 | NUMC4 14 | NUMC4 15 | NUMC4 16 | NUMC4 17 | E 18 | NUMC 19 | 000004 20 | 000004 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/ddic/dtel/rfcdest.dtel.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | RFCDEST 7 | E 8 | CHAR 9 | 55 10 | 05 11 | 11 12 | 15 13 | RFCDEST 14 | RFCDEST 15 | RFCDEST 16 | RFCDEST 17 | RFCDEST 18 | E 19 | 000032 20 | 000000 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/ddic/dtel/spras.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | SPRAS 7 | E 8 | 55 9 | 10 10 | 20 11 | 40 12 | SPRAS 13 | SPRAS 14 | SPRAS 15 | SPRAS 16 | SPRAS 17 | E 18 | CHAR 19 | 000001 20 | 000001 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/ddic/dtel/sydate.dtel.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | SYDATE 7 | E 8 | DATS 9 | 55 10 | 00 11 | 00 12 | 00 13 | 14 | 15 | 16 | 17 | 18 | E 19 | 000008 20 | 000000 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/ddic/dtel/symsgid.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | SYMSGID 7 | E 8 | 20 9 | 10 10 | 20 11 | 40 12 | SYMSGID 13 | SYMSGID 14 | SYMSGID 15 | SYMSGID 16 | SYMSGID 17 | E 18 | CHAR 19 | 000020 20 | 000020 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/ddic/dtel/symsgno.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | SYMSGNO 7 | E 8 | 55 9 | 10 10 | 20 11 | 40 12 | SYMSGNO 13 | SYMSGNO 14 | SYMSGNO 15 | SYMSGNO 16 | SYMSGNO 17 | E 18 | NUMC 19 | 000003 20 | 000003 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/ddic/dtel/symsgty.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | SYMSGTY 7 | E 8 | 55 9 | 10 10 | 20 11 | 40 12 | SYMSGTY 13 | SYMSGTY 14 | SYMSGTY 15 | SYMSGTY 16 | SYMSGTY 17 | E 18 | CHAR 19 | 000001 20 | 000001 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/ddic/dtel/symsgv.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | SYMSGV 7 | E 8 | 50 9 | 10 10 | 20 11 | 40 12 | SYMSGV 13 | SYMSGV 14 | SYMSGV 15 | SYMSGV 16 | SYMSGV 17 | E 18 | CHAR 19 | 000050 20 | 000050 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/ddic/dtel/syrepid.dtel.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | SYREPID 7 | E 8 | CHAR 9 | 55 10 | 10 11 | 20 12 | 20 13 | SYREPID 14 | SYREPID 15 | SYREPID 16 | SYREPID 17 | SYREPID 18 | E 19 | 000040 20 | 000000 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/ddic/dtel/syst_host.dtel.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | SYST_HOST 7 | E 8 | 09 9 | 09 10 | 09 11 | 09 12 | SYST_HOST 13 | SYST_HOST 14 | SYST_HOST 15 | SYST_HOST 16 | SYST_HOST 17 | E 18 | CHAR 19 | 000032 20 | 000032 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/ddic/dtel/sysubrc.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | SYSUBRC 7 | E 8 | 11 9 | 10 10 | 20 11 | 40 12 | SYSUBRC 13 | SYSUBRC 14 | SYSUBRC 15 | SYSUBRC 16 | SYSUBRC 17 | E 18 | INT4 19 | 000010 20 | 000011 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/ddic/dtel/sysuuid_c22.dtel.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | SYSUUID_C22 7 | E 8 | CHAR 9 | 55 10 | 04 11 | 04 12 | 04 13 | UUID 14 | UUID 15 | UUID 16 | UUID 17 | UUID 18 | E 19 | 000022 20 | 000000 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/ddic/dtel/sysuuid_x16.dtel.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | SYSUUID_X16 7 | E 8 | RAW 9 | 55 10 | 04 11 | 04 12 | 04 13 | UUID 14 | UUID 15 | UUID 16 | UUID 17 | UUID 18 | E 19 | 000016 20 | 000000 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/ddic/dtel/syuname.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | SYUNAME 7 | E 8 | 12 9 | 10 10 | 20 11 | 40 12 | SYUNAME 13 | SYUNAME 14 | SYUNAME 15 | SYUNAME 16 | SYUNAME 17 | E 18 | CHAR 19 | 000012 20 | 000012 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/ddic/dtel/tabfdpos.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | TABFDPOS 7 | E 8 | 55 9 | 10 10 | 20 11 | 40 12 | TABFDPOS 13 | TABFDPOS 14 | TABFDPOS 15 | TABFDPOS 16 | TABFDPOS 17 | E 18 | NUMC 19 | 000004 20 | 000004 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/ddic/dtel/tabname.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | TABNAME 7 | E 8 | 30 9 | 10 10 | 20 11 | 40 12 | TABNAME 13 | TABNAME 14 | TABNAME 15 | TABNAME 16 | TABNAME 17 | E 18 | CHAR 19 | 000030 20 | 000030 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/ddic/dtel/tdline.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | TDLINE 7 | E 8 | 55 9 | 10 10 | 20 11 | 40 12 | TDLINE 13 | TDLINE 14 | TDLINE 15 | TDLINE 16 | TDLINE 17 | E 18 | CHAR 19 | 000132 20 | 000132 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/ddic/dtel/text200.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | TEXT200 7 | E 8 | 55 9 | 10 10 | 20 11 | 40 12 | TEXT200 13 | TEXT200 14 | TEXT200 15 | TEXT200 16 | TEXT200 17 | E 18 | CHAR 19 | 000200 20 | 000200 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/ddic/dtel/text80.dtel.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | TEXT80 7 | E 8 | CHAR 9 | 55 10 | 10 11 | 15 12 | 20 13 | Text80 14 | Text80 15 | Text80 16 | Text80 17 | Text80 18 | E 19 | 000080 20 | 000000 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/ddic/dtel/timestamp.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | TIMESTAMP 7 | E 8 | 19 9 | 10 10 | 20 11 | 40 12 | TIMESTAMP 13 | TIMESTAMP 14 | TIMESTAMP 15 | TIMESTAMP 16 | TIMESTAMP 17 | E 18 | DEC 19 | 000015 20 | 000019 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/ddic/dtel/timezone.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | TIMEZONE 7 | E 8 | 55 9 | 10 10 | 20 11 | 40 12 | TIMEZONE 13 | TIMEZONE 14 | TIMEZONE 15 | TIMEZONE 16 | TIMEZONE 17 | E 18 | CHAR 19 | 000006 20 | 000006 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/ddic/dtel/timn.dtel.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | TIMN 7 | E 8 | TIMN 9 | 55 10 | 10 11 | 10 12 | 40 13 | TIMN 14 | TIMN 15 | TIMN 16 | TIMN 17 | TIMN 18 | E 19 | 000006 20 | 000000 21 | T 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/ddic/dtel/trkorr.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | TRKORR 7 | E 8 | 55 9 | 10 10 | 20 11 | 40 12 | TRKORR 13 | TRKORR 14 | TRKORR 15 | TRKORR 16 | TRKORR 17 | E 18 | CHAR 19 | 000020 20 | 000020 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/ddic/dtel/uname.dtel.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | UNAME 7 | E 8 | CHAR 9 | 55 10 | 10 11 | 15 12 | 20 13 | UNAME 14 | UNAME 15 | UNAME 16 | UNAME 17 | UNAME 18 | E 19 | 000012 20 | 000000 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/ddic/dtel/usnam.dtel.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | USNAM 7 | E 8 | CHAR 9 | 55 10 | 10 11 | 15 12 | 20 13 | USNAM 14 | USNAM 15 | USNAM 16 | USNAM 17 | USNAM 18 | E 19 | 000012 20 | 000000 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/ddic/dtel/waers.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | WAERS 7 | E 8 | 55 9 | 10 10 | 20 11 | 40 12 | WAERS 13 | WAERS 14 | WAERS 15 | WAERS 16 | WAERS 17 | E 18 | CUKY 19 | 000005 20 | 000005 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/ddic/dtel/xfeld.dtel.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | XFELD 7 | E 8 | CHAR 9 | 55 10 | 00 11 | 00 12 | 00 13 | 14 | 15 | 16 | 17 | 18 | E 19 | 000001 20 | 000000 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/ddic/dtel/xsdboolean.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | XSDBOOLEAN 7 | E 8 | XSDBOOLEAN 9 | 55 10 | 10 11 | 20 12 | 40 13 | XSDBOOLEAN 14 | XSDBOOLEAN 15 | XSDBOOLEAN 16 | XSDBOOLEAN 17 | XSDBOOLEAN 18 | E 19 | D 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/ddic/dtel/xsddatetime_z.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | XSDDATETIME_Z 7 | E 8 | XSDDATETIME_Z 9 | 13 10 | 09 11 | 13 12 | 13 13 | XSDDATETIME_Z 14 | XSDDATETIME_Z 15 | XSDDATETI 16 | XSDDATETIME_Z 17 | XSDDATETIME_Z 18 | E 19 | D 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/ddic/ttyp/abap_callstack.ttyp.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ABAP_CALLSTACK 7 | E 8 | ABAP_CALLSTACK_LINE 9 | S 10 | STRU 11 | T 12 | D 13 | N 14 | ABAP_CALLSTACK 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/ddic/ttyp/abap_sortorder_tab.ttyp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | ABAP_SORTORDER_TAB 7 | E 8 | ABAP_SORTORDER 9 | S 10 | STRU 11 | T 12 | D 13 | N 14 | ABAP_SORTORDER_TAB 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/ddic/ttyp/string_table.ttyp.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | STRING_TABLE 7 | E 8 | STRG 9 | T 10 | D 11 | N 12 | String Table 13 | 000008 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/ddic/ttyp/stringtab.ttyp.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | STRINGTAB 7 | E 8 | STRG 9 | T 10 | D 11 | N 12 | String Table 13 | 000008 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/ddic/ttyp/tline_tab.ttyp.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | TLINE_TAB 7 | E 8 | TLINE 9 | S 10 | STRU 11 | T 12 | D 13 | N 14 | TLINE_TAB 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/demo/if_demo_output.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_demo_output PUBLIC. 2 | 3 | METHODS write 4 | IMPORTING 5 | data TYPE any. 6 | 7 | METHODS display. 8 | 9 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/exceptions/cx_dynamic_check.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_dynamic_check DEFINITION ABSTRACT PUBLIC INHERITING FROM cx_root. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_dynamic_check IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_no_check.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_no_check DEFINITION PUBLIC INHERITING FROM cx_root. 2 | 3 | PUBLIC SECTION. 4 | METHODS constructor 5 | IMPORTING 6 | textid LIKE textid OPTIONAL 7 | previous TYPE REF TO cx_root OPTIONAL. 8 | 9 | ENDCLASS. 10 | 11 | CLASS cx_no_check IMPLEMENTATION. 12 | 13 | METHOD constructor. 14 | super->constructor( 15 | previous = previous 16 | textid = textid ). 17 | ENDMETHOD. 18 | 19 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_parameter_invalid.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_parameter_invalid DEFINITION PUBLIC INHERITING FROM cx_dynamic_check. 2 | PUBLIC SECTION. 3 | METHODS constructor 4 | IMPORTING 5 | textid LIKE textid OPTIONAL 6 | previous LIKE previous OPTIONAL 7 | parameter TYPE string OPTIONAL. 8 | ENDCLASS. 9 | 10 | CLASS cx_parameter_invalid IMPLEMENTATION. 11 | METHOD constructor. 12 | super->constructor( 13 | textid = textid 14 | previous = previous ). 15 | ENDMETHOD. 16 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_parameter_invalid_range.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_parameter_invalid_range DEFINITION PUBLIC INHERITING FROM cx_parameter_invalid. 2 | PUBLIC SECTION. 3 | METHODS constructor 4 | IMPORTING 5 | textid LIKE textid OPTIONAL 6 | previous LIKE previous OPTIONAL 7 | parameter TYPE string OPTIONAL 8 | value TYPE string OPTIONAL. 9 | ENDCLASS. 10 | 11 | CLASS cx_parameter_invalid_range IMPLEMENTATION. 12 | METHOD constructor. 13 | super->constructor( 14 | textid = textid 15 | previous = previous 16 | parameter = parameter ). 17 | ENDMETHOD. 18 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_parameter_invalid_type.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_parameter_invalid_type DEFINITION PUBLIC INHERITING FROM cx_parameter_invalid. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_parameter_invalid_type IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_st_error.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_st_error DEFINITION PUBLIC INHERITING FROM cx_transformation_error. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_st_error IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_static_check.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_static_check DEFINITION PUBLIC INHERITING FROM cx_root. 2 | 3 | PUBLIC SECTION. 4 | METHODS constructor 5 | IMPORTING 6 | textid LIKE textid OPTIONAL 7 | previous TYPE REF TO cx_root OPTIONAL. 8 | ENDCLASS. 9 | 10 | CLASS cx_static_check IMPLEMENTATION. 11 | 12 | METHOD constructor. 13 | super->constructor( 14 | textid = textid 15 | previous = previous ). 16 | ENDMETHOD. 17 | 18 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_arithmetic_error.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_arithmetic_error DEFINITION PUBLIC INHERITING FROM cx_dynamic_check. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_sy_arithmetic_error IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_arithmetic_overflow.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_arithmetic_overflow DEFINITION PUBLIC INHERITING FROM cx_sy_arithmetic_error. 2 | 3 | PUBLIC SECTION. 4 | METHODS if_message~get_text REDEFINITION. 5 | 6 | ENDCLASS. 7 | 8 | CLASS cx_sy_arithmetic_overflow IMPLEMENTATION. 9 | 10 | METHOD if_message~get_text. 11 | result = 'Arithmetic overflow'. 12 | ENDMETHOD. 13 | 14 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_buffer_overflow.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_buffer_overflow DEFINITION PUBLIC INHERITING FROM cx_dynamic_check. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_sy_buffer_overflow IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_codepage_converter_init.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_codepage_converter_init DEFINITION PUBLIC INHERITING FROM cx_dynamic_check. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_sy_codepage_converter_init IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_compression_error.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_compression_error DEFINITION PUBLIC INHERITING FROM cx_dynamic_check. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_sy_compression_error IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_conversion_codepage.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_conversion_codepage DEFINITION PUBLIC INHERITING FROM cx_dynamic_check. 2 | PUBLIC SECTION. 3 | DATA source_extract TYPE xstring. 4 | ENDCLASS. 5 | 6 | CLASS cx_sy_conversion_codepage IMPLEMENTATION. 7 | 8 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_conversion_data_loss.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_conversion_data_loss DEFINITION PUBLIC INHERITING FROM cx_sy_conversion_error. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_sy_conversion_data_loss IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_conversion_error.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_conversion_error DEFINITION PUBLIC INHERITING FROM cx_dynamic_check. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_sy_conversion_error IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_conversion_no_date_time.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_conversion_no_date_time DEFINITION PUBLIC INHERITING FROM cx_sy_conversion_error. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_sy_conversion_no_date_time IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_conversion_no_number.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_conversion_no_number DEFINITION PUBLIC INHERITING FROM cx_sy_conversion_error. 2 | 3 | PUBLIC SECTION. 4 | METHODS if_message~get_text REDEFINITION. 5 | 6 | ENDCLASS. 7 | 8 | CLASS cx_sy_conversion_no_number IMPLEMENTATION. 9 | 10 | METHOD if_message~get_text. 11 | result = 'Conversion no number'. 12 | ENDMETHOD. 13 | 14 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_conversion_overflow.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_conversion_overflow DEFINITION PUBLIC INHERITING FROM cx_sy_conversion_error. 2 | PUBLIC SECTION. 3 | METHODS constructor 4 | IMPORTING 5 | textid LIKE textid OPTIONAL 6 | previous LIKE previous OPTIONAL 7 | value TYPE string OPTIONAL. 8 | ENDCLASS. 9 | 10 | CLASS cx_sy_conversion_overflow IMPLEMENTATION. 11 | METHOD constructor. 12 | super->constructor( 13 | textid = textid 14 | previous = previous ). 15 | ENDMETHOD. 16 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_create_data_error.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_create_data_error DEFINITION PUBLIC INHERITING FROM cx_dynamic_check. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_sy_create_data_error IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_create_object_error.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_create_object_error DEFINITION PUBLIC INHERITING FROM cx_dynamic_check. 2 | PUBLIC SECTION. 3 | METHODS constructor 4 | IMPORTING 5 | textid LIKE textid OPTIONAL 6 | previous LIKE previous OPTIONAL 7 | classname TYPE string OPTIONAL. 8 | 9 | METHODS if_message~get_text REDEFINITION. 10 | 11 | DATA classname TYPE string READ-ONLY. 12 | ENDCLASS. 13 | 14 | CLASS cx_sy_create_object_error IMPLEMENTATION. 15 | 16 | METHOD constructor. 17 | super->constructor( 18 | textid = textid 19 | previous = previous ). 20 | me->classname = classname. 21 | ENDMETHOD. 22 | 23 | METHOD if_message~get_text. 24 | result = 'The object could not be created: The class ??? does not exist.'. 25 | ENDMETHOD. 26 | 27 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_create_object_error.clas.testclasses.abap: -------------------------------------------------------------------------------- 1 | CLASS ltcl_test DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT FINAL. 2 | 3 | PRIVATE SECTION. 4 | METHODS get_text FOR TESTING RAISING cx_root. 5 | 6 | ENDCLASS. 7 | 8 | CLASS ltcl_test IMPLEMENTATION. 9 | 10 | METHOD get_text. 11 | 12 | DATA lo_foo TYPE REF TO object. 13 | DATA lx_error TYPE REF TO cx_sy_create_object_error. 14 | 15 | TRY. 16 | CREATE OBJECT lo_foo TYPE ('ASDF'). 17 | cl_abap_unit_assert=>fail( ). 18 | CATCH cx_sy_create_object_error INTO lx_error. 19 | cl_abap_unit_assert=>assert_char_cp( 20 | act = lx_error->get_text( ) 21 | exp = 'The object could not be created*' ). 22 | ENDTRY. 23 | 24 | ENDMETHOD. 25 | 26 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_data_access_error.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_data_access_error DEFINITION PUBLIC INHERITING FROM cx_dynamic_check. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_sy_data_access_error IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_duplicate_key.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_duplicate_key DEFINITION PUBLIC INHERITING FROM cx_dynamic_check. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_sy_duplicate_key IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_dyn_call_error.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_dyn_call_error DEFINITION PUBLIC INHERITING FROM cx_dynamic_check. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_sy_dyn_call_error IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_dyn_call_illegal_class.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_dyn_call_illegal_class DEFINITION PUBLIC INHERITING FROM cx_sy_dyn_call_error. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_sy_dyn_call_illegal_class IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_dyn_call_illegal_form.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_dyn_call_illegal_form DEFINITION PUBLIC INHERITING FROM cx_sy_dyn_call_error. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_sy_dyn_call_illegal_form IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_dyn_call_illegal_func.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_dyn_call_illegal_func DEFINITION PUBLIC INHERITING FROM cx_sy_dyn_call_error. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_sy_dyn_call_illegal_func IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_dyn_call_illegal_method.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_dyn_call_illegal_method DEFINITION PUBLIC INHERITING FROM cx_sy_dyn_call_error. 2 | 3 | PUBLIC SECTION. 4 | CONSTANTS private_method TYPE sotr_conc VALUE '11111111111111111111111111111111'. 5 | 6 | METHODS constructor 7 | IMPORTING 8 | textid LIKE textid OPTIONAL 9 | previous LIKE previous OPTIONAL 10 | classname TYPE string OPTIONAL 11 | methodname TYPE string OPTIONAL. 12 | 13 | ENDCLASS. 14 | 15 | CLASS cx_sy_dyn_call_illegal_method IMPLEMENTATION. 16 | 17 | METHOD constructor. 18 | super->constructor( previous = previous ). 19 | ENDMETHOD. 20 | 21 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_dyn_call_illegal_type.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_dyn_call_illegal_type DEFINITION PUBLIC INHERITING FROM cx_sy_dyn_call_parameter_error. 2 | PUBLIC SECTION. 3 | ENDCLASS. 4 | 5 | CLASS cx_sy_dyn_call_illegal_type IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_dyn_call_param_not_found.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_dyn_call_param_not_found DEFINITION PUBLIC INHERITING FROM cx_sy_dyn_call_parameter_error. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_sy_dyn_call_param_not_found IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_dyn_call_parameter_error.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_dyn_call_parameter_error DEFINITION PUBLIC INHERITING FROM cx_sy_dyn_call_error. 2 | PUBLIC SECTION. 3 | DATA parameter TYPE string. 4 | ENDCLASS. 5 | 6 | CLASS cx_sy_dyn_call_parameter_error IMPLEMENTATION. 7 | 8 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_dynamic_osql_error.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_dynamic_osql_error DEFINITION PUBLIC INHERITING FROM cx_sy_open_sql_error. 2 | PUBLIC SECTION. 3 | METHODS constructor 4 | IMPORTING 5 | sqlmsg TYPE string OPTIONAL. 6 | ENDCLASS. 7 | 8 | CLASS cx_sy_dynamic_osql_error IMPLEMENTATION. 9 | METHOD constructor. 10 | super->constructor( sqlmsg = sqlmsg ). 11 | ENDMETHOD. 12 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_dynamic_osql_semantics.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_dynamic_osql_semantics DEFINITION PUBLIC INHERITING FROM cx_sy_dynamic_osql_error. 2 | PUBLIC SECTION. 3 | METHODS constructor 4 | IMPORTING 5 | sqlmsg TYPE string OPTIONAL. 6 | ENDCLASS. 7 | 8 | CLASS cx_sy_dynamic_osql_semantics IMPLEMENTATION. 9 | METHOD constructor. 10 | super->constructor( sqlmsg = sqlmsg ). 11 | ENDMETHOD. 12 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_find_infinite_loop.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_find_infinite_loop DEFINITION PUBLIC INHERITING FROM cx_dynamic_check. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_sy_find_infinite_loop IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_invalid_regex.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_invalid_regex DEFINITION PUBLIC INHERITING FROM cx_dynamic_check. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_sy_invalid_regex IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_itab_duplicate_key.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_itab_duplicate_key DEFINITION PUBLIC INHERITING FROM cx_sy_itab_error. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_sy_itab_duplicate_key IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_itab_error.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_itab_error DEFINITION PUBLIC INHERITING FROM cx_dynamic_check. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_sy_itab_error IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_itab_line_not_found.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_itab_line_not_found DEFINITION PUBLIC INHERITING FROM cx_dynamic_check. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_sy_itab_line_not_found IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_message_illegal_text.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_message_illegal_text DEFINITION PUBLIC INHERITING FROM cx_dynamic_check. 2 | PUBLIC SECTION. 3 | ENDCLASS. 4 | 5 | CLASS cx_sy_message_illegal_text IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_move_cast_error.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_move_cast_error DEFINITION PUBLIC INHERITING FROM cx_dynamic_check. 2 | 3 | PUBLIC SECTION. 4 | METHODS if_message~get_text REDEFINITION. 5 | 6 | ENDCLASS. 7 | 8 | CLASS cx_sy_move_cast_error IMPLEMENTATION. 9 | 10 | METHOD if_message~get_text. 11 | result = 'Casting failed, types not compatible'. 12 | ENDMETHOD. 13 | 14 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_open_sql_error.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_open_sql_error DEFINITION PUBLIC INHERITING FROM cx_sy_sql_error. 2 | PUBLIC SECTION. 3 | METHODS constructor 4 | IMPORTING 5 | sqlmsg TYPE string OPTIONAL. 6 | ENDCLASS. 7 | 8 | CLASS cx_sy_open_sql_error IMPLEMENTATION. 9 | METHOD constructor. 10 | super->constructor( sqlmsg = sqlmsg ). 11 | ENDMETHOD. 12 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_range_out_of_bounds.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_range_out_of_bounds DEFINITION PUBLIC INHERITING FROM cx_sy_data_access_error. 2 | 3 | PUBLIC SECTION. 4 | METHODS if_message~get_text REDEFINITION. 5 | 6 | ENDCLASS. 7 | 8 | CLASS cx_sy_range_out_of_bounds IMPLEMENTATION. 9 | 10 | METHOD if_message~get_text. 11 | result = 'Range out of bounds'. 12 | ENDMETHOD. 13 | 14 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_ref_is_initial.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_ref_is_initial DEFINITION PUBLIC INHERITING FROM cx_dynamic_check. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_sy_ref_is_initial IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_regex.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_regex DEFINITION PUBLIC INHERITING FROM cx_dynamic_check. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_sy_regex IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_regex_too_complex.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_regex_too_complex DEFINITION PUBLIC INHERITING FROM cx_dynamic_check. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_sy_regex_too_complex IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_sql_error.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_sql_error DEFINITION PUBLIC INHERITING FROM cx_dynamic_check. 2 | PUBLIC SECTION. 3 | DATA sqlmsg TYPE string. 4 | 5 | METHODS constructor 6 | IMPORTING 7 | sqlmsg TYPE string OPTIONAL. 8 | ENDCLASS. 9 | 10 | CLASS cx_sy_sql_error IMPLEMENTATION. 11 | METHOD constructor. 12 | super->constructor( ). 13 | me->sqlmsg = sqlmsg. 14 | ENDMETHOD. 15 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_strg_par_val.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_strg_par_val DEFINITION PUBLIC INHERITING FROM cx_dynamic_check. 2 | PUBLIC SECTION. 3 | ENDCLASS. 4 | 5 | CLASS cx_sy_strg_par_val IMPLEMENTATION. 6 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_struct_attributes.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_struct_attributes DEFINITION PUBLIC INHERITING FROM cx_sy_struct_creation. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_sy_struct_attributes IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_struct_comp_name.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_struct_comp_name DEFINITION PUBLIC INHERITING FROM cx_sy_struct_creation. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_sy_struct_comp_name IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_struct_comp_type.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_struct_comp_type DEFINITION PUBLIC INHERITING FROM cx_sy_struct_creation. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_sy_struct_comp_type IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_struct_creation.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_struct_creation DEFINITION PUBLIC INHERITING FROM cx_sy_type_creation. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_sy_struct_creation IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_table_creation.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_table_creation DEFINITION PUBLIC INHERITING FROM cx_sy_type_creation. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_sy_table_creation IMPLEMENTATION. 6 | 7 | ENDCLASS. 8 | -------------------------------------------------------------------------------- /src/exceptions/cx_sy_type_creation.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_type_creation DEFINITION PUBLIC INHERITING FROM cx_dynamic_check. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_sy_type_creation IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_sy_zerodivide.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sy_zerodivide DEFINITION PUBLIC INHERITING FROM cx_sy_arithmetic_error. 2 | PUBLIC SECTION. 3 | METHODS if_message~get_text REDEFINITION. 4 | ENDCLASS. 5 | 6 | CLASS cx_sy_zerodivide IMPLEMENTATION. 7 | 8 | METHOD if_message~get_text. 9 | result = 'Division by zero.'. 10 | ENDMETHOD. 11 | 12 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_transformation_error.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_transformation_error DEFINITION PUBLIC INHERITING FROM cx_dynamic_check. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_transformation_error IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_xslt_exception.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_xslt_exception DEFINITION PUBLIC INHERITING FROM cx_transformation_error. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_xslt_exception IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_xslt_format_error.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_xslt_format_error DEFINITION PUBLIC INHERITING FROM cx_xslt_system_error. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_xslt_format_error IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_xslt_runtime_error.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_xslt_runtime_error DEFINITION PUBLIC INHERITING FROM cx_transformation_error. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_xslt_runtime_error IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_xslt_serialization_error.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_xslt_serialization_error DEFINITION PUBLIC INHERITING FROM cx_xslt_system_error. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_xslt_serialization_error IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/cx_xslt_system_error.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_xslt_system_error DEFINITION PUBLIC INHERITING FROM cx_xslt_exception. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_xslt_system_error IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/exceptions/if_message.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_message PUBLIC. 2 | 3 | METHODS get_text RETURNING VALUE(result) TYPE string. 4 | 5 | METHODS get_longtext 6 | IMPORTING preserve_newlines TYPE abap_bool OPTIONAL 7 | RETURNING VALUE(result) TYPE string. 8 | 9 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/exceptions/if_t100_dyn_msg.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_t100_dyn_msg PUBLIC. 2 | 3 | INTERFACES if_t100_message. 4 | 5 | DATA msgty TYPE symsgty. 6 | 7 | DATA msgv1 TYPE symsgv. 8 | DATA msgv2 TYPE symsgv. 9 | DATA msgv3 TYPE symsgv. 10 | DATA msgv4 TYPE symsgv. 11 | 12 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/exceptions/if_t100_message.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_t100_message PUBLIC. 2 | 3 | DATA t100key TYPE scx_t100key. 4 | 5 | CONSTANTS: 6 | BEGIN OF default_textid, 7 | msgid TYPE symsgid VALUE 'AB', 8 | msgno TYPE symsgno VALUE '123', 9 | attr1 TYPE scx_attrname VALUE '', 10 | attr2 TYPE scx_attrname VALUE '', 11 | attr3 TYPE scx_attrname VALUE '', 12 | attr4 TYPE scx_attrname VALUE '', 13 | END OF default_textid. 14 | 15 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/exceptions/scx_attrname.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | SCX_ATTRNAME 7 | E 8 | 55 9 | 10 10 | 20 11 | 40 12 | SCX_ATTRNAME 13 | SCX_ATTRNAME 14 | SCX_ATTRNA 15 | SCX_ATTRNAME 16 | SCX_ATTRNAME 17 | E 18 | SSTR 19 | 000255 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/fugr/kernel_fugr_test.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS kernel_fugr_test DEFINITION PUBLIC. 2 | PUBLIC SECTION. 3 | ENDCLASS. 4 | 5 | CLASS kernel_fugr_test IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/fugr/openabap.fugr.call_v1_ping.abap: -------------------------------------------------------------------------------- 1 | FUNCTION call_v1_ping. 2 | 3 | * todo 4 | 5 | ENDFUNCTION. -------------------------------------------------------------------------------- /src/fugr/openabap.fugr.conversion_exit_alpha_output.abap: -------------------------------------------------------------------------------- 1 | FUNCTION conversion_exit_alpha_output. 2 | *"---------------------------------------------------------------------- 3 | *"*"Lokale Schnittstelle: 4 | *" IMPORTING 5 | *" VALUE(INPUT) TYPE CLIKE 6 | *" EXPORTING 7 | *" VALUE(OUTPUT) TYPE CLIKE 8 | *"---------------------------------------------------------------------- 9 | 10 | output = input. 11 | 12 | SHIFT output LEFT DELETING LEADING '0'. 13 | DO strlen( input ) - strlen( output ) TIMES. 14 | output = output && | |. 15 | ENDDO. 16 | 17 | ENDFUNCTION. -------------------------------------------------------------------------------- /src/fugr/openabap.fugr.conversion_exit_isola_input.abap: -------------------------------------------------------------------------------- 1 | FUNCTION conversion_exit_isola_input. 2 | *"---------------------------------------------------------------------- 3 | *"*"Lokale Schnittstelle: 4 | *" IMPORTING 5 | *" VALUE(INPUT) 6 | *" EXPORTING 7 | *" VALUE(OUTPUT) 8 | *" EXCEPTIONS 9 | *" UNKNOWN_LANGUAGE 10 | *"---------------------------------------------------------------------- 11 | 12 | output = cl_i18n_languages=>sap2_to_sap1( 13 | EXPORTING 14 | im_lang_sap2 = input 15 | EXCEPTIONS 16 | no_assignment = 1 ). 17 | IF sy-subrc = 1. 18 | RAISE unknown_language. 19 | ENDIF. 20 | 21 | ENDFUNCTION. -------------------------------------------------------------------------------- /src/fugr/openabap.fugr.conversion_exit_isola_output.abap: -------------------------------------------------------------------------------- 1 | FUNCTION conversion_exit_isola_output. 2 | *"---------------------------------------------------------------------- 3 | *"*"Local Interface: 4 | *" IMPORTING 5 | *" VALUE(INPUT) 6 | *" EXPORTING 7 | *" VALUE(OUTPUT) 8 | *"---------------------------------------------------------------------- 9 | 10 | cl_i18n_languages=>sap1_to_sap2( 11 | EXPORTING 12 | im_lang_sap1 = input 13 | RECEIVING 14 | re_lang_sap2 = output 15 | EXCEPTIONS 16 | no_assignment = 1 17 | OTHERS = 2 ). 18 | 19 | ENDFUNCTION. -------------------------------------------------------------------------------- /src/fugr/openabap.fugr.convert_itf_to_stream_text.abap: -------------------------------------------------------------------------------- 1 | FUNCTION convert_itf_to_stream_text. 2 | *"---------------------------------------------------------------------- 3 | *"*"Local Interface: 4 | *" IMPORTING 5 | *" REFERENCE(LF) 6 | *" EXPORTING 7 | *" REFERENCE(STREAM_LINES) TYPE STRING_TABLE 8 | *" TABLES 9 | *" ITF_TEXT STRUCTURE TLINE 10 | *" TEXT_STREAM OPTIONAL 11 | *"---------------------------------------------------------------------- 12 | 13 | CLEAR stream_lines. 14 | CLEAR text_stream. 15 | 16 | IF lines( itf_text ) = 0. 17 | RETURN. 18 | ENDIF. 19 | 20 | * todo 21 | 22 | ASSERT 'todo' = 1. 23 | 24 | ENDFUNCTION. -------------------------------------------------------------------------------- /src/fugr/openabap.fugr.docu_get.abap: -------------------------------------------------------------------------------- 1 | FUNCTION docu_get. 2 | *"---------------------------------------------------------------------- 3 | *"*"Local Interface: 4 | *" IMPORTING 5 | *" REFERENCE(ID) 6 | *" REFERENCE(LANGU) 7 | *" REFERENCE(OBJECT) 8 | *" REFERENCE(TYP) 9 | *" TABLES 10 | *" LINE STRUCTURE TLINE 11 | *"---------------------------------------------------------------------- 12 | 13 | CLEAR line. 14 | 15 | IF id = 'NA' AND object = '00001'. 16 | * message class 00, number 001 17 | RETURN. 18 | ENDIF. 19 | 20 | * todo 21 | 22 | WRITE '@KERNEL console.dir(INPUT);'. 23 | ASSERT 'todo' = 1. 24 | 25 | ENDFUNCTION. -------------------------------------------------------------------------------- /src/fugr/openabap.fugr.function_exists.abap: -------------------------------------------------------------------------------- 1 | FUNCTION function_exists. 2 | 3 | DATA lv_name TYPE string. 4 | DATA lv_exists TYPE abap_bool. 5 | 6 | lv_name = funcname. 7 | CONDENSE lv_name. 8 | 9 | WRITE '@KERNEL lv_exists.set(abap.FunctionModules[lv_name.get()] === undefined ? " " : "X");'. 10 | 11 | IF lv_exists = abap_false. 12 | RAISE function_not_exist. 13 | ENDIF. 14 | 15 | ENDFUNCTION. -------------------------------------------------------------------------------- /src/fugr/openabap.fugr.generate_sec_random.abap: -------------------------------------------------------------------------------- 1 | FUNCTION generate_sec_random. 2 | 3 | ASSERT length > 0. 4 | 5 | WRITE '@KERNEL const crypto = await import("crypto");'. 6 | WRITE '@KERNEL random.set(crypto.randomBytes(length.get()).toString("hex").toUpperCase());'. 7 | * WRITE '@KERNEL console.dir(random);'. 8 | 9 | ENDFUNCTION. -------------------------------------------------------------------------------- /src/fugr/openabap.fugr.get_system_timezone.abap: -------------------------------------------------------------------------------- 1 | FUNCTION get_system_timezone. 2 | 3 | timezone = 'UTC'. 4 | 5 | ENDFUNCTION. 6 | -------------------------------------------------------------------------------- /src/fugr/openabap.fugr.lopenabaptop.abap: -------------------------------------------------------------------------------- 1 | FUNCTION-POOL openabap. "MESSAGE-ID .. 2 | 3 | * INCLUDE LOPENABAPD... " Local class definition 4 | -------------------------------------------------------------------------------- /src/fugr/openabap.fugr.lopenabaptop.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | LOPENABAPTOP 7 | S 8 | D$ 9 | I 10 | S 11 | X 12 | D$S 13 | X 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/fugr/openabap.fugr.saplzopenabap.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | SAPLOPENABAP 7 | S 8 | D$ 9 | F 10 | S 11 | E 12 | X 13 | D$S 14 | X 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/fugr/openabap.fugr.system_callstack.abap: -------------------------------------------------------------------------------- 1 | FUNCTION system_callstack. 2 | *"---------------------------------------------------------------------- 3 | *"*"Local Interface: 4 | *" EXPORTING 5 | *" REFERENCE(CALLSTACK) TYPE ABAP_CALLSTACK 6 | *"---------------------------------------------------------------------- 7 | 8 | FIELD-SYMBOLS LIKE LINE OF callstack. 9 | 10 | APPEND INITIAL LINE TO callstack ASSIGNING . 11 | -mainprogram = 'ZTODO'. 12 | -include = 'ZTODO'. 13 | -line = '123'. 14 | 15 | ENDFUNCTION. -------------------------------------------------------------------------------- /src/fugr/openabap.fugr.system_installed_languages.abap: -------------------------------------------------------------------------------- 1 | FUNCTION system_installed_languages. 2 | *"---------------------------------------------------------------------- 3 | *"*"Lokale Schnittstelle: 4 | *" EXPORTING 5 | *" LANGUAGES 6 | *" EXCEPTIONS 7 | *" SAPGPARAM_ERROR 8 | *"---------------------------------------------------------------------- 9 | 10 | * only english? 11 | languages = sy-langu. 12 | 13 | * temp workaround, classic exceptions not really handled in transpiler yet 14 | sy-subrc = 0. 15 | 16 | ENDFUNCTION. -------------------------------------------------------------------------------- /src/fugr/openabap.fugr.text_split.abap: -------------------------------------------------------------------------------- 1 | FUNCTION text_split. 2 | *"---------------------------------------------------------------------- 3 | *"*"Local Interface: 4 | *" IMPORTING 5 | *" REFERENCE(LENGTH) 6 | *" REFERENCE(TEXT) 7 | *" EXPORTING 8 | *" VALUE(LINE) 9 | *" VALUE(REST) 10 | *"---------------------------------------------------------------------- 11 | 12 | IF strlen( text ) < 50. 13 | line = text. 14 | rest = ''. 15 | ELSE. 16 | line = text(50). 17 | rest = text+50. 18 | CONDENSE rest. 19 | ENDIF. 20 | 21 | ENDFUNCTION. -------------------------------------------------------------------------------- /src/fugr/openabap.fugr.unit_conversion_simple.abap: -------------------------------------------------------------------------------- 1 | FUNCTION unit_conversion_simple. 2 | 3 | DATA lv_float TYPE f. 4 | 5 | IF unit_in = unit_out. 6 | output = input. 7 | ELSEIF unit_in = 'G' AND unit_out = 'KG'. 8 | output = input / 1000. 9 | ELSEIF unit_in = 'M3' AND unit_out = 'CDM'. 10 | output = input * 1000. 11 | ELSEIF unit_in = 'LB' AND unit_out = 'KG'. 12 | lv_float = '0.45359237'. 13 | output = input * lv_float. 14 | ELSEIF unit_in = 'CCM' AND unit_out = 'CDM'. 15 | output = input / 1000. 16 | ELSEIF unit_in = 'FT3' AND unit_out = 'CDM'. 17 | lv_float = '28.31684660923'. 18 | output = input * lv_float. 19 | ELSE. 20 | ASSERT 1 = 2. 21 | ENDIF. 22 | 23 | ENDFUNCTION. -------------------------------------------------------------------------------- /src/http/cl_http_server.clas.testclasses.abap: -------------------------------------------------------------------------------- 1 | CLASS ltcl_test DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT FINAL. 2 | 3 | PRIVATE SECTION. 4 | METHODS get_location FOR TESTING RAISING cx_static_check. 5 | 6 | ENDCLASS. 7 | 8 | CLASS ltcl_test IMPLEMENTATION. 9 | 10 | METHOD get_location. 11 | 12 | DATA lv_host TYPE string. 13 | 14 | cl_http_server=>get_location( IMPORTING host = lv_host ). 15 | 16 | cl_abap_unit_assert=>assert_not_initial( lv_host ). 17 | 18 | ENDMETHOD. 19 | 20 | ENDCLASS. -------------------------------------------------------------------------------- /src/http/if_http_extension.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_http_extension PUBLIC. 2 | 3 | DATA flow_rc TYPE i. 4 | 5 | CONSTANTS co_flow_ok TYPE i VALUE 0. 6 | CONSTANTS co_flow_ok_others_mand TYPE i VALUE 2. 7 | 8 | METHODS handle_request IMPORTING server TYPE REF TO if_http_server. 9 | 10 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/http/ssfapplssl.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | SSFAPPLSSL 7 | E 8 | 55 9 | 10 10 | 20 11 | 40 12 | SSL ID 13 | SSL ID 14 | SSL ID 15 | SSL ID 16 | SSL ID 17 | E 18 | CHAR 19 | 000006 20 | 000006 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/http/tihttpnvp.ttyp.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | TIHTTPNVP 7 | E 8 | IHTTPNVP 9 | S 10 | STRU 11 | T 12 | D 13 | N 14 | TIHTTPNVP 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/if_amdp_marker_hdb.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_amdp_marker_hdb PUBLIC. 2 | 3 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/if_serializable_object.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_serializable_object PUBLIC. 2 | 3 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/ixml/if_ixml_attribute.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_ixml_attribute PUBLIC. 2 | INTERFACES if_ixml_node. 3 | METHODS get_value RETURNING VALUE(val) TYPE string. 4 | METHODS set_value IMPORTING value TYPE string. 5 | METHODS get_name RETURNING VALUE(val) TYPE string. 6 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/ixml/if_ixml_encoding.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_ixml_encoding PUBLIC. 2 | CONSTANTS co_none TYPE i VALUE 0. 3 | CONSTANTS co_big_endian TYPE i VALUE 1. 4 | CONSTANTS co_platform_endian TYPE i VALUE 4. 5 | 6 | METHODS get_byte_order 7 | RETURNING 8 | VALUE(rval) TYPE i. 9 | 10 | METHODS get_character_set 11 | RETURNING 12 | VALUE(rval) TYPE string. 13 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/ixml/if_ixml_istream.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_ixml_istream PUBLIC. 2 | CONSTANTS dtd_allowed TYPE i VALUE 0. 3 | CONSTANTS dtd_restricted TYPE i VALUE 1. 4 | CONSTANTS dtd_prohibited TYPE i VALUE 2. 5 | 6 | METHODS close. 7 | 8 | METHODS get_dtd_restriction 9 | RETURNING 10 | VALUE(rval) TYPE i. 11 | 12 | METHODS set_dtd_restriction 13 | IMPORTING 14 | level TYPE i DEFAULT dtd_restricted. 15 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/ixml/if_ixml_named_node_map.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_ixml_named_node_map PUBLIC. 2 | METHODS: 3 | create_iterator 4 | RETURNING VALUE(iterator) TYPE REF TO if_ixml_node_iterator, 5 | get_length 6 | RETURNING VALUE(val) TYPE i, 7 | get_named_item_ns 8 | IMPORTING name TYPE string 9 | RETURNING VALUE(val) TYPE REF TO if_ixml_node, 10 | get_named_item 11 | IMPORTING name TYPE string 12 | RETURNING VALUE(val) TYPE REF TO if_ixml_node, 13 | set_named_item_ns 14 | IMPORTING node TYPE REF TO if_ixml_node, 15 | remove_named_item 16 | IMPORTING name TYPE string. 17 | 18 | METHODS get_item 19 | IMPORTING 20 | index TYPE i 21 | RETURNING 22 | VALUE(rval) TYPE REF TO if_ixml_node. 23 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/ixml/if_ixml_node_collection.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_ixml_node_collection PUBLIC. 2 | METHODS create_iterator 3 | RETURNING 4 | VALUE(rval) TYPE REF TO if_ixml_node_iterator. 5 | 6 | METHODS get_length 7 | RETURNING 8 | VALUE(rval) TYPE i. 9 | 10 | METHODS get_item 11 | IMPORTING 12 | index TYPE i 13 | RETURNING 14 | VALUE(rval) TYPE REF TO if_ixml_node. 15 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/ixml/if_ixml_node_filter.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_ixml_node_filter PUBLIC. 2 | 3 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/ixml/if_ixml_node_iterator.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_ixml_node_iterator PUBLIC. 2 | 3 | METHODS reset. 4 | 5 | METHODS get_next 6 | RETURNING 7 | VALUE(rval) TYPE REF TO if_ixml_node. 8 | 9 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/ixml/if_ixml_node_list.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_ixml_node_list PUBLIC. 2 | 3 | METHODS: 4 | get_length 5 | RETURNING 6 | VALUE(length) TYPE i, 7 | create_iterator 8 | RETURNING VALUE(rval) TYPE REF TO if_ixml_node_iterator, 9 | get_item 10 | IMPORTING 11 | index TYPE i 12 | RETURNING 13 | VALUE(val) TYPE REF TO if_ixml_node, 14 | create_rev_iterator_filtered 15 | IMPORTING 16 | filter TYPE any 17 | RETURNING 18 | VALUE(val) TYPE REF TO if_ixml_node_iterator. 19 | 20 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/ixml/if_ixml_ostream.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_ixml_ostream PUBLIC. 2 | METHODS write_string 3 | IMPORTING 4 | string TYPE string 5 | RETURNING 6 | VALUE(rval) TYPE i. 7 | 8 | METHODS get_num_written_raw 9 | RETURNING 10 | VALUE(rval) TYPE i. 11 | 12 | METHODS set_encoding 13 | IMPORTING 14 | encoding TYPE REF TO if_ixml_encoding 15 | RETURNING 16 | VALUE(rval) TYPE boolean. 17 | 18 | METHODS set_pretty_print 19 | IMPORTING 20 | pretty_print TYPE abap_bool DEFAULT abap_true. 21 | 22 | METHODS get_pretty_print 23 | RETURNING 24 | VALUE(rval) TYPE boolean. 25 | 26 | METHODS get_indent 27 | RETURNING 28 | VALUE(rval) TYPE i. 29 | 30 | METHODS set_indent 31 | IMPORTING 32 | indent TYPE i. 33 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/ixml/if_ixml_parse_error.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_ixml_parse_error PUBLIC. 2 | METHODS get_reason 3 | RETURNING 4 | VALUE(reason) TYPE string. 5 | METHODS get_line 6 | RETURNING 7 | VALUE(line) TYPE i. 8 | METHODS get_column 9 | RETURNING 10 | VALUE(column) TYPE i. 11 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/ixml/if_ixml_parser.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_ixml_parser PUBLIC. 2 | CONSTANTS co_no_validation TYPE i VALUE 0. 3 | CONSTANTS co_validate_if_dtd TYPE i VALUE 2. 4 | 5 | METHODS parse 6 | RETURNING 7 | VALUE(subrc) TYPE i. 8 | METHODS set_normalizing 9 | IMPORTING 10 | normal TYPE abap_bool. 11 | METHODS num_errors 12 | RETURNING 13 | VALUE(errors) TYPE i. 14 | METHODS add_strip_space_element. 15 | METHODS get_error 16 | IMPORTING 17 | index TYPE i 18 | RETURNING 19 | VALUE(error) TYPE REF TO if_ixml_parse_error. 20 | METHODS set_validating 21 | IMPORTING 22 | mode TYPE i OPTIONAL 23 | RETURNING 24 | VALUE(rval) TYPE abap_bool. 25 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/ixml/if_ixml_renderer.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_ixml_renderer PUBLIC. 2 | METHODS render RETURNING VALUE(rval) TYPE i. 3 | METHODS set_normalizing IMPORTING normal TYPE abap_bool. 4 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/ixml/if_ixml_unknown.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_ixml_unknown PUBLIC. 2 | METHODS query_interface 3 | IMPORTING 4 | iid TYPE i 5 | RETURNING 6 | VALUE(rval) TYPE REF TO if_ixml_unknown. 7 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/kernel/call_transformation/id.xslt.source.xml: -------------------------------------------------------------------------------- 1 | dummy -------------------------------------------------------------------------------- /src/kernel/call_transformation/id.xslt.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ID 7 | E 8 | Identity 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/kernel/kernel_authority_check.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS kernel_authority_check DEFINITION PUBLIC. 2 | PUBLIC SECTION. 3 | CLASS-METHODS call. 4 | PRIVATE SECTION. 5 | ENDCLASS. 6 | 7 | CLASS kernel_authority_check IMPLEMENTATION. 8 | 9 | METHOD call. 10 | * add custom implementation here if needed 11 | sy-subrc = 0. 12 | ENDMETHOD. 13 | 14 | ENDCLASS. -------------------------------------------------------------------------------- /src/kernel/kernel_lock.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS kernel_lock DEFINITION PUBLIC. 2 | PUBLIC SECTION. 3 | CLASS-METHODS enqueue 4 | IMPORTING 5 | input TYPE any 6 | EXCEPTIONS 7 | foreign_lock 8 | system_failure. 9 | CLASS-METHODS dequeue 10 | IMPORTING 11 | input TYPE any. 12 | PRIVATE SECTION. 13 | ENDCLASS. 14 | 15 | CLASS kernel_lock IMPLEMENTATION. 16 | 17 | METHOD enqueue. 18 | * add custom implementation here if needed 19 | sy-subrc = 0. 20 | ENDMETHOD. 21 | 22 | METHOD dequeue. 23 | * add custom implementation here if needed 24 | sy-subrc = 0. 25 | ENDMETHOD. 26 | 27 | ENDCLASS. -------------------------------------------------------------------------------- /src/kernel/scan/sstmnt_tab.ttyp.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | SSTMNT_TAB 7 | E 8 | SSTMNT 9 | S 10 | STRU 11 | T 12 | D 13 | N 14 | SSTMNT_TAB 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/kernel/scan/sstruc_tab.ttyp.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | SSTRUC_TAB 7 | E 8 | SSTRUC 9 | S 10 | STRU 11 | T 12 | D 13 | N 14 | SSTRUC_TAB 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/kernel/scan/stokes_tab.ttyp.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | STOKES_TAB 7 | E 8 | STOKES 9 | S 10 | STRU 11 | T 12 | D 13 | N 14 | STOKES_TAB 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/memory/cl_abap_memory_utilities.clas.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | CL_ABAP_MEMORY_UTILITIES 7 | E 8 | CL_ABAP_MEMORY_UTILITIES 9 | 1 10 | X 11 | X 12 | X 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/numberrange/kernel_numberrange.clas.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | KERNEL_NUMBERRANGE 7 | E 8 | KERNEL_NUMBERRANGE 9 | 1 10 | X 11 | X 12 | X 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/numberrange/number_get_next.fugr.lnumber_get_nexttop.abap: -------------------------------------------------------------------------------- 1 | FUNCTION-POOL number_get_next. "MESSAGE-ID .. 2 | 3 | * INCLUDE LNUMBER_GET_NEXTD... " Local class definition -------------------------------------------------------------------------------- /src/numberrange/number_get_next.fugr.lnumber_get_nexttop.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | LNUMBER_GET_NEXTTOP 7 | S 8 | D$ 9 | I 10 | S 11 | X 12 | D$S 13 | X 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/numberrange/number_get_next.fugr.saplnumber_get_next.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | SAPLNUMBER_GET_NEXT 7 | S 8 | D$ 9 | F 10 | S 11 | E 12 | X 13 | D$S 14 | X 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/oauth2/cx_oa2c.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_oa2c DEFINITION PUBLIC INHERITING FROM cx_static_check. 2 | PUBLIC SECTION. 3 | ENDCLASS. 4 | 5 | CLASS cx_oa2c IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/oauth2/cx_oa2c_at_not_available.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_oa2c_at_not_available DEFINITION PUBLIC INHERITING FROM cx_oa2c. 2 | PUBLIC SECTION. 3 | ENDCLASS. 4 | 5 | CLASS cx_oa2c_at_not_available IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/oauth2/cx_oa2c_config_not_found.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_oa2c_config_not_found DEFINITION PUBLIC INHERITING FROM cx_oa2c. 2 | PUBLIC SECTION. 3 | ENDCLASS. 4 | 5 | CLASS cx_oa2c_config_not_found IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/oauth2/if_oauth2_client.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_oauth2_client PUBLIC. 2 | 3 | CONSTANTS c_param_kind_header_field TYPE string VALUE 'H'. 4 | CONSTANTS c_param_kind_form_field TYPE string VALUE 'F'. 5 | 6 | METHODS execute_cc_flow 7 | RAISING 8 | cx_oa2c. 9 | 10 | METHODS set_token 11 | IMPORTING 12 | io_http_client TYPE REF TO if_http_client 13 | i_param_kind TYPE string OPTIONAL 14 | RAISING 15 | cx_oa2c. 16 | 17 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/oo/cl_oo_factory.clas.testclasses.abap: -------------------------------------------------------------------------------- 1 | CLASS ltcl_read_source DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT FINAL. 2 | 3 | PRIVATE SECTION. 4 | METHODS test1 FOR TESTING RAISING cx_static_check. 5 | 6 | ENDCLASS. 7 | 8 | CLASS ltcl_read_source IMPLEMENTATION. 9 | 10 | METHOD test1. 11 | DATA ref TYPE REF TO if_oo_clif_source. 12 | DATA lt_source TYPE string_table. 13 | 14 | ref = cl_oo_factory=>create_instance( )->create_clif_source( 'CL_OO_FACTORY' ). 15 | 16 | ref->get_source( IMPORTING source = lt_source ). 17 | cl_abap_unit_assert=>assert_not_initial( lt_source ). 18 | ENDMETHOD. 19 | 20 | ENDCLASS. -------------------------------------------------------------------------------- /src/oo/cx_oo_clif_not_exists.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_oo_clif_not_exists DEFINITION PUBLIC INHERITING FROM cx_dynamic_check. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_oo_clif_not_exists IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/oo/if_oo_clif_source.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_oo_clif_source PUBLIC. 2 | METHODS get_source 3 | EXPORTING 4 | source TYPE string_table. 5 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/rtti/cl_abap_complexdescr.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cl_abap_complexdescr DEFINITION PUBLIC INHERITING FROM cl_abap_datadescr. 2 | PUBLIC SECTION. 3 | ENDCLASS. 4 | 5 | CLASS cl_abap_complexdescr IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/rtti/cl_abap_datadescr.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cl_abap_datadescr DEFINITION PUBLIC INHERITING FROM cl_abap_typedescr. 2 | PUBLIC SECTION. 3 | CLASS-METHODS get_data_type_kind 4 | IMPORTING 5 | p_data TYPE data 6 | RETURNING 7 | VALUE(p_type_kind) TYPE abap_typekind. 8 | 9 | METHODS applies_to_data 10 | IMPORTING 11 | p_data TYPE data 12 | RETURNING 13 | VALUE(p_flag) TYPE abap_bool. 14 | ENDCLASS. 15 | 16 | CLASS cl_abap_datadescr IMPLEMENTATION. 17 | 18 | METHOD get_data_type_kind. 19 | DATA descr TYPE REF TO cl_abap_typedescr. 20 | descr = cl_abap_typedescr=>describe_by_data( p_data ). 21 | p_type_kind = descr->type_kind. 22 | ENDMETHOD. 23 | 24 | METHOD applies_to_data. 25 | ASSERT 1 = 'todo'. 26 | ENDMETHOD. 27 | 28 | ENDCLASS. -------------------------------------------------------------------------------- /src/rtti/cl_abap_datadescr.clas.testclasses.abap: -------------------------------------------------------------------------------- 1 | CLASS ltcl_test DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT FINAL. 2 | 3 | PRIVATE SECTION. 4 | METHODS get_data_type_kind FOR TESTING. 5 | 6 | ENDCLASS. 7 | 8 | CLASS ltcl_test IMPLEMENTATION. 9 | 10 | METHOD get_data_type_kind. 11 | DATA foo TYPE string. 12 | DATA kind TYPE abap_typekind. 13 | kind = cl_abap_datadescr=>get_data_type_kind( foo ). 14 | cl_abap_unit_assert=>assert_equals( 15 | act = kind 16 | exp = cl_abap_typedescr=>typekind_string ). 17 | ENDMETHOD. 18 | 19 | ENDCLASS. -------------------------------------------------------------------------------- /src/rtti/cl_abap_enumdescr.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cl_abap_enumdescr DEFINITION PUBLIC INHERITING FROM cl_abap_elemdescr. 2 | PUBLIC SECTION. 3 | TYPES: BEGIN OF member, 4 | name TYPE c LENGTH 30, 5 | value TYPE string, 6 | END OF member. 7 | TYPES member_table TYPE STANDARD TABLE OF member WITH KEY name. 8 | DATA members TYPE member_table READ-ONLY. 9 | ENDCLASS. 10 | 11 | CLASS cl_abap_enumdescr IMPLEMENTATION. 12 | 13 | ENDCLASS. -------------------------------------------------------------------------------- /src/rtti/cl_abap_intfdescr.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cl_abap_intfdescr DEFINITION PUBLIC INHERITING FROM cl_abap_objectdescr. 2 | PUBLIC SECTION. 3 | 4 | DATA intf_kind TYPE string. 5 | 6 | ENDCLASS. 7 | 8 | CLASS cl_abap_intfdescr IMPLEMENTATION. 9 | 10 | ENDCLASS. 11 | -------------------------------------------------------------------------------- /src/rtti/ddfields.ttyp.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | DDFIELDS 7 | E 8 | DFIES 9 | S 10 | STRU 11 | T 12 | D 13 | N 14 | DDFIELDS 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/shma/ddic/shm_inst_infos.ttyp.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | SHM_INST_INFOS 7 | E 8 | SHM_INST_INFO 9 | S 10 | STRU 11 | T 12 | D 13 | N 14 | SHM_INST_INFOS 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/shma/ddic/shm_rc.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | SHM_RC 7 | E 8 | 11 9 | 10 10 | 20 11 | 40 12 | SHM_RC 13 | SHM_RC 14 | SHM_RC 15 | SHM_RC 16 | SHM_RC 17 | E 18 | INT4 19 | 000010 20 | 000011 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/shma/exceptions/cx_shm_already_detached.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_shm_already_detached DEFINITION PUBLIC INHERITING FROM cx_shm_general_error. 2 | PUBLIC SECTION. 3 | METHODS constructor 4 | IMPORTING 5 | textid LIKE textid OPTIONAL 6 | previous LIKE previous OPTIONAL 7 | area_name TYPE string OPTIONAL 8 | inst_name TYPE string OPTIONAL 9 | client TYPE string OPTIONAL. 10 | ENDCLASS. 11 | 12 | CLASS cx_shm_already_detached IMPLEMENTATION. 13 | 14 | METHOD constructor. 15 | RETURN. 16 | ENDMETHOD. 17 | 18 | ENDCLASS. -------------------------------------------------------------------------------- /src/shma/exceptions/cx_shm_attach_error.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_shm_attach_error DEFINITION PUBLIC INHERITING FROM cx_shm_error. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_shm_attach_error IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/shma/exceptions/cx_shm_build_failed.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_shm_build_failed DEFINITION PUBLIC INHERITING FROM cx_shm_general_error. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_shm_build_failed IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/shma/exceptions/cx_shm_change_lock_active.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_shm_change_lock_active DEFINITION PUBLIC INHERITING FROM cx_shm_attach_error. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_shm_change_lock_active IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/shma/exceptions/cx_shm_completion_error.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_shm_completion_error DEFINITION PUBLIC INHERITING FROM cx_shm_detach_error. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_shm_completion_error IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/shma/exceptions/cx_shm_detach_error.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_shm_detach_error DEFINITION PUBLIC INHERITING FROM cx_dynamic_check. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_shm_detach_error IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/shma/exceptions/cx_shm_error.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_shm_error DEFINITION PUBLIC INHERITING FROM cx_static_check. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_shm_error IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/shma/exceptions/cx_shm_event_execution_failed.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_shm_event_execution_failed DEFINITION PUBLIC INHERITING FROM cx_shm_completion_error. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_shm_event_execution_failed IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/shma/exceptions/cx_shm_exclusive_lock_active.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_shm_exclusive_lock_active DEFINITION PUBLIC INHERITING FROM cx_shm_attach_error. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_shm_exclusive_lock_active IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/shma/exceptions/cx_shm_general_error.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_shm_general_error DEFINITION PUBLIC INHERITING FROM cx_dynamic_check. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_shm_general_error IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/shma/exceptions/cx_shm_inconsistent.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_shm_inconsistent DEFINITION PUBLIC INHERITING FROM cx_shm_attach_error. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_shm_inconsistent IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/shma/exceptions/cx_shm_initial_reference.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_shm_initial_reference DEFINITION PUBLIC INHERITING FROM cx_shm_general_error. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_shm_initial_reference IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/shma/exceptions/cx_shm_no_active_version.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_shm_no_active_version DEFINITION PUBLIC INHERITING FROM cx_shm_attach_error. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_shm_no_active_version IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/shma/exceptions/cx_shm_parameter_error.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_shm_parameter_error DEFINITION PUBLIC INHERITING FROM cx_shm_general_error. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_shm_parameter_error IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/shma/exceptions/cx_shm_pending_lock_removed.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_shm_pending_lock_removed DEFINITION PUBLIC INHERITING FROM cx_shm_attach_error. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_shm_pending_lock_removed IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/shma/exceptions/cx_shm_read_lock_active.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_shm_read_lock_active DEFINITION PUBLIC INHERITING FROM cx_shm_attach_error. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_shm_read_lock_active IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/shma/exceptions/cx_shm_secondary_commit.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_shm_secondary_commit DEFINITION PUBLIC INHERITING FROM cx_shm_detach_error. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_shm_secondary_commit IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/shma/exceptions/cx_shm_version_limit_exceeded.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_shm_version_limit_exceeded DEFINITION PUBLIC INHERITING FROM cx_shm_attach_error. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_shm_version_limit_exceeded IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/shma/exceptions/cx_shm_wrong_handle.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_shm_wrong_handle DEFINITION PUBLIC INHERITING FROM cx_shm_general_error. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_shm_wrong_handle IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/shma/exceptions/cx_shma_dynamic.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_shma_dynamic DEFINITION PUBLIC INHERITING FROM cx_dynamic_check. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_shma_dynamic IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/shma/exceptions/cx_shma_inconsistent.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_shma_inconsistent DEFINITION PUBLIC INHERITING FROM cx_shma_dynamic. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_shma_inconsistent IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/shma/exceptions/cx_shma_not_configured.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_shma_not_configured DEFINITION PUBLIC INHERITING FROM cx_shma_dynamic. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_shma_not_configured IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/shma/if_shm_build_instance.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_shm_build_instance PUBLIC. 2 | CLASS-METHODS build 3 | IMPORTING 4 | inst_name TYPE shm_inst_name DEFAULT cl_shm_area=>default_instance 5 | invocation_mode TYPE shm_constr_invocation_mode DEFAULT cl_shm_area=>invocation_mode_explicit 6 | RAISING 7 | cx_shm_build_failed. 8 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/smim/sdok_class.doma.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | SDOK_CLASS 7 | E 8 | CHAR 9 | 000010 10 | 000010 11 | SDOKIOCL 12 | SDOK_CLASS 13 | D 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/smim/sdok_docid.doma.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | SDOK_DOCID 7 | E 8 | CHAR 9 | 000032 10 | 000032 11 | SDOK_DOCID 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/smim/skwf_ioty.dtel.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | SKWF_IOTY 7 | E 8 | SKWF_IOTY 9 | 10 10 | 10 11 | 15 12 | 20 13 | SKWF_IOTY 14 | IO type 15 | IO type 16 | IO type 17 | IO type 18 | E 19 | D 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/sxml/cl_sxml_string_reader.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cl_sxml_string_reader DEFINITION PUBLIC. 2 | PUBLIC SECTION. 3 | CLASS-METHODS create 4 | IMPORTING 5 | input TYPE xstring 6 | RETURNING 7 | VALUE(reader) TYPE REF TO if_sxml_reader. 8 | ENDCLASS. 9 | 10 | CLASS cl_sxml_string_reader IMPLEMENTATION. 11 | METHOD create. 12 | CREATE OBJECT reader TYPE lcl_reader 13 | EXPORTING 14 | iv_json = cl_abap_codepage=>convert_from( input ). 15 | ENDMETHOD. 16 | ENDCLASS. -------------------------------------------------------------------------------- /src/sxml/cx_sxml_error.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sxml_error DEFINITION PUBLIC INHERITING FROM cx_dynamic_check. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_sxml_error IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/sxml/cx_sxml_illegal_argument_error.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sxml_illegal_argument_error DEFINITION PUBLIC INHERITING FROM cx_sxml_error. 2 | PUBLIC SECTION. 3 | ENDCLASS. 4 | 5 | CLASS cx_sxml_illegal_argument_error IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/sxml/cx_sxml_name_error.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sxml_name_error DEFINITION PUBLIC INHERITING FROM cx_sxml_error. 2 | PUBLIC SECTION. 3 | ENDCLASS. 4 | 5 | CLASS cx_sxml_name_error IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/sxml/cx_sxml_parse_error.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sxml_parse_error DEFINITION PUBLIC INHERITING FROM cx_sxml_error. 2 | PUBLIC SECTION. 3 | METHODS constructor IMPORTING xml_offset TYPE i. 4 | CONSTANTS kernel_parser TYPE sotr_conc VALUE '00000000000000000000000000000000'. 5 | 6 | DATA error_text TYPE string. 7 | DATA rawstring TYPE string. 8 | DATA xml_offset TYPE i. 9 | DATA rc TYPE i. 10 | ENDCLASS. 11 | 12 | CLASS cx_sxml_parse_error IMPLEMENTATION. 13 | METHOD constructor. 14 | super->constructor( ). 15 | me->xml_offset = xml_offset. 16 | ENDMETHOD. 17 | ENDCLASS. -------------------------------------------------------------------------------- /src/sxml/cx_sxml_state_error.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_sxml_state_error DEFINITION PUBLIC INHERITING FROM cx_sxml_error. 2 | PUBLIC SECTION. 3 | ENDCLASS. 4 | 5 | CLASS cx_sxml_state_error IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/sxml/if_sxml.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_sxml PUBLIC. 2 | 3 | TYPES xml_stream_type TYPE i. 4 | 5 | CONSTANTS co_xt_xml10 TYPE xml_stream_type VALUE 1. 6 | CONSTANTS co_xt_binary TYPE xml_stream_type VALUE 2. 7 | CONSTANTS co_xt_xop TYPE xml_stream_type VALUE 3. 8 | CONSTANTS co_xt_json TYPE xml_stream_type VALUE 4. 9 | 10 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/sxml/if_sxml_attribute.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_sxml_attribute PUBLIC. 2 | TYPES attributes TYPE STANDARD TABLE OF REF TO if_sxml_attribute WITH DEFAULT KEY. 3 | DATA: BEGIN OF qname, 4 | name TYPE string, 5 | namespace TYPE string, 6 | END OF qname. 7 | DATA prefix TYPE string READ-ONLY. 8 | DATA value_type TYPE if_sxml_value=>value_type. 9 | METHODS get_value RETURNING VALUE(value) TYPE string. 10 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/sxml/if_sxml_close_element.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_sxml_close_element PUBLIC. 2 | INTERFACES if_sxml_node. 3 | 4 | DATA: BEGIN OF qname, 5 | name TYPE string, 6 | namespace TYPE string, 7 | END OF qname. 8 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/sxml/if_sxml_named.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_sxml_named PUBLIC. 2 | 3 | TYPES: BEGIN OF pathnode, 4 | BEGIN OF qname, 5 | name TYPE string, 6 | namespace TYPE string, 7 | END OF qname, 8 | prefix TYPE string, 9 | child_position TYPE i, 10 | END OF pathnode. 11 | TYPES path TYPE STANDARD TABLE OF pathnode WITH DEFAULT KEY. 12 | 13 | TYPES: BEGIN OF nsbinding, 14 | prefix TYPE string, 15 | nsuri TYPE string, 16 | END OF nsbinding. 17 | TYPES nsbindings TYPE HASHED TABLE OF nsbinding WITH UNIQUE KEY prefix. 18 | 19 | CONSTANTS co_use_default_xmlns TYPE string VALUE ':'. 20 | 21 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/sxml/if_sxml_node.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_sxml_node PUBLIC. 2 | TYPES node_type TYPE i. 3 | DATA type TYPE node_type READ-ONLY. 4 | 5 | CONSTANTS co_nt_initial TYPE node_type VALUE 0. 6 | CONSTANTS co_nt_element_open TYPE node_type VALUE 1. 7 | CONSTANTS co_nt_element_close TYPE node_type VALUE 2. 8 | CONSTANTS co_nt_value TYPE node_type VALUE 4. 9 | CONSTANTS co_nt_attribute TYPE node_type VALUE 32. 10 | CONSTANTS co_nt_final TYPE node_type VALUE 128. 11 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/sxml/if_sxml_value.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_sxml_value PUBLIC. 2 | 3 | TYPES value_type TYPE i. 4 | DATA type TYPE value_type. 5 | CONSTANTS co_vt_text TYPE value_type VALUE 2. 6 | 7 | METHODS get_value 8 | RETURNING 9 | VALUE(value) TYPE string. 10 | METHODS get_value_raw 11 | RETURNING 12 | VALUE(value) TYPE xstring. 13 | METHODS set_value 14 | IMPORTING 15 | value TYPE string. 16 | METHODS set_value_raw 17 | IMPORTING 18 | value TYPE xstring. 19 | 20 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/sxml/if_sxml_value_node.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_sxml_value_node PUBLIC. 2 | INTERFACES if_sxml_node. 3 | 4 | METHODS get_value 5 | RETURNING 6 | VALUE(value) TYPE string. 7 | 8 | METHODS get_value_raw 9 | RETURNING 10 | VALUE(value) TYPE xstring. 11 | 12 | METHODS set_value 13 | IMPORTING 14 | value TYPE string. 15 | 16 | METHODS set_value_raw 17 | IMPORTING 18 | value TYPE xstring. 19 | 20 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/sxml/if_sxmlp_factory.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_sxmlp_factory PUBLIC. 2 | CLASS-METHODS create_list 3 | IMPORTING 4 | name TYPE string 5 | nsuri TYPE string OPTIONAL 6 | prefix TYPE string OPTIONAL 7 | RETURNING 8 | VALUE(rval) TYPE REF TO if_sxmlp_list. 9 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/sxml/if_sxmlp_list.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_sxmlp_list PUBLIC. 2 | INTERFACES if_sxmlp_part. 3 | 4 | METHODS add_part 5 | IMPORTING 6 | part TYPE REF TO if_sxmlp_part. 7 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/sxml/if_sxmlp_part.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_sxmlp_part PUBLIC. 2 | METHODS serialize IMPORTING writer TYPE REF TO if_sxml_writer. 3 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/sxml/if_sxmlp_simple.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_sxmlp_simple PUBLIC. 2 | 3 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/tcp/cl_apc_wsp_ext_stateless_base.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cl_apc_wsp_ext_stateless_base DEFINITION PUBLIC ABSTRACT. 2 | PUBLIC SECTION. 3 | INTERFACES if_apc_wsp_extension. 4 | ENDCLASS. 5 | 6 | CLASS cl_apc_wsp_ext_stateless_base IMPLEMENTATION. 7 | METHOD if_apc_wsp_extension~on_start. 8 | RETURN. 9 | ENDMETHOD. 10 | 11 | METHOD if_apc_wsp_extension~on_message. 12 | RETURN. 13 | ENDMETHOD. 14 | ENDCLASS. -------------------------------------------------------------------------------- /src/tcp/cx_apc_error.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_apc_error DEFINITION PUBLIC INHERITING FROM cx_static_check. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_apc_error IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/tcp/if_abap_channel_types.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_abap_channel_types PUBLIC. 2 | TYPES: BEGIN OF ty_apc_tcp_frame, 3 | frame_type TYPE i, 4 | fixed_length TYPE i, 5 | terminator TYPE string, 6 | length_field_length TYPE i, 7 | length_field_offset TYPE i, 8 | length_field_header TYPE i, 9 | END OF ty_apc_tcp_frame. 10 | 11 | TYPES ty_tihttpnvp TYPE tihttpnvp. 12 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/tcp/if_apc_tcp_frame_types.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_apc_tcp_frame_types PUBLIC. 2 | CONSTANTS co_frame_type_fixed_length TYPE i VALUE 1. 3 | CONSTANTS co_frame_type_terminator TYPE i VALUE 2. 4 | CONSTANTS co_frame_type_length_field TYPE i VALUE 3. 5 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/tcp/if_apc_wsp_binding_manager.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_apc_wsp_binding_manager PUBLIC. 2 | METHODS bind_amc_message_consumer 3 | IMPORTING 4 | i_application_id TYPE clike 5 | i_channel_id TYPE clike 6 | RAISING 7 | cx_apc_error. 8 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/tcp/if_apc_wsp_client.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_apc_wsp_client PUBLIC. 2 | METHODS connect 3 | RAISING 4 | cx_apc_error. 5 | 6 | METHODS close 7 | RAISING 8 | cx_apc_error. 9 | 10 | METHODS get_message_manager 11 | RETURNING 12 | VALUE(ri_manager) TYPE REF TO if_apc_wsp_message_manager 13 | RAISING 14 | cx_apc_error. 15 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/tcp/if_apc_wsp_event_handler.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_apc_wsp_event_handler PUBLIC. 2 | METHODS on_open. 3 | 4 | METHODS on_message 5 | IMPORTING 6 | i_message TYPE REF TO if_apc_wsp_message. 7 | 8 | METHODS on_close 9 | IMPORTING 10 | i_reason TYPE string. 11 | 12 | METHODS on_error 13 | IMPORTING 14 | i_reason TYPE string. 15 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/tcp/if_apc_wsp_extension.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_apc_wsp_extension PUBLIC. 2 | METHODS on_start 3 | IMPORTING 4 | i_context TYPE REF TO if_apc_wsp_server_context 5 | i_message_manager TYPE REF TO if_apc_wsp_message_manager. 6 | 7 | METHODS on_message 8 | IMPORTING 9 | i_message TYPE REF TO if_apc_wsp_message 10 | i_message_manager TYPE REF TO if_apc_wsp_message_manager 11 | i_context TYPE REF TO if_apc_wsp_server_context. 12 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/tcp/if_apc_wsp_initial_request.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_apc_wsp_initial_request PUBLIC. 2 | METHODS get_form_fields 3 | IMPORTING 4 | i_formfield_encoding TYPE i DEFAULT 0 5 | CHANGING 6 | c_fields TYPE if_abap_channel_types=>ty_tihttpnvp 7 | RAISING 8 | cx_apc_error. 9 | 10 | METHODS get_header_fields 11 | CHANGING 12 | c_fields TYPE if_abap_channel_types=>ty_tihttpnvp 13 | RAISING 14 | cx_apc_error. 15 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/tcp/if_apc_wsp_message.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_apc_wsp_message PUBLIC. 2 | METHODS get_binary 3 | RETURNING VALUE(rv_binary) TYPE xstring 4 | RAISING cx_apc_error. 5 | 6 | METHODS set_binary 7 | IMPORTING iv_binary TYPE xsequence 8 | RAISING cx_apc_error. 9 | 10 | METHODS get_text 11 | RETURNING VALUE(r_message) TYPE string 12 | RAISING cx_apc_error. 13 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/tcp/if_apc_wsp_message_manager.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_apc_wsp_message_manager PUBLIC. 2 | METHODS create_message 3 | RETURNING 4 | VALUE(ri_message) TYPE REF TO if_apc_wsp_message 5 | RAISING 6 | cx_apc_error. 7 | 8 | METHODS send 9 | IMPORTING 10 | ii_message TYPE REF TO if_apc_wsp_message 11 | RAISING 12 | cx_apc_error. 13 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/tcp/if_apc_wsp_server_context.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_apc_wsp_server_context PUBLIC. 2 | METHODS get_initial_request 3 | RETURNING VALUE(r_initial_request) TYPE REF TO if_apc_wsp_initial_request 4 | RAISING cx_apc_error. 5 | METHODS get_binding_manager 6 | RETURNING VALUE(r_binding_manager) TYPE REF TO if_apc_wsp_binding_manager 7 | RAISING cx_apc_error. 8 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/unit/ftd/cx_ftd_parameter_not_found.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_ftd_parameter_not_found DEFINITION PUBLIC FINAL CREATE PUBLIC INHERITING FROM cx_no_check. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_ftd_parameter_not_found IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/unit/ftd/if_ftd_input_arguments.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_ftd_input_arguments PUBLIC. 2 | 3 | METHODS get_importing_parameter 4 | IMPORTING 5 | name TYPE abap_parmname 6 | RETURNING 7 | VALUE(result) TYPE REF TO data 8 | RAISING 9 | cx_ftd_parameter_not_found. 10 | 11 | METHODS get_table_parameter 12 | IMPORTING 13 | name TYPE abap_parmname 14 | RETURNING 15 | VALUE(result) TYPE REF TO data 16 | RAISING 17 | cx_ftd_parameter_not_found. 18 | 19 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/unit/ftd/if_ftd_input_config_setter.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_ftd_input_config_setter PUBLIC. 2 | 3 | METHODS ignore_all_parameters 4 | RETURNING 5 | VALUE(output_configuration_setter) TYPE REF TO if_ftd_output_config_setter. 6 | 7 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/unit/ftd/if_ftd_invocation_answer.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_ftd_invocation_answer PUBLIC. 2 | 3 | METHODS answer 4 | IMPORTING 5 | arguments TYPE REF TO if_ftd_input_arguments 6 | CHANGING 7 | result TYPE REF TO if_ftd_invocation_result. 8 | 9 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/unit/ftd/if_ftd_invocation_result.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_ftd_invocation_result PUBLIC. 2 | 3 | METHODS get_output_configuration 4 | RETURNING 5 | VALUE(result) TYPE REF TO if_ftd_output_configuration. 6 | 7 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/unit/ftd/if_ftd_output_config_setter.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_ftd_output_config_setter PUBLIC. 2 | 3 | METHODS then_answer 4 | IMPORTING 5 | answer TYPE REF TO if_ftd_invocation_answer 6 | RETURNING 7 | VALUE(self) TYPE REF TO if_ftd_output_config_setter. 8 | 9 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/unit/ftd/if_ftd_output_configuration.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_ftd_output_configuration PUBLIC. 2 | 3 | METHODS set_exporting_parameter 4 | IMPORTING 5 | name TYPE abap_parmname 6 | value TYPE any 7 | RETURNING 8 | VALUE(self) TYPE REF TO if_ftd_output_configuration 9 | RAISING 10 | cx_ftd_parameter_not_found. 11 | 12 | METHODS set_table_parameter 13 | IMPORTING 14 | name TYPE abap_parmname 15 | value TYPE any 16 | RETURNING 17 | VALUE(self) TYPE REF TO if_ftd_output_configuration 18 | RAISING 19 | cx_ftd_parameter_not_found. 20 | 21 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/unit/ftd/if_function_test_environment.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_function_test_environment PUBLIC. 2 | 3 | TYPES tt_function_dependencies TYPE STANDARD TABLE OF sxco_fm_name WITH KEY table_line. 4 | 5 | METHODS get_double 6 | IMPORTING 7 | function_name TYPE sxco_fm_name 8 | RETURNING 9 | VALUE(result) TYPE REF TO if_function_testdouble. 10 | 11 | METHODS clear_doubles. 12 | 13 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/unit/ftd/if_function_testdouble.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_function_testdouble PUBLIC. 2 | 3 | METHODS configure_call 4 | RETURNING 5 | VALUE(input_configuration_setter) TYPE REF TO if_ftd_input_config_setter. 6 | 7 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/unit/if_abap_unit_constant.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_abap_unit_constant PUBLIC. 2 | CONSTANTS: 3 | BEGIN OF severity, 4 | low TYPE int1 VALUE 0, 5 | medium TYPE int1 VALUE 1, 6 | high TYPE int1 VALUE 2, 7 | END OF severity. 8 | CONSTANTS: 9 | BEGIN OF quit, 10 | test TYPE int1 VALUE 1, 11 | no TYPE int1 VALUE 5, 12 | END OF quit. 13 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/unit/if_aunit_constants.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_aunit_constants PUBLIC. 2 | CONSTANTS no TYPE int1 VALUE 0. 3 | CONSTANTS critical TYPE int1 VALUE 1. 4 | CONSTANTS fatal TYPE int1 VALUE 1. 5 | CONSTANTS tolerable TYPE int1 VALUE 1. 6 | CONSTANTS method TYPE int1 VALUE 1. 7 | CONSTANTS class TYPE int1 VALUE 2. 8 | 9 | CONSTANTS: BEGIN OF severity, 10 | low TYPE int1 VALUE 0, 11 | medium TYPE int1 VALUE 1, 12 | high TYPE int1 VALUE 2, 13 | END OF severity. 14 | 15 | CONSTANTS: BEGIN OF quit, 16 | no TYPE int1 VALUE 0, 17 | test TYPE int1 VALUE 1, 18 | END OF quit. 19 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/unit/kernel_cx_assert.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS kernel_cx_assert DEFINITION PUBLIC INHERITING FROM cx_dynamic_check. 2 | PUBLIC SECTION. 3 | DATA actual TYPE string. 4 | DATA expected TYPE string. 5 | DATA msg TYPE string. 6 | 7 | METHODS constructor 8 | IMPORTING 9 | msg TYPE string 10 | previous LIKE previous OPTIONAL 11 | expected LIKE expected OPTIONAL 12 | actual LIKE actual OPTIONAL. 13 | ENDCLASS. 14 | 15 | CLASS kernel_cx_assert IMPLEMENTATION. 16 | 17 | METHOD constructor. 18 | super->constructor( previous = previous ). 19 | me->expected = expected. 20 | me->actual = actual. 21 | me->msg = msg. 22 | IF me->msg IS INITIAL. 23 | me->msg = |Unit test assertion failed|. 24 | ENDIF. 25 | ENDMETHOD. 26 | 27 | ENDCLASS. -------------------------------------------------------------------------------- /src/unit/osql/if_osql_test_environment.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_osql_test_environment PUBLIC. 2 | 3 | TYPES ty_s_sobjname TYPE abap_compname. 4 | TYPES ty_t_sobjnames TYPE STANDARD TABLE OF ty_s_sobjname WITH DEFAULT KEY. 5 | 6 | METHODS clear_doubles. 7 | METHODS destroy. 8 | 9 | METHODS insert_test_data 10 | IMPORTING 11 | i_data TYPE ANY TABLE. 12 | 13 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/uuid/cx_uuid_error.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cx_uuid_error DEFINITION PUBLIC INHERITING FROM cx_static_check. 2 | 3 | ENDCLASS. 4 | 5 | CLASS cx_uuid_error IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /src/uuid/if_system_uuid_rfc4122_static.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_system_uuid_rfc4122_static PUBLIC. 2 | CLASS-METHODS create_uuid_c36_by_version 3 | IMPORTING 4 | version TYPE i 5 | RETURNING 6 | VALUE(uuid) TYPE sysuuid_c36 7 | RAISING 8 | cx_uuid_error. 9 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/uuid/if_system_uuid_static.intf.abap: -------------------------------------------------------------------------------- 1 | INTERFACE if_system_uuid_static PUBLIC. 2 | CLASS-METHODS create_uuid_x16 3 | RETURNING 4 | VALUE(uuid) TYPE sysuuid_x16 5 | RAISING 6 | cx_uuid_error. 7 | 8 | CLASS-METHODS create_uuid_c32 9 | RETURNING 10 | VALUE(uuid) TYPE sysuuid_c32 11 | RAISING 12 | cx_uuid_error. 13 | 14 | CLASS-METHODS create_uuid_c36 15 | RETURNING 16 | VALUE(uuid) TYPE sysuuid_c36 17 | RAISING 18 | cx_uuid_error. 19 | 20 | CLASS-METHODS create_uuid_c22 21 | RETURNING 22 | VALUE(uuid) TYPE sysuuid_c22 23 | RAISING 24 | cx_uuid_error. 25 | ENDINTERFACE. -------------------------------------------------------------------------------- /src/uuid/sysuuid_c32.dtel.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | SYSUUID_C32 7 | E 8 | CHAR 9 | 55 10 | 04 11 | 04 12 | 04 13 | UUID 14 | UUID 15 | UUID 16 | UUID 17 | UUID 18 | E 19 | 000032 20 | 000000 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/w3mi/w3mime.tabl.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | W3MIME 7 | E 8 | INTTAB 9 | W3MIME 10 | 1 11 | 12 | 13 | 14 | LINE 15 | 0 16 | X 17 | 000255 18 | RAW 19 | 000255 20 | RAW 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /src/w3mi/zw3mi.fugr.lzw3mitop.abap: -------------------------------------------------------------------------------- 1 | FUNCTION-POOL zw3mi. "MESSAGE-ID .. 2 | 3 | * INCLUDE LZW3MID... " Local class definition 4 | -------------------------------------------------------------------------------- /src/w3mi/zw3mi.fugr.lzw3mitop.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | LZW3MITOP 7 | S 8 | D$ 9 | I 10 | S 11 | X 12 | D$S 13 | X 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/w3mi/zw3mi.fugr.saplzw3mi.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | SAPLZW3MI 7 | S 8 | D$ 9 | F 10 | S 11 | E 12 | X 13 | D$S 14 | X 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/w3mi/zw3mi.fugr.wwwdata_export.abap: -------------------------------------------------------------------------------- 1 | FUNCTION wwwdata_export. 2 | *"---------------------------------------------------------------------- 3 | *"*"Local Interface: 4 | *" IMPORTING 5 | *" VALUE(KEY) LIKE WWWDATATAB STRUCTURE WWWDATATAB 6 | *" TABLES 7 | *" MIME STRUCTURE W3MIME OPTIONAL 8 | *" EXCEPTIONS 9 | *" WRONG_OBJECT_TYPE 10 | *" EXPORT_ERROR 11 | *"---------------------------------------------------------------------- 12 | 13 | ASSERT 1 = 'todo'. 14 | 15 | ENDFUNCTION. 16 | -------------------------------------------------------------------------------- /src/w3mi/zw3mi.fugr.wwwparams_insert.abap: -------------------------------------------------------------------------------- 1 | FUNCTION wwwparams_insert. 2 | *"---------------------------------------------------------------------- 3 | *"*"Local Interface: 4 | *" IMPORTING 5 | *" VALUE(PARAMS) LIKE WWWPARAMS STRUCTURE WWWPARAMS 6 | *" EXCEPTIONS 7 | *" ENTRY_EXISTS 8 | *"---------------------------------------------------------------------- 9 | 10 | ASSERT 1 = 'todo'. 11 | 12 | ENDFUNCTION. 13 | -------------------------------------------------------------------------------- /src/xco/sxco_transport.dtel.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | SXCO_TRANSPORT 7 | E 8 | CHAR 9 | 55 10 | 10 11 | 20 12 | 40 13 | Transport 14 | Transport 15 | Transport 16 | Transport 17 | Transport 18 | E 19 | 000020 20 | 000000 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /test/adbc/init.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE films ( 2 | code char(5), 3 | title varchar(40), 4 | did integer, 5 | date_prod date, 6 | kind varchar(10), 7 | len interval hour to minute, 8 | CONSTRAINT code_title PRIMARY KEY(code,title) 9 | ); -------------------------------------------------------------------------------- /test/adbc/zcl_adbc_test.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS zcl_adbc_test DEFINITION PUBLIC. 2 | PUBLIC SECTION. 3 | ENDCLASS. 4 | 5 | CLASS zcl_adbc_test IMPLEMENTATION. 6 | 7 | ENDCLASS. -------------------------------------------------------------------------------- /test/adbc/zcl_adbc_test.clas.testclasses.abap: -------------------------------------------------------------------------------- 1 | CLASS ltcl_test DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION MEDIUM FINAL. 2 | 3 | PRIVATE SECTION. 4 | METHODS test FOR TESTING RAISING cx_static_check. 5 | 6 | ENDCLASS. 7 | 8 | CLASS ltcl_test IMPLEMENTATION. 9 | METHOD test. 10 | 11 | DATA lo_stmt TYPE REF TO cl_sql_statement. 12 | DATA lv_sql TYPE string. 13 | DATA lo_result TYPE REF TO cl_sql_result_set. 14 | 15 | 16 | lo_stmt = cl_sql_connection=>get_abap_connection( 'PG' )->create_statement( ). 17 | 18 | lv_sql = |select * from films|. 19 | lo_result = lo_stmt->execute_query( lv_sql ). 20 | 21 | ENDMETHOD. 22 | ENDCLASS. -------------------------------------------------------------------------------- /test/performance.mjs: -------------------------------------------------------------------------------- 1 | import { initializeABAP } from '../output/init.mjs'; 2 | import * as fs from "node:fs"; 3 | import * as path from "node:path"; 4 | 5 | await initializeABAP(); 6 | 7 | const results = {}; 8 | 9 | for (const filename of fs.readdirSync("./test/performance")) { 10 | global.gc(); 11 | const className = path.basename(filename.split(".")[0]).toUpperCase(); 12 | 13 | const t0 = performance.now(); 14 | await abap.Classes[className].run(); 15 | const t1 = performance.now(); 16 | const runtime = Math.round(t1 - t0); 17 | 18 | console.log(className + ": " + runtime + "ms"); 19 | results[className] = runtime; 20 | } 21 | 22 | fs.writeFileSync("results.json", JSON.stringify(results, null, 2)); -------------------------------------------------------------------------------- /test/performance/cl_conversion_exit_input.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cl_conversion_exit_input DEFINITION PUBLIC. 2 | PUBLIC SECTION. 3 | CLASS-METHODS run. 4 | ENDCLASS. 5 | 6 | CLASS cl_conversion_exit_input IMPLEMENTATION. 7 | METHOD run. 8 | DATA lv_value TYPE c LENGTH 10. 9 | 10 | DO 500000 TIMES. 11 | lv_value = '1'. 12 | CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' 13 | EXPORTING 14 | input = lv_value 15 | IMPORTING 16 | output = lv_value. 17 | ENDDO. 18 | ENDMETHOD. 19 | ENDCLASS. -------------------------------------------------------------------------------- /test/performance/cl_ui2_serialize1.clas.abap: -------------------------------------------------------------------------------- 1 | CLASS cl_ui2_serialize1 DEFINITION PUBLIC. 2 | PUBLIC SECTION. 3 | CLASS-METHODS run. 4 | ENDCLASS. 5 | 6 | CLASS cl_ui2_serialize1 IMPLEMENTATION. 7 | METHOD run. 8 | TYPES: BEGIN OF ty_data, 9 | abap TYPE i, 10 | foo TYPE string, 11 | another TYPE string, 12 | END OF ty_data. 13 | 14 | DATA lt_data TYPE STANDARD TABLE OF ty_data WITH DEFAULT KEY. 15 | 16 | DO 5000 TIMES. 17 | APPEND INITIAL LINE TO lt_data. 18 | ENDDO. 19 | 20 | /ui2/cl_json=>serialize( lt_data ). 21 | ENDMETHOD. 22 | ENDCLASS. -------------------------------------------------------------------------------- /test/setup.mjs: -------------------------------------------------------------------------------- 1 | import {SQLiteDatabaseClient} from "@abaplint/database-sqlite"; 2 | import {PostgresDatabaseClient} from "@abaplint/database-pg"; 3 | 4 | export async function setup(abap, schemas, insert) { 5 | abap.context.databaseConnections["DEFAULT"] = new SQLiteDatabaseClient(); 6 | await abap.context.databaseConnections["DEFAULT"].connect(); 7 | await abap.context.databaseConnections["DEFAULT"].execute(schemas.sqlite); 8 | await abap.context.databaseConnections["DEFAULT"].execute(insert); 9 | 10 | abap.context.databaseConnections["PG"] = new PostgresDatabaseClient({ 11 | user: "postgres", 12 | host: "localhost", 13 | database: "postgres", 14 | password: "postgres", 15 | port: 5432, 16 | // trace: true, 17 | lazy: true, 18 | }); 19 | } -------------------------------------------------------------------------------- /test/shma/zcl_shma_area.clas.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ZCL_SHMA_AREA 7 | E 8 | foo 9 | 45 10 | 1 11 | X 12 | X 13 | X 14 | S 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /test/shma/zcl_shma_root.clas.testclasses.abap: -------------------------------------------------------------------------------- 1 | CLASS ltcl_test DEFINITION FOR TESTING DURATION SHORT RISK LEVEL HARMLESS FINAL. 2 | 3 | PRIVATE SECTION. 4 | METHODS read FOR TESTING RAISING cx_static_check. 5 | 6 | ENDCLASS. 7 | 8 | 9 | CLASS ltcl_test IMPLEMENTATION. 10 | 11 | METHOD read. 12 | 13 | CONSTANTS lc_expected TYPE i VALUE 42. 14 | DATA lv_int TYPE i. 15 | 16 | zcl_shma_root=>read( ). 17 | 18 | zcl_shma_root=>update( lc_expected ). 19 | 20 | lv_int = zcl_shma_root=>read( ). 21 | 22 | cl_abap_unit_assert=>assert_equals( 23 | act = lv_int 24 | exp = lc_expected ). 25 | 26 | ENDMETHOD. 27 | 28 | ENDCLASS. -------------------------------------------------------------------------------- /test/shma/zcl_shma_root.clas.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | ZCL_SHMA_ROOT 7 | E 8 | test 9 | 1 10 | X 11 | X 12 | X 13 | X 14 | X 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /test/stack.yml: -------------------------------------------------------------------------------- 1 | services: 2 | postgresql: 3 | image: postgres:17 4 | container_name: postgresql 5 | restart: always 6 | environment: 7 | POSTGRES_PASSWORD: postgres 8 | ports: 9 | - '5432:5432' 10 | healthcheck: 11 | test: ["CMD-SHELL", "pg_isready -U postgres"] 12 | interval: 1s 13 | timeout: 20s 14 | retries: 5 15 | tmpfs: 16 | - /var/lib/postgresql/data 17 | httpbin: 18 | image: kennethreitz/httpbin 19 | container_name: httpbin 20 | ports: 21 | - '8080:80' --------------------------------------------------------------------------------