as400常用操作.docx

上传人:b****1 文档编号:20200872 上传时间:2023-04-25 格式:DOCX 页数:27 大小:85.27KB
下载 相关 举报
as400常用操作.docx_第1页
第1页 / 共27页
as400常用操作.docx_第2页
第2页 / 共27页
as400常用操作.docx_第3页
第3页 / 共27页
as400常用操作.docx_第4页
第4页 / 共27页
as400常用操作.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

as400常用操作.docx

《as400常用操作.docx》由会员分享,可在线阅读,更多相关《as400常用操作.docx(27页珍藏版)》请在冰豆网上搜索。

as400常用操作.docx

as400常用操作

AS400常用操作手册

1、关于表的操作

1.1、数据库表的拷贝

wrkobj:

输入要查找的目标、库,执行。

(wrkobjobj(gjjtemp/czyb)

在目标窗口输入3,执行,修改要拷贝到的目标库,同时Duplicatedata选YES,执行。

然后使用grtobjaut进行赋权。

Grtobjant执行,输入object、lib、objecttype(all)、users(要赋权者)、authority(*all)。

Grtobjautobj(gjgrdta/czfzb)objtype(*all)user(gjgr)aut(*all)

注意:

如目标在要拷贝到的库中存在,则不能覆盖,必须先删除。

1.2、如何在400上修改某条记录

UPDDTA:

输入逻辑文件名,则可以按照逻辑文件键字检索记录,然后修改。

如输入物理文件名,则检索出所有记录,不能定位到某条记录,只能一条一条翻阅到要修改记录,然后修改,此时如果记录很多,太不方便。

1.3、为表添加日志

STRJRNPFFILE(GJDWDTA/LBJQCB)

JRN(GJDWDTA/GJJJRN)IMAGES(*BOTH)

1.4、去掉表的日志(ENDJRNPF)

Journaledphysicalfile....>*ALLName,*ALL

Library...........Name,*LIBL,*CURLIB

+formorevalues

Journal............>GJJJRNName,*FILE

Library...........>GJGRDTAName,*LIBL,*CURLIB

1.5、清空表数据

CLRPFM

clrpfmGJDWDTA/ltqsjb

1.6、如何在两台服务器之间传递数据

例如将810机器上的gjgrdta库中sbgqcb中的数据传送到270机器上的gjdwdta库中的sbgqcb中:

在810机器上执行如下操作:

1)CHGDDMF->F4:

DDMFILE项填写:

TESTDDM

LIBRARY填写:

QGPL

Remotefile:

File处填写SBGQCB

Library填写GJDWDTA

执行

2)CPYF->F4:

Fromfile处填写SBGQCB

Library处填写GJGRDTA

Tofile处填写TESTDDM

Library处填写QGPL

Replaceoraddrecords处填写*ADD

执行。

(执行成功后,屏幕下方显示记录条数)

1.7、修改物理文件属性

CHGPF:

MEMBERSIZE项控制PF文件的记录条数:

输入*NOMAX,则没有条数限制。

REUSEDELETEDRECORDS选项控制表空间是否可以重复利用:

选YES则,在记录删除后其空间可以再利用,否则改空间不能重复利用,只有再RGZPFM后,才能重新利用该空间。

1.8、修改物理文件字符集为1388

CHGPF:

F10,再F9,CodedcharactersetID改为1388

1.9、优化表RGZPFM

释放delete语句删除的数据所占用的数据库空间。

1.10、DSPDBR

显示数据库文件(即表)的相关信息,如其物理文件,物理文件上挂有的所有的逻辑文件等。

DSPDBR,执行,输入如下信息:

File..............>DWXXB

Library...........>GJDWDTA

Output.............*

执行。

1.11、DSPFD

显示数据库文件(即表,包括PF和LF)的JOURNAL、KEYFIELD。

也可查看逻辑文件挂到了哪个物理文件上

File..............>DWXXB

Library...........>GJDWDTA

Typeofinformation......*ALL

+formorevalues

Output.............*

Fileattributes........*ALL

+formorevalues

1.12、DSPOBJD

显示文件是由哪个源文件编译过来的。

Object.............>LDWHJBL01

Library...........>GJCSDTA

Objecttype..........>*FILE

执行,8,执行

1.13、DSPFFD

显示数据库文件(即表)的字段信息,包括名称、类型,长度,及其源定义文件中所引用的字段类型定义文件等。

File..............>DWXXB

Library...........>GJDWDTA

Output.............*

2、object相关操作

2.1、查看锁

DSPRCDLCK查看数据库表记录锁的情况

WRKOBJLCK:

表名,库名,OBJECTTYPE项输入*file执行

F6查看member锁,输入5,再输入10,执行,查看锁的详细信息。

