具有多个返回段的 JD Edwards 计算表的错误返回值是多少?

具有多个返回段的 JD Edwards 计算表的错误返回值是多少?

我们正在尝试使用返回多个段的计算表在 JD Edwards EnterpriseOne 9.1 中实施程序集包含规则。当表中有输入段的有效条目时,它似乎工作正常,但当给出无效输入时,返回段似乎为空白,而不是正常的错误字符。

在大多数情况下这没问题,但如果我想在跨段编辑规则中使用此返回值来检测错误,它不会响应将其与 *BLANK 进行比较。

例子:

  • 我有一张表,使用 3 个输入和 2 个输出。
  • 其中一个输出是颜色,并被放入计算段中。
  • 如果输入有效,则会在表中找到它们,并且我们可以使用计算出的颜色段来创建智能部分。
  • 如果输入无效,我想向用户显示一条错误消息。以前,我们会在跨段编辑规则中使用返回值 1(错误)。现在它是空白的,我该如何测试它?

答案1

返回值实际上是空白,或者更好的是,“不要改变原来的东西”。

这类似于部件或路由表,其中返回多个部件或路由步骤。如果输入段中没有匹配项,则不会返回任何内容。

对于计算表,这可能是一个问题,因为没有办法检测错误。除非……您先自己设置错误标志。

回到问题中的例子,假设三个输入段为 S1、S2 和 S3,假设输出段为 S101 和 S102。计算表的名称为 C.0001。

最简单的方法是将配置项设为一次性项。此方法可立即生效,但这是一个弃用的功能,因此我们将尝试使用静态计算。

我们希望在某个输入段发生变化时触发规则,并在调用计算表之前将输出段设置为“错误”。我们通过将输入段与它们永远不会获得的值进行比较来测试输入段,甚至是 *BLANK(似乎只要它们出现在测试中,这种方法就有效)。

因此,下面是我们用来实现这一切的 C 规则:

I ( S1   NE 'XYZ'
O   S2   NE 'XYZ'
O   S3   NE *BLANK )
*   S101 EQ 1
*   S102 EQ 2
*              C.0001

在我们测试的所有情况下,这种方法似乎都有效。如果在哪些情况下这种方法无效,或者您知道更好的方法,请告诉我!

相关内容