Merge branch 'main' into hvam/npm1804

This commit is contained in:
Lars Hvam 2025-04-22 08:20:28 +02:00 committed by GitHub
commit b6f6afef3e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
10 changed files with 111 additions and 26 deletions

View File

@ -10,8 +10,10 @@ CLASS zcl_abapgit_field_rules DEFINITION
CLASS-METHODS create CLASS-METHODS create
RETURNING RETURNING
VALUE(ro_result) TYPE REF TO zif_abapgit_field_rules. VALUE(ro_result) TYPE REF TO zif_abapgit_field_rules.
PROTECTED SECTION. PROTECTED SECTION.
PRIVATE SECTION. PRIVATE SECTION.
TYPES: TYPES:
BEGIN OF ty_item, BEGIN OF ty_item,
tabname TYPE tabname, tabname TYPE tabname,
@ -24,10 +26,12 @@ CLASS zcl_abapgit_field_rules DEFINITION
METHODS fill_value METHODS fill_value
IMPORTING IMPORTING
iv_rule TYPE zif_abapgit_field_rules=>ty_fill_rule iv_rule TYPE zif_abapgit_field_rules=>ty_fill_rule
iv_package TYPE devclass iv_package TYPE devclass
iv_abap_language_version TYPE uccheck OPTIONAL
CHANGING CHANGING
cv_value TYPE any. cv_value TYPE any.
ENDCLASS. ENDCLASS.
@ -56,6 +60,8 @@ CLASS zcl_abapgit_field_rules IMPLEMENTATION.
cv_value = sy-mandt. cv_value = sy-mandt.
WHEN zif_abapgit_field_rules=>c_fill_rule-package. WHEN zif_abapgit_field_rules=>c_fill_rule-package.
cv_value = iv_package. cv_value = iv_package.
WHEN zif_abapgit_field_rules=>c_fill_rule-abap_language_version.
cv_value = iv_abap_language_version.
ENDCASE. ENDCASE.
ENDMETHOD. ENDMETHOD.
@ -109,10 +115,11 @@ CLASS zcl_abapgit_field_rules IMPLEMENTATION.
IF sy-subrc = 0. IF sy-subrc = 0.
fill_value( fill_value(
EXPORTING EXPORTING
iv_rule = ls_item-fill_rule iv_rule = ls_item-fill_rule
iv_package = iv_package iv_package = iv_package
iv_abap_language_version = iv_abap_language_version
CHANGING CHANGING
cv_value = <lv_value> ). cv_value = <lv_value> ).
ENDIF. ENDIF.
ENDLOOP. ENDLOOP.
ENDLOOP. ENDLOOP.

View File

