From 4c6d407156e97a65bcad23190fede1fec579089e Mon Sep 17 00:00:00 2001 From: g-back <27279305+g-back@users.noreply.github.com> Date: Wed, 14 Apr 2021 12:43:24 +0200 Subject: [PATCH] Export Package to Files: Fix for Namespaced Packages (#4701) * escape package only for file name make package parameter immutable * fix form id --- .../zcl_abapgit_gui_page_ex_pckage.clas.abap | 2 +- src/zcl_abapgit_zip.clas.abap | 20 ++++++++++--------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/ui/zcl_abapgit_gui_page_ex_pckage.clas.abap b/src/ui/zcl_abapgit_gui_page_ex_pckage.clas.abap index 4f06708a2..1cce39499 100644 --- a/src/ui/zcl_abapgit_gui_page_ex_pckage.clas.abap +++ b/src/ui/zcl_abapgit_gui_page_ex_pckage.clas.abap @@ -72,7 +72,7 @@ CLASS zcl_abapgit_gui_page_ex_pckage IMPLEMENTATION. METHOD get_form_schema. - ro_form = zcl_abapgit_html_form=>create( iv_form_id = 'export-object-to-files' ). + ro_form = zcl_abapgit_html_form=>create( iv_form_id = 'export-package-to-files' ). ro_form->text( iv_name = c_id-package diff --git a/src/zcl_abapgit_zip.clas.abap b/src/zcl_abapgit_zip.clas.abap index 12baa6e09..b155620b4 100644 --- a/src/zcl_abapgit_zip.clas.abap +++ b/src/zcl_abapgit_zip.clas.abap @@ -30,7 +30,7 @@ CLASS zcl_abapgit_zip DEFINITION zcx_abapgit_exception. CLASS-METHODS export_package IMPORTING - VALUE(iv_package) TYPE devclass + iv_package TYPE devclass iv_folder_logic TYPE string iv_main_lang_only TYPE abap_bool RAISING @@ -192,12 +192,13 @@ CLASS zcl_abapgit_zip IMPLEMENTATION. METHOD export_package. - DATA: ls_local_settings TYPE zif_abapgit_persistence=>ty_repo-local_settings, - lo_dot_abapgit TYPE REF TO zcl_abapgit_dot_abapgit, - lo_frontend_serv TYPE REF TO zif_abapgit_frontend_services, - lv_default TYPE string, - lv_path TYPE string, - lv_zip_xstring TYPE xstring. + DATA: ls_local_settings TYPE zif_abapgit_persistence=>ty_repo-local_settings, + lo_dot_abapgit TYPE REF TO zcl_abapgit_dot_abapgit, + lo_frontend_serv TYPE REF TO zif_abapgit_frontend_services, + lv_default TYPE string, + lv_package_escaped TYPE string, + lv_path TYPE string, + lv_zip_xstring TYPE xstring. ls_local_settings-serialize_master_lang_only = iv_main_lang_only. @@ -206,8 +207,9 @@ CLASS zcl_abapgit_zip IMPLEMENTATION. lo_frontend_serv = zcl_abapgit_ui_factory=>get_frontend_services( ). - REPLACE ALL OCCURRENCES OF '/' IN iv_package WITH '#'. - lv_default = |{ iv_package }_{ sy-datlo }_{ sy-timlo }|. + lv_package_escaped = iv_package. + REPLACE ALL OCCURRENCES OF '/' IN lv_package_escaped WITH '#'. + lv_default = |{ lv_package_escaped }_{ sy-datlo }_{ sy-timlo }|. lv_zip_xstring = export( is_local_settings = ls_local_settings