プロンプトに関するあれこれ - その2

前回の話の続きです。

3.プロンプトを使用したくない場合

トランザクションオブジェクトでの主キー項目と外部キー項目は自動でプロンプトが紐付けられます。逆にプロンプトを使いたくない場合(プロンプトアイコンを表示したくない場合)はどうしたらよいでしょうか?




この場合はNoPromptルールを記述します。

NoPromptルールの記述
CountryIdに対してNoPromptを指定

ナビゲーションレポートを見ると、CountryIdに対するPromptが無くなっています

実行時の画面でもプロンプトアイコンが非表示に


【注意】キー項目が複合キーの場合は、一つのNoPromptルール内に全てのキー項目をパラメータとして列挙します。キー項目が不足している場合はNoPromptルールは無視されます。

例) 都市(City)トランザクションの主キーにプロンプトを設定したく無い場合、複合キーであるCountryIdとCityIdをNoPromptに列挙
NoPrompt( CountryId, CityId );





4.システムプロンプトを自動生成させない方法

これまでプロンプト(システムプロンプト)は自動生成される前提で話をしてきましたが、実は設定で自動生成をON/OFFできます。

ジェネレーターのプロパティ「Generate prompt programs」をNoに設定する事により、それ以降のビルドでシステムプロンプトが生成されなくなります。これは個別の設定ではなくナレッジベース全体に適用される設定です。

ジェネレーターのプロパティ設定でシステムプロンプトの自動生成を抑止


注意点は以下の通りです。

  • 設定変更前に生成されたプロンプトオブジェクトは残ったまま(自動削除されない)
  • 全てのトランザクションオブジェクトでプロンプトとの自動的な関連付けがされないので、Promptルールを明示的に記述する必要がある



システム開発プロジェクトしてシステムプロンプトを使用しない場合は、この設定をOFFにする事によりプロンプトオブジェクトの生成時間が無くなるのでビルド時間の短縮にもつながります。



コメント

このブログの人気の投稿

データプロバイダーを使いこなそう - 応用編その4 スケジューラー 補足編

HTMLヘッダーにあれこれ直接追加したいとき

GeneXusにおけるWebアプリケーションセキュリティ対策 - OWASP 2010 Top10 Security Risks in GeneXus Applications