特性タイプ

システム内の多くのメンテナンス・オブジェクトが特性表をサポートしています。これは、そのオブジェクトに用意されている属性ではまだサポートされていない追加のフィールドを取得するために使用されます。各特性は特性タイプに関連付けられ、取得するフィールドの属性を定義します。

各特性は特性表の個別の行に格納されますが、特性の取得および表示に使用されるユーザー・インタフェース・メタファーは、オブジェクトの保守に使用されるページのタイプによって異なります。

  • ポータル・ベースのページでは、ビジネス・オブジェクトでオブジェクトの表示および保守を制御します。各特性の表示および保守は、ビジネス・オブジェクトのユーザー・インタフェース設計によって決まります。これらのタイプのページでは、特性をフラット要素として定義することをお薦めします。これで、ユーザー・インタフェースではその特性を別のフィールドであるかのように表示できるからです。ビジネス・オブジェクト・スキーマでの特性のフラット化の詳細は、「フラット化ノードおよび属性」を参照してください。

  • システムには、ユーザー・インタフェースのカスタマイズをサポートしていない固定のページが複数存在します。これらのオブジェクトでは、特性が汎用リストとして表示/保守されます。

この項のトピックでは、特性タイプの定義および使用方法の様々な側面について説明します。

特性値のタイプ

オブジェクトで参照されるすべての特性は、特性タイプを参照します。特性タイプは、ユーザーが特性値の入力時に入力する情報の有効性を制御します。たとえば、「スキル」と呼ばれるユーザーに対する特性タイプがある場合は、この特性タイプに設定した情報によって、ユーザーが別のユーザーのスキルの定義時に指定可能な有効値が制御されます。

特性タイプを設定する際は、次のいずれかのカテゴリに分類する必要があります。

  • 「事前定義済値」。このタイプの特性を設定する場合は、ユーザーによって入力される可能性がある個々の有効値を定義します。典型的な例としては、この特性タイプをユーザーに対して使用し、そのユーザーに事前定義された1つ以上のスキルを定義します。この特性タイプの有効値は個別リストに定義します。

  • 「アドホック値」。このタイプの特性は、指定可能な値が無限にあるため、有効値を個別リストに定義する必要はありません。この特性タイプの典型的な例として、ユーザーの生年月日またはユーザーの母親の旧姓を定義するために使用されるものがあります。オプションで、この特性タイプにアルゴリズムをプラグインして、ユーザーによって入力された値を検証できます。たとえば、特性タイプにアルゴリズムをプラグインして、入力された値が日付であることを確認できます。

  • 「外部キー値」。このタイプの特性の有効値は、別の表に定義します。たとえば、ユーザーがすでに外部キーでない場合は、そのユーザーを表にリンクできます。このタイプの特性の有効値は、ユーザー表に定義します。このタイプの特性を作成する前に、有効値を含む表に関する情報を外部キー参照表に定義しておく必要があります。

  • 「ファイルの場所」。このタイプの特性にはURLが含まれます。URLはファイルやWebサイトを指し示すことができます。このタイプの特性は、特定のエンティティに関連するドキュメントやイメージへの参照を保持する場合に役立ちます。たとえば、いずれかの顧客によって送信された通知書のイメージを、顧客コンタクト登録に関するファイルの場所特性として参照できます。このような特性をエンティティに定義する場合は、URLを個別のブラウザ・ウィンドウで開くためのボタンを使用できまます。

    ファイルの場所特性値は、非相対的な書式で入力する必要があります。たとえば、www.msn.comという特性値を定義する場合は、この特性値をhttp://www.msn.comと入力します。http://プリフィクスを省略すると、起動ボタンが押されたときに、システムではこの特性値をブラウザの現在のURLの末尾に付加してこの場所にナビゲートしようとします。そのため、目的の結果が得られない可能性があります。

    注意:

    ブラウザのセキュリティ制限のため、httpを使用して取得されたページからファイル・プロトコル("file://")を使用してURLを開こうとしても操作は機能しません。ファイル・プロトコルを使用すると、正しく戻らないか、エラー(たとえば、セキュリティ上の理由で追加され、通常はクロス・サイト・スクリプティング機能に起因する「アクセス拒否」)がスローされます。この問題には判明している回避策はありません。ブラウザのセキュリティ標準に従うために、ターゲット・ファイルをFTPまたはHTTPサーバーの場所に移動して、ブラウザのセキュリティ制限の影響を受けるプロトコルの使用を回避することをお薦めします。

    ブラウザがURIへの接続を実行し、サーバーのロジックを使用して接続されない場合、この値には、「URIの参照」のトピックに説明されている機能が適用されないことにも注意してください。

    ファイルへの参照の場合、ファイルをオブジェクトにリンクするには、ファイルの場所の特性タイプではなく添付機能を使用することをお薦めします。詳細は、「添付の概要」を参照してください。ファイルの場所に関連するドキュメントはアップグレードのために残されています。

特性値による検索

システム内の特定のエンティティに特性が指定されている場合は、指定の特性値にリンクされたレコードを検索できます。検索は次のいずれかの方法で実行できます。
  • 一部の基本検索では、「特性タイプ」と「特性値」を入力してオブジェクトを検索するオプションが提供されます。
  • 実装では、問合せデータ・エクスプローラを使用して、特定の特性タイプの特性値に基づいたエンティティに対するカスタマイズ検索を定義できます。
  • 実装では、指定の特性値を介してレコードを検索するビジネス・サービスが必要になる可能性があります。たとえば、ユーザー情報のアップロードでは、特性として定義された従業員IDを介してユーザーの検索が試行されます。

特性をサポートするすべてのエンティティが特性による検索をサポートしているわけではありません。特定の特性表が検索をサポートしているかどうかを確認するには、その表にSRCH_​CHAR_​VALフィールドが含まれていることを確認します。

注意: アドホック特性の場合は、最初の50バイトのみが検索可能です。外部キー特性の場合は、最大50バイトまで各外部キー列の値を連結することで検索値が移入されます。

特性タイプと特性値に基づいて検索するための汎用オプションを提供する基本検索の場合は、エンティティの検索に使用できる特性タイプを制限できます。たとえば、特性を使用して、レポートを作成するために作業予定に関連付けられた「管轄区域」を定義するとします。自社が少数の管轄区域内で事業を展開している場合は、管轄区域で作業予定を検索すると大量の作業予定登録が戻されるため、管轄区域による検索を許可しないようにできます。

管理者は「特性タイプ」に対するフラグを使用して、この特性タイプによる検索を「許可」するか、「許可しない」かを指定できます。

アドホック特性値のデータの型付け

「アドホック値」特性タイプでは、取得された値のデータ型を、フィールドを参照することでさらに制限することができます。値が移入されると、取得された特性値が参照フィールドのデータ型定義に準拠していることが検証されます。

有効な特性エンティティ

特性は指定された表に格納され、それぞれに一意の特性エンティティ値が関連付けられ、この値が表定義レコード上で参照されます。特性タイプ・レコードには、取得が許可されているすべての有効な特性エンティティがリストされます。

基本所有特性タイプのカスタマイズ

実装では、基本所有特性タイプの次の側面をカスタマイズできます。

  • 基本所有の「事前定義済値」特性タイプの有効な値のリストを拡張して、追加のカスタム値を含めます。このような拡張は、特性タイプの定義で「カスタム」オプションがオンの場合にのみサポートされます。

  • 「アドホック値」特性タイプを検証するカスタム・アルゴリズムを提供します。

  • このタイプの特性を検索で使用できるかどうかを示します。

  • 特性タイプに関連付けられたエンティティのリストを拡張します。