[掲示板に戻る]
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