マッピング

このセクションでは、以下について説明します。

マッピングの問題

ビジネス・オブジェクトがマップされないか、またはマッピングが起動されない場合は、マップが正しいディレクトリーにインストールされていることを確認してください。

日付型変換

WebSphere Business Integration Server Express のマップを使用して、データベース内の日付フォーマットのデータを WebSphere Business Integration Server Express ビジネス・オブジェクトが用いるストリング・フォーマットに変換してください。

例えば、Oracle データベースに保管された次のような日付を変換する場合を考えます。

Sun Jan 01 00:00:00 CEST 1999
 

これは WebSphere Business Integration Server Express Oracle Applications ビジネス・オブジェクトで処理される以下のようなストリングに変換するものとします。

Jan 01 1999 00:00:00
 

この変換を実行するには、マッピングにおけるデータ形式変更のために定義された DtpDate() および DtpSplitString() コンストラクターを使用します。これらのコンストラクターの構文と説明、およびコンストラクターがオブジェクトを構成するクラスについては、「マップ開発ガイド」を参照してください。

マップを使用して Date 値を String に変換するためには、以下のステップを実行してください。

  1. スペース区切り文字を指定して DtpSplitString() を呼び出し、ストリングを 6 つの部分に分割して DtpDate が利用可能な順序に再編成する。上記の例の日付を変換するには、次のようにします。
    DtpSplitString OurSplitString = new DtpSplitString
         ("Sun Jan 01 00:00:00 CEST 1999"," ");
     

    このステートメントにおいて、OurSplitStringDtpSplitString 型のユーザー定義の変数であり、スペースが区切り文字として指定されています。

  2. DtpSplitString クラスの nextElement() メソッドを使用して、新規に作成された OurSplitString 変数をループ処理し、String型エレメントで構成される配列に各変数の 6 つのエレメントを格納する。次の例では、出力配列に OurStringPieces を指定しています。
    String[] OurStringPieces = new String[6];
     for (i=0;i<=5;i=i+1){
        OurStringPieces[i]=OurSplitString.nextElement();
     }
     

    このループによって、配列エレメントは次のようになります。

    OurStringPieces[0] = Sun
     OurStringPieces[1] = Jan
     OurStringPieces[2] = 01
     OurStringPieces[3] = 00:00:00
     OurStringPieces[4] = CEST
     OurStringPieces[5] = 1999
     
  3. DtpDate の入力に必要なストリングの断片を連結する。変換例では、DtpDate の入力フォーマットとして "M D Y h:m:s" を使用します。"Jan 01 1999 00:00:00" のように変換されたストリングが必要です。この例の String は、OurStringPieces 配列のエレメント 1、2、5、および 3 を使用します。
    OurConcatenatedString =
     OurStringPieces[1]+OurStringPieces[2]+OurStringPieces[5]+OurStringPieces[3];
     
  4. 新規に連結されたストリングを DtpDate への入力として使用する。

DtpDate OurDtpDate = new DtpDate(OurConcatenatedString,"M D Y h:m:s");
 

日付の値を DtpDate フォーマットに変換すると、マップ内で日付を扱う作業ができるようになります。

Copyright IBM Corp. 2004