日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ABAP-获取用户的组织结构权限

發(fā)布時間:2025/3/20 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ABAP-获取用户的组织结构权限 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在日常維護(hù)中常常需要用戶的組織結(jié)構(gòu)層面的權(quán)限列表,在SAP里我們就需要到角色里去查看,比較不方便,因此做下面的一個用戶組織結(jié)構(gòu)權(quán)限的列表程序,代碼如下(供大家參考使用)?

??????*&---------------------------------------------------------------------*

??????*&?Report?ZORG_LEVELS_AU?*

??????*&?*

??????*&---------------------------------------------------------------------*

??????*&---------------------------------------------------------------------*

??????REPORT?ZORG_LEVELS_AU?MESSAGE-ID?dev.

??????TYPE-POOLS:?slis.

??????TABLES:?usr02.

??????DATA:?BEGIN?OF?gt_1252?OCCURS?100,

??????agr_name?LIKE?agr_1251-agr_name.

??????INCLUDE?STRUCTURE?pt1252.

??????DATA:?END?OF?gt_1252?.

??????DATA?db_1252?LIKE?gt_1252?OCCURS?100?WITH?HEADER?LINE.?DATA:?BEGIN?OF?

??????gt_au_fld?OCCURS?100.

??????INCLUDE?STRUCTURE?pt1251.

??????DATA:?END?OF?gt_au_fld.?

??????*Organization?Level?Authorization?Field?Text

??????DATA:?BEGIN?OF?orgebenen?OCCURS?30.

??????INCLUDE?STRUCTURE?usorg_db.

??????DATA:?END?OF?orgebenen,

??????*Organization?Level?Authorization?Field?Text

??????BEGIN?OF?orgtext?OCCURS?30.

??????INCLUDE?STRUCTURE?usorg_db.

??????DATA:?END?OF?orgtext.?

??????DATA:?g_var?LIKE?orgebenen-varbl,

??????g_ret?LIKE?sy-subrc,

??????g_old_field?LIKE?pt1251-field.

??????DATA:?BEGIN?OF?gt_result?OCCURS?100,

??????agr_name?LIKE?agr_1251-agr_name.

??????INCLUDE?STRUCTURE?tprorg1.

??????DATA:?END?OF?gt_result.

??????DATA:?gt_field?TYPE?slis_t_fieldcat_alv.?

??????*Define?Selection?Screen

??????PARAMETERS?p_user?LIKE?usr02-bname?OBLIGATORY.

??????PARAMETERS?p_date?LIKE?sy-datum?OBLIGATORY?DEFAULT?sy-datum?.?RANGES?

??????r_group?FOR?agr_define-agr_name.?END-OF-SELECTION.?

??????REFRESH:?db_1252,?r_group?.

??????r_group-sign?=?'I'.

??????r_group-option?=?'EQ'.

??????*?Get?User's?roles

??????SELECT?agr_name?INTO?(r_group-low)?FROM?agr_users?WHERE?uname?=?p_user?AND?

??????to_dat?>?p_date.

??????APPEND?r_group.

??????ENDSELECT.?*Get?value?of?roles'?Organizational?levels

??????SELECT?*?FROM?agr_1252?INTO?CORRESPONDING?FIELDS?OF?TABLE?db_1252

??????WHERE?agr_name?IN?r_group

??????ORDER?BY?counter.

??????IF?sy-subrc?NE?0.

??????MESSAGE?i036.?"沒有符合條件的數(shù)據(jù),則提示信息退出

??????EXIT.

??????ENDIF.

??????DELETE?db_1252?WHERE?varbl?=?space.

??????*CALL?FUNCTION?'PRGN_1252_READ_ORG_LEVELS'

??????*?EXPORTING

??????*?ACTIVITY_GROUP?=?S_STAT-OBJID

??????*?TABLES

??????*?ORG_LEVELS?=?DB_STORG

??????*?EXCEPTIONS

??????*?NO_DATA_AVAILABLE?=?1

??????*?OTHERS?=?2.

??????SORT?db_1252.

??????*Auth.?Object?in?User?Master?Maintenance

??????SELECT?*?FROM?agr_1251?INTO?CORRESPONDING?FIELDS?OF?TABLE?gt_au_fld

