
COBOLのUNSTRING文についての質問です。
CSVを読んで項目を分解するためにUNSTRING文を使用したんですが、
最後の項目だけ取得できないのです。
どうすれば取得できますか。教えてください。
例)
CSV
CSV-RECD
A001,B002,C003,D004
UNSTRING CSV-RECD DELIMITED BY ","
INTO WK-A WK-B WK-C WK-D.
この例の場合、
WK-A には A001
WK-B B002
WK-C C003
とちゃんとセットされるのですが、
WK-D には何もセットされずに初期値にままです。
期待するのは、D004 とセットしてほしいのです。
ちなみにCSV-RECDを以下のようにするとうまくWK-D にセットされます。
A001,B002,C003,D004,
最後尾に","をつけたら期待する結果になるのですが、
その最後尾につけるのは仕様上問題があるのです。
なにかいい方法があったら教えてください。
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
大昔のコボラーです。
UNSTRING命令などには疎いので、的はずれであれば、ごめんなさい。CSV-RECDのデータって、D004の後ろに空白がありませんか?変数WK-Dが4文字分で定義されている場合、空白分が入りきらず、オーバーフロー扱いになり、WK-Dへの転記が中断された可能性はないでしょうか?
WK-Dを十分な大きさで定義すれば、いけるような気がします。
また、最終位置にカンマを付けることは仕様的に不可とのことですが、確かに、実際のデータ上にカンマを付けるのは、他のプログラムにも影響するので無理だと思います。しかし、このプログラムの内部的(変数上のみ)に付加することはできますよね?よって、事前にSTRING命令などを使って、カンマを付けることもできると思います。
ママチャリさん
貴重なヒントになりました。
後ろに空白が入ってたので、指定した桁数にセットできなかったのが判明しました。
なので、プログラムの内部的にカンマを付加することにしました。
それで解決しました。
ヒントをくださりありがとうございました。
No.2
- 回答日時:
> 確認方法にも間違いがあると思えません。
コンパイラにバグがあるとも思えないので、確認方法が間違っているというケースしかあり得ないです。
プログラム全体と実行結果を書いてみてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
あるプログラムのコマンドライ...
-
PICマイコンのコピー(クローン...
-
読み込み中にアクセス違反が発...
-
モジュール、アプリケーション...
-
ドロップダウンリストの文字を...
-
「Outlookが他のプログラムによ...
-
VBAでユーザーフォームが自動的...
-
VBAにてメール作成した際、一部...
-
Excelに埋め込んだVBAのプログ...
-
未使用の変数を一括検索する方法
-
自動クエリとはどういうもので...
-
エクセルVBA 検索時に除外を設...
-
VC++コンソールアプリでウイン...
-
C言語で実行時間を指定して終了...
-
visual studio 2019を使ってい...
-
Excelで4096点以上のFFTの方法
-
銃を発砲するならともかく、日...
-
Vba UserFormを前面に出す方法...
-
方対数グラフを書く為の計算方...
-
写真のプログラムは、1からnま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
あるプログラムのコマンドライ...
-
銃を発砲するならともかく、日...
-
Excelで4096点以上のFFTの方法
-
VBAにてメール作成した際、一部...
-
読み込み中にアクセス違反が発...
-
OS入ってる機器のソフト・アプ...
-
PICマイコンのコピー(クローン...
-
Vba UserFormを前面に出す方法...
-
未使用の変数を一括検索する方法
-
ドロップダウンリストの文字を...
-
powered byの表記について
-
VBAでユーザーフォームが自動的...
-
XnViewにwebpを「いつも開く」...
-
「Outlookが他のプログラムによ...
-
Excelに埋め込んだVBAのプログ...
-
自動クエリとはどういうもので...
-
UWSCで指定のフォルダを開きたい。
-
TMBMSRV.exeによるCPU使用率上昇
-
バッチ、vbs等でのソフトウェア...
-
Pro*Cで動的SQLを実現する為の...
おすすめ情報
artooさん
プログラムには間違いないですか。
確認方法にも間違いがあると思えません。
こちらの環境ですが、NetExpress5.1です。
最後尾に","を付加してなくても期待とおりでしたのですね。