< 上一個課程 | 下一個課程 >

第 3 課:建立抵押計算服務

建立專用服務,以計算每月付款金額。

在本課程中,您將建立「EGL 服務」組件,該組件是可產生的組件。必須將每一個可產生的組件放置在不同的原始檔中,並且組件的名稱必須與檔案的名稱相同。

建立服務組件

  1. 在「專案瀏覽器」視窗中,用滑鼠右鍵按一下 MortgageServiceProject,然後按一下新建 > 服務
  2. 在「新建 EGL 服務組件」視窗中,輸入下列資訊:
    1. 套件欄位中,輸入下列名稱:
      services
    2. EGL 原始檔名稱欄位中,輸入下列名稱:
      MortgageCalculationService
      EGL 會新增 .egl 副檔名。
    3. 驗證是否已清除建立為 Web (SOAP) 服務建立為 Web (REST) 服務,並將實作介面欄位留空。
      「新建 EGL 服務組件」視窗會顯示服務名稱和套件。
  3. 按一下完成 這時,EGL 會在編輯器中開啟新的「服務」組件。
  4. 從檔案中移除程式碼,僅保留下列各行:
    package services;
    
    service MortgageCalculationService
    
    end
  5. end 陳述式之前新增下列函數:
    	function amortize(inputData MortgageCalculationResult inOut)
    		amt MONEY = inputData.loanAmount;
    		// convert to monthly rate
    		rate DECIMAL(10, 8) = (1 + inputData.interestRate / 1200);
    		// convert to months
    		term INT = (inputData.term * 12);
    
    		// calculate monthly payment amount
    		pmt MONEY = (amt * (rate - 1) * Mathlib.pow(rate, term)) /
    				(MathLib.pow(rate, term) - 1);
    		totalInterest MONEY = (pmt * term) - amt;
    		
    		// update result record
    		inputData.monthlyPayment = pmt;
    		inputData.interest = totalInterest;
    	end
    從這些指示中貼上程式碼時,格式可能會變更。請按 Ctrl+Shift+F 對程式碼執行重新格式化。 您可以透過按一下視窗 > 喜好設定 > EGL > 編輯器 > 格式製作程式來變更格式化規則。
    註:
    EGL 會在左側頁邊空白中使用紅色 X 來標示任何程式碼錯誤,並在錯誤下面顯示紅色波浪線。將游標移至 X 可查看錯誤訊息。
    在頁邊空白中,使用紅色波浪線和紅色 X 來標示錯誤。

    因為尚未定義名為 MortgageCalculationResult 的類型,所以 EGL 無法建立基於該類型的 inputData 變數。當您在下一個練習中建立此「記錄」類型時,EGL 將從顯示畫面中移除錯誤標記。

  6. 透過按一下檔案 > 儲存來儲存檔案。

建立記錄組件

amortize() 函數使用 MortgageCalculationResult 記錄。 您可以在「服務」所在的相同檔案中定義此記錄。

若要建立「記錄」組件,請執行下列動作:

  1. MortgageCalculationService.egl 檔案中的 amortize() 函數後面,新增下列程式碼。「記錄」是一個組件,所以您應在「服務」組件外部定義「記錄」組件,亦即在檔案中最後一個 end 陳述式的後面:
    record MortgageCalculationResult
    	// user input
    	loanAmount MONEY;
    	interestRate DECIMAL(10,8);
    	term INT;
    
    	// calculated fields
    	monthlyPayment MONEY;
    	interest MONEY;
    end
  2. 儲存檔案。 EGL 在程式碼中應該不再顯示任何錯誤標記。如果在原始檔中看到錯誤,請將程式碼與第 3 課結束之後所完成之 MortgageCalculationService.egl 的程式碼中的檔案內容進行比較。 完成指導教學時,您可能在專案旁邊或專案下面的其中一個資料夾旁邊看到紅色 X,但在檔案本身卻看不到任何錯誤。如果遇到這種狀況,請透過按一下專案 > 清除來解決該問題。在「清除」視窗中,按一下清除下面選取的專案,然後按一下適當的專案,例如 MortgageServiceProject
    已從清單中選取 MortgageServiceProject。
    按一下確定。這時,EGL 會重建選取的專案,並將紅色 X 從「專案瀏覽器」視圖中移除。
  3. 透過按一下編輯器頂端標籤中檔名旁邊的 X,或按一下檔案 > 關閉來關閉檔案。

課程檢查點

您瞭解了如何完成下列作業:
  • 建立「EGL 服務」組件
  • 建立「EGL 記錄」組件,並將其新增至「服務」的原始檔
  • 檢查程式碼中的錯誤

在下一節課程中,您將建立第一個應用程式 Portlet 的使用者介面。

< 上一個課程 | 下一個課程 >

意見