使用 ABAP 代码获得 SAP 系统支持的所有 language 列表

简介: 使用 ABAP 代码获得 SAP 系统支持的所有 language 列表
*&---------------------------------------------------------------------*
*& Report  ZNOTE_LANGUAGE_TEST
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT znote_language_test.
DATA: ls_t002  TYPE t002,
      ls_t002t TYPE t002t,
      lv_langs TYPE scplangs,
      lv_langu TYPE spras,
      lt_ddlb  TYPE bsp_wd_dropdown_table,
      ls_ddlb  TYPE bsp_wd_dropdown_line,
      lt_lng   TYPE STANDARD TABLE OF t002,
      lt_lngt  TYPE STANDARD TABLE OF t002t.
***************************************************************************************************
SET LOCALE LANGUAGE 'D'.
WRITE: / sy-subrc.
SELECT * FROM t002 INTO TABLE lt_lng.
SELECT * FROM t002t INTO TABLE lt_lngt WHERE spras = sy-langu.
CALL FUNCTION 'SCP_LANGUAGES_IN_INSTANCE_CP'
  IMPORTING
    languages = lv_langs.
DO VARYING lv_langu FROM lv_langs(1) NEXT lv_langs+1(1) RANGE lv_langs.
  IF lv_langu IS INITIAL.
    EXIT.
  ENDIF.
  READ TABLE lt_lng INTO ls_t002 WITH  KEY spras = lv_langu.
  IF sy-subrc IS INITIAL.
    ls_ddlb-key = ls_t002-laiso.
    READ TABLE lt_lngt INTO ls_t002t
         WITH KEY sprsl = lv_langu.
    IF sy-subrc IS INITIAL.
      ls_ddlb-value = ls_t002t-sptxt.
      APPEND ls_ddlb TO lt_ddlb.
    ENDIF.
  ENDIF.
ENDDO.
SORT lt_ddlb BY value ASCENDING.
READ TABLE lt_ddlb WITH KEY value = sy-langu TRANSPORTING NO FIELDS.
WRITE: / sy-subrc.
BREAK-POINT.


该 ABAP 程序的作用是检索并显示系统中可用的语言列表,其中:


在程序开始处定义了一些数据对象,如 ls_t002(T002 数据表的结构),lv_langs(系统中可用语言的列表)和 lt_ddlb(一个下拉列表的表)。

使用 SET LOCALE 语句将系统语言设置为德语。

从 t002 数据表中选择所有可用的语言,并将其存储在 lt_lng 标准表中。

使用 SELECT 语句从 t002t 数据表中选择特定语言的名称,并将其存储在 lt_lngt 标准表中。

使用 SCP_LANGUAGES_IN_INSTANCE_CP 函数检索系统中可用的语言,并将其存储在 lv_langs 变量中。

对 lv_langs 变量进行循环处理,并在 lt_lng 标准表中查找相应的语言条目。

如果找到了匹配的语言,则将其语言代码和名称添加到 lt_ddlb 中。

对 lt_ddlb 标准表按名称排序。

使用 READ TABLE 语句在 lt_ddlb 中查找当前系统语言,并将结果存储在 sy-subrc 变量中。

使用 WRITE 语句输出 sy-subrc 变量的值。

在 BREAK-POINT 陈述之后,程序会停止执行。

相关文章
|
7月前
|
存储
使用 ABAP 代码获得 SAP 系统支持的所有 language 列表
使用 ABAP 代码获得 SAP 系统支持的所有 language 列表
31 0
|
2天前
|
开发者 数据库
使用 SAP ABAP 代码下载一个 note 到本地 ABAP 系统
使用 SAP ABAP 代码下载一个 note 到本地 ABAP 系统
13 0
|
7月前
|
IDE 开发工具 C++
想在 Visual Studio Code 里进行 ABAP 开发,需要安装的扩展列表
想在 Visual Studio Code 里进行 ABAP 开发,需要安装的扩展列表
53 0
|
7月前
|
BI API
浅谈 SAP ABAP 系统里的 ALV 输出方式实现
由于国情原因,ABAP ALV相关的报表开发在国内众多SAP技术交流群里永远都是一个热门话题。 最近Jerry和朋友的技术交流群里,郭爷向大家介绍了ALV Integrated Data Access,能够轻松实现以ALV格式展示CDS view的数据。
89 0
|
8月前
|
JSON 数据库 数据格式
SAP ABAP OData 服务如何支持创建(Create)操作试读版
SAP ABAP OData 服务如何支持创建(Create)操作试读版
56 1
|
8月前
|
存储 数据库
SAP ABAP OData 服务如何支持删除(Delete)操作试读版
SAP ABAP OData 服务如何支持删除(Delete)操作试读版
70 2
|
8月前
|
Web App开发 测试技术 开发者
如何修改 SAP ABAP OData 模型,使其支持 $expand 操作试读版
如何修改 SAP ABAP OData 模型,使其支持 $expand 操作试读版
56 1
|
8月前
|
SQL 缓存 监控
ABAP Code Inspector 的一些高级功能分享
ABAP Code Inspector 的一些高级功能分享
79 0
|
SQL 缓存 安全
ABAP Code Inspector 的一些高级功能分享(一)
ABAP Code Inspector 是每一位 ABAP 开发人员工具箱里必备的代码检测工具之一。使用 ABAP Code Inspector 自带的标准检查项,可以帮助开发人员快速检测 ABAP 代码中潜在的缺陷,提高代码质量,改善代码运行性能。
215 0
ABAP Code Inspector 的一些高级功能分享(一)
|
SQL 监控 BI
ABAP Code Inspector 的一些高级功能分享(二)
ABAP Code Inspector 是每一位 ABAP 开发人员工具箱里必备的代码检测工具之一。使用 ABAP Code Inspector 自带的标准检查项,可以帮助开发人员快速检测 ABAP 代码中潜在的缺陷,提高代码质量,改善代码运行性能。
125 0
ABAP Code Inspector 的一些高级功能分享(二)