From 532a71de790ad28f2c25c848dcbe4ba88e0b0b4d Mon Sep 17 00:00:00 2001 From: Christian Tapia Sabogal Date: Mon, 23 Jan 2017 07:10:57 -0500 Subject: [PATCH 1/4] Added "Create package" button in "+Offline" #567 For #567. --- src/zabapgit_forms.prog.abap | 46 +++++++++++++++++++++++++++++++++++ src/zabapgit_popups.prog.abap | 30 +++++++++++++++++------ 2 files changed, 68 insertions(+), 8 deletions(-) diff --git a/src/zabapgit_forms.prog.abap b/src/zabapgit_forms.prog.abap index ce245c1f1..10ac5c433 100644 --- a/src/zabapgit_forms.prog.abap +++ b/src/zabapgit_forms.prog.abap @@ -119,6 +119,52 @@ FORM branch_popup TABLES tt_fields TYPE ty_sval_tt ENDFORM. "branch_popup +FORM package_popup TABLES tt_fields TYPE ty_sval_tt + USING pv_code TYPE clike + CHANGING cs_error TYPE svale + cv_show_popup TYPE c + RAISING lcx_exception ##called ##needed. +* called dynamically from function module POPUP_GET_VALUES_USER_BUTTONS + + DATA: ls_package_data TYPE scompkdtln. + + FIELD-SYMBOLS: LIKE LINE OF tt_fields. + + CLEAR cs_error. + + IF pv_code = 'COD1'. + cv_show_popup = abap_true. + + CALL FUNCTION 'FUNCTION_EXISTS' + EXPORTING + funcname = 'PB_POPUP_PACKAGE_CREATE' + EXCEPTIONS + function_not_exist = 1 + OTHERS = 2. + IF sy-subrc = 1. +* looks like the function module used does not exist on all +* versions since 702, so show an error + lcx_exception=>raise( 'Function module PB_POPUP_PACKAGE_CREATE does not exist' ). + ENDIF. + + CALL FUNCTION 'PB_POPUP_PACKAGE_CREATE' + CHANGING + p_object_data = ls_package_data + EXCEPTIONS + action_cancelled = 1. + IF sy-subrc = 1. + RETURN. + ENDIF. + + lcl_sap_package=>create( ls_package_data ). + COMMIT WORK. + + READ TABLE tt_fields ASSIGNING WITH KEY tabname = 'TDEVC'. + ASSERT sy-subrc = 0. + -value = ls_package_data-devclass. + ENDIF. +ENDFORM. "package_popup + FORM output. DATA: lt_ucomm TYPE TABLE OF sy-ucomm. PERFORM set_pf_status IN PROGRAM rsdbrunt IF FOUND. diff --git a/src/zabapgit_popups.prog.abap b/src/zabapgit_popups.prog.abap index 46f82d07a..cb7d9c6cd 100644 --- a/src/zabapgit_popups.prog.abap +++ b/src/zabapgit_popups.prog.abap @@ -241,7 +241,10 @@ CLASS lcl_popups IMPLEMENTATION. METHOD repo_new_offline. DATA: lv_returncode TYPE c, - lt_fields TYPE TABLE OF sval. + lt_fields TYPE TABLE OF sval, + lv_icon_ok TYPE icon-name, + lv_button1 TYPE svalbutton-buttontext, + lv_icon1 TYPE icon-name. FIELD-SYMBOLS: LIKE LINE OF lt_fields. @@ -250,17 +253,28 @@ CLASS lcl_popups IMPLEMENTATION. _add_dialog_fld 'ABAPTXT255' 'LINE' 'Name' '' ''. _add_dialog_fld 'TDEVC' 'DEVCLASS' 'Package' '' ''. - CALL FUNCTION 'POPUP_GET_VALUES' + lv_icon_ok = icon_okay. + lv_button1 = 'Create package' ##NO_TEXT. + lv_icon1 = icon_folder. + + CALL FUNCTION 'POPUP_GET_VALUES_USER_BUTTONS' EXPORTING - no_value_check = abap_true - popup_title = 'New Offline Project' "#EC NOTEXT + popup_title = 'New Offline Project' + programname = sy-repid + formname = 'PACKAGE_POPUP' + ok_pushbuttontext = '' + icon_ok_push = lv_icon_ok + first_pushbutton = lv_button1 + icon_button_1 = lv_icon1 + second_pushbutton = '' + icon_button_2 = '' IMPORTING - returncode = lv_returncode + returncode = lv_returncode TABLES - fields = lt_fields + fields = lt_fields EXCEPTIONS - error_in_fields = 1 - OTHERS = 2. + error_in_fields = 1 + OTHERS = 2. IF sy-subrc <> 0. lcx_exception=>raise( 'Error from POPUP_GET_VALUES' ). ENDIF. From 16856c322e97e83fd6da5f9eaf1ec7c46943f556 Mon Sep 17 00:00:00 2001 From: Christian Tapia Sabogal Date: Mon, 23 Jan 2017 07:53:40 -0500 Subject: [PATCH 2/4] Add files via upload --- src/zabapgit_forms.prog.abap | 42 ++--------------------------------- src/zabapgit_popups.prog.abap | 35 ++++++++++++++++++++++++----- 2 files changed, 31 insertions(+), 46 deletions(-) diff --git a/src/zabapgit_forms.prog.abap b/src/zabapgit_forms.prog.abap index 10ac5c433..2f231ae85 100644 --- a/src/zabapgit_forms.prog.abap +++ b/src/zabapgit_forms.prog.abap @@ -88,26 +88,7 @@ FORM branch_popup TABLES tt_fields TYPE ty_sval_tt ELSEIF pv_code = 'COD2'. cv_show_popup = abap_true. - CALL FUNCTION 'FUNCTION_EXISTS' - EXPORTING - funcname = 'PB_POPUP_PACKAGE_CREATE' - EXCEPTIONS - function_not_exist = 1 - OTHERS = 2. - IF sy-subrc = 1. -* looks like the function module used does not exist on all -* versions since 702, so show an error - lcx_exception=>raise( 'Function module PB_POPUP_PACKAGE_CREATE does not exist' ). - ENDIF. - - CALL FUNCTION 'PB_POPUP_PACKAGE_CREATE' - CHANGING - p_object_data = ls_package_data - EXCEPTIONS - action_cancelled = 1. - IF sy-subrc = 1. - RETURN. - ENDIF. + ls_package_data = lcl_popups=>popup_to_create_package( ). lcl_sap_package=>create( ls_package_data ). COMMIT WORK. @@ -135,26 +116,7 @@ FORM package_popup TABLES tt_fields TYPE ty_sval_tt IF pv_code = 'COD1'. cv_show_popup = abap_true. - CALL FUNCTION 'FUNCTION_EXISTS' - EXPORTING - funcname = 'PB_POPUP_PACKAGE_CREATE' - EXCEPTIONS - function_not_exist = 1 - OTHERS = 2. - IF sy-subrc = 1. -* looks like the function module used does not exist on all -* versions since 702, so show an error - lcx_exception=>raise( 'Function module PB_POPUP_PACKAGE_CREATE does not exist' ). - ENDIF. - - CALL FUNCTION 'PB_POPUP_PACKAGE_CREATE' - CHANGING - p_object_data = ls_package_data - EXCEPTIONS - action_cancelled = 1. - IF sy-subrc = 1. - RETURN. - ENDIF. + ls_package_data = lcl_popups=>popup_to_create_package( ). lcl_sap_package=>create( ls_package_data ). COMMIT WORK. diff --git a/src/zabapgit_popups.prog.abap b/src/zabapgit_popups.prog.abap index cb7d9c6cd..55f243789 100644 --- a/src/zabapgit_popups.prog.abap +++ b/src/zabapgit_popups.prog.abap @@ -61,12 +61,12 @@ CLASS lcl_popups DEFINITION FINAL. RETURNING VALUE(rv_answer) TYPE char1 RAISING lcx_exception, popup_to_inform - IMPORTING - titlebar TYPE clike - text_message TYPE clike - RAISING lcx_exception. - - + IMPORTING + titlebar TYPE clike + text_message TYPE clike + RAISING lcx_exception, + popup_to_create_package + RETURNING VALUE(rs_package_data) TYPE scompkdtln. ENDCLASS. CLASS lcl_popups IMPLEMENTATION. @@ -496,4 +496,27 @@ CLASS lcl_popups IMPLEMENTATION. ENDMETHOD. " popup_to_inform. + METHOD popup_to_create_package. + CALL FUNCTION 'FUNCTION_EXISTS' + EXPORTING + funcname = 'PB_POPUP_PACKAGE_CREATE' + EXCEPTIONS + function_not_exist = 1 + OTHERS = 2. + IF sy-subrc = 1. +* looks like the function module used does not exist on all +* versions since 702, so show an error + lcx_exception=>raise( 'Function module PB_POPUP_PACKAGE_CREATE does not exist' ). + ENDIF. + + CALL FUNCTION 'PB_POPUP_PACKAGE_CREATE' + CHANGING + p_object_data = rs_package_data + EXCEPTIONS + action_cancelled = 1. + IF sy-subrc = 1. + RETURN. + ENDIF. + ENDMETHOD. " popup_to_create_package + ENDCLASS. From 9e04ff9eae5c858ea493832a81675daf5d74851f Mon Sep 17 00:00:00 2001 From: Christian Tapia Sabogal Date: Mon, 23 Jan 2017 07:56:25 -0500 Subject: [PATCH 3/4] Update zabapgit_popups.prog.abap --- src/zabapgit_popups.prog.abap | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/zabapgit_popups.prog.abap b/src/zabapgit_popups.prog.abap index 55f243789..fcecce94a 100644 --- a/src/zabapgit_popups.prog.abap +++ b/src/zabapgit_popups.prog.abap @@ -66,7 +66,8 @@ CLASS lcl_popups DEFINITION FINAL. text_message TYPE clike RAISING lcx_exception, popup_to_create_package - RETURNING VALUE(rs_package_data) TYPE scompkdtln. + RETURNING VALUE(rs_package_data) TYPE scompkdtln + RAISING lcx_exception. ENDCLASS. CLASS lcl_popups IMPLEMENTATION. From c85a447646743285b01e4172f4cd2163e3e65c45 Mon Sep 17 00:00:00 2001 From: Christian Tapia Sabogal Date: Mon, 23 Jan 2017 08:10:42 -0500 Subject: [PATCH 4/4] Add files via upload --- src/zabapgit_forms.prog.abap | 18 ++++++++++++++---- src/zabapgit_popups.prog.abap | 11 +++++++---- 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/src/zabapgit_forms.prog.abap b/src/zabapgit_forms.prog.abap index 2f231ae85..e3d9d95d1 100644 --- a/src/zabapgit_forms.prog.abap +++ b/src/zabapgit_forms.prog.abap @@ -53,7 +53,8 @@ FORM branch_popup TABLES tt_fields TYPE ty_sval_tt DATA: lv_url TYPE string, lx_error TYPE REF TO lcx_exception, ls_package_data TYPE scompkdtln, - ls_branch TYPE lcl_git_branch_list=>ty_git_branch. + ls_branch TYPE lcl_git_branch_list=>ty_git_branch, + lv_create TYPE boolean. FIELD-SYMBOLS: LIKE LINE OF tt_fields, LIKE LINE OF tt_fields. @@ -88,7 +89,11 @@ FORM branch_popup TABLES tt_fields TYPE ty_sval_tt ELSEIF pv_code = 'COD2'. cv_show_popup = abap_true. - ls_package_data = lcl_popups=>popup_to_create_package( ). + lcl_popups=>popup_to_create_package( IMPORTING es_package_data = ls_package_data + ev_create = lv_create ). + IF lv_create = abap_false. + RETURN. + ENDIF. lcl_sap_package=>create( ls_package_data ). COMMIT WORK. @@ -107,7 +112,8 @@ FORM package_popup TABLES tt_fields TYPE ty_sval_tt RAISING lcx_exception ##called ##needed. * called dynamically from function module POPUP_GET_VALUES_USER_BUTTONS - DATA: ls_package_data TYPE scompkdtln. + DATA: ls_package_data TYPE scompkdtln, + lv_create TYPE boolean. FIELD-SYMBOLS: LIKE LINE OF tt_fields. @@ -116,7 +122,11 @@ FORM package_popup TABLES tt_fields TYPE ty_sval_tt IF pv_code = 'COD1'. cv_show_popup = abap_true. - ls_package_data = lcl_popups=>popup_to_create_package( ). + lcl_popups=>popup_to_create_package( IMPORTING es_package_data = ls_package_data + ev_create = lv_create ). + IF lv_create = abap_false. + RETURN. + ENDIF. lcl_sap_package=>create( ls_package_data ). COMMIT WORK. diff --git a/src/zabapgit_popups.prog.abap b/src/zabapgit_popups.prog.abap index fcecce94a..3cd11daca 100644 --- a/src/zabapgit_popups.prog.abap +++ b/src/zabapgit_popups.prog.abap @@ -66,7 +66,8 @@ CLASS lcl_popups DEFINITION FINAL. text_message TYPE clike RAISING lcx_exception, popup_to_create_package - RETURNING VALUE(rs_package_data) TYPE scompkdtln + EXPORTING es_package_data TYPE scompkdtln + ev_create TYPE boolean RAISING lcx_exception. ENDCLASS. @@ -512,11 +513,13 @@ CLASS lcl_popups IMPLEMENTATION. CALL FUNCTION 'PB_POPUP_PACKAGE_CREATE' CHANGING - p_object_data = rs_package_data + p_object_data = es_package_data EXCEPTIONS action_cancelled = 1. - IF sy-subrc = 1. - RETURN. + IF sy-subrc = 0. + ev_create = abap_true. + ELSE. + ev_create = abap_false. ENDIF. ENDMETHOD. " popup_to_create_package