Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | const {zcl_abapgit_transport} = await import("./zcl_abapgit_transport.clas.mjs"); const {cx_root} = await import("./cx_root.clas.mjs"); // zcl_abapgit_transport_mass.clas.locals_imp.abap class lcl_gui { static INTERNAL_TYPE = 'CLAS'; static INTERNAL_NAME = 'CLAS-ZCL_ABAPGIT_TRANSPORT_MASS-LCL_GUI'; static IMPLEMENTED_INTERFACES = []; static ATTRIBUTES = {}; static METHODS = {"F4_FOLDER": {"visibility": "U", "parameters": {"RV_FOLDER": {"type": () => {return new abap.types.String({qualifiedName: "STRING"});}, "is_optional": " "}}}, "OPEN_FOLDER_FRONTEND": {"visibility": "U", "parameters": {"IV_FOLDER": {"type": () => {return new abap.types.String({qualifiedName: "STRING"});}, "is_optional": " "}}}, "SELECT_TR_REQUESTS": {"visibility": "U", "parameters": {"RT_TRKORR": {"type": () => {return (() => { throw new Error("Void type: TRWBO_REQUEST_HEADERS") })();}, "is_optional": " "}}}}; constructor() { this.me = new abap.types.ABAPObject(); this.me.set(this); this.INTERNAL_ID = abap.internalIdCounter++; this.FRIENDS_ACCESS_INSTANCE = { }; } async constructor_(INPUT) { if (super.constructor_) { await super.constructor_(INPUT); } return this; } async f4_folder() { return lcl_gui.f4_folder(); } static async f4_folder() { let rv_folder = new abap.types.String({qualifiedName: "STRING"}); let lv_title = new abap.types.String({qualifiedName: "STRING"}); let lo_fe_serv = new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_FRONTEND_SERVICES", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_FRONTEND_SERVICES"}); lo_fe_serv.set((await abap.Classes['ZCL_ABAPGIT_UI_FACTORY'].get_frontend_services())); lv_title.set(abap.CharacterFactory.get(47, 'Choose the destination folder for the ZIP files')); await lo_fe_serv.get().zif_abapgit_frontend_services$directory_browse({iv_window_title: lv_title, cv_selected_folder: rv_folder}); return rv_folder; } async open_folder_frontend(INPUT) { return lcl_gui.open_folder_frontend(INPUT); } static async open_folder_frontend(INPUT) { let iv_folder = INPUT?.iv_folder; if (iv_folder?.getQualifiedName === undefined || iv_folder.getQualifiedName() !== "STRING") { iv_folder = undefined; } if (iv_folder === undefined) { iv_folder = new abap.types.String({qualifiedName: "STRING"}).set(INPUT.iv_folder); } if (abap.compare.initial(iv_folder)) { return; } await (await abap.Classes['ZCL_ABAPGIT_UI_FACTORY'].get_frontend_services()).get().zif_abapgit_frontend_services$execute({iv_document: iv_folder}); } async select_tr_requests() { return lcl_gui.select_tr_requests(); } static async select_tr_requests() { let rt_trkorr = (() => { throw new Error("Void type: TRWBO_REQUEST_HEADERS") })(); let ls_popup = (() => { throw new Error("Void type: STRHI_POPUP") })(); let ls_selection = (() => { throw new Error("Void type: TRWBO_SELECTION") })(); ls_popup.get().start_column.set(abap.IntegerFactory.get(5)); ls_popup.get().start_row.set(abap.IntegerFactory.get(5)); ls_selection.get().trkorrpattern.set(abap.builtin.space); ls_selection.get().client.set(abap.builtin.space); ls_selection.get().stdrequest.set(abap.builtin.space); ls_selection.get().reqfunctions.set(abap.CharacterFactory.get(1, 'K')); ls_selection.get().reqstatus.set(abap.CharacterFactory.get(5, 'RNODL')); try { if (abap.FunctionModules['TRINT_SELECT_REQUESTS'] === undefined) { if (abap.Classes['CX_SY_DYN_CALL_ILLEGAL_FUNC'.trimEnd()] === undefined) { throw "CX_SY_DYN_CALL_ILLEGAL_FUNC not found"; } else { throw new abap.Classes['CX_SY_DYN_CALL_ILLEGAL_FUNC'.trimEnd()]();} } await abap.FunctionModules['TRINT_SELECT_REQUESTS']({exporting: {iv_username_pattern: abap.CharacterFactory.get(1, '*'), iv_via_selscreen: abap.CharacterFactory.get(1, 'X'), is_selection: ls_selection, iv_complete_projects: abap.builtin.space, iv_title: abap.CharacterFactory.get(33, 'abapGit Transport Mass Downloader'), is_popup: ls_popup}, importing: {et_requests: rt_trkorr}}); abap.builtin.sy.get().subrc.set(0); } catch (e) { if (e.classic) { switch (e.classic.toUpperCase()) { case "ACTION_ABORTED_BY_USER": abap.builtin.sy.get().subrc.set(1); break; default: abap.builtin.sy.get().subrc.set(2); break; } } else { throw e; } } if (abap.compare.ne(abap.builtin.sy.get().subrc, abap.IntegerFactory.get(0))) { rt_trkorr.clear(); } else { abap.statements.sort(rt_trkorr,{by: [{component: "trkorr"}]}); await abap.statements.deleteInternal(rt_trkorr,{adjacent: true,comparing: ['trkorr']}); } return rt_trkorr; } } abap.Classes['CLAS-ZCL_ABAPGIT_TRANSPORT_MASS-LCL_GUI'] = lcl_gui; class lcl_transport_zipper { static INTERNAL_TYPE = 'CLAS'; static INTERNAL_NAME = 'CLAS-ZCL_ABAPGIT_TRANSPORT_MASS-LCL_TRANSPORT_ZIPPER'; static IMPLEMENTED_INTERFACES = []; static ATTRIBUTES = {"MV_TIMESTAMP": {"type": () => {return new abap.types.String({qualifiedName: "STRING"});}, "visibility": "I", "is_constant": " ", "is_class": " "}, "MV_SEPARATOR": {"type": () => {return new abap.types.Character(1, {});}, "visibility": "I", "is_constant": " ", "is_class": " "}, "MV_FULL_FOLDER": {"type": () => {return new abap.types.String({qualifiedName: "LCL_TRANSPORT_ZIPPER=>TY_FOLDER"});}, "visibility": "I", "is_constant": " ", "is_class": " "}, "C_ZIP_EXT": {"type": () => {return new abap.types.String({qualifiedName: "STRING"});}, "visibility": "U", "is_constant": "X", "is_class": "X"}}; static METHODS = {"GET_FULL_FOLDER": {"visibility": "I", "parameters": {"RV_FULL_FOLDER": {"type": () => {return new abap.types.String({qualifiedName: "LCL_TRANSPORT_ZIPPER=>TY_FOLDER"});}, "is_optional": " "}, "IV_FOLDER": {"type": () => {return new abap.types.String({qualifiedName: "LCL_TRANSPORT_ZIPPER=>TY_FOLDER"});}, "is_optional": " "}}}, "GET_FILENAME": {"visibility": "I", "parameters": {"RV_FILENAME": {"type": () => {return new abap.types.String({qualifiedName: "LCL_TRANSPORT_ZIPPER=>TY_FILENAME"});}, "is_optional": " "}, "IS_TRKORR": {"type": () => {return (() => { throw new Error("Void type: TRWBO_REQUEST_HEADER") })();}, "is_optional": " "}}}, "CONSTRUCTOR": {"visibility": "U", "parameters": {"IV_FOLDER": {"type": () => {return new abap.types.String({qualifiedName: "LCL_TRANSPORT_ZIPPER=>TY_FOLDER"});}, "is_optional": " "}}}, "GENERATE_FILES": {"visibility": "U", "parameters": {"IT_TRKORR": {"type": () => {return (() => { throw new Error("Void type: TRWBO_REQUEST_HEADERS") })();}, "is_optional": " "}, "IG_LOGIC": {"type": () => {return new abap.types.Character(4);}, "is_optional": " "}}}, "GET_FOLDER": {"visibility": "U", "parameters": {"RV_FULL_FOLDER": {"type": () => {return new abap.types.String({qualifiedName: "LCL_TRANSPORT_ZIPPER=>TY_FOLDER"});}, "is_optional": " "}}}, "DOES_FOLDER_EXIST": {"visibility": "U", "parameters": {"RV_FOLDER_EXIST": {"type": () => {return new abap.types.Character(1, {"qualifiedName":"ABAP_BOOL","ddicName":"ABAP_BOOL"});}, "is_optional": " "}, "IV_FOLDER": {"type": () => {return new abap.types.String({qualifiedName: "STRING"});}, "is_optional": " "}}}}; #mv_timestamp; #mv_separator; #mv_full_folder; constructor() { this.me = new abap.types.ABAPObject(); this.me.set(this); this.INTERNAL_ID = abap.internalIdCounter++; this.FRIENDS_ACCESS_INSTANCE = { "get_full_folder": this.#get_full_folder.bind(this), "get_filename": this.#get_filename.bind(this), "generate_files": this.generate_files.bind(this), "get_folder": this.get_folder.bind(this), }; this.#mv_timestamp = new abap.types.String({qualifiedName: "STRING"}); this.FRIENDS_ACCESS_INSTANCE["mv_timestamp"] = this.#mv_timestamp; this.#mv_separator = new abap.types.Character(1, {}); this.FRIENDS_ACCESS_INSTANCE["mv_separator"] = this.#mv_separator; this.#mv_full_folder = new abap.types.String({qualifiedName: "LCL_TRANSPORT_ZIPPER=>TY_FOLDER"}); this.FRIENDS_ACCESS_INSTANCE["mv_full_folder"] = this.#mv_full_folder; this.c_zip_ext = lcl_transport_zipper.c_zip_ext; } async constructor_(INPUT) { let iv_folder = INPUT?.iv_folder; if (iv_folder?.getQualifiedName === undefined || iv_folder.getQualifiedName() !== "LCL_TRANSPORT_ZIPPER=>TY_FOLDER") { iv_folder = undefined; } if (iv_folder === undefined) { iv_folder = new abap.types.String({qualifiedName: "LCL_TRANSPORT_ZIPPER=>TY_FOLDER"}).set(INPUT.iv_folder); } let lo_fe_serv = new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_FRONTEND_SERVICES", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_FRONTEND_SERVICES"}); lo_fe_serv.set((await abap.Classes['ZCL_ABAPGIT_UI_FACTORY'].get_frontend_services())); this.#mv_timestamp.set(new abap.types.String().set(`${abap.templateFormatting(abap.builtin.sy.get().datlo)}_${abap.templateFormatting(abap.builtin.sy.get().timlo)}`)); this.#mv_full_folder.set((await this.#get_full_folder({iv_folder: iv_folder}))); try { await lo_fe_serv.get().zif_abapgit_frontend_services$get_file_separator({cv_file_separator: this.#mv_separator}); } catch (e) { if ((abap.Classes['ZCX_ABAPGIT_EXCEPTION'] && e instanceof abap.Classes['ZCX_ABAPGIT_EXCEPTION'])) { this.#mv_separator.set(abap.CharacterFactory.get(1, '\\')); } else { throw e; } } return this; } async get_folder() { let rv_full_folder = new abap.types.String({qualifiedName: "LCL_TRANSPORT_ZIPPER=>TY_FOLDER"}); rv_full_folder.set(this.#mv_full_folder); return rv_full_folder; } async does_folder_exist(INPUT) { return lcl_transport_zipper.does_folder_exist(INPUT); } static async does_folder_exist(INPUT) { let rv_folder_exist = new abap.types.Character(1, {"qualifiedName":"ABAP_BOOL","ddicName":"ABAP_BOOL"}); let iv_folder = INPUT?.iv_folder; if (iv_folder?.getQualifiedName === undefined || iv_folder.getQualifiedName() !== "STRING") { iv_folder = undefined; } if (iv_folder === undefined) { iv_folder = new abap.types.String({qualifiedName: "STRING"}).set(INPUT.iv_folder); } rv_folder_exist.set((await (await abap.Classes['ZCL_ABAPGIT_UI_FACTORY'].get_frontend_services()).get().zif_abapgit_frontend_services$directory_exist({iv_directory: iv_folder}))); return rv_folder_exist; } async #get_full_folder(INPUT) { let rv_full_folder = new abap.types.String({qualifiedName: "LCL_TRANSPORT_ZIPPER=>TY_FOLDER"}); let iv_folder = INPUT?.iv_folder; if (iv_folder?.getQualifiedName === undefined || iv_folder.getQualifiedName() !== "LCL_TRANSPORT_ZIPPER=>TY_FOLDER") { iv_folder = undefined; } if (iv_folder === undefined) { iv_folder = new abap.types.String({qualifiedName: "LCL_TRANSPORT_ZIPPER=>TY_FOLDER"}).set(INPUT.iv_folder); } let lv_sep = new abap.types.Character(1, {}); let lv_rc = new abap.types.Integer({qualifiedName: "I"}); let lo_fe_serv = new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_FRONTEND_SERVICES", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_FRONTEND_SERVICES"}); lo_fe_serv.set((await abap.Classes['ZCL_ABAPGIT_UI_FACTORY'].get_frontend_services())); await lo_fe_serv.get().zif_abapgit_frontend_services$get_file_separator({cv_file_separator: lv_sep}); rv_full_folder.set(new abap.types.String().set(`${abap.templateFormatting(iv_folder)}${abap.templateFormatting(lv_sep)}${abap.templateFormatting(this.#mv_timestamp)}`)); if (abap.compare.eq((await this.does_folder_exist({iv_folder: rv_full_folder})), abap.builtin.abap_false)) { await lo_fe_serv.get().zif_abapgit_frontend_services$directory_create({iv_directory: rv_full_folder, cv_rc: lv_rc}); } return rv_full_folder; } async #get_filename(INPUT) { let rv_filename = new abap.types.String({qualifiedName: "LCL_TRANSPORT_ZIPPER=>TY_FILENAME"}); let is_trkorr = INPUT?.is_trkorr; if (is_trkorr === undefined) { is_trkorr = (() => { throw new Error("Void type: TRWBO_REQUEST_HEADER") })().set(INPUT.is_trkorr); } rv_filename.set(new abap.types.String().set(`${abap.templateFormatting(is_trkorr.get().trkorr)}_${abap.templateFormatting(is_trkorr.get().as4text)}_${abap.templateFormatting(this.#mv_timestamp)}${abap.templateFormatting(lcl_transport_zipper.c_zip_ext)}`)); abap.statements.translate(rv_filename, '/ \\ : " * > < ? |'); rv_filename.set(new abap.types.String().set(`${abap.templateFormatting(this.#mv_full_folder)}${abap.templateFormatting(this.#mv_separator)}${abap.templateFormatting(rv_filename)}`)); return rv_filename; } async generate_files(INPUT) { let it_trkorr = INPUT?.it_trkorr; if (it_trkorr === undefined) { it_trkorr = (() => { throw new Error("Void type: TRWBO_REQUEST_HEADERS") })().set(INPUT.it_trkorr); } let ig_logic = INPUT?.ig_logic; let ls_trkorr = (() => { throw new Error("Void type: TRWBO_REQUEST_HEADERS") })(); let lv_zipbinstring = new abap.types.XString({qualifiedName: "XSTRING"}); for await (const unique52 of abap.statements.loop(it_trkorr)) { ls_trkorr.set(unique52); lv_zipbinstring.set((await abap.Classes['ZCL_ABAPGIT_TRANSPORT_MASS'].zip({is_trkorr: ls_trkorr, iv_logic: ig_logic, iv_show_log_popup: abap.builtin.abap_false}))); await abap.Classes['ZCL_ABAPGIT_ZIP'].save_binstring_to_localfile({iv_binstring: lv_zipbinstring, iv_filename: (await this.#get_filename({is_trkorr: ls_trkorr}))}); } } } abap.Classes['CLAS-ZCL_ABAPGIT_TRANSPORT_MASS-LCL_TRANSPORT_ZIPPER'] = lcl_transport_zipper; lcl_transport_zipper.c_zip_ext = new abap.types.String({qualifiedName: "STRING"}); lcl_transport_zipper.c_zip_ext.set('.zip'); lcl_transport_zipper.ty_folder = new abap.types.String({qualifiedName: "LCL_TRANSPORT_ZIPPER=>TY_FOLDER"}); lcl_transport_zipper.ty_filename = new abap.types.String({qualifiedName: "LCL_TRANSPORT_ZIPPER=>TY_FILENAME"}); export {lcl_gui, lcl_transport_zipper}; |