プロジェクト内に定義されているMagicプログラム番号を指定することで、このプログラムを呼び出すことができます。これによって以下の処理が実現できます。
1対多のリレーションの処理が可能です。
選択または参照用のデータ一覧の表示に利用できます。
エンドユーザに確認や入力を促す様々なウィンドウを表示できます。
特性
[コールプログラム]処理コマンドには、以下の特性があります。
出力先 (リッチクライアントプログラム用)
使用の際の注意事項
[コールプログラム]処理コマンドは、通常、ズーム可能ウィンドウを表示したい時に使用します。
プログラムは以下の3つの方法で起動することができます。
[コールプログラム]処理コマンド
CallProg 関数
メニューを使用して独立したプログラムとして起動する。メニューによる起動の場合、渡されるパラメータには全てNULL値が割当てられます。
Magicプログラムは、そのプログラム自身を呼び出すこともできますし、パラメータを渡すこともできます。つまり、Magic のプログラムは、ネストを使用して有効範囲の中で再帰呼び出しが可能です。
注意: |
[プログラム]リポジトリでプログラムを追加したり削除したりすると、追加や削除を行ったプログラムの行以降の番号が変わります。この[呼び出される式番号]として、そういった番号が返る式を指定していた場合、式も変更しなければなりません。その場合、PROGリテラルを使用することで自動的に番号が更新されるようにすることができます。例えば、論理項目「AB」を使い、その値に応じて「プログラム3」または「プログラム4」のどちらかが実行されるように指定していたとします。この時には、「IF(BA,3PROG,4PROG)」という式を作成します。 リッチクライアントの場合、起動されたプログラムがバッチの場合のみ、プログラムは値を返します。 これは、[コールプログラム]処理コマンドがサーバ上で実行され、クライアント側で実行されるリッチクライアントプログラムが終了するまで待たないからです。 |
参照