tutorial component, footer on settings page #469

This commit is contained in:
sbcgua 2016-11-28 13:51:18 +02:00
parent 968a186a85
commit d226b9f380
9 changed files with 170 additions and 33 deletions

View File

@ -171,6 +171,7 @@ CONSTANTS: BEGIN OF gc_action,
repo_toggle_fav TYPE string VALUE 'repo_toggle_fav', repo_toggle_fav TYPE string VALUE 'repo_toggle_fav',
abapgit_home TYPE string VALUE 'abapgit_home', abapgit_home TYPE string VALUE 'abapgit_home',
abapgit_wiki TYPE string VALUE 'abapgit_wiki',
abapgit_install TYPE string VALUE 'abapgit_install', abapgit_install TYPE string VALUE 'abapgit_install',
zip_import TYPE string VALUE 'zip_import', zip_import TYPE string VALUE 'zip_import',
@ -203,6 +204,7 @@ CONSTANTS: BEGIN OF gc_action,
go_branch_overview TYPE string VALUE 'go_branch_overview', go_branch_overview TYPE string VALUE 'go_branch_overview',
go_playground TYPE string VALUE 'go_playground', go_playground TYPE string VALUE 'go_playground',
go_debuginfo TYPE string VALUE 'go_debuginfo', go_debuginfo TYPE string VALUE 'go_debuginfo',
go_settings type string value 'go_settings', go_settings TYPE STRING VALUE 'go_settings',
go_tutorial TYPE STRING VALUE 'go_tutorial',
jump TYPE string VALUE 'jump', jump TYPE string VALUE 'jump',
END OF gc_action. END OF gc_action.

View File

@ -13,6 +13,7 @@ INCLUDE zabapgit_repo_browser_util.
* Components and templates * Components and templates
INCLUDE zabapgit_view_repo. INCLUDE zabapgit_view_repo.
INCLUDE zabapgit_view_tutorial.
* Pages * Pages
INCLUDE zabapgit_page_commit. INCLUDE zabapgit_page_commit.

View File

@ -96,6 +96,9 @@ CLASS lcl_gui_router IMPLEMENTATION.
WHEN gc_action-go_playground. " Create playground page WHEN gc_action-go_playground. " Create playground page
ei_page = get_page_playground( ). ei_page = get_page_playground( ).
ev_state = gc_event_state-new_page. ev_state = gc_event_state-new_page.
WHEN gc_action-go_tutorial. " Go to tutorial
lcl_app=>user( )->set_repo_show( '' ). " Clear show_id
ev_state = gc_event_state-re_render. " Assume we are on main page
" SAP GUI actions " SAP GUI actions
WHEN gc_action-jump. WHEN gc_action-jump.
@ -125,6 +128,9 @@ CLASS lcl_gui_router IMPLEMENTATION.
WHEN gc_action-abapgit_home. " Go abapGit homepage WHEN gc_action-abapgit_home. " Go abapGit homepage
lcl_services_abapgit=>open_abapgit_homepage( ). lcl_services_abapgit=>open_abapgit_homepage( ).
ev_state = gc_event_state-no_more_act. ev_state = gc_event_state-no_more_act.
WHEN gc_action-abapgit_wiki. " Go abapGit wikipage
lcl_services_abapgit=>open_abapgit_wikipage( ).
ev_state = gc_event_state-no_more_act.
WHEN gc_action-abapgit_install. " Install abapGit WHEN gc_action-abapgit_install. " Install abapGit
lcl_services_abapgit=>install_abapgit( ). lcl_services_abapgit=>install_abapgit( ).
ev_state = gc_event_state-re_render. ev_state = gc_event_state-re_render.

View File

@ -6,10 +6,9 @@ CLASS lcl_gui_page_debuginfo DEFINITION FINAL INHERITING FROM lcl_gui_page_super
PUBLIC SECTION. PUBLIC SECTION.
METHODS lif_gui_page~render REDEFINITION. METHODS lif_gui_page~render REDEFINITION.
PRIVATE SECTION.
METHODS scripts METHODS scripts
RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper. RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper.
PRIVATE SECTION.
METHODS render_debug_info METHODS render_debug_info
RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper. RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper.
METHODS render_supported_object_types METHODS render_supported_object_types

View File

@ -114,9 +114,10 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
METHOD lif_gui_page~render. METHOD lif_gui_page~render.
DATA: lt_repos TYPE lcl_repo_srv=>ty_repo_tt, DATA: lt_repos TYPE lcl_repo_srv=>ty_repo_tt,
lx_error TYPE REF TO lcx_exception, lx_error TYPE REF TO lcx_exception,
lo_repo LIKE LINE OF lt_repos. lo_tutorial TYPE REF TO lcl_gui_view_tutorial,
lo_repo LIKE LINE OF lt_repos.
retrieve_active_repo( ). " Get and validate key of user default repo retrieve_active_repo( ). " Get and validate key of user default repo
@ -137,8 +138,13 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
IF lines( lt_repos ) = 0 AND lx_error IS INITIAL. IF lines( lt_repos ) = 0 AND lx_error IS INITIAL.
ro_html->add( render_explore( ) ). ro_html->add( render_explore( ) ).
ELSE. ELSE.
lo_repo = lcl_app=>repo_srv( )->get( mv_show ). IF mv_show IS INITIAL.
ro_html->add( render_repo( lo_repo ) ). CREATE OBJECT lo_tutorial.
ro_html->add( lo_tutorial->lif_gui_page~render( ) ).
ELSE.
lo_repo = lcl_app=>repo_srv( )->get( mv_show ).
ro_html->add( render_repo( lo_repo ) ).
ENDIF.
ENDIF. ENDIF.
ro_html->add( footer( ) ). ro_html->add( footer( ) ).
@ -165,17 +171,10 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
lo_repo = lcl_app=>repo_srv( )->get( mv_show ). lo_repo = lcl_app=>repo_srv( )->get( mv_show ).
CATCH lcx_exception. CATCH lcx_exception.
CLEAR mv_show. CLEAR mv_show.
lcl_app=>user( )->set_repo_show( mv_show ).
ENDTRY. ENDTRY.
ENDIF. ENDIF.
IF mv_show IS INITIAL. " Fall back to first available repo
READ TABLE lt_repos INTO lo_repo INDEX 1.
IF sy-subrc = 0.
mv_show = lo_repo->get_key( ).
lcl_app=>user( )->set_repo_show( mv_show ).
ENDIF.
ENDIF.
IF lv_show_old <> mv_show AND NOT mv_show IS INITIAL. IF lv_show_old <> mv_show AND NOT mv_show IS INITIAL.
CREATE OBJECT mo_repo_content CREATE OBJECT mo_repo_content
EXPORTING EXPORTING
@ -186,20 +185,25 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
METHOD build_main_menu. METHOD build_main_menu.
DATA lo_betasub TYPE REF TO lcl_html_toolbar. DATA: lo_advsub TYPE REF TO lcl_html_toolbar,
lo_helpsub TYPE REF TO lcl_html_toolbar.
CREATE OBJECT ro_menu. CREATE OBJECT ro_menu.
CREATE OBJECT lo_betasub. CREATE OBJECT lo_advsub.
CREATE OBJECT lo_helpsub.
lo_betasub->add( iv_txt = 'Database util' iv_act = gc_action-go_db ) ##NO_TEXT. lo_advsub->add( iv_txt = 'Database util' iv_act = gc_action-go_db ) ##NO_TEXT.
lo_betasub->add( iv_txt = 'Package to zip' iv_act = gc_action-zip_package ) ##NO_TEXT. lo_advsub->add( iv_txt = 'Package to zip' iv_act = gc_action-zip_package ) ##NO_TEXT.
lo_betasub->add( iv_txt = 'Transport to zip' iv_act = gc_action-zip_transport ) ##NO_TEXT. lo_advsub->add( iv_txt = 'Transport to zip' iv_act = gc_action-zip_transport ) ##NO_TEXT.
lo_betasub->add( iv_txt = 'Object to files' iv_act = gc_action-zip_object ) ##NO_TEXT. lo_advsub->add( iv_txt = 'Object to files' iv_act = gc_action-zip_object ) ##NO_TEXT.
lo_betasub->add( iv_txt = 'Test changed by' iv_act = c_actions-changed_by ) ##NO_TEXT. lo_advsub->add( iv_txt = 'Test changed by' iv_act = c_actions-changed_by ) ##NO_TEXT.
lo_betasub->add( iv_txt = 'Page playground' iv_act = gc_action-go_playground ) ##NO_TEXT. lo_advsub->add( iv_txt = 'Page playground' iv_act = gc_action-go_playground ) ##NO_TEXT.
lo_betasub->add( iv_txt = 'Debug info' iv_act = gc_action-go_debuginfo ) ##NO_TEXT. lo_advsub->add( iv_txt = 'Debug info' iv_act = gc_action-go_debuginfo ) ##NO_TEXT.
lo_betasub->add( iv_txt = 'Settings' iv_act = gc_action-go_settings ) ##NO_TEXT. lo_advsub->add( iv_txt = 'Settings' iv_act = gc_action-go_settings ) ##NO_TEXT.
lo_helpsub->add( iv_txt = 'Tutorial' iv_act = gc_action-go_tutorial ) ##NO_TEXT.
lo_helpsub->add( iv_txt = 'abapGit wiki' iv_act = gc_action-abapgit_wiki ) ##NO_TEXT.
ro_menu->add( iv_txt = 'Clone' iv_act = gc_action-repo_clone ) ##NO_TEXT. ro_menu->add( iv_txt = 'Clone' iv_act = gc_action-repo_clone ) ##NO_TEXT.
ro_menu->add( iv_txt = 'Explore' iv_act = gc_action-go_explore ) ##NO_TEXT. ro_menu->add( iv_txt = 'Explore' iv_act = gc_action-go_explore ) ##NO_TEXT.
@ -207,7 +211,8 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
IF lcl_services_abapgit=>needs_installation( ) = abap_true. IF lcl_services_abapgit=>needs_installation( ) = abap_true.
ro_menu->add( iv_txt = 'Get abapGit' iv_act = gc_action-abapgit_install ) ##NO_TEXT. ro_menu->add( iv_txt = 'Get abapGit' iv_act = gc_action-abapgit_install ) ##NO_TEXT.
ENDIF. ENDIF.
ro_menu->add( iv_txt = 'Advanced' io_sub = lo_betasub ) ##NO_TEXT. ro_menu->add( iv_txt = 'Advanced' io_sub = lo_advsub ) ##NO_TEXT.
ro_menu->add( iv_txt = 'Help' io_sub = lo_helpsub ) ##NO_TEXT.
ENDMETHOD. "build main_menu ENDMETHOD. "build main_menu
@ -285,9 +290,9 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
IF lo_favbar->count( ) > 0. IF lo_favbar->count( ) > 0.
ro_html->add( lo_favbar->render( iv_sort = abap_true ) ). ro_html->add( lo_favbar->render( iv_sort = abap_true ) ).
ELSE. ELSE.
ro_html->add( '<span class="grey">No favorites found. Please' ro_html->add( `<span class="grey">No favorites so far. For more info please check ` ).
&& ' click <img src="img/star-grey"> icon repo toolbar to add' ro_html->add_anchor( iv_txt = 'tutorial' iv_act = gc_action-go_tutorial ).
&& ' it as favourite. Choose a repo there &#x2192;</span>' ). ro_html->add( '</span>' ).
ENDIF. ENDIF.
ro_html->add( '</td>' ). ro_html->add( '</td>' ).

View File

@ -3,14 +3,22 @@
*&---------------------------------------------------------------------* *&---------------------------------------------------------------------*
CLASS lcl_gui_page_settings DEFINITION FINAL INHERITING FROM lcl_gui_page_super. CLASS lcl_gui_page_settings DEFINITION FINAL INHERITING FROM lcl_gui_page_super.
PUBLIC SECTION. PUBLIC SECTION.
METHODS lif_gui_page~render REDEFINITION. METHODS lif_gui_page~render REDEFINITION.
METHODS lif_gui_page~on_event REDEFINITION. METHODS lif_gui_page~on_event REDEFINITION.
CONSTANTS: CONSTANTS:
BEGIN OF c_action, BEGIN OF c_action,
save_settings TYPE string VALUE 'save_settings', save_settings TYPE string VALUE 'save_settings',
END OF c_action. END OF c_action.
PRIVATE SECTION. PRIVATE SECTION.
DATA:
mo_settings TYPE REF TO lcl_settings,
mv_error TYPE abap_bool.
METHODS render_proxy METHODS render_proxy
RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper. RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper.
METHODS render_development_internals METHODS render_development_internals
@ -32,14 +40,13 @@ CLASS lcl_gui_page_settings DEFINITION FINAL INHERITING FROM lcl_gui_page_super.
RAISING RAISING
lcx_exception. lcx_exception.
METHODS read_settings. METHODS read_settings.
DATA:
mo_settings TYPE REF TO lcl_settings,
mv_error TYPE abap_bool.
ENDCLASS. ENDCLASS.
CLASS lcl_gui_page_settings IMPLEMENTATION. CLASS lcl_gui_page_settings IMPLEMENTATION.
METHOD lif_gui_page~render. METHOD lif_gui_page~render.
CREATE OBJECT ro_html. CREATE OBJECT ro_html.
read_settings( ). read_settings( ).
@ -52,10 +59,15 @@ CLASS lcl_gui_page_settings IMPLEMENTATION.
ro_html->add( |<hr>| ). ro_html->add( |<hr>| ).
ro_html->add( render_development_internals( ) ). ro_html->add( render_development_internals( ) ).
ro_html->add( render_form_end( ) ). ro_html->add( render_form_end( ) ).
ro_html->add( footer( ) ).
ENDMETHOD. ENDMETHOD.
METHOD render_proxy. METHOD render_proxy.
CREATE OBJECT ro_html. CREATE OBJECT ro_html.
ro_html->add( |<h2>Proxy</h2>| ). ro_html->add( |<h2>Proxy</h2>| ).
ro_html->add( |<label for="proxy_url">Proxy URL</label>| ). ro_html->add( |<label for="proxy_url">Proxy URL</label>| ).
ro_html->add( |<br>| ). ro_html->add( |<br>| ).
@ -66,11 +78,14 @@ CLASS lcl_gui_page_settings IMPLEMENTATION.
ro_html->add( `<input name="proxy_port" type="text" size="5" value="` && mo_settings->get_proxy_port( ) && `">` ). ro_html->add( `<input name="proxy_port" type="text" size="5" value="` && mo_settings->get_proxy_port( ) && `">` ).
ro_html->add( |<br>| ). ro_html->add( |<br>| ).
ro_html->add( |<br>| ). ro_html->add( |<br>| ).
ENDMETHOD. ENDMETHOD.
METHOD lif_gui_page~on_event. METHOD lif_gui_page~on_event.
DATA: DATA:
lt_post_fields TYPE tihttpnvp. lt_post_fields TYPE tihttpnvp.
CASE iv_action. CASE iv_action.
WHEN c_action-save_settings. WHEN c_action-save_settings.
lt_post_fields = parse_post( it_postdata ). lt_post_fields = parse_post( it_postdata ).
@ -86,10 +101,12 @@ CLASS lcl_gui_page_settings IMPLEMENTATION.
ev_state = gc_event_state-go_back. ev_state = gc_event_state-go_back.
ENDCASE. ENDCASE.
ENDMETHOD. ENDMETHOD.
METHOD build_settings. METHOD build_settings.
DATA ls_post_field TYPE ihttpnvp. DATA ls_post_field TYPE ihttpnvp.
CREATE OBJECT mo_settings. CREATE OBJECT mo_settings.
@ -111,22 +128,27 @@ CLASS lcl_gui_page_settings IMPLEMENTATION.
ELSE. ELSE.
mo_settings->set_run_critical_tests( abap_false ). mo_settings->set_run_critical_tests( abap_false ).
ENDIF. ENDIF.
ENDMETHOD. ENDMETHOD.
METHOD validate_settings. METHOD validate_settings.
IF ( mo_settings->get_proxy_url( ) IS NOT INITIAL AND mo_settings->get_proxy_port( ) IS INITIAL ) OR IF ( mo_settings->get_proxy_url( ) IS NOT INITIAL AND mo_settings->get_proxy_port( ) IS INITIAL ) OR
( mo_settings->get_proxy_url( ) IS INITIAL AND mo_settings->get_proxy_port( ) IS NOT INITIAL ). ( mo_settings->get_proxy_url( ) IS INITIAL AND mo_settings->get_proxy_port( ) IS NOT INITIAL ).
MESSAGE 'If specifying proxy, specify both URL and port' TYPE 'W'. MESSAGE 'If specifying proxy, specify both URL and port' TYPE 'W'.
ENDIF. ENDIF.
ENDMETHOD. ENDMETHOD.
METHOD parse_post. METHOD parse_post.
DATA lv_serialized_post_data TYPE string. DATA lv_serialized_post_data TYPE string.
CONCATENATE LINES OF it_postdata INTO lv_serialized_post_data. CONCATENATE LINES OF it_postdata INTO lv_serialized_post_data.
rt_post_fields = cl_http_utility=>if_http_utility~string_to_fields( lv_serialized_post_data ). rt_post_fields = cl_http_utility=>if_http_utility~string_to_fields( lv_serialized_post_data ).
ENDMETHOD. ENDMETHOD.
@ -141,36 +163,47 @@ CLASS lcl_gui_page_settings IMPLEMENTATION.
ENDMETHOD. ENDMETHOD.
METHOD render_form_begin. METHOD render_form_begin.
CREATE OBJECT ro_html. CREATE OBJECT ro_html.
ro_html->add( '<div class="settings_container">' ). ro_html->add( '<div class="settings_container">' ).
ro_html->add( `<form id="settings_form" method="post" action="sapevent:` && c_action-save_settings && `">` ). ro_html->add( `<form id="settings_form" method="post" action="sapevent:` && c_action-save_settings && `">` ).
ENDMETHOD. ENDMETHOD.
METHOD render_form_end. METHOD render_form_end.
CREATE OBJECT ro_html. CREATE OBJECT ro_html.
ro_html->add( '<input type="submit" value="Save" class="submit">' ). ro_html->add( '<input type="submit" value="Save" class="submit">' ).
ro_html->add( '</form>' ). ro_html->add( '</form>' ).
ro_html->add( '</div>' ). ro_html->add( '</div>' ).
ENDMETHOD. ENDMETHOD.
METHOD read_settings. METHOD read_settings.
DATA lo_settings_persistence TYPE REF TO lcl_persistence_settings. DATA lo_settings_persistence TYPE REF TO lcl_persistence_settings.
lo_settings_persistence = lcl_app=>settings( ). lo_settings_persistence = lcl_app=>settings( ).
mo_settings = lo_settings_persistence->read( ). mo_settings = lo_settings_persistence->read( ).
ENDMETHOD. ENDMETHOD.
METHOD render_development_internals. METHOD render_development_internals.
DATA lv_checked TYPE string. DATA lv_checked TYPE string.
IF mo_settings->get_run_critical_tests( ) = abap_true. IF mo_settings->get_run_critical_tests( ) = abap_true.
lv_checked = 'checked'. lv_checked = 'checked'.
ENDIF. ENDIF.
CREATE OBJECT ro_html. CREATE OBJECT ro_html.
ro_html->add( |<h2>abapGit Development Internals settings</h2>| ). ro_html->add( |<h2>abapGit Development Internals settings</h2>| ).
ro_html->add( `<input type="checkbox" name="critical_tests" value="X" ` ro_html->add( `<input type="checkbox" name="critical_tests" value="X" `
&& lv_checked && ` > Enable critical unit tests (see LTCL_DANGEROUS)` ). && lv_checked && ` > Enable critical unit tests (see LTCL_DANGEROUS)` ).
ro_html->add( |<br>| ). ro_html->add( |<br>| ).
ro_html->add( |<br>| ). ro_html->add( |<br>| ).
ENDMETHOD. ENDMETHOD.
ENDCLASS. ENDCLASS.

View File

@ -6,6 +6,7 @@ CLASS lcl_services_abapgit DEFINITION FINAL.
PUBLIC SECTION. PUBLIC SECTION.
CONSTANTS c_abapgit_homepage TYPE string VALUE 'http://www.abapgit.org' ##NO_TEXT. CONSTANTS c_abapgit_homepage TYPE string VALUE 'http://www.abapgit.org' ##NO_TEXT.
CONSTANTS c_abapgit_wikipage TYPE string VALUE 'https://github.com/larshp/abapGit/wiki'.
CONSTANTS c_package_abapgit TYPE devclass VALUE '$ABAPGIT'. CONSTANTS c_package_abapgit TYPE devclass VALUE '$ABAPGIT'.
CONSTANTS c_package_plugins TYPE devclass VALUE '$ABAPGIT_PLUGINS'. CONSTANTS c_package_plugins TYPE devclass VALUE '$ABAPGIT_PLUGINS'.
CONSTANTS c_abapgit_url TYPE string VALUE 'https://github.com/larshp/abapGit.git'. CONSTANTS c_abapgit_url TYPE string VALUE 'https://github.com/larshp/abapGit.git'.
@ -14,6 +15,9 @@ CLASS lcl_services_abapgit DEFINITION FINAL.
CLASS-METHODS open_abapgit_homepage CLASS-METHODS open_abapgit_homepage
RAISING lcx_exception. RAISING lcx_exception.
CLASS-METHODS open_abapgit_wikipage
RAISING lcx_exception.
CLASS-METHODS install_abapgit CLASS-METHODS install_abapgit
RAISING lcx_exception lcx_cancel. RAISING lcx_exception lcx_cancel.
@ -35,6 +39,17 @@ CLASS lcl_services_abapgit IMPLEMENTATION.
ENDMETHOD. "open_abapgit_homepage ENDMETHOD. "open_abapgit_homepage
METHOD open_abapgit_wikipage.
cl_gui_frontend_services=>execute(
EXPORTING document = c_abapgit_wikipage
EXCEPTIONS OTHERS = 1 ).
IF sy-subrc <> 0.
lcx_exception=>raise( 'Opening page in external browser failed.' ).
ENDIF.
ENDMETHOD. "open_abapgit_wikipage
METHOD install_abapgit. METHOD install_abapgit.
DATA lv_text TYPE c LENGTH 100. DATA lv_text TYPE c LENGTH 100.

