Chinaunix首页 | 论坛 | 博客
  • 博客访问: 32325
  • 博文数量: 9
  • 博客积分: 75
  • 博客等级: 民兵
  • 技术积分: 70
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-09 23:08
个人简介

好好工作,好好生活!

文章分类
文章存档

2013年(9)

分类: 其他UNIX

2013-03-14 23:31:24

WRKACTJOB
这个使用的频率应该是最高的吧,在这里只提一个比较有用的用法:Coding的时候断线异常退出时,再登录之后,用2进入刚才编辑的程序,不是会报错“正在被使用”嘛。除了等一会,一直等到它自动退出之外,还可以用WRKACTJOB + 10,来查找刚才自己的那个进程(显示出来的命令应该是STRSEU),然后把它KILL掉就行了。
DSPFD
DSPFD + PF名,查看文件的信息,包括文件的MEMBER数,总记录数,被删除的记录数,CCSID等等。
DSPFD + LF名,查看逻辑文件的键值,结合DSPDBR,可以找出一个PF文件对应的所有LF文件的键值。
DSPFD + 库名 + *MBRLIST,可以看到该库之下所有的文件名。
这个命令可以使用*OUTFILE,将输出变成一个文件。灵活运用,将会是很多自行编写的工具的基础之一。
DSPFFD
注意,和上面的命令相差一个“F”,表示查看PF文件的字段信息。比如该PF文件共有多少个字段,每个字段的类型如何。
与DSPFD相似,DSPFFD也可以使用*OUTFILE,将输出变成一个文件。同理,灵活运用,也是众多自行编写工具的基础。
MRGSRC
比较两个程序的差异。按照A、B、A的顺序,MRGSRC时,A程序在上面,B程序在下面,白色的地方,即表示两个程序的差异。
F13表示接受当前差异,F17表示接受所有差异,F16表示继续查找下一处差异。
在接受差异时,表示按照B程序,更改A程序。(即B程序不变)
把SPLF变成MEMBER(源文件)
必须知道SPLF名,以及生成SPLF的JOB、USR、NUMBER名
CRTSRCPF FILE(库名/SRCPF) RCDLEN(212) IGCDTA(*YES)
CHGPF FILE(库名/SRCPF) CCSID(935)
CRTPF FILE(库名/PF) RCDLEN(200) IGCDTA(*YES)
CPYSPLF FILE(SPLF名) TOFILE(库名/PF) +
JOB(NUMBER名 / USER名 / JOB名) SPLNBR(*LAST)
CPYF FROMFILE(库名/PF) TOFILE(库名/SRCPF) +
TOMBR(MBR0001) MBROPT(*ADD) FMTOPT(*CVTSRC)
最后,SRCPF下的MBR001就是SPLF转成的MEMBER
当然,做为中间转换的临时文件,PF文件会保留SPLF的信息。
把MSGF变成SPLF
CHGSYSLIBL LIB(QSYS2989)
DSPMSGD RANGE(*FIRST *LAST) MSGF(MSGF所在库名/MSGF名) +
DETAIL(*BASIC) OUTPUT(*PRINT)
CHGSYSLIBL LIB(QSYS2989) OPTION(*REMOVE)
这个命令,再结合上面的“把SPLF变成MEMBER”,就可以把MSGF搞成MEMBER,然后再FTP到WINDOWS上,就可以很方便地查找已定义的MSG信息了。
不过必须要有权限执行CHGSYSLIBL这个命令。
DSPOBJD
根据程序名,查找编译时源代码所在的库名、SRCFILE名。
DETAIL参数用“*SERVICE”,OBJTYPE选项用“*PGM”
不过好象RPGLE的程序用这个命令查不出来,要用DSPPGM命令。
DSPPGM
根据目标
DSPPGM + RPGLE程序名,参数用“*MODULE”,然后再选择5,就可以看到编译时RPGLE程序时,源代码所在的库名,SRCFILE名。
DSPDBR
根据物理文件查其对应的所有逻辑文件
DSPPGMREF
查找程序与PF、LF的关系。
PGM参数用“*ALL”,OUTPUT参数用“*OUTFILE”,OBJTYPE参数用“*ALL”,然后执行,再输入输出文件名与所在库就可以了。然之后,就可以SQL在这个生成的文件中查找(生成的过程可能会有点慢,要耐心)。
在生成的文件中,字段WHRFNM,表示记录格式名。举例来说,如果物理文件更改过,那么物理文件与逻辑文件就都重新编译过了,所以它们对应的的所有的程序都要重新编译,通常物理文件与逻辑文件使用相同的记录格式名(当然,如果不同就算了)这时就需要按记录格式名来查找。比如SELECT * FROM 刚生成的文件 WHERE WHRFNM = “记录格式名”,找出所有涉及到这个记录格式名的程序。
在生成的文件中,字段WHFNAM,表示文件名,包括物理文件与逻辑文件。比如说当我们只修改了某个逻辑文件时,那么当然是只需要重新编译与该逻辑文件有关的程序,也就是说只根据文件名来查找就足够了。
RTVCLSRC
如果编译CL程序时,不是刻意带*NONE参数,那么一般来说CL程序都可以使用这个命令来反编译。具体用途试试便知
RGZPFM
重整文件,即回收已删除记录的空间。不过这个命令我没实际用过。
WRKMSGQ QSYSOPR
显示错误信息
CHGCMGDFT
更改某些命令的默认参数,如更改CRTPF的WAITRCD参数:
CHGCMDDFT CMD(QSYS/CRTPF) NEWDFT(‘WAITRCD(*IMMED)’)

 

DSPDBR + 物理文件名,查看该物理文件对应的逻辑文件

CLRPFM  清空文件

wrksplf     显示工作池

StrDBG  进入调试状态

EndDBG  终止调试

  

Go LICPGM      安装程序菜单

Go ASSIST      辅助菜单

DspWSUsr       显示用户信息

Go CMDFile     命令菜单

Go Major       主菜单

 
SNDMSG          发送消息
SNDBRKMSG       发送中断消息
DSPMSG          显示消息
WRKMSG          处理消息
WRKMSGQ         处理消息队列
CRTMSGQ         创建消息队列
DLTMSGQ         删除消息队列
CHGMSGQ         修改消息队列
CLRMSGQ         清除消息队列
 
DSPOBJD         显示对象描述符
WRKOBJ          管理对象
MOVOBJ          移动对象
RNMOBJ          重命名对象
CRTDUPOBJ       创建对象副本
WRKOBJPDM       进入程序开发对象管理器
CPYF            复制文件
CHKOBJ          检查对象
ALCOBJ          分配对象
DLCOBJ          收回对象
WRKOBJLCK       进入锁定对象
 
CLRLIB          清除库
CRTLIB          创建库
CPYLIB          复制库
DLTLIB          删除库
DSPLIB          显示库
DSPLIBD         显示库描述符
WRKLIB          管理库
CHGCURLIB       改变当前库
ADDLIBLE        加入库列表节点
CHGLIBL         改变库列表
RMVLIBLE        删除库列表节点
EDTLIBL         编辑库列表
CHGSYSLIBL      改变系统库列表
 
WRKFLR     管理文件夹
WRKLNK     管理对象链接
 
与子系统描述相关的命令:
STRSBS                启动子系统
ENDSBS                终止子系统
WRKSBS        管理子系统
WRKSBSJOB     管理子系统作业
CHGSBSD       改变子系统描述 
CRTSBSD    创建子系统描述 
DLTSBSD    删除子系统描述 
DSPSBSD    查看子系统描述 
PRTSBSDAUT  打印子系统描述 
WRKSBSD     可对子系统描述进行创建、修改、删除等操作
阅读(1856) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~