这里就给出代码,可以先到机器上试运行运行,有问题我们再共同探讨探讨。
1. 物理文件 -- MYPF
*************** Beginning of data *************************************
A R FMYPF
A FLD001 5A
A FLD002 20A
A K FLD001
****************** End of data ****************************************
【注】假设这个文件有如下记录:
==================================
FLD001 FLD002
==================================
00001 FIELD 00001
00002 FIELD 00002
00003 FIELD 00003
00004 FIELD 00004
00005 FIELD 00005
==================================
2. 显示文件 -- MYDSPF
*************** Beginning of data *************************************
A DSPSIZ(24 80 *DS3)
A R HEAD
A 2 1DATE
A EDTCDE(Y)
A 2 69TIME
A 2 34'显示文件记录'
A*****************************************************************
A R SUBF SFL
A FLD001 5A O 9 16
A FLD002 20A O 9 28
A*****************************************************************
A R SUBFC SFLCTL(SUBF)
A SFLSIZ(9999)
A SFLPAG(0010)
A 30 SFLDSP
A 31 SFLDSPCTL
A 32 SFLCLR
A 33 SFLEND(*MORE)
A OVERLAY
A CA12(12 'EXIT')
A 7 15'字段1'
A COLOR(WHT)
A 7 27'字段2'
A COLOR(WHT)
A*****************************************************************
A R FOOT
A OVERLAY
A 24 11'F12=EXIT'
A COLOR(BLU)
****************** End of data ****************************************
【注】
(1) 第一个画面HEAD注解:
(a) 第一行表明显示尺寸,一般就这么写;
(b) 第二行的R表示接下来是一个记录,记录名是HEAD,有点象PF的定义,不过在DSPF里的记录代表
一个画面;
(c) 第三行的DATE是系统关键字,表示日期,该句意思是在第2行第1列显示系统日期;
(d) 第四行的EDTCDE表示编辑字,EDTCDE(Y)表示系统日期按照“MM/DD/YY”格式显示;
(e) 第五行的TIME是系统关键字,表示时间,该句意思是在第2行第69列显示系统时间;
(f) 第六行意思是在第2行第34列显示字符窜"显示文件记录"。
(2) 第二个画面SUBF注解:
(a) 第一行的R和上面一样,也代表这是一个画面,名字是SUBF;
后面的SFL是系统关键字,表示该画面是SUBFILE;
(b) 第二行表示在画面第9行第16列显示长度为5的字段FLD001,5是长度,A表示该字段是字符型,
O表示该字段只用于输出;
(c) 第三行与上一行类似。
(3) 第三个画面SUBFC注解:
(a) 第一行的R和上面一样,也代表这是一个画面,名字是SUBFC,
SFLCTL是系统关键字,SFLCTL(SUBF)表示该记录是用来对画面SUBF显示的控制,
一般定义了SUBFILE之后,都要定义这个记录的;
(b) 第二行的SFLSIZ用来说明SUBF的记录数,这里我把它定义为最大9999;
(c) 第三行的SFLPAG用来说明每页显示的记录条数,这里我把定义为10笔;
(d) 第四、五、六行的SFLDSP是用来显示记录的,SFLDSPCTL用来控制显示的,
SFLCLR用来清除显示的记录的,一般都需要给他们加上指示器,这里分别是30、31、32;
(e) 第七行的SFLEND用来声明每页下方的提示,这里用*MORE来表示,如果还有下一页的话,下方
就显示”More……“,否则,就显示”Bottom“,这里也用个指示器33;
(f) 第八行的OVERLAY表示显示该记录之前不要清除上一屏,即保留;
(g) 第九行的CA12表示在这个画面里我可以用键盘按键F12,对应的指示器是12,
这里你可以根据自己需要使用别的按键,例如CA03;
(h) 第十一行的COLOR是系统关键字,用来给上面显示的字符窜设置显示颜色,
这里用BLU,表示字符窜”字段1“显示为蓝色;
(4) 第四个画面FOOT注解参考上面三点即可,在此不在累赘。
轉自:新儒as/400家園
1. 物理文件 -- MYPF
*************** Beginning of data *************************************
A R FMYPF
A FLD001 5A
A FLD002 20A
A K FLD001
****************** End of data ****************************************
【注】假设这个文件有如下记录:
==================================
FLD001 FLD002
==================================
00001 FIELD 00001
00002 FIELD 00002
00003 FIELD 00003
00004 FIELD 00004
00005 FIELD 00005
==================================
2. 显示文件 -- MYDSPF
*************** Beginning of data *************************************
A DSPSIZ(24 80 *DS3)
A R HEAD
A 2 1DATE
A EDTCDE(Y)
A 2 69TIME
A 2 34'显示文件记录'
A*****************************************************************
A R SUBF SFL
A FLD001 5A O 9 16
A FLD002 20A O 9 28
A*****************************************************************
A R SUBFC SFLCTL(SUBF)
A SFLSIZ(9999)
A SFLPAG(0010)
A 30 SFLDSP
A 31 SFLDSPCTL
A 32 SFLCLR
A 33 SFLEND(*MORE)
A OVERLAY
A CA12(12 'EXIT')
A 7 15'字段1'
A COLOR(WHT)
A 7 27'字段2'
A COLOR(WHT)
A*****************************************************************
A R FOOT
A OVERLAY
A 24 11'F12=EXIT'
A COLOR(BLU)
****************** End of data ****************************************
【注】
(1) 第一个画面HEAD注解:
(a) 第一行表明显示尺寸,一般就这么写;
(b) 第二行的R表示接下来是一个记录,记录名是HEAD,有点象PF的定义,不过在DSPF里的记录代表
一个画面;
(c) 第三行的DATE是系统关键字,表示日期,该句意思是在第2行第1列显示系统日期;
(d) 第四行的EDTCDE表示编辑字,EDTCDE(Y)表示系统日期按照“MM/DD/YY”格式显示;
(e) 第五行的TIME是系统关键字,表示时间,该句意思是在第2行第69列显示系统时间;
(f) 第六行意思是在第2行第34列显示字符窜"显示文件记录"。
(2) 第二个画面SUBF注解:
(a) 第一行的R和上面一样,也代表这是一个画面,名字是SUBF;
后面的SFL是系统关键字,表示该画面是SUBFILE;
(b) 第二行表示在画面第9行第16列显示长度为5的字段FLD001,5是长度,A表示该字段是字符型,
O表示该字段只用于输出;
(c) 第三行与上一行类似。
(3) 第三个画面SUBFC注解:
(a) 第一行的R和上面一样,也代表这是一个画面,名字是SUBFC,
SFLCTL是系统关键字,SFLCTL(SUBF)表示该记录是用来对画面SUBF显示的控制,
一般定义了SUBFILE之后,都要定义这个记录的;
(b) 第二行的SFLSIZ用来说明SUBF的记录数,这里我把它定义为最大9999;
(c) 第三行的SFLPAG用来说明每页显示的记录条数,这里我把定义为10笔;
(d) 第四、五、六行的SFLDSP是用来显示记录的,SFLDSPCTL用来控制显示的,
SFLCLR用来清除显示的记录的,一般都需要给他们加上指示器,这里分别是30、31、32;
(e) 第七行的SFLEND用来声明每页下方的提示,这里用*MORE来表示,如果还有下一页的话,下方
就显示”More……“,否则,就显示”Bottom“,这里也用个指示器33;
(f) 第八行的OVERLAY表示显示该记录之前不要清除上一屏,即保留;
(g) 第九行的CA12表示在这个画面里我可以用键盘按键F12,对应的指示器是12,
这里你可以根据自己需要使用别的按键,例如CA03;
(h) 第十一行的COLOR是系统关键字,用来给上面显示的字符窜设置显示颜色,
这里用BLU,表示字符窜”字段1“显示为蓝色;
(4) 第四个画面FOOT注解参考上面三点即可,在此不在累赘。
轉自:新儒as/400家園
全站熱搜
留言列表