输入4,endjob。

2.2、WRKOBJ

TheWorkwithObjects(WRKOBJ)commandshowsalistofobjectsfrom

oneormorelibraries.

WRKOBJ,执行,输入要使用的obj名称等如下:

Object.............GJ0101R1

Library...........*ALL

Objecttype..........*ALL

执行,即可找到要查找的目标,便可进行copy、delete等操作。

3、Strpdm相关操作

3.1、在OBJECT中查找某一字符串

在WRKOBJPDM界面,在OBJECT前使用25,按执行键执行,找到第一个后在执行,直到找完为止。

3.2、在MEMBER中比较文件的不同

在WorkwithMembersUsingPDM界面,在member前使用54,F4,输入要比较的文件名按执行键执行。

3.3、在WorkwithMembersUsingPDM窗口

F14,显示程序修改时间。

F14=Displaydate

F15=Sortdate

F18:

compileinbatch改为Y,编译时编译信息可以用DM看。

3.4、如何使用帮助确定seu中规范表格式

编辑状态下在第6列上写上规范表名,使用f4,显示格式帮助(如果是用I表定义数据结构,还应该在第19和20列输入“DS”,再按F4键。

),再在需

要帮助的格式项上f1,则显示该项的具体帮助。

3.5、pdm窗口中F21打开命令窗口

3.6、pdm窗口中F15可以用分屏的方式再打开一个源文件

3.7、群体选择member

1、在第一个文件写要处理的操作类型如14,4,然后按住shift+F1。

3.8、如何在DDS源文件中的进行字符串替换

在命令行输入:

CAABBA,执行,即可以将所有AA用BB替换。

3.9、如何隐藏DDS源文件中的某些行

SEU中有一个功能(XX=BlockExclude)作用是隐藏掉源文件中的某些行,使要查看的上下文连接在一起显示。

可以按F5=Refresh功能键来恢复原来的外观。

4、Pgm相关操作

4.1、CRTPGM

CRTPGM后,F1查看CREATE是否成功,再F10,查看详细信息。

或者DSPJOBLOG查看,F10查看详细信息。

4.2、UPDPGM

PGM的module重新编译后,PGM需要更新。

4.3、WRKPGM

查找某一库下的某一rpg目标程序。

Wrkpgm执行,输入程序名,库名,执行。

可以对找到的目标进行操作。

其中,5,执行三次,5,可以查看该目标是由哪一个源程序编译来的。

4.4、DSPPGM

查看某一库下的某一rpg目标程序的属性。

Dsppgm执行,第一屏显示基本信息,第二屏显示文件大小信息,第三屏显示该pgm由哪些模块编译而成,在某一模块前输入5,可以查看该目标模块是由哪一个源程序编译来的。

4.5、调试

1、ILERPG程序的调试:

14+f4,输入编译项,f10,将DEBUGGINGVIEW改为*SOURCE,编译。

在命令行输入strdbg+f4,输入编译项,将Updateproductionfiles改为*yes,否则调试时无法打开文件,F6设置断点。

CALL程序,F10单步执行,F11查看变量值。

F12运行到下一断点。

调试完成,ENDDBG

2、含module程序的调试:

要调试的每个module分别15+f4,f10,将DEBUGGINGVIEW改为*SOURCE,编译。

在命令行输入strdbg+f4,输入主module编译项,将Updateproductionfiles改为*yes,否则调试时无法打开文件,F6设置断点。

CALL程序,F10单步执行,F11查看变量值。

当想调试被调用module时,使用shift+f10进入被调用module。

3、RPG程序调试时,如果有更新数据库的操作(不管是sql语句,还是rpg语句),将Updateproductionfiles改为*yes,否则系统认为数据库是只读的,不能更新数据库。

如delete,update等语句执行时,sqlcode会小于0,报-7008错误。

此时的现象是执行程序时结果正确,调试时就会出错,报-7008错误。

4、如果系统没有装DEBUG工具的,还有一个特别简单的方法进行调试,就是在需要看变量值的地方加上DSPLY语句,这个也是个很不错的方法,就是特别麻烦,每次加上之后都要重新编译程序。

5、使用WATCH变量名,可以一直在屏幕的上方显示变量名,非常方便。

要取消就用UNWATCH变量名。

或者DEBUG时在底线输入'W+空格+变量名'回车,是对该变量进行跟踪,程序运行时该变量的值的变化在窗口左上角显示。

可以同时对多个变量进行跟踪。

6、SHIFT+F11(F23)是改变变量的值

4.6、执行

c+F4

call+F4

sbmjob+f4+call+f4后台执行

执行后,F1查看信息,F10查看详细信息

4.7、存储过程调用PGM程序

