rexx語言概覽(修改稿)課件_第1頁
rexx語言概覽(修改稿)課件_第2頁
rexx語言概覽(修改稿)課件_第3頁
rexx語言概覽(修改稿)課件_第4頁
rexx語言概覽(修改稿)課件_第5頁
已閱讀5頁,還剩80頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

REXX語言概覽——REXX學習小組2023/7/211精選PPT主要內(nèi)容REXX語言簡介REXX基本語法REXX命令函數(shù)與子例程數(shù)據(jù)處理REXX與子系統(tǒng)的交互2023/7/212精選PPT主要內(nèi)容REXX語言簡介REXX基本語法REXX命令函數(shù)與子例程數(shù)據(jù)處理REXX與子系統(tǒng)的交互2023/7/213精選PPTREXX語言簡介*什么是腳本語言?*REXX:REstructuredeXtendedeXecutor1979-1982IBMMikeCowlishaw為簡化編程而設計*主要應用于大型主機平臺*其他平臺:Windows,Linux,Unix,AIX,DOS*主要應用:執(zhí)行日常例行任務,例如輸入TSO/E命令調(diào)用其他REXX程序編寫ISPF應用對問題的一次性快速解決系統(tǒng)編程2023/7/214精選PPT*特點:用途多樣可讀易用書寫自由單一數(shù)據(jù)類型強大的內(nèi)置函數(shù)跟蹤調(diào)試方便解釋型語言*缺點:難以維護,執(zhí)行效率不高2023/7/215精選PPT*組成指令:關(guān)鍵字,賦值,標簽,空子句,命令調(diào)用內(nèi)置函數(shù):由編譯器直接支持TSO/E外部函數(shù):由TSO/E環(huán)境支持數(shù)據(jù)棧函數(shù)eg:/*REXX*/SAY"WHAT'SYOURNAME?"PULLNAMESAY'HELLOWORLD!THISIS'NAME2023/7/216精選PPT執(zhí)行方法:1.2.3.已放在系統(tǒng)庫中,可以直接在命令欄里指定執(zhí)行4.批處理方式,使用JCL提交作業(yè)執(zhí)行PGM=IKJEFT012023/7/217精選PPT調(diào)試方式:Trace指令調(diào)試TraceC:所有的命令調(diào)用均被追蹤TraceE:只追蹤返回碼非零的錯誤RC和SIGLRC:返回碼無錯時為0,有錯誤時置為該錯誤的返回碼SIGL:控制流發(fā)生轉(zhuǎn)變時的代碼行號SIGNALONERROR定位錯誤發(fā)生位置交互式調(diào)試:TRACE?R2023/7/218精選PPT主要內(nèi)容REXX語言簡介REXX基本語法REXX命令函數(shù)與子例程數(shù)據(jù)處理REXX與子系統(tǒng)的交互2023/7/219精選PPTREXX語法指令概覽*語法規(guī)則:指令可為大寫,小寫,大小寫混合,編譯執(zhí)行過程中自動轉(zhuǎn)化成大寫(引號中的除外)SAYhelloSAY"hello"*指令格式:指令格式自由,系統(tǒng)自動忽略多余的空格和空行續(xù)行:加入空格,不加入空格SAY'THISISANEXTENDED','INSTRUCTION.'SAY'THISISASTRINGCONT'||,'ENT.'指令結(jié)束可用;作為結(jié)尾,一行只有一條命令,可以不加結(jié)尾SAY'hello';SAYhello;SAY"GOON"2023/7/2110精選PPT指令類型*關(guān)鍵字:SAY,IF,THEN,ELSE,EXIT,END,DO*賦值:Variable=9;Variable=Variable+3*標簽:后面緊跟冒號的名稱符,出現(xiàn)在指令開始處*空子句:注釋或者空行,作用是增加可讀性*命令調(diào)用2023/7/2111精選PPT變量和表達式*變量命名:大小寫字母,@,#,$,?,.,!,_等雙字符X'41'(程序中指定ETMODE)雙字符變量要用<>括起來eg:OPTIONS'ETMODE'<.S.Y.M.D>=10約束:第一個字符不能是數(shù)字,也不能是點,長度不超過250字節(jié),不能取保留字*變量的取值:整型,浮點型,有符號數(shù),字符串,其他變量值或表達式變量沒有初始化,則默認值為變量名的大寫字母表示變量賦值可通過PARSE指令,VALUE內(nèi)置函數(shù),賦值表達式及其他編程語言2023/7/2112精選PPT變量類型:*簡單變量:不帶.變量,沒有對其賦值,默認值為對應的大寫表示。大小寫不敏感*復合變量:帶.的變量,由詞干和詞尾組成,遵循簡單變量命名規(guī)則,不超過255個字符,對應其他語言中的數(shù)組,但下標不一定為數(shù)字eg:TIME=3REXX.TIME值為REXX.3*復合詞干:復合變量的第一個詞干和.組成,用于將復合變量所表示的整個變量集賦初值eg:room.=emptyroom.mine=fullSAYroom.1room.mine/*emptyfull*/2023/7/2113精選PPT表達式的使用:*常量表達式:數(shù)字常量,字符串常量(通常寫在引號中,避免混淆)*算數(shù)表達式:+-*/%(取商)//(取余)**(乘方),+/-正負優(yōu)先級:()圓括號

