BOD 要素と属性について

このトピックには、BOD(ビジネスオブジェクト文書)レプリケーション文書を作成する際に役立つ、その他の情報が含まれています。

BOD ヘッダ

BOD_Name/ApplicationArea/BODID 要素は、次の書式で NID を含みます。


NIDID(DerBODID)?BODNOUN()&verb=BODVERB()

多くの場合、この要素を編集する必要はありません。ただし、NID の場所の値を挿入する必要がある場合は、NIDID マクロを [LNIDID] に変更します。

値式、レプリケーション文書要素」を参照してください。

BOD を設定するために、関連付けられた IDO またはカスタムロードメソッドを作成する場合、BOD のキー値を含む [DerBODID] という名のプロパティを含める必要があります。たとえば PurchaseOrder BOD の場合、購買オーダ番号を含む DerBODID プロパティを定義する必要があります。

BOD 本文

BOD の本文に要素を追加する場合は、以下を行う必要があります。

  • 実際の要素タグとなる [BOD タグ名] を指定します。
  • 要素の [値区分] を、以下のいずれかとして指定します。
    • [リテラル] 値である場合は、[値式] フィールドで指定されます。
    • IDO コレクションでデータ要素にマッピングされている [プロパティタグ] 値、[プロパティ名] フィールドを使用
    • [動的サブコレクション] の場合、[動的サブコレクション IDO 名] フィールドで指定されているように IDO コレクションを使用[][

      SQL テーブルまたは IDO から BOD までの要素の集合体を追加」を参照してください。

  • 要素となる [値区分] に必要とされるその他の情報を指定します。

要素に属性が含まれている場合、つまり BOD タグが以下のようになっている場合、


<element attribute=xxx>

次に、[属性] をクリックして、現在の要素用にフィルタされる、 [レプリケーション文書属性] フォームを表示します。(要素の順序番号が参照のために表示されます。)

[属性] タブで、次の情報を属性に指定します。

  • [属性名] に、XML に含まれる実際の属性を入力します。属性名では大文字、小文字が区別されます。
  • 属性の値がリテラル値か、プロパティであるか(つまり、IDO コレクションのデータ要素にマップされている)を指定します。
  • 値がリテラルの場合、[値式] を指定します。値がプロパティの場合、[プロパティ名] を指定します。プロパティ名は、親 BOD フォームにリストされた IDO のプロパティであるか、その IDO にリンクされたサブコレクション IDO のプロパティです。

本文を構築するためのヒント

  • Infor BOD 形式を使用しないアプリケーションからこのアプリケーションへのインバウンド XML 文書は、以下の XML 要素を含む必要があります。
    
    <DocumentData TargetSite="target_site" SourceSite="source_site" Verb="verb" Noun="noun"> 
    	
  • Infor BOD 形式を使用するアプリケーションの BOD を構築する際には、次の情報に留意してください。
    • BOD の名詞セクションのメイン ID 要素(これは必ずではありませんが [DocumentID] と呼ばれることがよくあります)に、
      • [BOD タグ名]を指定します。
      • [値区分]を[リテラル]に設定します。
      • [プロパティ名]を [DerBODID] に設定します。
    • 参照要素に、参照されている BOD が使用するキー値(DerBODID)とともに ID を入力する必要があります。
    • BOD が削除されたデータを発行するために使用される場合は、本文の [名詞] セクションにある 2 つの要素(メイン ID 要素と状況要素)のみをマップする必要があります。
    • ID 要素または参照 ID 要素に発行される全ての値で、先頭のスペースは切り取られる必要があります。ID 要素に連結されたデータのカラムが挿入される場合、データの各カラムの先頭のスペースは切り取られる必要があります。

      以下の例は、連結と切取りの論理を示します。

      ltrim(VendVch.vend_num) + '~' + ltrim(cast(VendVch.voucher as nvarchar(7)))

      vend_num が 200 で voucher が 5000 の場合、発行される値は以下のようになります。

      200~5000

  • 親タグにデータも属性も含まれていない場合、メタデータで親タグのために要素レコードを定義する必要はありません。子タグ要素が要素フォームで定義されている場合、システムは親タグを XML で自動的に生成します。例えば、次の要素のメタデータを定義した場合、
    
    ProcessCustomerPartyMaster/DataArea/CustomerPartyMaster/Location/Name

    親のメタデータを定義していなければ、

    
    ProcessCustomerPartyMaster/DataArea/CustomerPartyMaster/Location

    システムは次のように XML に欠けている親タグを含めます。

    
    <DataArea>
      <CustomerPartyMaster>
         <Location>
           <Name>MyCo</Name>
         </Location>
      </CustomerPartyMaster>
    </DataArea>  	
  • 要素に連結されたデータの複数のカラムが挿入される場合、承認される連結文字は「~」(波形記号)です。例えば要素の 1 つの値としてともにに発行するために cust_num と cust_seq を連結する場合、以下のように指定します。cust_num~cust_seq

    cust_num が C000001 で cust_seq が 5 の場合、発行される値は以下のようになります。C000001~5

  • 各種フォームの [文書] タブとフィールドを使用して、BOD とその要素および属性の実装情報を入力します。この情報はデータマッピングまたは実装レポートの作成に使用できます。
  • ソースが BOD に必要な全ての情報を含むビューであるカスタムロードメソッドを作成できます。CLM はビューの結果セットを返します。これによって IDO を使用する際の速度が改善することがあります。
    注:  このアプリケーションが他の 2 つのアプリケーション間の統合を容易にするためだけに使用される場合は、このアプリケーションの CLM が実際のアプリケーションの対応する CLM を(リモートメソッドコールを介して)実行します。  

レプリケーション文書スクリプトの生成

レプリケーション文書スクリプトを生成するには、 [Repl 文書スクリプトジェネレータ] フォームを使用して、任意でスクリプトをソースコードコントロールシステムにチェックします。これにより、システムアップグレードにカスタムレプリケーション文書情報を含めることができます。

関連トピック