??????WHERE?agr_name?IN?r_group

??????ORDER?BY?field.

??????PERFORM?init_orgs.

??????LOOP?AT?gt_au_fld.

??????IF?gt_au_fld-field?NE?g_old_field.

??????g_old_field?=?gt_au_fld-field.

??????PERFORM?is_org?USING?g_old_field?g_var?g_ret.

??????IF?g_ret?EQ?0.

??????READ?TABLE?db_1252?WITH?KEY?varbl?=?g_var.?

?

??????IF?sy-subrc?=?0.

??????LOOP?AT?db_1252?WHERE?varbl?=?g_var.

??????APPEND?db_1252?TO?gt_1252.

??????ENDLOOP.

??????IF?sy-subrc?NE?0.

??????CLEAR?gt_1252.

??????gt_1252-varbl?=?g_var.

??????APPEND?gt_1252.

??????ENDIF.

??????ELSE.

??????ENDIF.

??????ENDIF.

??????ENDIF.

??????ENDLOOP.?

??????SORT?gt_1252.

??????LOOP?AT?gt_1252.

??????MOVE-CORRESPONDING?gt_1252?TO?gt_result.

??????PERFORM?read_org_text?USING?gt_1252-varbl?gt_result-text.

??????READ?TABLE?orgebenen?WITH?KEY?varbl?=?gt_1252-varbl.

??????IF?sy-subrc?=?0.

??????gt_result-fieldname?=?orgebenen-field.

??????ENDIF.

??????APPEND?gt_result.

??????ENDLOOP.

??????DESCRIBE?TABLE?gt_result?LINES?sy-subrc.

??????IF?sy-subrc?=?0.

??????MESSAGE?i036.?"沒有符合條件的數(shù)據(jù),則提示信息退出

??????EXIT.

??????ELSE.

??????PERFORM?sub_create_field_cat.

??????CALL?FUNCTION?'REUSE_ALV_GRID_DISPLAY'

??????EXPORTING

??????it_fieldcat?=?gt_field[]

??????TABLES

??????t_outtab?=?gt_result

??????EXCEPTIONS

??????program_error?=?1

??????OTHERS?=?2.

??????ENDIF.?

??????*&---------------------------------------------------------------------*

??????*&?Form?sub_create_field_cat

??????*&---------------------------------------------------------------------*

??????*?text

??????*----------------------------------------------------------------------*

??????FORM?sub_create_field_cat.

??????REFRESH?gt_field.

??????PERFORM?sub_field_des?USING?:

??????''?''?'AGR_NAME'?''?'X'?''?''?'Role?Name'?'20'?''?''?gt_field[],

??????''?''?'VARBL'?''?'X'?''?''?'Org.?Level'?'10'?''?''?gt_field[],

??????''?''?'TEXT'?''?''?''?''?'Org.?Des.'?'40'?''?''?gt_field[],

??????''?''?'LOW'?''?''?''?''?'Low?Value'?'40'?''?''?gt_field[],?

??????''?''?'HIGH'?''?''?''?''?'High?Vlaue'?'40'?''?''?gt_field[].

??????ENDFORM.?"?SUB_CREATE_FIELD_CAT

??????*----------------------------------------------------------------------*

??????*?Form?:?SUB_FIELD_DES

??????*----------------------------------------------------------------------*

??????*?Description:?Set?the?fields?which?will?be?displayed

??????*----------------------------------------------------------------------*

??????*參數(shù)說明?*

??????*---------------------------------------------------------------------*

??????*?im_ref_FIELD---must?upper?case?*

??????*?im_ref_TABLE---internal?table?name?*

??????*?im_FIELDname---must?upper?case?*

??????*?im_TABname?---internal?table?name?*

??????*?im_KEY?---column?with?key-color?AND?frozen?*

??????*?im_CHECKBOX?---the?column?is?checkbox?*

??????*?im_dosum?---total,if?total,?the?field?must?be?sumed?*

??????*?im_SELTEX_L?---column?Long?description?of?title?*?

?

?&nbs, p;????*?im_outputlen---column?output?length

??????*?re_field?:?字段格式定義內(nèi)表

??????*----------------------------------------------------------------------*

??????*?Modification?Log:?*

??????*?Date?Programmer?Correction?Number?*

??????*2006-08-10?dev01?增加控制零值是否顯示控制參數(shù)

??????*2006-08-12?dev01?增加控制是否顯示控制參數(shù)

??????*----------------------------------------------------------------------*

??????FORM?sub_field_des?USING?im_ref_field?TYPE?c

??????im_ref_table?TYPE?c

??????im_fieldname?TYPE?c

??????im_tabname?TYPE?c

??????im_key?TYPE?c

??????im_checkbox?TYPE?c

??????im_dosum?TYPE?c

??????im_seltex_l?TYPE?c

??????im_outputlen?TYPE?i

??????im_zero?TYPE?c

??????im_out?TYPE?c

??????re_field?TYPE?slis_t_fieldcat_alv.

??????DATA:?wa_fieldcat?TYPE?slis_fieldcat_alv.

??????CLEAR?wa_fieldcat.

??????wa_fieldcat-ref_fieldname?=?im_ref_field.

??????wa_fieldcat-ref_tabname?=?im_ref_table.

??????wa_fieldcat-fieldname?=?im_fieldname.

??????wa_fieldcat-tabname?=?im_tabname.?

??????wa_fieldcat-key?=?im_key.

??????wa_fieldcat-checkbox?=?im_checkbox.

??????wa_fieldcat-do_sum?=?im_dosum.

??????wa_fieldcat-no_zero?=?im_zero.

??????wa_fieldcat-no_out?=?im_out.

??????wa_fieldcat-seltext_l?=?im_seltex_l.

??????wa_fieldcat-seltext_m?=?im_seltex_l.

??????wa_fieldcat-seltext_s?=?im_seltex_l.

??????wa_fieldcat-outputlen?=?im_outputlen.

??????*?wa_fieldcat-col_pos?=?IM_colpos.

??????APPEND?wa_fieldcat?TO?re_field.

??????ENDFORM.?"SUB_FIELD_DES

??????*&---------------------------------------------------------------------*

??????*&?Form?INIT_ORGS

??????*&---------------------------------------------------------------------*

??????*?text

??????*----------------------------------------------------------------------*

??????FORM?init_orgs.

??????STATICS:?org_init.

??????IF?org_init?=?space.

??????org_init?=?'X'.

??????SELECT?*?FROM?usorg_db?INTO?TABLE?orgebenen.

??????SORT?orgebenen.

??????orgtext[]?=?orgebenen[].

??????SORT?orgtext?BY?langu?varbl.?

??????ENDIF.

??????ENDFORM.?"?INIT_org

??????*&---------------------------------------------------------------------*

??????*&?Form?IS_ORG

??????*&---------------------------------------------------------------------*

??????*?text

??????*----------------------------------------------------------------------*

??????*?-->FIELD?text

??????*?-->VAR?text

??????*?-->RET?text

??????*----------------------------------------------------------------------*

??????FORM?is_org?USING?field?var?ret.

??????READ?TABLE?orgebenen?WITH?KEY?field?=?field?BINARY?SEARCH.

??????IF?sy-subrc?=?0.

??????ret?=?0.

??????var?=?orgebenen-varbl.

??????ELSE.

??????ret?=?4.

??????CLEAR?var.

??????ENDIF.

??????ENDFORM.?"IS_ORG?

??????*?Text?zu?einer?Variablen?(Orgebene)?liefern

??????FORM?read_org_text?USING?name?LIKE?usvart-varbl

??????text.

??????READ?TABLE?orgtext?WITH?KEY?langu?=?sy-langu?varbl?=?name

??????BINARY?SEARCH.

??????IF?sy-subrc?=?0.

??????text?=?orgtext-vtext.

??????ELSE.

??????READ?TABLE?orgtext?WITH?KEY?langu?=?'D'?varbl?=?name

??????BINARY?SEARCH.

??????IF?sy-subrc?=?0.

??????text?=?orgtext-vtext.

??????ELSE.

??????text?=?name.

??????ENDIF.

??????ENDIF.

??????ENDFORM.?"read_org_text ?

總結(jié)

以上是生活随笔為你收集整理的ABAP-获取用户的组织结构权限的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。