这里就给出代码,可以先到机器上试运行运行,有问题我们再共同探讨探讨。



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家園

狼翔月影 發表在 痞客邦 PIXNET 留言(0) 人氣()