ビジネス・オブジェクトのアプリケーション固有情報

ビジネス・オブジェクト定義内のアプリケーション固有情報で、ビジネス・オブジェクトの処理方法についてのアプリケーション依存の指示がコネクターに与えられます。コネクターは、ビジネス・オブジェクトの属性または動詞、あるいはビジネス・オブジェクト自体からのアプリケーション固有情報を構文解析して、作成、更新、検索、または削除操作の照会を生成します。

コネクターは、ビジネス・オブジェクトのアプリケーション固有情報の一部をキャッシュに格納し、この情報を使用してすべての動詞の照会をビルドします。

アプリケーション固有のビジネス・オブジェクトを拡張または変更する場合、ビジネス・オブジェクト定義内のアプリケーション固有情報が、コネクターが予期する構文に一致することを確認する必要があります。

このセクションでは、コネクターでサポートされるビジネス・オブジェクトのアプリケーション固有情報のフォーマットについて説明します。

表 6 で、ビジネス・オブジェクトのアプリケーション固有情報で使用できる機能の概要を説明します。

表 6. サポートされているビジネス・オブジェクトのアプリケーション固有情報の概要
アプリケーション固有情報の有効範囲 機能性
ビジネス・オブジェクト全体 次を指定します。
  • 対応するコンポーネント・インターフェースの名前。
  • オンライン Field PeopleCode 編集のトリガーを、即時、またはバッチのいずれで行うか。
  • コンポーネント・インターフェースに関連するすべての行、または一番最近のインスタンスのみのいずれを検索するか。
単純属性 次を指定します。
  • アプリケーションで固有 ID 値を生成する、またはコネクターで 固有 ID 値を用意するのいずれか。
  • データを検索するキーとして属性を使用するかどうか。
ビジネス・オブジェクト用動詞 コネクターは、動詞に基づいて機能を指定しません。

次のセクションで、この機能についてさらに詳細に説明します。

ビジネス・オブジェクト・レベルのアプリケーション固有情報

ビジネス・オブジェクト・レベルのアプリケーション固有情報により、次のことが可能です。

ビジネス・オブジェクト・レベルでは、アプリケーション固有情報のフォーマットはコロン (:) 区切り文字で区切られた 4 つのパラメーターで構成されます。フォーマットは、次のとおりです。

cIName=<ComponentInterface>
 :EFFDT=[true|false]:setInteractiveMode=[true|false]:GetHistoryItems
 =[true|false]:setEditHistoryItems=[true|false]
 :GetDummyRows=[true|false]:InsAtOldestEffDtPos=[true]
 :InsAtCurrentEffDtPos=[true]
 

表 7 で、これらのパラメーターについて説明します。

表 7. ビジネス・オブジェクト・レベルの AppSpecificInfo
AppSpecificinfo パラメーター 説明
cIName PeopleSoft アプリケーションに定義されたコンポーネント・インターフェースの名前を指定します。
EFFDT (isEffectiveDated) ビジネス・オブジェクト (または子ビジネス・オブジェクト) が有効期限を使用するかどうかを指定します。
  • EFFDT パラメーターの評価が true の場合、コネクターは CurrentItem() メソッドを使用して最新の有効期限を持つレコードのみを戻します。
  • EFFDT パラメーターの評価が false の場合、コネクターは Item(index) メソッドを使用して、有効期限に関係なく、最初のレコードのみを戻します。例えば、コネクターは将来の日付がリストされていると、それを戻します。

デフォルト値は true です。

setInteractiveMode コネクターが変更をアプリケーション・サーバーに送信する時期を判別します。このプロパティーは、通常、パフォーマンスを向上するために使用されます。
  • true に設定されていると、コネクターは、プロパティーまたは属性の値が変更されるたびに処理します。つまり、コネクターが各属性について setPropertyName() を呼び出した後で、即時にすべてのオンライン Field PeopleCode を起動します。
  • false に設定されていると、PeopleSoft アプリケーションによりバッチ処理され、コネクターがコンポーネント・インターフェースで Save() を呼び出すときに、変更がアプリケーション・サーバーに送信されます。

