Merge pull request #370 from sbcgua/master

serialization caching
This commit is contained in:
Lars Hvam 2016-10-06 12:18:13 +02:00 committed by GitHub
commit d289abaffd
53 changed files with 573 additions and 32 deletions

View File

@ -36,6 +36,7 @@ SELECTION-SCREEN END OF SCREEN 1001.
INCLUDE zabapgit_password_dialog. " !!! Contains SELECTION SCREEN INCLUDE zabapgit_password_dialog. " !!! Contains SELECTION SCREEN
INCLUDE zabapgit_definitions. INCLUDE zabapgit_definitions.
INCLUDE zabapgit_macros.
INCLUDE zabapgit_exceptions. INCLUDE zabapgit_exceptions.
INCLUDE zabapgit_zlib. INCLUDE zabapgit_zlib.
INCLUDE zabapgit_html. INCLUDE zabapgit_html.

View File

@ -39,13 +39,10 @@ CLASS lcl_file_status IMPLEMENTATION.
READ TABLE it_repo WITH KEY READ TABLE it_repo WITH KEY
path = is_gen-path path = is_gen-path
filename = is_gen-filename filename = is_gen-filename
data = is_gen-data sha1 = is_gen-sha1
TRANSPORTING NO FIELDS. TRANSPORTING NO FIELDS.
IF sy-subrc <> 0.
rv_match = abap_false. rv_match = boolc( sy-subrc = 0 ).
ELSE.
rv_match = abap_true.
ENDIF.
ENDMETHOD. "compare_files ENDMETHOD. "compare_files

View File

@ -0,0 +1,23 @@
*&---------------------------------------------------------------------*
*& 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.

View File

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_PROG" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<PROGDIR>
<NAME>ZABAPGIT_MACROS</NAME>
<STATE>A</STATE>
<SQLX/>
<EDTX/>
<VARCL>X</VARCL>
<DBAPL/>
<DBNA/>
<CLAS/>
<TYPE/>
<OCCURS/>
<SUBC>I</SUBC>
<APPL/>
<SECU/>
<CNAM/>
<CDAT>0000-00-00</CDAT>
<UNAM/>
<UDAT>0000-00-00</UDAT>
<VERN/>
<LEVL/>
<RSTAT/>
<RMAND/>
<RLOAD>E</RLOAD>
<FIXPT/>
<SSET/>
<SDATE>0000-00-00</SDATE>
<STIME/>
<IDATE>0000-00-00</IDATE>
<ITIME/>
<LDBNAME/>
<UCCHECK>X</UCCHECK>
</PROGDIR>
<TPOOL>
<item>
<ID>R</ID>
<KEY/>
<ENTRY>Include ZABAPGIT_MACROS</ENTRY>
<LENGTH>23</LENGTH>
<SPLIT/>
</item>
</TPOOL>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -27,6 +27,10 @@ ENDCLASS. "lcl_object_acid DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_acid IMPLEMENTATION. CLASS lcl_object_acid IMPLEMENTATION.
METHOD lif_object~has_changed_since.
rv_changed = abap_true.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~get_metadata. METHOD lif_object~get_metadata.
rs_metadata = get_metadata( ). rs_metadata = get_metadata( ).
ENDMETHOD. "lif_object~get_metadata ENDMETHOD. "lif_object~get_metadata

View File

@ -22,6 +22,10 @@ ENDCLASS. "lcl_object_auth DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_auth IMPLEMENTATION. CLASS lcl_object_auth IMPLEMENTATION.
METHOD lif_object~has_changed_since.
rv_changed = abap_true.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~get_metadata. METHOD lif_object~get_metadata.
rs_metadata = get_metadata( ). rs_metadata = get_metadata( ).
ENDMETHOD. "lif_object~get_metadata ENDMETHOD. "lif_object~get_metadata

View File

@ -121,6 +121,37 @@ ENDCLASS. "lcl_object_intf DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_clas IMPLEMENTATION. CLASS lcl_object_clas IMPLEMENTATION.
METHOD lif_object~has_changed_since.
DATA: lv_clsname TYPE seoclsname,
lt_incl TYPE seoincl_t.
FIELD-SYMBOLS <incl> LIKE LINE OF lt_incl.
lv_clsname = ms_item-obj_name.
CASE ms_item-obj_type.
WHEN 'CLAS'.
lt_incl = cl_oo_classname_service=>get_all_class_includes( lv_clsname ).
WHEN 'INTF'.
APPEND INITIAL LINE TO lt_incl ASSIGNING <incl>.
<incl> = cl_oo_classname_service=>get_interfacepool_name( lv_clsname ).
WHEN OTHERS.
lcx_exception=>raise( 'class delete, unknown type' ).
ENDCASE.
LOOP AT lt_incl ASSIGNING <incl>.
rv_changed = check_prog_changed_since(
iv_program = <incl>
iv_timestamp = iv_timestamp
iv_skip_gui = abap_true ).
IF rv_changed = abap_true.
RETURN.
ENDIF.
ENDLOOP.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~get_metadata. METHOD lif_object~get_metadata.
rs_metadata = get_metadata( ). rs_metadata = get_metadata( ).
ENDMETHOD. "lif_object~get_metadata ENDMETHOD. "lif_object~get_metadata

View File

