ヘッダーをスキップ

Oracle Product Information Managementインプリメンテーション・ガイド
リリース12
E05616-01
目次へ
目次
前へ
前へ
次へ
次へ

ユーザー定義属性のデータの読取り

この付録には次の項があります。

概要

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

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

属性グループ設定画面を使用すると、ユーザー定義属性データを読み取るためのデータベース・ビューを生成できます。これらのビューにより、属性メタデータの処理が複雑ではなくなります。

PL/SQLを使用した属性のデータへのアクセス

特定の品目のユーザー定義属性にアクセスするには、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オブジェクトの表であり、コール元が値を必要とする各属性グループを示します。オブジェクトは、属性グループ内の一部の属性のみに対する要求もサポートします。表の各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のオプションの表であり、要求される属性グループの参照権限に対してコール元が検証する各権限を示します。たとえば、ユーザーが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オブジェクトの表であり、それぞれはユーザー定義属性データの行(データベース表のデータ行など)を表します。EGO_MTL_SY_ITEMS_EXT_VLの拡張ID値(ROW_IDENTIFIERとして格納)が含まれ、主にx_attributes_data_tableでオブジェクトを編成する方法として機能します。

x_attributes_data_table

これはEGO_USER_ATTR_DATA_OBJオブジェクトの表であり、それぞれは1つの属性値を表します。指定したデータ行のすべての属性値が、同じ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と対話せずに済むようにします)。