AS400 自学笔记集锦

更新时间:2024-05-02 15:55:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

AS400学习笔记 2006/04,Daniel,Easycon

AS400学习笔记(V1.2)

2006/04,Daniel,Easycon

1

自学使用的400操作命令集锦 ............................................................................................... 4 1.1 命令记录及示例解析 ....................................................................................................... 4 1.1.1 将PF文件中的数据库数据导出到流文件中......................................................... 4 1.1.2 从流文件中导入数据到数据库的PF文件中......................................................... 4 1.1.3 查看多Member的PF下的member信息 .............................................................. 4 1.1.4 修改用户的ccsid值................................................................................................. 4 1.1.5 使用DBG调试作业信息 ........................................................................................ 4 1.1.6 查看系统的ccsid缺省设置 ..................................................................................... 4 1.1.7 PF下的Member正常显示中文 .............................................................................. 4 1.1.8 查看或修改PF的字符集设置 ................................................................................ 5 1.1.9 为一个没有日志的PF设置日志文件 .................................................................... 5 1.1.10 查看多Member的PF内容 ..................................................................................... 5 1.1.11 查看一个多Member的PF下所有Member名称的命令...................................... 5 1.1.12 删除一个PF下的多Member的命令 ..................................................................... 5 1.1.13 FTP到400的命令详解 ........................................................................................... 5 1.1.14 OBJ打包备份命令例子 ........................................................................................... 5 1.1.15 直接显示/查找一个库或者一个目标文件在当前用户库位置的例子 .................. 6 1.1.16 查看目标文件被锁的信息 ....................................................................................... 6 1.1.17 关于400上的授权处理的几个例子 ....................................................................... 6 1.1.18 6000链接400的DB2 CONNECT的配置............................................................. 6 1.1.19 删除本用户下所有的spool file的命令 .................................................................. 6 1.1.20 命令帮助Help .......................................................................................................... 6 1.1.21 查看SP文件 ............................................................................................................ 6 1.1.22 400上如何存放中文文件并能正常显示,如何支持很长一行记录的情况 ........ 7 1.1.23 对一个数据文件的日志操作 ................................................................................... 7 1.1.24 查看系统环境信息-DSPSYSVAL WRKSYSVAL ............................................... 7 1.1.25 查看系统设备信息-WRKHDWRSC .................................................................... 7 1.1.26 显示数据之间关系 ................................................................................................... 7 1.1.27 在AS400上直接运行批量的400SQL脚本 .......................................................... 8 1.1.28 在400上进行授权处理 ........................................................................................... 8 1.1.29 提交后台执行作业 ................................................................................................... 8 1.1.30 如何查看数据保护方式,如RAID/MIRROR ....................................................... 8 1.1.31 如何硬盘临时空间,使用率等信息 ....................................................................... 8 1.1.32 如何查看Spool File ................................................................................................. 8 1.1.33 如何查看内存、系统控制台等状态 ....................................................................... 8 1.1.34 如何查看PTF状态、PTF CUM的版本 ................................................................ 9 1.1.35 查看操作系统版本 ................................................................................................... 9 1.1.36 400上MSG信息的操作命令 ................................................................................. 9 1.1.37 400上的日志操作命令 ............................................................................................ 9 1.1.38....................................................................................................................................... 10

- 1 -

AS400学习笔记 2006/04,Daniel,Easycon

2 经验记录................................................................................................................................. 11 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12 2.13 2.14

DB2 IMPORT命令 ....................................................................................................... 11 创建DB2 CONNECT的链接方法(RS6000-AS400) .......................................... 11 AS400上调用PGM命令做大量数据处理操作 ......................................................... 12 AS400日常运行维护..................................................................................................... 12 一个关于备份报错的处理操作 ..................................................................................... 12 400上C/C++程序调用PGM ....................................................................................... 13 AS400上C开发编译简介 ............................................................................................ 16 如何查看已备份磁带的内容 ......................................................................................... 16 恢复/查看备份的内容 ................................................................................................... 17 查看LIBRARY占用的磁盘空间 ................................................................................ 17 一个不错的400软件下载地址 ..................................................................................... 18 日志激活状态下删除400库的方法 ............................................................................. 18 通用日志管理 ................................................................................................................. 19 19

