繁体   English   中英

CHAR_HEX_CONVERSION 导致 ABAP 转储

[英]CHAR_HEX_CONVERSION results in ABAP dump

我需要将一个字符(具体是char20 )转换为一个十六进制值。 我想出了以下内容:

CALL FUNCTION 'CHAR_HEX_CONVERSION'
  EXPORTING
    input     = character
  IMPORTING
    hexstring = character_hex.

但是,在执行此操作时,我总是会遇到运行时错误。

我究竟做错了什么?

我刚刚测试了CHAR_HEX_CONVERSION并且我得到了我认为相同的转储:

对于语句“WRITE src TO dest”,参数位置“dest”仅支持扁平的字符类型数据对象。

在这种情况下,操作数“dest”具有非字符类型或非平面类型“X”。 当前程序是Unicode 程序。 在 Unicode 上下文中,类型“X”或不仅包含字符类型组件的结构被视为非字符类型。

我认为是使用X类型导致了转储。 我还没有找到另一个可以进行转换的已发布功能模块(手动编码很容易,但我很懒!),但我可以建议使用以下功能模块: CRM_EI_KB_CONV_DEC_TO_HEX 尽管名称,它在 ECC 6.0 系统中可用,并且应该可以满足您的需求。

将传入值传递给字段符号时会发生转储,该字段符号指的是导出参数。 在代码中,它是一个赋值语句,后面添加了类型“X”,我通常不推荐这种方式。

我还对这个模块和它的功能组进行了 used-where 检查,它似乎没有被调用,至少没有被直接调用。 很可能,整个功能组从未发布。

您可以尝试改用SCMS功能模块 - 它们还负责代码页转换。 尝试SCMS_TEXT_TO_BINSCMS_STRING_TO_XSTRING

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM