-r: 指定向哪個region添加資源定義。如果沒有指定,資源定義將被添加到CICSREGION環境變數指定的region。
-P: 添加資源定義到持久化資料庫,而不將它安裝到運行時資料庫。(在-B或-P沒有指定時是默認選項)。
-B: 添加資源定義到持久化資料庫,並更新運行時資料庫,然後在運行時系統中安裝資源定義。
ResourceName:被添加的資源定義的名稱。
AttributeName=attributeValue:重寫屬性。
例如:
#cicsadd -c pd -r TEST -B MyProg PathName=program1
這條命令添加名為”MyProg“的程序定義到名為TEST的region的持久化資料庫和運行時資料庫,程序路徑設置為”program1“。
當使用這條命令時,要確保在你指定的種類中沒有相同名稱的資源定義,否則將會引起錯誤。
因為運行時資料庫將會從持久化資料庫中被重載,所以推薦冷啟動你的region。在冷啟動後你剛剛添加的資源會生效。但是不要冷啟動SFS伺服器。
參閱:
關於持久化(permanent)、運行時(runtime)、自動(auto)資料庫,冷啟動和熱啟動:
(2)刪除資源定義
本條命令用於從持久化資料庫或運行時資料庫中刪除一個或多個資源定義,當然也可以將兩個資料庫中的資源定義同時刪除。
語法
cicsdelete -c <className> [-r <regionName>] [-P | -R | -B] <resourceName> [<resourceName>…]
選項
-P: 從持久化資料庫刪除(在-P、-B或-R沒有指定時是默認選項)。
-R: 從運行時資料庫刪除並從運行中的系統里卸載。
-B: 從持久化和運行時資料庫中刪除,並從運行中的系統里卸載。
當進行刪除操作時,必須指定資源名稱。
參閱:
(3)更新資源定義
當需要對已經存在的資源定義進行修改時,可以使用本條命令,從而省去刪除然後再添加同一個資源定義的麻煩。
語法
cicsupdate -c <className> [-r <regionName>] [-P | -R | -B] [<resourceName>]
[<attributeName=attributeValue>…]
選項
-P: 更新持久化資料庫(在-P、-B或-R沒有指定時是默認選項)。
-R: 更新運行時資料庫並安裝到運行中的系統。在”cicsupdate -R“之前使用”cicsdelete -R“。
-B: 更新持久化和運行時資料庫,並安裝到運行中的系統。
參閱:
“cicsupdate“除了可以修改資源定義,還將幫助用戶避免重啟(停止和冷啟動)region,因為它可以重載運行時資料庫。
(4)獲取資源定義
本條命令可以檢索持久化資料庫中指定類型的資源的屬性。
語法
cicsget -c <className> [-r <regionName>] {-l | -s [<resourceName>] | [<resourceName>]}
選項
-l: 列出region中指定類型的所有的資源定義。
-s: 列出指定資源的所有屬性名和屬性值。信息分寫為兩行。第一行是以”:”分割的屬性名,第二行包括所有相應的屬性值,也以”:”分割。
參閱:
“/var/cics_regions/<regionName>/database/<className>/<className>.stanza“文件中也可以獲取和修改屬性信息。但是強烈建議使用命令行工具,因為它可以幫助用戶檢查屬性名和屬性值,同時在大多數情況下避免重啟region。
3. “hello world“示常式序
在學習了資源管理之後,用戶可能會對於在何處使用這些知識和工具存在困惑。所以本節會以一個在屏幕上顯示”hello world“的示常式序,來說明通過使用”cicsadd“、”cicstcl“和CEDF在TXSeries中運行交易的步驟。期間會有一個關於如何在修改了程序後避免重啟region的提示。
首先,用戶需要一個叫做”helloworld“的C語言程序。
(1)翻譯、編譯和連接”helloworld“程序
以下是程序的源代碼,請保存在region的bin目錄下。
路徑是”/var/cics_regions/<regionName>/bin“,名稱為”helloworld.ccs“。
Int main(){
Char* Hello = “Hello world!”;
EXEC CICS SEND FROM(Hello) LENGTH(12) ERASE;
EXEC CICS RETURN;
}
使用下列命令去翻譯、編譯和運行上述程序:
cicstcl -lC helloworld.ccs
“cicstcl“會翻譯、編譯源程序,然後運行相應的命令連接生成的目標程序。”-lC“表示源代碼是C語言程序。
參閱:
如果沒有錯誤信息出現,說明程序被創建成功,在bin目錄下會出現一個名為”helloworld“的可執行文件。
(2)添加PD資源定義
儘管程序位於bin目錄下,region還是不知道程序的存在。通過在region中添加一個程序定義(PD),用戶可以通過資源名稱來使用這個程序。
cicsadd -c pd -r <regionName> <PD entry name> PathName=<path of program>
PD名稱(PD entry name)不能多於8個字元。
參閱:
(3)添加TD資源定義
現在region知道了有程序在<path of program>路徑下,名為<PD entry name>。然後用戶在region中添加一個交易定義(TD),”ProgName“屬性值設置為<PD entry name>。這樣當運行這個交易時,”helloworld“程序會被執行。
cicsadd -c td -r <regionName> <TD entry name> ProgName=<PD entry name>
TD名稱(TD entry name)不能多於4個字元。
參閱:
(4)將程序裝載到運行時資料庫
如果TD和PD沒有裝載到運行時資料庫,交易不能成功運行。
下面將介紹在3種不同情況下,確保將程序裝載到運行時資料庫的方法。
a.如果region沒有啟動(執行步驟2和3時region為”inoperative“狀態)
只需要冷啟動region。所有的資源定義將會被裝載到運行時資料庫和運行中的系統。
b.如果在添加資源定義時region已經啟動(執行步驟2和3時region為”active“狀態)
完成步驟2和3後,PD和TD都只是裝載到了持久化資料庫。可以通過停止region然後冷啟動的方法使系統從持久化資料庫向運行時資料庫裝載這些定義。
c. 如果在添加資源定義前region已經啟動(執行步驟2和3前region為”active“狀態)
可以通過在執行”cicsadd“命令時直接指定”-B“選項來向運行時資料庫、持久化資料庫中添加PD和TD,並將它們安裝到運行中的系統。
(5)運行HELO交易
使用”cicslterm“來連接region並運行HELO交易。
如果在屏幕上看到”Hello World!”,那麼恭喜!用戶已經掌握了如何創建和運行自己的交易。
接下來的兩節是對於調試程序有用的建議。
(6)使用CEDF調試程序
CEDF交易可以控制診斷工具(EDF)的開啟和停止。若要通過EDF調試程序,需要在使用cicstran或cicstcl時添加”-e“選項。EDF可以調試程序,在調試點停止並顯示程序在調試點的行為。
對於本單元的示常式序,用戶必須在第1步運行”cicstcl“命令時指定”-e“選項,”-d“是可選項,指定是否顯示行數。
為了啟動EDF,首先需要開啟一個終端並運行CEDF交易,然後用戶會看到類似”Terminal C9F2: EDF mode ON“這樣的信息(C9F2是終端標識號,可以在以下文件中找到最新的記錄”/var/cics_regions/<regionName>/data/CSMT.out“) 。
開啟一個新的終端,使用CECI運行想要調試的交易,命令格式如下
CECI START TRANSID(transid) TERMID(終端id)
本例中為CECI START TRANSID(HELO) TERMID(C9F2)
然後回到運行CEDF的終端進行程序的調試。這是CEDF的同步調試模式。可以看到類似下圖中的內容。
使用回車鍵執行每一步程序,使用”Tab“鍵和回車鍵來選擇屏幕底部的選項。
以下文章點擊率最高
Loading…
