質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
ファイルI/O

ファイルI/Oは、コンピューターにおけるファイルの入出力です。これは生成/削除やファイルを読み込んだり、出力をファイルに書き込むようなディレクトリやファイルの運用を含みます。

COBOL

COBOL(COmmon Business Oriented Langage)は、実務処理用に開発されたプログラミング言語です。

Q&A

解決済

2回答

1262閲覧

COBOL 入力ファイルの定義

yuki_h

総合スコア5

ファイルI/O

ファイルI/Oは、コンピューターにおけるファイルの入出力です。これは生成/削除やファイルを読み込んだり、出力をファイルに書き込むようなディレクトリやファイルの運用を含みます。

COBOL

COBOL(COmmon Business Oriented Langage)は、実務処理用に開発されたプログラミング言語です。

0グッド

0クリップ

投稿2022/06/28 13:36

会社で情報システム部門に異動になり、COBOLを勉強しているのですがファイルの定義でつまずいています。
文系でプログラミング経験やパソコンに関する知識は殆どありません。

使用している参考書では環境部でSELECT句を使い

SELECT ファイル名 ASSIGN TO データ名.

としてファイルを定義すると書いています。
この時プログラムはどのようにして入力ファイルを参照しているのかがイマイチ分かりません。参考書なので分かりやすいように簡略化しているだけかと思ったのですが、COBOLに関するサイトや社内システムで実際に使用しているソースも同様の記述でした。

パスなどを指定しているわけでもないのに、なぜ任意のファイルを参照し入力できるのかが全く理解できません。抽象的な質問になりますがCOBOLに精通している方がおられましたら、拙い質問を汲み取ってご教授ください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

SELECT ファイル名 ASSIGN TO データ名.

データ名にはたぶん DISK と書いてあるでしょう。

IBM系の汎用機ですとCOBOLソースをコンパイル&リンクして作られた実行コード EXE を実行する時にJCLというもので

SELECT ファイル名

の「ファイル名」を汎用機のディスク上のファイル名(Windows PCでいうとエクスプローラーで見えるファイル名)に割り当てて実行します。

IBM系以外の汎用機では
DATA DIVISION.
FILE SECTION.
FD ファイル名
のところで汎用機のディスク上のファイル名に割り当てて記述する処理系もあります。

COBOLはシェアがなくなりつつありますから、オープン系の言語やデータベースも勉強しておいた方が良いです。

投稿2022/06/28 14:36

Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yuki_h

2022/06/29 00:53

返答ありがとうございます。 会社のソースではデータ名のところは具体的な名前が書いてあります。 会社の環境によるところが大きそうなので、一度上司に聞いてみます。 プログラミング未経験かつ業務のためにはCOBOL一択という状況なので、他の言語に手を出せる状況では今のところなさそうです、、、。
Orlofsky

2022/06/29 11:16

汎用機かオープン系かもわかりませんが、質問にメーカー名やOS名とバージョンくらいは明示されては? 人生5年程度は先のことを考えましょう。COBOLで作られたシステムはどんどんオープン系の他の言語に移行されてなくなっています。お努めの会社のCOBOLシステムがなくなっても仕事に困らない程度の準備は必要です。
guest

0

そのあたりは環境によって異なるので、「COBOL言語の入門書」などには書かれてないです。
使っているCOBOL言語のマニュアルに書いてあります。
マニュアルが見つからないとか読めないとかであれば、部署内で聞きましょう。

投稿2022/06/28 14:13

otn

総合スコア84538

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

otn

2022/06/28 15:02

環境について正確に記述すれば、該当環境でのやり方の回答が付くかもしれません。
yuki_h

2022/06/29 00:39

返信ありがとうございます。 マニュアルは上司の頭の中にある、という状態なので 質問してみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問