使用Jagacy jar自动执行大型机应用程序时,收到错误消息,指出“ KDB16104I应用程序尚未定义到CICS”

问题描述 投票:0回答:1

我是大型机自动化的新手,正在尝试使用Jagacy jar和Java使应用程序自动化。在一个特定的屏幕上,我必须输入一个介于0到9之间的数字,此后,我将使用由jagacy提供的writePosition函数在屏幕上输入值。但是问题是,它仅将String值作为参数。当我尝试输入数字6作为字符串时,它给出了一条错误消息,指出KDB16104I Application has not been defined to CICS

我不知道什么是CICS,并且在Google上没有多少关于此错误的信息。任何帮助,将不胜感激。

public void writePosition(final int i, final int j, final String s) 
throws JagacyException {
    if (i < 0 || i >= this.getHeight()) {
        throw new IllegalArgumentException("Invalid row: " + i);
    }
    if (j < 0 || j >= this.getWidth()) {
        throw new IllegalArgumentException("Invalid column: " + j);
    }
    this.writeCursor(i, j);
    this.writeString(s);
}

Error message: "KDB16104I Application has not been defined to CICS"

java automation mainframe
1个回答
0
投票

您或者没有正确地驱动目标应用程序环境,或者目标驱动器环境不愿意以您试图驱动它的方式来驱动。就这么简单。从概念上讲,解决方案也很简单:当您认为提供正确的输入而没有得到期望的响应时,请执行标准的故障排除过程。

您可以放心地假设通信路径在基本级别上正常工作。该错误消息是从大型机返回的,实际上是在说:“我不会按照您的要求去做。”我现在尝试使用完全相同的连接详细信息和凭据(用户ID,密码)登录(使用用户操作的终端仿真器),然后查看该选项6是否有效。如果不是这样,那么它也无法通过终端自动化来工作。如果确实有效,请尝试在该字段中输入另一个数字以查看其是否也有效。如果其他数字有效-假设它是数字3-那么请在自动化中尝试3。如果3在您的自动化系统中不起作用,则Jagacy自动化系统中有问题,例如代码页设置,PS位置(行,列-通常PS位置值将从1开始,而不是从0开始),3270模型类型(标准模型是2到5,这将影响大型机将显示的列数和行数),可能是您配置了TN3270E而不是TN3270(“ E”几乎总是您想要的)还是其他方式。您可能还想尝试在输入数字6之前插入一些等待时间(暂停),然后如果有问题,您还有更多工作要做以解决该问题。

顺便说一下,我对终端驱动的自动化并不热心。是的,这是一门实践已久的艺术,但在我看来,它经常被实践。你想达到什么目的?由于这是您要与之交互(或尝试与之交互)的CICS,因此CICS本身提供了除基于终端的交互之外的许多其他交互选择。

© www.soinside.com 2019 - 2024. All rights reserved.