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
- BOD の名詞セクションのメイン ID 要素(これは必ずではありませんが [DocumentID] と呼ばれることがよくあります)に、
- 親タグにデータも属性も含まれていない場合、メタデータで親タグのために要素レコードを定義する必要はありません。子タグ要素が要素フォームで定義されている場合、システムは親タグを 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 文書スクリプトジェネレータ] フォームを使用して、任意でスクリプトをソースコードコントロールシステムにチェックします。これにより、システムアップグレードにカスタムレプリケーション文書情報を含めることができます。