xref:populateXRefRow関数

xref:populateXRefRow関数では、1つの値が相互参照列に移入されます。このxref:populateXRefRow関数では、移入対象の相互参照値である文字列値が返されます。たとえば、表44-8に示すOrder表には、EBSCommonおよびSBLという列があり、各列の値はそれぞれE100100およびSBL_001です。

表44-8 列に1つの値がある相互参照表

EBS Common SBL

E100

100

SBL_001

ノート:

この関数の使用時に同時性の問題がある場合は、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関数の列移入モード。値ADDLINKまたはUPDATEを指定できます。表44-9に、これらのモードを示します。

表44-9 xref:populateXRefRow関数のモード

モード 説明 例外の原因

ADD

参照値と追加対象の値を追加します。

たとえば、次のモードを考えてみます。

xref:populateXRefRow("customers.xref"
,"EBS","EBS100", "Common","CM001",
"ADD")

この場合、ESB参照列に参照値EBS100が、Common列に値CM001が追加されます。

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

  • 指定の相互参照表が見つからない場合。

  • 指定の列が見つからない場合。

  • 提供された値が空の場合。

  • 追加される値が、対象表の対象列で一意でない場合。

  • 対象行の列に値が含まれている場合。

  • 参照値が存在する場合。

LINK

既存の参照値に対応する相互参照値を追加します。

たとえば、次のモードを考えてみます。

xref:populateXRefRow("customers.xref"
,"Common","CM001","SBL","SBL_
001","LINK") 

この場合、Common列の値CM001が、SBL列の値SBL_001にリンクされます。

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

  • 指定の相互参照表が見つからない場合。

  • 指定の列が見つからない場合。

  • 提供された値が空の場合。

  • 参照値が見つからない場合。

  • リンク対象の値が対象表の対象列に存在する場合。

UPDATE

既存の参照列と値のペアに対応する相互参照値を更新します。

たとえば、次のモードを考えてみます。

xref:populateXRefRow("customers.xref"
,"SBL","SBL_001", "SBL","SBL_
1001","UPDATE")

この場合、SBL列の値SBL_001が値SBL_1001に更新されます。

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

  • 指定の相互参照表が見つからない場合。

  • 指定の列が見つからない場合。

  • 提供された値が空の場合。

  • 更新対象の列に複数の値が見つかった場合。

  • 参照値が見つからない場合。

  • 対象行の列に値がない場合。

ノート:

modeパラメータ値には大/小文字区別があり、表44-9のように大文字のみで指定する必要があります。

表44-10に、xref:populateXRefRow関数のモードと各モードの例外条件を示します。

表44-10 xref:populateXRefRow関数のモードと結果

モード 参照値 追加される値 結果

ADD

Absent

Present

Present

Absent

Absent

Present

正常終了

例外

例外

LINK

Absent

Present

Present

Absent

Absent

Present

例外

正常終了

例外

UPDATE

Absent

Present

Present

Absent

Absent

Present

例外

例外

正常終了