bg services, navigation action renaming (#345)

* #319, refactor render_repo_menu

* #319, btw: decrease short list size, fix db exept

* #319, small text fixes, preparations for remotes

* #319 preparations 2

* #319 refactor popup_to_confirm

* #319 detach logic DRAFT

* #319, btw: decrease short list size, fix db exept

* #319 refactor popup_to_confirm

* #319, part 2

* #338 small fixes

* #338 lcl_services_repo, part1

* #338, remove files_commit action logic
Removes files_commit action handling 
and lcl_zip->files_commit
and modifies interface of lcl_zip->export

* #338, services_repo fixes and improvements

* #338, lcl_services_abapgit

* #338, small improvements

* #338 adopt render_repo_menu from #319

* #338 lcx_cancel

* #338 zip services

* #338 abapgit services finetune

* #338 lcx_cancel finetune

* #338 zip finetune

* fix repo_menu

* #388 small adj

* #338 lcl_services_git part1

* #338 lcl_services_db, html_actions features

* #338, services_repo=>new_offline

* #338, delete/switch branch to lcl_services_git

* #338, improvements in switch_branch

* #338, switch_branch more improvements

* #319 attach, detach, change - complete

* #319, fine tuning - repo_popup title

* #319 linter fixes

* #319 Pull-Stage improvements, sha1 in files

* #338 rename page links go_

* #338 lcl_services_background
This commit is contained in:
atsy 2016-09-18 09:43:06 +03:00 committed by Lars Hvam
parent 98b440fd47
commit aa3c2a233a
10 changed files with 187 additions and 110 deletions

View File

@ -161,4 +161,16 @@ CONSTANTS: BEGIN OF gc_action,
db_update TYPE string VALUE 'db_update', db_update TYPE string VALUE 'db_update',
db_display TYPE string VALUE 'db_display', db_display TYPE string VALUE 'db_display',
db_edit TYPE string VALUE 'db_edit', db_edit TYPE string VALUE 'db_edit',
bg_update TYPE string VALUE 'bg_update',
go_main TYPE string VALUE 'go_main',
go_explore TYPE string VALUE 'go_explore',
go_db TYPE string VALUE 'go_db',
go_background TYPE string VALUE 'go_background',
go_background_run TYPE string VALUE 'go_background_run',
go_diff TYPE string VALUE 'go_diff',
go_stage TYPE string VALUE 'go_stage',
go_commit TYPE string VALUE 'go_commit',
go_branch_overview TYPE string VALUE 'go_branch_overview',
jump TYPE string VALUE 'jump',
END OF gc_action. END OF gc_action.

View File

@ -191,7 +191,7 @@ CLASS lcl_gui IMPLEMENTATION.
METHOD go_home. METHOD go_home.
on_event( action = 'main' ) ##NO_TEXT. on_event( action = |{ gc_action-go_main }| ). " doesn't accept strings directly
ENDMETHOD. "go_home ENDMETHOD. "go_home

View File

@ -69,53 +69,55 @@ CLASS lcl_gui_router IMPLEMENTATION.
CASE iv_action. CASE iv_action.
" General routing " General routing
WHEN 'main' WHEN gc_action-go_main " Go Main page
OR 'explore' OR gc_action-go_explore " Go Explore page
OR 'db' OR gc_action-go_db " Go DB util page
OR 'background_run'. OR gc_action-go_background_run. " Go background run page
ei_page = get_page_by_name( iv_action ). ei_page = get_page_by_name( iv_action ).
ev_state = gc_event_state-new_page. ev_state = gc_event_state-new_page.
WHEN 'background'. WHEN gc_action-go_background. " Go Background page
ei_page = get_page_background( lv_key ). ei_page = get_page_background( lv_key ).
ev_state = gc_event_state-new_page. ev_state = gc_event_state-new_page.
WHEN 'jump'. WHEN gc_action-go_diff. " Go Diff page
ei_page = get_page_diff( iv_getdata ).
ev_state = gc_event_state-new_page.
WHEN gc_action-go_stage. " Go Staging page
lv_key = iv_getdata.
ei_page = get_page_stage( lv_key ).
ev_state = gc_event_state-new_page_w_bookmark.
WHEN gc_action-go_branch_overview. " Go repo branch overview
ei_page = get_page_branch_overview( iv_getdata ).
ev_state = gc_event_state-new_page.
" SAP GUI actions
WHEN gc_action-jump.
lcl_html_action_utils=>jump_decode( EXPORTING iv_string = iv_getdata lcl_html_action_utils=>jump_decode( EXPORTING iv_string = iv_getdata
IMPORTING ev_obj_type = ls_item-obj_type IMPORTING ev_obj_type = ls_item-obj_type
ev_obj_name = ls_item-obj_name ). ev_obj_name = ls_item-obj_name ).
lcl_objects=>jump( ls_item ). lcl_objects=>jump( ls_item ).
ev_state = gc_event_state-no_more_act. ev_state = gc_event_state-no_more_act.
WHEN 'diff'.
ei_page = get_page_diff( iv_getdata ).
ev_state = gc_event_state-new_page.
WHEN 'stage'.
lv_key = iv_getdata.
ei_page = get_page_stage( lv_key ).
ev_state = gc_event_state-new_page_w_bookmark.
WHEN 'branch_overview'.
ei_page = get_page_branch_overview( iv_getdata ).
ev_state = gc_event_state-new_page.
" DB actions " DB actions
WHEN gc_action-db_display OR gc_action-db_edit. WHEN gc_action-db_display OR gc_action-db_edit. " DB Display/Edit
ei_page = get_page_db_by_name( iv_name = iv_action iv_getdata = iv_getdata ). ei_page = get_page_db_by_name( iv_name = iv_action iv_getdata = iv_getdata ).
ev_state = gc_event_state-new_page. ev_state = gc_event_state-new_page.
IF iv_prev_page = 'PAGE_DB_DISPLAY'. IF iv_prev_page = 'PAGE_DB_DISPLAY'.
ev_state = gc_event_state-new_page_replacing. ev_state = gc_event_state-new_page_replacing.
ENDIF. ENDIF.
WHEN gc_action-db_delete. WHEN gc_action-db_delete. " DB Delete
ls_db = lcl_html_action_utils=>dbkey_decode( iv_getdata ). ls_db = lcl_html_action_utils=>dbkey_decode( iv_getdata ).
lcl_services_db=>delete( ls_db ). lcl_services_db=>delete( ls_db ).
ev_state = gc_event_state-re_render. ev_state = gc_event_state-re_render.
WHEN gc_action-db_update. WHEN gc_action-db_update. " DB Update
ls_db = lcl_html_action_utils=>dbcontent_decode( it_postdata ). ls_db = lcl_html_action_utils=>dbcontent_decode( it_postdata ).
lcl_services_db=>update( ls_db ). lcl_services_db=>update( ls_db ).
ev_state = gc_event_state-go_back. ev_state = gc_event_state-go_back.
" Abapgit services actions " Abapgit services actions
WHEN gc_action-abapgit_home. 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_install. 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.
@ -148,24 +150,24 @@ CLASS lcl_gui_router IMPLEMENTATION.
ev_state = gc_event_state-no_more_act. ev_state = gc_event_state-no_more_act.
" Remote origin manipulations " Remote origin manipulations
WHEN gc_action-repo_remote_attach. WHEN gc_action-repo_remote_attach. " Remote attach
lcl_services_repo=>remote_attach( lv_key ). lcl_services_repo=>remote_attach( lv_key ).
ev_state = gc_event_state-re_render. ev_state = gc_event_state-re_render.
WHEN gc_action-repo_remote_detach. WHEN gc_action-repo_remote_detach. " Remote detach
lcl_services_repo=>remote_detach( lv_key ). lcl_services_repo=>remote_detach( lv_key ).
ev_state = gc_event_state-re_render. ev_state = gc_event_state-re_render.
WHEN gc_action-repo_remote_change. WHEN gc_action-repo_remote_change. " Remote change
lcl_services_repo=>remote_change( lv_key ). lcl_services_repo=>remote_change( lv_key ).
ev_state = gc_event_state-re_render. ev_state = gc_event_state-re_render.
" Git actions " Git actions
WHEN gc_action-git_pull. WHEN gc_action-git_pull. " GIT Pull
lcl_services_git=>pull( lv_key ). lcl_services_git=>pull( lv_key ).
ev_state = gc_event_state-re_render. ev_state = gc_event_state-re_render.
WHEN gc_action-git_reset. WHEN gc_action-git_reset. " GIT Reset
lcl_services_git=>reset( lv_key ). lcl_services_git=>reset( lv_key ).
ev_state = gc_event_state-re_render. ev_state = gc_event_state-re_render.
WHEN gc_action-git_branch_create. WHEN gc_action-git_branch_create. " GIT Create new branch
lcl_services_git=>create_branch( lv_key ). lcl_services_git=>create_branch( lv_key ).
ev_state = gc_event_state-re_render. ev_state = gc_event_state-re_render.
@ -179,15 +181,17 @@ CLASS lcl_gui_router IMPLEMENTATION.
METHOD get_page_by_name. METHOD get_page_by_name.
DATA: lv_page_class TYPE string, DATA: lv_page_class TYPE string,
lv_page_name TYPE string,
lv_message TYPE string. lv_message TYPE string.
lv_page_class = |LCL_GUI_PAGE_{ to_upper( iv_name ) }|. lv_page_name = iv_name.
SHIFT lv_page_name LEFT DELETING LEADING 'go_'.
lv_page_class = |LCL_GUI_PAGE_{ to_upper( lv_page_name ) }|.
TRY. TRY.
CREATE OBJECT ri_page TYPE (lv_page_class). CREATE OBJECT ri_page TYPE (lv_page_class).
CATCH cx_sy_create_object_error. CATCH cx_sy_create_object_error.
lv_message = |Cannot create page class { lv_page_class }|. lcx_exception=>raise( |Cannot create page class { lv_page_class }| ).
lcx_exception=>raise( lv_message ).
ENDTRY. ENDTRY.
ENDMETHOD. " get_page_by_name ENDMETHOD. " get_page_by_name

View File

@ -58,6 +58,10 @@ CLASS lcl_html_action_utils DEFINITION FINAL.
IMPORTING iv_key TYPE lcl_persistence_repo=>ty_repo-key IMPORTING iv_key TYPE lcl_persistence_repo=>ty_repo-key
RETURNING VALUE(rv_string) TYPE string. RETURNING VALUE(rv_string) TYPE string.
CLASS-METHODS decode_bg_update
IMPORTING iv_getdata TYPE clike
RETURNING VALUE(rs_fields) TYPE lcl_persistence_background=>ty_background.
CLASS-METHODS field_keys_to_upper CLASS-METHODS field_keys_to_upper
CHANGING ct_fields TYPE tihttpnvp. CHANGING ct_fields TYPE tihttpnvp.
@ -295,4 +299,31 @@ CLASS lcl_html_action_utils IMPLEMENTATION.
ENDMETHOD. "field_keys_to_upper ENDMETHOD. "field_keys_to_upper
METHOD decode_bg_update.
DEFINE _field. " TODO refactor and use globally in html actions
READ TABLE lt_fields ASSIGNING <ls_field> WITH KEY name = &1 ##NO_TEXT.
IF sy-subrc = 0.
rs_fields-&2 = <ls_field>-value.
ENDIF.
END-OF-DEFINITION.
DATA: lt_fields TYPE tihttpnvp.
FIELD-SYMBOLS: <ls_field> LIKE LINE OF lt_fields.
lt_fields = cl_http_utility=>if_http_utility~string_to_fields( |{ iv_getdata }| ).
field_keys_to_upper( CHANGING ct_fields = lt_fields ).
_field 'METHOD' method.
_field 'USERNAME' username.
_field 'PASSWORD' password.
_field 'AMETHOD' amethod.
_field 'ANAME' aname.
_field 'AMAIL' amail.
ASSERT NOT rs_fields IS INITIAL.
ENDMETHOD. "decode_bg_update
ENDCLASS. "lcl_html_action_utils IMPLEMENTATION ENDCLASS. "lcl_html_action_utils IMPLEMENTATION

View File

@ -85,14 +85,8 @@ CLASS lcl_gui_page_background DEFINITION FINAL
mv_key TYPE lcl_persistence_repo=>ty_repo-key. mv_key TYPE lcl_persistence_repo=>ty_repo-key.
METHODS: METHODS:
parse_fields
IMPORTING iv_getdata TYPE clike
RETURNING VALUE(rs_fields) TYPE lcl_persistence_background=>ty_background,
render_data render_data
RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper
RAISING lcx_exception,
save
IMPORTING iv_getdata TYPE clike
RAISING lcx_exception. RAISING lcx_exception.
ENDCLASS. ENDCLASS.
@ -104,68 +98,20 @@ CLASS lcl_gui_page_background IMPLEMENTATION.
mv_key = iv_key. mv_key = iv_key.
ENDMETHOD. ENDMETHOD.
METHOD parse_fields.
DEFINE _field.
READ TABLE lt_fields ASSIGNING <ls_field> WITH KEY name = &1 ##NO_TEXT.
IF sy-subrc = 0.
rs_fields-&2 = <ls_field>-value.
ENDIF.
END-OF-DEFINITION.
DATA: lt_fields TYPE tihttpnvp,
lv_string TYPE string.
FIELD-SYMBOLS: <ls_field> LIKE LINE OF lt_fields.
lv_string = iv_getdata. " type conversion
lt_fields = cl_http_utility=>if_http_utility~string_to_fields( lv_string ).
_field 'method' method.
_field 'username' username.
_field 'password' password.
_field 'amethod' amethod.
_field 'aname' aname.
_field 'amail' amail.
ASSERT NOT rs_fields IS INITIAL.
ENDMETHOD.
METHOD lif_gui_page~on_event. METHOD lif_gui_page~on_event.
DATA ls_bg_task TYPE lcl_persistence_background=>ty_background.
CASE iv_action. CASE iv_action.
WHEN 'save'. WHEN gc_action-bg_update.
save( iv_getdata ). ls_bg_task = lcl_html_action_utils=>decode_bg_update( iv_getdata ).
ls_bg_task-key = mv_key.
lcl_services_background=>update_task( ls_bg_task ).
ev_state = gc_event_state-re_render. ev_state = gc_event_state-re_render.
ENDCASE. ENDCASE.
ENDMETHOD. ENDMETHOD.
METHOD save.
DATA: ls_fields TYPE lcl_persistence_background=>ty_background,
lo_persistence TYPE REF TO lcl_persistence_background.
ls_fields = parse_fields( iv_getdata ).
ls_fields-key = mv_key.
CREATE OBJECT lo_persistence.
IF ls_fields-method = lcl_persistence_background=>c_method-nothing.
lo_persistence->delete( ls_fields-key ).
ELSE.
lo_persistence->modify( ls_fields ).
ENDIF.
MESSAGE 'Saved' TYPE 'S' ##NO_TEXT.
COMMIT WORK.
ENDMETHOD.
METHOD render_data. METHOD render_data.
DATA: lo_repo TYPE REF TO lcl_repo_online, DATA: lo_repo TYPE REF TO lcl_repo_online,
@ -221,7 +167,7 @@ CLASS lcl_gui_page_background IMPLEMENTATION.
ro_html->add( '<br>' ). ro_html->add( '<br>' ).
ro_html->add( '<u>Method</u><br>' ) ##NO_TEXT. ro_html->add( '<u>Method</u><br>' ) ##NO_TEXT.
ro_html->add( '<form method="get" action="sapevent:save">' ). ro_html->add( |<form method="get" action="sapevent:{ gc_action-bg_update }">| ).
ro_html->add( '<input type="radio" name="method" value="nothing"' && ro_html->add( '<input type="radio" name="method" value="nothing"' &&
lv_nothing && '>Do nothing<br>' ) ##NO_TEXT. lv_nothing && '>Do nothing<br>' ) ##NO_TEXT.
ro_html->add( '<input type="radio" name="method" value="push"' && ro_html->add( '<input type="radio" name="method" value="push"' &&
@ -286,7 +232,7 @@ CLASS lcl_gui_page_background IMPLEMENTATION.
CREATE OBJECT ro_html. CREATE OBJECT ro_html.
lo_toolbar->add( iv_txt = 'Run background logic' lo_toolbar->add( iv_txt = 'Run background logic'
iv_act = 'background_run' ) ##NO_TEXT. iv_act = gc_action-go_background_run ) ##NO_TEXT.
ro_html->add( header( ) ). ro_html->add( header( ) ).
ro_html->add( title( iv_title = 'BACKGROUND' io_menu = lo_toolbar ) ). ro_html->add( title( iv_title = 'BACKGROUND' io_menu = lo_toolbar ) ).

View File

@ -125,7 +125,7 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
iv_obj_name = iv_obj_name ). iv_obj_name = iv_obj_name ).
CREATE OBJECT lo_html. CREATE OBJECT lo_html.
lo_html->add_anchor( iv_txt = |{ iv_obj_name }| iv_act = |jump?{ lv_encode }| ). lo_html->add_anchor( iv_txt = |{ iv_obj_name }| iv_act = |{ gc_action-jump }?{ lv_encode }| ).
rv_html = lo_html->mv_html. rv_html = lo_html->mv_html.
ENDMETHOD. ENDMETHOD.
@ -138,12 +138,12 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
CREATE OBJECT ro_menu. CREATE OBJECT ro_menu.
CREATE OBJECT lo_betasub. CREATE OBJECT lo_betasub.
lo_betasub->add( iv_txt = 'Database util' iv_act = 'db' ) ##NO_TEXT. lo_betasub->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_betasub->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_betasub->add( iv_txt = 'Transport to zip' iv_act = gc_action-zip_transport ) ##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 = 'explore' ) ##NO_TEXT. ro_menu->add( iv_txt = 'Explore' iv_act = gc_action-go_explore ) ##NO_TEXT.
ro_menu->add( iv_txt = 'New offline repo' iv_act = gc_action-repo_newoffline ) ##NO_TEXT. ro_menu->add( iv_txt = 'New offline repo' iv_act = gc_action-repo_newoffline ) ##NO_TEXT.
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.
@ -227,7 +227,7 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
" Build branch drop-down ======================== " Build branch drop-down ========================
IF io_repo->is_offline( ) = abap_false. " Online ? IF io_repo->is_offline( ) = abap_false. " Online ?
lo_tb_branch->add( iv_txt = 'Overview' lo_tb_branch->add( iv_txt = 'Overview'
iv_act = |branch_overview?{ lv_key }| ). iv_act = |{ gc_action-go_branch_overview }?{ lv_key }| ).
lo_tb_branch->add( iv_txt = 'Switch' lo_tb_branch->add( iv_txt = 'Switch'
iv_act = |{ gc_action-git_branch_switch }?{ lv_key }| iv_act = |{ gc_action-git_branch_switch }?{ lv_key }|
iv_opt = lv_wp_opt ). iv_opt = lv_wp_opt ).
@ -243,7 +243,7 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
iv_act = |{ gc_action-git_reset }?{ lv_key }| iv_act = |{ gc_action-git_reset }?{ lv_key }|
iv_opt = lv_wp_opt ). iv_opt = lv_wp_opt ).
lo_tb_advanced->add( iv_txt = 'Background mode' lo_tb_advanced->add( iv_txt = 'Background mode'
iv_act = |background?{ lv_key }| ). iv_act = |{ gc_action-go_background }?{ lv_key }| ).
lo_tb_advanced->add( iv_txt = 'Change remote' lo_tb_advanced->add( iv_txt = 'Change remote'
iv_act = |{ gc_action-repo_remote_change }?{ lv_key }| ). iv_act = |{ gc_action-repo_remote_change }?{ lv_key }| ).
lo_tb_advanced->add( iv_txt = 'Make off-line' lo_tb_advanced->add( iv_txt = 'Make off-line'
@ -268,7 +268,7 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
ENDIF. ENDIF.
IF lcl_stage_logic=>count( lo_repo_online ) > 0. IF lcl_stage_logic=>count( lo_repo_online ) > 0.
lo_toolbar->add( iv_txt = 'Stage' lo_toolbar->add( iv_txt = 'Stage'
iv_act = |stage?{ lv_key }| iv_act = |{ gc_action-go_stage }?{ lv_key }|
iv_opt = gc_html_opt-emphas ). iv_opt = gc_html_opt-emphas ).
ENDIF. ENDIF.
CATCH lcx_exception ##NO_HANDLER. CATCH lcx_exception ##NO_HANDLER.
@ -485,7 +485,7 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
ig_file = ls_file ). ig_file = ls_file ).
ro_html->add_anchor( ro_html->add_anchor(
iv_txt = 'diff' iv_txt = 'diff'
iv_act = |diff?{ lv_difflink }| ). iv_act = |{ gc_action-go_diff }?{ lv_difflink }| ).
ELSE. ELSE.
ro_html->add( |<span>&nbsp;</span>| ). ro_html->add( |<span>&nbsp;</span>| ).
ENDIF. ENDIF.
@ -604,7 +604,7 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
CREATE OBJECT lo_toolbar. CREATE OBJECT lo_toolbar.
lo_toolbar->add( iv_txt = 'Explore new projects' lo_toolbar->add( iv_txt = 'Explore new projects'
iv_act = 'explore' ) ##NO_TEXT. iv_act = gc_action-go_explore ) ##NO_TEXT.
ro_html->add( '<div class="dummydiv">' ). ro_html->add( '<div class="dummydiv">' ).
ro_html->add( lo_toolbar->render( ) ). ro_html->add( lo_toolbar->render( ) ).

View File

@ -124,7 +124,7 @@ CLASS lcl_gui_page_stage IMPLEMENTATION.
iv_act = 'stage_add?' && lv_param ) ##NO_TEXT. iv_act = 'stage_add?' && lv_param ) ##NO_TEXT.
ENDIF. ENDIF.
lo_toolbar->add( iv_txt = 'diff' lo_toolbar->add( iv_txt = 'diff'
iv_act = 'diff?' && lv_param ) ##NO_TEXT. iv_act = |{ gc_action-go_diff }?{ lv_param }| ) ##NO_TEXT.
IF lv_method IS INITIAL. IF lv_method IS INITIAL.
lv_status = '<span class="grey">?</span>'. lv_status = '<span class="grey">?</span>'.

View File

@ -6,3 +6,4 @@ INCLUDE zabapgit_services_repo.
INCLUDE zabapgit_services_abapgit. INCLUDE zabapgit_services_abapgit.
INCLUDE zabapgit_services_git. INCLUDE zabapgit_services_git.
INCLUDE zabapgit_services_db. INCLUDE zabapgit_services_db.
INCLUDE zabapgit_services_background.

View File

@ -0,0 +1,35 @@
*&---------------------------------------------------------------------*
*& Include ZABAPGIT_SERVICES_BACKGROUND
*&---------------------------------------------------------------------*
CLASS lcl_services_background DEFINITION FINAL.
PUBLIC SECTION.
CLASS-METHODS update_task
IMPORTING is_bg_task TYPE lcl_persistence_background=>ty_background
RAISING lcx_exception.
ENDCLASS. "lcl_services_background
CLASS lcl_services_background IMPLEMENTATION.
METHOD update_task.
DATA lo_persistence TYPE REF TO lcl_persistence_background.
CREATE OBJECT lo_persistence.
IF is_bg_task-method = lcl_persistence_background=>c_method-nothing.
lo_persistence->delete( is_bg_task-key ).
ELSE.
lo_persistence->modify( is_bg_task ).
ENDIF.
MESSAGE 'Saved' TYPE 'S' ##NO_TEXT.
COMMIT WORK.
ENDMETHOD. "update_task
ENDCLASS. "lcl_services_background

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_SERVICES_BACKGROUND</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_SERVICES_BACKGROUND</ENTRY>
<LENGTH>36</LENGTH>
<SPLIT/>
</item>
</TPOOL>
</asx:values>
</asx:abap>
</abapGit>