3 相关资料收集......................................................................................................................... 20 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 3.16 3.17 3.18 3.19 3.20 3.21 3.22 3.23 3.24 3.25 3.26 3.27

一些概念 ......................................................................................................................... 20 关于LOCK的一些概念 ................................................................................................. 23 AS400口令问题............................................................................................................. 24 实用命令 ......................................................................................................................... 24 常用CL命令 ................................................................................................................. 24 通过控制面板开关机 ..................................................................................................... 26 如何解决控制台死锁问题 ............................................................................................. 26 如何更改系统的名字 ..................................................................................................... 27 得到OS400版本的命令 ............................................................................................... 27 手工启动400的介绍 ..................................................................................................... 27 如何提高AS/400 TCP/IP的性能 ................................................................................. 28 启动与停止FTP服务器 ............................................................................................... 28 发送TCP/IP假脱机文件(SNDTCPSPLF) ............................................................ 29 如何查看QTEMP中的内容 ........................................................................................ 29 如何更改 CRTPF 或 CRTRPGPGM 的預設值? ............................................................ 30 如何将AS/400英文界面改为中文界面? .................................................................. 30 如何将屏幕内容写到文件中 ......................................................................................... 30 了解AS400文件系统.................................................................................................... 30 如何快速查看IFS文件系统中FOLDER和文件的大小 .......................................... 38 如何显示查询的调试信息 ............................................................................................. 38 如何修改QSYS/QADBXREF的CCSID ................................................................... 39 如何在AS400上发送带有颜色的MESSAGE ........................................................... 39 恢复系统密码 ................................................................................................................. 41 创建自己的命令 ............................................................................................................. 43 关于命令RGZPFM ...................................................................................................... 44 WRKSYSSTS命令结果屏中,作业的三种状态的具体含义是什么? ................... 44 WRKACTJOB命令其他一些有用功能的妙用。 ...................................................... 45

- 2 -

AS400学习笔记 2006/04,Daniel,Easycon

3.28 3.29 3.30 3.31 3.32 3.33 3.34 3.35 3.36 3.37 3.38 3.39 3.40 3.41 3.42 3.43 3.44 3.45 4

启动预起作业QZDASOINIT/QZDAINIT ................................................................. 45 如何查看与物理文件相关的索引,视图,约束? ....................................................... 46 如何查询OS/400上装的主语言、第二语言是什么? .............................................. 46 如何查找物理文件 (PF) 与 逻辑文件 (LF) 之间的关系? ....................................... 46 如何使DB2/400中的索引运行效率更高? ................................................................ 47 如何提高AS/400 TCP/IP的性能? ............................................................................... 48 如何限制QZDASOINIT作业的临时空间? ............................................................... 48 如何修改QSYS/QADBXREF的CCSID? ........................................................................ 49 如何在SQL/400中利用RRN(相对记录号)处理与记录号相关的信息? ................. 49 物理文件与SQL表的区别? ....................................................................................... 49 DOMINO FOR AS/400备份与恢复 ................................................................................. 50 用SAV命令备份的DOMINOSERVER为何不能恢复? ............................................... 52 24小时交易的AS/400如何备份 ................................................................................. 52 备份保存SPLF的方法 ................................................................................................. 54 MIMIX简介 ..................................................................................................................... 55 数据队列(DATQ)相关 ............................................................................................. 55 网卡状态是RCYPND的解决方法 .............................................................................. 57 AS/400上的解决方案-双机高可用与灾备MIMIX .................................................... 58

附录:命令列表..................................................................................................................... 62

- 3 -

AS400学习笔记 2006/04,Daniel,Easycon

1 自学使用的400操作命令集锦

1.1 命令记录及示例解析

1.1.1 将PF文件中的数据库数据导出到流文件中

CPYTOIMPF FROMFILE(EASYSJGD/SKMZD) TOSTMF('smtf7') MBROPT(*REPLACE) RCDDLM(*LF) DTAFMT(*FIXED)

CPYTOIMPF FROMFILE(EASYCORE/SLLB) TOSTMF('sllb') RCDDLM(*LF) FLDDLM('|')

