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

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

次のようなトランザクション設計があり、全トレーナーのリストを作成し、その中には各トレーナーが担当するクラスの数も一緒に表示しようと思います。

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


真(有効) 偽(無効)



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

【解説】
設問のポイントは「全トレーナーのリストを作成し、その中には各トレーナーが担当するクラスの数も一緒に表示しようと思います」とあります。

トランザクションをデータモデル(テーブル)に展開すると以下の様になります。



実装ではfor eachコマンドは1つしかありませんが、その中でCountローカル式を使用しています。この場合、for eachのベーステーブルはTrainerであり全件が取得されます。一方、Countローカル式でブラウズするターゲットのテーブルはClass(Classの件数を取得)であり、関連する項目属性としてTrainerIdが挙げられ、for eachで取得されるTrainerIdの値がフィルターとして適用されます。

結果として、全てのTrainerのレコードが抽出され、且つ、TrainerIdに関連するClassの件数も取得されるため、実装としては要件を満たしています。




コメント

このブログの人気の投稿

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

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

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