JCL - 實用程式



IBM 資料集實用程式

實用程式是預先編寫的程式,大型機系統程式設計師和應用程式開發人員廣泛使用它們來滿足日常需求,組織和維護資料。下面列出了一些實用程式及其功能。

實用程式名稱 功能
IEHMOVE 移動或複製順序資料集。
IEHPROGM 刪除和重新命名資料集;編目或取消編目非 VSAM 資料集。
IEHCOMPR 比較順序資料集中的資料。
IEBCOPY 複製、合併、壓縮、備份或恢復 PDS。
IEFBR14

空操作實用程式。用於將控制權返回給使用者並終止。通常用於建立空資料集或刪除現有資料集。

例如,如果將資料集作為輸入傳遞給具有 DISP=(OLD,DELETE,DELETE) 的 IEFBR14 程式,則在作業完成後將刪除該資料集。

IEBEDIT 用於複製 JCL 的選定部分。例如,如果 JCL 有 5 個步驟,而我們只需要執行步驟 1 和 3,則可以編寫 IEBEDIT JCL,其中包含要執行的實際 JCL 的資料集。在 IEBEDIT 的 SYSIN 中,我們可以指定 STEP1 和 STEP3 作為引數。執行此 JCL 時,它將執行實際 JCL 的 STEP1 和 STEP3。
IDCAMS 建立、刪除、重新命名、編目、取消編目資料集(PDS 除外)。通常用於管理 VSAM 資料集。

為了實現指定的功能,這些實用程式需要與 JCL 中相應的 DD 語句一起使用。

DFSORT 概述

DFSORT 是一個功能強大的 IBM 實用程式,用於複製、排序或合併資料集。SORTIN 和 SORTINnn DD 語句用於指定輸入資料集。SORTOUT 和 OUTFIL 語句用於指定輸出資料。

SYSIN DD 語句用於指定排序和合並條件。DFSORT 通常用於實現以下功能:

  • 根據檔案中指定的欄位位置對輸入檔案進行排序。

  • 根據指定的條件包含或省略輸入檔案中的記錄。

  • 按檔案中指定的欄位位置對輸入檔案進行排序合併。

  • 根據指定的連線鍵(每個輸入檔案中的欄位)連線兩個或多個輸入檔案。

  • 如果需要對輸入檔案進行額外處理,則可以從排序程式呼叫使用者出口程式。例如,如果需要向輸出檔案新增頁首/頁尾,則可以從排序程式呼叫使用者編寫的 COBOL 程式來執行此功能。可以使用控制卡將資料傳遞到 COBOL 程式。

  • 反過來,可以在 COBOL 程式內部呼叫排序程式,以便在處理之前按特定順序排列輸入檔案。通常,對於大型檔案,由於效能原因,不推薦這樣做。

ICETOOL 概述

ICETOOL 是一個多用途 DFSORT 實用程式,用於對資料集執行各種操作。可以使用使用者定義的 DD 名稱定義輸入和輸出資料集。檔案操作在 TOOLIN DD 語句中指定。可以在使用者定義的“CTL”DD 語句中指定其他條件。

下面列出了一些 ICETOOL 的實用程式。

  • ICETOOL 可以在一個或多個條件下實現 DFSORT 的所有功能。

  • SPLICE 是 ICETOOL 的一個強大操作,類似於 SORT JOIN,但具有附加功能。它可以比較兩個或多個檔案中指定的欄位,並建立多個輸出檔案,例如包含匹配記錄的檔案、包含不匹配記錄的檔案等。

  • 可以將一個檔案中特定位置的資料覆蓋到同一檔案或不同檔案中的另一個位置。

  • 可以根據指定條件將檔案拆分為 n 個檔案。例如,包含員工姓名列表的檔案可以拆分為 26 個檔案,每個檔案包含以 A、B、C 等開頭的姓名。

  • 使用 ICETOOL,只需稍微探索一下該工具,就可以實現不同的檔案操作組合。

SYNCSORT 概述

SYNCSORT 用於複製、合併或排序資料集,具有高效能。它可以最佳利用系統資源,並在 31 位和 64 位地址空間中高效執行。

它可以在與 DFSORT 相同的行中使用,並且可以實現相同的功能。它可以透過 JCL 或從用 COBOL、PL/1 或組合語言編寫的程式中呼叫。它還支援從 SYNCSORT 程式呼叫使用者出口程式。

下一章將解釋使用這些實用程式的常用排序技巧。可以使用上述實用程式以簡單的步驟實現複雜的需求,這些需求需要在 COBOL/彙編程式中進行大量的程式設計。

廣告