NECのオフコン情報掲示板(ノウハウ系)
NECのオフコンを活用するためのノウハウを話し合うための掲示板です。 |
新規投稿 | スレッド表示 | ツリー表示 | 投稿順表示 | i-mode | トップ |
Re: メニューから実行されるJCLもしくはプログラムのIDが知りたいです。 | |
きもも 2012-5-9 9:18:24
[返信] [編集] ありがとうございます。 #MENUMでも確認してみます。 (画面が白地ではありません) | |
Re: メニューから実行されるJCLもしくはプログラムのIDが知りたいです。 | |
きもも 2012-5-9 9:16:41
[返信] [編集] ありがとうございます。 >メニューはパラメータ型と#MENUMなどにより・・・ とのことですが XXX@PML など タイプ=PMがあれば そのディレクトリを確認するなどで 追跡できるでしょうか? | |
Re: JCLをテキスト化できますか? | |
EXCHANGE 2012-5-9 0:58:57
[返信] [編集] ☆ COBOLの場合はどのようにしてテキスト化されたのですか? ☆ 最近のA−VXに付属する基本ツールは存じておりませんが、 別売の「avxRDBアクセスキット」に付属するユーティリティを使えば、COBOL、JCLともtxtファイルにまとめて変換できます。 ☆ あと。。。。馬鹿馬鹿しい方法ですが。。。。 JCLはどれも短いと思いますので、一本ずつ#TEDITで呼び出して表示しておいて、 エミュレータ「編集」−>画面まるごと「範囲指定」−>NotePadに貼り付け−>次画面を表示 以下、コピー貼り付けを繰り返す。 なんて、ちょっと面倒すぎるかなあ。。。 | |
Re: JCLをテキスト化できますか? | |
ターラヤン 2012-5-9 0:53:31
[返信] [編集] こんにちは。 COBOLプログラムと同じ方法でできます。 1.#LBMなどを使って、1レコード80バイトの順編成ファイルに抽出 2.#NFCNVでWindows側に出力 | |
Re: メニューから実行されるJCLもしくはプログラムのIDが知りたいです。 | |
EXCHANGE 2012-5-9 0:45:28
[返信] [編集] ☆ メニューはパラメータ型と#MENUMなどにより変換されたメニューオブジェクト型の2通りあります。 ☆ パラメータ型のソースをお持ちでしたら、テキストエディッタで読み込めば各メニュー番号から直接的(第一次的に)に呼び出している」JCL、LMなどは分かります。 オブジェクト型しかなければ、実行させてみるしか。。JCLは分かりません。JCLの中のジョブステップ毎に呼び出されたLM、PM(パラメータ)しか判読できないでしょう。 ☆ いずれにせよ、分かるのは直接的(第一次的)に呼び出されるJCL、LMなどのみです。 ☆ というのは、各JCLからLMを呼び出せるだけでなく、 * JCLから子JCLを呼び出す。 * LMからJCL、PMを呼び出す。 * LMから他のLMを呼び出す。 * LMからサブプログラムを呼び出す。(共通処理などが多い場合このパターンが考えられる) * LMからWindowsのexeやバッチファイルを呼び出す。 等々、2次的にはいろんなパターンがあり、ソフトウエア開発者のやり方次第です。 ☆ 分析の目的が乗せ替えなのか、新規追加開発なのかは分かりませんが、いずれにせよ2次的3次的なつながりを調べるのであれば、各JCL,COBOLプログラムなどのソースファイルをお持ちでなければよく分からないと思います。 | |
Re: メニューから実行されるJCLもしくはプログラムのIDが知りたいです。 | |
ターラヤン 2012-5-9 0:38:30
[返信] [編集] こんにちは メニューですが、#MENUMで作ったものならば #MENUMで調べることができます。 「変更」を選べば、現在の値を見ることができます。 画面が白地のメニューならば、新システム体系ユーティリティの メニュー保守で見た方がいいです。 | |
JCLをテキスト化できますか? | |
きゃん 2012-5-8 21:17:28
[返信] [編集] JCLをCOBOLプログラム同様テキスト化できますか? ご存じの方教えてください。 | |
メニューから実行されるJCLもしくはプログラムのIDが知りたいです。 | |
きもも 2012-5-7 18:32:05
[返信] [編集] 現在、A-VX内のプログラム分析を行っております。 メニューからどのプログラムが実行されるかわからず困っています。 メニューから処理を実行するとプログラムIDが表示されるのですが共通画面が動くものも多く後処理がわかりません。 どなたか教えてください。 #MENUM は 使えますか? | |
Re: RDBに項目追加をしたいのですが、DDFの修正方法がわかりません | |
EXCHANGE 2012-5-4 5:04:08
[返信] [編集] ☆ A−VXの場合、 (1)SYS@DDFにマージされたDB定義 (2)COBOLで使用するCOPY句定義 (3)MIX(キーなし複数順編成)で領域確保された実データ 上記3つは別々に作成されます。 ☆ AVX以外の他のデータベースの場合、create tableコマンドでレイアウト定義と実領域が同時に作成され、COBOLからもCOPY ALL FORMATS OF DATABASE 式にテーブル定義を直接参照できるようになっています。(もっとも最近はAVXもCOBOLからの直接参照はできるようになっているみたいですが。。) ☆ (1)〜(3)が別々で、仮にズレていても定義時に警告が出ないため、定義間のズレによってプログラム実行時に不具合が起こらないように気をつけて開発する必要があります。 ☆ 今回は既存のテーブルの最後尾のFILLER部分に新規項目を追加するということでしたよね。 ☆ それでしたら、ローカルの HOGEHOGE-DDF --> SYS@DDFへのマージをおこなっても、修正を施していない既存プログラムの実行には影響は無いはずです。 ☆ * COPY句の最後尾に項目を追加してFIILERのバイト数を減らす。 * プログラムを修正もしくは新規開発する。 * 項目が追加されたテーブルをSYS@DDFにマージする といった一連の開発手順でよいと思います。 ☆ ただし、以下の点は重要なので、十分考慮しておいてください。 ☆ 追加項目が数字項目の場合、既存のデータのFIILER部分に数字以外の項目が入っている場合があります。修正後のプログラムがこの部分を使用すると、実行時に NON-NUMERICエラーを引き起こす可能性があります。COMP−3項目は特に要注意です。 あらかじめRDBQの一括更新などで、数字0をセットして初期化しておくことをお勧めします。 ☆ 追加項目が漢字項目の場合はRDBQでの初期化ができないようですので、簡単な初期化プログラムを作成してあらかじめINITIALIZE命令などで初期値をセットしておくほうがよいでしょう。運用開始後に漢字として正しくないものが入っているレコードのみを抽出して初期化するのはかなり難しいです。 (追伸)RDBQのことを申しましたが、AVXの開発初心者の方でしたら「RDBQ」を使わず、はじめから「RDBQ2」の方をお使いになることをお勧めします。 RDBQ2の方が機能的にも操作的にも格段に優れているからです。 なお、ユーザとして使われる方にはRDBQもRDBQ2もともにお勧めしません。SKYLINKなどをお勧めします。 (AVX −> OPEN移行後のことを考慮して、というのが理由です) | |
Re: RDBに項目追加をしたいのですが、DDFの修正方法がわかりません | |
ターラヤン 2012-5-2 20:12:11
[返信] [編集] こんにちは。 >・ユーザーDDFに項目追加後、併合は、普通に日中、基幹業務稼働中に実行しても、 >問題ないでしょうか。 >SYS@DDFは、RDBQとかskylinkくらいしか影響はないような気がしますが・・。 業務稼働中はやらない方がよいのではないでしょうか。 WindowsやUNIXでも、日中基幹業務がガンガン動いている最中にOracleの テーブル作成とかはしないと思います。 併合によって業務に使っているデータが壊れることは無いと思います。 SYS@DDFに併合するということは、SQL文のcreate table xxxに相当するので 単にテーブルの定義を行うだけです。 でも普通はシステムに変更を加えるようなときはバックアップは取っておきますよね。 プログラム開発の順番は自由ですが、普通は以下のような感じで行います。 1.表定義保守(#DDM)の表定義で、ユーザDDFに表&テーブル定義。 2.表定義保守(#DDM)のライブラリ出力で、COBOLのレコード記述項用の ソースを出力。 3.COBOLでプログラム作成。このとき2で作ったソースをレコード記述項用と してCOPY文記述。 4.表定義保守(#DDM)の併合で、ユーザDDFからSYS@DDFに表定義を併合。 このとき一緒に実ファイルの領域確保も行う。 1は、これからプログラムを作るので、まだ実業務環境には表定義も実ファイルも作らずに、 準備だけしておく。 2は、1で定義した情報を元にレコード記述項の情報を作る訳で、システム上の情報とCOBOL プログラム上のレコード記述項の情報を常に一致させるためには必須。レコード定義のCOPYを 手で直したり、直接COBOLソース上に記述したりしていると、プログラムを改修したりした時に、 システムとプログラムのテーブル情報が一致しなくなる原因になります。(とはいえ、レコード 記述項を手で直したりはよくやっていますが。) 実際に実業務環境に組み込んでもOKとなったら、4でユーザDDFの情報をSYS@DDF に併合することになります。(テスト環境があれば、ユーザDDFからテスト環境のサーバの SYS@DDFに併合してテスト実施、テスト終了後に実業務環境のSYS@DDFに併合して 運用開始という形になるのかもしれません。) 基本的にこのとき#DDMで実ファイルの領域確保も同時に行います。(#ABCとかで作る 訳ではない) | |
Re: RDBに項目追加をしたいのですが、DDFの修正方法がわかりません | |
iga 2012-5-2 13:52:49
[返信] [編集] こんにちは。 ご親切にありがとうございます。 やはりSYS@DDFに併合しないとだめなんですね。 #DDFのファンクションに、「併合」というのはあったのですが、 それを実行しても大丈夫でしょうか? というのも、 ・ユーザDDFに項目追加後、併合を実行したら、何か既存の本番データが上書きされて、消えてしまうことはないのでしょうか ・ユーザーDDFに項目追加後、併合は、普通に日中、基幹業務稼働中に実行しても、問題ないでしょうか。SYS@DDFは、RDBQとかskylinkくらいしか影響はないような気がしますが・・。 突然稼働中のプログラムは暴走したり、 障害起きたりしませんでしょうか。 まずはユーザーDDFに追加 → SYS@DDFに併合 してから、じっくり cobolプログラムの修正をしようかと思っているのですが・・。 その際、RDBファイルのcopy句も修正します。 | |
Re: RDBに項目追加をしたいのですが、DDFの修正方法がわかりません | |
富山清風 2012-4-26 9:36:03
[返信] [編集] igaさん がんばってますね。 >ユーザDDFを修正したのですが、 >もしかして、SYS@DDFに併合しないといけないのでしょうか そのとおりですね。 SYS@DDFに併合しないと、RDBQにも、skylinkにも表示されません。 また、私の認識では、 COBOLのプログラムでは、「表定義の有無」は関係しますが、 「表定義の項目名」などは関係なかったように思っています。が、・・・ とにかく、SYS@DDFに併合すれば、解決すると思いますので、 がんばって下さい。 | |
RDBに項目追加をしたいのですが、DDFの修正方法がわかりません | |
iga 2012-4-25 13:43:42
[返信] [編集] こんにちは。たまに拝見して参考にさせていただいておりますオフコン素人です。 よろしくお願いいたします。 RDBのFILLERに項目追加方法がわかりません。 #DDMで、→表定義→データディクショナリファイル名、 で呼び出して、FILLERに追加して、DDF出力、しました。 が、RDBQで見ても、skylinkにも追加項目が表示されません。 もちろんプログラムでも認識されません。 なにか作業も漏れているでしょうか。 ユーザDDFを修正したのですが、 もしかして、SYS@DDFに併合しないといけないのでしょうか? | |
Re: A−VXから直接docuworksプリンタに印刷なんて無理ですよね。 | |
えくれあ 2012-4-19 16:58:59
[返信] [編集] BizReporting及びPrintBrigeを使用(経由)しないとプリンタに印字できないのでしょうか? | |
Re: ソースユニットライブラリメンバのコンパイル | |
EXCHANGE 2012-4-14 7:15:33
[返信] [編集] ☆ 追伸: JSCBLはSYS@JSLをアロケートしてここに格納しておいてください。 RUN=^^^^^にて実行する場合、 JSCBLをローカルのJSライブラリに格納してしまうと、 RUN=のパラメータの後尾に FIL=(JSCBLの格納されているライブラリ名), DEV=(格納先デバイス名)などの指定が必要です。 たとえば、 RUN=JSCBL,(hogesource,hoge-SUL),FIL=hogehoge-JSL,DEV=MSD; | |
Re: ソースユニットライブラリメンバのコンパイル | |
EXCHANGE 2012-4-14 6:51:11
[返信] [編集] ☆ といっても、マニュアル参照!というだけでは 全く取り付くしまがないでしょうから、 ひとつだけ簡単なコンパイル用のJCLを掲載します。 ただし、特定の環境下でのパラメータ指定ですので、マニュアルを参照してパラメータの指定を考えてください。 (JSCBL)見本 /RUN CBL85,SSW1=ON; SUD=MSD_SUF=&1_LBD=MSD_LBF=COPY句の格納先ライブラリ名等_CUD=MSD_CUF=USERCUL_ WKD=TEMPORARY_WSZ=9000_PRD=STN_ PRG=&0_MOD=REPLACE_ DBG=SOURCE_OPT=YES_SCK=NO_SCH=_DLM=ALL_ BUF=STANDARD_CMO=NATIVE_LNT=NO_ RNG=YES_RRM=MOVE-MODE_SLM=SOURCE_SSN=_RSN=_STN=ANK_ USG=MULTI-SEPARATE_SIZ=_DIO=YES_NXT=LINK_ /> ; コンパイル実行時は、 RUN=JSCBL,(ソースメンバ名,メンバが格納されているソースライブラリ名); コンパイル成功時は確認後、続けてリンカが呼び出されてリンクされ、出来上がったロードモジュールはUSERLMLへ格納される。 ☆ 内容に誤りがあれば適当に修正してください。 | |
Re: ソースユニットライブラリメンバのコンパイル | |
EXCHANGE 2012-4-14 6:16:46
[返信] [編集] > ソースユニットライブラリ(SUL)メンバのコンパイル方法を教えて頂けますでしょうか ☆ ちょっと一言では説明しづらいです。 「COBOL85言語解説書」「COBOL85プログラミング手引書」「ユーティリティ説明書」あたりをご覧下さい。他のCOBOLでのご経験がおありであればより理解しやすいと思います。 > コンパイル後は自動でロードモジュールライブラリに格納されるのでしょうか? ☆ コンパイル−>リンクと言う順序でロードモジュールを生成しますので、どこへ格納されるかは、基本的にはリンカのパラメータ指定によると思います。 なお、コンパイラのNXT=LINK_ の指定にてUSERLML(事前に別途アロケート必要)へ格納されたと思います。 >パラメータライブラリ(PML)のメンバを ロードモジュールライブラリ(LML)へ追加する(コンパイル?)事も可能ですか? ☆ パラメータの中には (1)メニューパラメータ (2)SMARTパラメータ (3)#ABCなどのパラメータ などがありますが、 メニューパラメータは#MENUMにて翻訳すればLMLへ追加できたと思います。翻訳せずにパラメータのままで利用する(2)(3)はできないと思います。 ☆ 最近はあまり首を突っ込んでいませんので間違った部分があるかもしれません。 | |
ソースユニットライブラリメンバのコンパイル | |
えくれあ 2012-4-13 9:45:41
[返信] [編集] ソースユニットライブラリ(SUL)メンバのコンパイル方法を教えて頂けますでしょうか。 また、コンパイル後は自動でロードモジュールライブラリに格納されるのでしょうか? それから、パラメータライブラリ(PML)のメンバを ロードモジュールライブラリ(LML)へ追加する(コンパイル?)事も可能ですか? | |
Re: ロードモジュールライブラリ(LML)のメンバ追加 | |
EXCHANGE 2012-4-13 3:47:53
[返信] [編集] ☆ 本HPの中の #LBMの説明をご覧下さい。 http*//www.offcom.jp/modules/amanual/index.php/uti/at/lbm/lbm01.html | |
ロードモジュールライブラリ(LML)のメンバ追加 | |
えくれあ 2012-4-12 17:11:44
[返信] [編集] オフコン初心者です。 ロードモジュールライブラリ(LML)にメンバを追加する方法を教えて頂けませんか。 |
新規投稿 | スレッド表示 | ツリー表示 | 投稿順表示 | i-mode | トップ |
BluesBB ©Sting_Band