@ -4,8 +4,9 @@ CLASS ltcl_field_rules DEFINITION FOR TESTING RISK LEVEL HARMLESS
PRIVATE SECTION. PRIVATE SECTION.
CONSTANTS: CONSTANTS:
c_package TYPE devclass VALUE '$TMP', c_abap_cloud TYPE uccheck VALUE '5',
c_table TYPE tabname VALUE 'ZTEST'. c_package TYPE devclass VALUE '$TMP',
c_table TYPE tabname VALUE 'ZTEST'.
TYPES: TYPES:
BEGIN OF ty_test, BEGIN OF ty_test,
@ -15,6 +16,7 @@ CLASS ltcl_field_rules DEFINITION FOR TESTING RISK LEVEL HARMLESS
time TYPE t, time TYPE t,
ts TYPE timestamp, ts TYPE timestamp,
tl TYPE timestampl, tl TYPE timestampl,
alav TYPE uccheck,
END OF ty_test. END OF ty_test.
DATA mo_cut TYPE REF TO zcl_abapgit_field_rules. DATA mo_cut TYPE REF TO zcl_abapgit_field_rules.
@ -33,6 +35,7 @@ CLASS ltcl_field_rules DEFINITION FOR TESTING RISK LEVEL HARMLESS
fill5 FOR TESTING, fill5 FOR TESTING,
fill6 FOR TESTING, fill6 FOR TESTING,
fill7 FOR TESTING, fill7 FOR TESTING,
fill8 FOR TESTING,
get_rules get_rules
RETURNING RETURNING
VALUE(ri_rules) TYPE REF TO zif_abapgit_field_rules, VALUE(ri_rules) TYPE REF TO zif_abapgit_field_rules,
@ -55,10 +58,11 @@ CLASS ltcl_field_rules IMPLEMENTATION.
mo_cut->fill_value( mo_cut->fill_value(
EXPORTING EXPORTING
iv_rule = iv_rule iv_rule = iv_rule
iv_package = c_package iv_package = c_package
iv_abap_language_version = c_abap_cloud
CHANGING CHANGING
cv_value = lv_act ). cv_value = lv_act ).
IF iv_len IS NOT INITIAL. IF iv_len IS NOT INITIAL.
lv_act = lv_act(iv_len). lv_act = lv_act(iv_len).
@ -116,6 +120,12 @@ CLASS ltcl_field_rules IMPLEMENTATION.
iv_exp = '' ). iv_exp = '' ).
ENDMETHOD. ENDMETHOD.
METHOD fill8.
fill_value(
iv_rule = zif_abapgit_field_rules=>c_fill_rule-abap_language_version
iv_exp = |{ c_abap_cloud }| ).
ENDMETHOD.
METHOD get_rules. METHOD get_rules.
ri_rules = zcl_abapgit_field_rules=>create( )->add( ri_rules = zcl_abapgit_field_rules=>create( )->add(
@ -137,7 +147,11 @@ CLASS ltcl_field_rules IMPLEMENTATION.
)->add( )->add(
iv_table = c_table iv_table = c_table
iv_field = 'TL' iv_field = 'TL'
iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-timestamp ). iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-timestamp
)->add(
iv_table = c_table
iv_field = 'ALAV'
iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-abap_language_version ).
ENDMETHOD. ENDMETHOD.
@ -159,6 +173,7 @@ CLASS ltcl_field_rules IMPLEMENTATION.
ls_act-user = 'FRANK'. ls_act-user = 'FRANK'.
ls_act-date = '20230101'. ls_act-date = '20230101'.
ls_act-time = '000001'. ls_act-time = '000001'.
ls_act-alav = '5'. " ABAP Cloud
INSERT ls_act INTO TABLE lt_act. INSERT ls_act INTO TABLE lt_act.
li_rules = get_rules( ). li_rules = get_rules( ).
@ -216,10 +231,11 @@ CLASS ltcl_field_rules IMPLEMENTATION.
li_rules->apply_fill_logic( li_rules->apply_fill_logic(
EXPORTING EXPORTING
iv_table = c_table iv_table = c_table
iv_package = c_package iv_package = c_package
iv_abap_language_version = c_abap_cloud
CHANGING CHANGING
ct_data = lt_act ). ct_data = lt_act ).
cl_abap_unit_assert=>assert_equals( cl_abap_unit_assert=>assert_equals(
act = lines( lt_act ) act = lines( lt_act )
@ -265,6 +281,9 @@ CLASS ltcl_field_rules IMPLEMENTATION.
cl_abap_unit_assert=>assert_equals( cl_abap_unit_assert=>assert_equals(
act = ls_act-time(4) act = ls_act-time(4)
exp = sy-uzeit(4) ). " avoid comparing seconds exp = sy-uzeit(4) ). " avoid comparing seconds
cl_abap_unit_assert=>assert_equals(
act = ls_act-alav
exp = c_abap_cloud ).
ENDMETHOD. ENDMETHOD.
ENDCLASS. ENDCLASS.

View File

@ -1,14 +1,16 @@
INTERFACE zif_abapgit_field_rules INTERFACE zif_abapgit_field_rules PUBLIC.
PUBLIC .
TYPES ty_fill_rule TYPE c LENGTH 2. TYPES ty_fill_rule TYPE c LENGTH 2.
CONSTANTS: CONSTANTS:
BEGIN OF c_fill_rule, BEGIN OF c_fill_rule,
date TYPE ty_fill_rule VALUE 'DT', date TYPE ty_fill_rule VALUE 'DT',
time TYPE ty_fill_rule VALUE 'TM', time TYPE ty_fill_rule VALUE 'TM',
timestamp TYPE ty_fill_rule VALUE 'TS', timestamp TYPE ty_fill_rule VALUE 'TS',
user TYPE ty_fill_rule VALUE 'UR', user TYPE ty_fill_rule VALUE 'UR',
client TYPE ty_fill_rule VALUE 'CT', client TYPE ty_fill_rule VALUE 'CT',
package TYPE ty_fill_rule VALUE 'PK', package TYPE ty_fill_rule VALUE 'PK',
abap_language_version TYPE ty_fill_rule VALUE 'AL',
END OF c_fill_rule. END OF c_fill_rule.
METHODS add METHODS add
@ -18,15 +20,19 @@ INTERFACE zif_abapgit_field_rules
iv_fill_rule TYPE ty_fill_rule iv_fill_rule TYPE ty_fill_rule
RETURNING RETURNING
VALUE(ro_self) TYPE REF TO zif_abapgit_field_rules. VALUE(ro_self) TYPE REF TO zif_abapgit_field_rules.
METHODS apply_clear_logic METHODS apply_clear_logic
IMPORTING IMPORTING
iv_table TYPE tabname iv_table TYPE tabname
CHANGING CHANGING
ct_data TYPE STANDARD TABLE. ct_data TYPE STANDARD TABLE.
METHODS apply_fill_logic METHODS apply_fill_logic
IMPORTING IMPORTING
iv_table TYPE tabname iv_table TYPE tabname
iv_package TYPE devclass iv_package TYPE devclass
iv_abap_language_version TYPE uccheck OPTIONAL
CHANGING CHANGING
ct_data TYPE STANDARD TABLE. ct_data TYPE STANDARD TABLE.
ENDINTERFACE. ENDINTERFACE.

View File

@ -60,6 +60,13 @@ CLASS zcl_abapgit_object_g4ba IMPLEMENTATION.
iv_field = 'CHANGED_TS' iv_field = 'CHANGED_TS'
iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-timestamp ). iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-timestamp ).
IF ms_item-abap_language_version = zcl_abapgit_abap_language_vers=>c_no_abap_language_version.
ro_result->add(
iv_table = '/IWBEP/I_V4_MSGR'
iv_field = 'ABAP_LANGUAGE_VERSION'
iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-abap_language_version ).
ENDIF.
ENDMETHOD. ENDMETHOD.

View File

@ -60,6 +60,13 @@ CLASS zcl_abapgit_object_g4bs IMPLEMENTATION.
iv_field = 'CHANGED_TS' iv_field = 'CHANGED_TS'
iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-timestamp ). iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-timestamp ).
IF ms_item-abap_language_version = zcl_abapgit_abap_language_vers=>c_no_abap_language_version.
ro_result->add(
iv_table = '/IWBEP/I_V4_MSRV'
iv_field = 'ABAP_LANGUAGE_VERSION'
iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-abap_language_version ).
ENDIF.
ENDMETHOD. ENDMETHOD.

