RPG AS400程序員培訓手冊_第1頁
RPG AS400程序員培訓手冊_第2頁
RPG AS400程序員培訓手冊_第3頁
RPG AS400程序員培訓手冊_第4頁
RPG AS400程序員培訓手冊_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

OPEN后面的目標,必須是在當前程序中已聲明的文件名(不是文件的記錄格式名),而且在OPEN操作之后,在程序結束之前之前,必須有對應的CLOSE操作。使用OPEN操作,文件在聲明時,必須使用USROPN關鍵字(詳見IFFLD01>FLD03ORFLD0而且可以用來表達一些復雜的邏輯關系。有鑒于此,所以通常IF語句中,我會以總覺得這種寫法的邏輯關系看起來不直接,尤其是有很復雜的AND,OR時。OTHER(OtherwiseSelect)分WHEN條件判斷1行處理語句3(即當程序當前不滿足以上所以條件判斷時,則執(zhí)行OTHER之后的語句。處理語句允許有很多句;條件判斷可以寫得很復雜,也允許對不同的字段進寫做:即WHEN與ELSEIF是類似的,這樣說,應該可以明白了吧??傊琒ELECT—ENDSL是一個很好用的語法,尤其是在表示很多不同的分支處理時。沒用過,講數(shù)據(jù)域的。PARM(IdentifyParameters)定義關于具體內容講解,詳見前面所說“入口參數(shù)”一章。法,不過我不知道它具體表示什么意思,也不知道該怎么用。請用過的來補充。PLIST(IdentifyaPREAD后面跟的,必須是聲明的文件記錄格式名;),需要讀取的記錄仍被鎖,將會打開LO指EQ指示器為是否讀到指示器。當未讀到任何記錄時,打開EQ指示器,即*IN46=’1’2.當文件在程序中,是用只讀的方式聲明時,READ操作并不會造成鎖表;如果文件在程序中是用修改的方式聲明,READ操作成功后,),),即這樣讀文件,就不會鎖記錄,但是同時也不能修改記錄。如果需要修改在修改之前(包括對文件字段賦值之前),還必須再對該記錄進行一次定位操作(比如3.當執(zhí)行READ操作時,程序是一條記錄。關于游標是如何指向,還不是一個很簡單的問題,所以將會在據(jù)庫相關知識”中具體講解。語法與READ操作碼大致一樣,這里不再IF*IN15=’1’錄。當讀取記錄結束,或鍵值不等時,退出循環(huán)作碼換成READ操作碼的話(當然,F(xiàn)actory1處也就循環(huán)”這一層意思,只是讀不到記錄時就退出循環(huán),但有時我們使用邏輯文件,它的排序,而不需要讀不到鍵值相等的記錄就退出循是READE操作碼,需要根據(jù)實際的要求來決定。以上的Factory1處填寫值的系統(tǒng)處理,當READE操作碼在系統(tǒng)實際上是將當前的值與讀到的上一條記錄!),如果沒有與FHSKEY鍵值相同的錄,那么系持正常地往下讀,直到找到與讀到的第一條記錄關鍵字不同的記錄,才會打開EQ指示器,所以要注意。錄,游標指向第二條記錄;讀完第二條記錄,游標指向第三條記錄,依條記錄。但READP則正好相反,游標是上移錄;讀完第二條記錄后,游標指向第一條記錄,直至讀完第一條記錄。某些情況下,使用READP操作,又的確會很程序時多實踐。雖然我沒用過,但猜想它應該就是指游標上移,按鍵值去讀取文件。與READP就類似于READE與READ的關系。將數(shù)據(jù)結構賦值成為初始值。注意是初始值,不是清空。如定義結構:那么,不管對該結構如何賦值,當執(zhí)行語句:RETURN是程序結束。起,做為程序的結束。這里,再詳細解釋一下兩者之間的區(qū)別,以及關系:句開始執(zhí)行,造成死循環(huán)。在簡單的程序流程這個例子中,程序原來只記錄,而如果沒有RETURN的話,記錄,然后系統(tǒng)報錯,異常中斷。(這種離奇的現(xiàn)象現(xiàn)在又測這一組記錄寫到磁盤上。那么如果這時BLOCK沒滿,數(shù)據(jù)信息有其它作業(yè)用到該文件,讀取的數(shù)據(jù)就不完整。”但如果文件有唯一鍵字,或記錄日志,必須同步寫時,其實BLOCK實際被忽略,是此時不會有錯。目前我們用的是MIMIX備份,客戶時不寫也不會出現(xiàn)上述錯誤。但為避免一些潛在的SETONLR與RETURN一會被PURGE出內存,可提高調用效率。不到程序結束的語句,所以大可放心。2.該操作碼無其它參數(shù),就是指對事務處理進行回滾操作。3.ILE程序中,ROLBK操作可隨時進行,的情況下,仍進行ROLBK操作(對該進程這前的事務進行確認處理)f4.關于日志的確認回滾操作,在后面會另設專門章節(jié)講述。FLD01SCANFLD02NFLD01可以是字符,也可以是字符變量;可以是一位長,也可以是多位長。位置,賦值給N;FLD01SCANFLD02:2N如上句,即表示從FLD02的第2位,在實際使用中,比如說我們判斷某個字符是否為數(shù)字,就可以先定義一個0—9的常量,在操作碼“OTHER”中講過,為方便讀者,列出簡單語法如下:要注意,SELECT操作碼,必須有對應的ENDSL操作碼,否則編譯無法通過。這個READ操作,READ到的,是第定位到大于鍵值的第一條記錄前。在實際使用中,如果我們是按邏輯文件讀取,而且讀了一條記錄之后,對其鍵值相同的同的變量,即如果文件是使用多個字段做為鍵值,那么我們也需要先定義一個組量,然后Factory1處填寫這個組合鍵值的變量名。當聲明文件的鍵值有多項時,F(xiàn)actory1那么READ操作碼讀到的記錄,就是第2條記錄,看到了吧,SETLL操作碼還可以用來簡單判斷EVALFLD01=’01’EVALFLD02=’02’當文件中有相應記錄時,EQ指示器打開,即*IN44=’1’而在這種用法中,SETLL與CHAIN的區(qū)僅僅只是判斷該記錄是否存在。所以用SETLL操作,不能修改記錄,也無法取出記錄的值。只能判斷記錄是否存在。如果要修改記錄,或取出記錄的值,還需要有一個讀取定位的操作,SETOFF(SetIndicatEVAL*IN10=’0’EVAL*IN11=’0’EVAL*IN12=’0’EVAL*IN10=’1’EVAL*IN11=’1’EVAL*IN12=’1’多說了。FLD01SUBDURN:*Y表示將日期型變量FLD01減去N年,賦值到日期型變量N可以是一個數(shù)字型變量,也可以就是一個數(shù)字,N允許為負數(shù)FLD01SUBDURFLD02表示從字段FLD01的第3位開始,取要求字段FLD01的長度必須大于或等于3+2位,否則程EVALFLD02=%SUBST(FLD表示的是同樣的意思。相比較之下,%SUBST還有一種用法,就是對字符的指定位置賦值,這個就厲害了:EVAL%SUBST(FLD02:3:2)=’01’于“01”TIME(TimeofDay)--取當前系統(tǒng)時間UNLOCK{(E)}(Unlock會把修改后的結果保存下來,即修改文件,而UNLOCK前對文件字段做的賦值修改。從程序的執(zhí)行效率上來講,UNLOCK的是簡單的解鎖而已。UPDATE(ModifyExistingRecord)修語法與UNLOCK一樣。以及ROLBK語句時,等于是解鎖,此操作;WHEN條件判斷1使用WHENxx這個操作碼。WRITE(CreateNewRecords)常用的方式:表示在文件中寫入一條新記錄。文件需要聲明為可寫的。通常會在給文件字段賦值之前,作一次CLEAR的麻煩。沒用過,看幫助,是表示對數(shù)組字段的累加統(tǒng)計。假設DIMDATA定義為一個數(shù)字型的數(shù)組變量,F(xiàn)HS01就表示將數(shù)組DIMDATA中的所有記錄的值都將一個字符串中指定的字符,更換成另外的字符。CMOVEL'ABCAAAC123C'A':'9'XLATEMYCHAR有的“A”都變成了“9”;XLATE也可能指定起始位置。如上句更改為:),賦值。端,只能在數(shù)字型變量之間賦值。所以也沒有什么可說的了。EVALFLD01=*ALL’0’表示將字符型變量FLD01賦值為全’0’而%LEN取字符串的長度,舉例:EVALMYLEN=%LEN這句話的意思,是指取字符串FLD01的長度,不用%LEN操作碼,取到的是字符串的總長度,不是有效所以,%LEN通常會與%TRIM或是%TRIMR一起使用,語法在下面介紹。都是去字符串變量中的空字符意思,%TRIM是去字符串左邊的空字符

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論