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と対話せずに済むようにします)。