Professional Documents
Culture Documents
與主機溝通的幾種方式
TSO/E
– TSO 是 Time Sharing Option/Extensions (TSO/E) 的簡稱,在 1960 年
代,由 2000 多名程式設計師開發出來
– 每個使用者都有一組 TSO ID/Password ,登入主機後,鍵入一些基本
的命令來與主機互動
ISPF
– 執行於 TSO 之下,全名為 Interactive System Productivity Facility
– 使用者透過一些預先定義好的選單,選取所要執行的功能
z/OS UNIX shell and utilities (USS - Unit System Service)
– 在 UNIX shell 的環境下,使用者可以撰寫一些 shell 腳本程式,或呼
叫一些公用程式,來與主機互動,執行所需的工作
ISPF 的四大組件
ISPF
Dialog Manager
Client/Server
Functions
Panels
Messages
Tables
Dialog Variables
提供程式編輯、開發的功能,如
–編輯
–瀏覽
–檢視
提供公用程式以
–顯示及列印資料集合的 Member List
–比對不同的資料集合,以及字串搜尋
–搬移、複製及列印資料集合及其 Member
SCLM 包含兩個功能性元件
–Library Manager :用來管理程式原始碼
–Configuration Manager :用來追蹤應用程式所有的軟體元
件,以及它們之間的關係
主要應用於在 z/OS 上,以 COBOL 或 PL/I 來開發
程式
與 SCLM Developer Toolkit 結合後,可以用於
Java/J2EE 程式的開發
主機上常用的兩種解譯式語言
CLIST
–主要為一連串的 TSO 命令集合,也提供 I/O 、例外處理及
基本的數學及邏輯操作
–只能在 TSO/E 的環境中執行
REXX
–是實作 System Application Architecture Procedure
Language 而成的一種高階程式語言,只要有解譯器就可執
行,不限定於 TSO 環境中
–可用來撰寫互動式的應用程式
一小段 REXX 程式
/* REXX */
the_number=5
say "I'm thinking of number between 1 and 10. What is it?"
pull the_guess
登入主機
進入 ISPF 畫面
ISPF 主畫面
ISPF 主畫面功能選項說明
0 Settings: 修改 ISPF 環境參數
1 View: 檢視或瀏覽資料集合的內容
2 Edit: 編輯資料集合的內容
3 Utilities: 提供一連串管理資料集合的公用程式,如搬移、複製、顯
示 VTOC 資訊、比較與搜尋資料集合內容…等
4 Foreground: 以 Online 模式執行程式 .
5 Batch: 以批次方式,執行程式。 ISPF 會協助產生批次作業需要的
JCL
6 Command: 在此可呼叫 TSO 命令、 CLIST 及 REXX 程式
7 Dialog Test: 測試獨立的 ISPF Dialog 元件,如
Panel 、 Message 、 Function… 等
Panel 的格式
Panel 是一組事先定義好的畫面,讓使用者輸入資
料。 ISPF 將 Panel 格式化成 24 行,每行 80 個
字元的畫面
ISPF 有下列三種主要的 Panel
–Menu
–Data-Entry
–Scrollable data panel
1. 輸入選單選項
2. 在任一層次內,可輸入 =x.x 直接跳到需要的功能
Menu Panel 的格式
3. 可用分號 (;) 串接指令
Data-Entry Panel 格式
使用者輸入要檢示的資料集合名
稱,讓 ISPF 開啟該資料集合
F7: 往上
F8: 往下
F10: 往左
F11: 往右
常用的 ISPF 命令
下列為用來捲動畫面的指令
BACKWARD* BOTTOM** DOWN FORWARD**
LEFT RIGHT TOP* UP
* Alias for the UP command
** Alias for the DOWN command
設定功能鍵 ( 快速鍵 )
使用 KEYS 指令,可以設定現在的
快速鍵與呼叫功能的對應
使用 KEYLIST 指令,可以檢視系
統目前有那些 Keylist ,並且編輯
這些 Keylist 中,快速鍵的對應
使用 Help 指令
Help 指令可以依據不同情況,顯示出不同說明
–Filed-level help
• 顯示游標所在欄位的說明
–Message help
• 針對 ISPF 顯示出的短訊息,顯示更詳細的說明
–Panel help
• 針對整個 Panel 的使用方式,提供說明
–Tutorial
• ISPF 的詳盡說明。在 Tutorial panel 中,輸入 i ,可以用
index 的方式,查找說明
每個視窗將被視為一個獨立的
ISPF 工作階段。
使用 SWAP 命令,切換視窗
同一時間,只有一個分割視窗
是處於活動狀態的,要使用
SWAP 指令,來切換視窗
SWAP LIST 命令
SWAP List 命令可以顯示
現在有那些分割的視窗。
標示 * 的為目前使用的視
窗,標示 - 的則為另一個
視窗
主機中的檔案稱之為 Dataset 。
TSO 環境支援多種不同的
Dataset ,其中最常用的為
Sequential 和 Partitioned
Dataset
主機的檔案與一般 PC 檔案不同。
主機的檔案是由一筆一筆
Record 組成。比方說, JCL 的
Dataset 就是由一筆筆長度 80
個字元的 Record 所組成
Sequential Dataset
組成 Sequential
Dataset 的 Record
是依照順序存入檔案
中的。若要存取第 99
筆 Record ,就必需
從第一筆資料一直讀
取到第 99 筆
Partitioned Dataset
由一個 Directory( 目錄 )
與很多 member 組成。其中
,每一個 member 就相當於
一個 Sequential
Dataset
Directory 中儲存 PDS 中
,每個 member 的名稱,以
及它的相對位置
PDS 的好處
Allocate 資料集合時,
最小的單位為一個磁軌
(Track) 。如果需要存放
很多小檔案,針對這些小
檔案都 Allocate 一個資
料集合,會造成空間的浪
費。
此時若將這些小檔案
Allocate 成一個 PDS 中
的多個 member ,可節省
許多空間
A track is 56,664 bytes for a
3390 disk device
Dataset 命名
Dataset 的標準命名由三個
Qualifier 組成,用 . 分隔,
分別代表
–High-Level Qualifier
–User Determined
Qualifier
–Data type
每個 Qualifier 最多由 8 個字
元組成。檔名最多不超過 44 個
字元
PDS 的 Member
在 Option 處輸入
1 。若在內層,可輸
入 =0
使用上方的 Action
Bar 下拉式選單
(Menu->View)
在 Option 處輸入
View 命令
呼叫預先定義好的程
式,設定 Edit
session 的環境
設定新的 Edit
profile ,並以這個
新的 Edit profile 來
檢視資料
選擇要用 Browse 或
View mode 檢視資料
39 © 2006 IBM Corporation
ISPF: z/OS Basic Interfaces
Dataset 名稱欄位
搜尋 Partitioned Dataset
若你要檢視的 dataset 是
PDS ,你可以在 ISPF
Library 處輸入 Member 名
稱
Member 名稱欄位可使用萬用
字元。比方說 IGY* 可以列
出所有以 IGY 打頭的 member
Library Concatenation
列出你開啟過的檔案
若想要知道過去檢視過那些
Dataset ,可以使用 Action
bar 的 RefList 功能。
在列表的左方,輸入 s ,以選
取該 Dataset
Browse mode 是將
dataset 內容,一段段讀進
記憶體中;而 View mode 則
將 dataset ,一次全部讀進
記憶體中
View mode 下,可以使用
Line command ;而
Browse mode 則不行
Browse mode 可以檢視
Undefined 的 Record
Format 的資料
若開啟的是一個 PDS 。則
ISPF 會顯示出 member
selection list 。此時只
需在要開啟的 member 左方用
S 選取開啟
FILTER 命令:可以過濾掉某些特定名稱的
member ,不讓他顯示,下列用法可以把 X 開頭的
member 過濾掉
FILTER NAME NE X*
使用 LOCATE 行號,可以跳
到所指定的行號。如 LOCATE
50 ,可以跳至行號 000050
使用 FIND ‘ 字串’進行字串搜
尋。若字串中有空白,需用引號
將字串框起來。如右圖
在 FIND 指令最末端,加上下列
參數,可以控制搜尋的方向
–NEXT :由現在位置,搜尋下個
符合字串
–PREV :由現在位置,搜尋前一
個符合字串
–FIRST :從頭開始往下搜尋
–LAST :從檔案尾端往上搜尋
–ALL : 計算檔案中總共有多少
個符合的字串
使用 Insert(I)
命令插入新行,用
法如下
–I 插入單行
–In 插入多行, n
為要插入的行數
使用 Delete 命令可以刪除
不要的行,用法如下
–D: 刪除游標所在這行
–Dn: 刪除游標所在處起算
n行
–DD :標示所要刪除的區塊
使用 Repeat 命令重覆單行或
多行,使用方法如下
–R :重覆游標所在這行
–Rn: 重覆游標所在的行 n
次
–RR : 重覆一個區塊
所重覆的內容,會直接被放到
原始游標所在之處後面
Copy 可以把複製所要的內容
,並將其貼到所要的地方,其
用法如下
–C: 複製一行
–Cn: 複製游標所在處,往
下數 n 行
–CC: 標示所要複製的區塊
複製完後,游標移到需要位置
,按下 A ,會將複製的內容貼
到游標後面;按下 B ,則會貼
到游標前面
CREATE 命令
使用 Create 命令,可以建立新的
dataset(member) ,並且將所複製的內容,貼上去
REPLACE 命令
與 CREATE 功能類似,差別在於是要把內容覆蓋掉已存
在的 dataset
CUT 命令
CUT 命令可以將複製的內容,複製到剪貼簿上,之後可以用 PASTE 命令將剪貼
簿的內容,貼到所要編輯的 dataset/member
COPY 命令
Move 可以把搬移所要的內容,
並將其貼到所要的地方,其用法
如下
–M: 搬移一行
–Cn: 搬移游標所在處,往下
數n行
–CC: 標示所要搬移的區塊
標示完後,游標移到需要位置,
按下 A ,會將標示的內容搬移到
游標後面;按下 B ,則會搬移到
游標前面
Exit 預設的動作會先儲存編
輯後的內容再跳出
在 Edit profile 有個
AUTOSAVE 的屬性,把它設為
OFF 後,使用 Exit 跳出時,
會出現警告,而不會先儲存再
跳出
Cancel 不會儲存,直接跳出
Edit Profile
在命令列上輸入 PROFILE 命令
,即可顯示目前 Edit
Profile 設定
輸入 PROFILE 名稱 可開啟
該名稱的 Edit Profile ;若
該 Profile 不存在,則會以目
前的 Profile 設定值,建立新
的 Profile
若不想讓本工作階段所做的
Profile 修改儲存下來,輸入
PROFILE LOCK 命令
在命令列上輸入 RESET 命令則
可將其隱藏
COL 命令可以在編輯視窗上顯示尺規
TAB 命令可以設定定位點,當
按下 Tab 鍵後,可以直接跳至
定位點。
這個功能對於寫 COBOL 或
Assembler 程式很好用,因
為這些程式對於程式段落的起
始位置有特殊要求
ISPF 提供 Hardware TAB
及 Logical TAB 兩種使用方
式
設定 TAB 定位點
在隨便一行的 Line
Command Area 處,輸入
TABS 命令後,可以用 *
標示定位點
接著在 Command Line 處,
輸入 TAB ON 命令,啟用
TAB 功能
使用 TAB 功能
MASK 功能可以在每一個新插
入的行中,自動添加某些內容
在 Line Command area 中
,輸入 MASK ,即可定義要自
動添加的內容
NUMBER 命令可以控制編輯檔
案內容時,需不需要記錄行號
在檔案內
使用 NUMBER ON 命令可以
啟用行號
若要編輯的檔案原本已有行號
, ISPF 在開啟時該檔案時,
會自動設為 NUMBER ON
AUTONUM 和 RENUM
AUTONUM ON 時, ISPF 會
在編輯時自動重排行號
RENUM 指令可以手動重排行號
, RUNUM ON 則設定行號是以
100 為單位增加
UNNUM 可以移除之前存在檔案
內的行號
設定編輯模式
ISPF 提供許多不同的編輯模試,
讓你能夠客制化編輯環境,以下
介紹下列模式
–AUTOSAVE
–CAPS
–HEX
–PACK
–RECOVERY
–STATS
要啟用 / 關閉這些編輯模式,在
上述命令之後加上 ON 或 OFF
即可
AUTOLIST 模式
AUTOSAVE 模式
AUTOSAVE 可以控制當按下
F3 跳出編輯模式時,要不要
將所做的更改先儲存下來
CAPS 模式
HEX 模式
HEX 模式可將檔案內容及其
EBCDID 編碼一同呈現
PACK 模式
RECOVERY 模式
當 RECOVERY 設為 ON 時,在
編輯過程中, ISPF 會將所做
的變動記錄在 recovery
dataset 。若此時系統發生
損壞,在下次編輯該檔案時,
可以重做所做的修改
當要使用 UNDO 的功能時,必
需先把 AUTOSAVE 設為 ON
STATS 模式
當 STATS 設為 ON 時, ISPF
會維護 PDS 中 member 的統
計資訊,如 member 內容大小
、建立時間、最近修改時間…
等資訊
FIND - 字串搜尋
CHANGE-- 取代字串內容
使用方式為
CHANGE 原始字串 新字串
若要更改所有的字串,在
CHANGE 命令最後,加上 ALL ,
如
CHANGE #globalcsi globalcsi
ALL
CHANGE-- 取代字串內容 -2
EXCLUDE 命令—隱藏功能
使用 EXCLUDE 指令可將檔案
內容中某些行隱藏起來,如
EXCLUDE FILE ALL
可以將所有含有 FILE 這個字
的行隱藏起來
此功能可以與 FIND/CHANGE
合併使用。如
FIND AAA X ALL
可搜尋被隱藏的行裡面,有沒
有 AAA 字串
FIND AAA NX ALL
則搜尋沒有被隱藏的行裡,有
沒有 AAA 字串
使用 RESET 命令可重新顯示
被隱藏的行
縮行功能
使用小括號這個 line
command 可以進行縮排
–(: 往左縮 2 個字元
–(n: 往左縮 n 個字元
–((n +(( :定義要縮排的
區塊,整個區塊往左縮 n 個
字元
Utility Panel
在 Utility Panel 中選
1 ,即進入 Library
Utility Panel
Library Utility 中,集合
了多項功能,依照應用對象可
分為 Dataset options 及
Member options
Dataset options
S 和 I 的差別
S 顯示簡短訊息
I 顯示詳細訊息
LIST 命令
Member options
我們可以使用這些指令來操作
member
–E – 編輯 member
–V - 檢視 member
–B - 流覽 member
–D - 刪除 member
–R - 更名 member
–P - 列印 member 內容
到 list dataset
Dataset Utility
在主選單選取 3.2 ,可進入
Dataset Utility 。這個 Panel
提供下列功能
–A –Allocate 新的 dataset
–R - 更名 dataset
–D – 刪除 dataset
–空白 – 顯示 dataset 的屬性資
訊
–C – Catalog dataset
–U - Un-catalog dataset
–V – 使用 VSAM utility 來
Delete/Define VSAM
dataset
99 © 2006 IBM Corporation
ISPF: z/OS Basic Interfaces
Allocate dataset
輸入要 Allocate 的
dataset 名稱後,在 Option
處輸入 A
橘色方框處為需填之欄位
(Block size 除外 )
Dataset allocation 屬性
Dataset allocation 屬性
一般來說,使用率超過 95% 就
算是很好的使用率了
Directory block
Dataset allocation 屬性
我們可以在 Allocate
dataset 時,加入
Expiration date 。設定之
後,在刪除 dataset 時,除
了會顯示 Confirm Delete
Panel 外,會再顯示另一個
Confirm Purge Panel ,
提示該 dataset 尚未過期
Catalog 的尋找次序
USER.TAPE.A1
IBMUSER.A2
SYS1.A1 SYSTEM.MASTER.CATALOG
Master Catalog
Data Set-SYS1.A1
or
HLQs (alias)
USERCAT.IBM IBMUSER...USER USERCAT.COMPANY
User Catalog User Catalog
volume (wrk002)
unit (3390) volume (wrk001)
unit (3390)
volume (012345)
IBMUSER.A2 IBMUSER.A1 unit (tape)
IBMUSER.A3 USER.A1 USER.TAPE.A1
SYS1.A1
Move/Copy Utility
在上個步驟輸入要複製 / 搬移的
dataset 後,在這個 Panel 指定
目標的 dataset
Replace like-named
members 若選取, target
dataset 若有同命的 dataset ,
會直接被蓋過去
Process member aliases 若
選取,被複製的 member 及其
alias 也會被複製過去
DSLIST Utility
Dataset 萬用字元的表示方式
在 Dataset List
Utility 中,輸入 V
command ,在 Volume
serial 輸入要檢視的
Volume 代號,即可顯示
該 volume 的 VTOC 內容
這顆 Volume 的 VTOC
資訊,如此顆 Volume
VTOC Information 劃分了多少個 Track 給
VTOC; 目前 VTOC 的
使用狀況,還剩多少
DSCBS 可存放 VTOC
的資訊
比較及搜尋 Dataset 內容
使用 SuperC
輸入”新”檔案名稱
Enter
輸入”舊”檔案名稱
Search-For
Search-For
utility 的
panel 如右圖,輸
入要搜尋的字串以
及要搜尋的
dataset 後,按下
enter
若要搜尋多個字串…
若要搜尋多個字串,勾選
panel 最下方的 Specify
additional search strings
按下 Enter 後,即可在此
視窗設定多個搜尋字串
Search-ForE
在此輸入要搜
尋的 dataset
在此輸入要搜尋的字串。
若要區分大小寫,將字串
輸入 Asis 處;若不區分,
則輸入 Caps
編輯 Process Statement
TSO 的本質是一種特殊型式的批次作業
登入過程
Logon Procedure
Logon Script
Logon Command
ISPF session
TSO session TSO session TSO session
LOCON PROC 內容
1 //KC02077 JOB 'ACCT#',REGION=32768K
2 //IKJACCNT EXEC IKJACCNT
Terminal
XX***************************************************
Monitor
XX* Program
XX* ISPF FULL-FUNCTION LOGON PROC
XX*
XX*************************************************** TSO 登入完成後,
3 XXIKJACCNT EXEC PGM=IKJEFT01,REGION=0M,DYNAMNBR=500, 第一個執行的程式
XX PARM='%ISPFCL' ,通常是由 CLIST
4 XXSYSUADS DD DISP=SHR,DSN=SYS1.UADS 或 REXX 所寫成,
5 XXSYSLBC DD DISP=SHR,DSN=SYS1.BRODCAST 稱為 Logon Script
6 XXSYSPROC DD DISP=SHR,DSN=USER.CLIST
7 XX DD DISP=SHR,DSN=ADCD.Z19.CLIST
8 XX DD DISP=SHR,DSN=SYS1.MARIST.SYSPROC 到 USER.CLIST 這個 dataset 去找
9 XX DD DISP=SHR,DSN=TOOLS.MARIST.CLIST ISPFCL 這個 Logon Script ,呼叫
10 XX DD DISP=SHR,DSN=ISP.SISPCLIB ISPF 並設定 ISPF 環境
DA(DATASET):
Specify dataset name you want to open/create
FI(FILE):
Specify DDNAME that connect this dataset to
your program or utility
ALTLIB 命令
ALTLIB 指令是用來設定系統要到那些 dataset 尋找
REXX 或 CLIST 使用方法如下
ALTLIB ACTIVATE USER(CLIST)
參考下表,上令指令的 USER(CLIST) 會讓系統把
SYSUPROC 這個 DD append 到指令的搜尋順序中
ISPF 的 LIBDEF 命令
ISPF 的 DISPLAY 指令
EXEC command
Usful link
http://www-03.ibm.com/systems/z/os/zos/bkserv
http://cid-
ca61fa1581cee757.skydrive.live.com/brows
e.aspx/%E5%85%AC%E9%96%8B/ISPF
%20%E6%95%99%E8%82%B2%E8%A8%93%E7%B7%B4