refactor ADT transport link building (#6207)

This commit is contained in:
Lars Hvam 2023-04-10 11:50:24 +02:00 committed by GitHub
parent 7ea43cf671
commit 3df7b9e58a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 18 additions and 22 deletions

View File

@ -26,12 +26,12 @@
] ]
}, },
"devDependencies": { "devDependencies": {
"@abaplint/cli": "^2.97.4", "@abaplint/cli": "^2.97.7",
"@abaplint/database-sqlite": "^2.5.39", "@abaplint/database-sqlite": "^2.5.39",
"@abaplint/runtime": "^2.5.76", "@abaplint/runtime": "^2.5.79",
"@abaplint/transpiler-cli": "^2.5.76", "@abaplint/transpiler-cli": "^2.5.79",
"abapmerge": "^0.15.0", "abapmerge": "^0.15.0",
"c8": "^7.13.0", "c8": "^7.13.0",
"eslint": "^8.37.0" "eslint": "^8.38.0"
} }
} }

View File

@ -14,6 +14,12 @@ CLASS zcl_abapgit_adt_link DEFINITION
RAISING RAISING
zcx_abapgit_exception. zcx_abapgit_exception.
CLASS-METHODS link_transport
IMPORTING
iv_transport TYPE trkorr
RETURNING
VALUE(rv_link) TYPE string.
PROTECTED SECTION. PROTECTED SECTION.
CLASS-METHODS generate CLASS-METHODS generate
@ -56,6 +62,10 @@ ENDCLASS.
CLASS zcl_abapgit_adt_link IMPLEMENTATION. CLASS zcl_abapgit_adt_link IMPLEMENTATION.
METHOD link_transport.
* call to CL_CTS_ADT_TM_URI_BUILDER=>CREATE_ADT_URI replaced with logic that works on all systems,
rv_link = |adt://{ sy-sysid }/sap/bc/adt/cts/transportrequests/{ iv_transport }|.
ENDMETHOD.
METHOD generate. METHOD generate.

View File

@ -459,27 +459,13 @@ CLASS ZCL_ABAPGIT_GUI_ROUTER IMPLEMENTATION.
METHOD jump_display_transport. METHOD jump_display_transport.
DATA: DATA:
lv_transport_adt_uri TYPE string, lv_adt_link TYPE string,
lv_adt_link TYPE string, lv_adt_jump_enabled TYPE abap_bool.
lv_adt_jump_enabled TYPE abap_bool.
lv_adt_jump_enabled = zcl_abapgit_persist_factory=>get_settings( )->read( )->get_adt_jump_enabled( ). lv_adt_jump_enabled = zcl_abapgit_persist_factory=>get_settings( )->read( )->get_adt_jump_enabled( ).
IF lv_adt_jump_enabled = abap_true. IF lv_adt_jump_enabled = abap_true.
TRY. lv_adt_link = zcl_abapgit_adt_link=>link_transport( iv_transport ).
CALL METHOD ('CL_CTS_ADT_TM_URI_BUILDER')=>('CREATE_ADT_URI') zcl_abapgit_ui_factory=>get_frontend_services( )->execute( iv_document = lv_adt_link ).
EXPORTING
trnumber = iv_transport
RECEIVING
result = lv_transport_adt_uri.
lv_adt_link = |adt://{ sy-sysid }{ lv_transport_adt_uri }|.
zcl_abapgit_ui_factory=>get_frontend_services( )->execute( iv_document = lv_adt_link ).
CATCH cx_root.
CALL FUNCTION 'TR_DISPLAY_REQUEST'
EXPORTING
i_trkorr = iv_transport.
ENDTRY.
ELSE. ELSE.
CALL FUNCTION 'TR_DISPLAY_REQUEST' CALL FUNCTION 'TR_DISPLAY_REQUEST'
EXPORTING EXPORTING