- 论坛徽章:
- 0
|
我的刚刚大学毕业,工作在AS400快大半年了,以下这些是我对这大半年来的总结,希望大家给点意见。
我长话短说
1.一些命令
CRT* 用来寻找所有Create 开头的命令
STR* 用来寻找所有Start 开头的命令
SND* 用来寻找所有Send 开头的命令
GRT* 用来寻找所有Grant 开头的命令
上面讲了一点 就是要用*这个通配符(还有就是要学会使用F1和F4,个人认为这个是AS400的特色)
2.实用小工具
Chinunix上面有个DL400.exe 的小程序可以用来下载Source
对于AS400上面的教程制作 我在论坛当中看到过有这个命令
STRCPYSCN
不过我还要推荐一个屏幕录像工具Hyper Cam这个工具也比较实用。
AS400的模拟器(IBM个人通信) 这个东西里面的宏很好用可以帮助你作一些重复性的工作 比如自动等如
例子:
[PCOMM SCRIPT HEADER]
LANGUAGE=VBSCRIPT
DESCRIPTION=
[PCOMM SCRIPT SOURCE]
OPTION EXPLICIT
autECLSession.SetConnectionByName(ThisSessionName)
REM This line calls the macro subroutine
subSub1_
sub subSub1_()
autECLSession.autECLOIA.WaitForAppAvailable
autECLSession.autECLOIA.WaitForInputReady
autECLSession.autECLPS.SendKeys "USERNAME"
autECLSession.autECLOIA.WaitForInputReady
autECLSession.autECLPS.SendKeys "[fldext]"
autECLSession.autECLOIA.WaitForInputReady
autECLSession.autECLPS.SendKeys "USERPASSWORD"
autECLSession.autECLOIA.WaitForInputReady
autECLSession.autECLPS.SendKeys "[fldext]"
autECLSession.autECLOIA.WaitForInputReady
autECLSession.autECLPS.SendKeys "[enter]"
autECLSession.autECLPS.WaitForAttrib 1,1,"20","3c",3,1000
autECLSession.autECLPS.Wait 1000
autECLSession.autECLOIA.WaitForAppAvailable
autECLSession.autECLOIA.WaitForInputReady
autECLSession.autECLPS.SendKeys "[enter]"
end sub
上面这段代码复制到文本文件中 然后修改后缀名.txt为.mac
把延时设置为1000差不多了 默认为10000,有时候这个设置会很有用
上面是在我自己电脑上面设置通过测试 不过在你们的电脑上面可能需要微调
关于软件自动化 我还要推荐一个小软件叫做AutoHotKey
这个软件可以在Windows 下面编写脚本帮助我们在AS400上面做一些自动化
比如我们通过IBM个人通信对AS400上面的Source进行Promote(STRACMS)
描述:我们需要对成千上万个Source进行Promote,用人手工去做比较慢,所以考虑自动化
(另外做个Excel 表格作为文件列表,如果想检验完整性,可以用Excel 里面的公式来check A列和B列
A列是文件列表,列是AS400上面复制来的列表,较他们时候正确一致,同的话就手动加工下)
WinWait, Program Manager,
IfWinNotActive, Program Manager, , WinActivate, Program Manager,
WinWaitActive, Program Manager,
Send, {ALTDOWN}{TAB}{TAB}{ALTUP}
WinWait, Session A - [24 x 80],
IfWinNotActive, Session A - [24 x 80], , WinActivate, Session A - [24 x 80],
WinWaitActive, Session A - [24 x 80],
Send, 7{RIGHT}{RIGHT}{RIGHT}{SHIFTDOWN}{RIGHT}{RIGHT}{RIGHT}{RIGHT}{RIGHT}{RIGHT}{RIGHT}{RIGHT}{RIGHT}{RIGHT}{RIGHT}{RIGHT}{SHIFTUP}{CTRLDOWN}c{CTRLUP}{ALTDOWN}{TAB}{ALTUP}
WinWait, Microsoft Excel - promote 1,
IfWinNotActive, Microsoft Excel - promote 1, , WinActivate, Microsoft Excel - promote 1,
WinWaitActive, Microsoft Excel - promote 1,
Send, {RIGHT}{CTRLDOWN}v{CTRLUP}{DOWN}{LEFT}{CTRLDOWN}c{CTRLUP}{ALTDOWN}{TAB}{ALTUP}
WinWait, Session A - [24 x 80],
IfWinNotActive, Session A - [24 x 80], , WinActivate, Session A - [24 x 80],
WinWaitActive, Session A - [24 x 80],
Send, {UP}{SHIFTDOWN}{TAB}{SHIFTUP}{CTRLDOWN}v{CTRLUP}{ENTER}
上面这段是Promote一个Source 你们可以对这个进行下加工写一个Loop循环再加上输入输出接口,让USER进行输入。
还有一个比较强大的自动测试工具,就是Winrunner,人家用这个来测试基于OOP的程序的,不过我们也可以用这个来实现AS400的自动测试,把IBM个人通信当作一个程序,对里面的人机接口进行自动化的描述,这方面本人还在研究中
用FTP命令的时候如果遇到Replace的话,那么要写单括号
FTP://xx.xx.xx.xx
Username Password
CD xxxx
LCD xxxxx
BIN
MGET OBJECT.MEMBER (REPLACE
这个可以传送PF-Database 和 Source 其他的不能传 希望指教。
这个名利可以帮助你在不同的AS400主机之间传送Spool FIle
SNDTCPSPLF RMTSYS(*INTNETADR) PRTQ(OUTQ) FILE(XXXXXXXXXX) JOB(XXXXXX/XXXXXXXXXX/XXXXXXXXXX) SPLNBR(XXXXXXXXXXX) JOBSYSNAME(XXXXXXXX) DESTTYP(*AS400) TRANSFORM(*NO) INTNETADR('XXX.XXX.XXX.XXX')
以上是我这些时间来的总结,如果有不正确的地方,希望大家帮我指正,我希望能和大家一起交流互相提高。
[ 本帖最后由 audiotech 于 2007-1-18 23:34 编辑 ] |
|