手順業務では,複数の業務を組み合わせて実行できます。このとき,データベースや変数を使って,業務間でデータを受け渡せます。また,クライアントとサーバとで処理を分散できます。
(1) 業務の関連
手順業務では,Groupmax Formで作成した各業務(伝票発行業務,書式印刷業務,データベース更新業務,及び手順業務)を組み合わせて実行できます。手順業務の処理定義で,各業務を呼び出す処理コマンドを指定します。また,手順業務をメニューウィンドウに登録すれば,メニューから実行できます。
このように,手順業務を作成することで,業務全体の流れを制御できます。
手順業務を中心とした各業務の関係を,図10-3に示します。
図10-3 手順業務を中心とした各業務の関係
(2) データの受け渡し
手順業務として組み合わせた複数の業務の間では,データベースや変数を使ってデータを受け渡せます。
データベースの利用
一つの業務の実行結果をデータベースに出力して,別の業務でそのデータを利用します。図10-2では,伝票発行業務(DENPYO)の実行結果をUDATAに出力して,レコードを統合する処理に渡しています。
メモリファイルの利用
メモリファイルとは,データベースの加工結果などを一時的に保存しておく,作業用のファイルです。手順処理が終了すると消去されます。図10-2では,レコードの統合結果をメモリファイルに出力して,レコードの分類処理で利用しています。
メモリファイルの種類を,次に示します。
なお,サーバで処理を実行する場合,サーバでもメモリファイルを使えます。ただし,「%OUTD」,「%OUTD1」~「%OUTD8」を使っても,出力結果は表示されません。また,オフィスサーバでは,メモリファイルの内容を引き継げる範囲は,サーバ側(ETOILE/OP)の規則に従います。
グローバル変数の利用
ローカル変数「¥Lnn」及びグローバル変数「¥Gnn」は,処理コマンドの実行結果などを一時的に保存する領域です。このうち,グローバル変数の内容はGroupmax Formを終了するまで有効なので,一つの業務で設定したデータを別の業務で利用できます。
(例)
・手順業務の処理定義
@伝票発行△PARAM,,0
@DB検索△UDATAK,%OUT,得意先コード=¥G01
・伝票発行業務(PARAM)の処理定義
[得意先コード:項目処理]
@代入△¥G01=得意先コード
手順業務から@伝票発行で伝票発行業務(PARAM)を呼び出しています。伝票発行業務では,グローバル変数「¥G01」に得意先コードを設定します。呼び出した伝票発行業務の終了後,手順業務では,「¥G01」の内容を利用してデータベースを検索します。
(3) 処理の分散
手順業務では,クライアントとサーバとで処理を分散して実行できます。
処理分散の種類
処理の分散には次の2通りの方法があります。
並行処理
クライアントからサーバに処理を分散した後,クライアントでは,サーバで実行中の処理と並行して,次の処理が実行されます。また,クライアントから複数の処理をサーバに分散すると,それぞれの処理は並行して実行されます。こうした並行処理を利用すれば,処理効率を向上できます。
クライアントの処理定義で@終了待ちを指定すれば,サーバの処理が終わるのを待ってから,次の処理を実行できます。サーバでの処理結果を次の処理で利用する場合は,@終了待ちを指定しておきます。
並行処理の例を,図10-4に示します。
図10-4 並行処理の例
データの引き継ぎ
クライアントからサーバへ処理を分散したとき,クライアントでグローバル変数に設定した内容は,サーバへ引き継がれます。