SELECT SINGLE期间具有最大长度的STRING表列的系统核心转储信号11

2020-08-30 04:47发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我刚刚在系统中遇到了内核错误,我...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我刚刚在系统中遇到了内核错误,我花了一些时间才找出罪魁祸首。 也许将来会对某人有帮助...

此系统核心转储发生在我的程序中非常简单的SELECT SINGLE期间(我之所以表示SINGLE,是因为SELECT进入内部表没有问题...)

诊断:工作流程在大约5分钟内挂起,以生成核心转储。 在SM21中,有一条消息Q0E"操作系统接收到信号11"(SigIGensignal sigux.c 1869)。 也有一个短暂的转储SYSTEM_CORE_DUMPED。 在开发人员跟踪中,有一个对我来说不是很有趣的错误消息。 在SAP注释中找不到任何内容。 我的数据库系统:HDB 2.00.024.01.1523431117 SQLDBC 2.03.078.1521836270 DBSL 753.02补丁程序级别300.我的SAP内核:753 Linux GNU SLES-11 x86_64 cc4.8.5 use-pr181009 4.4.180-94.103-默认补丁程序级别300 MODE opt。 我的ABAP版本:SAP_BASIS 752 SP00,SAP_ABA 75C SP00。

请在下面的答案中查看原因和解决方案。

1条回答
大简至美
2020-08-30 04:58 .采纳回答

核心转储的原因:不幸的是,相关表的列类型为STRING,但最大长度为256。在读取长度大于256个字符的行时,该表在SELECT SINGLE中转储(插入的长度大于256个字符 精细)。 我不知道为什么,但是如果您通过Eclipse ADT编辑器(2019-06)创建一个域,则在选择类型STRING时会建议默认长度为256。 因此,请谨慎使用此字段。 输入0表示没有限制。 中详细说明了STRING和RAWSTRING的最大长度的含义。 解决方案:为STRING类型的域(或直接根据您的情况直接输入数据元素或列)输入最大长度0。 当我进行表转换时,也有一个系统核心转储。 因此,我不得不将表备份到另一个表中,然后删除数据库表,然后激活所有内容,然后还原该表。

现在很好。

干杯。/p>