昔のdbMAGIC 登録リンク
昔は、登録リンクってありましたか?
dbMAGICのVer4、5、6あたり
-
登録リンクは元祖dbMAGICからありましたよ。
-
バッチタスク、登録ではなくて、リンク 登録があったのですね。
ありがとうございます。今見ているPGが1件だけの登録だけど
バッチタスク、登録になっていたので。もちろんそれもOKですけど。 -
昔は新規レコードの登録を行うには、登録リンクしか手がありませんでしたが、その後、登録バッチの機能が追加されて、それ以来、登録リンクはほとんど使われなくなりました。ただ、登録バッチを使い慣れていない人は昔ながらに、登録リンクでやっておられる人も多いようです。
-
ちなみに、MagicのAPGで入出力等のバッチ処理が行われている部分は、内部的に登録バッチでしょうね。
-
失礼、入出力ではなくて、入力です。
-
もう全くの無駄話になってしまいますが
呼び出したいマスタのコード値を変数で入力すると
照会リンク(COBOLで言うREAD INVALID)
変数上でメンテして
子タスクで登録バッチ(COBOLで言うWRITE)又は
子タスクで修正バッチ(COBOLで言うREWRITE)又は
子タスクで削除バッチ(COBOLで言うDELETE)
Magicを教えてくれる人が誰もいなかった場合、もしかすると
こんな作りにしていたかもしれませんね。
私が作っている売上伝票入力PGなども、似たりよったりです。
今はマスタメンテ等は、メインソースに指定する事が多いです。 -
tandaさん コメントありがとうございました。
テキストファイルからの大量取込等は私もバッチ、初期モード=登録を使います。
テキスト取込ではなく、1件だけ登録をしたい場合、バッチ、初期モード修正、終了条件=Y、
の1回で終わるバッチタスクに「登録リンク」を指定します。
この場合、1タスクで複数データに対して、登録リンクを指定できますし。
tandaさんの言われる「登録リンクはほとんど使われなくなりました」はテキスト取込等の場合を言いたかったのですよね? -
テキスト取込みだけではなく、変数なども扱えますよ。テキスト取込みの場合は、EOFを判定するのが常ですが、変数などからの取り込みの場合は、終了条件のチェック時期を「A=後置」としてやるだけで、1レコードだけループして勝手に終わるという動作が実現できます。
私も何10年か前に、この登録バッチによるサンプルプログラムをはじめて見たときは、目から鱗で感動した記憶があります。
もちろん、昔ながらの登録リンクによる方法も間違いではありませんので、今でも使っていただいて問題はないと思います。Magicはどんどん進化していきますから興味が尽きませんね。
-
ご参考までに、ヘルプからの抜粋を引用いたします。Magicの体験版にも掲載されています。
-----
[タスク終了条件]と[チェック時期]の例
●1つの行を処理する場合は、[タスク終了条件]を「Yes」に、また[チェック時期]を「A=後置」に設定します。
●どの行も処理しない場合は、[タスク終了条件]を「Yes」に、また[チェック時期]を「B=前置」に設定します。
●15の行を処理する場合は、[タスク終了条件]に式として「Counter()=15」を指定し、[チェック時期]を「A=後置」に設定します。
----- -
バッチタスクの終了条件の扱い方は承知しております。
-
私の場合は、終了条件に感動したのではなく、チェック時期の「B=前置」と「A=後置」に感動しました。かれこれ15年くらい前になりますが。
-
新しい機能が増えいくのでありがたいですね。
サインインしてコメントを残してください。
コメント
12件のコメント