mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 11:46:38 +08:00
Merge pull request #780 from larshp/issue_773
more refactoring, Issue 773
This commit is contained in:
commit
2bf3a96550
|
@ -1,23 +1,3 @@
|
|||
*&---------------------------------------------------------------------*
|
||||
*& Include ZABAPGIT_MACROS
|
||||
*&---------------------------------------------------------------------*
|
||||
|
||||
* Macros
|
||||
|
||||
DEFINE _object_check_timestamp.
|
||||
IF sy-subrc = 0 AND &1 IS NOT INITIAL AND &2 IS NOT INITIAL.
|
||||
cl_abap_tstmp=>systemtstmp_syst2utc(
|
||||
EXPORTING syst_date = &1
|
||||
syst_time = &2
|
||||
IMPORTING utc_tstmp = lv_ts ).
|
||||
IF lv_ts < iv_timestamp.
|
||||
rv_changed = abap_false. " Unchanged
|
||||
ELSE.
|
||||
rv_changed = abap_true.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
ELSE. " Not found? => changed
|
||||
rv_changed = abap_true.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
END-OF-DEFINITION.
|
||||
|
|
|
@ -394,17 +394,17 @@ CLASS ltcl_news IMPLEMENTATION.
|
|||
ls_log = lcl_news=>parse_line(
|
||||
iv_line = '======'
|
||||
iv_current_version = '1.26.01' ).
|
||||
cl_abap_unit_assert=>assert_initial( act = ls_log ).
|
||||
cl_abap_unit_assert=>assert_initial( ls_log ).
|
||||
|
||||
ls_log = lcl_news=>parse_line(
|
||||
iv_line = ''
|
||||
iv_current_version = '1.26.01' ).
|
||||
cl_abap_unit_assert=>assert_initial( act = ls_log ).
|
||||
cl_abap_unit_assert=>assert_initial( ls_log ).
|
||||
|
||||
ls_log = lcl_news=>parse_line(
|
||||
iv_line = '------'
|
||||
iv_current_version = '1.26.01' ).
|
||||
cl_abap_unit_assert=>assert_initial( act = ls_log ).
|
||||
cl_abap_unit_assert=>assert_initial( ls_log ).
|
||||
|
||||
CLEAR ls_log.
|
||||
ls_log = lcl_news=>parse_line(
|
||||
|
|
|
@ -115,7 +115,7 @@ CLASS lcl_object_auth IMPLEMENTATION.
|
|||
|
||||
METHOD lif_object~jump.
|
||||
|
||||
DATA: field TYPE fieldname .
|
||||
DATA: field TYPE fieldname.
|
||||
|
||||
field = ms_item-obj_name.
|
||||
|
||||
|
|
|
@ -53,8 +53,7 @@ CLASS lcl_object_doma IMPLEMENTATION.
|
|||
METHOD lif_object~has_changed_since.
|
||||
|
||||
DATA: lv_date TYPE dats,
|
||||
lv_time TYPE tims,
|
||||
lv_ts TYPE timestamp.
|
||||
lv_time TYPE tims.
|
||||
|
||||
SELECT SINGLE as4date as4time FROM dd01l
|
||||
INTO (lv_date, lv_time)
|
||||
|
@ -62,7 +61,10 @@ CLASS lcl_object_doma IMPLEMENTATION.
|
|||
AND as4local = 'A'
|
||||
AND as4vers = '0000'.
|
||||
|
||||
_object_check_timestamp lv_date lv_time.
|
||||
rv_changed = check_timestamp(
|
||||
iv_timestamp = iv_timestamp
|
||||
iv_date = lv_date
|
||||
iv_time = lv_time ).
|
||||
|
||||
ENDMETHOD. "lif_object~has_changed_since
|
||||
|
||||
|
|
|
@ -46,8 +46,7 @@ CLASS lcl_object_dtel IMPLEMENTATION.
|
|||
METHOD lif_object~has_changed_since.
|
||||
|
||||
DATA: lv_date TYPE dats,
|
||||
lv_time TYPE tims,
|
||||
lv_ts TYPE timestamp.
|
||||
lv_time TYPE tims.
|
||||
|
||||
SELECT SINGLE as4date as4time FROM dd04l
|
||||
INTO (lv_date, lv_time)
|
||||
|
@ -55,7 +54,10 @@ CLASS lcl_object_dtel IMPLEMENTATION.
|
|||
AND as4local = 'A'
|
||||
AND as4vers = '0000'.
|
||||
|
||||
_object_check_timestamp lv_date lv_time.
|
||||
rv_changed = check_timestamp(
|
||||
iv_timestamp = iv_timestamp
|
||||
iv_date = lv_date
|
||||
iv_time = lv_time ).
|
||||
|
||||
ENDMETHOD. "lif_object~has_changed_since
|
||||
|
||||
|
|
|
@ -262,7 +262,7 @@ CLASS lcl_object_enho_clif IMPLEMENTATION.
|
|||
io_xml->read( EXPORTING iv_name = 'TAB_METHODS'
|
||||
CHANGING cg_data = lt_tab_methods ).
|
||||
|
||||
io_clif->set_enhattributes( tab_attributes = lt_tab_attributes ).
|
||||
io_clif->set_enhattributes( lt_tab_attributes ).
|
||||
|
||||
* todo: deserialize includes
|
||||
|
||||
|
|
|
@ -25,8 +25,7 @@ CLASS lcl_object_enqu IMPLEMENTATION.
|
|||
METHOD lif_object~has_changed_since.
|
||||
|
||||
DATA: lv_date TYPE dats,
|
||||
lv_time TYPE tims,
|
||||
lv_ts TYPE timestamp.
|
||||
lv_time TYPE tims.
|
||||
|
||||
SELECT SINGLE as4date as4time FROM dd25l
|
||||
INTO (lv_date, lv_time)
|
||||
|
@ -34,7 +33,10 @@ CLASS lcl_object_enqu IMPLEMENTATION.
|
|||
AND as4local = 'A'
|
||||
AND as4vers = '0000'.
|
||||
|
||||
_object_check_timestamp lv_date lv_time.
|
||||
rv_changed = check_timestamp(
|
||||
iv_timestamp = iv_timestamp
|
||||
iv_date = lv_date
|
||||
iv_time = lv_time ).
|
||||
|
||||
ENDMETHOD. "lif_object~has_changed_since
|
||||
|
||||
|
|
|
@ -419,7 +419,6 @@ CLASS lcl_object_fugr IMPLEMENTATION.
|
|||
DATA: lt_reposrc TYPE STANDARD TABLE OF ty_reposrc WITH DEFAULT KEY,
|
||||
ls_reposrc LIKE LINE OF lt_reposrc,
|
||||
lv_program TYPE program,
|
||||
lv_cnam TYPE reposrc-cnam,
|
||||
lv_tabix LIKE sy-tabix,
|
||||
lt_functab TYPE ty_rs38l_incl_tt.
|
||||
|
||||
|
|
|
@ -18,16 +18,7 @@ CLASS lcl_object_shi3 DEFINITION INHERITING FROM lcl_objects_super FINAL.
|
|||
|
||||
|
||||
PRIVATE SECTION.
|
||||
|
||||
TYPES: BEGIN OF ty_id_map,
|
||||
old TYPE ttree-id,
|
||||
new TYPE ttree-id,
|
||||
END OF ty_id_map.
|
||||
TYPES tt_id_map TYPE STANDARD TABLE OF ty_id_map.
|
||||
TYPES ts_id_map TYPE SORTED TABLE OF ty_id_map WITH UNIQUE KEY old.
|
||||
|
||||
DATA: mv_tree_id TYPE ttree-id,
|
||||
mt_map TYPE ts_id_map. " SORTED !
|
||||
DATA: mv_tree_id TYPE ttree-id.
|
||||
|
||||
METHODS jump_se43
|
||||
RAISING lcx_exception.
|
||||
|
|
|
@ -25,15 +25,17 @@ CLASS lcl_object_shlp IMPLEMENTATION.
|
|||
METHOD lif_object~has_changed_since.
|
||||
|
||||
DATA: lv_date TYPE dats,
|
||||
lv_time TYPE tims,
|
||||
lv_ts TYPE timestamp.
|
||||
lv_time TYPE tims.
|
||||
|
||||
SELECT SINGLE as4date as4time FROM dd30l
|
||||
INTO (lv_date, lv_time)
|
||||
WHERE shlpname = ms_item-obj_name
|
||||
AND as4local = 'A'.
|
||||
INTO (lv_date, lv_time)
|
||||
WHERE shlpname = ms_item-obj_name
|
||||
AND as4local = 'A'.
|
||||
|
||||
_object_check_timestamp lv_date lv_time.
|
||||
rv_changed = check_timestamp(
|
||||
iv_timestamp = iv_timestamp
|
||||
iv_date = lv_date
|
||||
iv_time = lv_time ).
|
||||
|
||||
ENDMETHOD. "lif_object~has_changed_since
|
||||
|
||||
|
|
|
@ -27,7 +27,6 @@ CLASS lcl_object_tabl IMPLEMENTATION.
|
|||
|
||||
DATA: lv_date TYPE dats,
|
||||
lv_time TYPE tims,
|
||||
lv_ts TYPE timestamp,
|
||||
lt_indexes TYPE STANDARD TABLE OF dd09l.
|
||||
|
||||
FIELD-SYMBOLS <ls_index> LIKE LINE OF lt_indexes.
|
||||
|
@ -38,7 +37,13 @@ CLASS lcl_object_tabl IMPLEMENTATION.
|
|||
AND as4local = 'A'
|
||||
AND as4vers = '0000'.
|
||||
|
||||
_object_check_timestamp lv_date lv_time.
|
||||
rv_changed = check_timestamp(
|
||||
iv_timestamp = iv_timestamp
|
||||
iv_date = lv_date
|
||||
iv_time = lv_time ).
|
||||
IF rv_changed = abap_true.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
SELECT SINGLE as4date as4time FROM dd09l " Table tech settings
|
||||
INTO (lv_date, lv_time)
|
||||
|
@ -46,7 +51,13 @@ CLASS lcl_object_tabl IMPLEMENTATION.
|
|||
AND as4local = 'A'
|
||||
AND as4vers = '0000'.
|
||||
|
||||
_object_check_timestamp lv_date lv_time.
|
||||
rv_changed = check_timestamp(
|
||||
iv_timestamp = iv_timestamp
|
||||
iv_date = lv_date
|
||||
iv_time = lv_time ).
|
||||
IF rv_changed = abap_true.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
SELECT as4date as4time FROM dd12l " Table tech settings
|
||||
INTO CORRESPONDING FIELDS OF TABLE lt_indexes
|
||||
|
@ -55,7 +66,13 @@ CLASS lcl_object_tabl IMPLEMENTATION.
|
|||
AND as4vers = '0000' ##TOO_MANY_ITAB_FIELDS.
|
||||
|
||||
LOOP AT lt_indexes ASSIGNING <ls_index>.
|
||||
_object_check_timestamp <ls_index>-as4date <ls_index>-as4time.
|
||||
rv_changed = check_timestamp(
|
||||
iv_timestamp = iv_timestamp
|
||||
iv_date = <ls_index>-as4date
|
||||
iv_time = <ls_index>-as4time ).
|
||||
IF rv_changed = abap_true.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
|
||||
ENDMETHOD. "lif_object~has_changed_since
|
||||
|
|
|
@ -25,15 +25,17 @@ CLASS lcl_object_ttyp IMPLEMENTATION.
|
|||
METHOD lif_object~has_changed_since.
|
||||
|
||||
DATA: lv_date TYPE dats,
|
||||
lv_time TYPE tims,
|
||||
lv_ts TYPE timestamp.
|
||||
lv_time TYPE tims.
|
||||
|
||||
SELECT SINGLE as4date as4time FROM dd40l
|
||||
INTO (lv_date, lv_time)
|
||||
WHERE typename = ms_item-obj_name
|
||||
AND as4local = 'A'.
|
||||
|
||||
_object_check_timestamp lv_date lv_time.
|
||||
rv_changed = check_timestamp(
|
||||
iv_timestamp = iv_timestamp
|
||||
iv_date = lv_date
|
||||
iv_time = lv_time ).
|
||||
|
||||
ENDMETHOD. "lif_object~has_changed_since
|
||||
|
||||
|
|
|
@ -25,24 +25,35 @@ CLASS lcl_object_view IMPLEMENTATION.
|
|||
METHOD lif_object~has_changed_since.
|
||||
|
||||
DATA: lv_date TYPE dats,
|
||||
lv_time TYPE tims,
|
||||
lv_ts TYPE timestamp.
|
||||
lv_time TYPE tims.
|
||||
|
||||
SELECT SINGLE as4date as4time FROM dd25l " View
|
||||
SELECT SINGLE as4date as4time FROM dd25l
|
||||
INTO (lv_date, lv_time)
|
||||
WHERE viewname = ms_item-obj_name
|
||||
AND as4local = 'A'
|
||||
AND as4vers = '0000'.
|
||||
|
||||
_object_check_timestamp lv_date lv_time.
|
||||
rv_changed = check_timestamp(
|
||||
iv_timestamp = iv_timestamp
|
||||
iv_date = lv_date
|
||||
iv_time = lv_time ).
|
||||
IF rv_changed = abap_true.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
SELECT SINGLE as4date as4time FROM dd09l " Table tech settings
|
||||
SELECT SINGLE as4date as4time FROM dd09l
|
||||
INTO (lv_date, lv_time)
|
||||
WHERE tabname = ms_item-obj_name
|
||||
AND as4local = 'A'
|
||||
AND as4vers = '0000'.
|
||||
|
||||
_object_check_timestamp lv_date lv_time.
|
||||
rv_changed = check_timestamp(
|
||||
iv_timestamp = iv_timestamp
|
||||
iv_date = lv_date
|
||||
iv_time = lv_time ).
|
||||
IF rv_changed = abap_true.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD. "lif_object~has_changed_since
|
||||
|
||||
|
|
|
@ -571,6 +571,13 @@ CLASS lcl_objects_super DEFINITION ABSTRACT.
|
|||
mv_language TYPE spras.
|
||||
|
||||
METHODS:
|
||||
check_timestamp
|
||||
IMPORTING
|
||||
iv_timestamp TYPE timestamp
|
||||
iv_date TYPE datum
|
||||
iv_time TYPE uzeit
|
||||
RETURNING
|
||||
VALUE(rv_changed) TYPE abap_bool,
|
||||
get_metadata
|
||||
RETURNING VALUE(rs_metadata) TYPE lif_defs=>ty_metadata,
|
||||
corr_insert
|
||||
|
@ -1527,7 +1534,6 @@ CLASS lcl_objects_program IMPLEMENTATION.
|
|||
|
||||
DATA: lv_date TYPE dats,
|
||||
lv_time TYPE tims,
|
||||
lv_ts TYPE timestamp,
|
||||
lt_screens TYPE STANDARD TABLE OF d020s,
|
||||
lt_eudb TYPE STANDARD TABLE OF eudb.
|
||||
|
||||
|
@ -1539,7 +1545,13 @@ CLASS lcl_objects_program IMPLEMENTATION.
|
|||
WHERE progname = iv_program
|
||||
AND r3state = 'A'.
|
||||
|
||||
_object_check_timestamp lv_date lv_time.
|
||||
rv_changed = check_timestamp(
|
||||
iv_timestamp = iv_timestamp
|
||||
iv_date = lv_date
|
||||
iv_time = lv_time ).
|
||||
IF rv_changed = abap_true.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
SELECT SINGLE udat utime FROM repotext " Program text pool
|
||||
INTO (lv_date, lv_time)
|
||||
|
@ -1547,7 +1559,13 @@ CLASS lcl_objects_program IMPLEMENTATION.
|
|||
AND r3state = 'A'.
|
||||
|
||||
IF sy-subrc = 0. " Text not found ? Assuming no changes, see #404
|
||||
_object_check_timestamp lv_date lv_time.
|
||||
rv_changed = check_timestamp(
|
||||
iv_timestamp = iv_timestamp
|
||||
iv_date = lv_date
|
||||
iv_time = lv_time ).
|
||||
IF rv_changed = abap_true.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
|
||||
IF iv_skip_gui = abap_true.
|
||||
|
@ -1559,7 +1577,13 @@ CLASS lcl_objects_program IMPLEMENTATION.
|
|||
WHERE prog = iv_program ##TOO_MANY_ITAB_FIELDS. "#EC CI_SUBRC
|
||||
|
||||
LOOP AT lt_screens ASSIGNING <ls_screen>.
|
||||
_object_check_timestamp <ls_screen>-dgen <ls_screen>-tgen.
|
||||
rv_changed = check_timestamp(
|
||||
iv_timestamp = iv_timestamp
|
||||
iv_date = <ls_screen>-dgen
|
||||
iv_time = <ls_screen>-tgen ).
|
||||
IF rv_changed = abap_true.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
|
||||
SELECT vdatum vzeit FROM eudb " GUI
|
||||
|
@ -1569,7 +1593,13 @@ CLASS lcl_objects_program IMPLEMENTATION.
|
|||
AND srtf2 = 0 ##TOO_MANY_ITAB_FIELDS. "#EC CI_SUBRC
|
||||
|
||||
LOOP AT lt_eudb ASSIGNING <ls_eudb>.
|
||||
_object_check_timestamp <ls_eudb>-vdatum <ls_eudb>-vzeit.
|
||||
rv_changed = check_timestamp(
|
||||
iv_timestamp = iv_timestamp
|
||||
iv_date = <ls_eudb>-vdatum
|
||||
iv_time = <ls_eudb>-vzeit ).
|
||||
IF rv_changed = abap_true.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
|
||||
ENDMETHOD. "check_prog_changed_since
|
||||
|
@ -1690,6 +1720,25 @@ CLASS lcl_objects_super IMPLEMENTATION.
|
|||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD check_timestamp.
|
||||
|
||||
DATA: lv_ts TYPE timestamp.
|
||||
|
||||
IF sy-subrc = 0 AND iv_date IS NOT INITIAL AND iv_time IS NOT INITIAL.
|
||||
cl_abap_tstmp=>systemtstmp_syst2utc(
|
||||
EXPORTING syst_date = iv_date
|
||||
syst_time = iv_time
|
||||
IMPORTING utc_tstmp = lv_ts ).
|
||||
IF lv_ts < iv_timestamp.
|
||||
rv_changed = abap_false. " Unchanged
|
||||
ELSE.
|
||||
rv_changed = abap_true.
|
||||
ENDIF.
|
||||
ELSE. " Not found? => changed
|
||||
rv_changed = abap_true.
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD get_metadata.
|
||||
rs_metadata-class =
|
||||
|
|
|
@ -77,32 +77,52 @@ CLASS lcl_popups DEFINITION FINAL.
|
|||
lcx_cancel,
|
||||
popup_to_select_transports
|
||||
RETURNING VALUE(rt_trkorr) TYPE trwbo_request_headers.
|
||||
PRIVATE SECTION.
|
||||
|
||||
PRIVATE SECTION.
|
||||
TYPES: ty_sval_tt TYPE STANDARD TABLE OF sval WITH DEFAULT KEY.
|
||||
|
||||
CLASS-METHODS: add_field
|
||||
IMPORTING iv_tabname TYPE sval-tabname
|
||||
iv_fieldname TYPE sval-fieldname
|
||||
iv_fieldtext TYPE sval-fieldtext
|
||||
iv_value TYPE clike DEFAULT ''
|
||||
iv_field_attr TYPE sval-field_attr DEFAULT ''
|
||||
CHANGING ct_fields TYPE ty_sval_tt.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
CLASS lcl_popups IMPLEMENTATION.
|
||||
|
||||
METHOD popup_object.
|
||||
METHOD add_field.
|
||||
|
||||
DEFINE _add_dialog_fld.
|
||||
APPEND INITIAL LINE TO lt_fields ASSIGNING <ls_field>.
|
||||
<ls_field>-tabname = &1. "#EC NOTEXT
|
||||
<ls_field>-fieldname = &2. "#EC NOTEXT
|
||||
<ls_field>-fieldtext = &3. "#EC NOTEXT
|
||||
<ls_field>-value = &4. "#EC NOTEXT
|
||||
<ls_field>-field_attr = &5. "#EC NOTEXT
|
||||
END-OF-DEFINITION.
|
||||
FIELD-SYMBOLS: <ls_field> LIKE LINE OF ct_fields.
|
||||
|
||||
APPEND INITIAL LINE TO ct_fields ASSIGNING <ls_field>.
|
||||
<ls_field>-tabname = iv_tabname.
|
||||
<ls_field>-fieldname = iv_fieldname.
|
||||
<ls_field>-fieldtext = iv_fieldtext.
|
||||
<ls_field>-value = iv_value.
|
||||
<ls_field>-field_attr = iv_field_attr.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD popup_object.
|
||||
|
||||
DATA: lv_returncode TYPE c,
|
||||
lt_fields TYPE TABLE OF sval.
|
||||
|
||||
FIELD-SYMBOLS: <ls_field> LIKE LINE OF lt_fields.
|
||||
|
||||
" TAB FLD LABEL DEF ATTR
|
||||
_add_dialog_fld 'TADIR' 'OBJECT' 'Type' '' ''.
|
||||
_add_dialog_fld 'TADIR' 'OBJ_NAME' 'Name' '' ''.
|
||||
|
||||
add_field( EXPORTING iv_tabname = 'TADIR'
|
||||
iv_fieldname = 'OBJECT'
|
||||
iv_fieldtext = 'Type'
|
||||
CHANGING ct_fields = lt_fields ).
|
||||
|
||||
add_field( EXPORTING iv_tabname = 'TADIR'
|
||||
iv_fieldname = 'OBJ_NAME'
|
||||
iv_fieldtext = 'Name'
|
||||
CHANGING ct_fields = lt_fields ).
|
||||
|
||||
CALL FUNCTION 'POPUP_GET_VALUES'
|
||||
EXPORTING
|
||||
|
@ -145,9 +165,17 @@ CLASS lcl_popups IMPLEMENTATION.
|
|||
|
||||
FIELD-SYMBOLS: <ls_field> LIKE LINE OF lt_fields.
|
||||
|
||||
" TAB FLD LABEL DEF ATTR
|
||||
_add_dialog_fld 'TDEVC' 'DEVCLASS' 'Package' '' ''.
|
||||
_add_dialog_fld 'TDEVC' 'INTSYS' 'Folder logic' 'PREFIX' ''.
|
||||
|
||||
add_field( EXPORTING iv_tabname = 'TDEVC'
|
||||
iv_fieldname = 'DEVCLASS'
|
||||
iv_fieldtext = 'Package'
|
||||
CHANGING ct_fields = lt_fields ).
|
||||
|
||||
add_field( EXPORTING iv_tabname = 'TDEVC'
|
||||
iv_fieldname = 'INTSYS'
|
||||
iv_fieldtext = 'Folder logic'
|
||||
iv_value = 'PREFIX'
|
||||
CHANGING ct_fields = lt_fields ).
|
||||
|
||||
CALL FUNCTION 'POPUP_GET_VALUES'
|
||||
EXPORTING
|
||||
|
@ -190,8 +218,11 @@ CLASS lcl_popups IMPLEMENTATION.
|
|||
|
||||
CLEAR: ev_name, ev_cancel.
|
||||
|
||||
* TAB FLD LABEL DEF ATTR
|
||||
_add_dialog_fld 'TEXTL' 'LINE' 'Name' 'new-branch-name' ''.
|
||||
add_field( EXPORTING iv_tabname = 'TEXTL'
|
||||
iv_fieldname = 'LINE'
|
||||
iv_fieldtext = 'Name'
|
||||
iv_value = 'new-branch-name'
|
||||
CHANGING ct_fields = lt_fields ).
|
||||
|
||||
CALL FUNCTION 'POPUP_GET_VALUES'
|
||||
EXPORTING
|
||||
|
@ -228,8 +259,11 @@ CLASS lcl_popups IMPLEMENTATION.
|
|||
|
||||
CLEAR: ev_name, ev_cancel.
|
||||
|
||||
* TAB FLD LABEL DEF ATTR
|
||||
_add_dialog_fld 'TEXTL' 'LINE' 'Name' 'lcl_gui_page_' ''.
|
||||
add_field( EXPORTING iv_tabname = 'TEXTL'
|
||||
iv_fieldname = 'LINE'
|
||||
iv_fieldtext = 'Name'
|
||||
iv_value = 'lcl_gui_page_'
|
||||
CHANGING ct_fields = lt_fields ).
|
||||
|
||||
CALL FUNCTION 'POPUP_GET_VALUES'
|
||||
EXPORTING
|
||||
|
@ -266,9 +300,15 @@ CLASS lcl_popups IMPLEMENTATION.
|
|||
FIELD-SYMBOLS: <ls_field> LIKE LINE OF lt_fields.
|
||||
|
||||
|
||||
" TAB FLD LABEL DEF ATTR
|
||||
_add_dialog_fld 'ABAPTXT255' 'LINE' 'Name' '' ''.
|
||||
_add_dialog_fld 'TDEVC' 'DEVCLASS' 'Package' '' ''.
|
||||
add_field( EXPORTING iv_tabname = 'ABAPTXT255'
|
||||
iv_fieldname = 'LINE'
|
||||
iv_fieldtext = 'Name'
|
||||
CHANGING ct_fields = lt_fields ).
|
||||
|
||||
add_field( EXPORTING iv_tabname = 'TDEVC'
|
||||
iv_fieldname = 'DEVCLASS'
|
||||
iv_fieldtext = 'Package'
|
||||
CHANGING ct_fields = lt_fields ).
|
||||
|
||||
lv_icon_ok = icon_okay.
|
||||
lv_button1 = 'Create package' ##NO_TEXT.
|
||||
|
@ -443,10 +483,26 @@ CLASS lcl_popups IMPLEMENTATION.
|
|||
lv_icon2 = icon_folder.
|
||||
ENDIF.
|
||||
|
||||
* TAB FLD LABEL DEF ATTR
|
||||
_add_dialog_fld 'ABAPTXT255' 'LINE' 'Git clone URL' iv_url lv_uattr.
|
||||
_add_dialog_fld 'TDEVC' 'DEVCLASS' 'Target package' iv_package lv_pattr.
|
||||
_add_dialog_fld 'TEXTL' 'LINE' 'Branch' iv_branch '05'.
|
||||
add_field( EXPORTING iv_tabname = 'ABAPTXT255'
|
||||
iv_fieldname = 'LINE'
|
||||
iv_fieldtext = 'Git clone URL'
|
||||
iv_value = iv_url
|
||||
iv_field_attr = lv_uattr
|
||||
CHANGING ct_fields = lt_fields ).
|
||||
|
||||
add_field( EXPORTING iv_tabname = 'TDEVC'
|
||||
iv_fieldname = 'DEVCLASS'
|
||||
iv_fieldtext = 'Target package'
|
||||
iv_value = iv_package
|
||||
iv_field_attr = lv_pattr
|
||||
CHANGING ct_fields = lt_fields ).
|
||||
|
||||
add_field( EXPORTING iv_tabname = 'TEXTL'
|
||||
iv_fieldname = 'LINE'
|
||||
iv_fieldtext = 'Branch'
|
||||
iv_value = iv_branch
|
||||
iv_field_attr = '05'
|
||||
CHANGING ct_fields = lt_fields ).
|
||||
|
||||
lv_icon_ok = icon_okay.
|
||||
lv_icon_br = icon_workflow_fork.
|
||||
|
@ -604,20 +660,25 @@ CLASS lcl_popups IMPLEMENTATION.
|
|||
CONCATENATE lv_transports_as_text '_' ls_transport_header-trkorr INTO lv_transports_as_text.
|
||||
ENDLOOP.
|
||||
|
||||
" TAB FLD LABEL DEF ATTR
|
||||
_add_dialog_fld 'TEXTL' 'LINE' 'Branch name' lv_transports_as_text ''.
|
||||
_add_dialog_fld 'ABAPTXT255' 'LINE' 'Commit text' lv_transports_as_text ''.
|
||||
add_field( EXPORTING iv_tabname = 'TEXTL'
|
||||
iv_fieldname = 'LINE'
|
||||
iv_fieldtext = 'Branch name'
|
||||
iv_value = lv_transports_as_text
|
||||
CHANGING ct_fields = lt_fields ).
|
||||
|
||||
add_field( EXPORTING iv_tabname = 'ABAPTXT255'
|
||||
iv_fieldname = 'LINE'
|
||||
iv_fieldtext = 'Commit text'
|
||||
iv_value = lv_transports_as_text
|
||||
CHANGING ct_fields = lt_fields ).
|
||||
|
||||
CALL FUNCTION 'POPUP_GET_VALUES'
|
||||
EXPORTING
|
||||
* no_value_check = SPACE " Deactivates data type check
|
||||
popup_title = 'Transport to new Branch'
|
||||
* start_column = '5' " Start column of the dialog box
|
||||
* start_row = '5' " Start line of the dialog box
|
||||
IMPORTING
|
||||
returncode = lv_returncode
|
||||
TABLES
|
||||
fields = lt_fields " Table fields, values and attributes
|
||||
fields = lt_fields
|
||||
EXCEPTIONS
|
||||
error_in_fields = 1
|
||||
OTHERS = 2.
|
||||
|
|
|
@ -558,7 +558,7 @@ CLASS lcl_repo IMPLEMENTATION.
|
|||
io_dot = get_dot_abapgit( ) ).
|
||||
|
||||
lt_filter = it_filter.
|
||||
lv_filter_exist = boolc( lines( lt_filter ) > 0 ) .
|
||||
lv_filter_exist = boolc( lines( lt_filter ) > 0 ).
|
||||
|
||||
LOOP AT lt_tadir ASSIGNING <ls_tadir>.
|
||||
IF lv_filter_exist = abap_true.
|
||||
|
|
|
@ -17,12 +17,12 @@ CLASS lcl_syntax_highlighter DEFINITION ABSTRACT
|
|||
PUBLIC SECTION.
|
||||
|
||||
CLASS-METHODS create
|
||||
IMPORTING iv_filename TYPE string
|
||||
IMPORTING iv_filename TYPE string
|
||||
RETURNING VALUE(ro_instance) TYPE REF TO lcl_syntax_highlighter.
|
||||
|
||||
METHODS process_line
|
||||
IMPORTING iv_line TYPE string
|
||||
RETURNING VALUE(rv_line) TYPE string.
|
||||
IMPORTING iv_line TYPE string
|
||||
RETURNING VALUE(rv_line) TYPE string.
|
||||
|
||||
PROTECTED SECTION.
|
||||
|
||||
|
@ -39,15 +39,21 @@ CLASS lcl_syntax_highlighter DEFINITION ABSTRACT
|
|||
|
||||
TYPES:
|
||||
BEGIN OF ty_rule,
|
||||
regex TYPE REF TO cl_abap_regex,
|
||||
token TYPE char1,
|
||||
style TYPE string,
|
||||
regex TYPE REF TO cl_abap_regex,
|
||||
token TYPE char1,
|
||||
style TYPE string,
|
||||
END OF ty_rule.
|
||||
|
||||
CONSTANTS c_token_none TYPE c VALUE '.'.
|
||||
|
||||
DATA mt_rules TYPE STANDARD TABLE OF ty_rule.
|
||||
|
||||
METHODS add_rule
|
||||
IMPORTING
|
||||
iv_regex TYPE string
|
||||
iv_token TYPE c
|
||||
iv_style TYPE string.
|
||||
|
||||
METHODS parse_line
|
||||
IMPORTING iv_line TYPE string
|
||||
EXPORTING et_matches TYPE ty_match_tt.
|
||||
|
@ -84,21 +90,21 @@ CLASS lcl_syntax_abap DEFINITION INHERITING FROM lcl_syntax_highlighter FINAL.
|
|||
|
||||
CONSTANTS:
|
||||
BEGIN OF c_css,
|
||||
keyword TYPE string VALUE 'keyword', "#EC NOTEXT
|
||||
text TYPE string VALUE 'text', "#EC NOTEXT
|
||||
comment TYPE string VALUE 'comment', "#EC NOTEXT
|
||||
keyword TYPE string VALUE 'keyword', "#EC NOTEXT
|
||||
text TYPE string VALUE 'text', "#EC NOTEXT
|
||||
comment TYPE string VALUE 'comment', "#EC NOTEXT
|
||||
END OF c_css,
|
||||
|
||||
BEGIN OF c_token,
|
||||
keyword TYPE c VALUE 'K', "#EC NOTEXT
|
||||
text TYPE c VALUE 'T', "#EC NOTEXT
|
||||
comment TYPE c VALUE 'C', "#EC NOTEXT
|
||||
keyword TYPE c VALUE 'K', "#EC NOTEXT
|
||||
text TYPE c VALUE 'T', "#EC NOTEXT
|
||||
comment TYPE c VALUE 'C', "#EC NOTEXT
|
||||
END OF c_token,
|
||||
|
||||
BEGIN OF c_regex,
|
||||
comment TYPE string VALUE '##|"|^\*',
|
||||
text TYPE string VALUE '`|''|\||\{|\}',
|
||||
keyword TYPE string VALUE '&&|\b[-_a-z0-9]+\b',
|
||||
comment TYPE string VALUE '##|"|^\*',
|
||||
text TYPE string VALUE '`|''|\||\{|\}',
|
||||
keyword TYPE string VALUE '&&|\b[-_a-z0-9]+\b',
|
||||
END OF c_regex.
|
||||
|
||||
PROTECTED SECTION.
|
||||
|
@ -126,21 +132,21 @@ CLASS lcl_syntax_xml DEFINITION INHERITING FROM lcl_syntax_highlighter FINAL.
|
|||
|
||||
CONSTANTS:
|
||||
BEGIN OF c_css,
|
||||
xml_tag TYPE string VALUE 'xml_tag', "#EC NOTEXT
|
||||
attr TYPE string VALUE 'attr', "#EC NOTEXT
|
||||
attr_val TYPE string VALUE 'attr_val', "#EC NOTEXT
|
||||
xml_tag TYPE string VALUE 'xml_tag', "#EC NOTEXT
|
||||
attr TYPE string VALUE 'attr', "#EC NOTEXT
|
||||
attr_val TYPE string VALUE 'attr_val', "#EC NOTEXT
|
||||
END OF c_css,
|
||||
|
||||
BEGIN OF c_token,
|
||||
xml_tag TYPE c VALUE 'X', "#EC NOTEXT
|
||||
attr TYPE c VALUE 'A', "#EC NOTEXT
|
||||
attr_val TYPE c VALUE 'V', "#EC NOTEXT
|
||||
xml_tag TYPE c VALUE 'X', "#EC NOTEXT
|
||||
attr TYPE c VALUE 'A', "#EC NOTEXT
|
||||
attr_val TYPE c VALUE 'V', "#EC NOTEXT
|
||||
END OF c_token,
|
||||
|
||||
BEGIN OF c_regex,
|
||||
xml_tag TYPE string VALUE '[<>]', "#EC NOTEXT
|
||||
xml_tag TYPE string VALUE '[<>]', "#EC NOTEXT
|
||||
attr TYPE string VALUE '\s[-a-z:_0-9]+\s*(?==)', "#EC NOTEXT
|
||||
attr_val TYPE string VALUE '["''][^''"]+[''"]', "#EC NOTEXT
|
||||
attr_val TYPE string VALUE '["''][^''"]+[''"]', "#EC NOTEXT
|
||||
END OF c_regex.
|
||||
|
||||
PROTECTED SECTION.
|
||||
|
@ -149,23 +155,6 @@ CLASS lcl_syntax_xml DEFINITION INHERITING FROM lcl_syntax_highlighter FINAL.
|
|||
|
||||
ENDCLASS. " lcl_syntax_xml DEFINITION
|
||||
|
||||
*----------------------------------------------------------------------*
|
||||
* Macros to fill table with a regular expressions to be parsed
|
||||
*----------------------------------------------------------------------*
|
||||
|
||||
DEFINE _add_rule.
|
||||
|
||||
CREATE OBJECT ls_rule-regex
|
||||
EXPORTING
|
||||
pattern = c_regex-&1
|
||||
ignore_case = abap_true.
|
||||
|
||||
ls_rule-token = c_token-&1.
|
||||
ls_rule-style = c_css-&1.
|
||||
APPEND ls_rule TO mt_rules.
|
||||
|
||||
END-OF-DEFINITION. " _add_rule
|
||||
|
||||
*----------------------------------------------------------------------*
|
||||
* CLASS lcl_syntax_highlighter IMPLEMENTATION
|
||||
*----------------------------------------------------------------------*
|
||||
|
@ -187,6 +176,21 @@ CLASS lcl_syntax_highlighter IMPLEMENTATION.
|
|||
|
||||
ENDMETHOD. " create.
|
||||
|
||||
METHOD add_rule.
|
||||
|
||||
DATA ls_rule LIKE LINE OF mt_rules.
|
||||
|
||||
CREATE OBJECT ls_rule-regex
|
||||
EXPORTING
|
||||
pattern = iv_regex
|
||||
ignore_case = abap_true.
|
||||
|
||||
ls_rule-token = iv_token.
|
||||
ls_rule-style = iv_style.
|
||||
APPEND ls_rule TO mt_rules.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD parse_line.
|
||||
|
||||
DATA:
|
||||
|
@ -222,10 +226,10 @@ CLASS lcl_syntax_highlighter IMPLEMENTATION.
|
|||
METHOD extend_matches.
|
||||
|
||||
DATA:
|
||||
lv_line_len TYPE i,
|
||||
lv_last_pos TYPE i VALUE 0,
|
||||
lv_length TYPE i,
|
||||
ls_match TYPE ty_match.
|
||||
lv_line_len TYPE i,
|
||||
lv_last_pos TYPE i VALUE 0,
|
||||
lv_length TYPE i,
|
||||
ls_match TYPE ty_match.
|
||||
|
||||
FIELD-SYMBOLS <match> TYPE ty_match.
|
||||
|
||||
|
@ -259,8 +263,8 @@ CLASS lcl_syntax_highlighter IMPLEMENTATION.
|
|||
METHOD format_line.
|
||||
|
||||
DATA:
|
||||
lv_chunk TYPE string,
|
||||
ls_rule LIKE LINE OF mt_rules.
|
||||
lv_chunk TYPE string,
|
||||
ls_rule LIKE LINE OF mt_rules.
|
||||
|
||||
FIELD-SYMBOLS <match> TYPE ty_match.
|
||||
|
||||
|
@ -341,14 +345,21 @@ CLASS lcl_syntax_abap IMPLEMENTATION.
|
|||
|
||||
METHOD constructor.
|
||||
|
||||
DATA ls_rule LIKE LINE OF mt_rules.
|
||||
|
||||
super->constructor( ).
|
||||
|
||||
" Initialize instances of regular expression
|
||||
_add_rule keyword.
|
||||
_add_rule comment.
|
||||
_add_rule text.
|
||||
|
||||
add_rule( iv_regex = c_regex-keyword
|
||||
iv_token = c_token-keyword
|
||||
iv_style = c_css-keyword ).
|
||||
|
||||
add_rule( iv_regex = c_regex-comment
|
||||
iv_token = c_token-comment
|
||||
iv_style = c_css-comment ).
|
||||
|
||||
add_rule( iv_regex = c_regex-text
|
||||
iv_token = c_token-text
|
||||
iv_style = c_css-text ).
|
||||
|
||||
ENDMETHOD. " constructor
|
||||
|
||||
|
@ -562,14 +573,21 @@ CLASS lcl_syntax_xml IMPLEMENTATION.
|
|||
|
||||
METHOD constructor.
|
||||
|
||||
DATA ls_rule LIKE LINE OF mt_rules.
|
||||
|
||||
super->constructor( ).
|
||||
|
||||
" Initialize instances of regular expressions
|
||||
_add_rule xml_tag.
|
||||
_add_rule attr.
|
||||
_add_rule attr_val.
|
||||
|
||||
add_rule( iv_regex = c_regex-xml_tag
|
||||
iv_token = c_token-xml_tag
|
||||
iv_style = c_css-xml_tag ).
|
||||
|
||||
add_rule( iv_regex = c_regex-attr
|
||||
iv_token = c_token-attr
|
||||
iv_style = c_css-attr ).
|
||||
|
||||
add_rule( iv_regex = c_regex-attr_val
|
||||
iv_token = c_token-attr_val
|
||||
iv_style = c_css-attr_val ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
@ -603,7 +621,7 @@ CLASS lcl_syntax_xml IMPLEMENTATION.
|
|||
DELETE ct_matches INDEX lv_index.
|
||||
CONTINUE.
|
||||
|
||||
" Adjust length and offset of closing tag
|
||||
" Adjust length and offset of closing tag
|
||||
ELSEIF <match>-text_tag = '>' AND lv_prev_token <> c_token-xml_tag.
|
||||
lv_state = 'C'.
|
||||
<match>-length = <match>-offset - <prev>-offset - <prev>-length + <match>-length.
|
||||
|
@ -673,7 +691,7 @@ CLASS ltcl_syntax_cases IMPLEMENTATION.
|
|||
ms_match-token = &1.
|
||||
ms_match-offset = &2.
|
||||
ms_match-length = &3.
|
||||
append ms_match to mt_after_parse.
|
||||
APPEND ms_match TO mt_after_parse.
|
||||
END-OF-DEFINITION. " _generate_parse
|
||||
|
||||
DEFINE _generate_order.
|
||||
|
@ -681,7 +699,7 @@ CLASS ltcl_syntax_cases IMPLEMENTATION.
|
|||
ms_match-offset = &2.
|
||||
ms_match-length = &3.
|
||||
ms_match-text_tag = &4.
|
||||
append ms_match to mt_after_order.
|
||||
APPEND ms_match TO mt_after_order.
|
||||
END-OF-DEFINITION. " _generate_order
|
||||
|
||||
DEFINE _generate_extend.
|
||||
|
@ -689,7 +707,7 @@ CLASS ltcl_syntax_cases IMPLEMENTATION.
|
|||
ms_match-offset = &2.
|
||||
ms_match-length = &3.
|
||||
ms_match-text_tag = &4.
|
||||
append ms_match to mt_after_extend.
|
||||
APPEND ms_match TO mt_after_extend.
|
||||
END-OF-DEFINITION. " _generate_extend
|
||||
|
||||
METHOD do_test.
|
||||
|
@ -1002,7 +1020,7 @@ CLASS ltcl_syntax_cases IMPLEMENTATION.
|
|||
|
||||
DATA lv_line TYPE string.
|
||||
|
||||
lv_line = '<tag>Text</tag>'. "#EC NOTEXT
|
||||
lv_line = '<tag>Text</tag>'. "#EC NOTEXT
|
||||
|
||||
" Generate table with expected values after parsing
|
||||
_generate_parse 'X' 0 1.
|
||||
|
@ -1027,7 +1045,7 @@ CLASS ltcl_syntax_cases IMPLEMENTATION.
|
|||
|
||||
DATA lv_line TYPE string.
|
||||
|
||||
lv_line = '<tag/>'. "#EC NOTEXT
|
||||
lv_line = '<tag/>'. "#EC NOTEXT
|
||||
|
||||
" Generate table with expected values after parsing
|
||||
_generate_parse 'X' 0 1.
|
||||
|
@ -1047,7 +1065,7 @@ CLASS ltcl_syntax_cases IMPLEMENTATION.
|
|||
|
||||
DATA lv_line TYPE string.
|
||||
|
||||
lv_line = '<tag attribute="value"/>'. "#EC NOTEXT
|
||||
lv_line = '<tag attribute="value"/>'. "#EC NOTEXT
|
||||
|
||||
" Generate table with expected values after parsing
|
||||
_generate_parse 'X' 0 1.
|
||||
|
@ -1076,7 +1094,7 @@ CLASS ltcl_syntax_cases IMPLEMENTATION.
|
|||
|
||||
DATA lv_line TYPE string.
|
||||
|
||||
lv_line = '<?xml version="1.0"?>'. "#EC NOTEXT
|
||||
lv_line = '<?xml version="1.0"?>'. "#EC NOTEXT
|
||||
|
||||
" Generate table with expected values after parsing
|
||||
_generate_parse 'X' 0 1.
|
||||
|
@ -1105,7 +1123,7 @@ CLASS ltcl_syntax_cases IMPLEMENTATION.
|
|||
|
||||
DATA lv_line TYPE string.
|
||||
|
||||
lv_line = '<ns:tag ns:a1="v1" ns:a2=''v2''>"text"</ns:tag>'. "#EC NOTEXT
|
||||
lv_line = '<ns:tag ns:a1="v1" ns:a2=''v2''>"text"</ns:tag>'. "#EC NOTEXT
|
||||
|
||||
" Generate table with expected values after parsing
|
||||
_generate_parse 'X' 0 1.
|
||||
|
@ -1207,8 +1225,8 @@ CLASS ltcl_syntax_basic_logic IMPLEMENTATION.
|
|||
|
||||
cl_abap_unit_assert=>assert_equals(
|
||||
act = lv_line_act
|
||||
exp = '<span class="keyword">CALL FUNCTION</span>' "#EC NOTEXT
|
||||
msg = 'Failure during applying of style.' ). "#EC NOTEXT
|
||||
exp = '<span class="keyword">CALL FUNCTION</span>' "#EC NOTEXT
|
||||
msg = 'Failure during applying of style.' ). "#EC NOTEXT
|
||||
|
||||
ENDMETHOD. " apply_style
|
||||
|
||||
|
@ -1222,15 +1240,15 @@ CLASS ltcl_syntax_basic_logic IMPLEMENTATION.
|
|||
cl_abap_unit_assert=>assert_equals(
|
||||
act = lv_line_act
|
||||
exp = ''
|
||||
msg = 'Failure in method process_line.' ). "#EC NOTEXT
|
||||
msg = 'Failure in method process_line.' ). "#EC NOTEXT
|
||||
|
||||
" Call the method with non-empty line and compare results
|
||||
lv_line_act = mo->process_line( iv_line = '* CALL FUNCTION' ). "#EC NOTEXT
|
||||
|
||||
cl_abap_unit_assert=>assert_equals(
|
||||
act = lv_line_act
|
||||
exp = '<span class="comment">* CALL FUNCTION</span>' "#EC NOTEXT
|
||||
msg = 'Failure in method process_line.' ). "#EC NOTEXT
|
||||
exp = '<span class="comment">* CALL FUNCTION</span>' "#EC NOTEXT
|
||||
msg = 'Failure in method process_line.' ). "#EC NOTEXT
|
||||
|
||||
ENDMETHOD. " process_line
|
||||
|
||||
|
|
|
@ -110,8 +110,8 @@ CLASS lcl_convert DEFINITION FINAL.
|
|||
RETURNING VALUE(rv_xstring) TYPE xstring.
|
||||
|
||||
CLASS-METHODS split_string
|
||||
IMPORTING iv_string TYPE string
|
||||
RETURNING value(rt_lines) TYPE string_table.
|
||||
IMPORTING iv_string TYPE string
|
||||
RETURNING VALUE(rt_lines) TYPE string_table.
|
||||
|
||||
ENDCLASS. "lcl_convert DEFINITION
|
||||
|
||||
|
@ -423,8 +423,8 @@ CLASS lcl_path IMPLEMENTATION.
|
|||
|
||||
METHOD change_dir.
|
||||
|
||||
DATA lv_last TYPE i.
|
||||
DATA lv_temp TYPE string.
|
||||
DATA: lv_last TYPE i,
|
||||
lv_temp TYPE string.
|
||||
|
||||
lv_last = strlen( iv_cur_dir ) - 1.
|
||||
|
||||
|
|
|
@ -293,8 +293,7 @@ CLASS lcl_xml_output IMPLEMENTATION.
|
|||
name = 'abap'
|
||||
prefix = 'asx' ).
|
||||
|
||||
li_attr = mi_xml_doc->create_attribute_ns(
|
||||
name = 'version' ).
|
||||
li_attr = mi_xml_doc->create_attribute_ns( 'version' ).
|
||||
li_attr->if_ixml_node~set_value( '1.0' ).
|
||||
ri_element->set_attribute_node_ns( li_attr ).
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user