GeneXusってプロパティがいっぱいあって忘れる and 知らないのがあります。
今回は使ったことがあったり便利だなーって思ったプロパティを紹介。
First Year of 20th Century
参考
First Year of 20th Century プロパティwiki.genexus.jp
GeneXusの画面にDate型やDateTime型の変数を置くと以下のようになります。
デフォルトで「YY/MM/DD」になってます。
※Date型の変数のPictureを変更すれば「YYYY/MM/DD」になります。
「YY/MM/DD」の場合「12/01/18」と入力された場合
「2012/01/18」なのか「1918/01/18」なのか判断がつきません。
そのとき「First Year of 20th Century」の値を境に2000年なのか
それより前なのかをGeneXusが内部で判断します。
デフォルト:40と設定されているので
「12/01/18」⇒「2012/01/18」と認識されます。
「41/01/18」⇒「1941/01/18」と認識されます。
Generate prompt program
参考
Generate Prompt Programs プロパティwiki.genexus.jp
Transactionを作成すると勝手に作成(自動生成)されるコイツ↓です。
プロジェクトによっては不要な場合があるので自動生成されないように設定できます。
Yes:プロンプトが自動生成される
No:プロンプトが自動生成されない
一度プロンプトが自動生成されたあとに Yes⇒No に変えても
自動生成されたプロンプトは勝手に削除されないので手動で削除してください。
プロパティをNoに設定後ビルドしてもプロンプトは自動生成されません。
Reorganize Server Tables
参考
Reorganize Server Tables プロパティwiki.genexus.jp
DBの作成・再編成をするかどうかの設定です。
デフォルトは Yes で No に設定するとGeneXusが自動でDDLを作成して
作成・再編成の確認はしますが
実際にDBへ作成・再編成は実行されません。
DBへ作成・再編成が走らない場合はメッセージとボタンのアイコン?が少し違うのがわかります。
KBを作り直したけどDBは作り直したくない場合や
DBは手動でメンテナンスしてるからGeneXusからは弄ってほしくない場合 等々
用途はさまざまですがよくKBぶっ壊す私にとっては便利なプロパティですw
Initialize not Referenced Attributes
参考
Initialize not Referenced Attributes プロパティwiki.genexus.jp
プロシージャを使用した登録・更新をする場合の挙動を設定します。
Initialize not Referenced Attributes:Yes の場合
Transaction4_DATEはNULL許容ですがDate型の初期値が設定されました。
Initialize not Referenced Attributes:No の場合
プロシージャの中ではTransaction4_DATEに対して何も設定しませんが
自動でNULLが設定されました。
GeneXusがInsert文を生成するときにNew~EndNew内の項目は全て値を設定すると判断するようで
この場合Transaction4_DATEに値を設定するという判定なので
偶数回の場合は今日の日付が設定されますが、奇数回の場合は初期値が設定されてしまいます。
Generate COMMENT ON Statements
参考
Generate COMMENT ON Statements プロパティwiki.genexus.jp
GeneXusが作成するDBのテーブル、項目にAttributeのデスクリプションをつけてくれるプロパティです。
Generate COMMENT ON Statements:No
Generate COMMENT ON Statements:Yes
まとめ
まだまだプロパティがいっぱいあって困るわぁ~
以上。