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

NECオフコン関連
オフコン一般
情報

NECのオフコン情報掲示板(ノウハウ系)

NECのオフコンを活用するためのノウハウを話し合うための掲示板です。

1: #BKUPでusbに直接出力できますか?(3)   2: A−VXのプリンタ設定方法が分かりません(2)   3: OSのCDについて(4)   4: 初期プログラムに関する質問(4)   5: ボリュームMAPにあるが、#ABCだとファイルがみつからない(2)   6: SYS@DDFの復旧(2)   7: スプールデータの取り出し方法についての質問(10)   8: SG処理にて、PAGW実行中にエラーが発生しました(9)   9: ソースライブラリの一括検索(9)   10: 帳表をPDF印刷する方法(PRINTVEWを使わず)はありますか(2)   11: SKYLINKでテーブルを検索するとエラーとなる(1)   12: オフコン(3)   13: 管理人さんへの質問です(3)   14: #LTEDITでフォームのソースを指定するとメンバーが見つからないと表示される(4)   15: UPS無しの構成へのシステム移行(12)   16: #NFCNV でパソコンへ転送すると、データの先頭に空白がついてしまう(3)   17: CBL85資産をOPENcobolに移行する(3)   18: COBOLソースから仕様書の鏡作成ツール(3)   19: PrintBridgeの使い方(8)   20: WSエミュレータをWindows7Pro32bitSP1PCにインストール出来なくなった(1)   21: 漢字とANKの縮小印字について(3)   22: #NFCNVで先頭のカラムが0になるのは?(2)   23: N7884-14Bと互換性があるプリンタについて(2)   24: 表示(印刷)を任意の順番にしたいのですが・・・(6)   25: JSまたはPMのコールが間違っています(3)   26: ページプリンターのSG方法(2)   27: SMARTの画面明細項目が終われない(8)   28: AVXでの外字(槇)について(6)   29: レーザープリンタ印刷時に明朝、ゴシックを混ぜて印刷出来ますか?(2)   30: WINDOOWアプリからエミュレータを呼び出してFTCNVを起動するとエラーとなる(2)  

 新規投稿 | スレッド表示 | ツリー表示 | 投稿順表示 | i-mode | トップ 
« 1 ... 17 18 19 (20) 21 22 23 ... 108 »

Re: RDBに項目追加をしたいのですが、DDFの修正方法がわかりません
iga 2012-5-28 13:54:27  [返信] [編集]

ご親切にどうもありがとうございます。

ところで2箇所だけ大変気になる部分があったのですが。


↓↓↓↓↓↓


「4.表定義保守(#DDM)の併合で、ユーザDDFからSYS@DDFに表定義を併合。
  このとき一緒に実ファイルの領域確保も行う」


「基本的にこのとき#DDMで実ファイルの領域確保も同時に行います。(#ABCとかで作る
訳ではない)」


領域確保とはどういうことでしょうか?
今回はFILLERに項目を追加しようとしているだけなのですが、
なぜ実ファイルの、領域確保が必要なのでしょうか?

領域確保というと、
データベースがオーバーフローした際、
再度、領域を確保して、データベースを作り直す
という意味だと思うのですが・・・

素人ですみません、よろしくお願いいたします。




Re: RDBに項目追加をしたいのですが、DDFの修正方法がわかりません
iga 2012-5-28 13:47:47  [返信] [編集]

こんにちは。
ご親切にどうもありがとうございます。

ついでに聞いて申し訳ないのですが、

#DDMですが、
2.表定義を選んで
ディクショナリ名で SYS@DDFを選んで、

5.併合を選び、

処理モード:「置換」

入力元: xxDDF(ユーザディクショナリ)

併合表名: xxxファイル

指定確認 1 ok

とやればいいのでしょうか?


あと心配なのは、実データです。
いちおう直前に、バックアップは取りますが、
併合、(置換)したことにより、
実データに影響は一切ないですよね?

(まさか、データが全て初期化されてしまうとか・・・)

filler部は初期値のままです。

領域の確保はしないつもりです。

しつこくてすみません。かなり心配症なもので・・。

よろしくお願いいたします。

Re: A−VX 統合管理ツール
江須扇 2012-5-24 16:20:44  [返信] [編集]

はじめまして江須扇と申します。
有償ソフトですが、
A−VX統合管理ツールというのをご存知でしょうか?
h*ttp://www.nec.co.jp/pfsoft/a-vx/AMT/
(*を削除してリンクしてください)
このソフトを導入するとWindows上で
メニュー、JS、PMで利用しているジョブ(LM、JS、PM)を表示(関連性の表示)できます。

