我不知道怎么可以自己创建一个命令直接拿来使用 请各位大虾指点一下 可以吗
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)
|