1.1.2 从流文件中导入数据到数据库的PF文件中

CPYFRMIMPF FROMSTMF('/scdzb') TOFILE(EASYSJGD/SCDZB) RCDDLM(*LF) FLDDLM('|')

CPYFRMIMPF FROMSTMF('/ascdzb') TOFILE(EASYSJGD/SCDZB) RCDDLM(*LF)

FLDDLM('|') FROMRCD(1)

1.1.3 查看多Member的PF下的member信息

DSPFD FILE(EASYMAP/LOG) TYPE(*MBRLIST)

1.1.4 修改用户的ccsid值

CHGUSRPRF USRPRF(EASYMAP) CCSID(037)

1.1.5 使用DBG调试作业信息

调试查看一个作业的工作执行信息,可以通过一下四个命令加载debug模式进行: STRDBGSRV QSYS Start Debug Service Job STRDBG QSYS Start Debug

ENDDBG QSYS End Debug Mode ENDDBGSRV QSYS End Debug Service Job

处理完成后,作业的日志信息将存放相关操作信息,可以通过以上信息查看处理信息

1.1.6 查看系统的ccsid缺省设置

wrksysval -> F4 -> QCCSID

1.1.7 PF下的Member正常显示中文

创建PF的时候,参数DBCS要指定为*YES,则可以使用中文在文件里面 注:DBCS -- Double Byte Code Set 双字节

- 4 -

AS400学习笔记 2006/04,Daniel,Easycon

SBCS -- Single Byte Code Set 单字节

1.1.8 查看或修改PF的字符集设置

用CHGPF命令,按F4,填入表名,按F9查看Coded character set ID :的值,此处可以直接查看或者进行修改等处理

1.1.9 为一个没有日志的PF设置日志文件

STRJRNPF FILE(EASYMAP/XTKZB) JRN(BANKDTA/OBTSJRN)

1.1.10 查看多Member的PF内容

RUNQRY QRYFILE((EASYMAP/LOG)) 查看文件 RUNQRY QRYFILE((EASYMAP/LOG RC030217)) RUNQRY QRYFILE((EASYMAP/LOG *LAST))

1.1.11 查看一个多Member的PF下所有Member名称的命令

DSPFD FILE(EASYMAP/LOG) TYPE(*MBRLIST)

1.1.12 删除一个PF下的多Member的命令

RMVM FILE(EASYMAP/LOG) MBR(*ALL)

1.1.13 FTP到400的命令详解

制定FTP到服务器 用户 密码

使用ASC方式传输文件,或者bin等 指定转码使用1386编码 进入目的库

传输本地file文件到easymap库的src文件下 结束ftp

ftp 192.168.110.118 user easymap password easymap asc quote type c 1386 cd easymap put file src.file bye

1.1.14 OBJ打包备份命令例子

DSPSAVF FILE(EASYMAP/SAVF1) 显示SAVF1的SAVEFILE中的内容 CLRSAVF FILE(EASYMAP/SAVF1) 清除SAVF1文件中的内容

SAVOBJ OBJ(SJGD) LIB(EASYSJGD) DEV(*SAVF) SAVF(EASYMAP/SAVF1) WRKOBJ OBJ(EASYMAP/SJGD) 备份文件进入SAVF1

RSTOBJ OBJ(*ALL) SAVLIB(EASYSJGD) DEV(*SAVF) SAVF(EASYMAP/SAVF1) RSTLIB(EASYMAP) 恢复文件从SAVF1 注:LIB的备份命令:SAVLIB…

- 5 -

AS400学习笔记 2006/04,Daniel,Easycon

memset( lrs_msg, 0, sizeof(lrs_msg) );

memset( lrs_devname, 0, sizeof(lrs_devname) ); strcpy( lrs_devname, \ strcpy( lrs_msg, \

lrl_ret=TapInit( lrs_devname, lrs_msg );

printf(\return 0; }

2.7 AS400上C开发编译简介

1) 编辑C源代码文件,可以在400上直接编辑,也可以在其他机器(win/unix)上编

辑完成后,ftp到400主机上,注意ftp的时候记得使用quote type c 1386命令 2) 将编辑完成的C源代码进行编译,可以使用14=Compile 15=Create module命令进行编译,若为单个的原代码编译,可以直接使用14进行编译(Create Bound C Program (CRTBNDC)),编译可以直接生成可以执行的PGM;若该源码为一个系统中的一个模块需要编译,则使用15进行编译(Create C Module (CRTCMOD)),编译完成后,可以产生该源码对应的Moudle;编译过程中,可以在输入14或15后,按F4,选择参数信息;编译过程中若出现错误,则可以使用dspjoblog命令查看,或者使用sp查看产生的SPOOL FILE

