Getting Started - Magic Software DEVNET Japan - Magic Software ...
Getting Started - Magic Software DEVNET Japan - Magic Software ...
Getting Started - Magic Software DEVNET Japan - Magic Software ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
第 18 章 - バッチタスクのアプリケーションエンジン<br />
次 の 条 件 のどれかが 成 立 したときにタスクは 終 了 します。<br />
•[タスク 終 了 条 件 ]が[True]と 評 価 されたとき<br />
• 範 囲 内 の 最 後 のレコードを 処 理 し 終 わったとき<br />
メインソースのないバッチタスク 動 作<br />
メインソースが 定 義 されていないときは、[タスク 終 了 条 件 ] 特 性 が[True]と 評 価 されるまで 実 行 を 続 けます。<br />
たとえば 変 数 項 目 のみを 処 理 するようなプログラムではレコードループが 無 限 に 続 くため、[タスク 終 了 条 件 ]が 成 立 する<br />
まで 実 行 は 終 わりません。<br />
メインソースがある 登 録 モードのバッチタスク<br />
メインソースを 定 義 しているバッチタスクでタスク 初 期 モードを[C= 登 録 ]にしている 場 合 、タスクは[メインソースの<br />
ないバッチタスク]と 同 様 の 動 作 をします。<br />
たとえば、データソースに 対 してレコードを 追 加 する 処 理 だけを 行 なうプログラムの 場 合 、レコード 範 囲 の 指 定 ができない<br />
ためにレコードループは 終 了 を 判 断 できず、[タスク 終 了 条 件 ]が 成 立 するまで 実 行 は 終 わりません。<br />
バッチタスクの 用 途<br />
バッチタスクはいろいろな 用 途 に 利 用 できます。 多 くの 場 合 、バッチタスクモードとその 用 途 には 明 確 な 関 連 があります。<br />
次 の 表 に、バッチタスクモードと 用 途 に 関 する 一 般 的 な 内 容 をまとめてあります。<br />
タスクモード<br />
照 会<br />
登 録<br />
修 正<br />
削 除<br />
用 途<br />
メインソースをスキャンし、 帳 票 印 刷 や 特 定 項 目 の 最 大 値 や 最 小 値 を 求 めるなどの 計 算 処 理<br />
を 行 ないます。<br />
データを I/O デバイスから 入 力 したり、 他 のデータソースからコピー 入 力 します。<br />
データソースのレコードを 自 動 更 新 したり、 集 計 計 算 などを 行 ないます。<br />
データの 整 合 性 を 維 持 するためなど、 所 定 のシナリオにしたがってデータソースレコードの<br />
自 動 削 除 を 行 ないます。<br />
5 . バッチタスクによる 削 除<br />
タスクの 初 期 モードを[D= 削 除 ]に 設 定 したバッチタスクは、データの 参 照 整 合 性 を 維 持 するために 利 用 します。<br />
前 章 で1 対 多 のデータリレーションについて< 受 注 管 理 >プログラムの 実 習 を 通 して 学 びました。<br />
このプログラムでは、エンドユーザはまず 最 初 のタスクで 主 データソース< 受 注 >に1レコード 登 録 し、 次 に 従 データソー<br />
ス< 受 注 明 細 行 >へ 複 数 のレコードを 登 録 して 行 きます。<br />
もし 主 データソースで 受 注 レコードが 削 除 されると、そのままでは 従 データソースの 対 応 レコードが 迷 子 のまま 残 されるこ<br />
とになってしまいます。<br />
このような 事 態 を 避 けるために、 主 データソースでレコードが 削 除 されるときには、バッチタスクを 利 用 して 従 データソー<br />
スの 関 連 レコードをすべて 削 除 するように 構 成 します。<br />
次 ページ 以 降 で、この< 受 注 管 理 >プログラムを 改 良 し、 迷 子 のレコードを 処 理 するためのバッチプログラムを 作 成 するこ<br />
とにしましょう。<br />
6 . 削 除 を 行 なうバッチタスクの 例<br />
ここでは< 受 注 管 理 >タスクにサブタスクを 追 加 し、エンドユーザが< 受 注 管 理 > タスクでレコードを 削 除 するたびに 呼 び<br />
出 されるようにします。<br />
そのサブタスクはバッチタスクで、< 受 注 管 理 >タスクで 削 除 した< 受 注 >レコードの 受 注 番 号 と 同 じ 受 注 番 号 を 持 つ< 受<br />
注 明 細 行 >レコードを 削 除 するようにします。<br />
292 <strong>Getting</strong> <strong>Started</strong><br />
<strong>Magic</strong> uniPaaS V1Plus