SELECT * FROM v623fse/cicl01 WHERE
SUBSTR(RTRIM(ICPROD),CHARACTER_LENGTH(RTRIM(ICPROD)),1) = 'L'
Selection error involving field ICPROD.
Additional Message Information
Message ID . . . . . . : QRY2283
Message . . . . : Selection error involving field ICPROD.
Cause . . . . . : The query did not run because of a comparison operand
involving data from field ICPROD (in record 5626 of file CIC in V623FSE if
other than *N). The ICPROD data is not necessarily incorrect, since the
operand could be an expression involving other fields and constants as well
as ICPROD, or it could require some sort of conversion that could not be
performed successfully.
To determine the specific cause of this problem, and to see if additional
problems have been encountered in processing other fields or records, use
the Display Job Log (DSPJOBLOG) command or press F10=Display messages in job
log.
Recovery . . . :
If the problem occurred running a saved query definition, make sure the
query is using the latest file information. If a selected file could have
been deleted and created as a new file after the query was saved, use the
WRKQRY command to change and save the query, then run the query again, or
use the record selection option of the RUNQRY command.
If the problem occurs using the latest file information, correct the data,
remove the selection test that keeps the query from running, redefine
selection tests in such a way that the test causing the problem never has to
be used for the records from which the incorrect data would come, or use a
processing option that causes the incorrect data to be tolerated.
Some examples:
-- If ICPROD is a field in file CIC in V623FSE and the value in record
5626 is displayed or printed as a string of plus (+) characters for the default query for the specified member, ask the owner of the file to correct
the data. Or, if the field is a numeric field and you are using Query/400
and want to ignore decimal data errors, go to the Specify Processing Options
display and type Y in the Ignore decimal data errors prompt. Then run the
query again.
-- If the problem is diagnosed for *N or some unfamiliar name, look for a
field that is displayed or printed as a string of plus (+) characters in
some records when the test in which it is used is removed. Display the
messages in the job log for information that might help you correct the
problem without removing the selection test. If there is no additional
information, make an additional change to select the field for sorting
records and try again.
wws75111 回复于:2002-12-31 12:19:59 |
先看一下该纪录是否有什么特别的地方(就是与起他纪录不同)? |
greenxiong 回复于:2002-12-31 12:29:57 |
我用18看了一下,发现除少数几个字段外,其余都是空值,包括键字段。 删除后就好了。 多谢wws75111 |
charlielou 回复于:2003-01-01 00:56:25 |
可能是你的这个记录的关键字在写入时写进去的是这样的值 *loval写进了字符型的字段。或者有溢出。 |
QSECADM 回复于:2003-01-08 21:55:20 |
用DSPPFM来查询数据的内容 用功能键切换查看十六制码 看是不是有问题 |
greenxiong 回复于:2003-01-09 10:06:17 |
好,5分。 那么用什么可以根据记录号来删除记录呢? |
wws75111 回复于:2003-01-09 18:45:02 |
用rrn(file)函数来定位纪录。 |
QSECADM 回复于:2003-01-09 21:00:49 |
在RPG中的F表为这个文件定义文件信息数据结构 FFILE UF E DISK InfDs(FileDs) 再定义FileDs D FileDs Ds D FileRrn 397 400I 0 用需要的记录号去CHAIN该文件 就可以删除了 |
snowbird 回复于:2003-01-10 20:07:50 |
偶问 RTRIM(field) 是什么函数? 偶从那里可以查相关材料? 汗。。。 |
snowbird 回复于:2003-01-10 20:19:26 |
用功能键切换查看十六制码 如果有问题的话是什么状况? |
QSECADM 回复于:2003-01-10 21:59:07 |
你应该知道每个字段的值的内容 如果相应位置的十六制数据与字段内容不匹配 自然无法用SQL查看 比如字符型字段,你看到的十六制数据是0000应该就不正确. |
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/