栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SAP角色描述-只能在Logon语言中修改问题解决 .

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SAP角色描述-只能在Logon语言中修改问题解决 .

PFCG修改角色时弹出警告:

“You can only maintain role texts if logged on in orignial language KO .”

这个问题是由于当时角色创建在KO(韩语)环境中导致,可以参考Notes: 854311 - SE63: Translation of role texts fails 打上Notes补丁来修正,但只针对未来新产生的角色,历史角色不会被修改。

在这个Notes中有个 Z_ROLE_SET_MASTERLANG 程序,可以使用这个程序来修复已有的角色修改告警.


附Notes相关程序:

*&---------------------------------------------------------------------*
*& Report  Z_ROLE_SET_MASTERLANG                                       *
*&---------------------------------------------------------------------*
*& Resetting the original language of roles                            *
*&---------------------------------------------------------------------*
REPORT z_role_set_masterlang.

TABLES: t002, agr_define.

DATA: gt_agr_define TYPE TABLE OF agr_define,
      gt_agr_flags  TYPE TABLE OF agr_flags,
      gt_lang_old   TYPE TABLE OF agr_flags,
      gt_lang_new   TYPE TABLE OF agr_flags,
      gt_agr_lsd    TYPE TABLE OF agr_lsd.

DATA: gf_upd_flg TYPE char01.

FIELD-SYMBOLS:   TYPE agr_define,
                TYPE agr_flags,
                  TYPE agr_lsd.

SELECt-OPTIONS: agr_name FOR agr_define-agr_name.
PARAMETERS: orig_lan TYPE spras.


* Role and language selection
SELECT * FROM agr_define INTO TABLE gt_agr_define
                         WHERe agr_name IN agr_name.
IF sy-subrc NE 0.
  MESSAGE s244(s#). RETURN.
ENDIF.

SELECt * FROM agr_flags INTO TABLE gt_agr_flags
                        FOR ALL ENTRIES IN gt_agr_define
                        WHERe agr_name  = gt_agr_define-agr_name
                        AND   flag_type = 'MASTER_LAN'
                        ORDER BY PRIMARY KEY.
SELECt * FROM agr_lsd INTO TABLE gt_agr_lsd
                      FOR ALL ENTRIES IN gt_agr_define
                      WHERe agr_name  = gt_agr_define-agr_name
                      ORDER BY PRIMARY KEY.

* Modification of the original language of all selected roles
LOOP AT gt_agr_define ASSIGNING .
  CLEAR: gt_lang_old, gt_lang_new.
* AGR_FLAGS
  READ TABLE gt_agr_flags ASSIGNING
                          WITH KEY agr_name = -agr_name
                          BINARY SEARCH.
  IF sy-subrc NE 0.
    INSERT INITIAL LINE INTO gt_agr_flags ASSIGNING
                                          INDEX sy-tabix.
    -mandt      = sy-mandt.
    -agr_name   = -agr_name.
    -flag_type  = 'MASTER_LAN'.
    -create_usr = sy-uname.
    -create_tim = sy-uzeit.
    -create_dat = sy-datum.
    gf_upd_flg = 'I'.
  ELSE.
    gf_upd_flg = 'U'.
    APPEND TO gt_lang_old.
  ENDIF.
  -change_usr = sy-uname.
  -change_dat = sy-datum.
  -change_tim = sy-uzeit.
  -flag_value = orig_lan.
  APPEND TO gt_lang_new.
  CALL FUNCTION 'PRGN_CHANGEDOCUMENT_WRITE'
    EXPORTING
      activity_group = -agr_name
      upd_agr_flags  = gf_upd_flg
    TABLES
      n_agr_flags    = gt_lang_new
      o_agr_flags    = gt_lang_old.
* AGR_LSD
  READ TABLE gt_agr_lsd ASSIGNING
                        WITH KEY agr_name = -agr_name
                        BINARY SEARCH.
  IF sy-subrc NE 0.
    INSERT INITIAL LINE INTO gt_agr_lsd ASSIGNING INDEX sy-tabix.
    -mandt    = sy-mandt.
    -agr_name = -agr_name.
  ENDIF.
  -langu = orig_lan.
ENDLOOP.
* Database updates
MODIFY agr_flags FROM TABLE gt_agr_flags.
MODIFY agr_lsd   FROM TABLE gt_agr_lsd.
MESSAGE s230(s#).

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1031736.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号