- 論壇徽章:
- 0
|
我的剛剛大學(xué)畢業(yè),工作在AS400快大半年了,以下這些是我對這大半年來的總結(jié),希望大家給點意見。
我長話短說
1.一些命令
CRT* 用來尋找所有Create 開頭的命令
STR* 用來尋找所有Start 開頭的命令
SND* 用來尋找所有Send 開頭的命令
GRT* 用來尋找所有Grant 開頭的命令
上面講了一點 就是要用*這個通配符(還有就是要學(xué)會使用F1和F4,個人認(rèn)為這個是AS400的特色)
2.實用小工具
Chinunix上面有個DL400.exe 的小程序可以用來下載Source
對于AS400上面的教程制作 我在論壇當(dāng)中看到過有這個命令
STRCPYSCN
不過我還要推薦一個屏幕錄像工具Hyper Cam這個工具也比較實用。
AS400的模擬器(IBM個人通信) 這個東西里面的宏很好用可以幫助你作一些重復(fù)性的工作 比如自動等如
例子:
[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
上面這段代碼復(fù)制到文本文件中 然后修改后綴名.txt為.mac
把延時設(shè)置為1000差不多了 默認(rèn)為10000,有時候這個設(shè)置會很有用
上面是在我自己電腦上面設(shè)置通過測試 不過在你們的電腦上面可能需要微調(diào)
關(guān)于軟件自動化 我還要推薦一個小軟件叫做AutoHotKey
這個軟件可以在Windows 下面編寫腳本幫助我們在AS400上面做一些自動化
比如我們通過IBM個人通信對AS400上面的Source進行Promote(STRACMS)
描述:我們需要對成千上萬個Source進行Promote,用人手工去做比較慢,所以考慮自動化
(另外做個Excel 表格作為文件列表,如果想檢驗完整性,可以用Excel 里面的公式來check A列和B列
A列是文件列表,列是AS400上面復(fù)制來的列表,較他們時候正確一致,同的話就手動加工下)
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循環(huán)再加上輸入輸出接口,讓USER進行輸入。
還有一個比較強大的自動測試工具,就是Winrunner,人家用這個來測試基于OOP的程序的,不過我們也可以用這個來實現(xiàn)AS400的自動測試,把IBM個人通信當(dāng)作一個程序,對里面的人機接口進行自動化的描述,這方面本人還在研究中
用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')
以上是我這些時間來的總結(jié),如果有不正確的地方,希望大家?guī)臀抑刚,我希望能和大家一起交流互相提高?/font>
[ 本帖最后由 audiotech 于 2007-1-18 23:34 編輯 ] |
|