Gui internals refactoring (#2180)

* GUI internals refactoring

* unify string conversion calls part1
This commit is contained in:
sbcgua 2018-12-04 06:33:35 +01:00 committed by Lars Hvam
parent 746b114223
commit 4dee27fc1e
13 changed files with 265 additions and 182 deletions

View File

@ -1,14 +1,9 @@
CLASS zcl_abapgit_gui DEFINITION
PUBLIC
FINAL
CREATE PRIVATE .
FINAL .
PUBLIC SECTION.
CLASS-METHODS: get_instance
RETURNING VALUE(ro_gui) TYPE REF TO zcl_abapgit_gui
RAISING zcx_abapgit_exception.
METHODS go_home
RAISING zcx_abapgit_exception.
@ -20,9 +15,14 @@ CLASS zcl_abapgit_gui DEFINITION
METHODS on_event FOR EVENT sapevent OF cl_gui_html_viewer
IMPORTING action frame getdata postdata query_table.
PRIVATE SECTION.
METHODS constructor
IMPORTING
ii_router TYPE REF TO zif_abapgit_gui_router
ii_asset_man TYPE REF TO zif_abapgit_gui_asset_manager
RAISING
zcx_abapgit_exception.
CLASS-DATA: go_gui TYPE REF TO zcl_abapgit_gui.
PRIVATE SECTION.
TYPES: BEGIN OF ty_page_stack,
page TYPE REF TO zif_abapgit_gui_page,
@ -31,13 +31,10 @@ CLASS zcl_abapgit_gui DEFINITION
DATA: mi_cur_page TYPE REF TO zif_abapgit_gui_page,
mt_stack TYPE STANDARD TABLE OF ty_page_stack,
mo_router TYPE REF TO zcl_abapgit_gui_router,
mo_asset_man TYPE REF TO zcl_abapgit_gui_asset_manager,
mi_router TYPE REF TO zif_abapgit_gui_router,
mi_asset_man TYPE REF TO zif_abapgit_gui_asset_manager,
mo_html_viewer TYPE REF TO cl_gui_html_viewer.
METHODS constructor
RAISING zcx_abapgit_exception.
METHODS startup
RAISING zcx_abapgit_exception.
@ -114,33 +111,23 @@ CLASS ZCL_ABAPGIT_GUI IMPLEMENTATION.
METHOD cache_asset.
DATA: lv_xstr TYPE xstring,
lt_xdata TYPE TABLE OF w3_mime, " RAW255
lt_xdata TYPE lvc_t_mime,
lv_size TYPE int4.
ASSERT iv_text IS SUPPLIED OR iv_xdata IS SUPPLIED.
IF iv_text IS SUPPLIED. " String input
CALL FUNCTION 'SCMS_STRING_TO_XSTRING'
EXPORTING
text = iv_text
IMPORTING
buffer = lv_xstr
EXCEPTIONS
OTHERS = 1.
ASSERT sy-subrc = 0.
lv_xstr = zcl_abapgit_gui_asset_manager=>string_to_xstring( iv_text ).
ELSE. " Raw input
lv_xstr = iv_xdata.
ENDIF.
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
zcl_abapgit_gui_asset_manager=>xstring_to_bintab(
EXPORTING
buffer = lv_xstr
iv_xstr = lv_xstr
IMPORTING
output_length = lv_size
TABLES
binary_tab = lt_xdata.
ev_size = lv_size
et_bintab = lt_xdata ).
mo_html_viewer->load_data(
EXPORTING
@ -187,6 +174,8 @@ CLASS ZCL_ABAPGIT_GUI IMPLEMENTATION.
METHOD constructor.
mi_router = ii_router.
mi_asset_man = ii_asset_man.
startup( ).
ENDMETHOD.
@ -196,20 +185,11 @@ CLASS ZCL_ABAPGIT_GUI IMPLEMENTATION.
rv_page_name =
cl_abap_classdescr=>describe_by_object_ref( mi_cur_page
)->get_relative_name( ).
SHIFT rv_page_name LEFT DELETING LEADING 'LCL_GUI_'.
ENDIF." ELSE - return is empty => initial page
ENDMETHOD.
METHOD get_instance.
IF go_gui IS INITIAL.
CREATE OBJECT go_gui.
ENDIF.
ro_gui = go_gui.
ENDMETHOD.
METHOD go_home.
on_event( action = |{ zif_abapgit_definitions=>c_action-go_main }| ). " doesn't accept strings directly
@ -237,7 +217,7 @@ CLASS ZCL_ABAPGIT_GUI IMPLEMENTATION.
ENDIF.
IF lv_state IS INITIAL.
mo_router->on_event(
mi_router->on_event(
EXPORTING
iv_action = iv_action
iv_prev_page = get_current_page_name( )
@ -306,36 +286,22 @@ CLASS ZCL_ABAPGIT_GUI IMPLEMENTATION.
DATA: lt_events TYPE cntl_simple_events,
ls_event LIKE LINE OF lt_events,
lt_assets TYPE zif_abapgit_definitions=>tt_web_assets.
lt_assets TYPE zif_abapgit_gui_asset_manager=>tt_web_assets.
FIELD-SYMBOLS <ls_asset> LIKE LINE OF lt_assets.
CREATE OBJECT mo_router.
CREATE OBJECT mo_asset_man.
CREATE OBJECT mo_html_viewer
EXPORTING
query_table_disabled = abap_true
parent = cl_gui_container=>screen0.
cache_asset( iv_xdata = mo_asset_man->get_asset( 'css_common' )
iv_url = 'css/common.css'
iv_type = 'text'
iv_subtype = 'css' ).
cache_asset( iv_xdata = mo_asset_man->get_asset( 'js_common' )
iv_url = 'js/common.js'
iv_type = 'text'
iv_subtype = 'javascript' ).
lt_assets = mo_asset_man->get_images( ).
IF lines( lt_assets ) > 0.
LOOP AT lt_assets ASSIGNING <ls_asset>.
cache_asset( iv_xdata = <ls_asset>-content
iv_url = <ls_asset>-url
iv_type = 'image'
iv_subtype = 'png' ).
ENDLOOP.
ENDIF.
lt_assets = mi_asset_man->get_all_assets( ).
LOOP AT lt_assets ASSIGNING <ls_asset>.
cache_asset( iv_xdata = <ls_asset>-content
iv_url = <ls_asset>-url
iv_type = <ls_asset>-type
iv_subtype = <ls_asset>-subtype ).
ENDLOOP.
ls_event-eventid = mo_html_viewer->m_id_sapevent.
ls_event-appl_event = abap_true.

View File

@ -7,6 +7,7 @@
<VERSION>1</VERSION>
<LANGU>E</LANGU>
<DESCRIPT>GUI</DESCRIPT>
<EXPOSURE>2</EXPOSURE>
<STATE>1</STATE>
<CLSFINAL>X</CLSFINAL>
<CLSCCINCL>X</CLSCCINCL>

View File

@ -2,31 +2,54 @@ CLASS zcl_abapgit_gui_asset_manager DEFINITION PUBLIC FINAL CREATE PUBLIC .
PUBLIC SECTION.
METHODS get_asset
IMPORTING iv_asset_name TYPE string
RETURNING VALUE(rv_data) TYPE xstring
RAISING zcx_abapgit_exception.
INTERFACES zif_abapgit_gui_asset_manager.
METHODS get_images
RETURNING VALUE(rt_images) TYPE zif_abapgit_definitions=>tt_web_assets.
CLASS-METHODS string_to_xstring
IMPORTING
iv_str TYPE string
RETURNING
VALUE(rv_xstr) TYPE xstring.
CLASS-METHODS get_webfont_link
RETURNING VALUE(rv_link) TYPE string.
CLASS-METHODS base64_to_xstring
IMPORTING
iv_base64 TYPE string
RETURNING
VALUE(rv_xstr) TYPE xstring.
CLASS-METHODS bintab_to_xstring
IMPORTING
it_bintab TYPE lvc_t_mime
iv_size TYPE i
RETURNING
VALUE(rv_xstr) TYPE xstring.
CLASS-METHODS xstring_to_bintab
IMPORTING
iv_xstr TYPE xstring
EXPORTING
ev_size TYPE i
et_bintab TYPE lvc_t_mime.
PRIVATE SECTION.
METHODS get_inline_asset
IMPORTING iv_asset_name TYPE string
RETURNING VALUE(rv_data) TYPE xstring
RAISING zcx_abapgit_exception.
METHODS get_textlike_asset
IMPORTING
iv_asset_url TYPE string
RETURNING
VALUE(rs_asset) TYPE zif_abapgit_gui_asset_manager=>ty_web_asset
RAISING
zcx_abapgit_exception.
METHODS get_mime_asset
IMPORTING iv_asset_name TYPE c
RETURNING VALUE(rv_data) TYPE xstring
RAISING zcx_abapgit_exception.
IMPORTING
iv_mime_name TYPE c
RETURNING
VALUE(rv_xdata) TYPE xstring
RAISING
zcx_abapgit_exception.
METHODS get_inline_images
RETURNING VALUE(rt_images) TYPE zif_abapgit_definitions=>tt_web_assets.
RETURNING VALUE(rt_images) TYPE zif_abapgit_gui_asset_manager=>tt_web_assets.
ENDCLASS.
@ -34,97 +57,77 @@ ENDCLASS.
CLASS ZCL_ABAPGIT_GUI_ASSET_MANAGER IMPLEMENTATION.
METHOD zif_abapgit_gui_asset_manager~get_all_assets.
METHOD get_asset.
DATA:
lt_assets TYPE zif_abapgit_gui_asset_manager=>tt_web_assets,
ls_asset LIKE LINE OF lt_assets.
DATA: lv_asset_name TYPE string,
lv_mime_name TYPE wwwdatatab-objid.
ls_asset = get_textlike_asset( 'css/common.css' ).
APPEND ls_asset TO rt_assets.
ls_asset = get_textlike_asset( 'js/common.js' ).
APPEND ls_asset TO rt_assets.
lv_asset_name = to_upper( iv_asset_name ).
CASE lv_asset_name.
WHEN 'CSS_COMMON'.
lv_mime_name = 'ZABAPGIT_CSS_COMMON'.
WHEN 'JS_COMMON'.
lv_mime_name = 'ZABAPGIT_JS_COMMON'.
WHEN OTHERS.
zcx_abapgit_exception=>raise( |Improper resource name: { iv_asset_name }| ).
ENDCASE.
" Inline is default (for older AG snapshots to work)
rv_data = get_inline_asset( lv_asset_name ).
IF rv_data IS INITIAL.
rv_data = get_mime_asset( lv_mime_name ). " Get MIME object
ENDIF.
IF rv_data IS INITIAL.
zcx_abapgit_exception=>raise( |Failed to get GUI resource: { iv_asset_name }| ).
ENDIF.
lt_assets = get_inline_images( ).
APPEND LINES OF lt_assets TO rt_assets.
ENDMETHOD.
METHOD get_images.
FIELD-SYMBOLS <ls_image> LIKE LINE OF rt_images.
rt_images = get_inline_images( ).
" Convert to xstring
LOOP AT rt_images ASSIGNING <ls_image>.
CALL FUNCTION 'SSFC_BASE64_DECODE'
EXPORTING
b64data = <ls_image>-base64
IMPORTING
bindata = <ls_image>-content
EXCEPTIONS
OTHERS = 1.
ASSERT sy-subrc = 0. " Image data error
ENDLOOP.
ENDMETHOD.
METHOD get_inline_asset.
METHOD get_textlike_asset.
* used by abapmerge
DEFINE _inline.
APPEND &1 TO lt_data.
END-OF-DEFINITION.
DATA: lt_data TYPE zif_abapgit_definitions=>ty_string_tt,
lv_str TYPE string.
DATA:
lt_data TYPE string_table,
lv_mime_name TYPE wwwdatatab-objid,
lv_str TYPE string.
CASE iv_asset_name.
WHEN 'CSS_COMMON'.
CASE iv_asset_url.
WHEN 'css/common.css'.
rs_asset-url = iv_asset_url.
rs_asset-type = 'text'.
rs_asset-subtype = 'css'.
lv_mime_name = 'ZABAPGIT_CSS_COMMON'.
" @@abapmerge include zabapgit_css_common.w3mi.data.css > _inline '$$'.
WHEN 'JS_COMMON'.
WHEN 'js/common.js'.
rs_asset-url = iv_asset_url.
rs_asset-type = 'text'.
rs_asset-subtype = 'javascript'.
lv_mime_name = 'ZABAPGIT_JS_COMMON'.
" @@abapmerge include zabapgit_js_common.w3mi.data.js > _inline '$$'.
WHEN OTHERS.
zcx_abapgit_exception=>raise( |No inline resource: { iv_asset_name }| ).
zcx_abapgit_exception=>raise( |No inline resource: { iv_asset_url }| ).
ENDCASE.
CONCATENATE LINES OF lt_data INTO lv_str SEPARATED BY zif_abapgit_definitions=>c_newline.
IF lt_data IS NOT INITIAL.
CONCATENATE LINES OF lt_data INTO lv_str SEPARATED BY zif_abapgit_definitions=>c_newline.
rs_asset-content = string_to_xstring( lv_str ).
ELSE.
rs_asset-content = get_mime_asset( lv_mime_name ).
ENDIF.
CALL FUNCTION 'SCMS_STRING_TO_XSTRING'
EXPORTING
text = lv_str
IMPORTING
buffer = rv_data
EXCEPTIONS
OTHERS = 1.
ASSERT sy-subrc = 0.
IF rs_asset-content IS INITIAL.
zcx_abapgit_exception=>raise( |Failed to get GUI resource: { iv_asset_url }| ).
ENDIF.
ENDMETHOD.
METHOD get_inline_images.
DATA ls_image TYPE zif_abapgit_definitions=>ty_web_asset.
DATA:
lv_base64 TYPE string,
ls_image LIKE LINE OF rt_images.
* see https://github.com/larshp/abapGit/issues/201 for source SVG
ls_image-url = 'img/logo' ##NO_TEXT.
ls_image-base64 =
ls_image-type = 'image'.
ls_image-subtype = 'pmg'.
lv_base64 =
'iVBORw0KGgoAAAANSUhEUgAAAKMAAAAoCAYAAACSG0qbAAAABHNCSVQICAgIfAhkiAAA'
&& 'AAlwSFlzAAAEJQAABCUBprHeCQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9y'
&& 'Z5vuPBoAAA8VSURBVHic7Zx7cJzVeYef31nJAtvYko1JjM3FYHlXimwZkLWyLEMcwIGQ'
@ -204,6 +207,7 @@ CLASS ZCL_ABAPGIT_GUI_ASSET_MANAGER IMPLEMENTATION.
&& 'X9K+ygQTFGDcHhaaoGJyouDNV7JH+eGj4mF6gspoC+tzJt1ObsT4MDsF2zxs886+Ml5v'
&& '/PogUvEwPUGFiE+SX4gAtQa1gkhV7onQR4oJMR5oxC6stDeghd7Dh6E+CPw/HL4vVO2f'
&& 'cpUAAAAASUVORK5CYII='.
ls_image-content = base64_to_xstring( lv_base64 ).
APPEND ls_image TO rt_images.
ENDMETHOD.
@ -217,7 +221,7 @@ CLASS ZCL_ABAPGIT_GUI_ASSET_MANAGER IMPLEMENTATION.
lt_w3mime TYPE STANDARD TABLE OF w3mime.
ls_key-relid = 'MI'.
ls_key-objid = iv_asset_name.
ls_key-objid = iv_mime_name.
" Get exact file size
CALL FUNCTION 'WWWPARAMS_READ'
@ -250,25 +254,64 @@ CLASS ZCL_ABAPGIT_GUI_ASSET_MANAGER IMPLEMENTATION.
RETURN.
ENDIF.
rv_xdata = bintab_to_xstring(
iv_size = lv_size
it_bintab = lt_w3mime ).
ENDMETHOD.
METHOD string_to_xstring.
CALL FUNCTION 'SCMS_STRING_TO_XSTRING'
EXPORTING
text = iv_str
IMPORTING
buffer = rv_xstr
EXCEPTIONS
OTHERS = 1.
ASSERT sy-subrc = 0.
ENDMETHOD.
METHOD base64_to_xstring.
CALL FUNCTION 'SSFC_BASE64_DECODE'
EXPORTING
b64data = iv_base64
IMPORTING
bindata = rv_xstr
EXCEPTIONS
OTHERS = 1.
ASSERT sy-subrc = 0.
ENDMETHOD.
METHOD bintab_to_xstring.
CALL FUNCTION 'SCMS_BINARY_TO_XSTRING'
EXPORTING
input_length = lv_size
input_length = iv_size
IMPORTING
buffer = rv_data
buffer = rv_xstr
TABLES
binary_tab = lt_w3mime
binary_tab = it_bintab
EXCEPTIONS
failed = 1 ##FM_SUBRC_OK.
ASSERT sy-subrc = 0.
ENDMETHOD.
METHOD xstring_to_bintab.
METHOD get_webfont_link.
rv_link = '<link rel="stylesheet"'
&& ' type="text/css" href="'
&& 'https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/font/octicons.min.css'
&& '">'. "#EC NOTEXT
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
EXPORTING
buffer = iv_xstr
IMPORTING
output_length = ev_size
TABLES
binary_tab = et_bintab.
ENDMETHOD.
ENDCLASS.

View File

@ -163,6 +163,8 @@ CLASS ZCL_ABAPGIT_GUI_PAGE IMPLEMENTATION.
METHOD html_head.
DATA lv_font TYPE string.
CREATE OBJECT ro_html.
ro_html->add( '<head>' ). "#EC NOTEXT
@ -174,7 +176,10 @@ CLASS ZCL_ABAPGIT_GUI_PAGE IMPLEMENTATION.
ro_html->add( '<link rel="stylesheet" type="text/css" href="css/common.css">' ).
ro_html->add( '<script type="text/javascript" src="js/common.js"></script>' ). "#EC NOTEXT
ro_html->add( zcl_abapgit_gui_asset_manager=>get_webfont_link( ) ). " Web fonts
lv_font = |<link rel="stylesheet" type="text/css" href="|
&& 'https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/font/octicons.min.css'
&& '">'. "#EC NOTEXT
ro_html->add( lv_font ). " Web fonts
ro_html->add( '</head>' ). "#EC NOTEXT

View File

@ -5,14 +5,7 @@ CLASS zcl_abapgit_gui_router DEFINITION
PUBLIC SECTION.
METHODS on_event
IMPORTING iv_action TYPE clike
iv_prev_page TYPE clike
iv_getdata TYPE clike OPTIONAL
it_postdata TYPE cnht_post_data_tab OPTIONAL
EXPORTING ei_page TYPE REF TO zif_abapgit_gui_page
ev_state TYPE i
RAISING zcx_abapgit_exception zcx_abapgit_cancel.
INTERFACES zif_abapgit_gui_router.
PROTECTED SECTION.
PRIVATE SECTION.
@ -417,7 +410,7 @@ CLASS ZCL_ABAPGIT_GUI_ROUTER IMPLEMENTATION.
ENDMETHOD.
METHOD on_event.
METHOD zif_abapgit_gui_router~on_event.
DATA: ls_event_data TYPE ty_event_data.

View File

@ -17,11 +17,19 @@ CLASS zcl_abapgit_ui_factory DEFINITION
RETURNING
VALUE(ri_gui_functions) TYPE REF TO zif_abapgit_gui_functions.
CLASS-METHODS: get_gui
RETURNING
VALUE(ro_gui) TYPE REF TO zcl_abapgit_gui
RAISING
zcx_abapgit_exception.
PRIVATE SECTION.
CLASS-DATA:
gi_popups TYPE REF TO zif_abapgit_popups,
gi_tag_popups TYPE REF TO zif_abapgit_tag_popups,
gi_gui_functions TYPE REF TO zif_abapgit_gui_functions.
gi_gui_functions TYPE REF TO zif_abapgit_gui_functions,
go_gui TYPE REF TO zcl_abapgit_gui.
ENDCLASS.
@ -60,4 +68,22 @@ CLASS zcl_abapgit_ui_factory IMPLEMENTATION.
ENDMETHOD.
METHOD get_gui.
DATA:
li_router TYPE REF TO zif_abapgit_gui_router,
li_asset_man TYPE REF TO zif_abapgit_gui_asset_manager.
IF go_gui IS INITIAL.
CREATE OBJECT li_router TYPE zcl_abapgit_gui_router.
CREATE OBJECT li_asset_man TYPE zcl_abapgit_gui_asset_manager.
CREATE OBJECT go_gui
EXPORTING
ii_router = li_router
ii_asset_man = li_asset_man.
ENDIF.
ro_gui = go_gui.
ENDMETHOD.
ENDCLASS.

View File

@ -0,0 +1,20 @@
INTERFACE zif_abapgit_gui_asset_manager
PUBLIC .
TYPES:
BEGIN OF ty_web_asset,
url TYPE w3url,
type TYPE char50,
subtype TYPE char50,
content TYPE xstring,
END OF ty_web_asset .
TYPES:
tt_web_assets TYPE STANDARD TABLE OF ty_web_asset WITH DEFAULT KEY .
METHODS get_all_assets
RETURNING
VALUE(rt_assets) TYPE tt_web_assets
RAISING
zcx_abapgit_exception.
ENDINTERFACE.

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_INTF" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<VSEOINTERF>
<CLSNAME>ZIF_ABAPGIT_GUI_ASSET_MANAGER</CLSNAME>
<VERSION>1</VERSION>
<LANGU>E</LANGU>
<DESCRIPT>Abapgit GUI asset manager</DESCRIPT>
<EXPOSURE>2</EXPOSURE>
<STATE>1</STATE>
<UNICODE>X</UNICODE>
</VSEOINTERF>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -0,0 +1,17 @@
INTERFACE zif_abapgit_gui_router
PUBLIC .
METHODS on_event
IMPORTING
iv_action TYPE clike
iv_prev_page TYPE clike
iv_getdata TYPE clike OPTIONAL
it_postdata TYPE cnht_post_data_tab OPTIONAL
EXPORTING
ei_page TYPE REF TO zif_abapgit_gui_page
ev_state TYPE i
RAISING
zcx_abapgit_exception
zcx_abapgit_cancel.
ENDINTERFACE.

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_INTF" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<VSEOINTERF>
<CLSNAME>ZIF_ABAPGIT_GUI_ROUTER</CLSNAME>
<VERSION>1</VERSION>
<LANGU>E</LANGU>
<DESCRIPT>Abapgit GUI router</DESCRIPT>
<EXPOSURE>2</EXPOSURE>
<STATE>1</STATE>
<UNICODE>X</UNICODE>
</VSEOINTERF>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -36,7 +36,7 @@ FORM open_gui RAISING zcx_abapgit_exception.
ELSE.
zcl_abapgit_services_abapgit=>prepare_gui_startup( ).
zcl_abapgit_gui=>get_instance( )->go_home( ).
zcl_abapgit_ui_factory=>get_gui( )->go_home( ).
CALL SELECTION-SCREEN 1001. " trigger screen
ENDIF.
@ -127,7 +127,7 @@ ENDFORM.
FORM exit RAISING zcx_abapgit_exception.
CASE sy-ucomm.
WHEN 'CBAC'. "Back
IF zcl_abapgit_gui=>get_instance( )->back( ) IS INITIAL.
IF zcl_abapgit_ui_factory=>get_gui( )->back( ) IS INITIAL.
LEAVE TO SCREEN 1001.
ENDIF.
ENDCASE.

View File

@ -149,14 +149,6 @@ INTERFACE zif_abapgit_definitions PUBLIC.
delete_tadir TYPE abap_bool,
ddic TYPE abap_bool,
END OF ty_metadata .
TYPES:
BEGIN OF ty_web_asset,
url TYPE w3url,
base64 TYPE string,
content TYPE xstring,
END OF ty_web_asset .
TYPES:
tt_web_assets TYPE STANDARD TABLE OF ty_web_asset WITH DEFAULT KEY .
TYPES:
BEGIN OF ty_repo_file,
path TYPE string,

View File

@ -18,12 +18,6 @@
<LANGU>E</LANGU>
<DESCRIPT>TT_REPO_FILES</DESCRIPT>
</SEOCOMPOTX>
<SEOCOMPOTX>
<CLSNAME>ZIF_ABAPGIT_DEFINITIONS</CLSNAME>
<CMPNAME>TT_WEB_ASSETS</CMPNAME>
<LANGU>E</LANGU>
<DESCRIPT>TT_WEB_ASSETS</DESCRIPT>
</SEOCOMPOTX>
<SEOCOMPOTX>
<CLSNAME>ZIF_ABAPGIT_DEFINITIONS</CLSNAME>
<CMPNAME>TY_BITBYTE</CMPNAME>
@ -222,12 +216,6 @@
<LANGU>E</LANGU>
<DESCRIPT>TY_TYPE</DESCRIPT>
</SEOCOMPOTX>
<SEOCOMPOTX>
<CLSNAME>ZIF_ABAPGIT_DEFINITIONS</CLSNAME>
<CMPNAME>TY_WEB_ASSET</CMPNAME>
<LANGU>E</LANGU>
<DESCRIPT>TY_WEB_ASSET</DESCRIPT>
</SEOCOMPOTX>
</DESCRIPTIONS>
</asx:values>
</asx:abap>