最近のアクセス:
データプロバイダーのサブグループステートメント

データプロバイダーのサブグループステートメントは、データプロバイダーの出力ベースの宣言型言語のコンポーネントのうちの 1 つです。サブグループとは、宣言型においてプロシージャー型言語のサブルーチンと同等のものです。宣言したステートメントは、Subgroup エレメントを挿入することによって、データプロバイダーのエレメントステートメントの代わりに呼び出すことができます。 

構文 

<サブグループステートメント>::=   subgroup <サブグループ名>(  [ <パラメーターのリスト> ]  )
  <メイングループのリスト>
  endsubgroup
入力値の説明:
<メイングループのリスト> ::= <グループ名> | <メイングループのリスト> <グループ名>
この後に続く、データプロバイダーのグループステートメントの一覧です。
サブグループは、データプロバイダーのソースの末尾 (すべてのグループステートメントの後) でまとめて定義する必要があります。  

Customers
{
   Customer
   {
      Code = CustomerId
      Name = CustomerName
      AddressGroup.Insert(CustomerAddress, CityName)
   }
}

SubGroup AddressGroup(&Street, &City)
Address 
{ 
   Street = &Street
   City = &City 
}
EndSubGroup
サブグループは内部的なもの (上記) と外部的なもの (別のデータプロバイダーとして定義) があります。たとえば、Street および City を含む Address の SDT がある場合、データプロバイダーの GetAddress は次のようになります:
Output: Address
Collection: False
Rules: parm( &Street, &City );
Address
{
    Street = &street
    City = &city 
}
次のように前述の GetCustomers データプロバイダーを宣言できます:
Customers
{
    Customer
    {
         Code = CustomerId
         Name = CustomerName
         Address = GetAddress( CustomerAddress, CityName )
    }
}
Customer の出力 SDT である Address のメンバーには、Address の SDT データタイプ (GetAddress の出力) が含まれている必要があります。含まれていない場合は、エラーが表示されます。

サブグループの「挿入」と、データプロバイダーを呼び出すエレメントの「割り当て」の違いに注意してください。

この使い方の 1 つに再帰データプロバイダーがあります。











サブページ
Created: 15/01/07 22:50 by Admin Last update: 21/10/28 23:29 by Admin
カテゴリ
Powered by GXwiki 3.0