NECのオフコン情報掲示板(ノウハウ系)
NECのオフコンを活用するためのノウハウを話し合うための掲示板です。 |
新規投稿 | スレッド表示 | ツリー表示 | 投稿順表示 | i-mode | トップ |
Re:CULについて・・ | |
IGA 2009-4-24 10:10:00
[返信] [編集] ありがとうございます! おっしゃるとおり、「S」は COBOLで記述されており、 XXSULに入っているプログラムです。 その後、多忙の中、マニュアルを熟読し、 机上でだいたいの理屈は理解しましたが、 いただいご回答が、わたしの想像していたことと 一致したので大変よろこんでおります。 お恥ずかしいことですが、 ようするに単純なことで、 CBL85でコンパイルしたものを、SULか、 CULいずれかに落とせばいいわけですね。 その後、複数ユーザーCUL、システムCUL、コピーLIB などをリンク(#LINK)した結果、 LMが生成され、CPに読み込まれ実行されるわけですね・・。 (ほんとうに低レベルですみません) | |
Re:CULについて・・ | |
温泉好きのうさぎ 2009-4-22 16:15:00
[返信] [編集] サブプログラム「S」は、COBOL で記述されているプログラムですよね? そして、この「S」が XXSUL に入っているのであれば、このコンパイルの JS を使って CU を作成することが可能です。 ただし、JS を最後まで実行させてしまうと、後半の #LBM が走ることにより、XXCUL から、この「S」が削除されてしまいますので、CBL85 が実行され K C1232: 表示を終了しました (0:NEXT/1:RESTART/2:PRINT) _ A CBL85 01 と表示されたら、画面確認待ちのときに、Enterキーを叩かず、業務放棄してください。 この後、通常どおりこの JS を使って主プログラム「P」をコンパイルしてください。 | |
Re:CULについて・・ | |
IGA 2009-4-22 11:58:00
[返信] [編集] 大変ご親切にありがとうございます。 いつもLMLを生成しているJSは以下のとおりです。 でも、意味がよくわかりません・・。 貼り付ける際、どうしても改行がずれてしまいます。 みずらくてすみません。
| |
Re:CULについて・・ | |
富山清風 2009-4-21 19:42:00
[返信] [編集] ご苦労されていますね。 COBOLソース-->(CBL85)-->CUL(*1) 画面ソース-->(#SFGEN)-->CUL(*2) (*1)n個+(*2)n個-->LINK-->LML #LBMにて、SUL間、CUL間、LML間の移動ができます。 CULへ落とすには:CBL85の出力先をCUL(コンパイルユニットライブラリ)にすれば出きます >LMLへは、ベンダーが残したJSがあるので、実行すると、 >自動的に#CBL85、#LINK、#LBMが走ってくれます。 >CULへ落とすにはどうすればいいのでしょうか? 一般的(?)には「自動的にCBL85、#LINK」のJSと「CBL85のみ」のJS、「#SFGENのみ」のJS、の3種類あり\r メインソースは「CBL85+#LINK」タイプを\r 画面は「#SFGENのみ」タイプを\r サブルーチンは「CBL85のみ」タイプを使用するものと思われます。 「自動的にCBL85、#LINK、#LBM」が入っているJSライブラリに「CBL85のみ」のJSもあるものと思われますが・・・ JS内容を紹介していただければ、もう少し詳しい説明ができますが・・・ 以上 | |
CULについて・・ | |
IGA 2009-4-21 17:29:00
[返信] [編集] 以前大変お世話になりました。 主プログラムを一部修正してコンパイルしたら、 修正箇所とまったく無関係である部分の、画面制御が変わってしまいました。 原因がわからず、ここ数週間ずっと調査してやっとわかりました。 #ABCで、CUL(コンパイルユニットライブラリ)のファイルディレクトリを確認したところ、 主プログラム「P」が呼び出している、サブプログラム「S」の、 CULのCOMPILED日付が、いつの間にかかなり古い日付に戻っていました。 見ればすぐわかる明らかに、異常に古い日付でした。 おそらく前任プログラマーがミスって、古いソースを上かぶせしてしまって、 そのまま放置してしまったかと思われます。 しかたがないので、COBOLソースを最新状態に修正しましたが、 どうすればCULに落ちるのかがわかりません。 大変基礎的なことですみません。 LMLへは、ベンダーが残したJSがあるので、実行すると、 自動的に#CBL85、#LINK、#LBMが走ってくれます。 CULへ落とすにはどうすればいいのでしょうか? 言い訳ですが、 メインフレームが専門だったので、A−VXが詳しくわかりません。 事情があってベンダーとの保守契約を打ち切りました。 コンピュータがわかる社員がわたししかおりません。 素人なので、質問の内容じたい、おかしいかもしれません。 CULとLMLの違いもよくわかっていません。 ユーザーCULには#SFGENによって生成された画面フォーマットと、れいのサブプログラム、 ユーザーLMLには普通の主プログラムが入っています。 | |
Re:外字について(日本語文字拡張セットの説明書のなかの・・・) | |
ターラヤン 2009-4-15 22:28:00
[返信] [編集] もう自己解決したかもしれませんが。 「Expressサーバ外字ファイル」は、NECのExpressサーバ独自の外字ファイル。 A−VXシステムからLAN接続のプリンタやPC/WSエミュレータに外字を表示する のに使われます。 「Windows外字ファイル」は、マイクロソフトのWindowsの 外字ファイルです。 メモ帳やワード、エクセルなどで外字を表示するのに使います。 Windowsの外字ファイルは、古いタイプの「userfont.fon」と フォントの種類ごとに外字を作れる「xxx.TTE」(xxxはEUDCとかいろいろ)という名前の ものがあります。 WindowsXPでも「userfont.fon」「XXX.TTE」両方のタイプの外字が使えるようですが、 Windows標準の外字ツールで外字を作るとXXX.TTEのタイプになるみたいです。 ちなみに「A−VX外字ファイル」は、LAN接続ではないプリンタや昔の専用端末 などで外字を表示するために使われる外字ファイル。 | |
Re:ファイル削除について | |
ねこきち 2009-4-8 13:48:00
[返信] [編集] 温泉好きのうさぎ様。ありがとうございます。#ABCのファイル詳細情報の表示は頻繁に使用しているのに、気づきませんでした。 | |
外字について(日本語文字拡張セットの説明書のなかの・・・) | |
富山清風 2009-4-7 16:34:00
[返信] [編集] お願いします。 NECの日本語文字拡張セットのマニュアルの中に 「A-VX外字ファイル」、「Expressサーバ外字ファイル」、 「Windows外字ファイル」の3種類の外字ファイルが 出てきますが、 「Expressサーバ外字ファイル」と「Windows外字ファイル」の両者の 違いがよくわかりません。 初歩的なことのようなのですが、違いを教えてもらえませんか。 お願いします。 | |
Re:COBOLで日本語のあいまい検索は出来ますか | |
ぴぴ 2009-4-2 13:52:00
[返信] [編集] 富山清風様、ありがとうございました。 **** 部分一致 !”東”! SELECT NCFTKC WHERE ( FTKC-KTNM CHARACTERS WG-N1 ) COUNT IN WG-KAKUNIN . を使い、検索する事が出来ました。 A−VXのCOBOL85言語説明書などを読んだのですが、 わからなかったです。 これからは、過去ログも見てから質問します。 | |
Re:COBOLで日本語のあいまい検索は出来ますか | |
富山清風 2009-4-1 19:57:00
[返信] [編集] http://otd10.jbbs.livedoor.jp/286441/bbs_reply?reply=521 あたりが参考になりませんか? 今回、SELECT命令に関して、 私も以下のコーディングで試して、 うまくできましたので、紹介します。
(注)検索文字列の桁数が複数ある場合(例:”東”,”東京”など) は、上記のコーディングの例ではWG-N1、WG-N2などを 複数用意する必要があるかも。 参考になれば幸いです。 | |
Re:COBOLで日本語のあいまい検索は出来ますか | |
ぴぴ 2009-4-1 11:17:00
[返信] [編集] 温泉好きのうさぎ様、ありがとうございます。 20年間、COBOLの仕事をしていますが、 INSPECT命令を使ったことがありませんでした。 これから、試してみたいと思います。 | |
Re:ファイル削除について | |
温泉好きのうさぎ 2009-3-31 21:27:00
[返信] [編集] #ABC によってアロケートされたファイルか、#ALLOC によってアロケートされたファイルかを見分けるには、#MAP で詳細情報を表示または印字させます。 最初の行に NO. 1 !ID (CID NAME GEN) : ABC-FILE このように表示されますが、ID の直前に「 ! 」があれば、#ABC によってアロケートされたもの、ここが空白であれば、#ALLOC によってアロケートされたものであることがわかります。 最近のOSのバージョンでは、#ABC によってアロケートされたファイルを、#ALLOC によってディアロケートすることはできませんが、逆に #ALLOC によってアロケートされたファイルを、#ABC によってディアロケートすることは可能です。 また、複数索引順編成ファイルについては、#ALLOC によってアロケートされたデータファイルに、#ABC によってキーファイルをアロケートすることはできません。逆も同じであり、同一ユーティリティに限定されます。 当方の環境で、質問者様が行った処理を再現したところ、 #ALLOC によって複数索引順編成ファイルのデータファイルおよびキーファイルをアロケートした後、 #ABC によってキーファイルのディアロケートは可能でしたが、 #ABC によってキーファイルをアロケートしようとしたところ、「ファイル属性エラー」となりました。 古いOSのバージョンの場合、このあたりのチェックがかなりゆるかったのではないでしょうか。 | |
Re:COBOLで日本語のあいまい検索は出来ますか | |
温泉好きのうさぎ 2009-3-31 17:25:00
[返信] [編集] INSPECT 命令を使えばいいのではないでしょうか。 書き方の例 INSPECT aaaa TALLYING nnnn FOR ALL xxxx. aaaa : 検査される項目 nnnn : 出現回数のカウンタ (実行前にゼロクリアしておくこと) xxxx : 検査したい項目 aaaa および xxxx は、PIC X の基本項目で定義します。PIC N は不可なので再定義等で回避します。 xxxx は、定数で指定することも可能ですが、日本語の場合 NC”漢字” は不可です。”漢字” とだけしてください。 実行後、出現回数の値を調べることによって、結果の有無がわかります。 また、aaaa および xxxx は、部分参照させることも可能ですから、工夫することによって、可変長の検索ができます。 (例) INSPECT aaaa(bb:cc) TALLYING nnnn FOR ALL xxxx(1:yy). (意味) aaaa の bb バイト目から cc バイトの長さの範囲で、xxxx の yy バイトの長さの項目を検査する。 | |
COBOLで日本語のあいまい検索は出来ますか | |
ぴぴ 2009-3-31 16:05:00
[返信] [編集] RDBQの検索で例えば会社名に「東」が入っているデータを検索する時は、!”東”!とすると「東京株式会社」、「株式会社東京」などが表示されます。 COBOLのプログラムで同じ事が出来ますか? 1件データを読んで、会社名をワークに落として、 OCCURS 30 PIC N(01)などと定義して、ひとつひとつ比較するしかないのでしょうか? SELECT命令では、あいまい検索が出来ないと思ったのですが、出来る方法はありますか? | |
Re:ファイル削除について | |
ターラヤン 2009-3-31 1:46:00
[返信] [編集] ねこきちさん、こんにちは。 #ABCの方が高機能で、#ALLOCでは作れないファイルがある。 そういった#ABCでしか作れないファイルを#ALLOCで削除したりすると、 何か不都合があるかもしれない。 基本的には、#ALLOCで作ったファイルは#ALLOCで変更/削除などを行い、 #ABCで作ったファイルは#ABCで変更/削除した方が良い、 というような話を昔聞いたことがあります。 複数索引順編成のキーファイルの話ですが、特に手順として書いていないようですが、 キーの再生成はおこなったのですよね? | |
Re:PIFからの#SWRIT;について | |
ターラヤン 2009-3-31 1:24:00
[返信] [編集] とりあえず出力はできるようになったようで、おめでとうございます。 フロッピーディスクのファイルはグローバルファイルで、 今回CIDなしでPIFを作ったので、このファイルもグローバルファイルですね。 PIFを作るCIDと印字要求をかけるCIDが違うと、印字要求時にエラー(U2209)になります。 #SWRIT実行時にエラーになるとしたら、#SWRITから見て、PIFが見れない、つまり CIDが異なるのでアクセスできない状態になっている、 ということだと思いますが・・・ PIFを作るのと#SWRITを起動するのは同じオペレータなのですよね・・・ ここがよくわからないところ。 もしかしたら、原則としてPIFはグローバルで作らなければならないのか? (私は今まで気にせずにCID有りでPIFを使ってましたが、それは間違い?) | |
ファイル削除について | |
ねこきち 2009-3-30 16:23:00
[返信] [編集] #ALLOCで登録されたファイルか、#ABCで登録されたファイルなのか不明なのですが、このファイルを削除する際、#ALLOCは、#ALLOCのデリートで、#ABCで登録されたファイルは、#ABCの削除で 処理しないと、後ほど、ファイルが読めないとか、同名ファイルが登録できないとかって事に ならないでしょうか? 以前、#ALLOCで登録した複数索引順編成ファイルのkey領域を削除(#ABC)し、再確保(#ABC)したところ、ファイルが読めない事がありました。 この件についてご存知の方、宜しくお願いします。 | |
Re:OCFの操作員名 | |
ねこきち 2009-3-30 16:12:00
[返信] [編集] ありがとうございます。 やってみました。大丈夫そうです。 | |
Re:PIFからの#SWRIT;について | |
IGA 2009-3-30 14:35:00
[返信] [編集] MSDから出ました! MSD002にファイル名=ABC、で作成したのですが、 ためしに、グローバルIDでログインして、 CID=スペースで、 ファイルを作成(アローケート)してみました。 普段使用している別のCID=XX、でログインしなおし、 #SPOOL; ↓ 複写 ↓ 印字要求 をしたら出ました! なぜだかわかりません。 定期業務で使用したいので、 原因調べます。 ちょっと気になるのが、 スプールファイル SYS@SPXXXX は、 CID=スペース、つまり、 グローバルで作成されていることです。 ●帳票を作ったジョブのCID ●スプールファイル(SYS@SPXXX)のCID ●PIFファイルを作成するCID(MSDXXXとかFDUXXX) ●印字用要求をかけるCID ●スプールライトを発行するCID これらの関係がなにかありそうです。 | |
Re:PIFからの#SWRIT;について | |
IGA 2009-3-30 10:16:00
[返信] [編集] IGAです。ほんとにすみません。 >同じ名前のファイルが同じハードディスク(MSDxxx)にある ということはありませんか。 同じファイル名のPIFがあると、ライタが間違って別の同名ファイル を探しに行って「ファイルが無い」と言われるかもしれません。 鋭いご指摘です。可能性は薄いとは思いますが、 再確認する必要はあると思います。 CIDのからみも怪しいです。CIDをグローバルにしたり、 変えたり、色々実施してみます。 ありがとうございました。 また結果報告させていただきます。 |
新規投稿 | スレッド表示 | ツリー表示 | 投稿順表示 | i-mode | トップ |
BluesBB ©Sting_Band