Google
オフコン練習帳内を検索
インターネット全体を検索

NECオフコン関連
オフコン一般
情報

[掲示板に戻る]


Re:データ部1単位領域の大きさ 640Xi 2010-3-24 20:05
Re:データ部1単位領域の大きさ 桃太郎 2010-3-25 11:59
Re:データ部1単位領域の大きさ 640Xi 2010-3-25 21:31
Re:データ部1単位領域の大きさ 温泉好きのうさぎ 2010-3-26 0:53
Re:データ部1単位領域の大きさ 640Xi 2010-3-26 10:03
区分化の件、 桃太郎 2010-3-26 15:39
Re:データ部1単位領域の大きさ 640Xi 2010-3-26 9:58

3 Re:データ部1単位領域の大きさ
640Xi 2010-3-24 20:05  [返信] [編集]

富山さん、早速のレスありがとうございます。



私も、富山さんと同様に、01レベル1ヶのバイト数が

64Kを超えた場合は、作業領域を分割しています。

(コンパイルエラーが出てから対応していますが。。)



その際のエラーメッセージは、

「F F0041 単位領域の大きさが 64K バイトを超えている」

です。

このエラーメッセージの場合は、どの作業領域がサイズオーバー

かを、コンパイラが行潤・ナ教えてくれます。



しかし、今回のエラーメッセージ、

「F N0004 データ部の1単位領域の大きさが 64K バイトを超えた」

は様子が違い、どの作業領域がサイズオーバーなのか教えてくれません。



もしかしたら、確認漏れで01レベル1ヶのバイト数が64Kを超えている

のかも、と、見直してみましたが、制限を超えてはいませんでした。



DATA部全体で 64K を超えるとNGなのか?とも思いましたが、

それでは、他のプログラムも余裕で制限を超えてしまいます。



同じようなエラーメッセージですが、2種類あるところから、

意味合いが違うような気もします。



勉強不足ですみませんがヒントでも構いませんので

お気づきの点を教えていただければと思います。

4 Re:データ部1単位領域の大きさ
桃太郎 2010-3-25 11:59  [返信] [編集]

こんにちは、桃太郎と申します。



もしかしたら、そのプログラムは入力系とかでPROCEDUREのステップ数の

多いものではないですか?



そうだとしたら、PROCEDUREの中で64Kバイトを超えている可能性が考えられます

もしそうだとしたら区分化機能で回避することが出来ます。



PROCEDUREの中をSECTION文で区切るだけです、

詳しくはCOBOL85プログラミング手引書の区分化機能の項をご覧下さい。



参考になれば良いのですけど?

5 Re:データ部1単位領域の大きさ
640Xi 2010-3-25 21:31  [返信] [編集]

桃太郎さん、ご回答ありがとうございます。



ご指摘の通り、入力系で、ステップ数が多いものです。

区分化機能は設定していたのですが、もっと細かく区分してみます。



後程、結果を報告します。ありがとうございました。

6 Re:データ部1単位領域の大きさ
温泉好きのうさぎ 2010-3-26 0:53  [返信] [編集]

COBOLの時代なら手続き部での区分化は必要でしたが、COBOL85になってからは、64KBを越えたらコンパイラが自動的に区分化してしまうので、明示的にSECTIONで分ける必要は無いはずです。



従って、#LINKでオーバレイなど特殊なリンク方法をとらないのであれば、手続き部のSECTIONは全て取り払って、区分化をコンパイラにまかせてしまったほうが良いと思います。
7 Re:データ部1単位領域の大きさ
640Xi 2010-3-26 9:58  [返信] [編集]

桃太郎さん、おはようございます。

区分化を再度見直し、細分化しましたところ、
エラーがなくなりました。

ありがとうございました。

8 Re:データ部1単位領域の大きさ
640Xi 2010-3-26 10:03  [返信] [編集]

温泉好きのうさぎさん、おはようございます。



本プログラムは、COBOL74で作成されております。

本来であれば、COBOL85へ組み替えしなければいけませんが、

私の怠慢でできておりません。



実は、温泉好きのうさぎさんのご回答の下記仕様を知りませんでした。

とても魅力的ですので、本プログラムと、他にCOBOL74で構築している

プログラムをCOBOL85へ組み替えていきます。



>「COBOL85になってからは、64KBを越えたらコンパイラが自動的に区

> 分化してしまうので、明示的にSECTIONで分ける必要は無い」



有益な情報をありがとうございました。



9 区分化の件、
桃太郎 2010-3-26 15:39  [返信] [編集]

温泉好きのうさぎさん、こんにちは。



3100時代にCOBOL85で64KBを超えたらエラーになっていたので、

そう思っていましたが、温泉好きのうさぎさんのコメントを読んで

改めて現在の600で同じプログラムをSECTION文を外して

同じパラメーターでコンパイルしてみたところ、

エラーが出ないですね、

良いことを教えて頂き、ありがとう御座います。



長年携わっていると、思い込みと惰性で仕事をしているものですから(^^ゞ



BluesBB ©Sting_Band