mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
UENO: Clear/fill user, date, and time fields (#5520)
Apply clear/fill rules to user and time-specific fields Co-authored-by: Lars Hvam <larshp@hotmail.com>
This commit is contained in:
parent
d35e3548d8
commit
6524d2fcee
|
@ -106,6 +106,9 @@ CLASS zcl_abapgit_object_ueno DEFINITION
|
|||
VALUE(ro_generic) TYPE REF TO zcl_abapgit_objects_generic
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
METHODS get_field_rules
|
||||
RETURNING
|
||||
VALUE(ro_result) TYPE REF TO zif_abapgit_field_rules.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
@ -366,10 +369,80 @@ CLASS zcl_abapgit_object_ueno IMPLEMENTATION.
|
|||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD get_field_rules.
|
||||
|
||||
DATA:
|
||||
lt_fields TYPE TABLE OF string,
|
||||
lv_fields TYPE string,
|
||||
lv_table TYPE tabname,
|
||||
lv_field TYPE string,
|
||||
lv_rule TYPE string,
|
||||
lv_rule_iter TYPE string,
|
||||
lv_fill_rule TYPE zif_abapgit_field_rules=>ty_fill_rule,
|
||||
lv_prefix TYPE fieldname,
|
||||
lv_suffix TYPE fieldname.
|
||||
|
||||
ro_result = zcl_abapgit_field_rules=>create( ).
|
||||
|
||||
" Many tables and fields with date,time,user so we encode them
|
||||
APPEND 'DM02L,FL,DTU' TO lt_fields.
|
||||
APPEND 'DM02T,L,DTU' TO lt_fields.
|
||||
APPEND 'DM03S,FL,DTU' TO lt_fields.
|
||||
APPEND 'DM25L,FL,DTU' TO lt_fields.
|
||||
APPEND 'DM26L,FL,DTU' TO lt_fields.
|
||||
APPEND 'DM42S,FL,DTU' TO lt_fields.
|
||||
APPEND 'DM42T,L,DTU' TO lt_fields.
|
||||
APPEND 'DM43T,L,DU' TO lt_fields.
|
||||
APPEND 'DM45L,FL,DTU' TO lt_fields.
|
||||
APPEND 'DM45T,L,DTU' TO lt_fields.
|
||||
APPEND 'DM46S,FL,DTU' TO lt_fields.
|
||||
|
||||
LOOP AT lt_fields INTO lv_fields.
|
||||
SPLIT lv_fields AT ',' INTO lv_table lv_field lv_rule_iter.
|
||||
|
||||
DO strlen( lv_field ) TIMES.
|
||||
CASE lv_field(1).
|
||||
WHEN 'F'.
|
||||
lv_prefix = 'FST'.
|
||||
WHEN 'L'.
|
||||
lv_prefix = 'LST'.
|
||||
ENDCASE.
|
||||
|
||||
lv_rule = lv_rule_iter.
|
||||
DO strlen( lv_rule ) TIMES.
|
||||
CASE lv_rule(1).
|
||||
WHEN 'D'.
|
||||
lv_suffix = 'DATE'.
|
||||
lv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-date.
|
||||
WHEN 'T'.
|
||||
lv_suffix = 'TIME'.
|
||||
lv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-time.
|
||||
WHEN 'U'.
|
||||
lv_suffix = 'USER'.
|
||||
lv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-user.
|
||||
ENDCASE.
|
||||
|
||||
ro_result->add(
|
||||
iv_table = lv_table
|
||||
iv_field = lv_prefix && lv_suffix
|
||||
iv_fill_rule = lv_fill_rule ).
|
||||
|
||||
SHIFT lv_rule LEFT.
|
||||
ENDDO.
|
||||
|
||||
SHIFT lv_field LEFT.
|
||||
ENDDO.
|
||||
|
||||
ENDLOOP.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD get_generic.
|
||||
|
||||
CREATE OBJECT ro_generic
|
||||
EXPORTING
|
||||
io_field_rules = get_field_rules( )
|
||||
is_item = ms_item
|
||||
iv_language = mv_language.
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user