在 INSPECT 子句中使用变量

发布于 2024-12-23 03:33:29 字数 376 浏览 3 评论 0原文

我正在尝试使用 INSPECT 子句来查看名称 (PIC X) 是否包含某个子字符串。

当我使用

INSPECT NAME TALLYING COUNTER FOR ALL "lee"

该程序按预期工作时,

当我用变量替换“lee”时,该命令找不到任何内容。

...
WORKING-STORAGE SECTION.
   01  ZOEKTERM   PIC X(40).
...
MOVE "lee" TO ZOEKTERM
INSPECT NAAM TALLYING COUNTER FOR ALL ZOEKTERM

谁能解释为什么会发生这种情况以及我能做些什么?

I'm trying to use the INSPECT clause to see if a name (PIC X) contains a certain substring.

When I use

INSPECT NAME TALLYING COUNTER FOR ALL "lee"

The program works as expected,

When I replace the "lee" with a variable the command doesn't find anything.

...
WORKING-STORAGE SECTION.
   01  ZOEKTERM   PIC X(40).
...
MOVE "lee" TO ZOEKTERM
INSPECT NAAM TALLYING COUNTER FOR ALL ZOEKTERM

Can anyone explain why this is happening and what I can do about it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

酒绊 2024-12-30 03:33:29

解决方法是明确指定长度。

...
WORKING-STORAGE SECTION.
   01  ZOEKTERM   PIC X(40).
   01  ZOEKTERM-LEN PIC S9(4) COMP.
...
MOVE "lee" TO ZOEKTERM
MOVE 3 TO ZOEKTERM-LEN 
INSPECT NAAM TALLYING COUNTER FOR ALL ZOEKTERM(1:ZOEKTERM-LEN)

The fix is to explictly specify the length.

...
WORKING-STORAGE SECTION.
   01  ZOEKTERM   PIC X(40).
   01  ZOEKTERM-LEN PIC S9(4) COMP.
...
MOVE "lee" TO ZOEKTERM
MOVE 3 TO ZOEKTERM-LEN 
INSPECT NAAM TALLYING COUNTER FOR ALL ZOEKTERM(1:ZOEKTERM-LEN)
笛声青案梦长安 2024-12-30 03:33:29

文字“lee”的长度为 3 个字符,而 ZOEKTERM 的长度为 40 个字符。

这会影响它们可以匹配的子字符串。

The literal 'lee' is three characters long, while the ZOEKTERM is 40 characters long.

That affects the substrings they can match.

画骨成沙 2024-12-30 03:33:29

博·佩尔森是正确的。如果您阅读了 中的“比较周期”文档,你会看到

第一个比较数与检查项中相同数量的最左侧连续字符位置进行比较。仅当两个字符逐个字符相等时,比较数才与检查的字符匹配。

Bo Persson is correct. If you read the "Comparison cycle" in the documentation, you will see

The first comparand is compared with an equal number of leftmost contiguous character positions in the inspected item. The comparand matches the inspected characters only if both are equal, character-for-character.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文