xref:populateXRefRow関数
xref:populateXRefRow関数では、1つの値が相互参照列に移入されます。このxref:populateXRefRow関数では、移入対象の相互参照値である文字列値が返されます。たとえば、表44-8に示すOrder表には、EBS、CommonおよびSBLという列があり、各列の値はそれぞれE100、100およびSBL_001です。
表44-8 列に1つの値がある相互参照表
| EBS | Common | SBL |
|---|---|---|
|
|
|
|
ノート:
この関数の使用時に同時性の問題がある場合は、populateLookupXRefRow関数を使用することもできます。populateLookupXRefRow関数は、同時更新が行われ、一意制約の違反が発生する場合にのみ使用する必要があります。この関数については、「xref:populateLookupXRefRow関数」で説明しています。
次の例は、xref:populateXRefRow関数の構文を示しています。
xref:populateXRefRow(xrefLocation as string, xrefReferenceColumnName as string, xrefReferenceValue as string, xrefColumnName as string, xrefValue as string, mode as string) as string
パラメータ
-
xrefLocation: 相互参照表URI。 -
xrefReferenceColumnName: 参照列の名前。 -
xrefReferenceValue: 参照列名に対応する値。 -
xrefColumnName: 移入される列の名前。 -
xrefValue: 列に移入される値。 -
mode:xref:populateXRefRow関数の列移入モード。値ADD、LINKまたはUPDATEを指定できます。表44-9に、これらのモードを示します。
表44-9 xref:populateXRefRow関数のモード
| モード | 説明 | 例外の原因 |
|---|---|---|
|
|
参照値と追加対象の値を追加します。 たとえば、次のモードを考えてみます。 xref:populateXRefRow("customers.xref"
,"EBS","EBS100", "Common","CM001",
"ADD")この場合、E |
次の理由により、例外が発生する可能性があります。
|
|
|
既存の参照値に対応する相互参照値を追加します。 たとえば、次のモードを考えてみます。 xref:populateXRefRow("customers.xref"
,"Common","CM001","SBL","SBL_
001","LINK") この場合、 |
次の理由により、例外が発生する可能性があります。
|
|
|
既存の参照列と値のペアに対応する相互参照値を更新します。 たとえば、次のモードを考えてみます。 xref:populateXRefRow("customers.xref"
,"SBL","SBL_001", "SBL","SBL_
1001","UPDATE")この場合、 |
次の理由により、例外が発生する可能性があります。
|
ノート:
modeパラメータ値には大/小文字区別があり、表44-9のように大文字のみで指定する必要があります。
表44-10に、xref:populateXRefRow関数のモードと各モードの例外条件を示します。
表44-10 xref:populateXRefRow関数のモードと結果
| モード | 参照値 | 追加される値 | 結果 |
|---|---|---|---|
|
|
|
|
正常終了 例外 例外 |
|
|
|
|
例外 正常終了 例外 |
|
|
|
|
例外 例外 正常終了 |