免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4251 | 回复: 8
打印 上一主题 下一主题

各位大虾 请教一下如何创建一个命令 [复制链接]

ivanma 该用户已被删除
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-20 14:33 |只看该作者 |倒序浏览
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
2 [报告]
发表于 2006-08-20 18:58 |只看该作者
你可以用RPG,或者CLP写一个程序,这个程序就是实现你想用的功能,把它编译到指定的LIB里,每次用的时候直接CALL CLP或者RPG,不就可以了么
ivanma 该用户已被删除
3 [报告]
发表于 2006-08-20 21:41 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
4 [报告]
发表于 2006-08-21 09:00 |只看该作者
那是先建立一个CL程序,以后用CMD来指定

论坛徽章:
0
5 [报告]
发表于 2006-08-21 10:13 |只看该作者
有一种SOURCE的类型是CMD.就是用来定义CMD的.
写好PGM,然后编写CMD定义参数,最后用CRTCMD创建CMD.

论坛徽章:
0
6 [报告]
发表于 2006-08-21 15:20 |只看该作者
创建自己的命令

   用户在日常管理中,经常会重复使用同一命令,但命令又很长,用户可以创建用CRTDUPOBJ; CHGCMDDFT创建自己的命令简化操作。



例如:命令WRKUSRJOB USER(*ALL) STATUS(*ACTIVE) JOBTYPE(*INTERACT) ASTLVL(*BASIC)



可以按以下步骤进行操作:



A.    输入命令CRTDUPOBJ(Create Duplicate Object)并按F4键。



                       Create Duplicate Object (CRTDUPOBJ)                     

                                                                                

Type choices, press Enter.                                                     

                                                                                

From object  . . . . . . . . . . > WRKUSRJOB     Name, generic*, *ALL         

From library . . . . . . . . . . > *LIBL         Name, *LIBL, *CURLIB         

Object type  . . . . . . . . . . > *CMD          *ALL, *ALRTBL, *AUTL...      

                + for more values                                               

To library . . . . . . . . . . . > YOURLIB       Name, *FROMLIB, *SAME...      

New object . . . . . . . . . . . > USERJOB       Name, *OBJ, *SAME            

From ASP device  . . . . . . . .   *             Name, *, *CURASPGRP, *SYSBAS  

To ASP device  . . . . . . . . .   *ASPDEV       Name, *ASPDEV, *...           

                                                                                

                                                                                

                                                                         Bottom

F3=Exit   F4=Prompt   F5=Refresh   F12=Cancel   F13=How to use this display   

F24=More keys                                                                  

                                                                                

在用户所在的库(yourlib)中创建WRKUSRJOB命令的副本userjob



B. .在AS/400命令行输入CHGCMDDFT(Change Command Default)命令,



                       Change Command Default (CHGCMDDFT)                       

                                                                                

Type choices, press Enter.                                                     

                                                                                

Command  . . . . . . . . . . . . > USERJOB       Name                          

Library  . . . . . . . . . . . >   yourlib     Name, *LIBL, *CURLIB         

New default parameter string . . > 'status(*active) jobtype(*interact)'        

                                                                                

                                                                                

                                                                              

                                                                                

                                                                         Bottom

F3=Exit   F4=Prompt   F5=Refresh   F12=Cancel   F13=How to use this display   

F24=More keys                                                                  

                                                                                

这样一条新的命令被定义成功。

可以在AS/400命令行输入yourlib/userjob 来执行你需要的功能。



(该篇文档原作者:JACKSU,编辑:王鹏程)

论坛徽章:
0
7 [报告]
发表于 2006-08-21 21:43 |只看该作者
step 1:   CRTSRCPF   (QCLSRC)
CRTSRCPF (QCMDSRC)

Create two source code and you can set as the same name, and compile it. please compile the CLP/Rpg FIRST, Then compile the Command.

论坛徽章:
0
8 [报告]
发表于 2006-08-22 09:01 |只看该作者
WRKD command source CMD001.


  /*---------------------------------------------------------------*/
  /*  WRKCFGSTS ON A *DEVICE      CPP = CMD001CL                   */
  /*---------------------------------------------------------------*/

              CMD         PROMPT('WRKCFGSTS- Work with a device')
              PARM        KWD(DEV) TYPE (*CHAR) LEN (10) RSTD(*NO) +
                            DFT(*ALL) MIN(0) PROMPT('Device Name:')




WRKD command-processing program CMD001CL.


   PGM         PARM(&DEV)
                 DCL         &DEV *CHAR LEN(10)
                 DCL         &MESAGE *CHAR LEN(80)

                 IF          COND(&DEV *NE '*ALL') THEN(DO)
                 CHKOBJ      OBJ(QSYS/&DEV) OBJTYPE(*DEVD)
                 MONMSG      MSGID(CPF9801) EXEC(DO)
                 CHGVAR      VAR(&MESAGE) VALUE('DEVICE-' *CAT &DEV +
                             *BCAT ' NOT FOUND. CHECK EVICE NAME.')
                 SNDPGMMSG   MSG(&MESAGE) TOPGMQ (*EXT)
                 GOTO        END
                 ENDDO
                 ENDDO
                 WRKCFGSTS   CFGTYPE (*DEV) CFGD(&DEV)
   END:          ENDPGM

然后用下面的命令创建你想要的命令
CRTCMD CMD(MYLIB/WRKD) PGM(MYLIB/CMD001C) SRCFILE(MYLIB/QCMDSRC) SRCMBR(CMD001) ALLOW(*INTERACT)

论坛徽章:
0
9 [报告]
发表于 2011-04-11 16:26 |只看该作者
看帖回复是必须的,我说咋权限这么少呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP