VDB データグループ指定の値の置換定義式
生成された VDB グループからの情報である必要がある場合、タスクの設計時に正確な値がわからなくても、VDB データグループにアクセスする置換定義式によって、この情報を Webject 内で利用できます。
|
Webject を実行するには VDB グループが Webject で利用可能である必要があります。グループを作成するタスクは、Webject 内から実行できません。
|
置換定義式は、param タグのどの data 属性値でも使用できます。
VDB データグループから置換される 1 つのパラメータ値を指定する場合は、以下のようなパラメータ値になります。
data=$(grp_name[]att_name[])
grp_name という名前のグループには要素 (行) が 1 つしかないので、これらのフォーマットでは grp_name[] を使用します。att_name[] という名前の属性には値が 1 つしかないので、これらのフォーマットでは att_name を使用します。データグループに 1 つ以上の要素がある場合は、grp_name[0] を使用してグループ内の最初の要素にアクセスしたり、grp_name[N] を使用してグループ内の最後の要素にアクセスしたりできます。ほかの要素にアクセスする場合は、括弧内に要素のインデックスを指定できます。同様に、ブラケット内に 0、N、またはほかのインデックスを指定すると、att_name[] によって指定された属性の特定の値にアクセスできます。
入力として複数のパラメータ値を指定するには、アスタリスク (*) を値セレクタとして含めます。複数のパラメータ値を正確にフォーマットするには、置換されている文字列でコンマをセパレータとして識別する delim 属性も含める必要があります。複数の値の場合は、以下のようなパラメータ値になります。
data=$(grp_name[]att_name[*]) delim=","
値セレクタ内のアスタリスク ([*]) によって値をすべて選択し、コンマをセパレータとして使用して 1 つの文字列に連結します。Webject は、delim 属性によって、data 属性の複数の値がコンマで区切られていることを認識します。
フォーマットの最後のセットでは、指定したグループ内に要素が 1 つしかないと見なします。データグループに 1 つ以上の要素がある場合は、grp_name[0] を使用してグループ内の最初の要素にアクセスしたり、grp_name[N] を使用してグループ内の最後の要素にアクセスしたりできます。ほかの要素にアクセスする場合は、括弧内に要素のインデックスを指定できます。
詳細については、
一般値の置換の構文を参照してください。
例: VDB データグループによる作成グループを使用した Create-Group の置換
以下のテーブルは、EMP VDB グループの要素 (行)、属性 (列ヘッディング)、および属性値 (列内のセル) を表していると仮定します。
ename
|
phone
|
Burton, Jack
|
873-2302
|
Law, Gracie
|
873-2200
|
LoPan, David
|
873-3313
|
以下の Create-Group Webject 内の置換を使用して、DEPT 属性列を EMP グループに追加することによって、salesEmp という新規グループを作成できます。
<ie:webject name="Create-Group" type="GRP">
<ie:param name="ELEMENT" data="NAME=$(EMP[0]ename[]):
TELEPHONE=$(EMP[0]phone[]):DEPT=Sales"/>
<ie:param name="ELEMENT" data="NAME=$(EMP[1]ename[]):
TELEPHONE=$(EMP[1]phone[]):DEPT=Sales"/>
<ie:param name="ELEMENT" data="NAME=$(EMP[2]ename[]):
TELEPHONE=$(EMP[2]phone[]):DEPT=Sales"/>
<ie:param name="CLASS" data="SalesEmployees"/>
<ie:param name="GROUP_OUT" data="salesEmp"/>
</ie:webject>
Info*Engine による置換処理の後、Webject のパラメータは以下のようになります。
<ie:webject name="Create-Group" type="GRP">
<ie:param name="ELEMENT" data="NAME=Burton, Jack:
TELEPHONE=873-2302:DEPT=Sales"/>
<ie:param name="ELEMENT" data="NAME=Law, Gracie:
TELEPHONE=873-2200:DEPT=Sales"/>
<ie:param name="ELEMENT" data="NAME=LoPan, David:
TELEPHONE=873-3313:DEPT=Sales"/>
<ie:param name="CLASS" data="SalesEmployees"/>
<ie:param name="GROUP_OUT" data="salesEmp"/>
</ie:webject>
Create-Group Webject を実行することによって、以下の表のような salesEmp グループが作成されます。
NAME
|
TELEPHONE
|
DEPT
|
Burton, Jack
|
873-2302
|
営業
|
Law, Gracie
|
873-2200
|
営業
|
LoPan, David
|
873-3313
|
営業
|