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 | 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 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 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 1x 1x 1x 1x | CLASS zcl_abapgit_services_abapgit DEFINITION PUBLIC FINAL CREATE PUBLIC . PUBLIC SECTION. CONSTANTS c_abapgit_repo TYPE string VALUE 'https://github.com/abapGit/abapGit' ##NO_TEXT. CONSTANTS c_abapgit_homepage TYPE string VALUE 'https://www.abapgit.org' ##NO_TEXT. CONSTANTS c_abapgit_wikipage TYPE string VALUE 'https://docs.abapgit.org' ##NO_TEXT. CONSTANTS c_dotabap_homepage TYPE string VALUE 'https://dotabap.org' ##NO_TEXT. CONSTANTS c_changelog_path TYPE string VALUE '/blob/main/changelog.txt' ##NO_TEXT. CLASS-METHODS open_abapgit_homepage IMPORTING iv_page TYPE string OPTIONAL RAISING zcx_abapgit_exception . CLASS-METHODS open_abapgit_wikipage IMPORTING iv_page TYPE string OPTIONAL RAISING zcx_abapgit_exception . CLASS-METHODS open_dotabap_homepage RAISING zcx_abapgit_exception . CLASS-METHODS open_abapgit_changelog RAISING zcx_abapgit_exception . CLASS-METHODS get_abapgit_tcode RETURNING VALUE(rv_tcode) TYPE tcode . PROTECTED SECTION. PRIVATE SECTION. CLASS-METHODS open_url_in_browser IMPORTING !iv_url TYPE string RAISING zcx_abapgit_exception. ENDCLASS. CLASS zcl_abapgit_services_abapgit IMPLEMENTATION. METHOD get_abapgit_tcode. CONSTANTS lc_report_tcode_hex TYPE x VALUE '80'. DATA lt_tcodes TYPE STANDARD TABLE OF tcode. TRY. SELECT tcode FROM ('TSTC') INTO TABLE lt_tcodes WHERE pgmna = sy-cprog AND cinfo = lc_report_tcode_hex ORDER BY tcode. CATCH cx_sy_dynamic_osql_error. * ABAP Cloud/Steampunk compatibility RETURN. ENDTRY. IF lines( lt_tcodes ) > 0. READ TABLE lt_tcodes INDEX 1 INTO rv_tcode. ENDIF. ENDMETHOD. METHOD open_abapgit_changelog. open_url_in_browser( |{ c_abapgit_repo }{ c_changelog_path }| ). ENDMETHOD. METHOD open_abapgit_homepage. open_url_in_browser( |{ c_abapgit_homepage }/{ iv_page }| ). ENDMETHOD. METHOD open_abapgit_wikipage. open_url_in_browser( |{ c_abapgit_wikipage }/{ iv_page }| ). ENDMETHOD. METHOD open_dotabap_homepage. open_url_in_browser( c_dotabap_homepage ). ENDMETHOD. METHOD open_url_in_browser. DATA lx_error TYPE REF TO zcx_abapgit_exception. TRY. zcl_abapgit_ui_factory=>get_frontend_services( )->execute( iv_document = iv_url ). CATCH zcx_abapgit_exception INTO lx_error. zcx_abapgit_exception=>raise( iv_text = 'Opening page in external browser failed.' ix_previous = lx_error ). ENDTRY. ENDMETHOD. ENDCLASS. |