1. 问题

  • 创建Kue字段在日语(JA)环境,Customer Filed And Logic上显示为日语,但是自动创建的对象创建语言显示为英文(EN)
  • 产生差异原因:创建KUE字段时使用日文环境(JA),但是发布字段的时候使用了英文环境(EN)登录Customer Filed And Logic

2. 解决方法

  • 使用函数 SDU_LANGUAGE_PUT 修改开发对象的Master Language
  • 示例代码:
"查询出目前语言为EN的开发对象,并修改为JA
SELECT * FROM
  tadir AS a
  INTO TABLE @DATA(lt_table)
  WHERE masterlang EQ 'E' AND
  object = 'DDLS' AND
  obj_name LIKE 'ZZ1_TIME_CODE_V'.

LOOP AT lt_table ASSIGNING FIELD-SYMBOL(<ls_table>).
  CALL FUNCTION 'SDU_LANGUAGE_PUT'
    EXPORTING
      obj_type       = <ls_table>-object
      obj_name       = <ls_table>-obj_name
      masterlanguage = 'J'
    EXCEPTIONS
      tadir_fault    = 1
      OTHERS         = 2.
ENDLOOP.

3. 效果

  • 开发对象 DDLS ZZ1_TIME_CODE_V 当前语言EN
  • 执行修改功能后,Master Language变更为JA
  • SE11查看对象,言语成功切换