View File

@ -42,6 +42,14 @@ CLASS zcl_abapgit_object_iwmo IMPLEMENTATION.
iv_table = '/IWBEP/I_MGW_OHD' iv_table = '/IWBEP/I_MGW_OHD'
iv_field = 'CHANGED_TIMESTMP' iv_field = 'CHANGED_TIMESTMP'
iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-timestamp ). iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-timestamp ).
IF ms_item-abap_language_version = zcl_abapgit_abap_language_vers=>c_no_abap_language_version.
ro_result->add(
iv_table = '/IWBEP/I_MGW_OHD'
iv_field = 'ABAP_LANGUAGE_VERSION'
iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-abap_language_version ).
ENDIF.
ENDMETHOD. ENDMETHOD.

View File

@ -42,6 +42,14 @@ CLASS zcl_abapgit_object_iwom IMPLEMENTATION.
iv_table = '/IWFND/I_MED_OHD' iv_table = '/IWFND/I_MED_OHD'
iv_field = 'CHANGED_TIMESTMP' iv_field = 'CHANGED_TIMESTMP'
iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-timestamp ). iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-timestamp ).
IF ms_item-abap_language_version = zcl_abapgit_abap_language_vers=>c_no_abap_language_version.
ro_result->add(
iv_table = '/IWFND/I_MED_OHD'
iv_field = 'ABAP_LANGUAGE_VERSION'
iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-abap_language_version ).
ENDIF.
ENDMETHOD. ENDMETHOD.

View File

@ -44,6 +44,13 @@ CLASS zcl_abapgit_object_iwsg IMPLEMENTATION.
iv_field = 'CHANGED_TIMESTMP' iv_field = 'CHANGED_TIMESTMP'
iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-timestamp ). iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-timestamp ).
IF ms_item-abap_language_version = zcl_abapgit_abap_language_vers=>c_no_abap_language_version.
ro_result->add(
iv_table = '/IWFND/I_MED_SRH'
iv_field = 'ABAP_LANGUAGE_VERSION'
iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-abap_language_version ).
ENDIF.
ENDMETHOD. ENDMETHOD.

View File

@ -42,6 +42,14 @@ CLASS zcl_abapgit_object_iwsv IMPLEMENTATION.
iv_table = '/IWBEP/I_MGW_SRH' iv_table = '/IWBEP/I_MGW_SRH'
iv_field = 'CHANGED_TIMESTMP' iv_field = 'CHANGED_TIMESTMP'
iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-timestamp ). iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-timestamp ).
IF ms_item-abap_language_version = zcl_abapgit_abap_language_vers=>c_no_abap_language_version.
ro_result->add(
iv_table = '/IWBEP/I_MGW_SRH'
iv_field = 'ABAP_LANGUAGE_VERSION'
iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-abap_language_version ).
ENDIF.
ENDMETHOD. ENDMETHOD.

View File

@ -42,6 +42,14 @@ CLASS zcl_abapgit_object_iwvb IMPLEMENTATION.
iv_table = '/IWBEP/I_MGW_VAH' iv_table = '/IWBEP/I_MGW_VAH'
iv_field = 'CHANGED_TIMESTMP' iv_field = 'CHANGED_TIMESTMP'
iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-timestamp ). iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-timestamp ).
IF ms_item-abap_language_version = zcl_abapgit_abap_language_vers=>c_no_abap_language_version.
ro_result->add(
iv_table = '/IWBEP/I_MGW_VAH'
iv_field = 'ABAP_LANGUAGE_VERSION'
iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-abap_language_version ).
ENDIF.
ENDMETHOD. ENDMETHOD.