3) 编译完成后,若为多个源码编译成一个执行码的情况,需要使用CRTPGM命令编

译出PGM执行码,在CRTPGM输入后,可以按F4,选择编译参数;多个源码编译产生的PGM,其中部分源码发生变化,需要重新编译时,先编译产生新的MODULE,更新已有的PGM执行码编译时,可以使用UPDPGM编译,参数中只输入需要更新的MODULE即可 4) 编译完成后,可以使用CALL PGM(PGMNAME)来调用执行,也可以使用SBMJOB

提交批处理方式执行命令

2.8 如何查看已备份磁带的内容

Display Tape (DSPTAP) ??

Data type . . . . . . . . . . . >; *SAVRST *LABELS, *SAVRST ??

LABELS 和 SAVRST 选项有什么不同

SAVRST 能够列出你磁带里的目录,内容 LABELS只是你的磁带一个属性表

直接用dsptap指令,然後輸入對應的參數,就能顯示了。

其中Sequence number . . . . . . . . SEQNBR 是存在磁帶中不同object的順序。他是從1開始計算的。如果你有多個object存在tap中,那麽你可以修改該參數,以達到顯示不同存儲順序的内容了。

- 16 -

AS400学习笔记 2006/04,Daniel,Easycon

2.9 恢复/查看备份的内容

使用命令RSTLIB(对应备份命令SAVLIB),EX:

RSTLIB SAVLIB(EASYMIS) DEV(TAP01) RSTLIB(BAKMIS)

此命令将备份的库EASYMIS从磁带TAP01上恢复到BAKMIS库中 RSTLIB SAVLIB(EASYCORE) DEV(TAP01) RSTLIB(BAKCORE) OUTPUT(*OUTFILE) OUTFILE(EASYMAP/RSTLOG) OUTMBR(RSTCORE)

此命令将备份的库EASYMIS从磁带TAP01上恢复到BAKMIS库中,同时记录恢复文件EASYMAP/BAKLOG.RSTCORE

恢复的时候,可以指定恢复哪个备份的库,恢复到哪个库里面(注意:不一定要恢复到原备份的库中,可以恢复到其他名字的库中)

关于备份后的查看备份的命令:查看磁带命令DSPTAP,或者DSPSAVF等 在磁带的备份中,若同时一个SAVLIB保存多个库的情况,比如使用如下命令保存数据: SAVLIB LIB(EASYCORE EASYPUB EASYMIS) DEV(TAP01) ENDOPT(*REWIND) SAVACT(*SYNCLIB) SAVACTWAIT(600) ACCPTH(*YES) OMITOBJ((*ALL *JRN) (*ALL *JRNRCV)) OUTPUT(*OUTFILE) OUTFILE(EASYMAP/BAKLOG)

上面的命令同时备份了3个库在TAP01设备上,在需要显示磁带内容的时候,若是使用命令:

DSPTAP DEV(TAP01) DATA(*SAVRST)

此时,只是显示了第一个库的备份情况,无法显示多个库的备份情况;若希望显示另外的库备份情况,可以使用DSPTAP的SEQNBR参数,选择查看第几个备份的库信息,例如:

DSPTAP DEV(TAP01) SEQNBR(2) DATA(*SAVRST)

此命令将显示磁带上第2个库的备份情况,其他库文件的查看显示依此类推

2.10 查看LIBRARY占用的磁盘空间

方法一:

有时用户需要查看某个Library占用多少AS/400的硬盘空间,有没有简单的办法呢? 其实很简单,可以用一个命令实现:

DSPLIB LIB(TESTLIB) OUTPUT(*PRINT) 这个命令执行后会生成一个假脱机文件QPDSPLIB,这个文件包括这个Library中各个Object的size和这个Library中所有Object所占用的硬盘空间 方法二:

sbmjob cmd(rtvdskinf) prtdskinf rpttype(*lib)

这样你可看到整个系统lib大小 注意:使用RTVDSKINF这条命令是有要求的,首先有权限要求。其次需要用WRKDIRE

- 17 -

AS400学习笔记 2006/04,Daniel,Easycon

命令将你的用户加入到Directory Entries 中去。然后SUBMIT到后台去

2.11 一个不错的400软件下载地址

http://home.columbus.rr.com/jbmmdietz/iseries.html 一个老外写得Freeware.

很多工具很好用。比如我想要的察看QZDASOINIT 对应的IP. 还有这个地址也很不错

http://www.help400.de/Freeware.htm

2.12 日志激活状态下删除400库的方法

通过strsql创建的LIB,当进行drop database操作的时候,特殊情况下可能会由于日志文件仍处于激活状态导致整个LIB无法删除,报错如下:

或者通过WRKOBJPDM进入LIB,删除对应的日志接收器时,报错:

遇到以上错误时,可通过如下解决办法处理: QSYS/WRKJRNA JRN(EASYCORE/QSQJRN)

使用F19命令即可查看哪些目标正在使用该日志文件,将正在使用该日志文件的目标文件一个个的使用ENDJRNPF命令停止日志记录即可。

- 18 -

AS400学习笔记 2006/04,Daniel,Easycon

停止后,可以正常的删除对应的库文件了。

2.13 通用日志管理

AS/400系统上有日志(JRN)和日志接收器(JRNRCV)目标对象,用来存放对数据库文件进行增删改等操作的日志记录。日志接收器是存放日志记录的具体地方,它可以是由一个无限增大的文件组成,也可以是由多个固定大小的文件组成。多个日志接收器文件形成日志接收器链,当当前ATTACHED的有限大小的日志接收器满了以后,系统会自动产生或由用户产生一个新的同样属性的接收器文件。

用CHGJRN命令可以改变产生新的日志方式,当Manage receivers( MNGRCV)选项选择*SYSTEM时,系统会自动产生新的日志接收器,当Manage receivers( MNGRCV)选项选择*USER时,则当日志接收器满了以后,需要由用户产生新的日志接收器。当Manage receivers( MNGRCV)选项选择*SYSTEM时,可以在Delete receivers(DLTRCV)选项里选择*YES来让系统自动删除已经被DETACH的日志接收器文件。

但如果我们希望定制保留固定个数的日志记录,或者保存若干天的日志记录,或者其他一些原因不能让系统自动删除日志接收器,那么我们就必须手工删除日志接收器,如果系统业务比较频繁,产生日志接收器量比较大,可能会很快使系统硬盘空间涨满,那么我们手工维护日志接收器的工作量很大。在一般的双机热备系统中比如MIMIX、OMS等都提供了日志管理功能,本文提供一个与这些软件日志管理功能类似的独立的一个通用日志管理工具,可以使你不需要依靠其他软件就可以独立地由程序来完成日志管理工作。

保留日志接收器,通常有两种方式,一种是按时间即天来保留,一种是按日志记录个数来保留。本文的例子是按日志记录个数来保留日志接收器的。但按照该例的方法也可以很容易实现按天来保留日志接收器。

修改命令:

CHGJRN JRN(EASYCORE/QSQJRN) DLTRCV(*YES)

2.14

- 19 -

AS400学习笔记 2006/04,Daniel,Easycon

3 相关资料收集

3.1 一些概念

基本术语解释

对象

对象是系统上可以操作的已命名的空间。对象的最常见的示例是文件和程序。其它类型的对象包括命令、队列、库和文件夹。系统上的对象由对象名称、对象类型和对象驻留在其中的库标识。系统上的每个对象都可受保护。 库

库是用于将其它对象分组的一种特殊类型的对象。系统上的许多对象驻留在库中。 目录

目录是将系统上的对象分组的另一种方法。对象可以驻留在目录中。一个目录可以驻留在另一目录中,从而形成一种分层结构。 组概要文件

组概要文件定义一组用户。将组概要文件看作是部门策略。可以将组概要文件用作创建单个用户概要文件的模式。还可以使用组概要文件来定义允许组的成员如何访问系统上的对象。有关组概要文件的更多信息,参见主题“计划用户组”。 用户概要文件

用户概要文件是系统上功能最强大的通用对象。它包含诸如用户密码以及用户注册后看到哪个菜单。用户概要文件定义用户在系统上可以执行和不能执行的操作。它确定用户的唯一系统视图。主题“计划用户安全性”讨论用于计划用户概要文件的技巧。 作业描述

作业描述使用系统值和用户概要文件来确定系统处理用户作业的方式。作业描述设置用户的初始库列表,该库列表确定用户在注册之后自动获取其访问权的库。 历史日志( history log):

a. 记录作业的开始,结束;设备活动状态;QSYSOPR Message中所有的消息;

PTF活动状态

b.history log 记录在队列QHST中

c.QHST的存储大小由系统值QHSTLOGSIZE定义 作业日志(Job log)

a.job结束的时候,job log写到 QPJOBLOG中,然后job log被删除;当交互式作

业正常结束时,通常job log不会被发送到joblog,非正常结束时才提交。

b.如何控制写入job log中的内容: 通过CHGJOBD来修改JOBD中的参数-

LOG。LOG参数有三个可选参数message level, message severity, message text

c.如何查看job log

* 如果作业已经结束,job log还没打印,使用WRKUSRJOB选项8(display

spooled file) 找到脱机文件名为 QPJOBLOG,选择5查看

* 如果job 没有结束或者正在队列中,使用WRKUSRJOB或者WRKACTJOB

查看

* 显示交互作业的job log: DSPJOBLOG

- 20 -

AS400学习笔记 2006/04,Daniel,Easycon

d.DSPJOBLOG 中特殊符号的意义:

>> ---- 正在运行的命令或下一个要运行的命令 > ------ 作业已被处理

。。----- 命令没有被处理 ? ------ 需要回复消息

e.为了防止系统定期清理joblog,可以发送joblog文件到独立的输出队列 CHGPRTF FILE(QPJOBLOG) OUTQ(QEZJOBLOG) Job Table

a.如果job table太大,系统性能将受到影响(在IPL过程中) b.使用CHGIPLA命令改变选项,以压缩JOB table。

c.使用命令DSPJOBTBL显示job table。其中会包含的信息: * job talbe的数量

* job talbe的尺寸,字节数 * 在job talbe中包含的条目数 * 对于新使用的job的条目数

* 在job队列(活动job或者已经完成但还没有脱机到输出队列中的job)中,

当前被使用的条目数。

* 在job队列(活动job或者已经完成但还没有脱机到输出队列中的job)中,

当前未被使用的条目数。 批处理作业:

a.提交批处理作业的方法 * 立即提交 * 计划提交

b.立即提交: SBMJOB

输入批处理需要的命令,如果提交的是程序,则前面加CALL。例如:CALL

TESTJOB。如果提交的是RExx程序包,使用STRAR RExx (STRRExPRC)

c.计划提交:WRKJOBSCDE或者在SBMJOB中输入计划运行的时间

d.如果job队列没有隶属于某个子系统,则运行在这个job队列中的job将不会被运

行。可以使用CHGJOB命令来移动job到别的job队列中

e.改变job的优先级

* 最高级为0,最低级为9。用户提交的job最高优先级为1,0为保留给系统,

用以改变优先级为1的job,使它处于队列的最顶处。

f.如果使用CHGJOB改变job的优先级,打印优先级或者时间片,它只能影响一次,

下次运行时将恢复成原始值。要想持续有效,需要改CLASS. 消息(message):

a. message ID的格式: CPF0083 CPA~CPZ :系统消息 CBE~CBX:cobol 消息 LBE~LSC:colbol消息 MCH: LIC消息

QRG~RXT:RPG语言消息 SBX~SSC: colbol消息 SQL: SQL消息 常用的目标类型列表:

* LIB 库 * FILE 文件

- 21 -

AS400学习笔记 2006/04,Daniel,Easycon

* MSGF 信息文件 * PGM 程序 * CMD 命令

