私は1990年代にコンサルタントがWindows環境に戻したが、Microfocus(Eclipseなど)を使用しているCOBOLであった古いUNIXベースのCOBOLバッチアプリケーションを変換する責任があります。COBOL - Microfocus - 汎用I/O
これは、1つの小さなグリッチを除いて、かなり簡単な作業です。
古いアプリケーションは、COBOL内で明示的なファイル処理を行うことはありませんでした。つまり、COBOLプログラムにFD、OPEN、READ、WRITE、またはCLOSEコマンドはありません。代わりに、渡されたパラメータ(ファイル名、recの長さ、および必要な関数を含む)に基づいて、さまざまな関数の1つを実行するCプログラムを作成しました。
このサブルーチンを書き直したいCOBOLでは、変換されるCOBOLメインプログラムの変更はほとんど必要ありません。つまり、サブルーチンを呼び出すことはできますが、現在はCの代わりにCOBOLになります。
しかし、ほとんどのファイルに対してそのサブルーチンを書き込む方法があります。私は可変長レコードのルートを調べなければならないと思います。なぜなら、文字通り最大長までの最大サイズになる可能性があるからです。しかし、エラーの影響を受けやすいようです(さまざまな種類のファイルを開こうとすると) 。
誰かがこのようなタスクに関するこの経験やアイデアを経験していますか?そうでなければ、私は実行する必要のある特定のCOBOLコマンド(Open、Readなど)を使って各呼び出しステートメントをそのサブルーチンに置き換える鈍い強制ルートを実行しなければならない可能性があります。メインプログラムに追加されました。
ありがとうございます。あなたは、FD-nameは、はい、そう
FD fd-name.
...
ある
CALL "subprogram" USING fd-name
することができるかもしれません
質問に含めることができるCサブプログラムのソースがありますか? –
ここにどれくらい含めることができないのかわかりませんが、これはファイルを開く関数です:/ *************************** ******************************************** ** 編集それは大きすぎた。私は月曜日まで待たなければならないかもしれない。ここにファイルを添付できますか? – DaveL
質問の下に編集リンクがあります。それを使用すると、3万人のキャラクターが遊んでいますが、これで十分です。 –