mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 11:46:38 +08:00
Add support for ABAP Language Version for generic (#7218)
Co-authored-by: Lars Hvam <larshp@hotmail.com>
This commit is contained in:
parent
cc414d26e0
commit
b9389bde33
|
@ -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,
|
||||||
|
@ -26,8 +28,10 @@ CLASS zcl_abapgit_field_rules DEFINITION
|
||||||
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.
|
||||||
|
|
||||||
|
@ -111,6 +117,7 @@ CLASS zcl_abapgit_field_rules IMPLEMENTATION.
|
||||||
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.
|
||||||
|
|
|
@ -4,6 +4,7 @@ CLASS ltcl_field_rules DEFINITION FOR TESTING RISK LEVEL HARMLESS
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
|
|
||||||
CONSTANTS:
|
CONSTANTS:
|
||||||
|
c_abap_cloud TYPE uccheck VALUE '5',
|
||||||
c_package TYPE devclass VALUE '$TMP',
|
c_package TYPE devclass VALUE '$TMP',
|
||||||
c_table TYPE tabname VALUE 'ZTEST'.
|
c_table TYPE tabname VALUE 'ZTEST'.
|
||||||
|
|
||||||
|
@ -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,
|
||||||
|
@ -57,6 +60,7 @@ CLASS ltcl_field_rules IMPLEMENTATION.
|
||||||
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 ).
|
||||||
|
|
||||||
|
@ -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( ).
|
||||||
|
@ -218,6 +233,7 @@ CLASS ltcl_field_rules IMPLEMENTATION.
|
||||||
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 ).
|
||||||
|
|
||||||
|
@ -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.
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
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',
|
||||||
|
@ -9,6 +10,7 @@ INTERFACE zif_abapgit_field_rules
|
||||||
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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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.
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user