Cobol 不进入 if,尽管条件为真

Cobol not entering if, although condition is true

我正在开发部署在 HP Nonstop 上的 Cobol 应用程序。在平台上调试遇到如下情况:

IF LABELED-VALUE OF IN-VARIABLE-1 OF PARENT-1 OF GRAND-PARENT THEN
  MOVE IN-VARIABLE-2 OF PARENT-2 OF GRAND-PARENT TO OUT-VARIABLE
ELSE
  MOVE IN-VARIABLE-1 OF PARENT-1 OF GRAND-PARENT TO OUT-VARIABLE
END-IF

字段定义如下:

01 GRAND-PARENT
  03 PARENT-1.
    05 IN-VARIABLE-1                  PIC 9(3).
      88 LABELED-VALUE                VALUE 000.
  03 PARENT-2.
    05 IN-VARIABLE-2                  PIC 9(3).
    
01 OUT-VARIABLE                       PIC 9(3).

当我计算表达式 LABELED-VALUE OF IN-VARIABLE-1 OF PARENT OF GRAND-PARENT 时,我的调试器告诉我表达式是 TRUEIN-VARIABLE-1 OF PARENT OF GRAND-PARENT 的值为 0。因此 OUT-VARIABLE 应该具有相应的值。但这种情况并非如此;它始终具有值 IN-VARIABLE-1,并且逻辑始终输入 ELSE
这里可以看到我的调试器执行完代码后的情况:

到目前为止我尝试了什么:

我不是 Cobol 专家,虽然我认为一个简单的 IF 可以管理,但无济于事。有人可以帮帮我吗?

更新:
在我的调试器中,我可以编辑字段的值。如果我在 if 之前用 0000 再次覆盖 IN-VARIABLE-1 OF PARENT-1 OF GRAND-PARENT 的现有值 000,则代码可以正常工作。 WTF?

问题实际上是关于如何初始化 IN-VARIABLE-1 OF PARENT-1 OF GRAND-PARENT 的。在我的例子中,它很可能是未初始化的。在这种情况下,可以通过这种方式解决问题:

IF LABELED-VALUE OF IN-VARIABLE-1 OF PARENT-1 OF GRAND-PARENT OR
   IN-VARIABLE-1 OF PARENT-1 OF GRAND-PARENT EQUAL LOW-VALUES
THEN
  MOVE IN-VARIABLE-2 OF PARENT-2 OF GRAND-PARENT TO OUT-VARIABLE
ELSE
  MOVE IN-VARIABLE-1 OF PARENT-1 OF GRAND-PARENT TO OUT-VARIABLE
END-IF