AS400宏,输入字段计数

时间:2017-08-21 06:06:44

标签: macros ibm-midrange

5250模拟器:

5250 emulator

各位大家好,我想要一个运算符,它将计算输入字段,如附图所示。在这种情况下,我有5个输入字段。

提前致谢并提出最好的问候

2 个答案:

答案 0 :(得分:0)

我不确定这是否可行,但您可能会对DSM API感到高兴。

QsnQry5250具有最大数量的输入字段返回参数,但它可能只显示显示屏上允许的最大值,而不是屏幕上显示的数字。

这里有一个例子https://www.ibm.com/support/knowledgecenter/en/ssw_i5_54/apis/dsm1g.htm

此处的API文档https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_72/apis/QsnQry5250.htm

抱歉,我无法提供更多帮助 - 我从未使用过这些API,也无法想到另一种方法来实现您的目标。

如果您告诉我们您需要知道屏幕上输入字段数量的原因,我们可能会建议另一种方法来实现您想要实现的目标。

达米安

答案 1 :(得分:0)

可以做到! 下载此来源:http://www.code400.com/ffd.php

您可以从FFDRPG中注释掉GETKEY部分,因为您不需要它,但它可能会导致它无论如何都会崩溃。

此外,请记住使用该命令时,将记录格式名称和显示文件名称放在一起 - 不要只留下* FIRST或者您只是从中获取字段显示文件中的第一个记录格式。

修改 您需要在ListDs数据结构中添加一个额外的字段:

D ListDs          DS                 
D  SfFld                  1     10   
D  SfType                11     11   
D  SfUse                 12     12   
D  BufferOut             13     16B 0
D  FieldLen              21     24B 0
D  Digits                25     28B 0
D  Decimals              29     32B 0
D  FieldDesc             33     82   

如果您添加第3个字段SfUse,则可以检查其是否包含“我”#3;所以你只计算输入能力字段。

如果您想确切了解此API可以检索哪些信息,请查看QUSLFLD API https://www.ibm.com/support/knowledgecenter/en/ssw_i5_54/apis/quslfld.htm

下载中的示例使用最基本的格式FL​​DL0100,但是如果您要求格式FLDL0200或FLDL0300,则可以检索更多信息,但是它们需要更长时间才能执行,您不需要额外的信息来实现您的目标#39;重新开始。