GeneXusジュニアアナリスト資格模試「超解説」問題16

問題[16] スポーツジムを対象としたGeneXusアプリケーションに関する問題です:

次のようなトランザクション設計があり、パラメータによって受け取る特定のトレーナーが担当する、クラスの一覧を印刷する必要があります。

次の実装が真(有効)か偽(無効)かを選択してください。



真(有効) 偽(無効)


解答は??
【解答】真(有効)

【解説】
設問のトランザクションをデータモデル(テーブル)に展開した図は以下になります。




ポイントはパラメータとして受け取るTrainerIdをクラス一覧として出力するfor eachコマンドに対してフィルターとしてどう適用するのか? という事になります。



Parmルールには項目属性、変数のどちらも定義することは可能です。設問では項目属性をパラメータとして指定しています。Parmルールで項目属性を指定した場合、暗黙的にフィルターとして組み込まれるため、for eachコマンドに明示的なwhere句がなくとも「TrainerId=パラメータで受け取った値」という条件が自動的に組み込まれます。
従って要件は満たされるので真(有効)となります。




コメント

このブログの人気の投稿

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

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

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