28.10.2014 Views

Getting Started - Magic Software DEVNET Japan - Magic Software ...

Getting Started - Magic Software DEVNET Japan - Magic Software ...

Getting Started - Magic Software DEVNET Japan - Magic Software ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!