AJOBCとAJOBM

1:AJOBCとAJOBM
クロスケ 05/29 20:59
いつも参考にさせてもらっています。

夜間にカセットへボリューム単位(MSD000,MSD001)の
バックアップを実施したく、カレンダーファイル、結果ファイル
をAJOBMで定義し、毎日実施される様に日付に999999を指定して
JSの登録をしました。
登録先はSYS@JSLです。
AJOBCは常に実施される様に起動したままにしています。

しかし、起動結果をみてみますと、いつもステータスがF3(パラメータエラー)となってしまいます。
ちなみにJSの不備かと思い、ボリュームをMSD002、MSD003に変えて
直接JSを実施してみると正常に稼働します。

カレンダーファイル、結果ファイルはALLでジョブ数100件で
定義しています。
何か他に設定不足はあるでしょうか?
御教示頂けると幸いです。
宜しくお願い致します。

7:Re: AJOBCとAJOBM
クロスケ 06/09 17:32


R



,,


V


8:Re: AJOBCとAJOBM
温泉好きのうさぎ 06/10 01:01
かなり勘違いされておられるようです。私の説明が言葉足らずだったようで申し訳ありません。

/RUN #BKUP,FIL=SYS@JSL,DEV=MSD;
これだとSYS@JSLにある#BKUPというJSが実行されることになってしまいます。
まあ、「#BKUP」という名前をつけたJSを作ってSYS@JSLに登録しても間違いとは言えないのですが、あまり好ましくありません。

正しくは #BKUPは、SYS@LMLにありますので、
/RUN #BKUP,FIL=SYS@LML,DEV=MSD;
/RUN #BKUP,FIL=SYS@LML;
/RUN #BKUP,DEV=MSD;
/RUN #BKUP;
上記のいずれかの書き方でなければ実行できません。どの書き方でもかまいません。

なぜどの書き方でもよいのかを簡単に説明しますと、
FIL=SYS@LML の部分は、システムファイル (つまりSYS@LMLまたはSYS@JSLまたはSYS@PML) は省略可能なので、書いても書かなくてもよく、
DEV=MSD の部分は、実行ファイルがSRV (通常の場合MSD000) 上にあるときは省略可能なので、通常の場合SYS@LMLはMSD000にありますのでこれも書いても書かなくてもよいので、上記のような省略されたいろいろな書き方ができます。

以上は私が6月7日の投稿で指摘したことと直接関係ないことで、私が言いたかったのは、#AJOBCで実行されるJS文の中に「//」で始まる行が含まれていませんか?ということです。
「//」で始まり「;」で終わる行は、その間に書かれている文字列がコメントとしてJSの実行時に画面に表示されます。前回投稿で「ディスプレイ文」と表現したのはこのことです。
この画面表示が画面切り離し状態でJSが実行された場合、表示待ちで止まってしまいますので、#AJOBCから起動しようとしたら失敗してしまうのではないかと考えられます。ただし、この場合に、ステータスがF3 (パラメータエラー) となるかどうかは不明です。手元の環境ですぐにテストできればよいのですが、あいにく深夜になってしまいました。そのうち、再現テストしてみます。

できれば、現地に行ってJSを見て、いろいろと解説してあげたいものです。


9:Re: AJOBCとAJOBM
 06/11 12:22
一部確認してみましたので、報告します
Case1:エラーの発生するJS:F3 (マニュアルの通り)
Case2:JS自体が存在しない場合:F2 (マニュアルの通り)
Case3:OCF関係の不一致:F3 

そこで、
もうひとつ確認ですが、(OCFにはあまり詳しくないので間違っているかもしれませんが)
エミュレータ立ち上げ時にカンパニコード(2桁)/オペレータコード(3桁)などの入力はありますか?
もし、あるとすれば、どのような指定ですか?
上記に関しては機密関係に触れることもあるので、
厳密でなくても、なんとなく、こんなふうに・・・的に。

以前の確認質問の回答で、#AJOBMの指定で「カンパニーID〜パスワード・・・空白(指定無し)」です。
と回答しておられましたが、チェット気になったももので。
エミュレータ立ち上げ時にカンパニコード/オペレータコードなどの入力がある場合は、
#AJOBMの指定で「カンパニーID〜パスワード・・・空白(指定無し)」の部分の変更が必要なのでは?


10:Re: AJOBCとAJOBM
クロスケ 06/11 17:13
温泉好きのウサギ 様

申し訳ございませんでした。
かなり勘違いしていました。
”//”はJS中には記述しておりません。
舞い上がってしまいご迷惑をかけました。
”/RUN #BKUP;”で始まり”/>;”で
終わっています。


富山清風 様

返信ありがとうございます。
エミュレータ立ち上げ時にオペレータCD、カンパニーID共
指定はしておりません。
なので#AJOBMの方にもカンパニーID〜パスワードも
指定しておりません。
指定していないのにSGのOCF指定が”(010,10)”に
なっている関連なのでしょうか?
SGのOCF指定を”NO”にした場合、現存する他のJSで
オペCDを省略した指定のものがエラーとなってしまうと
それはそれでとても困るのです。
オペCDを設定してエミュレータ立ち上げ時に皆に入力して
もらい、AJOBMでも該当するオペCDを指定して実行して
みる。。。というのがベストなのでしょうか?

