C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: 整列併合用ファイルの実体について


(過去ログ 122 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■73073 / inTopicNo.1)  整列併合用ファイルの実体について
  
□投稿者/ 悩み多きランナー (1回)-(2014/08/15(Fri) 23:40:48)

分類:[その他の言語] 

はじめまして。
COBOLでの開発を行うため、現在COBOLについて初心者のため勉強してます。

その中で応用ソートというのがあり
「SORT 整列併合用ファイル名
ソートキー
INPUT PROCEDURE サブルーチン
OUTPUT PROCEDURE サブルーチン」
で定義して読み込んだ入力ファイルのデータをRELEASEすればソートキーに従い整列併合用ファイルに出力し
RETURN文を使用すれば整列併合用ファイルからデータを読み込めるとあります。
入力ファイルを読み込んで、レコードをソートして整列併合用ファイルに出力できるのであれば、RETURN文で読み込んで
別の出力ファイルにレコード出力しなくても、整列併合用ファイルを出力ファイルとしてもいいかと思ったのですが
(そうできればRETURN文でわざわざ読み込まなくてもよい)、そのようにできたりしないのでしょうか?
整列併合用ファイルとは物理的なファイルでなく、メモリ上にソート状態を保持してるのでしょうか?

よろしくお願いします。
引用返信 編集キー/
■73099 / inTopicNo.2)  Re[1]: 整列併合用ファイルの実体について
□投稿者/ かたぎり (2回)-(2014/08/19(Tue) 09:45:11)
どのCOBOLだろうか……OpenなのかIBMメインフレームなのかHPなのか……
と思いつつ、私の知っているCOBOL(IBM3090メインフレーム系)でお答えすると、
SORT文はINPUT→SORT文の第一引数のファイルで指定キーのソート処理実行(OPEN/FETCH/CLOSE)→OUTPUT
と動くので、上の文で言う整列併合用ファイル名はブラックボックスの名前だと思っていただければ良いのかな、と。
実体がどうなっていて、何をどうやってるのか、それはJCLの記述とコンパイラ、実行時のCPUのお仕事なので
メーカーの出しているマニュアルには記載されています。
IBMメインフレームの場合にはテンポラリの扱いで、実体の保持は保障されなかった……と記憶してます。
ソースはググれば見つかると思いますけれども。

なので、SORT第一引数とINPUTとOUTPUTは必ず、別のファイル名(DD名)の定義で使用するのがセオリーです。
結果は指定したOUTPUTを使い、それを取得後に処理を継続していくように作ってあげてください。
も一つ言うと、COBOLはREDEFINES句以外で「使いまわし」を基本やりません。
このあたりはプログラム規約な部分でもありますが、資源が潤沢なメインフレームで培われた言語なので、
メモリの節約?なんてケチケチしたことは、あまり気にしてないかもw

命令文も単純なものしかありませんのでアルゴリズム構築が物言う言語でもあります。
昔はSORTさえ無かったもんねぇ……SORTはJCLでカタプロとEASYのお仕事だったわ(遠い目

引用返信 編集キー/
■73159 / inTopicNo.3)  Re[2]: 整列併合用ファイルの実体について
□投稿者/ 悩み多きランナー (3回)-(2014/08/24(Sun) 00:32:55)
かたぎり さん

回答ありがとうございます。
実体についてはメーカの出してるマニュアルで確認しないとわからないということはわかりました。
整列併合用ファイルでググッても、詳しいサイトが見つけれなかったので投稿させてもらいました。

一度、マニュアルを見て確認してみたいと思います。
ありがとうございました。

No73099 (かたぎり さん) に返信
> どのCOBOLだろうか……OpenなのかIBMメインフレームなのかHPなのか……
> と思いつつ、私の知っているCOBOL(IBM3090メインフレーム系)でお答えすると、
> SORT文はINPUT→SORT文の第一引数のファイルで指定キーのソート処理実行(OPEN/FETCH/CLOSE)→OUTPUT
> と動くので、上の文で言う整列併合用ファイル名はブラックボックスの名前だと思っていただければ良いのかな、と。
> 実体がどうなっていて、何をどうやってるのか、それはJCLの記述とコンパイラ、実行時のCPUのお仕事なので
> メーカーの出しているマニュアルには記載されています。
> IBMメインフレームの場合にはテンポラリの扱いで、実体の保持は保障されなかった……と記憶してます。
> ソースはググれば見つかると思いますけれども。
>
> なので、SORT第一引数とINPUTとOUTPUTは必ず、別のファイル名(DD名)の定義で使用するのがセオリーです。
> 結果は指定したOUTPUTを使い、それを取得後に処理を継続していくように作ってあげてください。
> も一つ言うと、COBOLはREDEFINES句以外で「使いまわし」を基本やりません。
> このあたりはプログラム規約な部分でもありますが、資源が潤沢なメインフレームで培われた言語なので、
> メモリの節約?なんてケチケチしたことは、あまり気にしてないかもw
>
> 命令文も単純なものしかありませんのでアルゴリズム構築が物言う言語でもあります。
> 昔はSORTさえ無かったもんねぇ……SORTはJCLでカタプロとEASYのお仕事だったわ(遠い目
>
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -