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

NECオフコン関連
オフコン一般
情報
[掲示板に戻る全部  1-  最新50
1 CULについて・・
IGA 2009-4-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について・・
富山清風 2009-4-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 2009-4-22 11:58  [返信] [編集]

大変ご親切にありがとうございます。
いつもLMLを生成しているJSは以下のとおりです。
でも、意味がよくわかりません・・。

貼り付ける際、どうしても改行がずれてしまいます。
みずらくてすみません。





// ◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎ ;
// ◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎ ;
// ◎◎◎                                                          ◎◎◎ ;
// ◎◎◎      COBOL                                          ◎◎◎ ;
// ◎◎◎                                                          ◎◎◎ ;
// ◎◎◎                                                          ◎◎◎ ;
// ◎◎◎                                     SUF = XXSUL          ◎◎◎ ;
// ◎◎◎                                     LBF = XXLIB          ◎◎◎ ;
// ◎◎◎                                     CUF = XXCUL          ◎◎◎ ;
// ◎◎◎                                     PRD =                ◎◎◎ ;
// ◎◎◎                                     NXT = LINK           ◎◎◎ ;
// ◎◎◎                PRG=&0                              ◎◎◎ ;
// ◎◎◎                GFC=&1                              ◎◎◎ ;
// ◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎ ;
// ◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎ ;
/SET SKIP;                                                               
/ASSIGN OEFN=USERCUL,EFN=XXCUL;                                          
/ASSIGN OEFN=USERLML,EFN=XXLML;                                            
/RUN CBL85,SIZ=63,SSW1=ON,PRI=7;                                           
SUD=MSD_SUF=XXSUL_LBD=MSD_LBF=MALIB_CUD=MSD   _CUF=XXCUL_                  
WKD=TEM001_WSZ=8000_PRD=STN_PRG=&0_MOD=REP_DBG=NO_OPT=YES_                 
DLM=ALL_BUF=MINIMUM_CMO=COBOL74_RNG=YES_RRM=MOVE-MODE_                     
SLM=SOU_SSN=S00_RSN=S00_STN=N25_USG=MULTI-SEPARATE_                        
DIO=NO_NXT=LINK_                                                           
/> ;                                                                      

/> ;                                                                       
/RUN #LBM,FIL=SYS@LML,DEV=MSD,SIZ=63;                                      
PRD=PRN999_MDE=MSD_MFI=USERCUL_ACT=DEL_SCS=NO_NAM=&0_NAM=_ACT=999_DIR=NO_  
MDE=MSD_MFI=XXLML_ACT=CHA_NAM=&0_GFC=&1_                                   
MDE=END_                                                                   
/> ;                                                        


4 Re:CULについて・・
温泉好きのうさぎ 2009-4-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 2009-4-24 10:10  [返信] [編集]

ありがとうございます!

おっしゃるとおり、「S」は

COBOLで記述されており、

XXSULに入っているプログラムです。



その後、多忙の中、マニュアルを熟読し、

机上でだいたいの理屈は理解しましたが、

いただいご回答が、わたしの想像していたことと

一致したので大変よろこんでおります。

お恥ずかしいことですが、

ようするに単純なことで、

CBL85でコンパイルしたものを、SULか、

CULいずれかに落とせばいいわけですね。

その後、複数ユーザーCUL、システムCUL、コピーLIB

などをリンク(#LINK)した結果、

LMが生成され、CPに読み込まれ実行されるわけですね・・。

(ほんとうに低レベルですみません)
[掲示板に戻る全部 前100 次100 最新50
BluesBB ©Sting_Band