foreignKeyLookup()

ソース・ビジネス・オブジェクトの外部キーに基づいて、外部関係表でルックアップを実行します。外部関係表に外部キーが存在しない場合、関係インスタンスの検索は失敗します。

構文

public static void foreignKeyLookup(String relDefName, 
       String appParticpntDefName, BusObj
  appSpecificBusObj,      String appForeignAttr,
        BusObj genericBusObj,
 String genForeignAttr, CwExecutionContext map_ctx)
 

パラメーター

relDefName
外部ビジネス・オブジェクトを管理する単純一致関係の名前。

appParticpntDefName
単純一致関係でアプリケーション固有のビジネス・オブジェクトを表す参加者定義の名前。この参加者のタイプは、外部のアプリケーション固有のビジネス・オブジェクトです。

appSpecificBusObj
アプリケーション固有のビジネス・オブジェクトを含む変数。アプリケーション固有のビジネス・オブジェクトには、外部ビジネス・オブジェクトへの参照が含まれます。

appForeignAttr
外部ビジネス・オブジェクトのキー値を含むアプリケーション固有のビジネス・オブジェクトの属性の名前。

genericBusObj
appSpecificObject のマップ先、またはマップ元の汎用ビジネス・オブジェクトを含む変数。

genForeignAttr
外部ビジネス・オブジェクトへの汎用的な参照を含む、汎用ビジネス・オブジェクトの属性名の名前。

map_ctx
マップの実行コンテキスト。マップの実行コンテキストを渡すには、cwExecCtx 変数を使用します。この変数は、Map Designer Express によってすべてのマップに定義されます。

戻り値

なし。

例外

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");
    }
 

参照項目

foreignKeyXref()

"外部キー参照の実行"

Copyright IBM Corp. 2004