@ -32,6 +32,10 @@ ENDCLASS. "lcl_object_msag DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_doct IMPLEMENTATION. CLASS lcl_object_doct IMPLEMENTATION.
METHOD lif_object~has_changed_since.
rv_changed = abap_true.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~get_metadata. METHOD lif_object~get_metadata.
rs_metadata = get_metadata( ). rs_metadata = get_metadata( ).
rs_metadata-delete_tadir = abap_true. rs_metadata-delete_tadir = abap_true.

View File

@ -31,6 +31,10 @@ ENDCLASS. "lcl_object_msag DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_docv IMPLEMENTATION. CLASS lcl_object_docv IMPLEMENTATION.
METHOD lif_object~has_changed_since.
rv_changed = abap_true.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~changed_by. METHOD lif_object~changed_by.
rv_user = read( )-head-tdluser. rv_user = read( )-head-tdluser.
ENDMETHOD. "lif_object~changed_by ENDMETHOD. "lif_object~changed_by

View File

@ -22,6 +22,22 @@ ENDCLASS. "lcl_object_doma DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_doma IMPLEMENTATION. CLASS lcl_object_doma IMPLEMENTATION.
METHOD lif_object~has_changed_since.
DATA: lv_date TYPE dats,
lv_time TYPE tims,
lv_ts TYPE timestamp.
SELECT SINGLE as4date as4time FROM dd01l
INTO (lv_date, lv_time)
WHERE domname = ms_item-obj_name
AND as4local = 'A'
AND as4vers = '0000'.
_object_check_timestamp lv_date lv_time.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~changed_by. METHOD lif_object~changed_by.
SELECT SINGLE as4user FROM dd01l INTO rv_user SELECT SINGLE as4user FROM dd01l INTO rv_user

View File

@ -22,6 +22,22 @@ ENDCLASS. "lcl_object_dtel DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_dtel IMPLEMENTATION. CLASS lcl_object_dtel IMPLEMENTATION.
METHOD lif_object~has_changed_since.
DATA: lv_date TYPE dats,
lv_time TYPE tims,
lv_ts TYPE timestamp.
SELECT SINGLE as4date as4time FROM dd04l
INTO (lv_date, lv_time)
WHERE rollname = ms_item-obj_name
AND as4local = 'A'
AND as4vers = '0000'.
_object_check_timestamp lv_date lv_time.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~changed_by. METHOD lif_object~changed_by.
SELECT SINGLE as4user FROM dd04l INTO rv_user SELECT SINGLE as4user FROM dd04l INTO rv_user

View File

@ -43,6 +43,10 @@ ENDCLASS. "lcl_object_enho DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_enho IMPLEMENTATION. CLASS lcl_object_enho IMPLEMENTATION.
METHOD lif_object~has_changed_since.
rv_changed = abap_true.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~get_metadata. METHOD lif_object~get_metadata.
rs_metadata = get_metadata( ). rs_metadata = get_metadata( ).
ENDMETHOD. "lif_object~get_metadata ENDMETHOD. "lif_object~get_metadata

View File

@ -17,6 +17,10 @@ ENDCLASS. "lcl_object_enhs
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_enhs IMPLEMENTATION. CLASS lcl_object_enhs IMPLEMENTATION.
METHOD lif_object~has_changed_since.
rv_changed = abap_true.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~changed_by. METHOD lif_object~changed_by.
rv_user = c_user_unknown. " todo rv_user = c_user_unknown. " todo
ENDMETHOD. ENDMETHOD.

View File

@ -22,6 +22,22 @@ ENDCLASS. "lcl_object_dtel DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_enqu IMPLEMENTATION. CLASS lcl_object_enqu IMPLEMENTATION.
METHOD lif_object~has_changed_since.
DATA: lv_date TYPE dats,
lv_time TYPE tims,
lv_ts TYPE timestamp.
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.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~changed_by. METHOD lif_object~changed_by.
rv_user = c_user_unknown. " todo rv_user = c_user_unknown. " todo
ENDMETHOD. ENDMETHOD.

View File

@ -14,6 +14,10 @@ ENDCLASS. "lcl_object_ensc
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_ensc IMPLEMENTATION. CLASS lcl_object_ensc IMPLEMENTATION.
METHOD lif_object~has_changed_since.
rv_changed = abap_true.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~changed_by. METHOD lif_object~changed_by.
rv_user = c_user_unknown. " todo rv_user = c_user_unknown. " todo
ENDMETHOD. ENDMETHOD.

View File

@ -84,6 +84,38 @@ CLASS lcl_object_fugr IMPLEMENTATION.
* function group SIFP * function group SIFP
* function group SUNI * function group SUNI
METHOD lif_object~has_changed_since.
DATA: lt_functab TYPE ty_rs38l_incl_tt,
lt_includes TYPE rso_t_objnm.
FIELD-SYMBOLS: <ls_func> LIKE LINE OF lt_functab,
<include_name> LIKE LINE OF lt_includes.
lt_includes = includes( ). " Main prog also included here
LOOP AT lt_includes ASSIGNING <include_name>.
rv_changed = check_prog_changed_since(
iv_program = <include_name>
iv_timestamp = iv_timestamp ).
IF rv_changed = abap_true.
RETURN.
ENDIF.
ENDLOOP.
lt_functab = functions( ).
LOOP AT lt_functab ASSIGNING <ls_func>.
rv_changed = check_prog_changed_since(
iv_program = <ls_func>-include
iv_timestamp = iv_timestamp ).
IF rv_changed = abap_true.
RETURN.
ENDIF.
ENDLOOP.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~changed_by. METHOD lif_object~changed_by.
rv_user = c_user_unknown. " todo rv_user = c_user_unknown. " todo
ENDMETHOD. ENDMETHOD.

View File

@ -33,6 +33,10 @@ ENDCLASS. "lcl_object_dtel DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_iarp IMPLEMENTATION. CLASS lcl_object_iarp IMPLEMENTATION.
METHOD lif_object~has_changed_since.
rv_changed = abap_true.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~changed_by. METHOD lif_object~changed_by.
rv_user = c_user_unknown. " todo rv_user = c_user_unknown. " todo
ENDMETHOD. ENDMETHOD.

View File

@ -33,6 +33,10 @@ ENDCLASS. "lcl_object_dtel DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_iasp IMPLEMENTATION. CLASS lcl_object_iasp IMPLEMENTATION.
METHOD lif_object~has_changed_since.
rv_changed = abap_true.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~changed_by. METHOD lif_object~changed_by.
rv_user = c_user_unknown. " todo rv_user = c_user_unknown. " todo
ENDMETHOD. ENDMETHOD.

View File

@ -33,6 +33,10 @@ ENDCLASS. "lcl_object_iatu DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_iatu IMPLEMENTATION. CLASS lcl_object_iatu IMPLEMENTATION.
METHOD lif_object~has_changed_since.
rv_changed = abap_true.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~changed_by. METHOD lif_object~changed_by.
rv_user = c_user_unknown. " todo rv_user = c_user_unknown. " todo
ENDMETHOD. ENDMETHOD.

View File

@ -22,6 +22,10 @@ ENDCLASS. "lcl_object_msag DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_msag IMPLEMENTATION. CLASS lcl_object_msag IMPLEMENTATION.
METHOD lif_object~has_changed_since.
rv_changed = abap_true.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~changed_by. METHOD lif_object~changed_by.
SELECT SINGLE lastuser FROM t100a INTO rv_user SELECT SINGLE lastuser FROM t100a INTO rv_user

View File

@ -22,6 +22,10 @@ ENDCLASS. "lcl_object_nrob DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_nrob IMPLEMENTATION. CLASS lcl_object_nrob IMPLEMENTATION.
METHOD lif_object~has_changed_since.
rv_changed = abap_true.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~changed_by. METHOD lif_object~changed_by.
DATA: lv_objectid TYPE cdhdr-objectid, DATA: lv_objectid TYPE cdhdr-objectid,

View File

@ -22,6 +22,10 @@ ENDCLASS. "lcl_object_para DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_para IMPLEMENTATION. CLASS lcl_object_para IMPLEMENTATION.
METHOD lif_object~has_changed_since.
rv_changed = abap_true.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~changed_by. METHOD lif_object~changed_by.
* looks like "changed by user" is not stored in the database * looks like "changed by user" is not stored in the database
rv_user = c_user_unknown. rv_user = c_user_unknown.

View File

@ -47,6 +47,10 @@ ENDCLASS. "lcl_object_PINF DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_pinf IMPLEMENTATION. CLASS lcl_object_pinf IMPLEMENTATION.
METHOD lif_object~has_changed_since.
rv_changed = abap_true.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~changed_by. METHOD lif_object~changed_by.
SELECT SINGLE changed_by FROM intf INTO rv_user SELECT SINGLE changed_by FROM intf INTO rv_user

View File

@ -28,6 +28,14 @@ ENDCLASS. "lcl_object_prog DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_prog IMPLEMENTATION. CLASS lcl_object_prog IMPLEMENTATION.
METHOD lif_object~has_changed_since.
rv_changed = check_prog_changed_since(
iv_program = ms_item-obj_name
iv_timestamp = iv_timestamp ).
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~changed_by. METHOD lif_object~changed_by.
SELECT SINGLE unam FROM reposrc INTO rv_user SELECT SINGLE unam FROM reposrc INTO rv_user
WHERE progname = ms_item-obj_name WHERE progname = ms_item-obj_name

View File

@ -27,6 +27,10 @@ ENDCLASS. "lcl_object_SFBF DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_sfbf IMPLEMENTATION. CLASS lcl_object_sfbf IMPLEMENTATION.
METHOD lif_object~has_changed_since.
rv_changed = abap_true.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~changed_by. METHOD lif_object~changed_by.
rv_user = get( )->get_header_data( )-changedby. rv_user = get( )->get_header_data( )-changedby.

View File

@ -27,6 +27,10 @@ ENDCLASS. "lcl_object_SFBS DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_sfbs IMPLEMENTATION. CLASS lcl_object_sfbs IMPLEMENTATION.
METHOD lif_object~has_changed_since.
rv_changed = abap_true.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~changed_by. METHOD lif_object~changed_by.
rv_user = get( )->get_header_data( )-changedby. rv_user = get( )->get_header_data( )-changedby.

View File

@ -27,6 +27,10 @@ ENDCLASS. "lcl_object_sfsw DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_sfsw IMPLEMENTATION. CLASS lcl_object_sfsw IMPLEMENTATION.
METHOD lif_object~has_changed_since.
rv_changed = abap_true.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~changed_by. METHOD lif_object~changed_by.
rv_user = get( )->get_header_data( )-changedby. rv_user = get( )->get_header_data( )-changedby.

