AS400开发入门-By adan 联系客服

发布时间 : 星期一 文章AS400开发入门-By adan更新完毕开始阅读

功能来实现

5.DFU(DATA FILE UTILITY)

能够快速定义、创建面向数据录入、查询或文件维护的DFU程序,而不需要编程。对开发应用建立测试数据库尤其有用。

STRDFU:显示DFU菜单

DLTDFUPGM:删除DFU程序和文件 CHGDTA:运行DFU程序

DSPDTA:运行DFU程序,但不能修改文件中的数据记录

UPDDTA:使用临时的DFU程序更新文件,可通过在WORK WITH MEMBERS USING PDM(WRKMBRPDM)屏幕上使用选项18(CHANGE USING DFU)来实现,它可以进行查询、增加、修改、删除记录的操作。该功能最常用。

QUERY/400

QUERY/400特许程序是一个非常有用和容易使用的决策支持工具,可用来获取外部描述数据库文件信息。它允许使用单个文件或联结最多32个不同文件的数据,产生的报表可以打印、屏幕显示或存放在新的数据库文件中,功能强大。 STRQRY或GO QUERY命令,可以进入QUERY菜单,主要功能都有相应选项和帮助进行逐步引导完成。

CL(控制语言)编程

AS/400的所有系统功能都可以通过控制语言(CONTROL LANGUAGE,简称CL)调用,单个控制语言就是一条CL命令和它的参数。可以在命令行直接执行或输入到源文件成员中(CL程序或CLLE程序)经编译生成目标运行。注意,有些CL命令只能在程序中实现其功能(如,MONMSG等)。系统为所有CL命令提供提示和帮助,并且多数参数有缺省值。 其实,一个CL程序就是一组CL命令,其目标可以交互式或批处理环境下运行。

通过CL程序可以简化操作,控制工作流程,设置作业运行环境等。在应用中,CL程序一般作为

主控程序来控制应用程序的执行顺序和为应用程序完成一些首尾的任务(如文件覆盖、定位目标等),它可以管理程序执行中出现的以外(可根据需要是饶过还是进行修正)。此外,CL程序还能实现算术/逻辑操作,可以与用户或其他程序通讯,可以访问单个记录格式的数据库文件或显示文件。CL程序也有缺点,不能增加或修改数据库文件中的记录,不能使用打印文件或ICF文件等。

1.2 DDS及文件操作说明

利用DDS可以描述物理文件、逻辑文件、显示文件、打印文件和ICF文件,重点介绍

61676237.doc – 第 5 页 共 39 页

描述物理文件和逻辑文件

AS/400数据库结构

三级存储结构

库(LIBRARY) —— 数据库文件(FILE) —— 成员(MEMBER) 一级目录 —— 二级目录 —— 三级目录

1.字段及字段定义

字段是用来描述某一属性的一组值;字段定义是对字段属性的说明

2.记录及记录格式

记录是把一组字段放在一起命名,用来说明某一事物;记录格式是对记录中所有字段的简单说明以及对各字段排序的说明

3.数据库文件及文件说明

文件是已命名的一组记录,文件说明是对文件所有的记录格式和存取路径的说明,数据库文件分为数据文件和源文件,数据文件就是程序中使用的物理文件和逻辑文件。 A.物理文件(*FILE,PF-DTA):在SQL中称做表(TABLE),含有系统实际存储的数据,每个物理文件只有一个固定长度的记录格式。物理文件可以指定键值来规定其顺序存取路径,而不按记录写入时的物理顺序操作。 B.逻辑文件(*FILE,LF):在SQL中称做表(VIEW),它不含有实际数据,依附于物理文件,可以描述一个或多个物理文件的记录(JOIN逻辑文件)。 逻辑文件功能有: 改变物理文件中定义的字段属性(如字段名和字段排列顺序) 提供记录的逻辑顺序 可以只选择物理文件中部分字段进行显示或修改 对字段值进行选择记录进行操作 从物理文件的字段基础上演绎新字段 联合多个物理文件 C.源文件(*FILE,PF-SRC):是系统用来建立源程序(RPGLE、CLLE、C)或源物理文件(PF)等目标的源说明

4.成员

分为数据文件成员和源文件成员。

61676237.doc – 第 6 页 共 39 页

A.数据文件成员,数据文件中的记录可以按某一规则分为多组,每个成员可以存储其中的一组记录,成员就是数据文件的子集,如一家省级银行将各地区分行的存款记录按多个成员存储。一个文件至少有一个成员,建立数据文件时,系统自动产生一个初始成员(名字和数据文件一样),高级版本OS对文件成员个数不加限制(*NOMAX)。 B.源文件成员,就是源程序、源物理文件、源逻辑文件等集合,可以将大型应用系统的一个模块的相关源文件成员存放在一个源文件里。

