ソース・ビジネス・オブジェクトの外部キーに基づいて、外部関係表でルックアップを実行します。外部関係表に外部キーが存在しない場合、関係インスタンスの検索は失敗します。
構文
public static void foreignKeyLookup(String relDefName, String appParticpntDefName, BusObj appSpecificBusObj, String appForeignAttr, BusObj genericBusObj, String genForeignAttr, CwExecutionContext map_ctx)
パラメーター
戻り値
なし。
例外
RelationshipRuntimeException
注記
foreignKeyLookup() メソッドは、AppParticpntDefName 参加者の関係表で、外部キー・ルックアップを実行します。つまり、appSpecificBusObj ビジネス・オブジェクトの外部キーで値が一致する関係インスタンスの外部関係表を検査します。このルックアップが失敗した場合、foreignKeyLookup() メソッドは、宛先ビジネス・オブジェクトの外部キーを null に設定します。外部関係表への行の挿入は行われません (foreignKeyXref() メソッドと同様です)。
このメソッドは、インバウンド・マップとアウトバウンド・マップの両方で使用できます。
例
Requisition オブジェクトに対する Clarify_PartRequest では、VendorId フィールドは外部キー・ルックアップです。これは、Purchasing で Vendor Wrapper が呼び出されないためです。ルックアップが失敗した場合に行を挿入したくないので、ここでは foreignKeyXref() メソッドを使用していません。
if (ObjCustomerRole.isNull("RoleId")) { logError(5003, "OrderAssociatedCustomers.RoleId"); // throw new MapFailureException("OrderAssociatedCustomers.RoleId // is null"); } try { IdentityRelationship.foreignKeyLookup("Customer", "SAPCust", ObjSAP_OrderPartners, "PartnerId", ObjCustomerRole, "RoleId", cwExecCtx); } catch (RelationshipRuntimeException re) { logWarning(re.getMessage()); } if (ObjSAP_OrderPartners.get("PartnerId") == null) { logError(5007, "SAP_OrderPartners.PartnerId", "OrderAssociatedCustomers.RoleId", "Customer", "SAPCust", strInitiator); throw new MapFailureException("ForeignKeyLookup failed"); }
参照項目