如何在 AMDP 中 return CHAR30?

How to return CHAR30 in AMDP?

我尝试创建一个 AMDP 方法,该方法 return 在 ABAP 端是 SNWD_COMPANY_NAME 的单个字段。文档说只有 table 类型 基本类型 可以 returned。

SNWD_COMPANY_NAME不是初等的,是CHAR 80,但是我不想return整个SNWD_BPA的19个字段,初等类型C 的长度只有 1.

如何 return table 的单行、单字段?

能否请您检查以下 AMDP 代码?

class zcl_kodyaz_amdp_test definition

  public
  final
  create public .

  public section.

  INTERFACES if_amdp_marker_hdb.

class-methods read_company_name
    importing value(node_key) type SNWD_NODE_KEY
    exporting value(company_name) type SNWD_COMPANY_NAME
      raising   cx_amdp_error.

  protected section.
  private section.
endclass.

class zcl_ey_amdp_test implementation.

  method read_company_name
    by database procedure
    for hdb language sqlscript
    options read-only
    using SNWD_BPA.

select COMPANY_NAME into "COMPANY_NAME" from SNWD_BPA where NODE_KEY = :node_key;

  endmethod.

endclass.