在仔細考慮之後,我們決定關閉新客戶對AWS大型主機現代化自我管理體驗的存取權,自 2026 年 6 月 30 日起生效。現有客戶可以繼續照常使用 服務。AWS會繼續投資改善AWS Mainframe Modernization 自我管理體驗的安全性和可用性,但我們不打算推出新功能。如需詳細資訊,請參閱AWS大型主機現代化可用性變更。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS Mainframe Modernization Service (受管執行期環境體驗) 不再向新客戶開放。對於與AWS Mainframe Modernization Service (受管執行期環境體驗) 類似的功能,探索AWS Mainframe Modernization Service (自我管理體驗)。現有客戶可以繼續正常使用該服務。如需詳細資訊,請參閱AWS大型主機現代化可用性變更。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
教學課程:在 中將程式碼從 Assembler 轉換為 COBOL AWS Mainframe Modernization
您可以使用本文件做為step-by-step指南,了解如何將大型主機現代化組件程式碼轉換為 COBOL。此外,您也可以參考從 Assembler 到 COBOL 的自動化程式碼轉換研討會
主題
先決條件
請閱讀 了解 Assembler 轉換的程式碼轉換計費一節以了解 Assembler 程式碼轉換如何產生 費用 (帳單報告)AWS 帳戶管理,以及帳單的運作方式。
步驟 1:與 共用建置資產AWS 帳戶
在此步驟中,請確定您與 共用建置資產AWS 帳戶,尤其是在使用資產的區域中。
-
在 https://https://console.aws.amazon.com/m2/
開啟AWS Mainframe Modernization主控台。 -
在左側導覽中,選擇工具。
-
在 AWS Mainframe Modernization Code Conversion with mLogica 中,選擇與我的共用資產AWS 帳戶。
重要
您需要在每個要進行建置的AWS區域中執行此步驟一次。
步驟 2:建立 Amazon S3 儲存貯體
在此步驟中,您會建立 Amazon S3 儲存貯體。第一個儲存貯體是 的專案儲存貯體AWS CodeBuild,用於保留原始程式碼,然後推送輸出儲存貯體以保留輸出AWS CodeBuild(轉換程式碼)。如需詳細資訊,請參閱《Amazon S3 使用者指南》中的建立、設定和使用 Amazon S3 儲存貯體。 Amazon S3
-
若要建立專案儲存貯體,請登入 Amazon S3 主控台,然後選擇建立儲存貯體。
-
在一般組態中,提供儲存貯體的名稱,並指定您要建立儲存貯AWS 區域體的 。範例名稱為
codebuild-regionId-accountId-bucket,其中:-
regionId是 儲存貯AWS 區域體的 。 -
accountId是您的AWS 帳戶 ID。
注意
如果您要在與美國東部 (維吉尼亞北部)AWS 區域不同的 中建立儲存貯體,請指定
LocationConstraint參數。如需詳細資訊,請參閱《Amazon Simple Storage Service API 參考》中的建立儲存貯體。 -
-
保留所有其他設定,然後選擇建立儲存貯體。
無論您為這些儲存貯體選擇的名稱為何,請務必在本教學課程中使用這些儲存貯體。
步驟 3:建立 IAM 政策
在此步驟中,您會建立 IAM 政策。提供的 IAM 政策授予與 Amazon S3、Amazon Elastic Container Registry、CodeBuild 產生的 Amazon CloudWatch logs以及程式碼轉換Amazon Elastic Compute Cloud資源AWS CodeBuild互動的特定許可。此政策不會為客戶自訂。政策會授予AWS Mainframe Modernization互動的許可,並擷取程式碼轉換統計資料,以適當地向客戶收費。
若要了解如何建立 IAM 政策,請參閱《IAM 使用者指南》中的建立 IAM 政策。
建立政策
-
登入 IAM 主控台,然後在左側導覽窗格中選擇政策。
-
選擇建立政策。
-
將下列 JSON 政策複製並貼到政策編輯器中。
-
您可以選擇將標籤新增至政策。標籤是索引鍵/值對,可協助您組織、追蹤或控制政策的存取。
-
選擇 Next:Review (下一步:檢閱)。
-
提供政策的名稱,例如
CodeBuildAWSM2CCMPolicy。 -
您可以選擇性地輸入政策的描述,並檢閱政策摘要以確保其正確。
-
選擇建立政策。
步驟 4:建立 IAM 角色
在此步驟中,您會建立新的 IAM 角色,在您將先前建立的 IAM 政策與此新 IAM 角色建立關聯之後,允許 CodeBuild 與您AWS資源互動。
如需建立服務角色的相關資訊,請參閱《IAM 使用者指南》中的建立角色以委派許可給AWS服務。
-
登入 IAM 主控台,然後在左側導覽窗格中選擇角色。
-
選擇建立角色。
-
在信任的實體類型下,選擇 AWS 服務。
-
在其他 AWS 服務的使用案例下,選擇 CodeBuild,然後再次選擇 CodeBuild。
-
選擇下一步。
-
在 Add permissions (新增許可) 頁面上,選擇 Next (下一步)。您稍後會將政策指派給角色。
-
在角色詳細資訊下,提供角色的名稱,例如
IAMRoleTaskExecutionRoleForCodeBuild。 -
在選取信任的實體下,確認政策文件如下所示:
-
選擇建立角色。
步驟 5:將 IAM 政策連接至 IAM 角色
在此步驟中,您將先前建立的 IAM 政策連接至 IAM IAMRoleTaskExecutionRoleForCodeBuild 角色。
-
登入 IAM 主控台,然後在左側導覽窗格中選擇角色。
-
在角色中,選擇您先前建立的角色,例如
IAMRoleTaskExecutionRoleForCodeBuild。 -
在許可政策中,選擇新增許可,然後選擇連接政策。
-
在其他許可政策中,選擇您先前建立的政策,例如
CodeBuildAWSM2CCMPolicy。 -
選擇連接政策。
步驟 6:建立 CodeBuild 專案
在此步驟中,您會根據上述buildspec.yml檔案建立三個不同的 CodeBuild 專案。
步驟 6.1:建立定義專案
建立定義專案
-
登入 CodeBuild 主控台,然後選擇建立建置專案。
-
在專案組態區段中,提供專案的名稱,例如
1-awsm2ccm-define-project。 -
在來源區段中,對於來源提供者,保留預設選擇。
-
在環境區段中,選擇自訂映像。
-
在環境類型欄位中,選擇 Linux。
-
在映像登錄檔下,選擇其他登錄檔。
-
在外部登錄 URL 欄位中,遵循 AWS Mainframe Modernization容器一節。
-
在服務角色下,選擇現有服務角色,然後在角色 ARN 欄位中,選擇您先前建立的服務角色 (例如
IAMRoleTaskExecutionRoleForCodeBuild)。 -
展開其他組態區段,執行下列動作:
-
VPC:視需要根據您的設定進行設定。
-
逾時:設定為 60 分鐘。
-
佇列逾時:設定為 480 分鐘。
-
加密:選擇適當的加密設定 (預設值沒問題)。
-
在環境變數區段中,逐一新增下列項目:
-
名稱:PROJECT_BUCKET。值 :
codebuild-regionId-accountId- bucket。類型 :純文字 -
名稱:PROJECT_DIR。值 :
prj_codebuild_01。類型 :純文字 -
名稱 :AWSM2CCM_ACTION。值 :
define_project。類型 :純文字 -
名稱:AWSM2CCM_LOGGING_BUCKET。值 :
s3:// codebuild-regionId-accountId-bucket。類型 :純文字
-
-
-
在 Buildspec 區段中,選擇插入建置命令,然後切換到編輯器。
-
將目前的值取代為:
version: 0.2 phases: build: commands: - . /app/awsm2ccm_prod/bin/setup_env.sh - run_awsm2ccm.sh $PROJECT_DIR artifacts: files: - '**/*' discard-paths: no base-directory: $PROJECT_DIR其中 PROJECT_DIR 是 CodeBuild 中可用的環境變數。如需詳細資訊,請參閱建置環境中的環境變數。
-
在成品區段中,執行下列動作:
-
在類型下,選擇 Amazon S3,然後選擇輸出儲存貯體,例如
codebuild-regionId-accountId-bucket。 -
對於路徑,請將此欄位保留空白。
-
針對名稱,輸入
prj_codebuild_01。 -
針對成品封裝,選取無。
-
對於覆寫成品名稱,請取消勾選此選項。
-
對於加密,將其保留為預設設定。
-
-
針對日誌區段,執行下列動作:
-
CloudWatch 日誌:已停用
-
S3 日誌:已啟用
-
儲存貯體:
codebuild-regionId-account-bucket -
日誌路徑:
CODEBUILD-LOGS
-
-
選擇 Create build project (建立建置專案)。
步驟 6.2:建立程式碼分析專案
建立程式碼分析專案
-
登入 CodeBuild 主控台,然後選擇建立建置專案。
-
在專案組態區段中,提供專案的名稱,例如
2-awsm2ccm-analysis。 -
在來源區段中,針對來源提供者選擇 Amazon S3,然後選擇您先前建立的輸入儲存貯體 (例如
codebuild-regionId-accountId-bucket)。 -
在 S3 物件金鑰或 S3 資料夾欄位中,輸入
prj_codebuild_01。 -
在環境區段中,選擇自訂映像。
-
在環境類型欄位中,選擇 Linux。
-
在映像登錄檔下,選擇其他登錄檔。
-
在外部登錄 URL 欄位中,遵循 AWS Mainframe Modernization容器一節。
-
在服務角色下,選擇現有服務角色,然後在角色 ARN 欄位中,選擇您先前建立的服務角色 (例如,
IAMRoleTaskExecutionRoleForCodeBuild)。 -
展開其他組態區段,執行下列動作:
-
VPC:視需要根據您的設定進行設定。
-
逾時:設定為 60 分鐘。
-
佇列逾時:設定為 480 分鐘。
-
加密:選擇適當的加密設定 (預設值沒問題)。
-
在環境變數區段中,逐一新增下列項目:
-
名稱:PROJECT_BUCKET。值 :
codebuild-regionId-accountId-bucket。類型 :純文字 -
名稱:PROJECT_DIR。值 :
prj_codebuild_01。類型 :純文字 -
名稱:AWSM2CCM_ACTION。值 :
analysis。類型 :純文字 -
名稱:AWSM2CCM_LOGGING_BUCKET。值 :
s3:// codebuild-regionId-accountId-bucket。類型 :純文字
-
-
-
在 Buildspec 區段中,選擇插入建置命令,然後切換到編輯器。
-
將目前的值取代為:
version: 0.2 phases: build: commands: - ln -s $CODEBUILD_SRC_DIR $PROJECT_DIR - . /app/awsm2ccm_prod/bin/setup_env.sh - run_awsm2ccm.sh $PROJECT_DIR artifacts: files: - '*.log' - '_Converted/*/*' - '_Reports/*' secondary-artifacts: reports: files: - '_Reports/AWSM2CCM*' discard-paths: no base-directory: $PROJECT_DIR其中 PROJECT_DIR 是 CodeBuild 中可用的環境變數。如需詳細資訊,請參閱建置環境中的環境變數。
-
在成品區段中,執行下列動作:
-
在類型下,選擇 Amazon S3,然後選擇輸出儲存貯體 (例如
codebuild-regionId-accountId-bucket)。 -
針對路徑,輸入 ARTIFACTS。
-
針對名稱,輸入
prj_codebuild_01。 -
針對成品封裝,選取無。
-
對於覆寫成品名稱,請取消勾選此選項。
-
對於加密,將其保留為預設設定。
-
-
針對日誌區段,執行下列動作:
-
CloudWatch 日誌:已停用
-
S3 日誌:已啟用
-
儲存貯體:
codebuild-regionId-account-bucket -
日誌路徑:
CODEBUILD-LOGS
-
-
選擇 Create build project (建立建置專案)。
步驟 6.3:建立程式碼轉換專案
建立程式碼轉換專案
-
登入 CodeBuild 主控台,然後選擇建立建置專案。
-
在專案組態區段中,提供專案的名稱 (例如
3-awsm2ccm-convert)。 -
在來源區段中,針對來源提供者選擇 Amazon S3,然後選擇您先前建立的輸入儲存貯體 (例如,
codebuild-regionId-accountId-bucket)。 -
在 S3 物件金鑰或 S3 資料夾欄位中,輸入
prj_codebuild_01。 -
在環境區段中,選擇自訂映像。
-
在環境類型欄位中,選擇 Linux。
-
在映像登錄檔下,選擇其他登錄檔。
-
在外部登錄 URL 欄位中,遵循 AWS Mainframe Modernization容器區段。
-
在服務角色下,選擇現有服務角色,然後在角色 ARN 欄位中,選擇您先前建立的服務角色;例如,
IAMRoleTaskExecutionRoleForCodeBuild。 -
展開其他組態區段,執行下列動作:
-
VPC:視需要根據您的設定進行設定。
-
逾時:設定為 60 分鐘。
-
佇列逾時:設定為 480 分鐘。
-
加密:選擇適當的加密設定 (預設值沒問題)。
-
在環境變數區段中,逐一新增下列項目:
-
名稱:PROJECT_BUCKET。值 :
。類型 :純文字codebuild-regionId-accountId-bucket -
名稱:PROJECT_DIR。值 :
prj_codebuild_01。類型 :純文字 -
名稱 :AWSM2CCM_ACTION。值 :
conversion。類型 :純文字 -
名稱:AWSM2CCM_LOGGING_BUCKET。值 :
s3:// codebuild-regionId-accountId-bucket。類型 :純文字
-
-
-
在 Buildspec 區段中,選擇插入建置命令,然後切換到編輯器。
-
將目前的值取代為:
version: 0.2 phases: build: commands: - export AWSM2CCM_PUSH_RUNTIME_COPYBOOKS=y - ln -s $CODEBUILD_SRC_DIR $PROJECT_DIR - . /app/awsm2ccm_prod/bin/setup_env.sh - run_awsm2ccm.sh $PROJECT_DIR artifacts: files: - '*.log' - '_Converted/*/*' - '_Reports/*' discard-paths: no base-directory: $PROJECT_DIR其中 PROJECT_DIR 是 CodeBuild 中可用的環境變數。如需詳細資訊,請參閱建置環境中的環境變數。
-
在成品區段中,執行下列動作:
-
在類型下,選擇 Amazon S3,然後選擇輸出儲存貯體 (例如
codebuild-regionId-accountId-bucket)。 -
針對路徑,輸入 ARTIFACTS。
-
針對名稱,輸入
prj_codebuild_01。 -
針對成品封裝,選取無。
-
對於覆寫成品名稱,請取消勾選此選項。
-
對於加密,將其保留為預設設定。
-
-
針對日誌區段,執行下列動作:
-
CloudWatch 日誌:已停用
-
S3 日誌:已啟用
-
儲存貯體:
codebuild-regionId-account-bucket -
日誌路徑:
CODEBUILD-LOGS
-
-
選擇 Create build project (建立建置專案)。
步驟 7:定義專案並上傳原始程式碼
定義專案會設定專案資料夾和組態檔案,並以預設組態初始化。在此步驟中,您會啟動建置。若要執行此作業:
-
登入AWS CodeBuild主控台。
-
在左側導覽窗格中,選擇建置專案。
-
選取要建置的先前建立的專案 (
1-awsm2ccm-define-project) -
選擇開始建置,然後立即開始定義專案。建置開始後,狀態會變更為進行中。
-
選擇階段詳細資訊,以查看專案協調的每個步驟的進度AWS CodeBuild。
-
等到所有步驟的狀態變更為成功。
-
前往 Amazon S3 主控台。
-
找到並按一下名為 的 Amazon S3 儲存貯體
codebuild-regionId-accountId-bucket-
CODEBUILD-LOGS/資料夾包含執行AWS CodeBuild中專案的AWS CodeBuild日誌。 -
prj_codebuild_01/包含專案結構的 資料夾。它用於分析、expand_macros 和轉換步驟。您可以選擇prj_codebuild_01/來探索詳細資訊 -
cobol_reserved.rsw為轉換器保留的組態檔案 (COBOL 單字清單)。其會在轉換步驟期間使用。 -
Macro_Expansion/資料夾包含巨集以擴展至 Assembler 程式。它在 expand_macros 步驟期間使用。 -
macro_settings.json組態檔案包含自訂巨集替換。它在 expand_macros 步驟期間使用。 -
macrolib/資料夾包含要轉換的 Assembler 巨集。它會在分析和轉換步驟期間使用。-
選取
macrolib/。 -
根據預設,一個名為 的 Assembler 巨集
MACRO1.mac會以範例檔案的形式提供。刪除此檔案,因為分析不需要。 -
在此目錄中上傳您的巨集。
-
-
project_settings_aux.json組態檔案包含與程式碼頁面相關的設定。其會在轉換步驟期間使用。 -
project_settings.json組態檔案包含轉換器的設定。其會在轉換步驟期間使用。 -
srclib/資料夾包含要轉換的 Assembler 程式。它會在分析和轉換步驟期間使用。-
選擇
srclib/。 -
根據預設,兩個名為
SQtest01.asm和 的 Assembler 程式SQtest02.asm會以範例形式提供。刪除這些檔案,因為分析和轉換不需要這些檔案。 -
在此目錄中上傳您的 Assembler 程式。
-
-
-
驗證
1-awsm2ccm-define-project步驟的狀態。它應該在最新建置狀態索引標籤下成功。
您已準備好進行下一個步驟:程式碼分析。
步驟 8:執行分析並了解報告
注意
AWS Mainframe Modernization程式碼轉換分析步驟是免費的。
在此步驟中,您會啟動另一個組建:
-
在左側導覽窗格中,選擇建置專案。
-
選擇您在步驟 6.2 中建立的專案來建置:。
2-awsm2ccm-analysis -
選擇開始建置,然後立即開始產生分析報告。這將啟動建置並將狀態變更為進行中。
-
選擇階段詳細資訊,您會在其中看到專案協調的每個步驟的進度AWS CodeBuild。等到所有步驟的狀態變更為成功。
-
從AWS 管理主控台,前往 Amazon S3 服務主控台。
-
找到並按一下 Amazon S3 儲存貯體:
codebuild-regionId-accountId-bucket-
ARTIFACTS/資料夾包含分析和轉換步驟的輸出。 -
選擇
ARTIFACTS/prj_codebuild_01/_Reports/。 -
下列報告將可供使用:
-
AWSM2CCM-Analysis-Report-<timestamp>.pdf是一項執行報告,可提供AWS Mainframe Modernization程式碼轉換帳單和範圍、改善轉換、轉換摘要和詳細的轉換統計資料。它也會摘要專案層級的程式碼計數和可計費程式碼計數,並提供每個元件的指標和參考成員清單。在執行實際轉換之前,執行和檢查此報告至關重要。 -
Conversion_Detailed_Statistics.txt針對每個元件中找到的每個指令,提供頻率和預期的轉換結果 (顯示為「轉換狀態」)。這樣可以快速識別指示是否明確表示轉換器不支援。可能的轉換狀態結果為:-
完全轉換:指示將準確轉換為 COBOL。
-
部分轉換:支援 指令,但使用不支援的參數或表達式。轉換後可能需要手動調整。
-
未轉換:轉換器不支援 指令。
-
預先編譯要驗證的指示:這些通常包含在巨集中,並參考在大型主機上也稱為條件式組合語言 (例如 AIF、AGO) 的指示。這些是由預先編譯器處理,這些編譯器是由這類指示或指令所驅動,會選取並產生乾淨/靜態的 ASM 程式碼。這些指示取決於要編譯之巨集參數的實際值。因此,相同的巨集可以產生不同的 ASM 程式碼片段,取決於傳遞參數的值。這是因為存在此類預先編譯指示。在這種情況下,請考慮擴展或重新設計巨集。
-
-
Conversion_Global_Statistics.txt在元件層級提供轉換狀態的摘要。 -
CrossReference_PgmToCpyMacro.txt報告 Macros 上的 Assembler 程式相依性。它提供快速方法來判斷上傳的程式碼中是否有任何巨集遺失。 -
CrossReference_PgmToPgm.txt報告其他 Assembler 程式的 Assembler 程式相依性。它提供快速方法來判斷上傳的程式碼中是否有任何 Assembler 程式遺失。
-
-
-
返回AWS CodeBuild服務主控台。
-
驗證 2-awsm2ccm-analysis 步驟的狀態。它應該在最新建置狀態索引標籤下成功。
您已準備好進行下一個步驟:程式碼轉換。
步驟 9:執行程式碼轉換
重要
AWS Mainframe Modernization程式碼轉換步驟將根據您的用量計費。如需計費的詳細資訊,請參閱了解 Assembler 轉換的程式碼轉換計費。
在此步驟中,您將設定轉換程序,然後啟動建置。
-
從AWS 管理主控台前往 Amazon S3 服務。
-
找到並按一下 Amazon S3 儲存貯體:
codebuild-regionId-accountId-bucket。-
前往
prj_codebuild_01/。 -
選取
project_settings.json,然後選擇下載。 -
開啟
project_settings.json檔案以查看下列 JSON 結構:{ "Source programs directory":"srclib", "Source copybooks/macros directory":"macrolib", "Copybook/Macros Conversion":"Called_only", "Do not regenerate the Copy/Macro if already exists":"false", "Target Compiler":"IBM", "Endianess":"Big", "Converted programs extension":"", "Converted CICS programs extension":"", "Converted copies/macros extension":"", "Trace Level":"STANDARD", "Trace file open mode":"append", "Data definition level":5, "Start picture column":40, "Generate Sync FILLER with name":"FILL-SYNC", "Use SYNC clause":"yes", "Decimal Point Comma":"true", "Original Source Placement":"RIGHT" }其中,
-
來源程式目錄: 包含轉換所需的 Assembler 程式。
-
來源複製手冊/巨集目錄: 包含轉換所需的 Assembler Macros 和複製手冊。
-
Copybooks/Macros 轉換可以是:
-
全部:此選項按鈕表示完整轉換將轉換 目錄中可用的所有複本手冊/巨集,無論程式是否正在使用。
-
Called_only:此選項按鈕表示完整轉換只會轉換程式實際使用的複製手冊/巨集。
-
-
重要
如果 Copy/Macro 已存在,則不需要重新產生。
當此值為 true 時,如果已轉換 (存在於輸出資料夾中),工具不會再次轉換複製手冊/巨集。
-
目標:程式的轉換 (產生的程式碼) 取決於目標 COBOL 編譯器。支援下列選項:
-
IBM 大型主機的「IBM」
-
Micro Focus COBOL 的「MF」
-
Veryant isCOBOL 的「VERYANT」
-
NTT DATA Enterprise COBOL (Unikix) 的「NTT」
-
-
結尾和位元:程式的轉換 (產生的程式碼) 取決於目標平台 (位元/結尾)。此組合允許選取下列支援的選項:
-
Endianess:Big (適用於 Big-Endian)/Little (Little-Endian)。例如,IBM z/OS 大型主機為 Big-Endian、Windows 為 Little-Endian、Linux 因發行版本而異 (例如 EC2 上的 Amazon Linux 2 為 Little-Endian)。
-
位元:32/64 (如果未指定,則預設為 32)。建議設定為 32 位元。
-
-
轉換的程式延伸:這是為產生的 COBOL 程式設定副檔名。空白 (“”):無延伸。對於 Rocket Software (先前稱為 Micro Focus) COBOL 目標,建議 CBL 讓 Rocket Enterprise Developer 正確識別檔案。
-
轉換的 CICS 程式延伸:這是為產生的 CICS COBOL 程式設定副檔名。空白 (“”):無延伸。對於 Rocket Software COBOL 目標,建議 CBL 讓 Rocket Enterprise Developer 正確辨識檔案。
-
轉換的複製手冊/巨集延伸:這是為產生的 COBOL 複製手冊設定副檔名。空白 (“”):無延伸。對於 Rocket Software COBOL 目標,建議 CPY 讓 Rocket Enterprise Developer 正確辨識檔案。
-
追蹤層級:追蹤是在轉換期間使用 CodeBuild 記錄的資訊。使用者可以透過選取其中一個提供的選項來選取詳細資訊層級。
-
ERROR = TRACE ERROR:只會顯示轉換錯誤。
-
STANDARD = TRACE STANDARD:會顯示轉換錯誤和標準資訊。這是建議的設定。
-
ALL = TRACE ALL:追蹤層級上限
-
-
追蹤檔案開啟模式:未使用。建議預設設定為附加。
-
資料定義層級:這表示工作儲存和連結區段中定義的子欄位初始層級 (在層級「01」之後)。必須是數字。
-
開始圖片欄:這與產生的 COBOL 程式碼的格式有關,並指出放置 PIC 子句的欄 (在欄位名稱之後)。必須是數字。
-
原始來源置放:這表示註解放置在程式中的位置。它有兩個選項:
-
右:此選項會將註解或其他資訊放在七十三 (73) 欄之後的正確位置。在 COBOL 中,程式碼會寫入前七十二 (1-72) 欄,而來自七十三 (>= 73) 欄的任何內容都會視為註解。
-
上述:此選項會將註解放在翻譯內容上方。
-
-
使用名稱產生 Sync FILLER:此選項與二進位欄位記憶體中的對齊有關 (Assembler "H"、"F"、"D" 資料類型,這些資料類型會轉換為 COBOL "COMP" 資料類型)。為了確保適當的對齊界限,轉換期間會新增明確的填充欄位。這是文字型選項,值必須是字串 (例如 FILL-SYNC)。
-
使用 SYNC 子句:此選項是指二進位欄位記憶體中的對齊。是 = 轉換為 COBOL 的所有欄位。「COMP」將以「SYNC」子句定義 (例如,05 WRKFLD PIC S9(09) COMP SYNC)。
-
小數點逗號:若為 true,DECIMAL-POINT IS COMMA 子句會新增至 "SPECIAL-NAMES" COBOL 段落。
-
-
根據您的需求,變更適當的參數,然後儲存
project_settings.json。 -
從 Amazon S3 儲存貯
prj_codebuild_01/體中移除現有project_settings.json檔案,然後上傳新版本。
-
-
返回AWS CodeBuild服務。
-
選取要建置您先前建立的專案:
3-awsm2ccm-convert-
選擇開始建置,然後立即開始將 Assembler 程式和巨集轉換為 COBOL 程式和複製手冊。
-
等待此專案的建置狀態變更為成功。它將在最新建置狀態索引標籤下。
-
步驟 10:驗證程式碼轉換
-
從AWS 管理主控台,前往 Amazon S3 服務。
-
找到並按一下 Amazon S3 儲存貯體:
codebuild-regionId-accountId-bucket。 -
導覽至
awsm2ccm-do-not-delete.AWS Mainframe Modernization Code 轉換會在轉換過程中為每個 Assembler 或 Macro 模組建立編碼的二進位檔案。這些檔案對於防止向客戶重複計費,以及追蹤分析和轉換多少提供的 Assembler 程式碼至關重要。檔案會存放在下列位置:codebuild-regionId-accountId- bucket/awsm2ccm-do-not-delete/<your_AWS_account_id>/Hash。編碼的檔案不包含任何 Assembler 程式碼,也無法從這些檔案中擷取客戶程式碼。重要
既不手動編輯這些檔案,也不刪除這些檔案。編輯或刪除這些檔案可能會導致相同元件的多個帳單。
將
awsm2ccm-do-not-delete/資料夾視為系統受管目錄。在對此目錄或其內容進行任何變更支援之前,請參閱 。 -
按一下
codebuild-regionId-accountId-bucket以返回儲存貯體。 -
選擇
ARTIFACTS/prj_codebuild_01/。_Converted/ 資料夾包含程式碼轉換步驟所產生的 COBOL 輸出。它將具有下列子目錄:-
copybooks/ 資料夾包含產生的 COBOL 複製手冊。
-
程式/資料夾包含產生的 COBOL 程式。
-
runtime_lib/ 資料夾包含解決方案提供的其他 COBOL 程式和複製手冊。
-
-
如果分析報告和其他報告指出轉換成功,且AWS CodeBuild專案
3-awsm2ccm-convert標記為成功,請從 _Converted/ 目錄下載 COBOL 程式碼和複製手冊。
步驟 11:下載轉換後的程式碼
在此步驟中,從 _Converted/ 目錄下載 COBOL 程式碼和複製手冊,並在目標 COBOL 環境中編譯它們。
-
從AWS 管理主控台,前往 Amazon S3 服務。
-
找到並按一下 Amazon S3 儲存貯體:
codebuild-regionId-accountId-bucket。 -
導覽至位置:
ARTIFACTS/prj_codebuild_01/_Converted/。 -
從 _Converted/ 下的所有子目錄下載轉換後的 COBOL 程式碼。您也可以使用下列 CLI 命令一次下載:
aws s3 cp s3://codebuild-regionId-accountId- bucket/ARTIFACTS/prj_codebuild_01/_Converted/ . --recursive -
在目標 COBOL 環境中分析和編譯轉換後的 COBOL。
清除資源
如果您不再需要為本教學課程建立的資源,請將其刪除以避免額外費用。若要這樣做,請完成下列步驟:
-
刪除您為此教學課程建立的 S3 儲存貯體。如需詳細資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的刪除儲存貯體。
-
刪除您為此教學課程建立的 IAM 政策。如需詳細資訊,請參閱《IAM 使用者指南》中的刪除 IAM 政策。
-
刪除您為此教學課程建立的 IAM 角色。如需詳細資訊,請參閱《IAM 使用者指南》中的刪除角色或執行個體描述檔。
-
刪除您為此教學課程建立的 CodeBuild 專案。如需詳細資訊,請參閱AWS CodeBuild《 使用者指南》中的在 CodeBuild 中刪除組建專案。