ヘッダーをスキップ

Oracle Advanced Product Catalogインプリメンテーション・ガイド
リリース11i
B25746-01
目次へ
目次
前のページへ
前へ
次のページへ
次へ

ユーザー定義属性データの読込み

概要

Advanced Product Catalogを使用すると、品目の属性をプログラミングなしで無制限に定義できます。属性は設定ユーザー・インタフェースを使用して定義できます。定義はメタデータ表に保存されます。ただし、サード・パーティまたはカスタムのシステムとインタフェースする場合は、属性データを読み込む必要があります。

ユーザー定義属性データを読み込むためのデータベース・ビューの生成

属性グループの設定画面を使用して、ユーザー定義属性データを読み込むためのデータベース・ビューを生成できます。このビューによって、ユーザーは属性メタデータの複雑な処理から解放されます。

PL/SQLによる属性データへのアクセス

特定品目のユーザー定義属性データにアクセスするもう1つの方法は、PL/SQLを使用することです。EGO_USER_ATTRS_DATA_PUBプロシージャを次に示します。

PROCEDURE Get_User_Attrs_Data

p_api_version IN NUMBER
,p_object_name IN VARCHAR2
,p_pk_column_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
,p_attr_group_request_table IN EGO_ATTR_GROUP_REQUEST_TABLE
,p_user_privileges_on_object IN EGO_VARCHAR_TBL_TYPE DEFAULT NULL
,p_entity_id IN VARCHAR2 DEFAULT NULL
,p_entity_index IN NUMBER DEFAULT NULL
,p_entity_code IN VARCHAR2 DEFAULT NULL
,p_debug_level IN NUMBER DEFAULT 0
,p_init_error_handler IN VARCHAR2 DEFAULT FND_API.G_FALSE
,p_init_fnd_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
,p_add_errors_to_fnd_stack IN VARCHAR2 DEFAULT FND_API.G_FALSE
,p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE
,x_attributes_row_table OUT NOCOPY EGO_USER_ATTR_ROW_TABLE
,x_attributes_data_table OUT NOCOPY EGO_USER_ATTR_DATA_TABLE
,x_return_status OUT NOCOPY VARCHAR2
,x_errorcode OUT NOCOPY NUMBER
,x_msg_count OUT NOCOPY NUMBER
,x_msg_data OUT NOCOPY VARCHAR2

p_api_version

コール元は定数値1.0を渡す必要があります。

p_object_name

コール元は定数値‘EGO_ITEM’を渡す必要があります。

p_pk_column_name_value_pairs

これは、コール元が必要とする属性データの在庫品目IDと組織IDを指定するEGO_COL_NAME_VALUE_PAIR_OBJオブジェクトの表です。コール元は次のようなコードを使用して表を作成する必要があります。

l_pk_column_values EGO_COL_NAME_VALUE_PAIR_ARRAY;

l_pk_column_values := EGO_COL_NAME_VALUE_PAIR_ARRAY(

EGO_COL_NAME_VALUE_PAIR_OBJ('INVENTORY_ITEM_ID', <在庫品目ID>) ,EGO_COL_NAME_VALUE_PAIR_OBJ('ORGANIZATION_ID', <組織ID>));

p_attr_group_request_table

これは、EGO_ATTR_GROUP_REQUEST_OBJオブジェクトの表です。コール元が必要とする値が属する属性グループごとに1つのオブジェクトがあります。また、このオブジェクトは、属性グループ内の一部の属性に対してのみ要求をサポートします。表内の各EGO_ATTR_GROUP_REQUEST_OBJオブジェクトは、次のようになっています。

EGO_ATTR_GROUP_REQUEST_OBJ(

NULL,

431,

‘EGO_ITEMMGMT_GROUP’,

<属性グループの内部名>,

<属性グループが改訂レベルに関連付けられている場合は改訂ID、関連付けられていない場合はNULL>,

NULL,

NULL,

<必要な値を持つ属性内部名のオプションのカンマ区切りのリスト、またはNULL>);

p_user_privileges_on_object

これは、VARCHAR2のオプションの表です。要求されている属性グループの参照権限と照合して検証済の、コール元が必要とする権限ごとに1つのVARCHAR2があります。たとえば、ユーザーがGet_User_Attrs_Dataをコールするプロシージャを起動し、コール側プロシージャが属性グループのデータ・セキュリティを強制する必要がある場合、コール側プロシージャでは、現行品目に対する各ユーザーのロールに基づいて、ユーザー権限のリストを渡すことができます。このパラメータがNULL以外の場合、Get_User_Attrs_Dataは、定義済の参照権限がある属性グループに対してデータ・セキュリティを強制します。

p_entity_id、p_entity_index、p_entity_code

ERROR_HANDLERパッケージとともに使用するパラメータ。コール元が複数品目のエラーを識別する必要がない場合は、これらのパラメータは安全にデフォルト設定できます。デフォルト設定の詳細は、ERROR_HANDLERパッケージを調べてください。

p_debug_level

デバッグ・ロギングを制御するパラメータ。安全にデフォルト設定できます。

p_init_error_handler、p_init_fnd_msg_list、p_add_errors_to_fnd_stack

ERROR_HANDLERパッケージとともに使用する追加パラメータ。安全にデフォルト設定できます。

p_commit

処理の最後にGet_User_Attrs_DataがCOMMIT文を発行するかどうかを制御します。API標準に準拠していますが、Get_User_Attrs_DataはDMLを実行しないため、安全にデフォルト設定できます。

x_attributes_row_table

これは、EGO_USER_ATTR_ROW_OBJオブジェクトの表です。各オブジェクトはユーザー定義属性データの行(たとえば、1つのデータベース表のデータ行)を表します。各オブジェクトには、EGO_MTL_SY_ITEMS_EXT_VL(ROW_IDENTIFIERとして格納)からの拡張IDの値が含まれ、主にx_attributes_data_tableでオブジェクトを編成する手段として使用されます。

x_attributes_data_table

これは、EGO_USER_ATTR_DATA_OBJオブジェクトの表です。各オブジェクトは、単一の属性値を表します。特定のデータ行の属性値はすべて、同じROW_IDENTIFIER値を共有します。x_attributes_row_tableの場合と同じように、ROW_IDENTIFIER値はEGO_MTL_SY_ITEMS_EXT_VLからの拡張IDです。各オブジェクトには属性内部名(ATTR_NAMEとして格納)とその値(ATTR_DISP_VALUEとして格納)も含まれています。

x_return_status、x_errorcode、x_msg_count、x_msg_data

処理中に発生した内容を示す4つの標準OUTパラメータ。最初のx_return_statusは、処理が成功した場合はFND_API.G_RET_STS_SUCCESSと等価になります。想定していたエラーが発生した場合はFND_API.G_RET_STS_ERRORと等価に、処理中に不具合が生じた場合はFND_API.G_RET_STS_UNEXP_ERRORと等価になります。X_errorcodeは使用されません。X_msg_countはERROR_HANDLERによってロギングされたエラー・メッセージの数を示します。x_msg_countが1の場合、x_msg_dataにはそのメッセージが含まれます(これは、コール元が1つのメッセージのみのためにERROR_HANDLERと相互作用する不都合を避けるためです)。