View File

@ -54,6 +54,10 @@ ENDCLASS. "lcl_object_shi3 DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_shi3 IMPLEMENTATION. CLASS lcl_object_shi3 IMPLEMENTATION.
METHOD lif_object~has_changed_since.
rv_changed = abap_true.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~changed_by. METHOD lif_object~changed_by.
rv_user = c_user_unknown. " todo rv_user = c_user_unknown. " todo
ENDMETHOD. ENDMETHOD.

View File

@ -22,6 +22,21 @@ ENDCLASS. "lcl_object_dtel DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_shlp IMPLEMENTATION. CLASS lcl_object_shlp IMPLEMENTATION.
METHOD lif_object~has_changed_since.
DATA: lv_date TYPE dats,
lv_time TYPE tims,
lv_ts TYPE timestamp.
SELECT SINGLE as4date as4time FROM dd30l
INTO (lv_date, lv_time)
WHERE shlpname = ms_item-obj_name
AND as4local = 'A'.
_object_check_timestamp lv_date lv_time.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~changed_by. METHOD lif_object~changed_by.
SELECT SINGLE as4user FROM dd30l INTO rv_user SELECT SINGLE as4user FROM dd30l INTO rv_user

View File

@ -62,6 +62,10 @@ ENDCLASS. "lcl_object_sicf DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_sicf IMPLEMENTATION. CLASS lcl_object_sicf IMPLEMENTATION.
METHOD lif_object~has_changed_since.
rv_changed = abap_true.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~changed_by. METHOD lif_object~changed_by.
DATA: ls_icfservice TYPE icfservice. DATA: ls_icfservice TYPE icfservice.

View File

@ -42,6 +42,10 @@ ENDCLASS. "lcl_object_smim DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_smim IMPLEMENTATION. CLASS lcl_object_smim IMPLEMENTATION.
METHOD lif_object~has_changed_since.
rv_changed = abap_true.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~changed_by. METHOD lif_object~changed_by.
DATA: lv_loio TYPE sdok_docid. DATA: lv_loio TYPE sdok_docid.

View File

@ -22,6 +22,10 @@ ENDCLASS. "lcl_object_splo DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_splo IMPLEMENTATION. CLASS lcl_object_splo IMPLEMENTATION.
METHOD lif_object~has_changed_since.
rv_changed = abap_true.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~changed_by. METHOD lif_object~changed_by.
SELECT SINGLE chgname1 FROM tsp1d INTO rv_user SELECT SINGLE chgname1 FROM tsp1d INTO rv_user

View File

@ -22,6 +22,10 @@ ENDCLASS. "lcl_object_dtel DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_ssfo IMPLEMENTATION. CLASS lcl_object_ssfo IMPLEMENTATION.
METHOD lif_object~has_changed_since.
rv_changed = abap_true.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~changed_by. METHOD lif_object~changed_by.
SELECT SINGLE lastuser FROM stxfadm INTO rv_user SELECT SINGLE lastuser FROM stxfadm INTO rv_user

View File

@ -27,6 +27,10 @@ ENDCLASS. "lcl_object_ssst DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_ssst IMPLEMENTATION. CLASS lcl_object_ssst IMPLEMENTATION.
METHOD lif_object~has_changed_since.
rv_changed = abap_true.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~changed_by. METHOD lif_object~changed_by.
SELECT SINGLE lastuser FROM stxsadm INTO rv_user SELECT SINGLE lastuser FROM stxsadm INTO rv_user

View File

@ -22,6 +22,10 @@ ENDCLASS. "lcl_object_susc DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_susc IMPLEMENTATION. CLASS lcl_object_susc IMPLEMENTATION.
METHOD lif_object~has_changed_since.
rv_changed = abap_true.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~changed_by. METHOD lif_object~changed_by.
rv_user = c_user_unknown. " todo rv_user = c_user_unknown. " todo
ENDMETHOD. ENDMETHOD.

View File

@ -22,6 +22,10 @@ ENDCLASS. "lcl_object_suso DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_suso IMPLEMENTATION. CLASS lcl_object_suso IMPLEMENTATION.
METHOD lif_object~has_changed_since.
rv_changed = abap_true.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~changed_by. METHOD lif_object~changed_by.
rv_user = c_user_unknown. " todo rv_user = c_user_unknown. " todo
ENDMETHOD. ENDMETHOD.

View File

@ -22,6 +22,43 @@ ENDCLASS. "lcl_object_dtel DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_tabl IMPLEMENTATION. CLASS lcl_object_tabl IMPLEMENTATION.
METHOD lif_object~has_changed_since.
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.
SELECT SINGLE as4date as4time FROM dd02l " Table
INTO (lv_date, lv_time)
WHERE tabname = ms_item-obj_name
AND as4local = 'A'
AND as4vers = '0000'.
_object_check_timestamp lv_date lv_time.
SELECT SINGLE as4date as4time FROM dd09l " Table tech settings
INTO (lv_date, lv_time)
WHERE tabname = ms_item-obj_name
AND as4local = 'A'
AND as4vers = '0000'.
_object_check_timestamp lv_date lv_time.
SELECT as4date as4time FROM dd12l " Table tech settings
INTO CORRESPONDING FIELDS OF TABLE lt_indexes
WHERE sqltab = ms_item-obj_name
AND as4local = 'A'
AND as4vers = '0000' ##TOO_MANY_ITAB_FIELDS.
LOOP AT lt_indexes ASSIGNING <ls_index>.
_object_check_timestamp <ls_index>-as4date <ls_index>-as4time.
ENDLOOP.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~changed_by. METHOD lif_object~changed_by.
SELECT SINGLE as4user FROM dd02l INTO rv_user SELECT SINGLE as4user FROM dd02l INTO rv_user

View File

@ -22,6 +22,10 @@ ENDCLASS. "lcl_object_tobj DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_tobj IMPLEMENTATION. CLASS lcl_object_tobj IMPLEMENTATION.
METHOD lif_object~has_changed_since.
rv_changed = abap_true.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~changed_by. METHOD lif_object~changed_by.
rv_user = c_user_unknown. " todo rv_user = c_user_unknown. " todo
ENDMETHOD. ENDMETHOD.

View File

@ -47,6 +47,10 @@ ENDCLASS. "lcl_object_TRAN DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_tran IMPLEMENTATION. CLASS lcl_object_tran IMPLEMENTATION.
METHOD lif_object~has_changed_since.
rv_changed = abap_true.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~changed_by. METHOD lif_object~changed_by.
rv_user = c_user_unknown. " todo rv_user = c_user_unknown. " todo
ENDMETHOD. ENDMETHOD.

View File

@ -22,6 +22,21 @@ ENDCLASS. "lcl_object_dtel DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_ttyp IMPLEMENTATION. CLASS lcl_object_ttyp IMPLEMENTATION.
METHOD lif_object~has_changed_since.
DATA: lv_date TYPE dats,
lv_time TYPE tims,
lv_ts TYPE timestamp.
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.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~changed_by. METHOD lif_object~changed_by.
SELECT SINGLE as4user FROM dd40l INTO rv_user SELECT SINGLE as4user FROM dd40l INTO rv_user

View File

@ -35,6 +35,10 @@ ENDCLASS. "lcl_object_type DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_type IMPLEMENTATION. CLASS lcl_object_type IMPLEMENTATION.
METHOD lif_object~has_changed_since.
rv_changed = abap_true.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~changed_by. METHOD lif_object~changed_by.
rv_user = c_user_unknown. " todo rv_user = c_user_unknown. " todo
ENDMETHOD. ENDMETHOD.

View File

@ -26,6 +26,10 @@ ENDCLASS. "lcl_object_vcls DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_vcls IMPLEMENTATION. CLASS lcl_object_vcls IMPLEMENTATION.
METHOD lif_object~has_changed_since.
rv_changed = abap_true.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~changed_by. METHOD lif_object~changed_by.
rv_user = c_user_unknown. " todo rv_user = c_user_unknown. " todo
ENDMETHOD. ENDMETHOD.

View File

@ -22,6 +22,30 @@ ENDCLASS. "lcl_object_dtel DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_view IMPLEMENTATION. CLASS lcl_object_view IMPLEMENTATION.
METHOD lif_object~has_changed_since.
DATA: lv_date TYPE dats,
lv_time TYPE tims,
lv_ts TYPE timestamp.
SELECT SINGLE as4date as4time FROM dd25l " View
INTO (lv_date, lv_time)
WHERE viewname = ms_item-obj_name
AND as4local = 'A'
AND as4vers = '0000'.
_object_check_timestamp lv_date lv_time.
SELECT SINGLE as4date as4time FROM dd09l " Table tech settings
INTO (lv_date, lv_time)
WHERE tabname = ms_item-obj_name
AND as4local = 'A'
AND as4vers = '0000'.
_object_check_timestamp lv_date lv_time.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~changed_by. METHOD lif_object~changed_by.
SELECT SINGLE as4user FROM dd25l INTO rv_user SELECT SINGLE as4user FROM dd25l INTO rv_user

View File

@ -24,6 +24,10 @@ ENDCLASS. "lcl_object_W3SUPER DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_w3super IMPLEMENTATION. CLASS lcl_object_w3super IMPLEMENTATION.
METHOD lif_object~has_changed_since.
rv_changed = abap_true.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~changed_by. METHOD lif_object~changed_by.
rv_user = c_user_unknown. " todo rv_user = c_user_unknown. " todo
ENDMETHOD. ENDMETHOD.

View File

@ -34,6 +34,10 @@ ENDCLASS. "lcl_object_wdya DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_wdya IMPLEMENTATION. CLASS lcl_object_wdya IMPLEMENTATION.
METHOD lif_object~has_changed_since.
rv_changed = abap_true.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~changed_by. METHOD lif_object~changed_by.
rv_user = c_user_unknown. " todo rv_user = c_user_unknown. " todo
ENDMETHOD. ENDMETHOD.

View File

@ -68,6 +68,10 @@ ENDCLASS. "lcl_object_wdyn DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_wdyn IMPLEMENTATION. CLASS lcl_object_wdyn IMPLEMENTATION.
METHOD lif_object~has_changed_since.
rv_changed = abap_true.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~changed_by. METHOD lif_object~changed_by.
rv_user = c_user_unknown. " todo rv_user = c_user_unknown. " todo
ENDMETHOD. ENDMETHOD.

View File

@ -62,6 +62,10 @@ ENDCLASS. "lcl_object_SFBS DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_webi IMPLEMENTATION. CLASS lcl_object_webi IMPLEMENTATION.
METHOD lif_object~has_changed_since.
rv_changed = abap_true.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~changed_by. METHOD lif_object~changed_by.
rv_user = c_user_unknown. " todo rv_user = c_user_unknown. " todo
ENDMETHOD. "lif_object~changed_by ENDMETHOD. "lif_object~changed_by

View File

@ -28,6 +28,10 @@ ENDCLASS. "lcl_object_xslt DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_object_xslt IMPLEMENTATION. CLASS lcl_object_xslt IMPLEMENTATION.
METHOD lif_object~has_changed_since.
rv_changed = abap_true.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~changed_by. METHOD lif_object~changed_by.
rv_user = c_user_unknown. " todo rv_user = c_user_unknown. " todo
ENDMETHOD. ENDMETHOD.

View File

@ -230,7 +230,11 @@ INTERFACE lif_object.
jump jump
RAISING lcx_exception, RAISING lcx_exception,
get_metadata get_metadata
RETURNING VALUE(rs_metadata) TYPE ty_metadata. RETURNING VALUE(rs_metadata) TYPE ty_metadata,
has_changed_since
IMPORTING iv_timestamp TYPE timestamp
RETURNING VALUE(rv_changed) TYPE abap_bool
RAISING lcx_exception.
DATA: mo_files TYPE REF TO lcl_objects_files. DATA: mo_files TYPE REF TO lcl_objects_files.
@ -435,6 +439,7 @@ ENDCLASS. "lcl_objects_files IMPLEMENTATION
CLASS lcl_objects_super DEFINITION ABSTRACT. CLASS lcl_objects_super DEFINITION ABSTRACT.
PUBLIC SECTION. PUBLIC SECTION.
METHODS: METHODS:
constructor constructor
IMPORTING IMPORTING
@ -497,6 +502,10 @@ ENDCLASS. "lcl_objects_bridge DEFINITION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
CLASS lcl_objects_bridge IMPLEMENTATION. CLASS lcl_objects_bridge IMPLEMENTATION.
METHOD lif_object~has_changed_since.
rv_changed = abap_true.
ENDMETHOD. "lif_object~has_changed_since
METHOD lif_object~get_metadata. METHOD lif_object~get_metadata.
CALL METHOD mo_plugin->('ZIF_ABAPGIT_PLUGIN~GET_METADATA') CALL METHOD mo_plugin->('ZIF_ABAPGIT_PLUGIN~GET_METADATA')
@ -706,6 +715,7 @@ CLASS lcl_objects_program DEFINITION INHERITING FROM lcl_objects_super.
RAISING lcx_exception. RAISING lcx_exception.
PROTECTED SECTION. PROTECTED SECTION.
TYPES: ty_spaces_tt TYPE STANDARD TABLE OF i WITH DEFAULT KEY. TYPES: ty_spaces_tt TYPE STANDARD TABLE OF i WITH DEFAULT KEY.
TYPES: BEGIN OF ty_tpool. TYPES: BEGIN OF ty_tpool.
@ -759,6 +769,12 @@ CLASS lcl_objects_program DEFINITION INHERITING FROM lcl_objects_super.
is_cua TYPE ty_cua is_cua TYPE ty_cua
RAISING lcx_exception. RAISING lcx_exception.
METHODS check_prog_changed_since
IMPORTING iv_program TYPE programm
iv_timestamp TYPE timestamp
iv_skip_gui TYPE abap_bool DEFAULT abap_false
RETURNING VALUE(rv_changed) TYPE abap_bool.
CLASS-METHODS: CLASS-METHODS:
add_tpool add_tpool
IMPORTING it_tpool TYPE textpool_table IMPORTING it_tpool TYPE textpool_table
@ -1309,6 +1325,55 @@ CLASS lcl_objects_program IMPLEMENTATION.
ENDMETHOD. "deserialize_cua ENDMETHOD. "deserialize_cua
METHOD check_prog_changed_since.
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.
FIELD-SYMBOLS: <ls_screen> LIKE LINE OF lt_screens,
<ls_eudb> LIKE LINE OF lt_eudb.
SELECT SINGLE udat utime FROM reposrc " Program
INTO (lv_date, lv_time)
WHERE progname = iv_program
AND r3state = 'A'.
_object_check_timestamp lv_date lv_time.
SELECT SINGLE udat utime FROM repotext " Program text pool
INTO (lv_date, lv_time)
WHERE progname = iv_program
AND r3state = 'A'.
_object_check_timestamp lv_date lv_time.
IF iv_skip_gui = abap_true.
RETURN.
ENDIF.
SELECT dgen tgen FROM d020s " Screens
INTO CORRESPONDING FIELDS OF TABLE lt_screens
WHERE prog = iv_program ##TOO_MANY_ITAB_FIELDS.
LOOP AT lt_screens ASSIGNING <ls_screen>.
_object_check_timestamp <ls_screen>-dgen <ls_screen>-tgen.
ENDLOOP.
SELECT vdatum vzeit FROM eudb " GUI
INTO CORRESPONDING FIELDS OF TABLE lt_eudb
WHERE relid = 'CU'
AND name = iv_program
AND srtf2 = 0 ##TOO_MANY_ITAB_FIELDS.
LOOP AT lt_eudb ASSIGNING <ls_eudb>.
_object_check_timestamp <ls_eudb>-vdatum <ls_eudb>-vzeit.
ENDLOOP.
ENDMETHOD. "check_prog_changed_since
ENDCLASS. "lcl_objects_program IMPLEMENTATION ENDCLASS. "lcl_objects_program IMPLEMENTATION
*----------------------------------------------------------------------* *----------------------------------------------------------------------*
@ -1435,6 +1500,12 @@ CLASS lcl_objects DEFINITION FINAL.
RETURNING VALUE(rv_user) TYPE xubname RETURNING VALUE(rv_user) TYPE xubname
RAISING lcx_exception. RAISING lcx_exception.
CLASS-METHODS has_changed_since
IMPORTING is_item TYPE ty_item
iv_timestamp TYPE timestamp
RETURNING VALUE(rv_changed) TYPE abap_bool
RAISING lcx_exception.
CLASS-METHODS is_supported CLASS-METHODS is_supported
IMPORTING is_item TYPE ty_item IMPORTING is_item TYPE ty_item
RETURNING VALUE(rv_bool) TYPE abap_bool. RETURNING VALUE(rv_bool) TYPE abap_bool.

View File

@ -172,6 +172,19 @@ CLASS lcl_objects IMPLEMENTATION.
ENDMETHOD. "create_object ENDMETHOD. "create_object
METHOD has_changed_since.
rv_changed = abap_true. " Assume changed
IF is_supported( is_item ) = abap_false.
RETURN. " Will requre serialize which will log the error
ENDIF.
rv_changed = create_object(
is_item = is_item
iv_language = gc_english )->has_changed_since( iv_timestamp ).
ENDMETHOD. "has_changed_since
METHOD is_supported. METHOD is_supported.
TRY. TRY.

View File

@ -289,13 +289,13 @@ CLASS lcl_gui_page_stage IMPLEMENTATION.
_add ' if (stageTab.addEventListener) {'. _add ' if (stageTab.addEventListener) {'.
_add ' stageTab.addEventListener("click", onEvent);'. _add ' stageTab.addEventListener("click", onEvent);'.
_add ' } else {'. _add ' } else {'.
_add ' stageTab.attachEvent("onclick", onEvent);'. " <IE9 clutch _add ' stageTab.attachEvent("onclick", onEvent);'. " <IE9 crutch
_add ' }'. _add ' }'.
_add '}'. _add '}'.
" Event handler, change status " Event handler, change status
_add 'function onEvent(event) {'. _add 'function onEvent(event) {'.
_add ' if (!event.target) {'. " <IE9 clutch _add ' if (!event.target) {'. " <IE9 crutch
_add ' if (event.srcElement) event.target = event.srcElement;'. _add ' if (event.srcElement) event.target = event.srcElement;'.
_add ' else return;'. _add ' else return;'.
_add ' }'. _add ' }'.

View File

@ -38,7 +38,9 @@ CLASS lcl_repo DEFINITION ABSTRACT FRIENDS lcl_repo_srv.
deserialize deserialize
RAISING lcx_exception, RAISING lcx_exception,
refresh refresh
IMPORTING iv_drop_cache TYPE abap_bool DEFAULT abap_false
RAISING lcx_exception, RAISING lcx_exception,
refresh_local, " For testing purposes, maybe removed later
build_local_checksums build_local_checksums
RETURNING VALUE(rt_checksums) TYPE lcl_persistence_repo=>ty_local_checksum_tt RETURNING VALUE(rt_checksums) TYPE lcl_persistence_repo=>ty_local_checksum_tt
RAISING lcx_exception, RAISING lcx_exception,
@ -51,6 +53,8 @@ CLASS lcl_repo DEFINITION ABSTRACT FRIENDS lcl_repo_srv.
DATA: mt_local TYPE ty_files_item_tt, DATA: mt_local TYPE ty_files_item_tt,
mt_remote TYPE ty_files_tt, mt_remote TYPE ty_files_tt,
mo_dot_abapgit TYPE REF TO lcl_dot_abapgit, mo_dot_abapgit TYPE REF TO lcl_dot_abapgit,
mv_do_local_refresh TYPE abap_bool,
mv_last_serialization TYPE timestamp,
ms_data TYPE lcl_persistence_repo=>ty_repo. ms_data TYPE lcl_persistence_repo=>ty_repo.
METHODS: METHODS:
@ -121,7 +125,8 @@ CLASS lcl_repo_online DEFINITION INHERITING FROM lcl_repo FINAL.
mt_objects TYPE ty_objects_tt, mt_objects TYPE ty_objects_tt,
mv_branch TYPE ty_sha1, mv_branch TYPE ty_sha1,
mv_initialized TYPE abap_bool, mv_initialized TYPE abap_bool,
mo_branches TYPE REF TO lcl_git_branch_list. mo_branches TYPE REF TO lcl_git_branch_list,
mt_status TYPE ty_results_tt.
METHODS: METHODS:
handle_stage_ignore handle_stage_ignore

View File

