欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

新增、修改 SAP ABAP SM30 权限验证

最编程 2024-05-01 22:18:31
...
1 DATA:lv_actvt TYPE tact-actvt, 2 lv_sellist TYPE vimsellist. 3 CONSTANTS:lv_bukrs TYPE dd03p_d-fieldname VALUE 'BUKRS', 4 lv_actvt_display TYPE tact-actvt VALUE '03', 5 lv_actvt_change TYPE tact-actvt VALUE '02', 6 lv_actvt_create TYPE tact-actvt VALUE '01'. 7 FIELD-SYMBOLS:<fs> TYPE any, 8 <fs_bukrs> TYPE bukrs. 9 sy-subrc = 0. 10 CASE p_view_action. 11 WHEN aendern."change 12 lv_actvt = lv_actvt_change. 13 WHEN anzeigen."diaplay 14 lv_actvt = lv_actvt_display. 15 WHEN neuer_eintrag."create 16 lv_actvt = lv_actvt_create. 17 WHEN OTHERS. 18 RETURN. 19 ENDCASE. 20 21 IF lv_actvt = lv_actvt_create. 22 CHECK vim_object IS NOT INITIAL. 23 ASSIGN (vim_object) TO <fs> CASTING TYPE (vim_object). 24 ELSE. 25 ASSIGN extract TO <fs> CASTING TYPE (vim_object). 26 ENDIF. 27 28 ASSIGN COMPONENT lv_bukrs OF STRUCTURE <fs> TO <fs_bukrs>. 29 IF sy-subrc <> 0 OR <fs_bukrs> IS INITIAL. 30 RETURN. 31 ENDIF. 32 33 AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' 34 ID 'BUKRS' FIELD <fs_bukrs> 35 ID 'ACTVT' FIELD lv_actvt. 36 IF sy-subrc <> 0 AND lv_actvt = lv_actvt_create. 37 MESSAGE e800(fr) WITH <fs_bukrs> . 38 ENDIF.