SUBFILE详解
(2011-06-26 20:56:53)
标签:
it |
分类: AS400 |
SUBFILE可能是400中除RLU之外最麻烦最复杂也最常用的东东了,经过一番研究,终于搞清楚了其中原理。它是遵循SDA的格式框架的,只8过其中的键字稍微多些,RPG中对其的调用稍复杂些而已。
1、DSPF的格式:
建议它由4个记录构成,但用于首尾记录是可选的。它们只是显示一些固定的辅助信息而已。真正发挥作用的是中间的两项:数据记录和控制记录。就是下图的SUBF和SUBFC。
数据记录:它的定义同一般DSPF的DDS并无二样,它决定了是哪些记录,在什么位置显示。要说明的是,在标识记录名的那行的键字栏,要填关键字SFL以指示当前记录是一个SUBFILE。这里我们可以看到,以后我们所用的SUBFILE都可以以此为蓝本。所做的修改就是将此记录中的字段名和位置改变而已,其它的都没什么重大改变。
控制记录:在定义记录后面的键字栏,填入SFLCTL(SUBF_name)这里SUBF_name就是之前定义的数据记录名。这个记录主要用于控制前面记录的显示参数,比如每页显多少?多少页?何时显示等等。现在分别介绍这些参数。
SFLSIZ(N):N:1-9999:表示共有多少记录可显示,9999代表最大值,一般就用这个;
SFLPAG(N):N:决定了每页显示多少条记录,自己看着办吧:)
SFLDSP/SFLDSPCTL:注意前面有指示器。它们的作用是控制SUBFILE的显示,这两个是必须执行的。
SFLCLR:当前面指示器为真,清除SUBFILE的显示
SFLEND(*MORE):若前面指示器为真,则在最后一页页尾显示"Bottom"
OVERLAY:这个是覆盖,不用也行。但建议使用。
CA12(...):表示12功能键用于退出,它和后面2行都必须放在SUBFC控制记录中
后面两行:这个不用说了,是表头固定列标题。它必须放在此记录中
HEAD/FOOT:这两个记录不用说了,用来显示固定的字串。
附图参考:一个SUBFILE的标准框架。
SUBFILE
A*
------------INIT ON ABOVE
------------------------------
A
DSPSIZ(24 80
*DS3)
A
A
R
HEAD
A
2 1DATE
A
1、DSPF的格式:
附图参考:一个SUBFILE的标准框架。
SUBFILE