亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: [網(wǎng)上收集篇]寫給剛接觸AS/400的朋友 [打印本頁]

作者: wyyhzc    時(shí)間: 2009-09-06 16:54
標(biāo)題: [網(wǎng)上收集篇]寫給剛接觸AS/400的朋友
1. 寫給剛接觸AS/400的朋友 --- 如何建立庫、文件和成員
鑒于很多朋友都還是剛接觸AS/400,我就從系統(tǒng)登陸開始簡(jiǎn)單說說吧!
打開AS/400仿真終端(可以是PCOM、CA等軟件,如何配置就不說了),輸入用戶名和密碼,進(jìn)入系統(tǒng)。
如果你的權(quán)限足夠的話,可以使用CRTLIB命令給自己建個(gè)庫,如:
CRTLIB LIB(MYLIB) TYPE(*TEST) TEXT('for test')
庫建好之后,你可以使用STRPDM->2,在Library處輸入庫名MYLIB,按確認(rèn)鍵就進(jìn)入該庫。
這時(shí)庫下面沒任何文件,你可以使用CRTSRCPF命令建立一個(gè)源物理文件,用來放置源碼,如:
CRTSRCPF FILE(MYLIB/MYSRCPF) IGCDTA(*YES) TEXT('源物理文件')
<注>: 參數(shù)IGCDTA(*YES)表示該源物理文件里頭的源碼文件都可以使用中文
到此為止,自己存放源碼的地方已經(jīng)生成,你可以直接使用以下命令直接進(jìn)入該源物理文件:
WRKMBRPDM FILE(MYLIB/MYSRCPF)
進(jìn)入該文件之后,就可以建立任何源碼文件了,按F6,顯示“Start Source Entry Utility (STRSEU)”畫面,參數(shù)說明如下:
1. Source member:表示建立的成員名,我們把它理解成存放源碼的文件就可以,類似WINDOW平臺(tái)的TXT文件;
2. Source type:表示建立的成員名的類型,如果不確定,可按 F4 查看,常用類型有
  (1)PF:     物理文件;
  (2)LF:     邏輯文件;
  (3)RPG:    RPG程序源碼文件;
  (4)RPGLE:  RPGLE程序源碼文件;
  (5)DSPF:   顯示文件;
  (6)CLP:    CLP程序源碼文件;
  (7)CMD:    命令文件
  ……
3. Text 'description':表示對(duì)該文件的描述,可填可不填。
上面的參數(shù)填好之后,即進(jìn)入源碼編輯環(huán)境,可以寫代碼了。
代碼寫完之后:
1. 如果要保存并且退出編輯器,按F3,出現(xiàn)“Exit”畫面,參數(shù)Change/create member置為Y即可。
2. 如果只想保存而不想退出的話,在編輯器的頂端的命令行輸入SAVE,按確認(rèn)鍵即可。
3. 如果要放棄更改,那么在編輯器的頂端的命令行輸入CAN,按確認(rèn)鍵即可。
以上整個(gè)過程,介紹了登陸系統(tǒng)、建立庫、建立源物理文件、建立成員(即源碼文件)的過程。
作者: wyyhzc    時(shí)間: 2009-09-06 16:59
標(biāo)題: 寫給剛接觸RPG的朋友 --- 如何編寫RPG程序(1)
以下結(jié)合例子簡(jiǎn)單說說各種情況,假設(shè)以下源碼文件存放的路徑是 庫MYLIB、源物理文件MYSRCPF
1. (1)做個(gè)簡(jiǎn)單的運(yùn)算,比如AXB/(C-D)+E,有加減乘除等運(yùn)算,代碼如下:

<注>:
    (a) Z-ADD表明把Factor2處的變量值賦給Result處的變量,值得注意的是這兩個(gè)變量都是數(shù)值型的,例如,"Z-ADD2 A 10 "表示把2賦給變量A,后面的"10"中的“1”表示變量A的長(zhǎng)度是1,“0”表示小數(shù)位長(zhǎng)度是0,即A是一個(gè)長(zhǎng)度為1整型變量;
    (b) MULT表示做乘法運(yùn)算,“A MULT B TEM”表示AXB,把結(jié)果賦給整型變量TEM;
    (c) SUB表示做減法運(yùn)算,“C SUB D RST”表示C-D,把結(jié)果賦給整型變量RST;
    (d) DIV表示做除法運(yùn)算,“TEM DIV RST RST”表示TEM/RST,把結(jié)果賦給整型變量RST;
    (e) MVR表示做取余數(shù)運(yùn)算,“MVR TEM2 30”表示把余數(shù)賦給整型變量TEM2;
    (f) ADD表示做取加法運(yùn)算,“RST ADD E RST”表示RST+E,把結(jié)果賦給整型變量RST,這句一般寫成“ADD E RST”也可以。
    (g) DSPLY表示顯示變量值,“RST DSPLY”表示顯示變量RST的值;
    (h) SETON表示給指示器置為*ON的狀態(tài),即'1',“SETON LR”表示把LR指示器置為*ON,該句的意思表示最后一條記錄,即程序結(jié)束。
按F3保存,假設(shè)該文件名是MYRPG,所在的庫是MYLIB,源物理文件是MYSRCPF。
程序?qū)懞弥螅瑧?yīng)該進(jìn)行編譯了。用WRKMBRPDM FILE(MYLIB/MYSRCPF),找到剛才的文件MYRPG,輸入14,按F4,進(jìn)入“Create RPG/400 Program (CRTRPGPGM)” 畫面,參數(shù):
(i) Program: 生成的目標(biāo)名(假如為MYOBJ);
(ii) Library:   生成的目標(biāo)存放的庫(假如為MYLIB)。
參數(shù)填好之后,按確認(rèn)鍵即進(jìn)行編譯,如果程序沒錯(cuò),則生成目標(biāo)文件,假設(shè)為MYOBJ。
在命令行輸入CALL MYLIB/MYOBJ,這時(shí)命令上應(yīng)該顯示RST的值。

[ 本帖最后由 wyyhzc 于 2009-9-6 17:20 編輯 ]
作者: wyyhzc    時(shí)間: 2009-09-06 17:07
標(biāo)題: 寫給剛接觸RPG的朋友 --- 如何編寫RPG程序(2)
上文中,只舉例說明了如何進(jìn)行簡(jiǎn)單的數(shù)學(xué)運(yùn)算,下面再舉一例子講解如何操作數(shù)據(jù)區(qū)(DATAARA)和數(shù)據(jù)隊(duì)列(DTAQ)。
1. (1) 如何建立數(shù)據(jù)區(qū)(DATAARA)
<注>:
    下面只建立*CHAR型的數(shù)據(jù)區(qū),其他類型的有興趣可以自己試試。在系統(tǒng)命令行輸入CRTDTAARA,按F4,進(jìn)入“Create Data Area (CRTDTAARA)”畫面,參數(shù)如下:
    (a) Data area:數(shù)據(jù)區(qū)的名字,這里假設(shè)為MYDTAARA;
    (b) Library:存放數(shù)據(jù)區(qū)的庫,默認(rèn)值是*CURLIB,即當(dāng)前庫,這里我們輸入MYLIB;
<注>:
    MYLIB庫之前的文章里頭已建立,這里不再重復(fù)講述了,如果還不知道如何建立,請(qǐng)參考《寫給剛接觸AS/400的朋友 --- 如何建立屬于自己的庫、文件和成員》
    (c) Type:數(shù)據(jù)區(qū)的類型,*DEC數(shù)值型,*CHAR字符型,*LGL邏輯型,*DDM分布式數(shù)據(jù)管理(這個(gè)我沒用過),這里我們選擇*CHAR;      
    (d) Length:數(shù)據(jù)區(qū)的長(zhǎng)度,這里假設(shè)是20,當(dāng)然你可以根據(jù)自己需要輸入對(duì)應(yīng)的長(zhǎng)度值;
    (e) Decimal positions:指小數(shù)位位數(shù),一般是針對(duì)*DEC型的才需要設(shè)置;
    (f) Initial value:數(shù)據(jù)區(qū)初始值,可填可不填,我們這里選擇不填,在程序里進(jìn)行更改;
    (g) Text:注釋。