* JOBQ 作业队列 * DTAQ 数据队列 * MSGQ 信息队列 * OUTQ 输出队列 * DTAARA 数据域 * JRN 日志

* JRNRCV 日志接受器 * USRPRF 用户简要表 * SBSD 子系统描述 * JOBD 作业描述 * LIND 线路描述 * CTLD 控制器描述 * DEVD 设备描述 常用的目标操作列表:

* WRK 工作 * CRT 建立 * ADD 增加 * CHG 改变 * DLT 删除 * DSP 显示 * EDT 编辑 * CPY 拷贝 * MOV 移动 * RNM 变名 * SAV 备份 * RST 恢复 * RTV 获取 * GRT 授权 * DMP 转储 关于文件类型的补充:

*DTAQ *DTAARA *MSGF *QRYDFN

这些类型的object 一般是在CL中用到, 相应的由命令语句生成,相应的由如下命令生成

CRTDTAQ 创建一个数据对列。可能这个数据队列功能要多于一般队列,可以在不同400服务器通信。 CRTDTAARA 创建一个数据区域,可以是一个临时的存放数据的区域,可理解成一个全局变量,它有一个好处就是

更改变量值不需要重新编译调用它的程序。比如有用户不确定的统计某个车间的库存数,可动态的改变这个data area区域

里的变量值(增加,减少变量)就可以统计不同车间的库存数这样不需编译这个调用它的程序。 CRTMSGF 创建自己的message file , 一般系统message file 是在这个命令可检索到 WRKMSGF MSGF(*ALL)

- 22 -

AS400学习笔记 2006/04,Daniel,Easycon WRKQRY 400提供了一个专门做query 文件的功能,可以方便的过滤,累加一些字段。做完这种query后就生成

了*QRYDFN对象。

在TYPE处按下 F1 键可看看。

*DTAQ A data queue (*DTAQ) object is used to communicate and store data used by several programs in a job or between jobs. Multiple jobs can send and receive data from a single data queue.

*DTAARA A data area (*DTAARA) object contains a data value that can be used and changed by different jobs. *MSGF A message file (*MSGF) object contains message descriptions, which are used t describe status and error conditions. *QRYDFN

A query definition (*QRYDFN) object contains information about a query or report defined by a user of the Query/400 licensed program.

3.2 关于lock的一些概念

锁的五种类型

(1) Exclusive(*EXCL): 只有该锁的路径选择过程(routing step)才可能使用该对象;在其他任务中的路径选择过程不能存取该对象。

(2) Exclusive-allow-read(*EXCLRD): 占用该锁的路径选择过程可能读或更新该对象,而其他任务中的路径选择过程只能读它。

(3) Shared-for-update(*SHRUPD): 占用该锁的路径选择过程以及在其他任务中的路径选择过程是可以读或更新该对象。

(4) Shared-no-update(*SHRNUP): 占用该锁的路径选择过程只可以读该对象;而在其他任务中的路径选择过程也是只读该对象。

(5) Shared-for-read(*SHRRD): 占用该锁的路径选择过程只可以读该对象;而在其他任务中的路径选择过程是可以读或更新该对象。

缺省情况下,CL和HLL(高级语言程序)程序只在输入(I)物理文件成员的数据上放置SHRRD锁,并在只输出(O)和输入-输出(U)物理文件成员的数据上放置*SHRUPD锁。

后面这一句不是很理解,为什么O/U类型的文件不放*EXCLRD锁呢?个人理解应是只允许当前程序更新, 别的程序只能读。需要高手指教!

显示对象(object)和记录(record)的锁有三个命令:

(1) wrkobjlck: 查看由所有任务在一个对象上使用的lock。

(2) dsprcdlck(display record locks): 查看一个物理文件中已锁定的记录. (3) dspjob: 查看一个任务的所有外部锁,包括已使用的那些锁和该任务正等待使用的那些

- 23 -

AS400学习笔记 2006/04,Daniel,Easycon

锁。

3.3 AS400口令问题

A:我们公司一台as400,好久没有关机了,今天居然发现秘密不对,里面有重要的应用,而且用户也给锁掉了,不知道该怎么办,希望大侠指点。

Q:如果是DST 密码不对,可以用 22222222 登陆,密码22222222,或者用户11111111,密码11111111

