NECのオフコン情報掲示板(ノウハウ系)
NECのオフコンを活用するためのノウハウを話し合うための掲示板です。 |
新規投稿 | スレッド表示 | ツリー表示 | 投稿順表示 | i-mode | トップ |
Re:COBOL74とCOBOL85の違い | |
640Xi 2010-3-26 17:54:00
[返信] [編集] 富山さん、コメントありがとうございます。 早速マニュアルを確認しました。 いかにマニュアルを読んでいないかがバレバレですね(汗) 今後の開発の参考にします。 ありがとうございました。 | |
区分化の件、 | |
桃太郎 2010-3-26 15:39:00
[返信] [編集] 温泉好きのうさぎさん、こんにちは。 3100時代にCOBOL85で64KBを超えたらエラーになっていたので、 そう思っていましたが、温泉好きのうさぎさんのコメントを読んで 改めて現在の600で同じプログラムをSECTION文を外して 同じパラメーターでコンパイルしてみたところ、 エラーが出ないですね、 良いことを教えて頂き、ありがとう御座います。 長年携わっていると、思い込みと惰性で仕事をしているものですから(^^ゞ | |
Re:COBOL74とCOBOL85の違い | |
富山清風 2010-3-26 12:08:00
[返信] [編集] マニュアル:COBOL85プログラミング手引書 の 付録B:NATIVEモードとCOBOL74モード差異比較 あたりが参考になるかも。 | |
COBOL74とCOBOL85の違い | |
640Xi 2010-3-26 10:18:00
[返信] [編集] こんにちは。 先日、温泉好きのうさぎさんから、COBOL74とCOBOL85の 違いを、次のように教えていただきました。 「COBOL85になってからは、64KBを越えたらコンパイラが自動的に 区分化してしまうので、明示的にSECTIONで分ける必要は無い」 私は、「SKIP」キーと「ENTER」キーの使い分けが可能になっただけと 誤解して、これまで運用してきました。 今更ながら、これ以外にも魅力的な違いがあるのかが知りたいので、 ご存知の方は教えてください。 | |
Re:データ部1単位領域の大きさ | |
640Xi 2010-3-26 10:03:00
[返信] [編集] 温泉好きのうさぎさん、おはようございます。 本プログラムは、COBOL74で作成されております。 本来であれば、COBOL85へ組み替えしなければいけませんが、 私の怠慢でできておりません。 実は、温泉好きのうさぎさんのご回答の下記仕様を知りませんでした。 とても魅力的ですので、本プログラムと、他にCOBOL74で構築している プログラムをCOBOL85へ組み替えていきます。 >「COBOL85になってからは、64KBを越えたらコンパイラが自動的に区 > 分化してしまうので、明示的にSECTIONで分ける必要は無い」 有益な情報をありがとうございました。 | |
Re:データ部1単位領域の大きさ | |
640Xi 2010-3-26 9:58:00
[返信] [編集] 桃太郎さん、おはようございます。 区分化を再度見直し、細分化しましたところ、 エラーがなくなりました。 ありがとうございました。 | |
Re:データ部1単位領域の大きさ | |
温泉好きのうさぎ 2010-3-26 0:53:00
[返信] [編集] COBOLの時代なら手続き部での区分化は必要でしたが、COBOL85になってからは、64KBを越えたらコンパイラが自動的に区分化してしまうので、明示的にSECTIONで分ける必要は無いはずです。 従って、#LINKでオーバレイなど特殊なリンク方法をとらないのであれば、手続き部のSECTIONは全て取り払って、区分化をコンパイラにまかせてしまったほうが良いと思います。 | |
Re:データ部1単位領域の大きさ | |
640Xi 2010-3-25 21:31:00
[返信] [編集] 桃太郎さん、ご回答ありがとうございます。 ご指摘の通り、入力系で、ステップ数が多いものです。 区分化機能は設定していたのですが、もっと細かく区分してみます。 後程、結果を報告します。ありがとうございました。 | |
Re:データ部1単位領域の大きさ | |
桃太郎 2010-3-25 11:59:00
[返信] [編集] こんにちは、桃太郎と申します。 もしかしたら、そのプログラムは入力系とかでPROCEDUREのステップ数の 多いものではないですか? そうだとしたら、PROCEDUREの中で64Kバイトを超えている可能性が考えられます もしそうだとしたら区分化機能で回避することが出来ます。 PROCEDUREの中をSECTION文で区切るだけです、 詳しくはCOBOL85プログラミング手引書の区分化機能の項をご覧下さい。 参考になれば良いのですけど? | |
Re:COBOL85のSELECT命令について(再度質問) | |
温泉好きのうさぎ 2010-3-25 0:45:00
[返信] [編集] 回答できる保証はありませんが、差し支えなければ、もう少し詳しく具体的な内容を教えていただけませんか。 ・表定義情報・RDBQでの検索条件 ・COBOL(CBL85)のコーディング ・返ってきたエラーコードの値 ・その他... 同じ環境を構築して試してみます。 | |
Re:データ部1単位領域の大きさ | |
640Xi 2010-3-24 20:05:00
[返信] [編集] 富山さん、早速のレスありがとうございます。 私も、富山さんと同様に、01レベル1ヶのバイト数が 64Kを超えた場合は、作業領域を分割しています。 (コンパイルエラーが出てから対応していますが。。) その際のエラーメッセージは、 「F F0041 単位領域の大きさが 64K バイトを超えている」 です。 このエラーメッセージの場合は、どの作業領域がサイズオーバー かを、コンパイラが行潤・ナ教えてくれます。 しかし、今回のエラーメッセージ、 「F N0004 データ部の1単位領域の大きさが 64K バイトを超えた」 は様子が違い、どの作業領域がサイズオーバーなのか教えてくれません。 もしかしたら、確認漏れで01レベル1ヶのバイト数が64Kを超えている のかも、と、見直してみましたが、制限を超えてはいませんでした。 DATA部全体で 64K を超えるとNGなのか?とも思いましたが、 それでは、他のプログラムも余裕で制限を超えてしまいます。 同じようなエラーメッセージですが、2種類あるところから、 意味合いが違うような気もします。 勉強不足ですみませんがヒントでも構いませんので お気づきの点を教えていただければと思います。 | |
Re:データ部1単位領域の大きさ | |
富山清風 2010-3-24 19:21:00
[返信] [編集] 苦労していますね。 小生は下記の方法により対応していますが、 640Xiさんの場合の当てはまるかどうかは、わかりませんが・・・ 内容: もともと、「TBL-AREA」だったのですが「TBL-AREA-1」、「TBL-AREA-2」、・・・「TBL-AREA-6」と分けて対応しています。 01レベル1ヶのバイト数が64Kを超えないように分割しています 参考になれば幸いですが・・・ 以上
| |
データ部1単位領域の大きさ | |
640Xi 2010-3-24 18:14:00
[返信] [編集] いつもありがとうございます。 1点教えて下さい。 COBOLプログラムをコンパイルすると、 「F N0004 データ部の1単位領域の大きさが 64K バイトを超えた」というFATALエラーが発生しました。 本メッセージの通り、データ部は非常に大きいのですが、 どの項目も外すに外せない項目なので苦慮しています。 何とかコンパイルを通したいのですが、裏技などありましたら 教えて下さい。 | |
COBOL85のSELECT命令について(再度質問) | |
EXCHANGE 2010-3-18 20:01:00
[返信] [編集] * どなたかご存じないでしょうか、以前にも質問させて頂いたのですが、再度質問させて頂きます。 * 以前は出来ませんでしたが現在のAVXRDBにおいては、結合表のセカンダリテーブル上の項目での検索条件指定はRDBQ2等では可能です。動作を見ているとワークエリアへ一旦出力するするなどの中間処理を経て検索可能です。 * またAVXRDBのマニュアルなどにもセカンダリテーブルの項目を検索条件にしたSELECT命令について言及されています。 * しかし実際にはCOBOLにてSELECT命令の条件指定にてセカンダリテーブルの項目を含めるとデータ数がごく少数の時以外、実行結果が正しくなく、またFILE STATUSを定義しておくとエラーコードが返されてきます。 * RDBQ,RDBQ2で出来るのに。。という思いがどうしても残ります。 * どなたかこの件についてご存じの方はおられないでしょうか? NEC側にてバグ有りのまま放置されているのか、それとも何か可能になるような記述指定の仕方があるのか? * COBOL上でこれが可能になればデータベースの正規化がぐっとやりやすくなります。 | |
:(FDの変換について) | |
EXCHANGE 2010-3-18 19:43:00
[返信] [編集] * ほいほいさんのFD受渡の前提環境は存じませんが IBMフォーマットFD、DOSフォーマットFD間の媒体での変換は、NECが提供するユーティリティ、IOデータ社のUSB版3モードFD装置などを組み合わせてPC上で可能だと聞いています。 * 他にもシステムポート社の「仮想FDファイル変換」というシェアウエアがあります。使ったことがないので仕様内容は分かりませんが、なんでもIBMFDの内容を圧縮してメールなどで添付送信できるなどと聞いております。なにか使えるかも。。 * 600シリーズ<−−>600シリーズ間でしたら最近リリースされた#BKUPディスクバージョンを双方で使って受渡が可能でしょうね。 やったことありませんので実際の事はよくわかりませんが。。 | |
Re:#NFLNKについて | |
ほいほい 2010-3-18 9:50:00
[返信] [編集] 皆様ありがとうございました。 結論から言うと、システム構築のときにカンパニなし/セキュリティコードなしで設定がされているようです。 カンパニなし/セキュリティコードありであれば #OCFMから設定ができ#NFLNKも使用できると いう結論に自分の中で到りました。 現在は#OCFMにて登録するときにセキュリティコードがまず 飛ばされます。BKSPでカーソル戻して英字1桁+数字1桁を 入力しても入力エラーとなります。 今回ハードをリプレイスするに当たりIBMフォーマットのFDが使えなくなるため、PGでダイレクトにFD読み書きしている 場合、今回#NFLNKで対応しようと思いましたが 仕方がないのでPGでディスクに出力し#NFCNVで対応する方向で考えます。 | |
Re:RDBQ2について | |
富山清風 2010-3-18 1:06:00
[返信] [編集] ご苦労様です。 投稿番号346「RDBQでのデータデータディクショナリの分け方」 http://otd10.jbbs.livedoor.jp/286441/bbs_reply?reply=346 回答番号352「Re:RDBQでのデータデータディクショナリの分け方」 http://otd10.jbbs.livedoor.jp/286441/bbs_reply?reply=352 が参考になるものと思いますが・・・ 概要は以下のとおりです /ASSIGN EFN=EIGYOU@DDF,OEFN=SYS@DDF; /RUN RDBQ,DEV=MSD; /> ; | |
RDBQ2について | |
ぅな 2010-3-17 14:24:00
[返信] [編集] RDBQ2でDDFの定義が1000を超えている場合に数字で表の指定が出来なくなりました。 表名(漢字)で指定しても選択されません。 #DDMでは表の番号が「000」と表示されております。 表定義を1000未満になるように定義を削除すれば良いのですが、平行でプロジェクトが動いているため容易に削除ができません。 お助けくださいれば幸いです。 | |
Re:#NFLNKについて | |
温泉好きのうさぎ 2010-3-16 0:16:00
[返信] [編集] セキュリティコードが未設定ということですから、ローカルのオペレータコードからであっても #OCFM により新しくグローバルのオペレータコードを作成することができます。 グローバルのオペレータコードが未設定あるいは不明なのでしたら、新規にグローバルのオペレータコードを作成し、それで #NFLNK の設定をされてはいかがでしょうか。 #NFLNK 設定後、不要であればそのグローバルのオペレータコードを削除しておけばよいでしょう。 | |
Re:#NFLNKについて | |
ほいほい 2010-3-15 11:45:00
[返信] [編集] グローバルオペレータについて詳細な説明 ありがとうございました。 当社ではカンパニIDは設定していません。 #OCFMでオペレータを見たところ4つオペレータIDが 存在していますがすべてセキュリティコードは未設定でした。 当然Z9に設定することは出来ませんでした。 最後にもう1つ質問ですがグローバルオペレータは #OCFMでは見ることが出来ないものであり、 絶対に存在するものなのでしょうか? 単に当社の場合グローバルオペレータが未設定(ありえるのか どうか分りませんが・・・)ということも考えられます。 最終的にはSEに聞く方向しか解決策はなさそうなのは 分りました。 |
新規投稿 | スレッド表示 | ツリー表示 | 投稿順表示 | i-mode | トップ |
BluesBB ©Sting_Band