整個(gè)命令請(qǐng)參考如下:
CRTDTAARA DTAARA(MYLIB/MYDTAARA) TYPE(*CHAR) LEN(20) TEXT('建立屬于自己的數(shù)據(jù)區(qū)MYDTAARA')
(2)在RPG里如何操作數(shù)據(jù)區(qū),假設(shè)該源碼文件名為DTAARAR,存放在MYLIB/MYFILE下:


<注>:
    (a) 第一行#DTA是字段名,與上面的Dsname左對(duì)齊,DS表示#DTA是個(gè)字段,與上面的Ds對(duì)齊,20表示字段#DTA的長(zhǎng)度,與上面的Len+右對(duì)齊,注意,由于我們需要用它來定義數(shù)據(jù)區(qū)MYDTAARA的格式,所以長(zhǎng)度要和MYDTAARA相同,整行的意思是定義一個(gè)長(zhǎng)度20的字段#DTA;
    (b) 第二第三行進(jìn)一步詳細(xì)定義字段#DTA的內(nèi)部結(jié)構(gòu),第二行的CURDAT是字段名,與Field+左對(duì)齊,1與From右對(duì)齊,8與To++右對(duì)齊,整行的意思是把大字段#DTA的第1~8位定義位另一個(gè)字段,第三行同樣的意思,在此不在贅述;
    (c) 第四行的DEFN表示定義,一般用來定義字段和數(shù)據(jù)區(qū),*NAMVAR是定義數(shù)據(jù)區(qū)格式時(shí)必用的參數(shù),整行的意思就是把數(shù)據(jù)區(qū)MYDTAARA的格式按照字段#DTA定義,以后對(duì)字段#DTA進(jìn)行操作就等于對(duì)數(shù)據(jù)區(qū)MYDTAARA進(jìn)行操作;
    (d) 第五行的IN用來讀數(shù)據(jù)區(qū),*LOCK表示操作時(shí)把數(shù)據(jù)區(qū)MYDTAARA鎖住,一般只有對(duì)數(shù)據(jù)區(qū)進(jìn)行更/新操作才需要設(shè)置才參數(shù),如果只是讀數(shù)據(jù)區(qū),則不用該參數(shù);
    (e) 第六行的TIME是取系統(tǒng)當(dāng)前日期和時(shí)間,整行的意思是把系統(tǒng)當(dāng)前日期和時(shí)間賦給一個(gè)14位長(zhǎng)0位小數(shù)的數(shù)值型變量DATTME中,由于系統(tǒng)當(dāng)前的日期和時(shí)間是按照“hhmmssMMDDYYYY”存放,所以剛好也是14位;
    (f) 第七行意思是把變量DATTME右移給字段CURDAT,所以CURDAT的值剛好是日期“MMDDYYYY”;
    (g) 第八行意思是把變量DATTME左移給字段CURTME,所以CURTME的值剛好是日期“hhmmss”;
    (h) 第九行的OUT表示對(duì)數(shù)據(jù)區(qū)進(jìn)行寫操作,記住Factor處是我們程序開始定義的大字段#DTA;
    (i) 第十行的UNLCK表示解鎖,因?yàn)槲覀冊(cè)诘谖逍惺褂昧藚?shù)*LOCK;
    (j) 第十一行表示程序結(jié)束。
    按 F3 退出編輯器并保存,進(jìn)行編譯,生成的程序名假設(shè)為DTAARAR,那么在命令行 CALL DTAARAR,那么數(shù)據(jù)區(qū)已經(jīng)成功更改了,使用命令 DSPDTAARA MYDTAARA 就可以查看數(shù)據(jù)區(qū)內(nèi)容了。
================================================================================
到此為止,你已經(jīng)基本懂得如何對(duì)數(shù)據(jù)區(qū)進(jìn)行操作了!

