Skip to content

Naming Conventions

abap-util follows a small set of conventions that make the API easy to navigate from code completion alone.

Object Names

PatternUsed forExample
zabaputil_cl_*Classeszabaputil_cl_util_log
zabaputil_cx_*Exception classeszabaputil_cx_util_error
zabaputil_if_*Interfaces (vendored)zabaputil_if_ajson_filter
zabaputil_t_*Database tableszabaputil_t_91

The zabaputil_ prefix is reserved — never create your own objects under it.

Method Prefixes

The façade zabaputil_cl_util groups helpers by topic. The prefix tells you what the method does without reading the body:

PrefixMeaningExample
c_Character / string operationc_trim, c_split, c_contains
time_Time / date arithmetictime_add_seconds
rtti_Run-time type infortti_get_type_name
json_JSONjson_stringify
xml_XML (asXML / S-RTTI)xml_stringify, xml_srtti_parse
conv_Conversion / encodingconv_encode_x_base64
filter_Filter / token / rangefilter_get_sql_where
itab_Internal tablesitab_corresponding
msg_Message extractionmsg_get, msg_get_t
boolean_Boolean checksboolean_check_by_data
url_param_URL query handlingurl_param_get
x_Exception helpersx_check_raise, x_raise
ui5_UI5 helpersui5_get_msg_type
context_Runtime contextcontext_get_user_tech
source_Source code introspectionsource_get_method
app_App URL helpersapp_get_url
uuid_UUID generationuuid_get_c32

Verb Conventions

Verb fragmentMeaning
get_*Pure getter — never raises, no side effects
check_*Returns abap_bool
set_*Mutates state (instance method)
add_*Appends to internal state (e.g. log entries)
*_by_*Conversion: _x_by_y reads as "build x from y"
to_*Renders the current state to a target format (to_csv, to_xlsx)

For example itab_get_csv_by_itab( val ) reads as "get a CSV from an internal table".

Parameter Names

The library deliberately keeps parameter names short so calls fit on one line:

ParameterMeaning
valThe primary input value
resultThe returning value
dataGeneric, typed by TYPE any
tabInternal table
t_*Standard table of *
s_*Structure of *
n / vName / value pair
nsXML namespace
whenBoolean condition

If you find a method whose parameter is not val, that's intentional — it usually means the method has more than one input and the names disambiguate roles (e.g. low/high, from/to).

Released under the MIT License.