デフォルト値は true です。

GetHistoryItems コネクターが検索するデータ量を決定します。
  • true に設定されていると、コネクターは、有効期限に関係なく、対応するコンポーネント・インターフェースのすべてのデータ行を検索します。
  • false に設定されていると、コネクターは現在のデータ (有効な行) のみを検索します。

デフォルト値は true です。

GetDummyRows PeopleTools 8.4 以上のバージョンの GetDummyRows プロパティーをサポートします。このプロパティーは、ご使用の PeopleTools がこれよりも前のバージョンである場合は設定しないでください。このプロパティーの詳細については、PeopleSoft の資料を参照してください。
InsAtOldestEffDtPos このパラメーターは、getEffectiveItemNum() 呼び出しによって有効期限行の挿入位置に -1 が返される PeopleTools の以前のバージョンに制限を加えるために設定します。 InsAtOldestEffDtPos が設定されていると、コネクターはこの行を索引の最上部、つまり有効期限が最も古い日付の位置に挿入します。このパラメーターを設定する場合は、InsAtCurrentEffDtPos を設定しないでください。
InsAtCurrentEffDtPos このパラメーターは、getEffectiveItemNum() 呼び出しによって有効期限行の挿入位置に -1 が返される PeopleTools の以前のバージョンに制限を加えるために設定します。 InsAtCurrentEffDtPos が設定されていると、コネクターはこの行を索引の最下部ゼロ、つまり有効期限が最も新しい日付の位置に挿入します。このパラメーターを設定する場合は、InsAtOldestEffDtPos を設定しないでください。
SetEditHistoryItems 使用可能な編集およびデータ履歴の保管。有効期限フィールドでのみ使用されます。

setInteractiveModeGetHistoryItems プロパティーの詳細については、PeopleSoft の資料を参照してください。

例えば、PSFT_EmergencyContact ビジネス・オブジェクトには、ビジネス・オブジェクトのアプリケーション固有情報として次の値が指定されている場合があります。

cINAME=EMER_CONTACT_PROFILE:setInteractiveMode=false:
 GetHistoryItems=true:isEffectiveDated=false
 

属性レベルのアプリケーション固有情報

属性レベルのアプリケーション固有情報で、属性単位のレベルでのコネクターの動作を指定します。アプリケーション固有情報のフォーマットは、それぞれにパラメーター名と値を持つ、5 セットの名前値パラメーターです。各パラメーター・セットは、コロン (:) 区切り文字で区切られます。垂直バー (|) は、オプション・セットのメンバーを区切ります。フォーマットは、次のとおりです。

get=getFieldName:set=setFieldName:UID=[true|false]:GetKey=[true|false]:KeepRelationship
 =[true|false]:findKey=[true|false]:bigDec=true:EFFDT=[true|false]
 :EFFDTSEQ=[true|false]
 

重要:
コネクターがアプリケーション固有情報を評価する場合、大文字と小文字を区別します。

例えば、データを検索する際にキー・フィールドに加えて使用される Read-Only 単純属性の場合、次のフォーマットで指定できます。

get=getBusinessUnit:GetKey=true
 

子を保存する必要のある複数カーディナリティー属性の場合、子が更新ビジネス・オブジェクト要求に組み込まれていなくても、次のフォーマットで指定できます。

get=getEmergencyPhone:set=setEmergencyPhone:KeepRelationship=true
 

表 8 で、各名前値パラメーターを説明します。

表 8. アプリケーション固有情報の属性の名前値のパラメーター
パラメーター 説明
get=getFieldName このパラメーターには、コンポーネント・インターフェース・フィールドか、または現在の属性のコンポーネント・インターフェース・コレクションを検索する場合に使用するメソッドを指定します。
set=setFieldName このパラメーターには、現在の属性の値に基づいて、コンポーネント・インターフェース・フィールドかまたはコンポーネント・インターフェース・コレクションに値を設定する場合に使用するメソッドを指定します。
UID=[true|false] このパラメーターが false に設定されていると、属性の固有な値をビジネス・オブジェクトを作成するビジネス・プロセスで指定する必要があります。属性に値が指定されていないと、コネクターはエラー・メッセージを送信します。

このパラメーターが true に設定されていると、アプリケーションで (自動番号付けを使用して) 固有 ID を生成する必要があります。ID 生成で、ストリング NEXT を指定するために属性値が必要です。ビジネス・オブジェクトを作成するビジネス・プロセスで、その値に NEXT を設定するか、または属性の Default Value プロパティーでこの値を指定する必要があります。ビジネス・オブジェクトが Default Value プロパティーを使用して、ストリング NEXT を指定する場合は、コネクターの UseDefaults プロパティーの評価が true である必要があります。詳細については、"UseDefaults"を参照してください。

キー値を varchar 以外の値に設定した場合、アプリケーションで ID を生成させるには、値をブランクにして UID=True に設定してください。キー値が varchar データ・タイプである場合のみ、値を NEXT に設定してください。

アプリケーションで固有 ID を生成する場合、コネクターは、保管操作が完了してデータがコミットされた後で、アプリケーションで生成された ID を検索します。

統合ブローカーが InterChange Server Express である場合、コネクターは検索した ID を使用してビジネス・オブジェクトを相互参照します。

属性が、アプリケーションで固有 ID を生成することを必要としていない場合、この値を false に設定するか、またはこのパラメーターをアプリケーション固有情報に組み込まないようにします。

GetKey=[true|false] このパラメーターが true に設定されて、属性の Key プロパティーと Required プロパティーの評価が true の場合、コネクターは検索または更新用の検索操作時に、キーの一部としてこの属性を組み込みます。

コネクターはこのパラメーターを使用して、区別が必要な場合に検索キーと作成キーを区別します。作成操作を実行する場合、コネクターはキーとして、その Key プロパティーおよび Required プロパティーの評価が true の属性のみを指定します。作成キー・フィールドだけでは必ずしも必要なデータを固有に検索しないので、コネクターは検索操作を実行する際に、その GetKey パラメーターの評価が true のすべての属性をキーに追加します。

KeepRelationship=[true|false] このパラメーターは、子ビジネス・オブジェクトの配列を表す属性にのみ使用され、更新操作時にソース・ビジネス・オブジェクトで表されない既存の子ビジネス・オブジェクトをコネクターが削除するかどうかを指定します。
  • 削除を防止するには、true に設定します。
  • 削除を許可するには、false に設定します。

例えば、既存の電話番号が既存の連絡先と関連していると仮定します。さらに、コネクターは単一の子ビジネス・オブジェクトを含む PSFT_EmergencyContact ビジネス・オブジェクトを更新する要求を受け取ると仮定します。子は、緊急電話番号と連絡先を関連付けます。 EmergencyPhone[n] 属性の KeepRelationship の評価が true の場合、コネクターは、既存の関連を削除しないで、新規の関連を追加して連絡先を更新します。

ただし、KeepRelationship の評価が false の場合、コネクターはソース・ビジネス・オブジェクトに組み込まれていない既存のすべての子データを削除します。このような場合、連絡先は新規の電話番号にのみ関連付けされます。

findKey=[true|false] このパラメーターが true に設定されている場合、コネクターは内容による検索の操作時に、この属性をキーとして組み込みます。このパラメーターは、コンポーネント・インターフェースの検索キー属性に対して設定してください。
bigDec=[true|false] このパラメーターによって、BigDecimal タイプ属性が識別できます。コンポーネント・インターフェースの BigDecimal 属性のこのパラメーターには true を設定してください。
EFFDT=[true|false] このパラメーターによって、コンポーネント・インターフェースの有効期限属性が識別できます。コネクターは、ビジネス・オブジェクト・レベルでアプリケーション固有情報の EFFDT が true に設定されている場合にのみこのパラメーターを使用します。
EFFDTSEQ=[true|false] このパラメーターによって、getEffectiveItemNum から返される挿入位置に基づいた有効期限属性の順序が識別できます。コネクターは、ビジネス・オブジェクト定義に有効期限属性が含まれている場合にのみこのパラメーターを使用します。

Copyright IBM Corp. 2004