WDA 程序文本翻译OTR
Posted ^ω^SAp傻X^o^
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WDA 程序文本翻译OTR相关的知识,希望对你有一定的参考价值。
1.针对直接使用表字段,数据元素的情况:
1.1修改数据元素对应的语言值:DD04T。
1.2模拟SE63插入翻译条目:LXE_LOG
1.3运行时文件翻译条目:DDFTX
*&---------------------------------------------------------------------* *& Report ZHSICRM_TEXTMD *& *&---------------------------------------------------------------------* *& *&批量维护数据元素文本,保证使用数据元素文本的屏幕位置能正常显示多语言 *&李渊 20170113 创建 *&上传文件以表DD04T为结构字段 *&---------------------------------------------------------------------* REPORT ZHSICRM_TEXTMD. TABLES:DD04T,LXE_LOG,DDFTX. DATA:GT_DD04T TYPE TABLE OF DD04T, GW_DD04T LIKE LINE OF GT_DD04T, GS_DD04T LIKE LINE OF GT_DD04T,"数据元素多语言描述 GT_LXE_LOG TYPE TABLE OF LXE_LOG, GW_LXE_LOG LIKE LINE OF GT_LXE_LOG, GS_LXE_LOG LIKE LINE OF GT_LXE_LOG, GT_DDFTX TYPE TABLE OF DDFTX, GW_DDFTX LIKE LINE OF GT_DDFTX, GS_DDFTX LIKE LINE OF GT_DDFTX. SELECTION-SCREEN:BEGIN OF BLOCK BLK01 WITH FRAME TITLE TEXT-001. PARAMETERS:P_TBMA TYPE CRMTABLES-TABNAME NO-DISPLAY, "RSRD1-TBMA_VAL, P_FILE LIKE RLGRAP-FILENAME. SELECTION-SCREEN END OF BLOCK BLK01. *SELECTION-SCREEN FUNCTION KEY 1. AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE. PERFORM FRM_GET_FILEPATH. START-OF-SELECTION. CHECK P_FILE IS NOT INITIAL. PERFORM PRM_UPLOAD_EXCEL. PERFORM PRM_UPDATE_TABLE. *&---------------------------------------------------------------------* *& Form FRM_GET_FILEPATH *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM FRM_GET_FILEPATH . CALL FUNCTION \'WS_FILENAME_GET\' EXPORTING MASK = \',Excel(*.xls),*.XLS,*.XLSX,\' TITLE = \'选择文件\'(100) IMPORTING FILENAME = P_FILE EXCEPTIONS INV_WINSYS = 1 NO_BATCH = 2 SELECTION_CANCEL = 3 SELECTION_ERROR = 4 OTHERS = 5. IF SY-SUBRC <> 0. " MESSAGE e100(zdev) WITH \'选择文件出错!\'(007). ENDIF. ENDFORM. *&---------------------------------------------------------------------* *& Form PRM_UPLOAD_EXCEL *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM PRM_UPLOAD_EXCEL . IF P_FILE IS NOT INITIAL. *将excel数据传入内表 CALL FUNCTION \'ZALSM_EXCEL_TO_INTERNAL_TABLE\' EXPORTING FILENAME = P_FILE I_BEGIN_COL = \'1\' I_BEGIN_ROW = \'2\' I_END_COL = \'300\' I_END_ROW = \'50000\' TABLES INTERN = GT_DD04T. ENDIF. ENDFORM. *&---------------------------------------------------------------------* *& Form PRM_UPDATE_TABLE *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM PRM_UPDATE_TABLE . CHECK GT_DD04T[] IS NOT INITIAL. LOOP AT GT_DD04T INTO GW_DD04T. GS_LXE_LOG-CUSTMNR = \'999999\'. CASE GW_DD04T-DDLANGUAGE. WHEN \'E\'. GS_LXE_LOG-TARGLNG = \'enUS\'. * WHEN \'1\'. * GS_LXE_LOG-TARGLNG = \'enUS\'. WHEN \'I\'. GS_LXE_LOG-TARGLNG = \'itIT\'. WHEN \'D\'. GS_LXE_LOG-TARGLNG = \'deDE\'. WHEN \'S\'. GS_LXE_LOG-TARGLNG = \'esES\'. WHEN \'J\'. GS_LXE_LOG-TARGLNG = \'jaJP\'. WHEN OTHERS. CONTINUE. ENDCASE. GS_LXE_LOG-OBJTYPE = \'DTEL\'. GS_LXE_LOG-OBJNAME = GW_DD04T-ROLLNAME. GS_LXE_LOG-UNAME = SY-UNAME. GS_LXE_LOG-UDATE = SY-DATUM. GS_LXE_LOG-UTIME = SY-UZEIT. APPEND GS_LXE_LOG TO GT_LXE_LOG. SELECT SINGLE * INTO GS_DDFTX FROM DDFTX WHERE TABNAME = GW_DD04T-ROLLNAME AND DDLANGUAGE = \'E\' AND ROLLNAME = GW_DD04T-ROLLNAME. IF SY-SUBRC = 0. GS_DDFTX-DDLANGUAGE = GW_DD04T-DDLANGUAGE. GS_DDFTX-SCRTEXT_S = GW_DD04T-SCRTEXT_S. GS_DDFTX-SCRTEXT_M = GW_DD04T-SCRTEXT_S. GS_DDFTX-SCRTEXT_L = GW_DD04T-SCRTEXT_S. GS_DDFTX-REPTEXT = GW_DD04T-REPTEXT. GS_DDFTX-FIELDTEXT = GW_DD04T-DDTEXT. APPEND GS_DDFTX TO GT_DDFTX. ENDIF. ENDLOOP. MODIFY DD04T FROM TABLE GT_DD04T. MODIFY LXE_LOG FROM TABLE GT_LXE_LOG. IF GT_DDFTX[] IS NOT INITIAL. MODIFY DDFTX FROM TABLE GT_DDFTX. ENDIF. IF SY-SUBRC = 0. MESSAGE \'导入成功\' TYPE \'S\'. ELSE. MESSAGE \'导入失败\' TYPE \'S\' DISPLAY LIKE \'E\'. EXIT. ENDIF. ENDFORM.
2.WDA程序中用TEXT写死的值
2.1SOTR_EDIT
可获取单个的文本和KEY值。
2.2重新进入维护修改值。
可参考修改SOTR_TEXT
3.定义全局的文本,并翻译
使用SOTR_EDIT ,创建文本对象,记录别名,维护对应语言的文本
在使用的地方,直接调用
lv_title = cl_wd_utilities=>get_otr_text_by_alias( \'ZWDA/LABEL_TEST\' ).
以上是关于WDA 程序文本翻译OTR的主要内容,如果未能解决你的问题,请参考以下文章