xref:lookupXRef1M関数
xref:lookupXRef1M関数を使用すると、参照列の値に対応する複数の値を相互参照列で参照できます。xref:lookupXRef1M関数では、複数のノードを含んだノードセットが返されます。ノードセット内の各ノードに値が含まれています。
たとえば、次の関数では、表44-13のSAP列で、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に示すように、Siebel、Billing1およびBilling2の3つの列があるOrder表について考えてみます。
表44-16 Order表
| Siebel | Billing1 | Billing2 |
|---|---|---|
|
|
|
|
|
|
|
1対1マッピングの場合、xref:lookupPopulatedColumns("Order","Siebel","100","false")メソッドは、次の例に示す値を返します。
<column name="BILLING1">101</column> <column name="BILLING2">102</column>
この場合は、Billing1とBilling2の両方の列が移入されます。
1対多マッピングの場合、xref:lookupPopulatedColumns("Order","Siebel","110","false")メソッドは、次の例に示す値を返します。
<column name="BILLING2">111</column> <column name="BILLING2">112</column>
この場合、Billing1列は移入されません。
例外の原因
次の理由により、例外が発生する可能性があります。
-
指定された名前の相互参照表が見つからない。
-
指定された列名が見つからない。
-
指定された参照値が空である。