+,-前綴符號

**指數(shù)運算符號

*,/,%,//乘法和除法

+,-加法和減法*比較表達式:數(shù)值比較,字符串比較eg:'HELLO'=hello普通比較,返回1'HELLO'==hello嚴格比較,返回0比較符:=,(﹁=,\=,<>,><),(>=,﹁<,\<)(<=,﹁>,\>),(﹁==,\==),<,>2023/7/2114精選PPT*邏輯表達式:&|\&&(異或)*連接表達式空格:連接兩項,并在中間加入空格,默認設置為加入一個空格SAYXYZ/*XYZ*/“||”直接連接兩端,中間不加空格8||(3*3)/*89*/直接相鄰eg:percent=60percent‘%’/*60%*/2023/7/2115精選PPT關(guān)鍵字指令*SAY向終端輸出字符*PULL從鍵盤讀取*(PARSE)ARG讀取用戶提供的參數(shù)(用戶提供的參數(shù)為(‘hello’,2))ARGstring,num/*string='hello',num=2*/(用戶提供的參數(shù)為“helloworld”)ARGstr1,str2/*str1=hello,str2=world*/*NOP空子句,表示不執(zhí)行操作*UPPER將變量值轉(zhuǎn)化成大寫eg:A='hello'

UPPERASAYA/*HELLO*/*ADDRESS,PROCEDURE,CALL,DROP,NUMERIC,OPTIONS,SIGNAL......

2023/7/2116精選PPT條件控制語句*IF-THEN-ELSEIFexprTHENinstructionsELSEinstructionseg:

IFweather=fineTHENDOSAY'lovelyday!'

IFgym=freeTHENSAY'let'splaybasketball!'

ELSE

NOPEND

ELSESAY'badweather!'2023/7/2117精選PPT*SELECT/WHEN/OTHER/ENDSELECTWEHNexpr1THENinstructionWEHNexpr2THENinstruction......OTHERWISEinstructionsEND2023/7/2118精選PPTeg:SELECTWHENweather=fineTHENSAY'lovelyday'WHENgym=freeTHENSAY'let'splaybasketball'OTHERWISESAY'badweather'END2023/7/2119精選PPT循環(huán)控制語句循環(huán)指令分為兩類:重復循環(huán)和條件循環(huán)循環(huán)語句寫在DO-END結(jié)構(gòu)內(nèi),循環(huán)可以嵌套,DO和END要匹配基本用法:DorepetitorClauseInstructionsEnd2023/7/2120精選PPT*重復循環(huán)語句默認情況每次變量加1,可以通過BY來更改每次的增量,F(xiàn)OR來控制最大循環(huán)次數(shù)eg:

Doi=1to10BY2FOR2SAY'HELLO'

END/*結(jié)果輸出兩行HELLO*/2023/7/2121精選PPT*條件循環(huán)語句DOWHILE:第一次進入循環(huán)體前先檢測條件,當條件為真時繼續(xù)循環(huán)DOUNTIL:在語句執(zhí)行后進行條件檢測,條件為假時繼續(xù)循環(huán)eg:QUANTITY=20DONUMBER=1TO10

WHILEQUANTITY<50/*UNTILQUANTITY>=50*/QUANTITY=QUANTITY+NUMBERSAY'QUANTITY='QUANTITYEND2023/7/2122精選PPT*DOFOREVER無限循環(huán)死循環(huán)處理按中斷鍵,用戶收到IRX0920I的消息,回復HI若沒有停止,再次按中斷鍵,回復HE*LEAVE和ITERATE指令LEAVE:立刻終止循環(huán)ITERATE:終止當次循環(huán)eg:DOi=1TO5IFi=3THEN

ITERATEELSESAYiEND/*輸出12452023/7/2123精選PPTeg:DOouter=1TO2DOinner=1TO2IFinner>1THEN

LEAVEinnerELSESAY'INNER'ENDSAY'OUTER'END/*INNEROUTERINNEROUTER*/2023/7/2124精選PPT中斷語句*EXIT:無條件終止并且返回到程序調(diào)用處*CALL:通過調(diào)用內(nèi)部或者外部子例程來中斷現(xiàn)有程序*RETURN:調(diào)用程序結(jié)束后返回原調(diào)用處,繼續(xù)執(zhí)行原程序*SIGNAL:跳轉(zhuǎn)到目標標簽處,通常用于程序的測試或特殊情況的處理,無法返回2023/7/2125精選PPT主要內(nèi)容REXX語言簡介REXX基本語法REXX命令函數(shù)與子例程數(shù)據(jù)處理REXX與子系統(tǒng)的交互2023/7/2126精選PPTREXX命令TSO/EREXX命令TSO環(huán)境下提供給REXX使用的系統(tǒng)命令此種命令只能用于REXX程序,在CLIST和TSOREADY模式下不能使用

可提供的服務:I/O控制操作數(shù)據(jù)棧檢查宿主命令環(huán)境改變程序執(zhí)行2023/7/2127精選PPT常用命令*數(shù)據(jù)棧相關(guān)命令(TSO/E和非TSO/E下均可使用):*NEWSTACK創(chuàng)建一個數(shù)據(jù)棧DELSTACK刪除最新建的數(shù)據(jù)棧及里面的全部數(shù)據(jù)

"NEWSTACK"/*創(chuàng)建新的數(shù)據(jù)棧*/PUSHelem1PUSHelem2......

"DELSTACK"/*刪除之前創(chuàng)建的數(shù)據(jù)棧*/2023/7/2128精選PPT*MAKEBUF在數(shù)據(jù)棧上創(chuàng)建一個新的緩沖區(qū),并返回編號,保存在RC中DROPBUF刪除最新創(chuàng)建的緩沖區(qū)并清空數(shù)據(jù)*QSTACK返回程序中存在的數(shù)據(jù)棧數(shù)量(包括buffer0),如果未使用MAKESTACK命令,返回值為1*QBUF就算新創(chuàng)建的數(shù)據(jù)棧上建立的緩沖區(qū)數(shù)量,為使用過MAKEBUF命令,QBUF命令返回0*QELEM計算新創(chuàng)建的數(shù)據(jù)棧緩沖區(qū)中的元素數(shù)量,未使用過MAKEBUF返回值為0,與當前數(shù)據(jù)棧中元素的數(shù)量無關(guān)2023/7/2129精選PPT*EXECIO命令用于處理數(shù)據(jù)集的輸入輸出,對數(shù)據(jù)集進行增,刪,改,查等操作可以執(zhí)行I/O操作的數(shù)據(jù)集是PS,PDS/PDSE的成員該命令不具備分配數(shù)據(jù)集的功能*EXECUTIL命令--設置系統(tǒng)運行庫在程序載入后是否關(guān)閉--控制TRACE指令的開啟和關(guān)閉--終止程序的翻譯過程--禁止和回府程序?qū)K端的輸出--修改程序包目錄中的項目--設置出了SYSPROC之外的其他運行庫2023/7/2130精選PPT*立即命令--TS(TraceStart)啟動TraceTE(TraceEnd)結(jié)束Trace--HI停止對所有REXX和CLIST程序的翻譯,包括調(diào)用該命令本身的程序--HT常規(guī)的輸出被掛起,如SAY輸出指令,但REXX運行正常,錯誤信息仍然可以顯示RT恢復之前掛起的輸出--HE終止REXX程序的執(zhí)行*SUBCOM通過設置RC的值檢測某個宿主環(huán)境是否可用