View File

@ -0,0 +1,28 @@
*&---------------------------------------------------------------------*
*& Include ZABAPGIT_PAGE_TUTORIAL
*&---------------------------------------------------------------------*
CLASS lcl_gui_view_tutorial DEFINITION FINAL INHERITING FROM lcl_gui_page_super.
PUBLIC SECTION.
METHODS lif_gui_page~render REDEFINITION.
PRIVATE SECTION.
ENDCLASS. "lcl_gui_view_tutorial
CLASS lcl_gui_view_tutorial IMPLEMENTATION.
METHOD lif_gui_page~render.
CREATE OBJECT ro_html.
ro_html->add( '<div class="repo">' ).
ro_html->add( '<b>Tutorial</b><br>' ).
ro_html->add( 'To add a repo as favorite'
&& ' click <img src="img/star-grey"> icon at repo toolbar.<br>' ).
ro_html->add( 'To choose a repo press <img src="img/burger"> at the favorite bar.<br>' ).
ro_html->add( '</div>' ).
ENDMETHOD. "lif_gui_page~render
ENDCLASS. "lcl_gui_view_tutorial

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_VIEW_TUTORIAL</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_PAGE_TUTORIAL</ENTRY>
<LENGTH>30</LENGTH>
<SPLIT/>
</item>
</TPOOL>
</asx:values>
</asx:abap>
</abapGit>