

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在 Control-M Planning 中建立作業和排程
<a name="jobs-schedules-control-m"></a>

現在您已部署任務類型和 AWS 連線的連線設定檔，您可以開始建立和執行任務。

每個 AWS Mainframe Modernization 服務任務由一組屬性組成，分為四個部分。每個部分都可以具有許多屬性。下列清單顯示一些較常用的屬性。
+ 一般：
  + 作業名稱
  + 作業所屬的應用程式和子應用程式
  + 要提交的 JCL
  + 文件的連結
+ 排程：
  + 此作業有資格執行的月份和天數
  + 行事曆，例如商業會計期間、假日或其他無法以演算法定義的特殊日期
  + 時段
  + 循環行為
+ 事前準備：
  + 上游相依性 (通常為作業，必須先成功完成此作業才有資格執行)
  + 可能需要的資源
  + 可能需要的使用者動作
+ Control-M 完成作業後執行的動作：
  + 確定任務成功或失敗 （通常根據任務的完成代碼，但您可以覆寫該設定，以使用輸出文字或檢查特定狀態）
  + 失敗或成功的通知，例如電子郵件
  + 下游相依性的發佈狀態

與連線設定檔一樣，您可以[在 GUI 中](https://documents.bmc.com/supportu/9.0.21/en-US/Documentation/Creating_a_Job.htm)或[在 JSON 中](https://docs.bmc.com/docs/automation-api/monthly/code-reference-1116950299.html)建立和部署作業，並使用 Control-M Automation API 進行部署。

下列各節會檢查一些常見的工作流程案例：
+ [根據先前作業的狀態碼啟動作業](status-code.md)
+ [以排定的頻率自動執行作業](scheduled.md)
+ [基本作業根據事件執行](event-based.md)

# 根據先前作業的狀態啟動作業
<a name="status-code"></a>

建立稱為工作流程的作業流程。在成功完成先前作業後，工作流程中的作業與相依性相互關聯。

## 使用 Control-M Web GUI
<a name="using-gui"></a>

若要從 Control-M 使用者介面啟動任務，請執行下列動作：

1. 在**規劃**網域中，新增**工作區**。這將開啟一個具有空資料夾物件的畫布。

1. 選取 AWS Mainframe Modernization 任務類型 （如果您使用提供的任務類型範本，這稱為 [M2JOB](https://github.com/aws-samples/aws-mainframe-modernization-controlm-integration/blob/main/assets/AWS-jobs.json))，並將其拖曳到 資料夾。

1. 在任務類型的顏色變更為綠色後，將其捨棄。右側的窗格包含**一般**、**排程**、**先決條件**和**動作**區段。若要建立任務，請參閱 [Control-M 文件](https://documents.bmc.com/supportu/9.0.21/en-US/Documentation/Creating_a_Job.htm)中的標準說明。

1. 接著，您需要**任務名稱**值來設定任務類型。您可以在 主控台**的應用程式**定義畫面上 AWS Mainframe Modernization 或執行 [ListBatchJobDefinitions API](https://docs.aws.amazon.com/m2/latest/APIReference/API_ListBatchJobDefinitions.html) 來尋找**任務名稱**值。在此試行中，針對數個任務重複步驟 2–4，以您選擇的任何名稱命名每個任務。範例名稱為 `CBANK`、`CURRENCY`、I`NVFUNDS`、`BROKERAGE`、 `RISKMGMT`和 `BANK-SERVICE-Managed-M2`。

1. 若要將這些任務連接到您想要的流程，請選擇任務物件下方的條件三角形，然後將其拖曳至下一個任務。例如，選擇 下方的條件三角形`CBANK`，然後將其拖曳至 `CURRENCY`。此動作會成為 的前`CBANK`身`CURRENCY`。根據預設， `CBANK` 現在必須成功完成，CURRENCY 才有資格執行。

下列螢幕擷取畫面顯示基本任務流程的 Control-M Planning 檢視。



![\[左側的任務流程和右側的屬性。\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/control-m-batch-scheduler/images/workflow-control-m-web-1.png)


*影像由 BMC Software, Inc. 提供 ©2022*

## 使用 JSON
<a name="using-json"></a>

相同的流程可以用 JSON 編碼：

```
{
  "Defaults": {
    "Application": "AWSM2",
    "SubApplication": "Replatform-Managed",
    "Job": {
      "Host": "ctm-worker",
      "Output": {}
    }
  },
  "jog-managed-m2": {
    "Type": "Folder",
    "ControlmServer": "psctm",
    "OrderMethod": "Manual",
    "SiteStandard": "_z_DemoBusinessFlows",
    "CBANK": {
      "Type": "Job:AWS Mainframe Modernization",
      "ConnectionProfile": "MANAGED-M2-REPLATFORM",
      "JCL Name": "iefbr14",
      "Retrieve CloudWatch Logs": "checked",
      "Action": "Start Batch Job",
      "Application Version": "1"
    },
    "CURRENCY": {
      "Type": "Job:AWS Mainframe Modernization",
      "ConnectionProfile": "MANAGED-M2-REPLATFORM",
      "JCL Name": "iefbr14",
      "Retrieve CloudWatch Logs": "checked",
      "Action": "Start Batch Job",
      "Application Version": "1"
    },
    "BROKERAGE": {
      "Type": "Job:AWS Mainframe Modernization",
      "ConnectionProfile": "MANAGED-M2-REPLATFORM",
      "JCL Name": "iefbr14",
      "Retrieve CloudWatch Logs": "checked",
      "Action": "Start Batch Job",
      "Application Version": "1"
    },
    "INVFUNDS": {
      "Type": "Job:AWS Mainframe Modernization",
      "ConnectionProfile": "MANAGED-M2-REPLATFORM",
      "JCL Name": "iefbr14",
      "Retrieve CloudWatch Logs": "checked",
      "Action": "Start Batch Job",
      "Application Version": "1"
    },
    "RISKMGMT": {
      "Type": "Job:AWS Mainframe Modernization",
      "ConnectionProfile": "MANAGED-M2-REPLATFORM",
      "JCL Name": "iefbr14",
      "Retrieve CloudWatch Logs": "checked",
      "Action": "Start Batch Job",
      "Application Version": "1"
    },
    "BANK-SERVICE-Managed-M2": {
      "Type": "Job:SLAManagement",
      "ServiceName": "Bank Service - Managed M2",
      "RunAs": "ctmagent",
      "CompleteBy": {
        "Time": "12:00",
        "Days": "0"
      }
    },
    "leftbranch": {
      "Type": "Flow",
      "Sequence": [
        "CURRENCY",
        "RISKMGMT",
        "BANK-SERVICE-Managed-M2"
      ]
    },
    "middlebranch": {
      "Type": "Flow",
      "Sequence": [
        "CBANK",
        "CURRENCY",
        "INVFUNDS",
        "BANK-SERVICE-Managed-M2"
      ]
    },
    "rightbranch": {
      "Type": "Flow",
      "Sequence": [
        "CURRENCY",
        "BROKERAGE",
        "BANK-SERVICE-Managed-M2"
      ]
    }
  }
}
```

若要部署此流程，請使用 部署服務：

```
ctm deploy folder-MANAGED-M2-REPLATFORM.json
```

# 以排定的頻率自動執行作業
<a name="scheduled"></a>

使用您在先前步驟中建立的流程，您可以新增基本和執行期排程。
+ 基本排程定義作業可以執行的天數 (例如，每個工作日、僅在工作日、月底或季末)。
+ 執行時間排程會決定任務何時會在其有資格執行的日期執行 （例如，每小時、指定資源可用後，或僅在手動確認後）。

您可以在**排程**標籤上設定基本和執行期排程。

# 基本作業根據事件執行
<a name="event-based"></a>

Control-M Managed File Transfer (MFT) 是一種 FTP/SFTP 用戶端和伺服器，可用於在本機主機與遠端主機之間監看和傳輸檔案。如需有關定義檔案傳輸作業的詳細資訊，請參閱 [Control-M 文件](https://documents.bmc.com/supportu/9.0.21/en-US/Documentation/File_Transfer_Job.htm)。

此試驗使用檔案傳輸作業來監看名為 `bmc-poc-bucket` 的 S3 儲存貯體的 `/bmcfile` 資料夾中副檔名為 .poc 的檔案的檔案建立事件。在該事件發生時，系統會啟動 Control-M 作業以執行下一個作業。您可以選擇性地傳遞完整路徑，包括儲存貯體名稱。