点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, ...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供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异常,但是与其引发任何异常或任何值,不如直接终止它。
BCD_OVERFLOW不是SQL,而是ABAP异常,如果将太大的值分配给type p字段,则会发生这种情况。 可以在此处找到相应的异常类: https://help.sap.com/http.svc/rc/abapdocu_752_index_htm/7.52/zh-CN/index.htm?file=abenueb-abfb-sysexc.htm 。 如果将其包装在旧的Open SQL中,则无法对其进行处理。
因此,您的问题出在FETCH语句的INTO子句的ABAP一侧。 提供正确的目标工作区域,一切都很好。
一周热门 更多>