• 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#).

  • 相关阅读:
    项目实战:并发下保证接口的幂等性
    高级架构师_Docker_第1章_第3节Docker容器
    关于深度图与鸟瞰图之间转换的问题
    2个月的时间备考PMP时间够用吗?
    java 两日期相减计算天
    前端用JavaScript实现桑基图(Sankey图)
    Spring-IOC
    WinRT: 可能是 Windows 上最好用的 Native ABI 和远程调用方案
    JOSEF约瑟 HJY-E1A/4D电压继电器 欠电压动作 整定范围10~242V 二转换
    Kafka 认证三:Kerberos 认证中心部署
  • 原文地址:https://blog.csdn.net/jamesxsy/article/details/126053817