@ -42,8 +42,11 @@ CLASS lcl_repo_online IMPLEMENTATION.
initialize( ). initialize( ).
rt_results = lcl_file_status=>status( io_repo = me IF lines( mt_status ) = 0.
mt_status = lcl_file_status=>status( io_repo = me
io_log = io_log ). io_log = io_log ).
ENDIF.
rt_results = mt_status.
ENDMETHOD. "status ENDMETHOD. "status
@ -65,7 +68,8 @@ CLASS lcl_repo_online IMPLEMENTATION.
METHOD refresh. METHOD refresh.
super->refresh( ). super->refresh( iv_drop_cache ).
CLEAR mt_status.
lcl_progress=>show( iv_key = 'Fetch' lcl_progress=>show( iv_key = 'Fetch'
iv_current = 1 iv_current = 1
@ -365,7 +369,7 @@ CLASS lcl_repo IMPLEMENTATION.
lcl_objects=>deserialize( me ). lcl_objects=>deserialize( me ).
CLEAR mt_local. CLEAR: mt_local, mv_last_serialization.
set( it_checksums = build_local_checksums( ) ). set( it_checksums = build_local_checksums( ) ).
@ -381,12 +385,17 @@ CLASS lcl_repo IMPLEMENTATION.
ls_item TYPE ty_item, ls_item TYPE ty_item,
lt_files TYPE ty_files_tt. lt_files TYPE ty_files_tt.
DATA: lt_cache TYPE SORTED TABLE OF ty_file_item
WITH NON-UNIQUE KEY item.
FIELD-SYMBOLS: <ls_file> LIKE LINE OF lt_files, FIELD-SYMBOLS: <ls_file> LIKE LINE OF lt_files,
<ls_return> LIKE LINE OF rt_files, <ls_return> LIKE LINE OF rt_files,
<ls_cache> LIKE LINE OF lt_cache,
<ls_tadir> LIKE LINE OF lt_tadir. <ls_tadir> LIKE LINE OF lt_tadir.
IF lines( mt_local ) > 0. " Serialization happened before and no refresh request
IF mv_last_serialization IS NOT INITIAL AND mv_do_local_refresh = abap_false.
rt_files = mt_local. rt_files = mt_local.
RETURN. RETURN.
ENDIF. ENDIF.
@ -401,16 +410,32 @@ CLASS lcl_repo IMPLEMENTATION.
<ls_return>-file-sha1 = lcl_hash=>sha1( iv_type = gc_type-blob <ls_return>-file-sha1 = lcl_hash=>sha1( iv_type = gc_type-blob
iv_data = <ls_return>-file-data ). iv_data = <ls_return>-file-data ).
lt_cache = mt_local.
lt_tadir = lcl_tadir=>read( get_package( ) ). lt_tadir = lcl_tadir=>read( get_package( ) ).
LOOP AT lt_tadir ASSIGNING <ls_tadir>. LOOP AT lt_tadir ASSIGNING <ls_tadir>.
ls_item-obj_type = <ls_tadir>-object.
ls_item-obj_name = <ls_tadir>-obj_name.
IF mv_last_serialization IS NOT INITIAL. " Try to fetch from cache
READ TABLE lt_cache TRANSPORTING NO FIELDS
WITH KEY item = ls_item.
IF sy-subrc = 0 " There is something in cache and the object is unchanged
AND abap_false = lcl_objects=>has_changed_since( is_item = ls_item
iv_timestamp = mv_last_serialization ).
LOOP AT lt_cache ASSIGNING <ls_cache> WHERE item = ls_item.
APPEND <ls_cache> TO rt_files.
ENDLOOP.
CONTINUE.
ENDIF.
ENDIF.
lcl_progress=>show( iv_key = 'Serialize' lcl_progress=>show( iv_key = 'Serialize'
iv_current = sy-tabix iv_current = sy-tabix
iv_total = lines( lt_tadir ) iv_total = lines( lt_tadir )
iv_text = <ls_tadir>-obj_name ) ##NO_TEXT. iv_text = <ls_tadir>-obj_name ) ##NO_TEXT.
ls_item-obj_type = <ls_tadir>-object.
ls_item-obj_name = <ls_tadir>-obj_name.
lt_files = lcl_objects=>serialize( lt_files = lcl_objects=>serialize(
is_item = ls_item is_item = ls_item
iv_language = get_master_language( ) iv_language = get_master_language( )
@ -425,7 +450,9 @@ CLASS lcl_repo IMPLEMENTATION.
ENDLOOP. ENDLOOP.
ENDLOOP. ENDLOOP.
GET TIME STAMP FIELD mv_last_serialization.
mt_local = rt_files. mt_local = rt_files.
mv_do_local_refresh = abap_false. " Fulfill refresh
ENDMETHOD. ENDMETHOD.
@ -449,9 +476,19 @@ CLASS lcl_repo IMPLEMENTATION.
ENDMETHOD. ENDMETHOD.
METHOD refresh. METHOD refresh.
CLEAR mt_local.
mv_do_local_refresh = abap_true.
IF iv_drop_cache = abap_true.
CLEAR: mv_last_serialization, mt_local.
ENDIF.
ENDMETHOD. "refresh ENDMETHOD. "refresh
METHOD refresh_local. " For testing purposes, maybe removed later
mv_do_local_refresh = abap_true.
ENDMETHOD. "refresh_local
METHOD get_package. METHOD get_package.
rv_package = ms_data-package. rv_package = ms_data-package.
ENDMETHOD. "get_package ENDMETHOD. "get_package