分配给主变量时如何截断 DB2 列数据的捕获
在某些情况下,不使用DCLGEN成员并且主变量声明在工作存储部分中明确完成。但是,由于这些明确的声明,可能会出现人为错误。此类错误之一是声明COBOL等效主变量的数据长度不正确。
例如,宿主变量应该被声明为PICX(24),但它被错误地声明为PICX(14)。在这种情况下,当数据从DB2传输到COBOL程序时,由于接收主变量的长度较短,列数据可能会被截断。
我们可以使用SQLCA的SQLWARN1字段来检测这种情况。SQLWARN1是1字节字段,如果在数据传输时有任何截断,则包含值“W”。我们可以如下使用这个字段。
A010-CHECK-ORDER. EXEC SQL SELECT ORDER_DATE INTO :ORDER-DATE, FROM ORDERS WHERE ORDER_ID = :ORDER-ID END-EXEC EVALUATE SQLWARN1 WHEN ‘W’ DISPLAY ‘THE ORDER DATE WAS TRUNCATED’ WHEN OTHER DISPLAY ‘ORDER DATE IS ‘ ORDER-DATE
热门推荐
10 新年门口花束祝福语简短
11 盘锦结婚祝福语大全简短
12 父母生日祝福语 简短独特
13 家庭恩爱祝福语简短英文
14 高考俄语祝福语大全简短
15 虎年祝福语 诗句唯美简短
16 生日婚礼祝福语简短精辟
17 虎年喝酒拜年祝福语简短
18 教师闺蜜祝福语简短