如何在打开的游标中捕获BCD_OVERFLOW错误?

2020-09-16 04:47发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, ...

         点击此处--->   EasySAP.com群内免费提供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异常,但是与其引发任何异常或任何值,不如直接终止它。