Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ibm midrange 是否可以使用外部指示器激活显示文件中的显示属性?_Ibm Midrange_Indicator - Fatal编程技术网

Ibm midrange 是否可以使用外部指示器激活显示文件中的显示属性?

Ibm midrange 是否可以使用外部指示器激活显示文件中的显示属性?,ibm-midrange,indicator,Ibm Midrange,Indicator,我目前正在修改一个现有的RPG程序。目的是设置指示器,以便该指示器将激活显示文件中的显示属性ND以隐藏字段。问题是01~99中的所有通用指示符都已用完,我无法在不干扰现有程序流的情况下重用它们中的任何一个。是否可以改用外部指示器U1~U8?如果不可能,还有其他选择吗?还是我刚刚被搞砸了?考虑使用程序到系统字段而不是指示器 另一种可能是通过DDS关键字INDARA将所有显示文件指示器外部化检查每个指示器01-99的使用情况,以确定是否可以将其释放以用于dislay文件 如果其中任何一个仅用于控制程

我目前正在修改一个现有的RPG程序。目的是设置指示器,以便该指示器将激活显示文件中的显示属性ND以隐藏字段。问题是01~99中的所有通用指示符都已用完,我无法在不干扰现有程序流的情况下重用它们中的任何一个。是否可以改用外部指示器U1~U8?如果不可能,还有其他选择吗?还是我刚刚被搞砸了?

考虑使用程序到系统字段而不是指示器


另一种可能是通过DDS关键字INDARA将所有显示文件指示器外部化检查每个指示器01-99的使用情况,以确定是否可以将其释放以用于dislay文件

如果其中任何一个仅用于控制程序流,而不直接涉及显示文件、打印文件、I规格或O规格,则可以使用指示符类型变量替代其使用。将内部数据类型为N(D-spec的位置40)的变量声明为字符指示符格式字段。使用此变量代替仅用于程序流控制的指示器

如果没有这样的指标,那么您可能应该使用Buck推荐的方法之一


作为一种旧式的替代方案,您可以将整个指示器阵列*保存到保留区,暂时重新使用一些I/O指示器,然后将保留区放回指示器阵列。您可能有多个99指示器结构,可以在适当的时间移动到*IN或从*IN加载。对于每个记录格式,您可以有一个这样的结构,在该记录格式的I/O之前移动到*中,然后在I/O之后加载。这在程序中为您提供了几乎无限多的指示器,尽管每个显示格式仍然限制为99

外部指标在这里不是一个好的选择吗?或者它根本不起作用?DDS允许的唯一指示器是01-99。对于INDARA解决方案,您的意思是从缓冲区中删除响应指示器并使用它激活新的显示属性吗?否。INDARA为记录格式上的所有指示器留出一个单独的99字节缓冲区。如果使用INDARA,则需要更改现有代码使用DSPF指示符的所有位置,并将其更改为使用INDARA阵列。如果只需添加几个指标,则使用“程序到系统”字段更容易。这里有一个古老的例子:这非常令人惊讶。这个程序有多大(有多少行代码,有多少打开的文件)?我很难想象写任何使用这么多指标的东西,即使在RPG III中也是如此。我很有信心,有一些指标是不需要使用的。(并不是说清除指示器的使用是最快或最好的解决方案;只是对以前创建这个怪物的程序员感到惊讶。)这个程序大约有4000行,它引用了20多个文件。但真正的问题是,我的公司在DDS中使用ERRMSGID关键字在显示文件中显示消息。这个程序中大约有90条消息要显示。我可以告诉你,这不是我公司唯一一个使用所有99个指标的项目。当然,可以重写程序,以防止不必要的指标使用,但所涉及的工作太多,我的老板不推荐。真是遗憾……希望旧程序没有充满带有疯狂和/或组合的挂起指示器。