"SUBCOMISPEXEC"IFRC=0THEN

ADDRESSISPEXECELSENOP2023/7/2131精選PPTeg:/*REXX*/MAINRTN:......CALLSUBRTN

"EXECUTILTE"......EXITSUBRTN:

"EXECUTILTS"......RETURN2023/7/2132精選PPT主要內(nèi)容REXX語言簡介REXX基本語法REXX命令函數(shù)與子例程數(shù)據(jù)處理REXX與子系統(tǒng)的交互2023/7/2133精選PPT函數(shù)與子例程什么是函數(shù)接受數(shù)據(jù),處理數(shù)據(jù)并返回值,已完成特定功能的代碼片段REXX中的函數(shù)種類內(nèi)置函數(shù):豐富的內(nèi)置函數(shù)幾大地方便用戶編程用戶函數(shù):內(nèi)部函數(shù),外部函數(shù)函數(shù)包:將函數(shù)以打包的形式發(fā)布函數(shù)調(diào)用ReturnValue=functionName([expr[,expr[,......]])函數(shù)名與左括號中間不能有空格2023/7/2134精選PPT子例程與函數(shù)的區(qū)別*函數(shù)必須有返回值,子例程不必要*函數(shù)的返回值要替代調(diào)用的位置,而子例程的返回值保存在特殊變量result中*調(diào)用方式不同子例程的調(diào)用

eg:CALLSUBSTR'verylongword',1,8x=RESULT為什么要用函數(shù)和子例程結(jié)構(gòu)化程序所必須的將程序分為多個模塊代碼的重復利用函數(shù)和子程序可以是內(nèi)部或外部的

2023/7/2135精選PPT/****************REXX*******************/

CALLsubroutine'ab','cd','ef'SAYresult/*輸出結(jié)果abcdef*/SAYsubfunc('ab','cd','ef')/*輸出結(jié)果efcdab*/RETURN0/**************subroutine子例程實現(xiàn)***************/subroutine:PROCEDUREPARSEARGstring1,string2,string3RETURNstring1||string2||string3/**************subfunc()子函數(shù)實現(xiàn)***************/subfunc:PROCEDUREPARSEARGstr1,str2,str3RETURNstr3||str2||str12023/7/2136精選PPT函數(shù)和例程的搜索順序該調(diào)用是否是內(nèi)部函數(shù)或例程是否是內(nèi)置函數(shù)是否是外部函數(shù)或例程FUNCSOFL:標記位,判斷是否在搜索REXX程序前先搜索運行庫2023/7/2137精選PPT參數(shù)傳遞*共享變量/************REXX******************/number1=10CALLsubroutineSAYnumber1number2EXITsubroutine:PROCEDUREnumber1=7number2=5SAYnumber1number2RETURN2023/7/2138精選PPT使用EXPOSE共享變量eg:/********REXX***********/J=1;Z.1='A'CALLTOFTSAYJKMEXIT/********子例程********/TOFT:PROCEDUREEXPOSEJKZ.JSAYJKZ.JK=7;M=3RETURN2023/7/2139精選PPT*參數(shù)傳遞/***********REXX******************/PARSEARGLONGWIDECALLPERIMETERLONG,WIDESAY'RESULTIS'RESULTEXIT

PERIMETER:PROCEDURE

ARGLENGTH,WIDTHPERIM=2*LENGTH+2*WIDTHRETURNPERIM2023/7/2140精選PPT內(nèi)置函數(shù)

算數(shù)函數(shù):執(zhí)行對數(shù)值的運算比較函數(shù):比較字符串和數(shù)值是否相同或判斷類型轉(zhuǎn)換函數(shù):進行數(shù)據(jù)類型的轉(zhuǎn)換格式函數(shù):設置字符串中字符和空格的格式字符串操作函數(shù):設置字符串中字符和空格的顯示方式其他函數(shù)2023/7/2141精選PPT*算數(shù)函數(shù)ABS:求絕對值MAX:最大值MIN:最小值RANDOM:產(chǎn)生隨機數(shù)SIGN:返回數(shù)值符號(-1,0,1)FORMFUZZTRUNC*比較函數(shù)COMPARE比較兩個字符串,相同返回0,不同返回第一個不同字母的位置DATATYPESYMBOL*轉(zhuǎn)換函數(shù)B2XC2DC2XD2CD2XX2BX2CX2D2023/7/2142精選PPT*格式函數(shù)FORMAT(number,before,after,expp,expt)before,after表示小數(shù)點前后的位數(shù)expp設置指數(shù)的位數(shù),設置為0則不使用指數(shù)expt設置何時使用指數(shù),當整數(shù)或小數(shù)部分的位數(shù)分別超過了expt的一倍或兩倍,那么就用指數(shù)表示;若expt為0,則在有小數(shù)部分的時候就使用指數(shù)表示若expp為0,則expt自動設為0CENTER/CENTRECOPIESJUSTIFYLEFTRIGHTSPACE2023/7/2143精選PPT*字符串操作函數(shù)DELWORDFINDINDEXINSERTLASTPOSLENGTHOVERLAYPOSREVERSESTRIPSUBSTRSUBWORDTRANSLATEVERIFYWORDWORDINDEXWORDLENGTH*其他內(nèi)置函數(shù)ADDRESS:返回當前命令提交執(zhí)行的環(huán)境ARG:返回傳給子例程的參數(shù)信息CONDITION:返回當前捕捉到的特殊情況的信息DATE:按照指定格式返回當前系統(tǒng)信息EXTERNALS:返回中斷輸入緩沖區(qū)的字符數(shù)LINESIZE:返回終端的行寬減1TIME:返回指定格式的系統(tǒng)時間2023/7/2144精選PPTTSO/E外部函數(shù)*OUTTRAP函數(shù)將命令的輸出放在一組變量中,REXX可以處理這些變量中的輸出內(nèi)容調(diào)用格式OUTTRAP((off),varname,max,concat)參數(shù):off:關(guān)閉錯誤跟蹤varname:可以是復合變量或者數(shù)字變量的前綴,max:設置捕捉的最大行數(shù)concat:設置輸出方式CONCAT:設置命令被捕捉的最大值NOCONCAT:設置每次變量的輸出從變量1開始存儲2023/7/2145精選PPTeg1:x=OUTTRAP("ABC",4,"CONCAT")ABC0===>3ABC1===>第一行輸出ABC2===>第二行輸出ABC3===>第三行輸出/*若此時又有一條命令有兩行輸出,那么第二行不被跟蹤*/ABC4===>第四行輸出/*ABC0到ABC3不變*/2023/7/2146精選PPTeg2:/*REXX*/callouttrap'line.'"listdste02.rexx.lab"calloutrap'off'say"lines:"line.0doi=1toline.0sayline.iend/*運行結(jié)果*/lines:5TE02.REXX.LAB--RECFM-LRECL-BLKSIZE-DSORGFB8032720PO--VOLUMES--USER022023/7/2147精選PPT*SYSDSN函數(shù)判斷指定的數(shù)據(jù)集名稱是否存在或該數(shù)據(jù)集是否可用,指定的數(shù)據(jù)集是順序數(shù)據(jù)集還是分區(qū)數(shù)據(jù)集的成員,檢查是否有訪問權(quán)限eg:X=SYSDSN("PRO.REXX(MEM)")IFX='OK'THEN

CALLROUTINE1ELSECALLROUTINE22023/7/2148精選PPT主要內(nèi)容REXX語言簡介REXX基本語法REXX命令函數(shù)與子例程數(shù)據(jù)處理REXX與子系統(tǒng)的交互2023/7/2149精選PPTREXX數(shù)據(jù)處理數(shù)據(jù)解析數(shù)據(jù)棧操作文件讀寫2023/7/2150精選PPT數(shù)據(jù)解析

*常用解析命令

PULL、ARG、PARSEVAR、PARSEVALUE-WITH等

指令

*template——list詳解2023/7/2151精選PPT--PULL指令

Pull:交互式的讀入,等待用戶輸入

Eg:say‘pleaseenteryourname’

pullname(會將小寫轉(zhuǎn)換成大寫字母)

parsepullname(不進行轉(zhuǎn)換)--ARG指令ARG:取執(zhí)行或調(diào)用時傳遞的參數(shù)argname&parseargname

Eg:execREXX(ARG)‘dong’exec2023/7/2152精選PPT--PARSE(upper)VAR指令

sentence=‘Iloverexxverymuch’

Parsevarsentencestr1str2str3

Saystr1/*輸出變量I*/

Saystr2/*love*/

Saystr3/*rexxverymuch*/--PARSEVERSION指令

Parseversionver

Sayver/*輸出版本號*/2023/7/2153精選PPT*PARSEVALUE-WITH指令--語法:parsevalue[expression]with--將一個表達式解析為一個或多個變量--Eg:

Parsevalue‘rexxisgood’withstr1str2str3str4

/*str1將輸出rexx*/

/*str2is*/

/*str3good*/

/*str4為空*/2023/7/2154精選PPT*Template_list詳解--數(shù)據(jù)解析式通過對比源數(shù)據(jù)和模板把源數(shù)據(jù)解析成單獨的數(shù)據(jù)數(shù)據(jù)解析分兩步:1、將源數(shù)據(jù)解析為模板格式指定的子串2、將各子串放入對應的變量中。2023/7/2155精選PPT1、空格分隔符Eg:

Parsevalue‘valuewithblanks.’withab

/*a取得value*/

/*b取得withblank*/2、占位符分隔符

Parsevalue‘valuewithperiodsinit.’witha.b.

/*a取得value*/

/*b取得periods*/2023/7/2156精選PPT3、字符(變量)分隔符

Sentence=‘youhere,ornothere’

Parsevarsentencestr1‘,’str2/*用逗號表示該處分隔*/

Str1=‘youhere’

Str2=‘ornothere’

P=‘,’

Parsevarsentencestr1(p)str22023/7/2157精選PPT4、位置分隔符(a)列的絕對位置

String=‘tomorrowwillbebetter.’

Parsevarstringstr16str29str3

Parsevarstringstr1=6str29str3

Str1=tomor

Str2=row

Str3=‘willbebetter’

Parsevarstringstr16str21str3

Str2=rowwillbebetter

Str3=tomorrowwillbebetter2023/7/2158精選PPT(b)列的相對位置(+右移–左移)

String=‘tomorrowwaitingforu’

Parsevarstringstr1+8str2+8str3

/*str1=‘tomorrow’*/

/*str2=‘waiting’*/

/*str3=‘foru’*/

Parsevarstringstr1+8str2-8str3

Str1=tomorrow

Str2=‘waitingforu’

Str3=tomorrowwaitingforu2023/7/2159精選PPT數(shù)據(jù)棧操作數(shù)據(jù)棧操作指令:1、添加數(shù)據(jù)棧元素

Push:在數(shù)據(jù)棧頂部增加數(shù)據(jù)

Queue:在數(shù)據(jù)部底部增加數(shù)據(jù)

A=5b=10

PushA

Queueb2023/7/2160精選PPT2、刪除數(shù)據(jù)棧元素

Pull:從數(shù)據(jù)棧取數(shù)據(jù),當數(shù)據(jù)棧為空時,pull指令從終端取數(shù)據(jù)。

Pullstackitem

Parsepullstackitem3、數(shù)據(jù)棧元素數(shù)量

內(nèi)置函數(shù)queued返回數(shù)據(jù)棧中元素數(shù)量

Number=queued()

Donumber

pullelement

sayelement

end2023/7/2161精選PPT文件讀寫1、什么時候使用EXECIO命令

a從一個數(shù)據(jù)集中讀取數(shù)據(jù)

b向一個數(shù)據(jù)集中寫入數(shù)據(jù)

c打開一個數(shù)據(jù)集,并不進行任何讀寫操作

d清空一個數(shù)據(jù)集

e從一個數(shù)據(jù)集中拷貝數(shù)據(jù)到另一個數(shù)據(jù)集中

f從一個復合變量列表中讀取數(shù)據(jù)存入數(shù)據(jù)集中g(shù)向一個順序數(shù)據(jù)集末尾增加數(shù)據(jù)h一次更新數(shù)據(jù)集中的一行數(shù)據(jù)2023/7/2162精選PPTEXECIO命令語法*格式:

EXECIOLines/*diskr/diskru/diskwddname

lineNUMread/writeParms

Lines/*:lines代表處理的記錄數(shù),*表示整個數(shù)據(jù)集

Diskr只讀方式處理文件

Disku表示讀取記錄允許更新文件

Diskw表示寫文件

lineNum開始讀記錄的起始位置

Read/writeParms讀寫參數(shù)2023/7/2163精選PPT*文件讀取

a)“execio*diskrmyindd(finis”

Finis表示讀完之后關(guān)閉數(shù)據(jù)集

b)“execio1diskrumyindd(open”

“execio1diskwmyindd(finis”2023/7/2164精選PPT*Diskr&diskru參數(shù)選項1、Open打開數(shù)據(jù)集

“execio0diskrmyindd(open”2、Finis讀完之后關(guān)閉數(shù)據(jù)集3、Stem讀取信息到一個可被索引的復合變量中

“execio*diskrmyindd(stemnewvar.”

newvar.0表示復合變量中元素的數(shù)量

使用dropnewvar.清除所有變量4、skip跳過數(shù)據(jù)集中特定行,不寫入數(shù)據(jù)棧

“execio6diskrmyindd(skip”2023/7/2165精選PPTLIFO:rexx使用push指令將信息放到數(shù)據(jù)棧中FIFO:使用queue指令將信息放到數(shù)據(jù)戰(zhàn)中默認使用FIFO輸入數(shù)據(jù)集:一個I/O數(shù)據(jù)集必須首先定義成DDNAME才能通過execio進行操作。

“allocda(ur535.rexx.data)f(myindd)shrreuse”

“execio*diskrmyindd(finis”2023/7/2166精選PPT文件讀取示例“EXECIO0DISKRmyindd(open”“EXECIO0diskrmyindd100(open”“EXECIO25diskrmyindd(open”“EXECIO*diskrmyindd(open”“EXECIO5diskrmyindd100(finis”2023/7/2167精選PPT文件寫入

“EXECIO*DISKWmyoutdd(finis”1、diskw參數(shù)選項

(a)Open、finis、stem

“execio*diskwmyoutdd(stemnewvar.”

將復合變量內(nèi)容寫入到myoutdd中

(b)輸出數(shù)據(jù)集

同文件讀取類似,輸出數(shù)據(jù)集必須首先分配一個ddname

“allocda(ur535.rexx.data)f(myoutdd)oldreuse”

“execio*diskwmyoutdd(finis”2023/7/2168精選PPT主要內(nèi)容REXX語言簡介REXX基本語法REXX命令函數(shù)與子例程數(shù)據(jù)處理REXX與子系統(tǒng)的交互2023/7/2169精選PPTREXX與子系統(tǒng)的交互目標:1)執(zhí)行宿主命令。2)REXX與TSO環(huán)境的交互3)REXX與JES的交互4)REXX與SDSF的交互

2023/7/2170精選PPT執(zhí)行宿主命令1.REXX命令指REXX語言實現(xiàn)本身所提供的程序操作的命令:

eg:I/O控制數(shù)據(jù)集的讀寫(EXECIO)和數(shù)據(jù)棧的操作等。2.宿主命令指REXX程序執(zhí)行的宿主環(huán)境所能識別的命令。即識別并

執(zhí)行特定命令的運行環(huán)境eg:rexx默認環(huán)境是TSO/E環(huán)境2023/7/2171精選PPTTSO/EREXX可用的宿主環(huán)境1、TSO:可執(zhí)行TSO/E和REXX命令2、MVS:在非TSO/E地址空間中執(zhí)行rexx命令3、LINK:可連接相同級別的模塊4、ATTACH:可將不同級別的模塊連接到一起5、ISPEXEC:可執(zhí)行ISPF命令6、ISREDIT:可以執(zhí)行ISPF/PDFEDIT命令,即可查找、修改、插入、刪除數(shù)據(jù)等2023/7/2172精選PPTADDRESS命令用來指定或切換當前命令執(zhí)行的宿主環(huán)境格式:AddressenvironmentAddressenvironmentcommandExpressionEg:ADDRESSISPEXEC“EDITDATASET(“DSNAME”)”只有當前命令在ispf宿主環(huán)境中執(zhí)行ADDRESSISPF所有命令都將在ispf宿主環(huán)境中執(zhí)行2023/7/2173精選PPT1、查看當前所處宿主環(huán)境:

溫馨提示

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

評論

0/150

提交評論