首页 > 学技术 > 技术网文 > IBM AS400应用论坛 > 正文

[精华] 各位大虾 请教一下如何创建一个命令


来源 chinaunix.net 酷勤网整理

我不知道怎么可以自己创建一个命令直接拿来使用   请各位大虾指点一下 可以吗



 leason 回复于:2006-08-20 18:58:55

你可以用RPG,或者CLP写一个程序,这个程序就是实现你想用的功能,把它编译到指定的LIB里,每次用的时候直接CALL CLP或者RPG,不就可以了么


 ivanma 回复于:2006-08-20 21:41:15

我主要是想做个COMMAND 出来  不用 CALL 而是直接用就可以了 甚至可以排F4 还可以象400的命令一样有参数输入提示的 有办法吗?


 fairyboy 回复于:2006-08-21 09:00:22

那是先建立一个CL程序,以后用CMD来指定


 子樵 回复于:2006-08-21 10:13:37

有一种SOURCE的类型是CMD.就是用来定义CMD的.
写好PGM,然后编写CMD定义参数,最后用CRTCMD创建CMD.


 居士 回复于:2006-08-21 15:20:33

创建自己的命令

   用户在日常管理中,经常会重复使用同一命令,但命令又很长,用户可以创建用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,编辑:王鹏程)


 aliceliu 回复于:2006-08-21 21:43:40

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.


 pantierui 回复于:2006-08-22 09:01:57

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)




原文链接:http://bbs.chinaunix.net/viewthread.php?tid=814583
转载请注明作者名及原文出处



收藏本页到: