最近のアクセス:
[Used to] プロパティ

トランザクションと関連付けられているデータプロバイダーの目的を定義します (そのトランザクションに対して [ Data Provider ] プロパティが True に設定されている場合にのみ使用可能)。

Populate dataデータプロバイダーの実行によって、トランザクションと関連付けられた物理テーブルにコンテンツが格納されます。
Retrieve dataデータプロバイダーの実行によって、データが取得されます。このトランザクションに関連付けられた物理テーブルは作成されません。トランザクションはダイナミックトランザクションです。

適用範囲

オブジェクト: Transaction

説明

このプロパティは、[ Data Provider ] プロパティ (同じグループ内) が True に設定されている場合にのみ、トランザクションで使用可能な [ Data ] プロパティグループで提供されます。
このプロパティでは、トランザクションと関連付けられたデータプロバイダーを定義できます。
このプロパティには次の値を指定できます。
1.Populate data
この値を設定した場合、データプロバイダーの実行によって、トランザクションと関連付けられた物理テーブルにコンテンツが格納されます。データを格納するため、GeneXus はトランザクションの [ Business Component ] プロパティを自動的に True に設定します。ビジネスコンポーネントとして実行されるトランザクションを通じて行われる操作は「upsert」であることに留意してください。つまり、挿入を試行して、キーの重複が検出されて操作に失敗した場合は、更新が行われます。
次の場合、データプロバイダーが自動的に数回実行されることがあります:- ロードされた物理テーブル内で変更が検出されたとき (検出のたびに実行)。
- データプロバイダーの変更やその直接の依存関係の結果として、データプロバイダーが指定/生成/コンパイルされたとき (そのたびに実行)。
データプロバイダーの実行は、データベースの作成や再編成のプロセスとは無関係です。一方、テーブルは作成/再編成されます。後でビルド (F5) が成功するたびに、必要に応じてデータプロバイダーが実行され、データが格納されます。その場合、出力に「========== Populate data started ==========」と表示されます。
この自動的な動作を回避するには、[ Populate Data ] プロパティを False に設定します。
データプロバイダーは数回実行される可能性があるため、べき等の動作を定義する必要があります (データプロバイダーが何回実行されても、1 回だけ実行された場合と結果が同じである必要があります)。
たとえば、次の例は、データプロバイダーが実行された回数に関係なく、コンテンツが常に 1 回ロードされることを示しています。
イメージ:29593.png
イメージ:29602.png
これは、識別値 (MaritalStatusId) を明示的に指定しているためです。MaritalStatusId が自動番号のキーであった場合、キー候補の一意のインデックス (MaritalStatusName など) を定義して、同じコンテンツを持つ複数のレコードを格納しないようにする必要があります。
MaritalStatus_DataProvider は、GeneXus で実行が必要であると検出されたときに自動的に実行されるほか、次に示すように明示的に実行することもできます:
Event 'Initialize'
   &MaritalStatusCollection=MaritalStatus_DataProvider()
   if &MaritalStatusCollection.InsertOrUpdate()
     msg("Initialization SUCCESSFUL")
     commit
   else
     msg("Initialization ERROR")
   endif
Endevent
注: トランザクションの [ Used To ] プロパティを Populate data に設定すると、GeneXus はトランザクションに関連付けられたデータプロバイダーの [ Main Program ] プロパティを自動的に True に設定します。

2.Retrieve data
この値を設定すると、このトランザクションに関連付けられた物理テーブルは作成されません。このようなトランザクションをダイナミックトランザクションと呼びます。 

実行時/設計時

このプロパティは設計時にのみ適用されます。

互換性

Retrieve data オプションは、GeneXus 15 以降で使用できます。Populate data オプションは、GeneXus 15 Upgrade 1 以降で使用できます。

使用可能バージョン

このプロパティは GeneXus 15 以降のバージョンで使用可能です。

サブページ
Created: 17/05/30 19:01 by Admin Last update: 21/11/08 21:49 by Admin
カテゴリ
Powered by GXwiki 3.0