diff --git a/src/#deso#dh_a.suso.xml b/src/#deso#dh_a.suso.xml new file mode 100644 index 0000000..9ba6a17 --- /dev/null +++ b/src/#deso#dh_a.suso.xml @@ -0,0 +1,37 @@ + + + + + + /DESO/DH_A + ACTVT + AAAB + + + D + /DESO/DH_A + DATA Hawk Analyse Berechtigung + + + /DESO/DH_A + N + A + A + + + + /DESO/DH_A + 02 + + + /DESO/DH_A + 03 + + + /DESO/DH_A + 16 + + + + + diff --git a/src/#deso#dh_hawk.prog.abap b/src/#deso#dh_hawk.prog.abap index d0e1cd4..76fb431 100644 --- a/src/#deso#dh_hawk.prog.abap +++ b/src/#deso#dh_hawk.prog.abap @@ -16,4 +16,10 @@ START-OF-SELECTION. mac_check_lizenz. + AUTHORITY-CHECK OBJECT '/DESO/DH_A' + ID 'ACTVT' FIELD '03'. + IF sy-subrc ne 0. + MESSAGE 'Keine Berechtigungen zum Starten des Tools!' TYPE 'A'. + endif. + CALL SCREEN 9000. diff --git a/src/#deso#dh_hawk_btc.prog.abap b/src/#deso#dh_hawk_btc.prog.abap index 95f4ac1..da73064 100644 --- a/src/#deso#dh_hawk_btc.prog.abap +++ b/src/#deso#dh_hawk_btc.prog.abap @@ -38,6 +38,15 @@ PARAMETERS: pa_btc." NO-DISPLAY. START-OF-SELECTION. + + + + AUTHORITY-CHECK OBJECT '/DESO/DH_A' + ID 'ACTVT' DUMMY. + IF sy-subrc ne 0. + MESSAGE 'Keine Berechtigungen zum Ausführen des Programs' TYPE 'A'. + endif. + IF NOT so_gpart IS INITIAL. SELECT 'ISUPARTNER' AS objekt, partner AS objkey FROM but100 APPENDING TABLE @gt_sel diff --git a/src/#deso#dh_hawk_btc_start.prog.abap b/src/#deso#dh_hawk_btc_start.prog.abap index 7140cd6..a2297f7 100644 --- a/src/#deso#dh_hawk_btc_start.prog.abap +++ b/src/#deso#dh_hawk_btc_start.prog.abap @@ -14,7 +14,12 @@ PARAMETERS: pa_prel TYPE flag. "ZP-Beziehungen lesen und Daten zu den in der Bez SELECT-OPTIONS so_sel for ls_sel_txt. - +START-OF-SELECTION. + AUTHORITY-CHECK OBJECT '/DESO/DH_A' + ID 'ACTVT' DUMMY. + IF sy-subrc ne 0. + MESSAGE 'Keine Berechtigungen zum Ausführen des Programs' TYPE 'A'. + endif. LOOP AT so_sel ASSIGNING FIELD-SYMBOL(). ls_sel-object = -low(10). ls_sel-objkey = -low+10. diff --git a/src/#deso#dh_hawk_correct.prog.abap b/src/#deso#dh_hawk_correct.prog.abap index 863b3dd..56aa184 100644 --- a/src/#deso#dh_hawk_correct.prog.abap +++ b/src/#deso#dh_hawk_correct.prog.abap @@ -20,6 +20,13 @@ PARAMETERS: pa_view TYPE /deso/dh_view, START-OF-SELECTION. + AUTHORITY-CHECK OBJECT '/DESO/DH_A' + ID 'ACTVT' FIELD '16'. + IF sy-subrc ne 0. + MESSAGE 'Keine Berechtigungen zum Ausführen des Programs' TYPE 'A'. + endif. + + SELECT * FROM /deso/dh_message INTO TABLE @DATA(lt_message) WHERE check_view = @pa_view diff --git a/src/#deso#dh_hawk_da.prog.abap b/src/#deso#dh_hawk_da.prog.abap index d45892f..f67c7cb 100644 --- a/src/#deso#dh_hawk_da.prog.abap +++ b/src/#deso#dh_hawk_da.prog.abap @@ -28,6 +28,9 @@ CALL TRANSACTION '/DESO/DH_CUST'. LEAVE PROGRAM. ENDIF. + + + END-OF-DEFINITION. *&SPWIZARD: FUNCTION CODES FOR TABSTRIP 'TABSTRIP' diff --git a/src/#deso#dh_hawk_mo.prog.abap b/src/#deso#dh_hawk_mo.prog.abap index 3e8a0a6..29a363f 100644 --- a/src/#deso#dh_hawk_mo.prog.abap +++ b/src/#deso#dh_hawk_mo.prog.abap @@ -119,6 +119,18 @@ ENDMODULE. MODULE status_9000 OUTPUT. SET PF-STATUS '9000'. SET TITLEBAR '/DESO/DH_HAWK'. + + AUTHORITY-CHECK OBJECT '/DESO/DH_A' + ID 'ACTVT' FIELD '02'. + IF sy-subrc ne 0. + LOOP AT SCREEN. + IF screen-name = 'BUT_CUST'. + screen-invisible = '1'. + MODIFY SCREEN. + ENDIF. + ENDLOOP. + endif. + ENDMODULE. *&---------------------------------------------------------------------* *& Module USER_COMMAND_9000 INPUT @@ -242,6 +254,19 @@ MODULE status_9003 OUTPUT. gs_variant-variant = cl_st. gs_variant-handle = '9003'. + +AUTHORITY-CHECK OBJECT '/DESO/DH_A' + ID 'ACTVT' FIELD '16'. + IF sy-subrc ne 0. + LOOP AT SCREEN. + IF screen-name = 'BUT_KORREKTUR'. + screen-invisible = '1'. + MODIFY SCREEN. + ENDIF. + ENDLOOP. + ENDIF. + + PERFORM build_fieldcat_result. PERFORM build_layout. @@ -344,6 +369,21 @@ MODULE status_9001 OUTPUT. gs_variant-variant = cl_st. gs_variant-handle = '9001'. + + + AUTHORITY-CHECK OBJECT '/DESO/DH_A' + ID 'ACTVT' FIELD '02'. + IF sy-subrc ne 0. + LOOP AT SCREEN. + IF screen-name = 'BUT_CREATE' + or screen-name = 'BUT_SAVE' + or screen-name = 'BUT_DELETE'. + screen-invisible = '1'. + MODIFY SCREEN. + ENDIF. + ENDLOOP. + endif. + PERFORM build_fieldcat. PERFORM build_layout.