xref:lookupXRef1M関数

xref:lookupXRef1M関数を使用すると、参照列の値に対応する複数の値を相互参照列で参照できます。xref:lookupXRef1M関数では、複数のノードを含んだノードセットが返されます。ノードセット内の各ノードに値が含まれています。

たとえば、次の関数では、表44-13SAP列で、EBS列のEBS_1001値に対応する複数の値を参照します:

xref:lookupXRef1M("customers.xref","EBS","EBS_1001","SAP",true())

次の例は、xref:lookupXRefRow1M関数の構文を示しています。

xref:lookupXRef1M(xrefLocation as String, xrefReferenceColumnName as String,
 xrefReferenceValue as String, xrefColumnName as String, needAnException as
 boolean) as node-set

パラメータ

  • xrefLocation: 相互参照URI。

  • xrefReferenceColumnName: 参照列の名前。

  • xrefReferenceValue: 参照列名に対応する値。

  • xrefColumnName: 値が参照される列の名前。

  • needAnException: 値がtrueに設定されると、参照値が見つからない場合に例外がスローされます。そうでない場合は、空のノードセットが返されます。

xref:lookupXRefRow1M関数の例

表44-16に示すように、SiebelBilling1およびBilling2の3つの列があるOrder表について考えてみます。

表44-16 Order表

Siebel Billing1 Billing2

100

101

102

110

111

112

1対1マッピングの場合、xref:lookupPopulatedColumns("Order","Siebel","100","false")メソッドは、次の例に示す値を返します。

<column name="BILLING1">101</column>
<column name="BILLING2">102</column>

この場合は、Billing1Billing2の両方の列が移入されます。

1対多マッピングの場合、xref:lookupPopulatedColumns("Order","Siebel","110","false")メソッドは、次の例に示す値を返します。

<column name="BILLING2">111</column>
<column name="BILLING2">112</column>

この場合、Billing1列は移入されません。

例外の原因

次の理由により、例外が発生する可能性があります。

  • 指定された名前の相互参照表が見つからない。

  • 指定された列名が見つからない。

  • 指定された参照値が空である。