11:Re: AJOBCとAJOBM
 06/11 19:00
(OCFにはあまり詳しくないので間違っているかもしれませんが)

「エミュレータ立ち上げ時にオペレータCD、カンパニーID共指定はしておりません。」とは、
「画面の入力待ちがない」とうことか、または、
「画面の入力待ちになるが、リターンで飛ばす」のどちらなのでしょうか?

回答の文章からすると、「画面の入力待ちがない」とおもわれます。
私のつたない経験からだと、
「SGにてOCF設定がある」と「画面の入力待ちがない」は矛盾するので、???です。

他の賢者の回答を待ちましょう。


12:Re: AJOBCとAJOBM
クロスケ 06/11 21:08
私のつたない質問にも皆様が真摯に対応して下さり
いつも有難く感謝しています。
有難うございます。

エミュレータ立ち上げ時には、画面入力待ちがありません。
接続しますと、直ちにコマンド入力可能(RUN表示)に
なります。
オペ等入力画面には移動しません。

ちなみにAVXのバージョンは01です。

どなたかこのような現象を体験された方がいらっしゃったら
アドバイスして頂ければ嬉しいです。
宜しくお願い致します。

下記にJSを記述致します。

 /RUN #BKUP;
ACT=BACKUP_OPT=YES_LST=ERROR_PRD=SPOOL_JRC=NO_
BUN=BACKUPVOL_WBF=NO_DSP=NO_APE=NO_
EOD=NO_VOL=NO_MOD=INCLUDE_FMD=NO_ODE=CTU000_
IDE=MSD000_CID=!_FIL=!_
IDE=MSD001_CID=!_FIL=!_
FIL=999_
IDE=END_
/> ;

以上です。

13:Re: AJOBCとAJOBM
tahrayan 06/13 00:23
私のサーバで試してみました。

試した環境:620Ai&A-VX01 R1.0

◆問題のJSをBKという名前でMSD000、SYS@JSLに登録。

(1)SGのIJC=(10)、OCF=NO
 #AJOBC常駐し、#AJOBMで以下設定
 日付&時刻  10分ぐらい先の時刻
 JS名     BK
 カンパニID  なし
 オペレータID なし
 パスワード  なし

 ●結果:2回実行して、2回共にJS実行成功


(2)SGのIJC=(10)、OCF=(010,10)
 SGでOCF設定したが、カンパニID、オペレータID共に実際に
 登録しない。つまり、エミュレータ起動時にカンパニIDなど
 の入力無し。

 #AJOBC常駐し、#AJOBMで以下設定
 日付&時刻  10分ぐらい先の時刻
 JS名     BK
 カンパニID  なし
 オペレータID なし
 パスワード  なし

 ●結果:2回実行して、2回共JS実行失敗(エラーはF3)


(3)SGのIJC=(10)、OCF=(010,10)
 上記と同様に、カンパニID、オペレータID共に実際に
 登録しない状態

 #AJOBC常駐し、#AJOBMで以下設定
 日付&時刻  10分ぐらい先の時刻
 JS名     BK
 カンパニID  半角空白2個
 オペレータID 半角空白3個
 パスワード  なし

 ●結果:JS実行失敗(エラーはF3)


(4)SGのIJC=(10)、OCF=(010,10)
 適当にカンパニIDとオペレータIDを登録。エミュレータ起動時
 にカンパニIDなどの入力が有る。

 #AJOBC常駐し、#AJOBMで以下設定
 日付&時刻  10分ぐらい先の時刻
 JS名     BK
 カンパニID  なし
 オペレータID グローバルオペレータ
 パスワード  なし

 ●結果:JS実行成功





14:Re: AJOBCとAJOBM
クロスケ 06/13 17:59
お忙しい所、色々お手数をお掛けして申し訳ありませんでした。

とてもわかり易い回答を下さり、感激しております。

AJOBC,AJOBMではSGでOCF有りと指定した場合、コントロールFを
何らかの形でチェックしにいくと考えていいのですね。。。

操作する業務担当者へのアナウンスも必要になってくる事なので
よく相談して、処理を再考してみます。

ご回答に携わって下さった皆様本当に有難うございました。

今後共、これに懲りず宜しくお願い致します。
そしていつまでもこのサイトを続けて頂きます事、切に願います。

15:Re: AJOBCとAJOBM
tahrayan 06/13 23:03
クロスケさん、こんにちは。

昨日は夜遅かったので報告だけとなってしまいました。

昨日試したのは、普通のやり方でやってみただけです。
もしかすると、オペレータIDやカンパニIDの入力値に特別な値を入れるとか、
JSを工夫することによって出来るのかもしれません。

あるいは、COBOLで10秒ごとぐらいに時刻を見に行くようなプログラムを自作するという手はあるかもしれません。

16:Re: AJOBCとAJOBM
クロスケ 06/15 17:23
ターラヤン 様

夜遅くに有難うございました。

色々組み合わせを考え、業務が停止する
時期を見計らって検証してみます。

又、これに懲りず宜しくお願い致します。

1-

BluesBB ©Sting_Band