教學課程:設定 CI/CD 管道,以便與微焦點企業開發人員搭配使用 - AWSMainframe Modernization Modernization Services

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

教學課程:設定 CI/CD 管道,以便與微焦點企業開發人員搭配使用

本教學課程說明如何匯入、編輯和執行 BankDemo Micro Focus 企業開發人員中的示例應用程序,然後提交您的更改以觸發 CI/CD 管道。

先決條件

下載下列檔案。

每個文件的目的如下:

basic-infra.yaml

這一個AWS CloudFormation範本建立 CI/CD 管道所需的基本基礎結構:VPC、Amazon Amazon Amazon Amazon、Amazon Amazon Amazon Amazon、Amazon Amazon Amazon、Amazon Simple、以此類推

pipeline.yaml.

這一個AWS CloudFormation模板是由 Lambda 函數用於啟動管道堆棧。請確定此範本位於公有存取 Amazon S3 儲存貯體中。將連結新增至此值區,做為PipelineTemplateURL在中使用的參數basic-infra.yamlTemplate

m2-code-sync-function.zip.

此 Lambda 函數會建立 CodeCommit 儲存庫,目錄結構以config_git.yaml,並使用以下方式啟動管線堆疊pipeline.yaml。請確定此 zip 檔案位於所有儲存貯體中的公有存取 Amazon S3 儲存貯體中AWS 區域哪裡AWS支援大型主機現代化。我們建議您將檔案存放在儲存貯體中AWS 區域並將其複製到所有桶AWS 區域。為值區使用命名慣例,並附有可識別特定字串的尾碼AWS 區域(例如,m2-cicd-deployment-source-eu-west-1)並添加前綴m2-cicd-deployment-source作為參數的默認值DeploymentSourceBucket並通過使用形成完整的桶AWS CloudFormation替代函數!Sub {DeploymentSourceBucket}-${AWS::Region}同時指的是那個桶basic-infra.yaml資源範本SourceSyncLambdaFunction

config_git.yml.

CodeCommit 目錄結構定義。如需詳細資訊,請參閱 YAML 觸發程序檔案設定範例

BANKDEMO-source.zip.

BankDemo 源代碼和配置文件創建 CodeCommit repository。

BANKDEMO-exercise.zip.

BankDemo 自學課程練習的來源: CodeCommit repository。

建立 CI/CD 管道基本基礎結構

開啟下列連結以快速啟動AWS大型主機 CI/CD 管道基礎堆疊,透過AWS CloudFormation中的AWS 區域您選擇的(您應該已經登錄到AWS打開鏈接時管理控制台)。此堆疊會建立 Amazon S3 儲存貯體,您需要在其中上傳應用程式程式碼 (下一節說明說明),並支援 Lambda 函數來建立必要的資源,例如 CodeCommit repository CodePipeline 管道等

注意

若要啟動此堆疊,您需要許可以管理 IAM、Amazon S3、Lambda 和AWS CloudFormation和使用的許可AWS KMS。

  1. 按下列其中一個連結,啟動AWS CloudFormation並開啟快速建立堆疊(已建立!)

    • 美國東部 (維吉尼亞北部) 啟動堆疊

    • 美國西部 (奧勒岡) 的啟動堆疊

    • 在歐洲 (法蘭克福) 啟動堆疊

    • 在南美洲 (聖保羅) 啟動堆疊

    • 在亞太區域 (雪梨) 啟動堆疊

    所有參數都會適當地預先填入,因此您不需要修改它們。

    注意

    請勿變更參數,除非您已修改AWS CloudFormation範本。

    
      快速建立堆疊頁面AWS已填入大型主機現代化值。
  2. In功能,選擇我承認AWS CloudFormation可能會創建 IAM 資源允許下列項目的權限AWS CloudFormation代您建立 IAM 角色。選擇 Create Stack (建立堆疊)。

    注意

    佈建此堆疊可能需要 3 到 5 分鐘的時間。

  3. 成功建立堆疊之後,瀏覽至輸出新佈建之堆疊的區段。您會在那裡找到需要上傳大型主機程式碼和相依檔案的 Amazon S3 儲存貯體。

    
      所以此AWS CloudFormation輸出索引標籤, 使用AWS顯示 Amazon Amazon Amazon Amazon Amazon Amazon Amazon Amazon Amazon Amazon Amazon Amazon Amazon Amazon Amazon Amazon Amazon Amazon Amazon Amazon Amazon