建立物理文件

1.建立一个库SGMSRC、两个源文件RPGMSCF和RDTASCF,主要用于存放应用系统的源,再建一个库SGMOBJ,用于存放目标

系统集成标准:

1.库:系统名+库属性,假如有学生成绩管理系统名为SGM,存放该应用系统的源程序库就命名为SGMSRC,存放该应用系统目标的库可命名为SGMOBJ。

2.源文件名:一般情况可按模块名(定义为2位)来区分,而我们要举的例子比较小,直接按存放成员的类型来区分,比如,存放程序的源文件叫R+PGM+SCF,存放物理文件和逻辑文件定义的源文件叫R+DTA+SCF

3.物理文件/逻辑文件名:物理文件一般是按该物理文件的用途来命名的,比如:学生成绩表命名为STGD+A,‘A’含义是主文件(或数据文件),逻辑文件是依附于物理文件,一般通过将A改为L,再加序号以区分哪个逻辑文件,逻辑文件不宜太多,否则,会影响数据操作效率,如针对学生成绩表,其中一个逻辑名为STGDL1

4.程序名:一般情况下,是模块名(两位)+交易码(4位)+程序类型标识(一位,‘R’:RPGLE,‘C’:C,C或CL,‘R’:报表等)组成,比如一个应用系统的一个模块的所有程序存放在源文件RCDSCF下,其中一个交易程序名字可命名为CD0400R,‘CD’为模块名,‘0400’为交易码,‘R’代表RPGLE程序

CRTLIB LIB(SGMSRC) TYPE(*PROD) CRTSRCPF FILE(SGMSRC/RPGMSCF) IGCDTA(*YES) TEXT(‘PROGRAM SRCF FOR STUDENT’) CRTSRCPF FILE(SGMSRC/RDTASCF) IGCDTA(*YES) TEXT(‘DATABASE SRCF FOR STUDENT’)

CRTLIB LIB(SGMOBJ) TYPE(*PROD)

2.通过SEU开发工具进行交互式定义源物理文件

DDS使用一种位置相关的格式。在一个DDS行中对物理文件有效的位置是: 6:FORM的类型(A=DDS) 17:NAME的类型(R=RECORD NAME ,K=KEY FIELD NAME,BLANK=FIELD NAME)

61676237.doc – 第 7 页 共 39 页

19-28:NAME(类型由17列决定的名称,如记录名、字段名、键字段名) 29:参照定义(R表示只有当17列为空,19-28非空时有效,表示当前字段是一个参照字段,BLANK=当前字段非参照字段) 30-34:字段长度 35:数据类型 36-37:小数点位置定义(0-31有效),当19-28列定义为非数字型字段时,本拦应为空 45-80:功能定义,用于定义各种关键字 关键字的使用大大丰富了DDS的文件定义。分为

文件级,位于记录名之前,主要包括

REF:指定被参考文件 UNIQUE:键值唯一

FIFO,FCFO,LIFO:相同键值记录的排列规则,有UNIQUE时,就不能用 记录级,位于记录名和第一个字段名之间,主要有

FORMAT:共享其他文件的记录格式 TEXT:记录格式说明

字段级,关键字位于一个字段名和其下一个字段名或第一个关键字段名之间,包括

COLHDG:为数据库文件中字段显示和打印用

REFFLD:参考一个已定义的字段,允许字段长度和参考的字段不同,可用+N或-N来改变字段长度 关键字段级,关键字位于第一关键字段名和其下一个关键字段名或成员尾之间,主要包括

DESCEND:按降序排列,可用于字符或数值型键字字段 ABSVAL:按绝对值顺序排序

3.建立物理文件

定义好源物理文件后,可以建立物理文件,来对数据进行承载。 CRTPF SGMOBJ/DBREF SGMSRC/RDTASCF DBREF CRTPF SGMOBJ/STGDA SGMSRC/RDTASCF STGDA 如果建立物理文件时,要求有多成员,则要修改MAXMBRS参数值,可以指定为无限定(*NOMAX) 若要增加新成员,可以通过命令ADDPFM 命令完成,也可通过GO CMDMBR命令,再选4来完成。

4.数据输入

通过交互式SQL的INSERT 命令 用工具DFU的UPDDTA功能 通过程序输入

通过CPYF命令从其它数据文件中拷贝数据

61676237.doc – 第 8 页 共 39 页