From e829ad4fcc91fa84442e5348ec242c9a1898f574 Mon Sep 17 00:00:00 2001 From: Marc Bernard Date: Tue, 29 Jul 2025 23:39:55 +0000 Subject: [PATCH 01/12] Switch to /apmg/ namespace --- .abapgit.xml | 4 +- src/#apmg#.nspc.xml | 16 + ...t.clas.abap => #apmg#cl_convert.clas.abap} | 150 ++++---- ... => #apmg#cl_convert.clas.locals_imp.abap} | 30 +- ...=> #apmg#cl_convert.clas.testclasses.abap} | 108 +++--- src/#apmg#cl_convert.clas.xml | 17 + src/zcl_convert.clas.xml | 325 ------------------ 7 files changed, 180 insertions(+), 470 deletions(-) create mode 100644 src/#apmg#.nspc.xml rename src/{zcl_convert.clas.abap => #apmg#cl_convert.clas.abap} (79%) rename src/{zcl_convert.clas.locals_imp.abap => #apmg#cl_convert.clas.locals_imp.abap} (89%) rename src/{zcl_convert.clas.testclasses.abap => #apmg#cl_convert.clas.testclasses.abap} (79%) create mode 100644 src/#apmg#cl_convert.clas.xml delete mode 100644 src/zcl_convert.clas.xml diff --git a/.abapgit.xml b/.abapgit.xml index 7abba7d..8cef540 100644 --- a/.abapgit.xml +++ b/.abapgit.xml @@ -9,10 +9,10 @@ SAP_BASIS - 740 + 750 - ZCL_CONVERT=>C_VERSION + /APMG/CL_CONVERT=>C_VERSION diff --git a/src/#apmg#.nspc.xml b/src/#apmg#.nspc.xml new file mode 100644 index 0000000..5ecb4d0 --- /dev/null +++ b/src/#apmg#.nspc.xml @@ -0,0 +1,16 @@ + + + + + + /APMG/ + 41813564412598342476 + + + E + apm + apm.to Inc. + + + + diff --git a/src/zcl_convert.clas.abap b/src/#apmg#cl_convert.clas.abap similarity index 79% rename from src/zcl_convert.clas.abap rename to src/#apmg#cl_convert.clas.abap index 7bf1ebb..d4c30f1 100644 --- a/src/zcl_convert.clas.abap +++ b/src/#apmg#cl_convert.clas.abap @@ -1,4 +1,4 @@ -CLASS zcl_convert DEFINITION PUBLIC CREATE PUBLIC. +CLASS /apmg/cl_convert DEFINITION PUBLIC CREATE PUBLIC. ************************************************************************ * Convert Any Data Type @@ -9,7 +9,6 @@ CLASS zcl_convert DEFINITION PUBLIC CREATE PUBLIC. " TODO!: Add test cases for 100% coverage " FUTURE: Add to_codepage conversions CL_ABAP_CODEPAGE - " FUTURE?: Replace exceptions with CX_SY_CONVERSION_... PUBLIC SECTION. @@ -41,7 +40,7 @@ CLASS zcl_convert DEFINITION PUBLIC CREATE PUBLIC. !data TYPE any !options TYPE ty_options OPTIONAL RETURNING - VALUE(result) TYPE REF TO zcl_convert. + VALUE(result) TYPE REF TO /apmg/cl_convert. METHODS constructor IMPORTING @@ -52,13 +51,13 @@ CLASS zcl_convert DEFINITION PUBLIC CREATE PUBLIC. IMPORTING !data TYPE any RETURNING - VALUE(result) TYPE REF TO zcl_convert. + VALUE(result) TYPE REF TO /apmg/cl_convert. METHODS to_char CHANGING !result TYPE csequence RAISING - zcx_error. + /apmg/cx_error. METHODS to_date IMPORTING @@ -66,7 +65,7 @@ CLASS zcl_convert DEFINITION PUBLIC CREATE PUBLIC. RETURNING VALUE(result) TYPE d RAISING - zcx_error. + /apmg/cx_error. METHODS to_time IMPORTING @@ -74,7 +73,7 @@ CLASS zcl_convert DEFINITION PUBLIC CREATE PUBLIC. RETURNING VALUE(result) TYPE t RAISING - zcx_error ##NEEDED. + /apmg/cx_error ##NEEDED. METHODS to_timestamp IMPORTING @@ -82,7 +81,7 @@ CLASS zcl_convert DEFINITION PUBLIC CREATE PUBLIC. RETURNING VALUE(result) TYPE timestamp RAISING - zcx_error. + /apmg/cx_error. METHODS to_timestampl IMPORTING @@ -90,7 +89,7 @@ CLASS zcl_convert DEFINITION PUBLIC CREATE PUBLIC. RETURNING VALUE(result) TYPE timestampl RAISING - zcx_error. + /apmg/cx_error. METHODS to_utclong IMPORTING @@ -98,7 +97,7 @@ CLASS zcl_convert DEFINITION PUBLIC CREATE PUBLIC. RETURNING VALUE(result) TYPE utclong RAISING - zcx_error. + /apmg/cx_error. METHODS to_epoch IMPORTING @@ -107,7 +106,7 @@ CLASS zcl_convert DEFINITION PUBLIC CREATE PUBLIC. RETURNING VALUE(result) TYPE string RAISING - zcx_error ##NEEDED. + /apmg/cx_error ##NEEDED. METHODS to_unixtime IMPORTING @@ -115,7 +114,7 @@ CLASS zcl_convert DEFINITION PUBLIC CREATE PUBLIC. RETURNING VALUE(result) TYPE string RAISING - zcx_error. + /apmg/cx_error. METHODS to_isotime IMPORTING @@ -123,7 +122,7 @@ CLASS zcl_convert DEFINITION PUBLIC CREATE PUBLIC. RETURNING VALUE(result) TYPE string RAISING - zcx_error. + /apmg/cx_error. METHODS to_string IMPORTING @@ -132,13 +131,13 @@ CLASS zcl_convert DEFINITION PUBLIC CREATE PUBLIC. RETURNING VALUE(result) TYPE string RAISING - zcx_error. + /apmg/cx_error. METHODS to_hex CHANGING !result TYPE xsequence RAISING - zcx_error. + /apmg/cx_error. METHODS to_xstring IMPORTING @@ -147,49 +146,49 @@ CLASS zcl_convert DEFINITION PUBLIC CREATE PUBLIC. RETURNING VALUE(result) TYPE xstring RAISING - zcx_error. + /apmg/cx_error. METHODS to_int RETURNING VALUE(result) TYPE i RAISING - zcx_error. + /apmg/cx_error. METHODS to_int8 RETURNING VALUE(result) TYPE int8 RAISING - zcx_error. + /apmg/cx_error. METHODS to_packed CHANGING !result TYPE p RAISING - zcx_error. + /apmg/cx_error. METHODS to_float RETURNING VALUE(result) TYPE f RAISING - zcx_error. + /apmg/cx_error. METHODS to_decfloat16 RETURNING VALUE(result) TYPE decfloat16 RAISING - zcx_error. + /apmg/cx_error. METHODS to_decfloat34 RETURNING VALUE(result) TYPE decfloat34 RAISING - zcx_error. + /apmg/cx_error. METHODS to_bool RETURNING VALUE(result) TYPE abap_bool RAISING - zcx_error. + /apmg/cx_error. METHODS to_typekind RETURNING @@ -200,6 +199,7 @@ CLASS zcl_convert DEFINITION PUBLIC CREATE PUBLIC. !is_long TYPE abap_bool DEFAULT abap_false RETURNING VALUE(result) TYPE string. + PROTECTED SECTION. PRIVATE SECTION. @@ -217,7 +217,7 @@ ENDCLASS. -CLASS zcl_convert IMPLEMENTATION. +CLASS /apmg/cl_convert IMPLEMENTATION. METHOD constructor. @@ -240,7 +240,7 @@ CLASS zcl_convert IMPLEMENTATION. METHOD from. GET REFERENCE OF data INTO data_ref. - typekind = cl_abap_typedescr=>describe_by_data_ref( data_ref )->type_kind. + typekind = cl_abap_typedescr=>describe_by_data( data )->type_kind. result = me. @@ -280,7 +280,7 @@ CLASS zcl_convert IMPLEMENTATION. result = xsdbool( IS NOT INITIAL ). WHEN OTHERS. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'bool' ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'bool' ). ENDCASE. ENDMETHOD. @@ -311,15 +311,15 @@ CLASS zcl_convert IMPLEMENTATION. DATA(string_data) = to_string( ). result = string_data. CATCH cx_root. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'char' ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'char' ). ENDTRY. IF condense( result ) <> condense( string_data ). - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = 'Data is longer than target variable'. + RAISE EXCEPTION TYPE cx_sy_conversion_overflow EXPORTING value = string_data. ENDIF. WHEN OTHERS. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'char' ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'char' ). ENDCASE. ENDMETHOD. @@ -338,7 +338,7 @@ CLASS zcl_convert IMPLEMENTATION. TRY. result = CONV d( ). CATCH cx_root. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'date' ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'date' ). ENDTRY. WHEN cl_abap_typedescr=>typekind_packed. @@ -346,11 +346,11 @@ CLASS zcl_convert IMPLEMENTATION. TRY. CONVERT TIME STAMP TIME ZONE timezone INTO DATE result. CATCH cx_root. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'date' ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'date' ). ENDTRY. WHEN OTHERS. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'date' ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'date' ). ENDCASE. ENDMETHOD. @@ -362,7 +362,7 @@ CLASS zcl_convert IMPLEMENTATION. DATA(decfloat34) = to_decfloat34( ). result = CONV decfloat16( decfloat34 ). CATCH cx_root. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'decfloat16' ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'decfloat16' ). ENDTRY. ENDMETHOD. @@ -388,7 +388,7 @@ CLASS zcl_convert IMPLEMENTATION. TRY. result = CONV decfloat34( ). CATCH cx_root. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'decfloat34' ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'decfloat34' ). ENDTRY. WHEN cl_abap_typedescr=>typekind_char @@ -403,11 +403,11 @@ CLASS zcl_convert IMPLEMENTATION. DATA(string_data) = to_string( ). result = CONV decfloat34( string_data ). CATCH cx_root. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'decfloat34' ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'decfloat34' ). ENDTRY. WHEN OTHERS. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'decfloat34' ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'decfloat34' ). ENDCASE. ENDMETHOD. @@ -421,14 +421,15 @@ CLASS zcl_convert IMPLEMENTATION. TYPES ty_ms TYPE n LENGTH 3. IF millisec < 0 OR millisec > 999. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = 'Milliseconds must be between 0 and 999'. + " Milliseconds must be between 0 and 999 + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'epoch' ). ENDIF. TRY. DATA(ms) = CONV ty_ms( millisec ). result = to_unixtime( ) && ms. CATCH cx_root. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'epoch' ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'epoch' ). ENDTRY. ENDMETHOD. @@ -454,7 +455,7 @@ CLASS zcl_convert IMPLEMENTATION. TRY. result = CONV f( ). CATCH cx_root. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'float' ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'float' ). ENDTRY. WHEN cl_abap_typedescr=>typekind_char @@ -469,11 +470,11 @@ CLASS zcl_convert IMPLEMENTATION. DATA(string_data) = to_string( ). result = CONV f( string_data ). CATCH cx_root. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'float' ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'float' ). ENDTRY. WHEN OTHERS. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'float' ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'float' ). ENDCASE. ENDMETHOD. @@ -485,11 +486,11 @@ CLASS zcl_convert IMPLEMENTATION. DATA(xstring_data) = to_xstring( ). result = xstring_data. CATCH cx_root. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'hex' ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'hex' ). ENDTRY. IF result <> xstring_data. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = 'Data is longer than target variable'. + RAISE EXCEPTION TYPE cx_sy_conversion_overflow EXPORTING value = 'any'. ENDIF. ENDMETHOD. @@ -501,7 +502,7 @@ CLASS zcl_convert IMPLEMENTATION. DATA(int8) = to_int8( ). result = CONV i( int8 ). CATCH cx_root. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'integer' ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'integer' ). ENDTRY. ENDMETHOD. @@ -529,7 +530,7 @@ CLASS zcl_convert IMPLEMENTATION. TRY. result = CONV int8( ). CATCH cx_root. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'int8' ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'int8' ). ENDTRY. WHEN cl_abap_typedescr=>typekind_char @@ -542,11 +543,11 @@ CLASS zcl_convert IMPLEMENTATION. DATA(string_data) = to_string( ). result = CONV int8( string_data ). CATCH cx_root. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'int8' ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'int8' ). ENDTRY. WHEN OTHERS. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'int8' ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'int8' ). ENDCASE. ENDMETHOD. @@ -562,7 +563,7 @@ CLASS zcl_convert IMPLEMENTATION. result = |{ timestampl TIMESTAMP = ISO }|. CATCH cx_root. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'isotime' ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'isotime' ). ENDTRY. ENDMETHOD. @@ -590,7 +591,7 @@ CLASS zcl_convert IMPLEMENTATION. TRY. result = . CATCH cx_root. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'packed' ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'packed' ). ENDTRY. WHEN cl_abap_typedescr=>typekind_char @@ -605,11 +606,11 @@ CLASS zcl_convert IMPLEMENTATION. DATA(string_data) = to_string( ). result = string_data. CATCH cx_root. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'packed' ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'packed' ). ENDTRY. WHEN OTHERS. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'packed' ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'packed' ). ENDCASE. ENDMETHOD. @@ -645,7 +646,7 @@ CLASS zcl_convert IMPLEMENTATION. result = CONV string( ). " FIXME? Might have a trailing space. Should we trim it? CATCH cx_root. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'string' ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'string' ). ENDTRY. WHEN cl_abap_typedescr=>typekind_hex @@ -668,9 +669,7 @@ CLASS zcl_convert IMPLEMENTATION. RECEIVING rv_string = result. CATCH cx_root INTO DATA(error). - RAISE EXCEPTION TYPE zcx_error_text - EXPORTING - text = _conversion_error( 'string' ) && error->get_text( ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'string' ). ENDTRY. WHEN cl_abap_typedescr=>typekind_table. @@ -684,11 +683,11 @@ CLASS zcl_convert IMPLEMENTATION. table = sep = cl_abap_char_utilities=>newline ). CATCH cx_root. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'string' ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'string' ). ENDTRY. WHEN OTHERS. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'string' ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'string' ). ENDCASE. IF options-trim_strings = abap_true. @@ -712,11 +711,11 @@ CLASS zcl_convert IMPLEMENTATION. TRY. result = CONV t( ). CATCH cx_root. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'time' ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'time' ). ENDTRY. WHEN OTHERS. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'time' ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'time' ). ENDCASE. ENDMETHOD. @@ -728,11 +727,11 @@ CLASS zcl_convert IMPLEMENTATION. DATA(timestampl) = to_timestampl( timezone ). DATA(frac) = frac( timestampl ). IF frac <> 0. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'timestamp' ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'timestamp' ). ENDIF. result = timestampl ##TYPE. CATCH cx_root. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'timestamp' ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'timestamp' ). ENDTRY. ENDMETHOD. @@ -751,7 +750,7 @@ CLASS zcl_convert IMPLEMENTATION. TRY. result = CONV timestampl( ). CATCH cx_root. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'timestampl' ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'timestampl' ). ENDTRY. WHEN cl_abap_typedescr=>typekind_date. @@ -759,7 +758,7 @@ CLASS zcl_convert IMPLEMENTATION. TRY. CONVERT DATE INTO TIME STAMP result TIME ZONE timezone. CATCH cx_root. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'timestampl' ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'timestampl' ). ENDTRY. WHEN cl_abap_typedescr=>typekind_utclong. @@ -767,11 +766,11 @@ CLASS zcl_convert IMPLEMENTATION. TRY. result = cl_abap_tstmp=>utclong2tstmp( ). CATCH cx_root. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'timestampl' ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'timestampl' ). ENDTRY. WHEN OTHERS. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'timestampl' ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'timestampl' ). ENDCASE. ENDMETHOD. @@ -815,7 +814,7 @@ CLASS zcl_convert IMPLEMENTATION. result = condense( CONV string( unixtime ) ). CATCH cx_root. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'unixtime' ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'unixtime' ). ENDTRY. ENDMETHOD. @@ -836,7 +835,7 @@ CLASS zcl_convert IMPLEMENTATION. TRY. result = CONV utclong( ). CATCH cx_root. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'utclong' ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'utclong' ). ENDTRY. WHEN cl_abap_typedescr=>typekind_date. @@ -844,11 +843,11 @@ CLASS zcl_convert IMPLEMENTATION. TRY. CONVERT DATE TIME t TIME ZONE timezone INTO UTCLONG result. CATCH cx_root. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'utclong' ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'utclong' ). ENDTRY. WHEN OTHERS. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'utclong' ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'utclong' ). ENDCASE. ENDMETHOD. @@ -866,15 +865,14 @@ CLASS zcl_convert IMPLEMENTATION. OR cl_abap_typedescr=>typekind_xstring. IF encoding IS NOT INITIAL. - RAISE EXCEPTION TYPE zcx_error_text - EXPORTING - text = 'Cannot convert encoding since data is already in hex format'. + " Cannot convert encoding since data is already in hex format + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'xstring' ). ENDIF. TRY. result = CONV xstring( ). CATCH cx_root. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'xstring' ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'xstring' ). ENDTRY. WHEN cl_abap_typedescr=>typekind_char @@ -910,13 +908,11 @@ CLASS zcl_convert IMPLEMENTATION. RECEIVING rv_xstring = result. CATCH cx_root INTO DATA(error). - RAISE EXCEPTION TYPE zcx_error_text - EXPORTING - text = _conversion_error( 'xstring' ) && error->get_text( ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'xstring' ). ENDTRY. WHEN OTHERS. - RAISE EXCEPTION TYPE zcx_error_text EXPORTING text = _conversion_error( 'xstring' ). + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'xstring' ). ENDCASE. ENDMETHOD. diff --git a/src/zcl_convert.clas.locals_imp.abap b/src/#apmg#cl_convert.clas.locals_imp.abap similarity index 89% rename from src/zcl_convert.clas.locals_imp.abap rename to src/#apmg#cl_convert.clas.locals_imp.abap index 62109df..7182d2a 100644 --- a/src/zcl_convert.clas.locals_imp.abap +++ b/src/#apmg#cl_convert.clas.locals_imp.abap @@ -13,13 +13,13 @@ CLASS lcl_utils DEFINITION. IMPORTING !encoding TYPE string RAISING - zcx_error. + /apmg/cx_error. CLASS-METHODS validate_timezone IMPORTING !timezone TYPE string RAISING - zcx_error. + /apmg/cx_error. CLASS-METHODS is_timestamp IMPORTING @@ -53,13 +53,13 @@ CLASS lcl_utils IMPLEMENTATION. ENDIF. WHEN cl_abap_typedescr=>typekind_decfloat. IF is_long = abap_true. - result = 'decimal loating point number'(105). + result = 'decimal floating point number'(105). ELSE. result = 'decfloat'(005). ENDIF. WHEN cl_abap_typedescr=>typekind_decfloat16. IF is_long = abap_true. - result = 'decimal loating point number with 16 places'(106). + result = 'decimal floating point number with 16 places'(106). ELSE. result = 'decfloat16'(006). ENDIF. @@ -178,16 +178,19 @@ CLASS lcl_utils IMPLEMENTATION. METHOD validate_encoding. CASE encoding. - WHEN zcl_convert=>c_encoding-ascii - OR zcl_convert=>c_encoding-utf_8 - OR zcl_convert=>c_encoding-utf_16_be - OR zcl_convert=>c_encoding-utf_16_le - OR zcl_convert=>c_encoding-utf_32_be - OR zcl_convert=>c_encoding-utf_32_le + WHEN /apmg/cl_convert=>c_encoding-ascii + OR /apmg/cl_convert=>c_encoding-utf_8 + OR /apmg/cl_convert=>c_encoding-utf_16_be + OR /apmg/cl_convert=>c_encoding-utf_16_le + OR /apmg/cl_convert=>c_encoding-utf_32_be + OR /apmg/cl_convert=>c_encoding-utf_32_le OR ''. RETURN. WHEN OTHERS. - zcx_error=>raise( |Invalid encoding: { encoding }| ). +* RAISE EXCEPTION TYPE /apmg/cx_error +* EXPORTING +* src = '' +* dst = encoding. ENDCASE. ENDMETHOD. @@ -197,7 +200,10 @@ CLASS lcl_utils IMPLEMENTATION. SELECT COUNT(*) FROM ttzz INTO @DATA(count) WHERE tzone = @timezone AND flagactive = @abap_true. IF count <> 1. - zcx_error=>raise( |Invalid timezone: { timezone }| ). +* RAISE EXCEPTION TYPE /apmg/cx_error +* EXPORTING +* src = '' +* dst = timezone. ENDIF. ENDMETHOD. diff --git a/src/zcl_convert.clas.testclasses.abap b/src/#apmg#cl_convert.clas.testclasses.abap similarity index 79% rename from src/zcl_convert.clas.testclasses.abap rename to src/#apmg#cl_convert.clas.testclasses.abap index a685979..7305740 100644 --- a/src/zcl_convert.clas.testclasses.abap +++ b/src/#apmg#cl_convert.clas.testclasses.abap @@ -38,53 +38,53 @@ CLASS ltcl_convert DEFINITION FOR TESTING RISK LEVEL HARMLESS * END OF c_regex DATA: - i TYPE REF TO zcl_convert, - i8 TYPE REF TO zcl_convert, - f TYPE REF TO zcl_convert, - d16 TYPE REF TO zcl_convert, - d34 TYPE REF TO zcl_convert, - p TYPE REF TO zcl_convert, - c TYPE REF TO zcl_convert, - c_number TYPE REF TO zcl_convert, - n TYPE REF TO zcl_convert, - str TYPE REF TO zcl_convert, - str_number TYPE REF TO zcl_convert, - str_float TYPE REF TO zcl_convert, - str_date TYPE REF TO zcl_convert, - str_time TYPE REF TO zcl_convert, - str_timestamp TYPE REF TO zcl_convert, - str_timestampl TYPE REF TO zcl_convert, - d TYPE REF TO zcl_convert, - t TYPE REF TO zcl_convert, - x TYPE REF TO zcl_convert, - xstr TYPE REF TO zcl_convert, - timestamp TYPE REF TO zcl_convert, - timestampl TYPE REF TO zcl_convert, - utclong TYPE REF TO zcl_convert. + i TYPE REF TO /apmg/cl_convert, + i8 TYPE REF TO /apmg/cl_convert, + f TYPE REF TO /apmg/cl_convert, + d16 TYPE REF TO /apmg/cl_convert, + d34 TYPE REF TO /apmg/cl_convert, + p TYPE REF TO /apmg/cl_convert, + c TYPE REF TO /apmg/cl_convert, + c_number TYPE REF TO /apmg/cl_convert, + n TYPE REF TO /apmg/cl_convert, + str TYPE REF TO /apmg/cl_convert, + str_number TYPE REF TO /apmg/cl_convert, + str_float TYPE REF TO /apmg/cl_convert, + str_date TYPE REF TO /apmg/cl_convert, + str_time TYPE REF TO /apmg/cl_convert, + str_timestamp TYPE REF TO /apmg/cl_convert, + str_timestampl TYPE REF TO /apmg/cl_convert, + d TYPE REF TO /apmg/cl_convert, + t TYPE REF TO /apmg/cl_convert, + x TYPE REF TO /apmg/cl_convert, + xstr TYPE REF TO /apmg/cl_convert, + timestamp TYPE REF TO /apmg/cl_convert, + timestampl TYPE REF TO /apmg/cl_convert, + utclong TYPE REF TO /apmg/cl_convert. METHODS: setup, - to_char FOR TESTING RAISING zcx_error, - to_bool FOR TESTING RAISING zcx_error, - to_date FOR TESTING RAISING zcx_error, - to_decfloat16 FOR TESTING RAISING zcx_error, - to_decfloat34 FOR TESTING RAISING zcx_error, - to_epoch FOR TESTING RAISING zcx_error, - to_float FOR TESTING RAISING zcx_error, - to_hex FOR TESTING RAISING zcx_error, - to_int FOR TESTING RAISING zcx_error, - to_int8 FOR TESTING RAISING zcx_error, - to_isotime FOR TESTING RAISING zcx_error, - to_packed FOR TESTING RAISING zcx_error, - to_string FOR TESTING RAISING zcx_error, - to_time FOR TESTING RAISING zcx_error, - to_timestamp FOR TESTING RAISING zcx_error, - to_timestampl FOR TESTING RAISING zcx_error, - to_typekind FOR TESTING RAISING zcx_error, - to_typetext FOR TESTING RAISING zcx_error, - to_unixtime FOR TESTING RAISING zcx_error, - to_utclong FOR TESTING RAISING zcx_error, - to_xstring FOR TESTING RAISING zcx_error. + to_char FOR TESTING RAISING /apmg/cx_error, + to_bool FOR TESTING RAISING /apmg/cx_error, + to_date FOR TESTING RAISING /apmg/cx_error, + to_decfloat16 FOR TESTING RAISING /apmg/cx_error, + to_decfloat34 FOR TESTING RAISING /apmg/cx_error, + to_epoch FOR TESTING RAISING /apmg/cx_error, + to_float FOR TESTING RAISING /apmg/cx_error, + to_hex FOR TESTING RAISING /apmg/cx_error, + to_int FOR TESTING RAISING /apmg/cx_error, + to_int8 FOR TESTING RAISING /apmg/cx_error, + to_isotime FOR TESTING RAISING /apmg/cx_error, + to_packed FOR TESTING RAISING /apmg/cx_error, + to_string FOR TESTING RAISING /apmg/cx_error, + to_time FOR TESTING RAISING /apmg/cx_error, + to_timestamp FOR TESTING RAISING /apmg/cx_error, + to_timestampl FOR TESTING RAISING /apmg/cx_error, + to_typekind FOR TESTING RAISING /apmg/cx_error, + to_typetext FOR TESTING RAISING /apmg/cx_error, + to_unixtime FOR TESTING RAISING /apmg/cx_error, + to_utclong FOR TESTING RAISING /apmg/cx_error, + to_xstring FOR TESTING RAISING /apmg/cx_error. ENDCLASS. @@ -127,25 +127,25 @@ CLASS ltcl_convert IMPLEMENTATION. TRY. i8->to_int( ). cl_abap_unit_assert=>fail( ). - CATCH zcx_error. + CATCH /apmg/cx_error. ENDTRY. TRY. f->to_int( ). cl_abap_unit_assert=>fail( ). - CATCH zcx_error. + CATCH /apmg/cx_error. ENDTRY. TRY. d16->to_int( ). cl_abap_unit_assert=>fail( ). - CATCH zcx_error. + CATCH /apmg/cx_error. ENDTRY. TRY. d34->to_int( ). cl_abap_unit_assert=>fail( ). - CATCH zcx_error. + CATCH /apmg/cx_error. ENDTRY. cl_abap_unit_assert=>assert_equals( @@ -155,7 +155,7 @@ CLASS ltcl_convert IMPLEMENTATION. TRY. c->to_int( ). cl_abap_unit_assert=>fail( ). - CATCH zcx_error. + CATCH /apmg/cx_error. ENDTRY. cl_abap_unit_assert=>assert_equals( @@ -169,7 +169,7 @@ CLASS ltcl_convert IMPLEMENTATION. TRY. str->to_int( ). cl_abap_unit_assert=>fail( ). - CATCH zcx_error. + CATCH /apmg/cx_error. ENDTRY. cl_abap_unit_assert=>assert_equals( @@ -191,25 +191,25 @@ CLASS ltcl_convert IMPLEMENTATION. TRY. xstr->to_int( ). cl_abap_unit_assert=>fail( ). - CATCH zcx_error. + CATCH /apmg/cx_error. ENDTRY. TRY. timestamp->to_int( ). cl_abap_unit_assert=>fail( ). - CATCH zcx_error. + CATCH /apmg/cx_error. ENDTRY. TRY. timestampl->to_int( ). cl_abap_unit_assert=>fail( ). - CATCH zcx_error. + CATCH /apmg/cx_error. ENDTRY. TRY. utclong->to_int( ). cl_abap_unit_assert=>fail( ). - CATCH zcx_error. + CATCH /apmg/cx_error. ENDTRY. ENDMETHOD. diff --git a/src/#apmg#cl_convert.clas.xml b/src/#apmg#cl_convert.clas.xml new file mode 100644 index 0000000..4c369a2 --- /dev/null +++ b/src/#apmg#cl_convert.clas.xml @@ -0,0 +1,17 @@ + + + + + + /APMG/CL_CONVERT + E + Converter + 1 + X + X + X + X + + + + diff --git a/src/zcl_convert.clas.xml b/src/zcl_convert.clas.xml deleted file mode 100644 index b5e9b8b..0000000 --- a/src/zcl_convert.clas.xml +++ /dev/null @@ -1,325 +0,0 @@ - - - - - - ZCL_CONVERT - E - Converter - 1 - X - X - X - X - - - - I - 001 - character - 30 - - - I - 002 - character-like - 30 - - - I - 003 - text-like - 30 - - - I - 004 - date - 30 - - - I - 005 - decfloat - 30 - - - I - 006 - decfloat16 - 30 - - - I - 007 - decfloat34 - 30 - - - I - 008 - float - 30 - - - I - 009 - byte - 30 - - - I - 010 - integer - 30 - - - I - 011 - 1-byte integer - 30 - - - I - 012 - 2-byte integer - 30 - - - I - 013 - 4-byte integer - 30 - - - I - 014 - num - 30 - - - I - 015 - numeric - 30 - - - I - 016 - packed - 30 - - - I - 017 - simple - 30 - - - I - 018 - string - 30 - - - I - 019 - flat structure - 30 - - - I - 020 - deep structure - 30 - - - I - 021 - table - 30 - - - I - 022 - time - 30 - - - I - 023 - timestamp - 30 - - - I - 024 - wide character - 30 - - - I - 025 - byte-like - 30 - - - I - 026 - xstring - 30 - - - I - 027 - any - 30 - - - I - 028 - class - 30 - - - I - 029 - data object - 30 - - - I - 030 - data reference - 30 - - - I - 031 - interface - 30 - - - I - 032 - interface reference - 30 - - - I - 033 - object reference - 30 - - - I - 034 - boxed - 30 - - - I - 035 - enum - 30 - - - I - 101 - text field - 30 - - - I - 104 - date field - 30 - - - I - 105 - decimal loating point number - 50 - - - I - 106 - decimal loating point number with 16 places - 50 - - - I - 107 - decimal floating point number with 34 places - 50 - - - I - 108 - binary floating point number with 17 places - 50 - - - I - 109 - byte field - 30 - - - I - 110 - 4-byte integer - 30 - - - I - 114 - numeric text field - 30 - - - I - 116 - packed number - 30 - - - I - 118 - text string - 30 - - - I - 122 - time field - 30 - - - I - 126 - byte string - 30 - - - I - 127 - any type - 30 - - - I - 134 - boxed component - 30 - - - I - 135 - enumeration - 30 - - - - - From 724fb99b07cfe4134a343197917c4bbbf927b2a6 Mon Sep 17 00:00:00 2001 From: Marc Bernard <59966492+mbtools@users.noreply.github.com> Date: Tue, 29 Jul 2025 19:41:39 -0400 Subject: [PATCH 02/12] Update abaplint.json --- abaplint.json | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/abaplint.json b/abaplint.json index e87e1e7..13f9201 100644 --- a/abaplint.json +++ b/abaplint.json @@ -37,6 +37,7 @@ "CLAS", "DEVC", "INTF", + "NSPC", "PROG" ] }, @@ -148,7 +149,7 @@ "message_exists": true, "method_implemented_twice": true, "method_length": { - "exclude": ["zcl_convert.local_imp"] + "exclude": ["#apmg#cl_convert.local_imp.clas.abap"] }, "method_overwrites_builtin": true, "method_parameter_names": false, @@ -182,7 +183,7 @@ "aqqu": "^Z", "aqsg": "^Z", "auth": "^Z", - "clas": "^ZC(L|X)\\_", + "clas": "^/APMG/C(L|X)_CONVERT", "cmod": "^Z", "doma": "^Z", "dtel": "^Z", @@ -194,7 +195,7 @@ "idoc": "^Z", "ignoreNames": [], "ignorePatterns": [], - "intf": "^ZIF\\_", + "intf": "^/APMG/IF_CONVERT", "msag": "^Z", "patternKind": "required", "pinf": "^Z", @@ -281,9 +282,9 @@ "xml_consistency": true }, "syntax": { - "errorNamespace": "^(Z|Y|LCL_|TY_|LIF_)", + "errorNamespace": "^(/APMG/|LCL_|TY_|LIF_)", "globalConstants": [], "globalMacros": [], - "version": "v754" + "version": "v750" } } From 182a7d15877ca4cfafb1af60b152ceb2780acfda Mon Sep 17 00:00:00 2001 From: Marc Bernard <59966492+mbtools@users.noreply.github.com> Date: Tue, 29 Jul 2025 19:43:50 -0400 Subject: [PATCH 03/12] Update README.md --- README.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 0c9b5b1..0b0f921 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -![Version](https://img.shields.io/endpoint?url=https://shield.abappm.com/github/abapPM/ABAP-Convert/src/zcl_convert.clas.abap/c_version&label=Version&color=blue) +![Version](https://img.shields.io/endpoint?url=https://shield.abappm.com/github/abapPM/ABAP-Convert/src/%2523apmg%2523cl_convert.clas.abap/c_version&label=Version&color=blue) [![License](https://img.shields.io/github/license/abapPM/ABAP-Convert?label=License&color=success)](https://github.com/abapPM/ABAP-Convert/blob/main/LICENSE) [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg?color=success)](https://github.com/abapPM/.github/blob/main/CODE_OF_CONDUCT.md) @@ -6,27 +6,27 @@ # Convert Any Data Type -The last class you will need to convert between data types. Well, that's the goal 😁 +The last class you will ever need to convert between data types. Well, that's the goal 😁 -Do you remember how to convert a string to an xstring? How about an ABAP timestamp to Unixtime? Or a string to a CHAR with overflow check? Don't recall the syntax for the right string template to convert a timestamp to an ISO date? 🤔 +Do you remember how to convert a string to an xstring? How about converting an ABAP timestamp to Unix time? Or a string to a CHAR with overflow check? Do you recall the syntax for the correct string template to convert a timestamp to an ISO date? 🤔 Look no further and use this class 😄 NO WARRANTIES, [MIT License](https://github.com/abapPM/ABAP-Convert/blob/main/LICENSE) > [!NOTE] -> It might make sense to move various date/time conversions into a separate "Temporal" object like in [JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal). Open an issue to discuss if you're interested! +> It might make sense to move various date/time conversions into a separate "Temporal" object, like in [JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal). Open an issue to discuss if you're interested! ## Usage Create an instance with the source value and use one of the methods to get the target value. ```abap -DATA(str) = NEW zcl_convert( value )->to_string( ). +DATA(str) = NEW /apmg/cl_convert( value )->to_string( ). " or -DATA(str) = zcl_convert=>create( value )->to_string( ). +DATA(str) = /apmg/cl_convert=>create( value )->to_string( ). " or -DATA(conv) = NEW zcl_convert( ). +DATA(conv) = NEW /apmg/cl_convert( ). DATA(str) = conv->from( value )->to_string( ). ``` @@ -56,13 +56,13 @@ Method | Description `^` All date/time conversions include `timezone` as an optional parameter (default `UTC`). -`*` String and xstring conversions include `encodinng` (default `UTF8`) and `ignore_errors` as optional parameters. +`*` String and xstring conversions include `encoding` (default `UTF8`) and `ignore_errors` as optional parameters. Constructor options: Option | Description -------|------------ -`trim_strings` | Remove trailing spaces when convertin to string (including intermediate conversions) +`trim_strings` | Remove trailing spaces when converting to string (including intermediate conversions) ## Prerequisites @@ -82,7 +82,7 @@ All contributions are welcome! Read our [Contribution Guidelines](https://github You can install the developer version of ABAP CONVERT using [abapGit](https://github.com/abapGit/abapGit) either by creating a new online repository for `https://github.com/abapPM/ABAP-Convert`. -Recommended SAP package: `$CONVERT` +Recommended SAP package: `/APMG/CONVERT` ## About @@ -90,4 +90,4 @@ Made with ❤ in Canada Copyright 2025 apm.to Inc. -Follow [@marcf.be](https://bsky.app/profile/marcf.be) on Blueksy and [@marcfbe](https://linkedin.com/in/marcfbe) or LinkedIn +Follow [@marcf.be](https://bsky.app/profile/marcf.be) on Bluesky and [@marcfbe](https://linkedin.com/in/marcfbe) or LinkedIn From 5cecc4dc33ca53e3508260f4a80fba92ca69c6bd Mon Sep 17 00:00:00 2001 From: Marc Bernard <59966492+mbtools@users.noreply.github.com> Date: Tue, 29 Jul 2025 19:45:28 -0400 Subject: [PATCH 04/12] Update package.abap.json --- package.abap.json | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/package.abap.json b/package.abap.json index c792774..ed95d78 100644 --- a/package.abap.json +++ b/package.abap.json @@ -1,16 +1,18 @@ { - "name": "xxx", + "name": "convert", "version": "1.0.0", - "description": "XXX", + "description": "Convert any data type", "type": "module", "keywords": [ "abap", "apm", - "module" + "module", + "conversion", + "data types" ], "homepage": "https://abappm.com", "bugs": { - "url": "https://github.com/abapPM/ABAP-XXX" + "url": "https://github.com/abapPM/ABAP-Convert" }, "license": "MIT", "author": { @@ -26,7 +28,7 @@ } ], "repository": { - "url": "https://github.com/abapPM/ABAP-XXX" + "url": "https://github.com/abapPM/ABAP-Convert" }, "funding": { "type": "github", From 2b50fc0c4a43bc4e274935f70341dbae8e2391bb Mon Sep 17 00:00:00 2001 From: Marc Bernard Date: Tue, 29 Jul 2025 23:47:52 +0000 Subject: [PATCH 05/12] Text symbols --- src/#apmg#cl_convert.clas.xml | 308 ++++++++++++++++++++++++++++++++++ 1 file changed, 308 insertions(+) diff --git a/src/#apmg#cl_convert.clas.xml b/src/#apmg#cl_convert.clas.xml index 4c369a2..12b2d92 100644 --- a/src/#apmg#cl_convert.clas.xml +++ b/src/#apmg#cl_convert.clas.xml @@ -12,6 +12,314 @@ X X + + + I + 001 + character + 30 + + + I + 002 + character-like + 30 + + + I + 003 + text-like + 30 + + + I + 004 + date + 30 + + + I + 005 + decfloat + 30 + + + I + 006 + decfloat16 + 30 + + + I + 007 + decfloat34 + 30 + + + I + 008 + float + 30 + + + I + 009 + byte + 30 + + + I + 010 + integer + 30 + + + I + 011 + 1-byte integer + 30 + + + I + 012 + 2-byte integer + 30 + + + I + 013 + 4-byte integer + 30 + + + I + 014 + num + 30 + + + I + 015 + numeric + 30 + + + I + 016 + packed + 30 + + + I + 017 + simple + 30 + + + I + 018 + string + 30 + + + I + 019 + flat structure + 30 + + + I + 020 + deep structure + 30 + + + I + 021 + table + 30 + + + I + 022 + time + 30 + + + I + 023 + timestamp + 30 + + + I + 024 + wide character + 30 + + + I + 025 + byte-like + 30 + + + I + 026 + xstring + 30 + + + I + 027 + any + 30 + + + I + 028 + class + 30 + + + I + 029 + data object + 30 + + + I + 030 + data reference + 30 + + + I + 031 + interface + 30 + + + I + 032 + interface reference + 30 + + + I + 033 + object reference + 30 + + + I + 034 + boxed + 30 + + + I + 035 + enum + 30 + + + I + 101 + text field + 30 + + + I + 104 + date field + 30 + + + I + 105 + decimal loating point number + 50 + + + I + 106 + decimal loating point number with 16 places + 50 + + + I + 107 + decimal floating point number with 34 places + 50 + + + I + 108 + binary floating point number with 17 places + 50 + + + I + 109 + byte field + 30 + + + I + 110 + 4-byte integer + 30 + + + I + 114 + numeric text field + 30 + + + I + 116 + packed number + 30 + + + I + 118 + text string + 30 + + + I + 122 + time field + 30 + + + I + 126 + byte string + 30 + + + I + 127 + any type + 30 + + + I + 134 + boxed component + 30 + + + I + 135 + enumeration + 30 + + From e3038242364cbd42f3021257631ff08530701dbe Mon Sep 17 00:00:00 2001 From: Marc Bernard <59966492+mbtools@users.noreply.github.com> Date: Tue, 29 Jul 2025 19:49:24 -0400 Subject: [PATCH 06/12] Update abaplint.json --- abaplint.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/abaplint.json b/abaplint.json index 13f9201..fb05743 100644 --- a/abaplint.json +++ b/abaplint.json @@ -285,6 +285,6 @@ "errorNamespace": "^(/APMG/|LCL_|TY_|LIF_)", "globalConstants": [], "globalMacros": [], - "version": "v750" + "version": "v754" } } From 4bce6ecea5a6aa95f9b63107800a545519b3102d Mon Sep 17 00:00:00 2001 From: Marc Bernard Date: Tue, 29 Jul 2025 23:51:03 +0000 Subject: [PATCH 07/12] Lint --- .abapgit.xml | 2 +- src/#apmg#cl_convert.clas.abap | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.abapgit.xml b/.abapgit.xml index 8cef540..0a0f3a0 100644 --- a/.abapgit.xml +++ b/.abapgit.xml @@ -9,7 +9,7 @@ SAP_BASIS - 750 + 754 /APMG/CL_CONVERT=>C_VERSION diff --git a/src/#apmg#cl_convert.clas.abap b/src/#apmg#cl_convert.clas.abap index d4c30f1..f7fe246 100644 --- a/src/#apmg#cl_convert.clas.abap +++ b/src/#apmg#cl_convert.clas.abap @@ -490,7 +490,7 @@ CLASS /apmg/cl_convert IMPLEMENTATION. ENDTRY. IF result <> xstring_data. - RAISE EXCEPTION TYPE cx_sy_conversion_overflow EXPORTING value = 'any'. + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'hex' ). ENDIF. ENDMETHOD. From af82ad24072e64d7d52c1be1627d0f699569681f Mon Sep 17 00:00:00 2001 From: Marc Bernard <59966492+mbtools@users.noreply.github.com> Date: Tue, 29 Jul 2025 19:51:39 -0400 Subject: [PATCH 08/12] Update reuse.yml --- .github/workflows/reuse.yml | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/.github/workflows/reuse.yml b/.github/workflows/reuse.yml index bfa2099..7bc1392 100644 --- a/.github/workflows/reuse.yml +++ b/.github/workflows/reuse.yml @@ -1,11 +1,20 @@ +# SPDX-FileCopyrightText: 2022 Free Software Foundation Europe e.V. +# +# SPDX-License-Identifier: CC0-1.0 + name: REUSE Compliance Check -on: [push, pull_request,workflow_dispatch] +on: [push, pull_request, workflow_dispatch] + +permissions: + contents: read jobs: - test: + Reuse-Compliance-Check: runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: REUSE Compliance Check - uses: fsfe/reuse-action@v1 + uses: fsfe/reuse-action@694eabb15673ec601ea19d4cd949969141372512 # v5.0.0 From 7d76ec102d7716e489ccc9e89997d7c81758451f Mon Sep 17 00:00:00 2001 From: Marc Bernard <59966492+mbtools@users.noreply.github.com> Date: Tue, 29 Jul 2025 19:52:39 -0400 Subject: [PATCH 09/12] Delete .reuse/dep5 --- .reuse/dep5 | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 .reuse/dep5 diff --git a/.reuse/dep5 b/.reuse/dep5 deleted file mode 100644 index bb76a6f..0000000 --- a/.reuse/dep5 +++ /dev/null @@ -1,8 +0,0 @@ -Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ -Upstream-Name: ... -Upstream-Contact: Marc Bernard -Source: https://github.com/abapPM/ABAP-... - -Files: * -Copyright: 2024 apm.to Inc. -License: MIT From e1d60cc8571443bb9f9da71fb6b8c99b9d62704c Mon Sep 17 00:00:00 2001 From: Marc Bernard <59966492+mbtools@users.noreply.github.com> Date: Tue, 29 Jul 2025 19:53:57 -0400 Subject: [PATCH 10/12] Update abaplint.json --- abaplint.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/abaplint.json b/abaplint.json index fb05743..10233c9 100644 --- a/abaplint.json +++ b/abaplint.json @@ -227,7 +227,7 @@ "prefer_inline": true, "prefer_is_not": true, "prefer_pragmas": true, - "prefer_raise_exception_new": true, + "prefer_raise_exception_new": false, "prefer_returning_to_exporting": true, "prefer_xsdbool": true, "preferred_compare_operator": true, From 43f247d50613fe29cb4149d97181ab8317eecf3a Mon Sep 17 00:00:00 2001 From: Marc Bernard Date: Tue, 29 Jul 2025 23:56:03 +0000 Subject: [PATCH 11/12] Lint --- src/#apmg#cl_convert.clas.locals_imp.abap | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/#apmg#cl_convert.clas.locals_imp.abap b/src/#apmg#cl_convert.clas.locals_imp.abap index 7182d2a..a712e41 100644 --- a/src/#apmg#cl_convert.clas.locals_imp.abap +++ b/src/#apmg#cl_convert.clas.locals_imp.abap @@ -187,10 +187,7 @@ CLASS lcl_utils IMPLEMENTATION. OR ''. RETURN. WHEN OTHERS. -* RAISE EXCEPTION TYPE /apmg/cx_error -* EXPORTING -* src = '' -* dst = encoding. + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = |Unkown encoding: { encoding }|. ENDCASE. ENDMETHOD. @@ -200,10 +197,7 @@ CLASS lcl_utils IMPLEMENTATION. SELECT COUNT(*) FROM ttzz INTO @DATA(count) WHERE tzone = @timezone AND flagactive = @abap_true. IF count <> 1. -* RAISE EXCEPTION TYPE /apmg/cx_error -* EXPORTING -* src = '' -* dst = timezone. + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = |Too many timezones|. ENDIF. ENDMETHOD. From 701dc7fcf82d14cb3c9c9bd0a5b8ab82ba6fd247 Mon Sep 17 00:00:00 2001 From: Marc Bernard Date: Tue, 29 Jul 2025 23:57:44 +0000 Subject: [PATCH 12/12] Lint --- src/#apmg#cl_convert.clas.abap | 6 +++--- src/#apmg#cl_convert.clas.xml | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/#apmg#cl_convert.clas.abap b/src/#apmg#cl_convert.clas.abap index f7fe246..d04dbb1 100644 --- a/src/#apmg#cl_convert.clas.abap +++ b/src/#apmg#cl_convert.clas.abap @@ -315,7 +315,7 @@ CLASS /apmg/cl_convert IMPLEMENTATION. ENDTRY. IF condense( result ) <> condense( string_data ). - RAISE EXCEPTION TYPE cx_sy_conversion_overflow EXPORTING value = string_data. + RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'char' ). ENDIF. WHEN OTHERS. @@ -668,7 +668,7 @@ CLASS /apmg/cl_convert IMPLEMENTATION. iv_xstring = xstring_data RECEIVING rv_string = result. - CATCH cx_root INTO DATA(error). + CATCH cx_root. RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'string' ). ENDTRY. @@ -907,7 +907,7 @@ CLASS /apmg/cl_convert IMPLEMENTATION. iv_string = string_data RECEIVING rv_xstring = result. - CATCH cx_root INTO DATA(error). + CATCH cx_root. RAISE EXCEPTION TYPE /apmg/cx_error_text EXPORTING text = _conversion_error( 'xstring' ). ENDTRY. diff --git a/src/#apmg#cl_convert.clas.xml b/src/#apmg#cl_convert.clas.xml index 12b2d92..cfb7af2 100644 --- a/src/#apmg#cl_convert.clas.xml +++ b/src/#apmg#cl_convert.clas.xml @@ -238,13 +238,13 @@ I 105 - decimal loating point number + decimal floating point number 50 I 106 - decimal loating point number with 16 places + decimal floating point number with 16 places 50