ソース・ビジネス・オブジェクトの外部キーに基づいて、リレーションシップ・データベースの関係表でルックアップを実行します。外部キーが存在しない場合は、外部関係表で新しい関係インスタンスを追加します。
構文
public static void foreignKeyXref(String relDefName, String appParticpntDefName, String genParticpntDefName, BusObj appSpecificBusObj,String appForeignAttr, BusObj genericBusObj, String genForeignAttr, CxExecutionContext map_ctx)
パラメーター
戻り値
なし。
例外
RelationshipRuntimeException
注記
foreignKeyXref() メソッドは、AppParticpntDefName 参加者の関係表で、外部キー・ルックアップを実行します。つまり、appSpecificBusObj ビジネス・オブジェクトの外部キーで値が一致する関係インスタンスの外部関係表を検査します。 このルックアップが失敗した場合、foreignKeyXref() メソッドは、アプリケーション固有キーの新しい関係インスタンスを外部関係表に追加します。宛先ビジネス・オブジェクトの外部キーを null に設定することはありません (foreignKeyLookup() メソッドと同様です)。このメソッドは、インバウンド・マップとアウトバウンド・マップの両方で使用できます。
foreignKeyXref() メソッドは、渡された引き数で以下の検証を実行します。
上記の検証のいずれかが失敗した場合、foreignKeyXref() は RelationshipRuntimeException 例外をスローします。
引き数の検証が完了すると、foreignKeyXref() が実行するアクションは、次の情報によって異なります。
foreignKeyXref() メソッドは、呼び出しコンテキストと動詞の適切な組み合わせに対して、外部関係表での関係インスタンスの基本的な追加をすべて処理します。foreignKeyXref() が行うアクションの詳細については、"Foreign Key Cross-Reference 関数ブロックの使用"を参照してください。表 110 と表 111 に、各呼び出しコンテキストのアクションを示します。
例
Order マップに対する Clarify_SFAQuote では、CustomerId フィールドは外部キー・ルックアップです。これは、Sales Order Processing Collab が Customer Wrapper を呼び出すためです。
if (ObjSAP_OrderLineItem.get("SAP_OrderLineObjectIdentifier[0]") != null) { if (ObjSAP_OrderLineItem.getString( "SAP_OrderLineObjectIdentifier[0].ObjectQualifier").equals("002")) { BusObj temp = ObjSAP_OrderLineItem.getBusObj( "SAP_OrderLineObjectIdentifier[0]"); if (temp.isNull("ItemId")) { logWarning(5003, "SAP_OrderLineItem.SAP_OrderLineObjectIdentifier[1].ItemId"); } else { try { IdentityRelationship.foreignKeyXref( "Item", "SAPMbasc", "CWItba", temp, "ItemId", ObjOrderLineItem, "ItemId", cwExecCtx); } catch (RelationshipRuntimeException re) { logWarning(re.getMessage()); } if (ObjOrderLineItem.get("ItemId") == null) { logError(5009, "OrderLineItem.ItemId", "SAP_OrderLineItem.SAP_OrderLineObjectIdentifier.ItemId", "Item", "SAPMbasc", strInitiator); throw new MapFailureException("ForeignKeyXref() failed"); } } } }
参照項目