Google
オフコン練習帳内を検索
インターネット全体を検索

NECオフコン関連
オフコン一般
情報

[掲示板に戻る]


RDBQ2の機能(集計の最大)をCOBOLで ろろけい 2014-4-3 13:47
Re: RDBQ2の機能(集計の最大)をCOBOL... ころすけ 2014-4-3 20:48
Re: RDBQ2の機能(集計の最大)をCOBOL... ろろけい 2014-4-5 9:25
Re: カタログ機能(RDBQ2の機能(集計の... 江須扇 2014-4-7 23:00
Re: カタログ機能(RDBQ2の機能(集計の... ろろけい 2014-4-9 18:04
Re: RDBQ2の機能(集計の最大)をCOBOL... ターラヤン 2014-4-13 22:55
Re: RDBQ2の機能(集計の最大)をCOBOL... ろろけい 2014-4-23 19:32

1 RDBQ2の機能(集計の最大)をCOBOLで
ろろけい 2014-4-3 13:47  [返信] [編集]

いつもお世話になっております。

RDBQ2で実現できるある機能を、COBOLで、コーディングではなく機能として、
実現できないものかと思い、質問させていただきました。

やりたいことは、RDBQ2の「集計」の「最大値」を取得することです。

日々の売上情報が蓄積されているデータがあり、そこから、
「顧客コード」ごとの「最新の売上日」を取得したいのです。

RDBQ2だと、顧客コードでグループ指定し、売上日の集計欄で最大を選べば、
瞬時に結果を得られますよね。

COBOLでこれを実現するにはやはり、コーディングでなんとかするしかないですかね?

ちなみに、コーディングでの「技」なんかも紹介してくださると嬉しいです。

私は普通に、顧客コード+売上日の昇順でひたすら読み込み、
顧客コードが変わったときに直前の情報を保存していく、
という発想しか出てこないのですが…。

みなさまよろしくお願いいたします。
2 Re: RDBQ2の機能(集計の最大)をCOBOLで
ころすけ 2014-4-3 20:48  [返信] [編集]

オフコンの真髄はシーケンシャルファイルにあり。
ひたすら読み込む事がスピード的にあっていると思います。

スピート気にせず、楽をしたいのでありば顧客毎でSELECTするとか(邪道)、または顧客・売上日でキーファイルを作成してSTARTで逆読みして取得するとかかな・・・

邪道な事をしてもスピード的に遅くなるので、やっぱり普通に昇順がいいと思います。
3 Re: RDBQ2の機能(集計の最大)をCOBOLで
ろろけい 2014-4-5 9:25  [返信] [編集]

ころすけさま

お返事ありがとうございます。

おっしゃるとおりですね。
今までどれだけ、オフコンの堅牢な順読み処理にお世話になってきたことか。
処理自体はシンプルなのだから、素直に順読み処理で作ってみます。

てか、作ってみて、試してみました。
12万件のデータを、5分で処理してくれました。
ちょっと古めなハードでこれですから、ぜんぜん問題なかったです。

ありがとうございました。


正直、社内では、オフコンへのバッシングが日々強くなってきています。
時代の流れ、仕方のないことだとは思うのですが、最後まで、オフコンと仲良く付き合っていきたいと思っております。
余談でした。
4 Re: カタログ機能(RDBQ2の機能(集計の最大)をCOBOLで)
江須扇 2014-4-7 23:00  [返信] [編集]

始めまして江須扇と申します。

COBOLではできないですね。

カタログ機能を使って結果をDBファイル出力し
それを使っておりました。


5 Re: カタログ機能(RDBQ2の機能(集計の最大)をCOBOLで)
ろろけい 2014-4-9 18:04  [返信] [編集]

江須扇さん

情報をありがとうございます。

カタログ作戦、試してみました。
これをJSに組み込めば、うまく使えそうですね。

今回はシンプルな抽出条件なので、COBOLでひたすら読み込み作戦を採用しますが、
今後のために選択肢が増えたのでよかったです。

ありがとうございました。
6 Re: RDBQ2の機能(集計の最大)をCOBOLで
ターラヤン 2014-4-13 22:55  [返信] [編集]

昔、オフコンのCOBOL用でSQL文を使えるようにするSQLEXTENSIONという
別売りのオプションがありました。(今はもう販売終了しているようです。)

それを使うと、A-VX RDBに対してCOBOL中でSQL文が使えるようになります。

PERFORM X THRU Y.
EXEC SQL
SELECT MAX(A) INTO B FROM C-FILE GROUP BY D
END-EXEC.
MOVE B TO E.
・・・

のような感じで、EXEC SQLとEND-EXECで挟んで、SQL文を書けます。


オープンCOBOLで、OracleDBにアクセスする為のPRO*COBOLというものと
ほとんど同じ書き方なので、もし普及していれば、オフコンからオープン
COBOLに持っていくのに便利だったのですが。
7 Re: RDBQ2の機能(集計の最大)をCOBOLで
ろろけい 2014-4-23 19:32  [返信] [編集]

ターラヤンさま

遅いお返事になってしまい申し訳ありません。

情報ありがとうございます。

COBOL内でSQL文。
普通に使えたら、可能性がさらに広がったでしょうね。

試しに、書いてみました。
「'EXEC'が誤っている」
で怒られました(爆)

あたりまえですよね(^^;

失礼いたしました。

BluesBB ©Sting_Band