如果是IPL用户密码不对,则需要在控制面板调到 01 D M V=F,放入系统光盘第一张,起来后,把系统的密码恢复。

A:5.1的DST密码被改了,现在把密码忘了,怎么把密码取出 Q:CHGDSTPWD *DEFAULT

需要用QSECOFR用户,而且新的密码不能与以前所用的相同

3.4 实用命令

?

?

查看当前所有用户情况

wrkusrjob user(*all) status(*active) jobtype(*interact) astlvl(*basic) 查看系统SPOOL FILE WRKSPLF 查看用户属性 wrkusrprf

把某个文件发送到打印机上

CHGPRTF FILE(FILENM) OUTQ(PRINTER NAME)

?

?

?

对PGM的操作命令

CRTPGMMOD 创建PGM MODULE CRTPGM 创建PGM UPDPGM 更新PGM DLTPGM 删除PGM

修改用户口令

修改口令使用命令 CHGPWD ? 系统授权相关命令

系统权限分为两个主要类型:特殊权限和指定权限。特殊权限是由用户特征文件来定义的;指定权限则允许用户对系统目标指定操作。

指定权限使用命令: GRTOBJAUT 来授权,使用 RVKOBJAUT 来收回权限,或者使用命令 EDTOBJAUT 编辑权限。 ? 查看周期作业的定义信息:

WRKJOBSCDE QSYS Work with Job Schedule Entries

?

3.5 常用CL命令

系统功能 命令 命令功能 - 24 -

AS400学习笔记 2006/04,Daniel,Easycon

修改过程控制 CL过程界限 CL过程逻辑 CALL (Call) CALLPRC (Call Procedure) RETURN (Return) PGM (program) (1) ENDPGM (End Program) (1) IF (If) (1) ELSE (Else) (1) DO (Do) (1) ENDDO (End Do) (1) GOTO (Go To) (1) 调用一个程序 调用一个过程 返回到引起程序或过程运行的下一条命令 指出CL过程源码的开始 指出CL过程源码的结束 根据逻辑表达式的值执行命令 对IF命令为假条件定义采取的行动 指出DO组的开始 指出DO组的结束 转移到另外的命令 修改CL变量的值 说明一个变量 修改CL变量的值 修改日期格式 修改数据区 生成一个数据区 删除一个数据区 显示一个数据区 把数据区的内容复制到一个CL变量中 取消由前面的RCVF,SNDF或SNDRCVF 命令对一个显示文件发出的输入请求. 说明一个显示文件或数据库文件 从显示文件和数据库文件中读记录 CL过程变量 替换 数据区 CHGVAR (Change Variable) (1) DCL (Declare) (1) CHGVAR (Change Variable) (1) CVTDAT (Convert Date) (1) CHGDTAARA (Change Data Area) CRTDTAARA (Create Data Area) DLTDTAARA (Delete Data Area) DSPDTAARA (Display Data Area) RTVDTAARA (Retrieve Data Area) 文件 ENDRCV (End Receive) (1) DCLF (Declare File) (1) RCVF (Receive File) (1) RTVMBRD (Retrieve Member Description) (1) 取得数据库文件成员的描述 SNDF (Send File) (1) SNDRCVF (Send/Reveive File)(1) WAIT (Wait) (1) 信息 MONMSG (Monitor Message)(1) RCVMSG (Receive Message)(1) RMVMSG (Remove Message)(1) RTVMSG (Retrieve Message)(1) SNDPGMMSG(Send Program Message)(1) SNDRPY (Send Reply)(1) SNDUSRMSG(Send User Message)(1) 往显示文件中写记录 往显示文件中写记录,在用户回答后读记录 等待从显示文件发出的SNDF,RCVF或SNDRVF命令接收文件 监控送往程序队列的逃逸,状态和通知信息 把信息从信息队列复制到一个CL变量中 从信息队列取消信息 把预先定义的信息从信息文件复制到CL变量中 往信息队列发送程序信息 给查询信息的发送者发送回答信息 给显示工作站或系统操作员发送消息或查询信息 - 25 -

本文来源:https://www.bwwdw.com/article/0d1g.html

Top