BCD_ZERODIVIDE
runtime error: BCD_ZERODIVIDE
exception: CX_SY_ZERODIVIDE
错误原因: Division by 0 (type P) in program
计算部分代码分母为0
TSV_TNEW_BLOCKS_NO_ROLL_MEMORY
runtime error:TSV_TNEW_BLOCKS_NO_ROLL_MEMORY
exception:
错误原因:No roll storage space of length 3295296 available for internal storage.
通常是查询语句一次性查询太多数据导致内存不足,常见发生问题是使用了for all entries in 语句关联的内表没有判断是否为空,若内表为空会导致查询数据量过大最终内存不足。
CONVT_NO_NUMBER
runtime error:CONVT_NO_NUMBER
exception:CX_SY_CONVERSION_NO_NUMBER
错误原因:Unable to interpret “PI0204G00691” as a number.
通常发生在变量赋值的时候,两个变量数据类型不同,如将char类型赋值给了quan货币类型,当char类型变量值夹杂字母汉字等内容时会产生dump。
SAPSQL_ARRAY_INSERT_DUPREC
runtime error:SAPSQL_ARRAY_INSERT_DUPREC
exception:CX_SY_OPEN_SQL_DB
错误原因:The ABAP/4 Open SQL array insert results in duplicate database records.
新手常犯错误,原因是在insert datebase的时候已有主键相同数据,可以在insert前先查询是否有主键相同数据,如果有则用update。或者用modify datebase,会自动检查是否有相同主键数据,如果没有则insert,如果有则update。或者在insert时用附加条件accepting duplicate keys,会自动检查相同主键数据,如果有不会执行insert动作。