建立AWS CodeCommit存放庫和 CI/CD 管道

在此步驟中,建立 CodeCommit 透過呼叫呼叫的 Lambda 函數,儲存庫和佈建 CI/CD 管線堆疊AWS CloudFormation建立管道堆疊。

  1. 下載BankDemo範例應用程式到您的本機電腦。

  2. 上傳bankdemo.zip從本機電腦到在建立的 Amazon 電腦到建立的 Amazon 電腦,建立 CI/CD 管道基本基礎結構

  3. 下載 config_git.yml.

  4. 修改config_git.yml如果需要,如下所示:

    • 添加您自己的目標存儲庫名稱,目標分支和提交消息。

      repository-config: target-repository: bankdemo-repo target-branch: main commit-message: Initial commit for bankdemo-repo main branch
    • 新增您想要接收通知電子郵件地址。

      pipeline-config: # Send pipeline failure notifications to these email addresses alert-notifications: - myname@mycompany.com # Send notifications for manual approval before production deployment to these email addresses approval-notifications: - myname@mycompany.com
  5. 上傳config_git.yml包含定義的檔案 CodeCommit儲存庫資料夾結構到中建立的 Amazon S3 儲存貯體建立 CI/CD 管道基本基礎結構。這將叫用將自動佈建存放庫和管道的 Lambda 函數。

    這將創建一個 CodeCommit 儲存庫中提供的名稱target-repository在中定義config_git.yml檔案;例如bankdemo-repo

    Lambda 函數還將通過以下方式創建 CI/CD 管道堆棧AWS CloudFormation。所以此AWS CloudFormation堆棧將具有相同的前綴target-repository提供的名稱後跟隨機字符串(例如bankdemo-repo-01234567。您可以找到 CodeCommit存放庫 URL 和 URL,以存取AWS管理主控台。

    
      AWS CloudFormation顯示端點的「輸出」標籤 CodeCommit 儲存庫和 CodePipeline 代您建立的管道。
  6. 如果 CodeCommit 存儲庫創建完成後,CI/CD 管道將立即觸發以執行完整的 CI/CD。

  7. 推送文件後,它將自動觸發管道,該管道將構建,在測試中部署,運行一些測試並等待手動批准,然後將其部署到生產環境中。

YAML 觸發程序檔案設定範例

repository-config: target-repository: bankdemo-repo target-branch: main commit-message: Initial commit for bankdemo-repo main branch directory-structure: - '/': files: - build.xml - '*.yaml' - '*.yml' - '*.xml' - 'LICENSE.txt' readme: | # Root Folder - 'build.xml' : Build configuration for the application - tests: files: - '*.py' readme: | # Test Folder - '*.py' : Test scripts - config: files: - 'BANKDEMO.csd' - 'BANKDEMO.json' - 'BANKDEMO_ED.json' - 'dfhdrdat' - 'ESPGSQLXA.dll' - 'ESPGSQLXA64.so' - 'ESPGSQLXA64_S.so' - 'EXTFH.cfg' - 'm2-2021-04-28.normal.json' - 'MFDBFH.cfg' - 'application-definition-template-config.json' readme: | # Config Folder This folder contains the application configuration files. - 'BANKDEMO.csd' : CICS Resource definitions export file - 'BANKDEMO.json' : Enterprise Server configuration - 'BANKDEMO_ED.json' : Enterprise Server configuration for ED - 'dfhdrdat' : CICS resource definition file - 'ESPGSQLXA.dll' : XA switch module Windows - 'ESPGSQLXA64.so' : XA switch module Linux - 'ESPGSQLXA64_S.so' : XA switch module Linux - 'EXTFH.cfg' : Micro Focus File Handler configuration - 'm2-2021-04-28.normal.json' : M2 request document - 'MFDBFH.cfg' : Micro Focus Database File Handler - 'application-definition-template-config.json' : Application definition for M2 - source: subdirs: - .settings: files: - '.bms.mfdirset' - '.cbl.mfdirset' - copybook: files: - '*.cpy' - '*.inc' readme: | # Copy folder This folder contains the source for COBOL copy books, PLI includes, ... - .cpy COBOL copybooks - .inc PLI includes # - ctlcards: # files: # - '*.ctl' # - 'KBNKSRT1.txt' # readme: | # # Control Card folder # This folder contains the source for Batch Control Cards # - .ctl Control Cards - ims: files: - '*.dbd' - '*.psb' readme: | # ims folder This folder contains the IMS DB source files with the extensions - .dbd for IMS DBD source - .psb for IMS PSB source - jcl: files: - '*.jcl' - '*.ctl' - 'KBNKSRT1.txt' - '*.prc' readme: | # jcl folder This folder contains the JCL source files with the extensions - .jcl # - proclib: # files: # - '*.prc' # readme: | # # proclib folder # This folder contains the JCL procedures referenced via PROCLIB statements in the JCL with extensions # - .prc - rdbms: files: - '*.sql' readme: | # rdbms folder This folder contains any DB2 related source files with extensions - .sql for any kind of SQL source - screens: files: - '*.bms' - '*.mfs' readme: | # screens folder This folder contains the screens source files with the extensions - .bms for CICS BMS screens - .mfs for IMS MFS screens subdirs: - .settings: files: - '*.bms.mfdirset' - cobol: files: - '*.cbl' - '*.pli' readme: | # source folder This folder contains the program source files with the extensions - .cbl for COBOL source - .pli for PLI source subdirs: - .settings: files: - '*.cbl.mfdirset' - tests: files: - 'test_script.py' readme: | # tests Folder This folder contains the application test scripts pipeline-config: alert-notifications: - myname@mycompany.com approval-notifications: - myname@mycompany.com

企業開發人員 AppStream 2.0 建立!

若要設定微焦點企業開發人員 AppStream 2.0、請參閱教學課程:成立微焦點企業開發人員 AppStream 2.0

將連接到 CodeCommit 存儲庫到企業開發人員,使用在中指定的名稱target-repositoryYAML 觸發程序檔案設定範例

企業開發人員設置和測試

Connect 至企業開發人員 AppStream 2.0 您在其中建立的執行個體企業開發人員 AppStream 2.0 建立!

  1. 從 Windows 開始啟動企業開發人員。選擇微焦點企業開發人員,然後選擇 Eclipse 的企業開發人員。如果您是第一次開始,可能需要一些時間。

  2. 在日蝕啟動器中,WorkSpace:輸入C:\Users\<username>\workspace然後選擇啟動

    注意

    請確定您在重新連接到後選擇了相同的位置 AppStream 2.0 執行個體。工作區選取不是永久性的。

  3. In歡迎,選擇開放 COBOL 透視。這只會在新工作區的第一次顯示。

複製 BankDemo CodeCommit 企業開發者中的存儲庫

  1. 選擇視窗/透視/開放透視/其他... /Git

  2. 選擇複製 Git 儲存庫

  3. InClone 儲存庫,輸入下列資訊:

    • In位置 URI」下方,輸入網址 CodeCommitrepository。

      注意

      複製以下項目的複製網址 HTTPS CodeCommit 儲存庫AWS管理控制台並將其粘貼到此處。該 URI 將被分割成Host (主機)儲存庫路徑..

    • IAM 使用者 CodeCommit 儲存庫認證驗證使用者Password (密碼)並選擇儲存安全地存放

  4. In分支選擇,選擇主要分支,然後選擇下一頁

  5. In本機目標,中目錄, 輸入C:\Users\<username>\workspace並選擇完成

    複製程序完成時BANKDEMO [main]顯示在Git 儲存庫檢視。

建立 BankDemo 大型主機 COBOL 專案與建置應用程式

  1. 將變更COBOL 透視

  2. In專案, 停用自動建置

  3. InFile (檔案),選擇新的,然後大型主機 COBOL 專案

  4. In新的大型主機 COBOL 專案,輸入下列資訊:

    • InProject name (專案名稱), 輸入BankDemo

    • 選擇微焦點模板 [64 位]

    • 選擇 Finish (完成)。

  5. InCOBOL Explorer,展開新的 BankDemo 專案。

    注意

    [BANKDEMO main]方括號中表示專案與本端連接 BankDemo CodeCommit repository。

  6. 如果樹狀檢視未顯示「COBOL 程式」、「文獻簿」、「BMS 來源」和「JCL 檔案」的項目,請選擇重新整理來自 BankDemo 專案內容功能表。

  7. 來自 BankDemo 內容功能表,選擇屬性/微型聚焦/專案設定/COBOL

    • 選擇字符集

    • 選擇套用,然後Close (關閉)

  8. 如果 BMS 和 COBOL 來源的建置未立即啟動,請簽入專案菜單,該選項自動建置已啟用。

    Build (建置) 輸出將顯示在主控台查看並應該在幾分鐘後完成消息BUILD SUCCESSFULBuild finished with no errors

    所以此 BankDemo 應用程序現在應該被編譯並準備好本地執行。

建立本機 BankDemo 用於測試的 CICS 和批次環境

  1. InCOBOL Explorer, 展BANKDEMO / config

  2. 在編輯器中,開啟BANKDEMO_ED.json

  3. 尋找字串ED_Home=並變更指向企業開發人員專案的路徑,如下所示:D:\\<username>\\workspace\\BANKDEMO。 注意使用雙斜線(\\) 在路徑定義中。

  4. 儲存並關閉檔案。

  5. 選擇伺服器 Explorer

  6. 來自預設值內容功能表,選擇開啟管理頁面。微焦點企業伺服器管理頁面在預設瀏覽器中開啟。

  7. 適用於 AppStream 僅限 2.0 個工作階段,請進行下列變更,以便保留本機企業伺服器區域以供本機測試:

    • In目錄伺服器/預設,選擇屬性/組態

    • Replace儲存庫位置取代為D:\<username>\My Files\Home Folder\MFDS

    注意

    每次新連線後,您必須完成步驟 5-8 AppStream 2.0 執行個體。

  8. In目錄伺服器/預設,選擇匯入,然後完成下列步驟:

    • In步驟 1:匯入類型,選擇JSON並選擇下一頁

    • In步驟 2:上傳,單擊以藍色方塊上傳文件。

    • In選擇要上傳的檔案,輸入:

      • 檔案名稱: D:\<username>\workspace\BANKDEMO\config\BANKDEMO_ED.json

      • 選擇 Open (開啟)。

    • 選擇 Next (下一步)。

    • In步驟 3:區域明確清除端點中的通訊埠

    • 選擇 Next (下一步)。

    • In步驟 4:匯入,選擇匯入

    • 選擇 Finish (完成)。

    該列表現在將顯示一個新的服務器名稱BANKDEMO

從企業開發者啟動 BANDEMO 伺服器

  1. 選擇企業開發人員

  2. In伺服器 Explorer,選擇預設值,然後選擇重新整理從內容功能表。

    服務器列表現在也應該顯示 BANKDEMO。

  3. 選擇銀行演示

  4. 從內容功能表選擇與專案建立關聯,然後選擇銀行演示

  5. 從內容功能表選擇啟動

    控制台視圖應顯示服務器啟動的日誌。

    若訊息BANKDEMO CASSI5030I PLTPI Phase 2 List(PI) Processing Completed隨即顯示,伺服器已準備好測試 CICS BANKDEMO 應用程式。

啟動倫巴 3270 終端機

  1. 從 Windows 開始,啟動微焦點倫巴 + 桌上型電腦/倫巴 + 桌上型電腦。

  2. In歡迎,選擇建立新的工作階段/大型主機顯示

  3. In主機顯示器,選擇連線/設定

  4. In工作階段組態,選擇連接方式/TN3270

  5. In主機名稱/位址,選擇Insert並輸入 IP 位址127.0.0.1

  6. InTelnet 連接埠,輸入連接埠6000

  7. 選擇 Apply (套用)。

  8. 選擇 Connect (連線)。

    CICS 歡迎畫面會顯示含有第 1 列訊息的畫面:This is the Micro Focus MFE CICS region BANKDEMO

  9. 按住 Ctrl + 轉移 +Z 可清除螢幕。

執行 BankDemo 交易

  1. 在空白螢幕中,輸入BANK

  2. 畫面十大銀行,在輸入欄位中使用者 ID... :, 輸入guest然後按 Enter。

  3. 畫面二十家銀行,在輸入欄位之前計算貸款的成本, 輸入/(正斜線),然後按下 Enter。

  4. 畫面七十銀行

    • In您想要借入的金額... :, 輸入10000

    • In以... 的利率 :, 輸入5.0

    • In多少個月... :, 輸入10

    • Enter

    顯示的結果應如下:

    Resulting monthly payment.............: $1023.06

    這樣就完成了企業開發人員的 BANKDEMO 應用程序設置。

從企業開發者停止使用 BANDEMO 伺服器

  1. In伺服器 Explorer,選擇預設值,然後選擇重新整理從內容功能表。

  2. 選擇銀行演示

  3. 從內容功能表選擇停止

    控制台視圖應顯示服務器停止的日誌。

    若訊息Server: BANKDEMO stopped successfully顯示時,伺服器已成功關閉。

演練:於 BANDEMO 應用程式中加強貸款計算

在這個案例中,您會逐步執行對程式碼進行範例變更、部署和測試程式碼的程序。

貸款部門希望在「貸款計算」屏幕 BANK70 上創建一個新字段,以顯示「總貸款金額」。這需要 BMS 屏幕 MBANK70 .CBL 的更改,增加了一個新的字段和相應的屏幕處理程序 SBANK70P .CBL 與相關的字帖。此外,BBANK70P .CBL 中的貸款計算程序需要使用附加公式進行擴展。

若要完成本練習,請確定您完成下列先決條件。

  • 下載BANKDEMO-exercise.zipD:\PhotonUser\My Files\Home Folder

  • 將 zip 檔解壓縮至D:\PhotonUser\My Files\Home Folder\BANKDEMO-exercise

  • 建立資料夾D:\PhotonUser\My Files\Home Folder\AnalysisRules

  • 複製規則檔案Loan+Calculation+Update.General-1.xml來自BANKDEMO-exercisefolderD:\PhotonUser\My Files\Home Folder\AnalysisRules

注意

在本練習中,*.CBL 和 *.CPY 中的程式碼變更會在第 1 至 6 欄中以 EXER01 標記。

將貸款分析規則新增至企業開發人員程式碼分析

在 Micro Focus 企業分析器中定義的分析規則可以從企業分析器導出,並導入到企業開發人員在企業開發人員項目中的源運行相同的分析規則。

  1. 打開 Window/Preferences/Micro Focus/COBOL/Code Analysis/Rules.

  2. 選擇編輯...並輸入資料夾名稱D:\PhotonUser\My Files\Home Folder\AnalysisRules包含規則檔案Loan+Calculation+Update.General-1.xml

  3. 選擇 Finish (完成)。

  4. 選擇套用,然後選擇Close (關閉)

  5. 從 BANKEMO 專案內容功能表選擇程式碼分析

    您應該會看到的項目貸款計算

步驟 1:進行貸款計算的代碼分析

隨著新的分析規則,我們想要識別 COBOL 程序和在那裡是匹配搜索模式的代碼行*PAYMENT**LOAN**RATE*在運算式、陳述式和變數中。這將有助於瀏覽代碼並識別所需的代碼更改。

  1. 從 BANKEMO 專案內容功能表選擇代碼分析/貸款計算更新

    這將運行搜索規則,並在名為的新選項卡中列出結果程式碼分析。當右下角的綠色進度列消失時,即完成分析執行。

    所以此程式碼分析選項卡應顯示展開列表BBANK20P.CBLBBANK70P.CBLSBANK70P.CBL,每個列出符合搜尋模式的陳述式、運算式和變數。

    查看結果BBANK20P.CBL只有移動的文字與搜索模式匹配。因此,這個程式可予以忽略。

  2. 在標籤菜單欄中選擇-圖示以全部折疊。

  3. ExpandSBANK70P.CBL並通過雙擊以任意順序選擇任何行,以查看如何打開源代碼並突出顯示在源代碼中選擇的行。您還將識別出所有標識的源行都被標記。

步驟 2:修改 CICS BMS 映射和 COBOL 程序和測試

首先,我們將改變 BMS 地圖MBANK70.BMS和屏幕處理程序SBANK70P.CBL和字帖CBANKDAT.CPY以顯示新的欄位。為了避免在本練習中不必要的編碼,修改過的來源模組可在D:\PhotonUser\My Files\Home Folder\BANKDEMO-exercise\Exercise01folder。通常,開發人員會使用代碼分析結果來導航和修改源。如果您有時間並且想要進行手動更改,請使用 MBANK70 .BMS 和 SBANK70P .CBL(可選)* 中提供的手動更改中提供的信息進行操作。

若要快速變更,請複製下列檔案:

  1. ..\BANKDEMO-exercise\Exercis01\screens\MBANK70.BMSD:\PhotonUser\workspace\bankdemo\source\screens

  2. .\BANKDEMO-exercise\Exercis01\cobol\SBANK70P.CBLD:\PhotonUser\workspace\bankdemo\source\cobol

  3. ..\BANKDEMO-exercise\Exercis01\copybook\CBANKDAT.CPYD:\PhotonUser\workspace\bankdemo\source\copybook

  4. 若要確保已編譯受變更影響的所有程式,請選擇項目/清潔... /清潔所有項目

對於手動變更MBANK70.BMSSBANK70P.CBL,完成下列步驟:

  • 適用於 BMS 中的手動變更MBANK70.BMS源之後添加PAYMENT欄位:

    • TXT09 具有與 TXT08 相同的屬性和初始價值「總貸款額」

    • 具有與付款相同屬性的總計

測試變更

若要測試變更,請重複下列各節中的步驟:

  1. 從企業開發者啟動 BANDEMO 伺服器

  2. 啟動倫巴 3270 終端機

  3. 執行 BankDemo 交易

    此外,您現在還應該看到文字Total Loan Amount.....................:

  4. 從企業開發者停止使用 BANDEMO 伺服器

步驟 3:在 COBOL 程序中添加總量計算

在第二步中,我們將改變BBANK70P.CBL並添加總貸款金額的計算。具有所需更改的準備來源可在D:\PhotonUser\My Files\Home Folder\BANKDEMO-exercise\Exercise01folder。如果您有時間並且想要進行手動更改,請使用 BBANK70P .CBL(可選)* 中提供的信息進行手動更改。

為了快速更改,請複製以下文件:

  • ..\BANKDEMO-exercise\Exercis01\source\cobol\BBANK70P.CBLD:\PhotonUser\workspace\bankdemo\source\cobol

若要手動變更BBANK70P.CBL,完成下列步驟:

  • 使用程式碼分析結果來識別所需的變更。

測試變更

若要測試變更,請重複下列各節中的步驟:

  1. 從企業開發者啟動 BANDEMO 伺服器

  2. 啟動倫巴 3270 終端機

  3. 執行 BankDemo 交易

    此外,您現在還應該看到文字Total Loan Amount.....................: $10230.60

  4. 從企業開發者停止使用 BANDEMO 伺服器

步驟 4:提交變更並執行 CI/CD 管道

將變更提交至中央 CodeCommit 儲存庫並觸發 CI/CD 管線以建置、測試和部署變更。

  1. 從 BANKDEMO 專案,選擇內容功能表中,選擇Team

  2. 在 中Git選項卡中,輸入下列提交訊息:Added Total Amount Calculation

  3. 選擇提交並推送...

  4. 開啟 CodePipeline 控制台並檢查管道執行狀態。

    注意

    如果您遇到企業開發人員或團隊功能提交或推送的任何問題,請使用 Git Bash 命令行界面。

演練 2:提取貸款計算 BankDemo應用程式

在下一個練習中,您將處理另一個變更請求範例。在這種情況下,貸款部門想要重複使用貸款計算常式作為獨立 WebService。例程應保持在 COBOL,也應該仍然是從現有的 CICS COBOL 程序調用BBANK70P.CBL

步驟 1:將貸款計算常式重構為 COBOL 部分

在第一步中,我們提取貸款計算常式到 COBOL 部分. 這一步是需要提取代碼到一個獨立的 COBOL 程序在下一步。

  1. 開啟BBANK70P.CBL在「COBOL 編輯器」中。

  2. 在編輯器中,從內容功能表選擇代碼分析/貸款計算更新。這只會掃描目前的來源是否有分析規則中定義的病毒碼。

  3. 在結果中程式碼分析選項卡,找到第一個算術陳述式DIVIDE WS-LOAN-INTEREST BY 12

  4. 雙擊該語句以在編輯器中導航到源行。這是貸款計算程序的第一個聲明。

  5. 標記下面的代碼塊,用於貸款計算例程被提取到一個部分。

    DIVIDE WS-LOAN-INTEREST BY 12 GIVING WS-LOAN-INTEREST ROUNDED. COMPUTE WS-LOAN-MONTHLY-PAYMENT ROUNDED = ((WS-LOAN-INTEREST * ((1 + WS-LOAN-INTEREST) ** WS-LOAN-TERM)) / (((1 + WS-LOAN-INTEREST) * WS-LOAN-TERM) - 1 )) * WS-LOAN-PRINCIPAL. EXER01 COMPUTE WS-LOAN-TOTAL-PAYMENT = EXER01 (WS-LOAN-MONTHLY-PAYMENT * WS-LOAN-TERM).
  6. 從編輯器內容功能表選擇重構/取到區段...

  7. Enter新增章節名稱:貸款計算

  8. 選擇 OK (確定)。

    標記的代碼塊現在已被提取到新的LOAN-CALCULATION部分和代碼塊已被替換為PERFROM LOAN-CALCULATION陳述式。

測試變更

若要測試變更,請重複下節所述的步驟。

  1. 從企業開發者啟動 BANDEMO 伺服器

  2. 啟動倫巴 3270 終端機

  3. 執行 BankDemo 交易

    此外,您現在還應該看到文字Total Loan Amount.....................: $10230.60

  4. 從企業開發者停止使用 BANDEMO 伺服器

    注意

    如果要避免上述步驟將代碼塊提取到一個部分,則可以從中復制步驟 1 的修改後的源代碼..\BANKDEMO-exercise\Exercis02\Step1\cobol\BBANK70P.CBLD:\PhotonUser\workspace\bankdemo\source\cobol

步驟 2:將貸款計算程序提取到獨立的 COBOL 程序

在步驟 2 中的程式碼區塊LOAN-CALCULATION部分將被提取到一個獨立的程序和原始代碼將被替換為代碼調用新的子程序。

  1. 開啟BBANK70P.CBL在編輯器中找到新的PERFORM LOAN-CALCULATION在步驟 1 中建立的陳述式。

  2. 將游標放置在區域名稱內。它將被標記為灰色。

  3. 從內容功能表選擇重構-> 提取部分/段落編程...

  4. In提取要編程的部分/段落, 輸入新檔案名稱:借鈣氮化硼

  5. 選擇 OK (確定)。

    全新LOANCALC.CBL程式將在編輯器中開啟。

  6. 向下捲動並檢閱為呼叫介面擷取和產生的程式碼。

  7. 選擇編輯器BBANK70P.CBL並移至LOAN-CALCULATION SECTION。查看正在生成的代碼以調用新的子程序LOANCALC.CBL

    注意

    所以此CALL陳述式正在使用DFHEIBLKDFHCOMMAREA呼叫LOANCALC與 CICS 控制塊。因為我們想打電話給新LOANCALC.CBL子程序作為非 CICS 程序,我們必須刪除DFHEIBLKDFHCOMMAREA通過註釋或刪除來自通話。

測試變更

若要測試變更,請重複下節所述的步驟。

  1. 從企業開發者啟動 BANDEMO 伺服器

  2. 啟動倫巴 3270 終端機

  3. 執行 BankDemo 交易

    此外,您現在還應該看到文字Total Loan Amount.....................: $10230.60

  4. 從企業開發者停止使用 BANDEMO 伺服器

    注意

    如果要避免上述步驟將代碼塊提取到一個部分,則可以從中復制步驟 1 的修改後的源代碼..\BANKDEMO-exercise\Exercis02\Step2\cobol\BBANK70P.CBLLOANCALC.CBL D:\PhotonUser\workspace\bankdemo\source\cobol

步驟 3:提交變更並執行 CI/CD 管道

將變更提交至中央 CodeCommit 重新嘗試並觸發 CI/CD 管道以建置、測試和部署變更。

  1. 從 BANKDEMO 專案,選擇內容功能表中,選擇Team

  2. 在 中Git標籤

    • 新增未分級階段借貸 CBL借出卡尔克斯基材料

    • 輸入遞交訊息:Added Total Amount Calculation

  3. 選擇提交並推送...

  4. 開啟 CodePipeline 控制台並檢查管道執行狀態。

    注意

    如果您遇到企業開發人員或團隊功能提交或推送的任何問題,請使用 Git Bash 命令行界面。

清除資源

如果您不再需要針對此教學課程建立的資源,請將其刪除,以免系統繼續向您收取資源的費用。完成下列步驟: