Magic eBusiness Platform Ver9
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
このファイルには、Magic eBusiness Platform(以下 Magic と表記)Ver9 の今までに於ける変更点を記述しています。 Ver9.01J SP2の新機能 Ver9.01J SP2aの新機能 Ver9.01J SP3の新機能 Ver9.20J SP1の新機能 Ver9.30J
SP3の動作変更
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ver9.01J SP2の新機能 (Top)ブラウザクライアントモジュールの環境設定 (Top)<ブラウザクライアントモジュールのクライアント配置> 動作環境/アプリケーションサーバに追加されました。
変更の反映: 即時 ブラウザベースのプログラムにおいて使用するJavaAppletおよびJavaScriptのMagicが管理するサブバージョンを指定します。
この指定がない場合、Magicに標準添付されているファイルが使用されます。
ブラウザ・クライアントJavaアプレット・モジュールは、VeriSignのデジタル署名により証明されました。これは、エンド・ユーザにこのモジュールの内容が改ざんされなかったことをVeriSign承認証明書によって確認することを意味します。
署名されたアプレット・ファイルは、標準的なアプレット・ファイルと異なります。署名されたアプレット・ファイルと署名されていないアプレット・ファイル名の違いは最後の文字'S'によって識別することができます。
例えば、MGBC901_03S.cab アプレットの最初のロード時にブラウザ・ビルトイン確認(セキュリティ警告)ダイアログが表示されます。実行するには、はい(Y)を選択します。 ブラウザクライアント・ツールバー (Top)
VCRメニュー用のイメージファイルを使用して、Magicの実行モード時のVCRメニューと同等の操作をブラウザクライアントにて行えます。
同様に編集メニュー用のイメージファイルを使用して、「行作成」「行削除」「取消」の操作をブラウザクライアントにて行えます。
これらのイメージファイルはそれぞれ「mgvcr.jpg」、「mgedit.jpg」というファイル名でブラウザクライアント用のJavaAppletとJavaScriptと同一のフォルダにインストールされます。
[src]のパスはそれぞれの環境に合わせて変更してください。ただし、[name]の内容は変更しないでください。
イベント実行コマンドの改善 (Top)イベント実行コマンドが非同期(Wait=No)のときもパラメータを渡すことができるようになりました。パラメータは参照のみ可能です。従ってイベントプログラムでパラメータを変更しても、値は戻すことはできません。
|
上境界線 |
カラムの上の境界線を表示するかどうかを指定します。 |
右境界線 |
カラムの右側の境界線を表示するかどうかを指定します。 |
Yes/No または、式で定義できます。
Magic
が開発機能として提供している選択一覧(モデル一覧、テーブル一覧
など)
で、選択項目を位置付けする機能が拡張されました。
インクリメンタルサーチの様に先頭の文字を入力することで該当する項目に位置付けを行ないます。(全角文字での検索は正常に機能しない場合があります。)
この関数は、指定した項目の書式を取得するものです。
構文 |
VARPIC(シンボル名、モード) |
||
シンボル名 |
セレクト項目のシンボル名(VAR リテラルをつけないとエラーになる場合があります) |
||
モード(数値) |
機能モード |
モード= 0 |
カラム特性、変数特性で定義された書式が返ります。Blobは、空白が返ります。 |
モード= 1 |
コントロール特性上で定義された書式が返ります。クラス=0 のみ有効です。 |
フォームに定義されていない 項目は モード=0 と同じ結果になります。
項目の内容を取得する関数ですが、通常のフローでは動作せず、ハンドラやコントロール前後処理時にのみ有効になります。
構文 |
パラメータはありません。 |
戻り値 |
ハンドラ実行時に最後に編集された値が返ります。型は、対象となる項目の書式に依存します。 |
(例)
ハンドラの場合 |
トリガが発生したときにパーキングしている項目の現在の値が返ります。このときハンドラが、強制終了:レコード になっている場合は、無効です。 |
コントロール前 |
指定したコントロールに入ろうとした時点でそのコントロール(項目)の内容が返ります。 |
コントロール後 |
指定したコントロールを出ようとした時点でそのコントロール(項目)の内容が返ります。 |
この関数は、ハンドラーが起動された時点でのカレントのコントロールの内容に値を設定します。
構文 |
EDITSET(値) | ||
値 |
設定する値 型は、設定先の型に合わせる必要があります。 | ||
戻り値 |
論理値 | True | 処理が成功した場合 |
False | 処理が失敗した場合 |
(例)
ハンドラの場合 |
トリガが発生したときにパーキングしている項目に指定した値が設定されます。このときハンドラが、強制終了:レコード になっている場合は、無効です。 |
コントロール前 |
指定したコントロールに入ろうとした時点でそのコントロール(項目)の内容が更新されます。 |
コントロール後 |
指定したコントロールを出ようとした時点でそのコントロール(項目)の内容が更新されます。 |
クロスリファレンスの対象となるリポジトリの行番号の範囲を指定できるようになりました。
クロスリファレンス実行時のダイアログに対象となる番号の範囲を指定することで項目が追加され、CTL特性を除く全てのオブジェクトで範囲を指定することが可能です。
RQRTINF関数の戻り値が以下のように変更されました。(太文字が追加された値)
- ホスト名
- ポート番号
- IPアドレス
- プロセスID
- ステータス
- アプリケーション名
- 実行スレッド数
- ピークスレッド数
- 最大使用可能スレッド数
以下のイベントが追加されました。
- チェックアウト
- チェックイン(Ctrl + 1)
- 再同期
- アンチェック(Ctrl + 2)
- 水平均等揃え(Ctrl + 2)
- 垂直均等揃え(Ctrl + 3)
- 前面移動(Ctrl + 4)
- 背面移動(Ctrl + 5)
- 最背面移動(Ctrl + 6)
- 最前面移動(Ctrl + 7)
- Zオーダ表示(Ctrl + 8)
- サイズ調整(Ctrl + 9)
- フォルダへ移動(Ctrl + F)
定義式ウィンドウ内でのショートカットが変更されました。
- 関数一覧(Ctrl + 1)
- アクション一覧(Ctrl + 2)
- キーボード一覧(Ctrl + 3)
- 権利一覧(Ctrl + 4)
- コントロール一覧(Ctrl + 5)
- テーブル一覧(Ctrl + 6)
- プログラム一覧(Ctrl + 7)
- エラー一覧(Ctrl + 8)
MAGICクライアントで以下のイベントが有効になりました。
- ダブルクリック
- クリック
- マウスアウト
- マウスオーバー
ただし、同一のコントロールに対して「クリック」イベントと「ダブルクリック」イベントの両方をハンドラに指定すると、ダブルクリックの場合、「クリック」イベントが2回ハンドリングされ、「ダブルクリック」イベントは無効になります。
- 開発時にリポジトリに戻るとき、最後にリポジトリがオープンしていた時のカーソルがあるフォルダに、自動的にパークするようになりました。
- リポジトリの中で、オプション・メニューのフォルダオプションをクリックするか、CTRL+Fを押下し、ジャンプしたいフォルダを選択することによって、簡単に異なるフォルダへジャンプすることができます。
- プロパティシートに格子線が表示されるようになりました。また、文字列を入力するプロパティで 広域表示(F6)が可能になりました。
実項目をセレクトした場合の項目名を、テーブルで定義した名前とは異なる名前に指定できます。
実項目に対するセレクトコマンドの名前欄を編集することで変更できます。変更された名前は、変更したプログラムとそのサブタスクでのみ有効です。
空白は入力できません。空白を入力すると、テーブルで定義された名前になります。
関数とアクションの一覧が、グループ毎に分かれて表示されるようになりました。
ブラウザクライアントに
HTMLページの妥当性をチェックするためのパラメータを渡すことができます。この設定で実行すると、エラーメッセージが独立したウィンドウで表示され、ユーザはエラーの情報を確認することができます。
方法は、URLにDEBUG_CLIENT=1
というパラメータを付加します。このパラメータに1以外の値を指定すると、HTMLページのチェックを行いません。
また、プログラムリポジトリから[F7]キー
でブラウザタスクを実行した場合は、常にDEBUG_CLIENT=1
が付加されて実行されます。つまり、開発モードで実行すると、常にチェック処理が有効になります。
エラーウィンドウを表示させるためのURLの例:
http://host/mgrqispi9.dll?APPNAME=MYAPP&PRGNAME=MYPROG&DEBUG_CLIENT=1
ナビゲータと特性シートが1つのウィンドウ内に表示されるようになりました。
2つの表示を1つのウィンドウ内にまとめたい場合は、どちらかをドラッグして他方にドロップしてください。2つのオプションタブはウィンドウの下に表示されます。このタブで、ナビゲータと特性シートを切り替えられます。
これらを分けたい場合は、タイトルをドラッグしてから
Ctrlキーを押しながらクリックしてください。
統合されたウィンドウは、Magic
のウィンドウの端に表示されるか、フローティングウィンドウ表示されます。
[設定/動作環境/システム]に[システムログイン]のパラメータが追加されました。
この設定は、Magic のユーザアカウントをOSに合わせるかどうかを指定します。
この設定の選択した以下の通りです:
N=なし | ユーザ名としてのデフォルト値を使用しないで、[パスワード入力]の設定に従って、自動的/明示的にログオンダイアログをオープンします。 |
U=ユーザ名 | OS にログオンしたユーザ名を元に、[パスワード入力]の設定に従って、自動的/明示的にログオンダイアログをオープンします。 |
F=フルログオン | ログオンダイアログは無効です。[パスワード入力]の設定は無視されます。 OSにログオンしたユーザ名を元に自動的にログオンされます。 |
注意:
Magic
のユーザ定義ファイルのパスワードは、OSのパスワードと整合性があるわけではありません。
F=フルログオンを設定した場合、Magicは、Magicのユーザパスワードをチェックしません。これは、ユーザ名が既にOS側で認証済みだからです。フルログオンで指定していても、Magicのユーザパスワードは、ユーザ毎にユニークに指定しておくようにしてください。
OS のユーザ名がMagicのユーザ定義ファイルに無くて、ログオン処理に失敗しても、[パスワード入力]の設定は無視されます。
[パスワード入力]が [Yes] に設定されていると、OSにログインしたユーザ名でログオンダイアログが表示されます。
[設定/動作環境/動作設定]に[入出力デバイスのオープンタイミング]のパラメータが追加されました。
入出力デバイスのオープンタイミングは2つの方法で制御できます。
I=即時 | 入出力を定義したタスクがオープンされた時点で実行されます。(デフォルト値) |
O=利用時 | 利用時 データ出力/入力コマンドを実行したり、入出力デバイスを制御する関数(EOF、EOP、LINE、PAGE 等)が実行された時点で実行さ れます。 |
テーブルコントロールのカラムタイトルのテキストに改行を挿入して、複数行表示ができるようになりました。
カラム特性のカラム名欄で広域表示ウインドウ(F6)を表示して、複数行編集を行います。
フォームエディタの項目パレットのサイズを自由に調整できます。フォント番号は、#37
を使用します。
アプリケーション内で使用されるテキスト(文字列)を検索することができます。また、検索した文字を別の文字に置換することができます。
これらのオプションは、[編集]メニューで使用できます。
フォルダ名とコメント以外の全てのオブジェクトが対象となります。
正規表現は以下のメタキャラクタ(SBCS)が使用できます。
. :任意の文字 (例)あい..えお 任意の文字がDBCSの場合は、2文字にします。
^ :行の先頭 (例)^あい
$ :行の末尾 (例)えお$
Magicオブジェクトの検索と置換 (Top)
開発モードでの新しいオプションとして、Magicのオブジェクトをクロスリファレンス機能で検索して別のオブジェクトに置換する機能が追加されました。
任意のオブジェクトにカーソルを置き、[オプション/検索と置換]を実行するとこの処理を実行するためのダイアログが表示されます。
アプリケーションのデフォルト値とデフォルトのNULL表示文字列を設定できます。これらの値は、MAGIC.INI
の [MAGIC_DEFAULTS] セクションで定義します。
MAGIC.INI 内で指定できるキーワードは以下の通りです。
[MAGIC_DEFAULTS] DefaultDate = [date value] NullAlphaDisplay = [string value] NullNumericDisplay = [string value] NullLogicalDisplay = [string value] NullDateDisplay = [string value] NullTimeDisplay = [string value] NullMemoDisplay = [string value] NullBlobDisplay = [string value] |
注意:
設定は、MAGIC.INI ファイルの変更のみで行います。動作環境ダイアログではできません。
この設定がない場合は、Magic内のデフォルト値を使用します。
DefaultDate の書式は、日付モードに依存します。
実行中にこの値を変更した場合、次に起動したときに有効になります。
動作環境(設定/動作環境/外部参照ファイル)に新しいパラメータが追加され、HTMLページに、表示/入力する文字セットを定義することが出来るようになりました。
"ブラウザタスクで使用するエンコード"
この設定を使用することで、ブラウザタスクのHTMLページによって使用されるエンコードテーブルの名前を指定できます。
ここに値を設定すると、ブラウザタスクによって作成される各HTMLページは、META
タグを埋め込む事により定義された文字セットを使用するページになります。
<META HTTP-EQUIV="Content-Type" content="text/html;
charset=XXX">
XXX
は、動作環境で設定した文字列
この情報は、ブラウザクライアントモジュールが、定義したエンコードテーブルを使用して入力されたデータを
Magic サーバエンジンに渡すために使用されます。
注意:
すでにHTMLページに METAタグがある場合は、その内容を変更しませんが、ブラウザクライアントモジュールは動作環境の設定によって定義されたエンコードテーブルを使用するようにします。
日本語環境では常に "Shift_JIS"をセットしてください。
変更の適用:直後から有効
MAGIC.INIとコマンドラインでの名前:Unicode2Ansi
RUNMODE
関数の拡張 (Top)
アプリケーションサーバで最初に実行するアプリケーションの場合、動作状態に依存するようになりました。
バックグラウンドモードで最初にオープンされたアプリケーションの場合、メインプログラムでは、-1
を返します。
以下の場合、0 を返します。
コールされたプログラムで実行された場合や、メインプログラムのサブタスクで実行された場合
バックグラウンドモードのメインプログラムで2回目に実行されるか、追加スレッド上で実行された場合
注意:アプリケーションがクローズされ、他のアプリケーションがオープンされた場合、最初のコンテキストでは、-1
が返ります。
チーム開発の変更 (Top)
<プログラムリポジトリの修正>
プログラムリポジトリはアプリケーションのプログラム一覧情報を管理しています。プログラム一覧情報の変更を行う場合、プログラムリポジトリを変更する必要があります。
従来は、プログラム一覧情報の変更に対して自動的にチェックアウト、チェックインが行われていましたが、本バージョンより行われないように変更されました。開発者は、プログラムリポジトリに対して、手動でチェックアウト、チェックインを行う必要があります。
プログラムリポジトリをチェックアウトする場合のみ、プログラム一覧情報が更新されます。以下の操作によってプログラム一覧情報が更新されます。(つまり、プログラムリポジトリのチェックアウトを行わないと、以下の操作ができません。)
プログラムの新規作成
プログラムの削除
プログラムの順番の変更
別のフォルダへのプログラムの移動
プログラムフォルダ名の変更
プログラムの上書き
プログラムのコピー
プログラムリポジトリへの権利設定
プログラムのリポジトリ入力
テーブルリポジトリからのAPG(
作成モード) の実行
<プログラムリポジトリでのチェックアウト、チェックイン>
[バージョン管理]メニューに表示される[チェックアウトPrg.Rep]または[チェックインPrg.Rep]をクリックするか、ツールバーのアイコンをクリックすることでプログラムリポジトリのチェックアウトやチェックインができます。プログラムリポジトリではアンチェックはできません。
<プログラムのリポジトリ入力>
プログラムを含んだアプリケーションをリポジトリ入力する時、プログラムリポジトリをチェックアウトするように要求されます。Magic
Ver9.2
のリポジトリ出力ファイルを入力している時、プログラムリポジトリをチェックアウトするように要求されます。プログラムリポジトリがチェックアウトされなかったり、他の開発者によってチェックアウト済みの場合、Magic
はリポジトリ入力処理が実行されなかったことを示す警告メッセージを表示します。
旧バージョンのMagic
のアプリケーションをリポジトリ入力する場合、入力処理時にプログラムが含まれているかどうかを判断できません。このため、無条件にプログラムリポジトリのチェックアウト要求を出します。プログラムリポジトリがチェックアウトされなかったり、他の開発者によってチェックアウト済みの場合、Magic
はリポジトリ入力処理が実行されなかったことを示す警告メッセージを表示します。この場合、リポジトリ入力処理は失敗し、アプリケーションは入力前の状態にロールバックされます。
<パラメータ一覧>
チーム開発の変更に伴い、コール処理コマンドのパラメータ数は、最大255までとなります。
ハンドラ・スコープ (Top)
ハンドラが使用可能なリソースのスコープが、dbMAGIC
Ver8のイベントが使用可能なリソースのスコープと一致するように変更されました。
<タスクツリーへの照会>
以前のMagic
Ver9では、ハンドラが定義されたタスクにおいて参照可能なタスクツリーに対してのみ、ハンドラがアクセスすることが可能でした。Ver9.20J
SP1からはハンドラは上位のタスクツリー全ての対してアクセスが可能となりました。
これにより、上位タスクの世代指定方法が変更になりました。
例えば、プログラムAからプログラムBをコールし、プログラムBからプログラムCをコールします。プログラムBには”ABC”イベントに対するハンドラが定義されているとします。プログラムCからイベント”ABC”が実行され、プログラムB内のハンドラが起動しました。
以前のMagic Ver9では、バンドラは(自身が定義されている)プログラムB(世代 = 0)とプログラムA(世代 = 1)にのみアクセスすることが可能でした。
Ver9.20J
SP1からはハンドラはタスクツリーの全てにアクセスできるようになりました。この場合、ハンドラが定義されているタスクではなく、イベントが実行されたタスクの世代=0となります。したがって、プログラムC(世代=0)、プログラムB(世代=1)、プログラムA(世代=2)となります。この変更はクライアント/サーバーアプリケーションおよびブラウザアプリケーションの両方に対して適用されます。
<例外−ブラウザクライアント>
ブラウザタスク内のハンドラから、他のブラウザタスクをコールした場合、ハンドラが定義されているタスクが参照できるタスクツリー内のリソースのみアクセスすることが可能です。
この場合、ハンドラが定義されているタスクの世代=1となります。
この指定方法は以前のMagic
Ver9の指定方法と同じで、オンラインやバッチタスクの指定方法とは異なりますので、注意してください。
<入出力ファイル>
タスク内実行されたイベントにより上位タスクで起動したハンドラは、入出力特性の「使用する入出力名」を使用することにより、タスクツリー内の全ての入出力ファイルを使用することができます。
Ver8アプリケーションからの移行の強化 (Top)
ISAM(Pervasive.SQL)データベースを使用した、dbMAGIC Ver8のアプリケーションの移行を容易に出来るように拡張されました。MAGIC.INIに以下のオプションを指定してインポートすることによりエラーハンドラ−を自動的に追加させることができます。
[MAGIC_SPECIALS] |
内容 |
Y | レコードアクセス失敗時の設定を優先 |
TRNS | トランザクションの設定を優先 |
<レコードアクセス失敗時の設定優先>
トランザクションエラー時(V8) | エラー発生時(V9) |
アボート | アボート |
リトライ | アボート |
スキップ | アボート |
レコードロック時(V8) | エラーハンドラ(V9) |
リトライ | 無し |
アボート | [エラーハンドラ:レコードロック 対応:アボート] |
スキップ | [エラーハンドラ:レコードロック 対応:無視する] |
アクセス失敗時(V8) | エラーハンドラ(V9) |
スキップ | [エラーハンドラ:挿入/更新/削除に失敗 対応:無視する] [エラーハンドラ:重複インデックス 対応:無視する] |
リトライ | 無し |
アボート | 無し |
<トランザクションの設定を優先>
トランザクションエラー時(V8) | エラー発生時(V9) |
アボート | アボート |
リトライ | 復旧 |
スキップ | アボート |
レコードロック時(V8) | エラーハンドラ(V9) |
リトライ | 無し |
アボート | [エラーハンドラ:レコードロック 対応:アボート] |
スキップ | [エラーハンドラ:レコードロック 対応:無視する] |
トランザクションエラー時(V8) | エラーハンドラ(V9) |
アボート | 無し |
リトライ | 無し |
スキップ | [エラーハンドラ:挿入/更新/削除に失敗 対応:無視する] [エラーハンドラ:重複インデックス 対応:無視する] |
開発者ガイド (Top)
Magic を使用してプログラムを開発するヒント集として「開発者ガイド」が添付されました。Magicインストール時に選択する事により、Magicのスタートメニュー/オンラインマニュアルより確認できます。CD-ROMのOnlineフォルダにも格納されています。
Ver9.20J
SP1では、Ver9.01J SPxに比べて、ブラウザークライアントのパフォーマンス向上、内部チェックの強化改善が図られています。
それに伴い、ブラウザークライアントのアプリケーションをVer9.01J
SPxからVer9.20J SP1に移行した場合、一部動作が異なる場合があります。
以下に、MSJにて確認された移行時の障害と対応について記述いたします。
現 象 | 原 因 | 対 応 |
動作が不安定になる。 | オンラインタスクのみで有効な関数/アクションを使用していた。(例)KBPUT()、画面再表示アクション等 | 使用しないようにプログラムを修正する。 |
一部のプログラムが極端に遅くなる。 | @
ビュー再表示アクションをタスク前処理など不要と思われる箇所で多用している。
|
@不要なアクションを減らす。 |
A 非常に大きな変数を多用している。 | A変数サイズの見直しを行う。又は、データコントロールが使用できる場合は、使用するようにする。 | |
テーブルの一部の行が表示されない。 | チャンクサイズ ≧ 繰返行数となっていない。 | 適切なチャンクサイズを設定する。 |
項目の値が読み込まれない。 | タスク前処理で子タスクをコールし親タスク上のレコードレベルのデータ項目を見ていた。 | レコードメインへ移動等のプログラム修正を行う。 |
リストボックス、コンボボックスでラベルを変数で定義し、選択肢を子タスクのバッチで登録している場合、実行時にコントロールの幅が広がる。 (1000431) | 空白削除の関数(RTRIM、TRIM)を使用する。 | |
コンボボックスまたはリストボックスのラベルを項目で設定するとき、ラベルの先頭が「,」の場合、ラベルが正しく表示されないことがある。 | ラベルの先頭に「,」が付加されないようにプログラムを修正する。 | |
実行画面の見栄え(フォントの種類)が異なる。 | 子タスクは、親タスクと同一のエンコードを使用するように変更された為。 | 必要に応じてHTMLファイルの調整を行う。 |
Ver9.20J SP1 での改善内容 (Top)設定 (Top)
モデル (Top)テーブル (Top)
メニュー (Top)
コンポーネント (Top)
プログラム一般 (Top)
データアクセス (Top)
SQL共通 (Top)
関数 (Top)
ユーティリティ (Top)
リポジトリ入出力 (Top)
フォーム (Top)
HTMLフォーム (Top)印刷機能 (Top)
プレビュー機能 (Top)インターネット機能 (Top)
ブラウザクライアント (Top)
ワークグループ開発機能 (Top)サーバ機能 (Top)
インターネットリクエスタ (Top)
インストール (Top)その他 (Top)
|
Ver9.20J SP1a での改善内容 (Top)モデル (Top)
プログラム一般 (Top)
関数 (Top)
リポジトリ入出力 (Top)
フォーム (Top)
プレビュー機能 (Top)
ブラウザクライアント (Top)
|
||||||||||||||||||||||
Ver9.30J SP3 の動作変更 (Top)
●サーバ機能ログオンユーザによるサーバアプリケーションの実行
(Top)
|
メインテーブルが定義されていない場合 |
1 |
メインテーブルが定義されている場合 |
30 |
子ウィンドウのデフォルトの表示位置 (Top)
フォーム特性の左辺位置および上辺位置を設定していない場合、コールコマンドなどで新たに表示される子ウィンドウは、親ウィンドウより内側に表示されるようになりました。Ver9.2までは、デフォルトの表示位置はブラウザに依存しているため、親ウィンドウの外側に表示されることがありました。
この変更により、JavaScriptによってHTMLファイルのロード時にウィンドウの位置を指定していても、Magicのデフォルト位置が有効になります。
オンライン画面のテーブルコントロールで、登録モードの場合、高さの配置パラメータが有効になりました。
ビュー再表示アクションの後、現在カーソルがあるレコードにパーキングできなくなった場合、今まで表示されていた「ビューにレコードがありません」のエラーメッセージは表示されなくなりました。
GUIフォームでのモーダルウィンドウの制御が、以下のように変更されました。
モーダルウィンドウのタスクからコールされたタスク
モーダルウィンドウを「Yes」に設定したタスクからコールされた子タスクは、パラメータの設定によらず、必ずモーダルウィンドウになります。
タスク制御/ウィンドウクローズパラメータ
モーダルウィンドウタスクはタスクが終了した後、ウィンドウを開いたままにしておくことはできません。この場合、常にタスク制御/ウィンドウクローズパラメータは「Yes」として動作します。
フォーム特性/子ウィンドウパラメータ
子ウィンドウパラメータを「Yes」に設定した場合、そのタスクのモーダルウィンドウ、または親タスクのモーダルウィンドウパラメータは無視され、モーダレスウィンドウとして機能します。
最新のクロスリファレンスの結果は、常にクロスリファレンスの結果リストの最初に表示され、クロスリファレンスの最大数に達している場合、エラーメッセージを出さないで、出力されているもっとも日付の古い結果が削除されるようになりました。
項目モデルの選択テーブルで、型と書式が表示されるようになりました。
開発版を実行モードで動作した場合、メインプログラムの終了条件がTrueの場合、Ver9.30から、アプリケーションがクローズする代わりに、開発モードに変更されるようになりました。
イベント実行コマンドを設定したときに、そのタイプが内部イベントの場合、ウェイトパラメータのデフォルトは「No」に設定されます。
リンク結合のリンク特性で[確認]の特性を設定できるようになりました。
イベント選択ダイアログの操作性が改善されました。
イベントタイプのデフォルトの変更
最初に開いた時のイベント設定ダイアログのイベントタイプは「ユーザ」です。
二度目以降に開いたイベント設定ダイアログのイベントタイプは、直前に指定したイベントタイプが設定されます。
自動ズーム機能
[イベントタイプ]から設定されていない[イベント]にカーソルを移動すると、自動的にズームが実行されます。イベントタイプによって、開かれる画面が変わります。
イベントタイプ | 開かれる画面 |
システム | キー定義ダイアログ |
内部 | アクションダイアログ |
ユーザ | イベント一覧 |
タイマー | なし |
式 | 式定義ダイアログ |
エラー | エラー一覧 |
常駐テーブル、埋め込みSQLの結果データベース、ソート一時テーブルで作成される、SQLのテーブル名の接頭文字が、T_ からTEMP_ に変更されます。
実行時に使用できるユーザIDは10桁から30桁、パスワードは8桁から20桁に拡張されました。この変更により、今まで使用されたセキュリティファイルは、コンバートツールで変換する必要があります。コンバートツール(usrupd.exe)は、Utilフォルダに格納されています。
また、チーム開発を行う場合に有効なユーザIDは、従来どおり10桁です。
動作環境/システムログオン]の「F=フルログオン」オプションが削除されました。Ver9.2 SP1 以前からアップデートした場合、「F=フルログオン」に設定されていると「N=なし」になります。同じ動作をさせる場合は、「D=ディレクトリ」に変更するようにしてください。
ハイパーテキストのタイプがURLの場合、URLの名前の最初の文字が
/
の時、インターネット開発ファイルルートが付加されないようになりました。
MRBサービス起動の遅延 (Top)
MRBがサービスで起動された場合に、MRB起動の遅延を設定できるようになりました。OS起動時のライセンスサーバとの時間調整等に使用することができます。mgrb.iniに以下の記述を行います。
[MRB_ENV]
DelayServiceStart = n (秒単位)
ブラウザクライアントアプリケーション開発手法
(Top)
ブラウザクライアントの機能を使用して、効果的なインタラクティブWebアプリケーションの設計・開発する方法を記述したドキュメント、及びサンプルアプリケーションが提供されました。
CD-ROMの\BONUS\demoapl\Methodologyフォルダに格納されています。
※ アップデートモジュールには、添付されていません。
MRBが、利用可能なプロセス間で、効率的なロードバランシングを提供できるように、メカニズムが改善されました。これによって、各リクエストは、最もパフォーマンスのよいアプリケーションエンジンに配分され、二つ以上のエンジンが存在する環境でブラウザクライアントを実行する場合は、コンテキスト数が最小になるようにリクエストを配分します。
更に、動作環境/ロードバランシングの優先度のパラメータによって、各アプリケーションサーバに配分の優先度を制御することができます。
メインプログラムのコールコマンドによって、現在のタスクを終了して、同じウィンドウに新しいプログラムを表示することが可能になりました。
メインプログラムにユーザイベントハンドラでコールコマンドを設定し、かつコール特性/出力フレームに_top
を設定します。親のプログラムでは、メインプログラムで定義されたユーザイベントを、イベント実行コマンドで実行します。
サンプル(英語): Overriding_A_Top_Browser_Task.exe
ブラウザクライアントのサブフォームは、キーボード(Tab/Shift+tabキー)を使ってアクセスすることが可能になりました。この機能を有効にするには、新しく追加された、ブラウザフォーム/HTMLコントロールテーブル/コントロール特性/タブで移動パラメータを「Yes」に設定します。「No」の場合は、マウスクリックのみでの移動になります。
デフォルト値は、新規の場合は「Yes」、以前のバージョンから移行した場合は「No」です。
詳細は、リファレンスの11章「表示フォーム」を参照してください。
サンプル(英語): Keyboard_Access_Subforms.exe
ブラウザクライアントタスクで、HTMLコントロールに対して、ダイナミックにクラス名とスタイル名を設定することができます。
詳細は、リファレンスの11章「表示フォーム」の「ブラウザコントロール特性」の説明を参照してください。
サンプル(英語):Styles_and_Classes.exe
ブラウザクライアントのXMLのソース部分は、暗号化されるようになります。これにより、タスクロジックと最初のデータは、ブラウザのソース表示等で閲覧することができなくなります。
MAGIC.INIに次のパラメータを設定します。
[MAGIC_SPECIALS]
SecureBrowserClient = Y
ブラウザクライアントによって処理されるHTMLの中のXMLフォーマット部分を圧縮することが可能になりました。ただし、クライアント(ブラウザ)でデータを展開する必要があるため、タスクをブラウザでロードした後に実行される初期化処理が長くなることがあります。
MAGIC.INIに次のパラメータを設定することで機能を制御することができます。
[MAGIC_SPECIALS]
CompressBrowserXML = Y/N Y:圧縮を行う N:圧縮を行わない
注意:この機能を有効にするには、XML暗号化の設定を行う必要があります。
暗号化を行わずに圧縮のみ行う場合は、次のパラメータを設定します。
[MAGIC_SPECIALS]
CompressWithoutScrambleXML = Y (デフォルトNo)
この場合、SecureBrowserClientとCompressBrowserXMLの設定は無効になります。
ブラウザでF1/Ctrl+F1などのブラウザのヘルプアクションを発行すると、ヘルプイベントを起動することが可能になりました。
ヘルプアクションが起動されると、ヘルプ画面欄で定義されたURLが開かれ、ブラウザ自身のヘルプは開きません。もし、ヘルプ画面欄が指定されていない場合は、ウィンドウズのブラウザヘルプが開かれます。
ヘルプウィンドウは、ヘルプページとして指定されたブラウザウィンドウです。
タイトルは常に「HTML ヘルプ」です。
ヘルプページは常に最終位置で開かれます。
タスク画面をクリックして戻った場合でも、ヘルプウィンドウは閉じません。
すべてのヘルプページは同じウィンドウに表示されます。つまり、二番目に開いたヘルプウィンドウは、既に開かれていたヘルプウィンドウに置き換わります。
サンプル(英語):Browser_Client_Help_Activation.exe
ブラウザクタスクから、インターネットリクエスタに出力するバッチタスクをコールして、出力先フレームで指定したブラウザへの出力が可能になりました。
後に続くバッチタスクの中で指定された出力先フレームは無視されます。ブラウザタスクで指定されたバッチタスクへのコールコマンドの出力先フレームだけが使用されます。
詳細は、リファレンスの22章「分散アプリケーションのアーキテクチャ」の「ブラウザ形式のインターネットアプリケーション」の説明を参照してください。
サンプル(英語):Browser_Client_Calling_Batch.exe.
テーブルコントロールで、ホイールマウス機能によりレコードスクロールが可能になりました。IE6.0でのみ可能です。
サーバ処理中の表示 (Top)
ブラウザタスク実行時に、サーバ側で処理している間は、マウスカーソルは待ち状態の形状になります。サーバ側の処理が終了すると、通常の形状に戻ります。
サブフォームでのビュー再表示、位置付け (Top)
9.3SP2までは、サブフォームのパラメータが再計算されたとき、サブフォームは新しい範囲値に従って、そのビューをリフレッシュするだけでした。
9.30J SP3では、パラメータが再計算されたとき、新しい位置付値に従って再位置付けされるようになりました。
ブラウザクライアント−トランザクションモード−なし (Top)
新しいトランザクションモード「なし」がトランザクション定義に追加されました。例えば、トランザクション処理を必要としないメニュー処理等で使用します。
詳細は、リファレンスの11章「プログラム」の「タスク」の説明を参照してください。
フォーム特性/子ウィンドウパラメータに式が設定できるようになりました。このパラメータは論理型で、タスク前処理の前に画面オープンする時点で評価されます。
ハイパーリンクダイアログでMagicプログラムを指定した場合、システム、プログラム、出力先フレームのパラメータに式が設定可能になりました。
ナビゲータシート、特性シート、コメントシートを表示する開発パレット画面に関して、動作環境/動作設定に、以下の4つのパラメータが追加されました。
また、各オブジェクトで登録したコメントの内容が、コメントシートに表示されるようになりました。
フロートパレットを常に前面表示
フロートパレットにフォーカスがあるときに、Enterまたは、Escキーを押下すると、自動的にパレットが閉じることが可能です。パレットがメインウィンドウと結合されている場合は無効です。
パレットの結合
「Yes」の場合、パレットをドラッグして、Magicのメインウィンドウの境界に移動すると、結合されて常にウィンドウの中に納めることができます。「No」の場合、常に別のウィンドウで表示されます。
単一拡張パレット
特性シートのデフォルトの表示を、ツリーのタイトルだけ表示するか、全てのパラメータを表示するかを制御します。「Yes」の場合、タイトルのみ表示します。「No」の場合、すべてのパラメータを表示します。
特性シートの自動操作
特性シートが関連する項目にフォーカスが移ったとき、特性シートのオープンクローズを自動で制御できます。
パラメータ | 動作 |
N | 無効 |
C(デフォルト) | ナビゲータが有効な画面をクローズした時に、自動的にナビゲータウィンドウがクローズされます。 |
O | ナビゲータが有効な画面をオープンした時に、自動的にナビゲータウィンドウをオープンされます。 |
F | ナビゲータが有効な画面をオープン/クローズした時に、自動的にナビゲータウィンドウをオープン/クローズされます。 |
フォームエディタで「全て選択」のショートカット(Ctrl+A)が有効になります。
ただし、スタティックコントロールの編集モードの場合、フォーム上のコントロールでなく、編集中の全ての文字が選択されます。
フォームエディタでチョイスコントロールの選択時、Altキーを併用すると、それぞれのレイヤにリンクされたコントロールだけが選択できます。
スクロールバー表示パラメータがGUIフォームのエディットコントロールに追加されます。このパラメータによって、垂直スクロールパラメータと水平スクロールパラメータが「Yes」の場合、スクロールバーを表示するかどうかを制御できます。
システムイベントハンドラに、F11/F12
Shift+F11/F12 Ctrl+F11/F12 Alt+F11/F12
のショートカットキーがサポートされました。
注意:ブラウザクライアントの場合、IEの制御によって、Alt+F11のイベントハンドラが実行された後、常にブラウザ最大化のイベントが発生します。
関数名 | 機能 |
MMCLEAR | マルチマークされた行をクリアします。 |
MNUNAME | 指定したメニュー名を変更する。 |
VARDBNAME | 指定した項目のDB カラム名を取得する。 |
CTRLGOTO | 指定したコントロールにパークする。 |
各関数の詳細は、リファレンスマニュアル(9章関数)をご覧下さい。
DB2 UDB V7.2 データベースゲートウェイがサポートされました。