投稿

4月, 2013の投稿を表示しています

変数を条件に指定するローカル式に注意

前回はFor eachコマンド+ローカル式を使うシーンにて二つのベーステーブル間にリレーションが有る無しで生成結果が違ってくる事を書きました。今回はリレーションが無いデータモデルでの別な注意点についてです。

テーブル間にGeneXusが認識するリレーションが無いデータモデルで、ローカル式の条件に変数を利用する場合として以下の様な記述が考えられます。(基本は明示的に条件を指定する事です)

For each
&CountryId = CountryId
&CountryName = CountryName
&CustomerCount = Count( CustomerName,
CustomerCountryId = &CountryId)
Endfor
一見問題なさそうに見えますが、実際には国別の顧客数はカウントされず、カウントの結果は全て0件になります。(CountryテーブルにCountryId=0のレコードが無い場合)
何故でしょうか?


For eachの中のローカル式

イメージ
For eachの中にローカル式を記述する時、For eachのベーステーブルとローカル式のベーステーブル間にリレーションが無い場合は注意が必要です。

例) 国別に顧客数をカウント

1.リレーションがある場合1-1.データモデル
国マスタと顧客マスタで1対nのリレーションがあるモデルです。




【News】株式会社コアネクストがGeneXusの取扱いを開始

株式会社コアネクストがGeneXusの取扱いを開始したそうです。以下、親会社である株式会社ソルクシーズからのプレスリリースです。

当グループ会社の株式会社コアネクスト(本社:東京都港区 代表取締役会長:長尾 章)は、アルテッチ社(Artech Consultores S.R.L. 本社:ウルグアイ CEO:Nicola Jodal)が開発し、ジェネクサス・ジャパン株式会社(本社:東京都品川区 代表取締役:大脇 文雄)が日本総代理店のシステム開発ツール「GeneXus(ジェネクサス)」の販売店契約を締結し、同ソフトウエアの販売を開始しました。 
コアネクスト社は金融系(投資信託・投資顧問会社向け)のシステム開発・コンサルティング会社だそうです。今までのGeneXusベンダーにはいなかったジャンルですので、今後の活躍に期待します。



【GeneXusユーザー事例】三菱重工 - COMPUTERWORLD MEXICO

以前、ブラジルのサイトでGeneXusの事例として三菱重工社が取り上げられていましたが、今度はメキシコのコンピュータワールドで同様に三菱重工社の事例が掲載されました。


Mitsubishi Heavy Industries uses GeneXus to integrate mainframe and SAP


The Japanese company engaged in shipbuilding, heavy industry, power systems, aircraft and railways GeneXus used the tool to integrate SAP with its mainframe system, achieving increasing productivity and reducing costs of development, maintenance and staff training.

The deputy Kyoji Noda, responsible for the development of applications in the system mainframe Engineering Center in Yokohama, and the team that began working with GeneXus in 2003, said his company chose GeneXus for three reasons: a shortage of engineers with knowledge, high costs to upgrade the technology and the difficulties in developing new technologies.
※メキシコのサイトはスペイン語ですがこの引用はGoogle翻訳で英語に翻訳しています。

やはりSAPとの連携は注目度が高いのでしょうか。



GeneXusミーティング in ブラジルが開催されました

イメージ
去る4月10日、ブラジルのサンパウロでGeneXusミーティングinブラジルが開催されました。ミーティングの様子が公開されていましたので当ブログでもご紹介します。






各セッションで使われたプレゼンテーションもSlideShareで公開され始めていますが、その中から最新情報を紹介します。


記述量を減らし変化に対応しやすくする

イメージ
プロシージャで記述する時、GeneXusの特性を知っているとコード量も減り、変化にも対応し易くなる事があります。

例えば、あるテーブルから特定のレコードを抽出し、その値を元に新たなレコードを追加したい場合、SQLではSELECTとINSERTを組み合わせます。

INSERT INTO TABLE_A (COLMUN1,COLMUN2,COLMUN3,COLMUN4....)
    SELECT 'KeyValue',COLMUN2,COLMUN3,’NewValue'....
    FROM TABLE_A WHERE COLMUNn = 'xxxxx';

テーブルの項目の並び順を変更するには?

イメージ
物理テーブル上の項目属性の並び順は、GeneXus IDE上では変更する事が出来ません。GeneXusは物理的な項目の並びを意識しない思想なので、項目を追加した場合は物理テーブルの最後尾カラムとして追加されます。

とはいえ、データ移行やテーブルの直接メンテナンスなど、人が目で見てデータを操作する場合は、論理的な並び順に準拠して欲しいものです。


項目の並び順をトランザクションと揃えたい場合(論理的な並び順に変更したい場合)は以下の方法を使います。

テーブルオブジェクトに対して設定できる事、できない事

イメージ
GeneXusではテーブルオブジェクト(物理的なテーブル設計)はGeneXus自身が正規化処理の結果として生成します。この為開発者は直接テーブルオブジェクトに対して項目の追加・削除、項目の名称やプロパティの編集、並び順などの変更等は一切できません。
テーブルオブジェクトに対して直接設定できるのは以下のものです。


・テーブル名、デスクリプション 正規化処理の結果として自動生成されるためテーブル名・デスクリプションは開発者の想定しない名前になる可能性があります。データモデルが安定したらテーブル名をレビューして正しい名前に変更しましょう。

・テーブルオブジェクトのプロパティ Strage areaやExtent sizeなど、DBMS上でのテーブルの設定を行えます。



【News】株式会社クリエイティブキャスト GeneXusショールーム リニューアルオープン

GeneXusの販売代理店である株式会社クリエイティブキャストがGeneXusショールームをリニューアルオープンしたそうです。

以下、同社からのプレスリリースです。


==========================================
 ■■GeneXus体験ROOM OPEN■■
==========================================
 今春、クリエイティブキャスト併設の
 [GeneXusショールーム]がリニューアルオープンしました。
 すでに解放中の動画視聴コーナーに加え、
 GeneXusを使ったシステム構築体験コーナーを新設しております。  『GeneXusを体験してみたい。』
 そんなお客様のお声にお応えし、弊社入口左手のGeneXusショールームにて、
 GeneXusを気軽に体験いただける、環境作りをおこなっております。  本ショールームでは、気軽に"次世代開発ツールGeneXus"を
 体験していただくことを目的としております。
 ご希望に応じて弊社スタッフからの簡単なGeneXusレクチャーや
 構築実演を実施できますので、是非お気軽にお問い合わせください。 以下、詳細です。

サーバー上のファイルをダウンロードさせる方法

イメージ
これは以前書きました「PDFをダウンロードさせる方法」の応用編です。

PDFをブラウザ表示ではなくファイルダウンロードさせたい場合、PDFを作成する機能=PDFプロシージャを実装し、ダウンロードさせるための記述を追加する事により実現しました。ダウンロードさせたいファイルがサーバー上に既にある場合はどうしたらよいでしょうか?