1、当rpg程序和前台程序使用一个事务用存储过程调用时:

rpg程序15编译,然后crtpgm时将activationgroup参数改为*caller,CL程序中不要START:

STRCMTCTLLCKLVL(*CHG)CMTSCOPE(*JOB)+

DFTJRN(GJJJRN)

ENDCMTCTL

存储过程创建:

在导航器中创建外部过程,配置相应的入口出口参数,使用的rpg程序等(ip-数据库-库-右键-新建-过程-外部)。

2、当rpg程序和前台程序不使用一个事务用存储过程调用时:

rpg程序14或15编译,15时crtpgm将activationgroup参数改为*caller

存储过程创建:

在导航器中创建外部过程,配置相应的入口出口参数,使用的rpg程序等(ip-数据库-库-右键-新建-过程-外部)。

5、编译相关操作

5.1、编译选项

1、编译时,输入14,然后按f4,可以选择编译后文件存放的库。

2、编译时,14或15后,F10是可以选择附加参数,F9可以选择所有参数。

5.2、查看编译错误信息

1、WRKMSG,DSPMSG可以查看编译成功与否信息

2、编译出错时,系统提示错误级别,一般00级错误可以忽略,其他级别错误数字越大,错误程度越严重!

根据出错的级别进行处理时应该先处理高级别的错误,再处理底级别的错误!

3、由于系统在进行编译时,将出错的信息写成了SPOOLFILE,因此我们就要看SPOOLFILE的内容来确定出错的内容和相关语句。

因此,编译后,DM(DSPMSG)可以查看编译是否成功,SP查看编译详细信息。

SP,5查看与源文件同名的编译文件,B,执行,到文件尾,找到error字样,前翻页,找到错误号,然后查找该错误码的详细信息(shift+F4),根据该错误信息进行查错修改。

5.3、物理文件的编译

PF文件编译时,

●MEMBERSIZE项控制PF文件的记录条数:

输入*NOMAX,则没有条数限制。

其中

Membersize:

Initialnumberofrecords..100001-2147483646,*NOMAX,*SAME

初始表的记录数,*NOMAX,表示没有条数限制,具体数值则为记录条数。

Incrementnumberofrecords.10000-32767,*SAME

当该表记录数达到Initialnumberofrecords规定的条数时,一次可以增加的条数。

Maximumincrements......30-32767,*SAME

当该表记录数达到Initialnumberofrecords规定的条数时,可以增加的次数。

●REUSEDELETEDRECORDS选项控制表空间是否可以重复利用:

选YES则,在记录删除后其空间可以再利用,否则改空间不能重复利用,只有再RGZPFM后,才能重新利用该空间。

●LANGUAGEID项控制使用何种语言。

●CODEDCHARACTERSETID项控制选用何种字库:

一般是935,1388(该字库GB字库)

物理文件编译后,

●要添加日志

●物理文件或逻辑文件如修改后重新编译,相关的RPG程序都需要重新编译

5.4、RPG程序的编译

编译RPG程序时,将Commitmentcontrol项设置为NONE,不使用系统自动的事务控制,使用人为的事务控制,即commit或rollback。

5.5、群体编译

1、在第一个文件写14,然后按住shift+F1。

2、批量编译文件时,使用shift+f6,可以批量定制编译后文件存放的库。

6、备份恢复

6.1、创建SAVF类型文件,用于备份library、obj

CRTSAVF:

执行

在SAVEFILE输入要创建的文件名

LIBRARY输入库名,执行即可

6.2、清空SAVF

CLRSAVFFILE(BFGLB/&BCKF1)

6.3、删除文件(如SAVF等)

DLTFFILE(BFGLB/&BCKF1)

6.4、备份library

SAVLIB:

输入要备份的library,在device项输入*SAVF,执行。

在SAVEFILE项输入要备份到的文件(该文件必须先创建),library项输入备份到的library,执行即可。

如果该文件存在数据,输入G清除

6.5、清除library

CLRLIB:

执行

在library项输入要清除的library名,执行

6.6、恢复library

RSTLIB:

SAVEDLIBRARY输入被备份的库名

DEVICE输入*savf

SAVEFILE输入备份到的文件名

LIBRARY输入备份到的库名

F10:

在Restoretolibrary输入要恢复到的库名GJGRDTA

6.7、savobj

6.8、rstobj

例如:

将GJCSDTA下的SDWBGBL65打包到HOUZG下的AAA.SAVF,恢复到gjgrdta下。

Objects...>SDWBGBL65

Savedlibrary.........>GJCSDTA

Device.............>*SAVF

Savefile...........>AAA

Library...........>HOUZG

Restoretolibrary.......GJGRDTA

6.9、DSPSAVF

查看savf文件中包含那些文件

6.10、SavXXX时使用压缩方式(savobj/savlib/…)

在备份到磁带或将库、表单保存为SAVF时,可改动如下参数节约磁盘空间:

在SAVXXX命令中按F10后,会有参数DTACPR(Datacompression),其缺省值为*DEV,此时如存数据到*SAVF时不会被压缩,即不能节省磁盘空间,而将此参数改为*YES,可以达到节省空间的目的。

6.11、磁带操作

INZTAP(InitializeTape)格式化磁带

DSPTAP(DisplayTape)显示磁带内容

7、日志相关操作

7.1、日志概述

日志(Journal)即其他数据库的log,当数据需要commit/rollback或表上定义了触发器、参照完整性(referentialintegrity)时,表需要日志。

日志由journal和journalreceiver组成。

Journal相当于一张登记表,记录哪些表是有日志的,journalreceiver记录日志实际上需要记载的内容(表的创建、打开、增加、修改、删除、权限更改等)。

一个journal最多关联(attach)两个日志接收器(journalreceiver)。

Journal管理journalreceiver的方法有两种,*SYSTEM和*USER,在crtjrn或chgjrn时通过Managereceivers参数设置。

日志接收器和数据库表最好存放在不同的ASP(磁盘组)上。

日志备份时先备份表,再备份日志和日志接收器,恢复时要先恢复日志和日志接收器,再恢复表。

7.2、创建日志

创建一个日志文件可按如下方法:

1、建立日志接收器:

CRTJRNRCVJRNRCV(AAA/TESTJRNRCV)

其中:

AAA是库名,TESTJRNRCV是日志接收器名

在这个命令中是通过参数Journalreceiverthreshold来控制日志的大小。

2、建立日志:

CRTJRNJRN(DINI/TESTJRN)JRNRCV(DINI/TESTJRNRCV)

其中:

AAA是库名,TESTJRN是日志名,TESTJRNRCV是日志接收器名;其中如下参数需要指定:

Managereceivers......*SYSTEM*USER,*SYSTEM

Deletereceivers........*YES*NO,*YES

Deletereceivers参数指定系统是否可以删除journalreceivers。

3、启动物理文件的日志

STRJRNPFFILE(AAA/TABEL01)JRN(DINI/TESTJRN)

其中:

AAA是库名,TABEL01是表名,TESTJRN是日志名

4、查看日志(见7.3)

DSPJRNJRN(DINI/TESTJRN)FILE((DINI/TABEL01))

命令查看日志TESTJRN;

5、修改日志

CHGJRNJRN(GJGRDTA/GJJJRN)

6、使用命令APYJRNCHG根据JRN恢复物理文件向后恢复。

7、使用命令RMVJRMCHG根据JRN恢复物理文件向前恢复。

7.3、在AS/400上如何删除日志(JOURNAL)

在AS/400可能会对一些物理文件建立跟踪日志,到时候可能又不需要这些文件了,但日志文件会不断增多。

这时用户要删除这时物理文件上的日志(JOURNAL),但无法正常删除,其实只要按照以下步骤就可删除JOURNAL:

1、用命令ENDJRNPF或ENDJRNAP终止这个物理文件或访问路径上的所有JOURNAL。

2、用命令DLTJRN删除JOURNAL。

3、用命令DLTJRNRCV删除JOURNALRECEIVER。

7.4、通过日志查看数据变化

查看当前日志属性:

WRKJRNAJRN(GJGRDTA/GJJJRN)

找到JRNRCV存放库。

查看该库下有哪些日志:

WRKLIBLIB(@JRNRCVLIB)

找到TYPE为*JRNRCV的日志文件,

8,执行查看日志文件的时间,找到对应时间的日志文件。

查看对应日志文件中的日志:

DSPJRN

Journal............>GJJJRNName,*INTSYSJRN

Library...........>GJGRDTAName,*LIBL,*CURLIB

Journaledphysicalfile:

File.............>LTZQCBName,*ALLFILE,*ALL

Library..........>GJGRDTAName,*LIBL,*CURLIB

Member............*FIRSTName,*FIRST,*ALL

+formorevalues

Rangeofjournalreceivers:

Startingjournalreceiver..>GJJRCV1531Name,*CURRENT,*CURCHAIN

Library..........>@JRNRCVLIBName,*LIBL,*CURLIB

Endingjournalreceiver...>*CURRENTName,*CURRENT

Library..........Name,*LIBL,*CURLIB

Startingsequencenumber....*FIRST

Startingdateandtime:

Startingdate........>20050629Date

Startingtime........>000000Time

More..

执行,根据code和type,time查看日志(可以F1,在F2查看帮

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1