Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 17x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | CLASS zcl_abapgit_field_rules DEFINITION PUBLIC FINAL CREATE PRIVATE. PUBLIC SECTION. INTERFACES zif_abapgit_field_rules. CLASS-METHODS create RETURNING VALUE(ro_result) TYPE REF TO zif_abapgit_field_rules. PROTECTED SECTION. PRIVATE SECTION. TYPES: BEGIN OF ty_item, tabname TYPE tabname, fieldname TYPE fieldname, fill_rule TYPE zif_abapgit_field_rules=>ty_fill_rule, END OF ty_item, ty_items TYPE SORTED TABLE OF ty_item WITH UNIQUE KEY tabname fieldname. DATA mt_item TYPE ty_items. METHODS fill_value IMPORTING iv_rule TYPE zif_abapgit_field_rules=>ty_fill_rule iv_package TYPE devclass CHANGING cv_value TYPE any. ENDCLASS. CLASS zcl_abapgit_field_rules IMPLEMENTATION. METHOD create. CREATE OBJECT ro_result TYPE zcl_abapgit_field_rules. ENDMETHOD. METHOD fill_value. DATA lv_timestamp TYPE timestampl. CASE iv_rule. WHEN zif_abapgit_field_rules=>c_fill_rule-date. cv_value = sy-datum. WHEN zif_abapgit_field_rules=>c_fill_rule-time. cv_value = sy-uzeit. WHEN zif_abapgit_field_rules=>c_fill_rule-timestamp. GET TIME STAMP FIELD lv_timestamp. cv_value = lv_timestamp. WHEN zif_abapgit_field_rules=>c_fill_rule-user. cv_value = sy-uname. WHEN zif_abapgit_field_rules=>c_fill_rule-client. cv_value = sy-mandt. WHEN zif_abapgit_field_rules=>c_fill_rule-package. cv_value = iv_package. ENDCASE. ENDMETHOD. METHOD zif_abapgit_field_rules~add. DATA ls_item TYPE ty_item. ls_item-tabname = iv_table. ls_item-fieldname = iv_field. ls_item-fill_rule = iv_fill_rule. INSERT ls_item INTO TABLE mt_item. ro_self = me. ENDMETHOD. METHOD zif_abapgit_field_rules~apply_clear_logic. DATA ls_item TYPE ty_item. FIELD-SYMBOLS <ls_data> TYPE any. FIELD-SYMBOLS <lv_value> TYPE any. IF mt_item IS INITIAL. RETURN. ENDIF. LOOP AT ct_data ASSIGNING <ls_data>. LOOP AT mt_item INTO ls_item WHERE tabname = iv_table. ASSIGN COMPONENT ls_item-fieldname OF STRUCTURE <ls_data> TO <lv_value>. IF sy-subrc = 0. CLEAR <lv_value>. ENDIF. ENDLOOP. ENDLOOP. ENDMETHOD. METHOD zif_abapgit_field_rules~apply_fill_logic. DATA ls_item TYPE ty_item. FIELD-SYMBOLS <ls_data> TYPE any. FIELD-SYMBOLS <lv_value> TYPE any. IF mt_item IS INITIAL. RETURN. ENDIF. LOOP AT ct_data ASSIGNING <ls_data>. LOOP AT mt_item INTO ls_item WHERE tabname = iv_table. ASSIGN COMPONENT ls_item-fieldname OF STRUCTURE <ls_data> TO <lv_value>. IF sy-subrc = 0. fill_value( EXPORTING iv_rule = ls_item-fill_rule iv_package = iv_package CHANGING cv_value = <lv_value> ). ENDIF. ENDLOOP. ENDLOOP. ENDMETHOD. ENDCLASS. |