点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我正在尝试执行以下过滤查询:
带保持键c1的打开光标 供选择(COL_STR) 来自(JOIN_STR) 多达行数 地点(WHERESTR) GROUP BY(GROUPSTR) 拥有(HAVESTR) ORDER BY(ORDERSTR)。 做。 将下一个游标c1捕获到表包大小PKGSIZE中。 如果sy-subrc <> 0。 关闭光标c1。 出口。 其他。 使用PROCESS_STATUS执行PROCESS_DATA。 如果PROCESS_STATUS NE为0。 返回。 万一。 万一。 ENDDO。
在" WHERESTR"中,我的zint8 ='9223372036854775808'。
并且字段zint8是INT8类型,在这里我知道INT8可以具有最大值,如922337203685477575807。在这种情况下,我想抛出一些边界值异常。 但是在这种情况下,我的程序没有抛出任何异常或任何值,而是直接终止。 在这里,我知道它应该引发BCD_OVERFLOW异常,但是与其引发任何异常或任何值,不如直接终止它。
尝试通过在变量和逗号分隔列表前面使用@来强制执行新的SQL解析器。 新的解析器将检查更严格,您可能会得到异常。
"旧开放SQL"和"严格开放SQL"语句均生成可捕获的CX_SY_SQL_ERROR,其中SQLCODE = 10811-和SQLMSG ="参数/列的数字溢出(1)源类型DECIMAL,目标类型DECIMAL,值"未知" "
因此,似乎它也取决于数据库。
是的,我也尝试调试。
一周热门 更多>