目次

Search

  1. はじめに
  2. トランスフォーメーションに関する作業
  3. アグリゲータトランスフォーメーション
  4. カスタムトランスフォーメーション
  5. カスタムトランスフォーメーション関数
  6. データマスキングトランスフォーメーション
  7. データマスキングの例
  8. 式トランスフォーメーション
  9. エクスターナルプロシージャトランスフォーメーション
  10. フィルタトランスフォーメーション
  11. HTTPトランスフォーメーション
  12. ID解決トランスフォーメーション
  13. Javaトランスフォーメーション
  14. JavaトランスフォーメーションAPIのリファレンス
  15. Java式
  16. Javaトランスフォーメーションの例
  17. ジョイナトランスフォーメーション
  18. ルックアップトランスフォーメーション
  19. ルックアップキャッシュ
  20. 動的ルックアップキャッシュ
  21. ノーマライザトランスフォーメーション
  22. ランクトランスフォーメーション
  23. ルータトランスフォーメーション
  24. シーケンスジェネレータトランスフォーメーション
  25. ソータトランスフォーメーション
  26. ソース修飾子トランスフォーメーション
  27. SQLトランスフォーメーション
  28. マッピングにおけるSQLトランスフォーメーションの使用
  29. ストアドプロシージャトランスフォーメーション
  30. トランザクション制御トランスフォーメーション
  31. 共有体トランスフォーメーション
  32. 構造化されていないデータのトランスフォーメーション
  33. アップデートストラテジトランスフォーメーション
  34. XMLトランスフォーメーション

トランスフォーメーションガイド

トランスフォーメーションガイド

手順3. メソッドスタブにインプリメンテーションを記述

手順3. メソッドスタブにインプリメンテーションを記述

最後に、手続きのコーディングを行います。
  1. 手続きに対して生成された
    <手続き名>
    .cppという名前のスタブファイルを開きます。
    BankSoftの例では、fv.cppを開いて、TxINF_BankSoft::FV手続きのコーディングを行います。
  2. 手続きのC++コードを入力します。
    FV手続きのインプリメンテーションには、以下のコードを入力します。
    INF_RESULT TxINF_BankSoft::FV() {   // Input port values are mapped to the m_pInParamVector array in   // the InitParams method. Use m_pInParamVector[i].IsValid() to check   // if they are valid. Use m_pInParamVector[i].GetLong or GetDouble,   // etc. to get their value. Generate output data into m_pOutParamVector.   //  TODO: Fill in implementation of the FV method here.     ostrstream ss;     char* s;     INF_BOOLEAN bVal;     double v;     TINFParam* Rate = &m_pInParamVector[0];     TINFParam* nPeriods = &m_pInParamVector[1];     TINFParam* Payment = &m_pInParamVector[2];     TINFParam* PresentValue = &m_pInParamVector[3];     TINFParam* PaymentType = &m_pInParamVector[4];     TINFParam* FV = &m_pOutParamVector[0];     bVal =       INF_BOOLEAN(         Rate->IsValid() &&         nPeriods->IsValid() &&         Payment->IsValid() &&         PresentValue->IsValid() &&         PaymentType->IsValid()       );     if (bVal == INF_FALSE)     {       FV->SetIndicator(INF_SQL_DATA_NULL);       return INF_SUCCESS;     }     v = pow((1 + Rate->GetDouble()), (double)nPeriods->GetLong());     FV->SetDouble(       -(          (PresentValue->GetDouble() * v) +          (Payment->GetDouble() *            (1 + (Rate->GetDouble() * PaymentType->GetLong()))) *          ((v - 1) / Rate->GetDouble())       )     );     ss << "The calculated future value is: " << FV->GetDouble() <<ends;     s = ss.str();     (*m_pfnMessageCallback)(E_MSG_TYPE_LOG, 0, s);     (*m_pfnMessageCallback)(E_MSG_TYPE_ERR, 0, s);     delete [] s;     return INF_SUCCESS; }
    Designerは、引数や戻り値などの関数プロファイルを生成します。コメントに示すように、関数内に実際のコードを入力する必要があります。POW関数を参照し、
    ostrstream
    変数を定義しているので、前処理文も含めなければなりません。
    Windowsでは:
    #include <math.h> #include <strstream> using namespace std;
    UNIXではinclude文は次のようになります。
    #include <math.h> #include <strstream.h>
  3. 変更したファイルを保存します。