1:CULについて・・ IGA 04/21 17:29 以前大変お世話になりました。 主プログラムを一部修正してコンパイルしたら、 修正箇所とまったく無関係である部分の、画面制御が変わってしまいました。 原因がわからず、ここ数週間ずっと調査してやっとわかりました。 #ABCで、CUL(コンパイルユニットライブラリ)のファイルディレクトリを確認したところ、 主プログラム「P」が呼び出している、サブプログラム「S」の、 CULのCOMPILED日付が、いつの間にかかなり古い日付に戻っていました。 見ればすぐわかる明らかに、異常に古い日付でした。 おそらく前任プログラマーがミスって、古いソースを上かぶせしてしまって、 そのまま放置してしまったかと思われます。 しかたがないので、COBOLソースを最新状態に修正しましたが、 どうすればCULに落ちるのかがわかりません。 大変基礎的なことですみません。 LMLへは、ベンダーが残したJSがあるので、実行すると、 自動的に#CBL85、#LINK、#LBMが走ってくれます。 CULへ落とすにはどうすればいいのでしょうか? 言い訳ですが、 メインフレームが専門だったので、A−VXが詳しくわかりません。 事情があってベンダーとの保守契約を打ち切りました。 コンピュータがわかる社員がわたししかおりません。 素人なので、質問の内容じたい、おかしいかもしれません。 CULとLMLの違いもよくわかっていません。 ユーザーCULには#SFGENによって生成された画面フォーマットと、れいのサブプログラム、 ユーザーLMLには普通の主プログラムが入っています。 2:Re:CULについて・・ 04/21 19:42 ご苦労されていますね。 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内容を紹介していただければ、もう少し詳しい説明ができますが・・・ 以上 3:Re:CULについて・・ IGA 04/22 11:58 LML
4:Re:CULについて・・ 温泉好きのうさぎ 04/22 16:15 サブプログラム「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」をコンパイルしてください。 5:Re:CULについて・・ IGA 04/24 10:10 ありがとうございます! おっしゃるとおり、「S」は COBOLで記述されており、 XXSULに入っているプログラムです。 その後、多忙の中、マニュアルを熟読し、 机上でだいたいの理屈は理解しましたが、 いただいご回答が、わたしの想像していたことと 一致したので大変よろこんでおります。 お恥ずかしいことですが、 ようするに単純なことで、 CBL85でコンパイルしたものを、SULか、 CULいずれかに落とせばいいわけですね。 その後、複数ユーザーCUL、システムCUL、コピーLIB などをリンク(#LINK)した結果、 LMが生成され、CPに読み込まれ実行されるわけですね・・。 (ほんとうに低レベルですみません) |