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
列は移入されません。
例外の原因
次の理由により、例外が発生する可能性があります。
-
指定された名前の相互参照表が見つからない。
-
指定された列名が見つからない。
-
指定された参照値が空である。