在AS400里面,数据存放在物理文件中,逻辑文件可以实现对数据的筛选,功能类似视图。
如果我们使用create view命令,在AS400里面建立视图,其本质上还是在创建逻辑文件,只不过这个过程有I5/OS完成。
当我们使用create index命令建立索引的时候,还是在创建逻辑文件,只不过这个逻辑文件有K值,这就是Keyed Logical File。
下面是一个对Keyed Logical File进行操作的RPGLE程序:
F*Function:操作带K的逻辑文件
FSTUFML UF E K DISK
C*程序控制
C EXSR @MAIN
C EXSR @EXIT
C*主处理
C @MAIN BEGSR
C*让游标指向过滤后的数据的前面
C*这里根据性别去查找,游标指向找到的一堆记录的前面
C*
C*对于读取的数据,若记录当中没有K值,我们可以如下来顺序读取记录:
C* 1 SETLL R_PF
C*也可以不用设置游标,直接按记录的原始存储顺序读取
C* READ R_PF
C *LOVAL SETLL RSTU
C*使游标指向第一条数据
C READ RSTU
C DOW NOT %EOF(STUFML)
C*修改1990-01-01后出生的同