[ 本帖最后由 wyyhzc 于 2009-9-6 17:19 編輯 ]
作者: wyyhzc    時(shí)間: 2009-09-06 17:26
標(biāo)題: 寫給剛接觸RPG的朋友 --- 如何編寫RPG程序(3)
RPG一般用來做什么吧,舉例說:
        1. 整個(gè)RPG程序不包含任何外部程序,只是做些簡(jiǎn)單的數(shù)學(xué)運(yùn)算,或者對(duì)數(shù)據(jù)區(qū)、DATAQ等非文件目標(biāo)進(jìn)行操作,這屬于相對(duì)最簡(jiǎn)單的情況;
        2. RPG程序?qū)ξ锢砦募蛘哌壿嬑募M(jìn)行讀、寫、更新、刪除操作;
        3. RPG程序結(jié)合物理文件或邏輯文件、以及顯示文件進(jìn)行操作,這屬于比較復(fù)雜的情況;
        4. RPG程序結(jié)合物理文件或邏輯文件、顯示文件、以及ICF文件(即通訊文件)進(jìn)行操作,這種情況也比較復(fù)雜。
        當(dāng)然,以上的情況只是平時(shí)使用的歸納,你也可以根據(jù)自己的實(shí)際需要結(jié)合各種情況,此處不再深入探討。
……
上文中講到了第1點(diǎn),現(xiàn)在講解第2點(diǎn)。
<注>:假設(shè)以下源碼文件存放的路徑是:庫MYLIB、源物理文件MYSRCPF
        使用WRKMBRPDM FILE(MYLIB/MYSRCPF)進(jìn)入源碼存儲(chǔ)處,按F6,進(jìn)入“Start Source Entry Utility (STRSEU)”畫面,“Source member”為源碼文件名,此處是我們要建立的物理文件名,假設(shè)為MYPF,“Source type”為文件類型,這里我們輸入PF表示該文件是物理文件源碼,按確認(rèn)鍵,進(jìn)入編輯器。
代碼如下:

<注>:
    (a) 第一行的R處在T處,表示Record,即聲明FMYPF是該物理文件的記錄名;
    (b) 第二行中PFFLD1位于Name處,T處為空,表示這是字段名。該句定義一個(gè)叫PFFLD1的字段,長(zhǎng)度為4,字段屬性是A,表示字符型。TEXT('FIELD1')給字段做注解,COLHDG('FIELD1')給字段指定顯示時(shí)候的列表題;
    (c) 第三行定義一個(gè)叫PFFLD2的字段,長(zhǎng)度為5,字段屬性是P,表示數(shù)值型,0表示小數(shù)位是0位。
保存文件,編譯生成目標(biāo)文件MYPF。
  
       (2)建立邏輯文件:
       建立步驟和物理文件一樣,不過值得注意的是,“Source type”必須為L(zhǎng)F,表示該文件是邏輯文件,這里假設(shè)文件名為MYLF,代碼如下:

<注>:
        (a)第一行中R依然表示FMYPF是記錄名,一般和物理文件的一樣;PFILE(MYPF)是聲明物理文件名。
        (b)第二行中K的位置也是處于T處,表示該處字段PFFLD1是邏輯文件的鍵值。
      (3)建立對(duì)物理文件或者邏輯文件進(jìn)行簡(jiǎn)單操作的RPG程序:
建立步驟和物理文件一樣,不過值得注意的是,“Source type”必須為RPG,表示該文件是RPG源程序文件,這里假設(shè)文件名為MYRPG,代碼如下:

<注:因文件同名,故命名為MYRPGPFLF>
<注>:
       (a) 第一行MYPF是我們上面建立的物理文件名,記住,不是記錄名,別搞錯(cuò)了;O位于IP的I處,表示該文件是只允許寫入;E位于F處,表示該文件是外部文件;DISK位于Device處,表示該文件是磁盤文件;
       (b) 第二行MYLF是我們上面建立的邏輯文件名,記住,不是記錄名,別搞錯(cuò)了;I位于IP的I處,表示該文件是只允許讀;后面的F表示該文件是全過程文件,記住一般都要寫這個(gè)F的就行了;E位于F處,表示該文件是外部文件;K位于L..I的I處,表示該文件有鍵值;DISK位于Device處,表示該文件是磁盤文件;
       (c) 第三行的FMYPF位于Ext-record處,是邏輯文件的記錄名;“KRENAMEFMYLF”其實(shí)由三部分組成:“K”、“RENAME”和“FMYLF”。"K"表示該句和上一行是連續(xù)的,即對(duì)上一行的補(bǔ)充,“RENAME”表示重命名,“FMYLF”是任意指定的。
       這行的意思就是把邏輯文件MYLF的記錄名FMYPF重命名為FMYLF,因?yàn)樗镜挠涗浢臀锢砦募嗤,所以必須重命名?br />        (d) 第四行中的MOVE表示右移,該行意思是把常量'RCD1'右移給字段PFFLD1;
       (e) 第五行中的Z-ADD表示對(duì)變量置0,再賦值,該行意思是把常量1賦給字段PFFLD2;
       (f) 第六行中的WRITE表示寫一筆記錄,后面的FMYPF是物理文件記錄名,記住,不是物理文件名,別搞錯(cuò)了,該行意思是把PFFLD1、PFFLD2組成的記錄寫入物理文件;
       (g) 第七行中的SETLL表示給文件設(shè)置低界,后面緊跟著的FMYLF是邏輯文件記錄名,這個(gè)是我們重命名后的名字,*LOVAL是系統(tǒng)常量,表示最小值,該行的意思是把文件指針指向文件頭;
       (h) 第八行中的READ表示讀一筆記錄,后面的FMYLF是邏輯文件記錄名,這個(gè)是我們重命名后的名字,90位于Eq處,表示指示器,該行的意思是讀邏輯文件的一筆記錄,讀到的話指示器置為'0',否則,置為'1';
       (i) 第九行的IFEQ表示如果等于的意思,該句的意思就是如果指示器90等于‘0’,即讀到記錄;
       (j) 第十、十一行中的DSPLY用來顯示字段變量,這兩行的意思是顯示字段變量PFFLD1,PFFLD2的值;
       (k) 第十二行中的ENDIF和前面的IF匹配,這是必須的;
       (l) 第十三行中的SETON用來把指示器的狀態(tài)改為'1',該句意思是把指示器LR置為‘1’。

到此為止,你應(yīng)該懂得如何往文件讀寫數(shù)據(jù)。
作者: KouKa400    時(shí)間: 2009-09-06 23:00
支持一下
作者: roman1985    時(shí)間: 2009-09-07 09:44
支持!有圖很好
作者: wyyhzc    時(shí)間: 2009-09-07 11:31
原帖由 wyyhzc 于 2009-9-6 16:59 發(fā)表
以下結(jié)合例子簡(jiǎn)單說說各種情況,假設(shè)以下源碼文件存放的路徑是 庫MYLIB、源物理文件MYSRCPF
1. (1)做個(gè)簡(jiǎn)單的運(yùn)算,比如AXB/(C-D)+E,有加減乘除等運(yùn)算,代碼如下:
http://pic.yupoo.com/wyyhzc/14825806f3b ...

作為初學(xué)者還需要補(bǔ)充的一點(diǎn)就是,在寫代碼的時(shí)候一回車就變成下面的樣子


無法再輸入其他的代碼
有一個(gè)方法就是在0001前面輸入ipc如下圖

之后回車
再下面輸入其他的代碼


到此初學(xué)者應(yīng)該知道怎么寫代碼了。
作者: suifeng108    時(shí)間: 2009-09-07 13:59
謝謝前輩的指點(diǎn)
作者: roden    時(shí)間: 2009-09-07 15:15
支持一下
作者: huangxkst    時(shí)間: 2009-09-08 19:28
支持!
作者: 。L。    時(shí)間: 2009-09-09 16:21
不錯(cuò)頂頂。。。。
作者: 島心燈塔紅    時(shí)間: 2014-01-22 13:40
樓主好人!
作者: qiaohe    時(shí)間: 2014-02-11 08:59
請(qǐng)問貼圖我為什么看不見




歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2