※残念ながらこのソフトを説明をしてくれる営業もサポートSEもいませんが・・・・
Re: メニューから実行されるJCLもしくはプログラムのIDが知りたいです。
MAKI 2012-5-23 10:37:02  [返信] [編集]

メニューがPMでよかったですね。
参考までにLMの場合の調べ方を。
#MENUMのCONVERTでLM化したメニューは中にメニューのパラメータをそのまま持っていますので、調べることができます。
手順
1.レコード長256の順編成ファイルをアロケート
2.#LBMのSELECTでLMのメンバーを1.のファイルに出力
3.#FLCNVでダンプして中を見る。
テキストエディターで見る通りのメニューが中に入っています。
Re: JCLをテキスト化できますか?
ターラヤン 2012-5-10 9:50:00  [返信] [編集]

>COBOLの場合、下記の手順で行いました。
>#ABC で 順編成ファイルへ複写

JCLやPMのときは、#ABCではなくて、#LBMを使うみたいです。

やりかたは以下に書いてあります。
ttp://www.offcom.jp/modules/amanual/index.php/uti/at/lbm/lbm05.html
Re: メニューから実行されるJCLもしくはプログラムのIDが知りたいです。
EXCHANGE 2012-5-9 14:24:18  [返信] [編集]

☆ 第一次的に呼び出しているものは分かります。

☆ #LBMでメンバ名を見ておく。
  #TEDITで「3.PARAMETER」を選んで
  R (メンバ名) MSD XXX@PML 
  にて、表示できます。

☆ PMLとして格納できるのは、メニューパラメータ以外にSMARTパラメータ、ユーティリティのパラメータ化されたものなどありますが、読み込めばメニューかどうかは分かります。

☆ なお、NECによると、「#TEDITにてメニューパラメータを編集しないように」となっていますので、読み込んで表示してハードコピーまたは印刷するだけにしておきましょう。

 
Re: JCLをテキスト化できますか?
EXCHANGE 2012-5-9 14:13:08  [返信] [編集]


> 出力ファイル用オプション=NOが入力できず
> 順編成ファイルへの複写ができませんでした。

☆ 確かに#ABC複写で、上記箇所で引っ掛かりますね。
  このときFDUは指定可能です。しかし実際にフロッピーにファイルをアロケートしてフロッピーをセットして再度試みると今度はMSDしか指定できなくなります。(バグっぽいですね)

☆ いずれにせよこの方法ではCOBOLソースと違いメンバの指定ができないようです。フロッピーを挿入した状態でMSDを指定し、ディスク上の順編成ファイルにやみくもに複写を実行してもなにもコピーされませんでした。

☆ やはりターラヤンさんの方法しかだめでしょう。


☆ あと、「A−VXRDB/FILEアクセスキット」は1ユーザ20000円程度ですので、ソースが大量にあるようでしたら購入の価値はあるかと思います。

htt*://www.nec.co.jp/pfsoft/avxkit/feature.html#introduce

☆ なお、このツールには一箇所だけ誰もがハマル部分があります。
  「ログインツール」の入力時にはオペレータコード、CID、パスワードすべてが自動的にシフトロック状態(大文字)になるのに、「環境設定ツール」においてはパスワードだけが(小文字)状態になっているようです。シフトキーでの入力が必要です。パスワードは表示されないので、小文字状態で設定すると、肝心の接続時にエラーになります。


Re: JCLをテキスト化できますか?
きゃん 2012-5-9 9:32:03  [返信] [編集]

お二人とも回答ありがとうございます。

COBOLの場合、下記の手順で行いました。
#ABC で 順編成ファイルへ複写
 #NFCNV で TXT化(CSV化)

同様にJCLも XXXJSL よりソースを,亮蟒腓能臺埓ファイルへ
出力しようとしましたが

出力ファイル用オプション=NOが入力できず
順編成ファイルへの複写ができませんでした。
ですので JCLソースは別に指定すべき内容があるのか
見る場所(XXXJSL)が違っているのかな?と思いました。

#ABC;で 表示→編集表示で画面上内容の確認はできましたので
JCLソースを確認する先(保存先)はあっているかと思うのですが・・・

↓まとめてテキスト化できる機能があるかどうか確認する方法はありますか?
たとえば、RUNコマンド行で ユーティリティIDをたたいてみる とか・・・

****
☆ 最近のA−VXに付属する基本ツールは存じておりませんが、
  別売の「avxRDBアクセスキット」に付属するユーティリティを使えば、COBOL、JCLともtxtファイルにまとめて変換できます。
****

 
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に併合すれば、解決すると思いますので、
がんばって下さい。

 新規投稿 | スレッド表示 | ツリー表示 | 投稿順表示 | i-mode | トップ 
« 1 ... 17 18 19 (20) 21 22 23 ... 108 »

BluesBB ©Sting_Band