unix環境下でCOBOL85を使用しています。
あるデータを可変長でWRITEしていくのですが、
データにヘッダー情報みたいなものが付加されてしまい困っています。
ヘッダー情報を付加しないようにするにはどうすればいいのでしょうか?
定義:
FD Aファイル RECORD IS VARYING 1 TO 100 DEPENDING ON A-CNT.
01 A-DATA PIC X(100).
とか
FD Aファイル RECORD IS VARYING IN SIZE DEPENDING ON A-CNT.
01 A-DATA PIC X(100).
というパターンで試しています。
Aファイルにaaaという3バイトデータをWRITEすると、
COBOL85020315020304・・・・・aaaというデータが出力されます。
あるコボラーに聞くと「定義がおかしいからでしょう」と言ってたのですが、
どうおかしいかは本人もわからないようです。
どうすればヘッダー情報(COBOL85020315020304・・・・・)がつかず、
可変長でWRITEできるのでしょうか?教えて下さい。
No.2ベストアンサー
- 回答日時:
>プログラマーとしての仕事範囲しか受けてないので、マシン名称はわかりません。
それは発注側の問題なのでなんとしても必要な情報をもらわないとだめでしょうね。
うちの会社で仕事を受ける場合は、その辺は必要な情報として必ず請求しますし,
なければその範囲でしかできませんと確認して作業してます。
必要な情報があるかどうかもわからない状態で来ることも多いし、実際不足している場合が多いので(^^;;
少なくてもターゲットマシンのコンパイラのマニュアルは必ず要求します。
ほとんどCですが、OSや実行環境依存の物が必ずありますし、
特殊な環境(Lynx,aix,pSOS+等)の場合も多々ありますので。
だいたい、unix環境といったって、いろいろありますし。
なんとかユーザーさんからターゲット環境のマニュアルを奪い取ってください。
「ヘッダ情報はCOBOLが勝手につけるから、
コンパイラのマニュアルを見ないと対応できん!」と。
No.1
- 回答日時:
COBOLは知らない人間ですが、昔大型汎用機を使った経験と、iris(IREX)上のFORTRANで似たようなことがあったという記憶からの推測です。
COBOLは元々汎用機上での言語ですから。
>あるデータを可変長でWRITEしていくのですが、
この実現の方法に問題があるのかも知れません。
unix,windows(DOS)はファイルの形式自体は単一ですが、
汎用機では違います。
既にうろ覚えですが,固定長形式、可変長形式等いろいろあります。
可変長で書くというのが、元々は可変長の形式で書くための機能で、OSのファイル形式との密接な関係があるように思います。
たしか、OS内部の物理的なファイルのイメージがデータ長+データ本体が1論理レコードとなっていたように思います。
これをunix上で実現するため、汎用機のファイルをエミュレートを状態になっているためと思います。
ですから、COBOL同士で読み書きする分には同じエムレートをして行われるので、
問題なく実行できていると思います。
もし、他のプログラム等で読み書きを行う必要があるものでしたら、
実行時のオプション、コンパイル時のオプション、
ファイルのオープン時のパラメタ等で指定可能かも知れません。
但し、この場合は本来持っているはずの情報が欠落することになると思いますので、
使い方によっては問題が生じるかも知れません。
詳しいことは、そのunix上のCOBOLのマニュアルから
ファイル関係の説明の部分を探して読む必要があります。どこかに詳しく説明があるはずです。
場合によると、プログラムの修正等も必要かも知れません。
ただ、汎用機とunixの両方にある程度知識がないと判らないかも知れません。
また、これは言語環境に依存する部分ですから一般的なCOBOL関係の本,マニュアルでは説明が一切無いように思います。
FORTRANでの経験は、やはり余計な管理情報のような物が付加されて、Cとのファイルのやり取りに問題が生じたためです。
詳細は忘れました(^^;;
確か,オープン時の指定を変えたように記憶してますが。
あと、unix環境下のCOBOLでは環境説明が不十分と思います。
具体的な名前を書いた方がいいでしょう。
こういう部分は環境依存ですので、おそらくコンパイラによっても違ってくると思いますので。
プログラマーとしての仕事範囲しか受けてないので、マシン名称はわかりません。
UNIX環境COBOL85としか判らないんです。^^;
ユーザーから、ヘッダー情報をつけるなと言われ、
ついていない可変長レコードを見たことあるとも言われ、
(どこで?と聞き返したら、もう覚えてないようで・・・)
困り果てた状態なんですよ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(SNS・コミュニケーションサービス) 自分のpcがハッキングされたようなメールが来たのですがどうすればいいですか? 4 2022/10/02 16:14
- その他(プログラミング・Web制作) COBOL数値転記をCOPY句内での仕様 6 2022/06/15 18:48
- その他(プログラミング・Web制作) Fortranでの出力ファイル 2 2023/03/21 21:25
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Excel(エクセル) 別シートの表の値を参照したい 2 2022/03/30 15:11
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- その他(プログラミング・Web制作) データ解析ソフトRでのファイル入力read.csvがエラーになります 7 2022/03/27 22:11
- USBメモリー・SDカード・フラッシュメモリー 銀行が振込データの受け渡しに未だにFDを使っている理由は「FDDがAドライブ固定だから」って本当? 11 2022/06/02 03:53
- C言語・C++・C# c言語の問題です 2 2023/07/21 10:51
- その他(プログラミング・Web制作) python 3.10で 同じlistに同じ構文で同じデータ代入した結果が異なる現象発生 7 2022/06/18 11:08
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
COBOLで可変長ファイルの出力について教えてください。
その他(プログラミング・Web制作)
-
COBOL、項目末尾に空白がある場合削除の方法その他
その他(プログラミング・Web制作)
-
COBOLでCSVをインプットにして読むには・・・。
その他(プログラミング・Web制作)
-
-
4
COBOL85でのCSVファイルの取扱方法について
その他(プログラミング・Web制作)
-
5
COBOLの改行
その他(プログラミング・Web制作)
-
6
COBOLのCOMP形式について
その他(プログラミング・Web制作)
-
7
改行コード(CR/LF)の設定の仕方
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語初心者の質問失礼します。
-
csvファイルを開かずに文字を検...
-
ファイル名の先頭にアンダース...
-
HANDLE無効について
-
グローバル変数のよくない使い...
-
FileOpen 関数で既にファイル...
-
Excelマクロでの再読込み方法
-
C言語のfopenについて教えてく...
-
iniファイルについて
-
CSVファイルへの保存の際、デー...
-
大きいサイズのテキストファイ...
-
分割コンパイルの#defineについて
-
「VBScript」ADODB.Streamにお...
-
XMLファイルの表示について
-
SGファイルって何ですか?
-
Cでのネットワークファイルの読...
-
ダイアログボックスで複数フォ...
-
VBAにてEXCEL以外のファイル(テ...
-
オートキャドでCSVファイルを変...
-
DAQの出力ファイルを読み込み、...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語初心者の質問失礼します。
-
ファイル名の先頭にアンダース...
-
csvファイルを開かずに文字を検...
-
大きいサイズのテキストファイ...
-
テキストファイルの最終行を削...
-
ドラッグアンドドロップでファ...
-
分割コンパイルの#defineについて
-
バッチで118項目のCSVを処理し...
-
CSVファイルへの保存の際、デー...
-
グローバル変数のよくない使い...
-
C言語のfopenについて教えてく...
-
SGファイルって何ですか?
-
VBに、Cのincludeのようなもの...
-
ファイルの結合
-
fopenできる上限の変更
-
「VBScript」ADODB.Streamにお...
-
iniファイルに追記がしたいです。
-
XMLファイルの表示について
-
Excelマクロでの再読込み方法
-
VBAにてEXCEL以外のファイル(テ...
おすすめ情報