SAP Web サービスでの Table データ型の使用

SAP Web サービスでは、入力または出力パラメーターとして、Table データ型が要求される場合があります。SAP テーブルは、複数の列で構成されるデータベースと似ています。テーブル内の各行がレコードを表します。

LiveCycle では、マップ値のリストを使用して、SAP テーブルが表されます。

  • リスト値がテーブルを表します。

  • 各マップ値がテーブル内の行を表します。

  • マップのキーは、テーブルの列の名前です。対応する文字列値は、その列の値です。

例えば、ある SAP テーブルに列 COL1、COL2 および COL3 があるとします。SAP Web サービスでは、INPUT_TABLE 入力パラメーターの値として、2 行のテーブルデータを必要としています。varMap1 および varMap2 という、文字列値を含む 2 つのマップ変数を作成します。次の式のようなエントリを使用し、Set Value サービスを使用して各マップに値を設定します。

/process_data/varMap1[@id='COL1'] = 'value1' 
/process_data/varMap1[@id='COL2'] = 'value2' 
/process_data/varMap1[@id='COL3'] = 'value3' 
/process_data/varMap2[@id='COL1'] = 'valueA' 
/process_data/varMap2[@id='COL2'] = 'valueB' 
/process_data/varMap2[@id='COL3'] = 'valueC'

また、SAPtable という名前のリスト変数も作成します。Set Value サービスを使用して、マップ値をリストに追加します。

/process_data/SAPtable=varMap1 
/process_data/SAPtable=varMap2
注意: リストにインデックスを指定しない場合、値は、リスト内のすべての既存の項目の後に追加されます。

次の XML は、SOAP 要求における INPUT_TABLE パラメーターを表しています。

<INPUT_TABLE) 
    {$ /process_data/SAPtable $} 
</INPUT_TABLE>

開発環境で SOAP 要求をテストする場合は、item 要素を使用してリスト項目を表します。各 item 要素には、テーブル列ごとに 1 つの要素が含まれます。

  • 要素名は、列名です。

  • 要素の文字データは、列の値です。

<INPUT_TABLE) 
    <item> 
        <COL1>value1</COL1> 
        <COL2>value2</COL2> 
        <COL3>value3</COL3> 
    </item> 
    <item> 
        <COL1>valueA</COL1> 
        <COL2>valueB</COL2> 
        <COL3>valueC</COL3> 
    </item> 
</INPUT_TABLE>