NECのオフコン情報掲示板(ノウハウ系)
NECのオフコンを活用するためのノウハウを話し合うための掲示板です。 |
新規投稿 | スレッド表示 | ツリー表示 | 投稿順表示 | i-mode | トップ |
■▲▼ | ||
1 | 内部ファイル名の変更の仕方を教えて | |
Q太郎 2006-8-25 21:05:00
[返信] [編集] はじめまして。 要望項目:COBOLのSELECT句のプリンタの指定時に「SELECT ファイル名 ASSIGN TO 内部ファイル名-装置指定-媒体識別名」と指定しますが、その「内部ファイル名」を実行時に任意に変更したいのですが可能ですか? 必要な理由:「内部ファイル名」はスプールへ出力すると「レポート名」となるため、#SPOOLで参照するときに画面で判断できるため。たとえば、実行プログラム名+印字条件などをセットできればいいのですが。ただし、訳あって「SPOOL付加情報の設定」は使用できません。 よい方法を教えてください。 | ||
2 | Re:内部ファイル名の変更の仕方を教えて | |
江須扇 2006-9-1 18:23:00
[返信] [編集] Q太郎さんはじめまして、 江須扇と申します。 どなたもレスがつかないので、やはり良い方法はないようですね。 >たとえば、実行プログラム名+印字条件などを 実行プログラム名はプログラム毎になるので、固定的になると 思います。 問題は印字条件ですが1本のプログラムで何種類あるのでしょうか? 邪道ですがプリンタファイルをたくさん定義しその条件にあった プリンタをオープンして実行するという方法はいかがでしょうか? ただ、WRITE命令がファイル毎に全て必要になるので、 現実的ではないかもしれません。 すいません。回答になってませんね。 | ||
全部読む 最新50 1-100 板のトップ リロード |
■▲▼ | ||
1 | FTP受信 | |
goodmoon 2006-8-24 11:02:00
[返信] [編集] A-VXからWindowsへFTP送信でデータを出力したことはあるのですが、その逆の受信というのは可能なものなのでしょうか? あまり詳しくないので検討違いの質問でしたら申し訳ありません。 | ||
3 | Re:FTP受信 | |
goodmoon 2006-8-24 13:39:00
[返信] [編集] 江須扇さん、はじめまして。 お返事ありがとうございます。 現在使用している機種はExpress5800/680Aiです。 ですので#NFCNVは使用できるのですが、今回は自サーバのWindows側からのアクションでA−VX側へデータを送信する方法がないものかと考えているのです。 私もあまり詳しくないのでWindowsからFTP送信してA−VXで受け取れないかと単純に考えていたのですが・・・ 何か良い方法はないでしょうか? | ||
4 | Re:FTP受信 | |
よしぼ〜 2006-8-24 18:14:00
[返信] [編集] はじめまして。 当方、Express5800/670Xiを使用しております。 FTP環境を構築しています。 江須扇さんのご想像のとおり、FTPクライアントと FTPサーバーは別の有償ソフトになっております。 FTPクライアントは、A-VXからのアクションで データの送信と受信が可能ですが、Windowsから A-VX にデータを送信することはできません。 それをするためには、FTPサーバーが必要です。 | ||
5 | Re:FTP受信 | |
江須扇 2006-8-24 23:50:00
[返信] [編集] >WindowsからFTP送信してA−VXで受け取れないか と言う事は、 Windows側がFTPクライアント送信 A−VX側がFTPサーバー受信 という事ですよね。 従って、よしぼ〜さんが答えていただいた通りA−VX側に、 FTPサーバーの有償ソフトが必要となると思います。 既にあれば、その機能を使えば良いのではと思います。 無いのであれば購入するしかないのですが、簡易的な方法としては、 やはり、サーバー側の共有フォルダーに転送して#NFCNVで アップロードするという方法になると思います。 一連の流れを自動実行するとすれば、 938 「ジョブ起動ユーティリティ」のUWSCでの代替方法 をご参照ください。 クライアントでエミュレーターを起動しないという事ですとやはり、 FTPサーバーでの方法になると思います。 A−VXのFTPサーバー機能は受信後のJOB実行は可能だと 記憶しております。 | ||
6 | Re:FTP受信 | |
ターラヤン 2006-8-25 1:25:00
[返信] [編集] 皆さん、こんにちは。 よしぼ〜さんや江須扇さんが既に書いてあるとおりですが、 A−VX側でftpサーバを立てれば、Windows側は 普通のftpクライアントでopen、get、putが そのまま使えたはずです。 A−VXとwindowsでは文字コードが異なりますが、 サーバ側の設定をきちんとすれば、文字コードも変換して くれたはずです。 | ||
7 | Re:FTP受信 | |
goodmoon 2006-8-25 13:47:00
[返信] [編集] よしぼ〜さん、江須扇さん、ターラヤンさん、色々書き込み頂き有難うございます。 調べてみたのですが、どうやら現在使用しているA−VXIVにはFTPサーバの機能は 組み込まれているようです。 あまり知識がないので少々不安ではありますが、これで何とかがんばってみます。 あと江須扇さんが >A−VXのFTPサーバー機能は受信後のJOB実行は可能だと と書かれていますが、これは受信後に自動で何らかのJOBを実行する事が可能という意味でしょうか? もしそういう意味でしたら説明書の何処を参照すれば良いでしょうか? 「FTPサーバ説明書」を発見したので参照したのですが、そういった記述は無かったようです。 何度も申し訳ありませんがお返事頂ければ大変助かります。 よろしくお願い致します。 | ||
8 | Re:[7]:FTP受信 | |
江須扇 2006-8-27 21:11:00
[返信] [編集] >>A−VXのFTPサーバー機能は受信後のJOB実行は可能だと >と書かれていますが、これは受信後に自動で何らかのJOBを実行する事が可能という意味でしょうか? >もしそういう意味でしたら説明書の何処を参照すれば良いでしょうか? 大変申し訳ありません。 現システムでは、FTPサーバーは利用してないので、マニュアルを もっておりません。全くの記憶だけです。 全銀手順ホスト等(現状では全く使っていなのでこれについてもマ ニュアルはなく記憶のみです)の他の機能と混同して記憶していたの かもしれません。 記憶ではFTPクライアントが指定するアップロードするファイル名 に対してA−VX側のファイル名をパラメータ等で設定が必要が有っ たと記憶しております。このパラメータの設定にあったように思いま す。あくまでも記憶です。すいません。 でもこれがないと受信後のトリガーがなく、受信後の処理を手動する 事になるので#NFCNVで手動で実施する事と大差なくなりますね。 | ||
9 | Re:[7]:FTP受信 | |
よしぼ〜 2006-8-28 9:53:00
[返信] [編集] おはようございます。 私も手元にあるFTPサーバーのマニュアルをパラパラと めくってみましたが、受信後のトリガーに相当する 機能はなさそうでした。 ただ、元来FTPは「送りっぱなし、受けっぱなし」の 通信方式なので、できなくて当然ではないでしょうか。 JCAや全銀などのように通信手順が決まっていないため、 受信終了の判断がつけられず、結果トリガーは引けない ということになるのだと思います。 | ||
10 | Re:[7]:FTP受信 | |
goodmoon 2006-8-29 9:12:00
[返信] [編集] 江須扇さん、よしば〜さん、ありがとうございます。 受信後にJOBを自動実行できれば一番助かるのですが、そうは簡単に行かないようですね。 ちゃんと出来るかどうか我ながら少々心もとないのですが、皆さんのアドバイスを頼りに色々試してみたいと思います。 後日その後の結果をご報告できたらと思います。 色々ありがとうございました。 | ||
11 | Re:FTP受信 | |
goodmoon 2006-11-13 14:03:00
[返信] [編集] 以前お世話になりましたgoodmoonです。 FTPサーバ起動によりIJCCエラーが発生し結局SG作業が必要でしたが、お陰様でなんとかFTPサーバを使用できるようになりました。ありがとうございます。 で、お約束のように次の質問が・・・(笑) FTPサーバが起動できるようになったのでこれを#AJOBMで登録し自動で起動できるようにしたいのですが、これで起動すると「画面切離モードで画面接続待ち」になり機能しません。 結局画面接続を手動で行わねばならないので起動自体手動で行っているようなものです。 何かうまい解決策はないでしょうか? | ||
12 | Re:FTP受信 | |
goodmoon 2006-11-13 16:41:00
[返信] [編集] 自分でレスです。 /RUN $FTPSV,FIL=FTPDLML,DEV=MSD; 1_ /> ; 当初上記のような書き方をして「画面切離モードで画面接続待ち」に鳴っていたのですが下記に変更したところ「画面切離モード」で起動できました。 /RUN $FTPCT,FIL=FTPDLML,DEV=MSD; /> ; お騒がせしました。 | ||
全部読む 最新50 1-100 板のトップ リロード |
■▲▼ | ||
1 | 「ジョブ起動ユーティリティ」のUWSCでの代替方法 | |
江須扇 2006-8-19 23:22:00
[返信] [編集] パソコン側でデータを作った後に、自動的に、オフコン側での処理を する場合は、通常は「ジョブ起動ユーティリティ」を使いますが、 パソコン側の自動実行を含めて実行する場合はフリーソフトの、 UWSCを使うと便利です。 http://www.h7.dion.ne.jp/~umiumi/ 具体的にはWeb-EDIのデータを自動的にオフコンに取り込む処理で 使っております。 そのエミュレータの起動のサンプルスクリプトです。 参考になればとアップロードしました。 SAMPLEというAPを実行して終わるサンプルです。 WindowsXPでは巧くいきますがなぜかMeでは画面が読み取れません、 従ってXPのみの対応です。 但し SGは WSモード WSM=25R でエミュレータのフォントサイズは24にしてあります。
| ||
全部読む 最新50 1-100 板のトップ リロード |
■▲▼ | ||
1 | 16進を10進に変換する方法 | |
ゼロ 2006-8-5 8:59:00
[返信] [編集] SYS@FDF内よりデータを抜き出してファイルを管理するデータベースを作りたいと思ったのですが、肝心な部分(更新回数、更新日等)が16進の為にそのままでは利用できませんでした。 COBOLで16進から10進に変換する方法を教えてもらえないでしょうか? COBOLを利用する以外の方法でもかまいませんのでお願いします。 | ||
2 | Re:16進を10進に変換する方法 | |
江須扇 2006-8-5 18:14:00
[返信] [編集] はじめましてゼロさん、江須扇と申します。 2バイト単位しか利用できませんが、USAGE COMP-1 を利用したらいかがでしょうか? 全く違う利用例ですがこの掲示板の181番にUSAGE COMP-1 を使ったCOBOLリストが載っております。 | ||
3 | Re:16進を10進に変換する方法 | |
ちょっと前までA-VXユーザ 2006-8-17 23:18:00
[返信] [編集] USAGE COMP-1 って、2進数ですね。 16進数は、4bits表現で、0〜9,A〜Fですよね。 きっと間違っていないと思いますが、ちょっと気になって、 余計なお世話だったかな? 以上 | ||
4 | Re:16進を10進に変換する方法 | |
ゼロ 2006-8-18 10:18:00
[返信] [編集] 遅くなりましたが、江須扇様レスありがとうございました。 USAGE COMP-1を使用してレコード長、ブロック長、更新回数は問題なく10進に変換できました。
これで、WORK-RSIZ1の内容が’256d’になっていました。 USAGE COMP-1の仕組みがよく理解できていないので結果論ですが、16進数→10進数の変換は出来たようです。 問題になったのが第1〜第4エクステント開始終了アドレス。 これは上記の方法で変換するとまったく意味不明な値が帰ってきたので下記のような変換テーブルを作って1バイトづつ判断して内部16進から外部16進に変換しました。 あとは16進→10進への計算ルーチンを作って10進にしました。 もっといい方法があるかもしれませんがこれしか思いつきませんでした。
| ||
5 | Re:16進を10進に変換する方法 | |
江須扇 2006-8-19 7:35:00
[返信] [編集] >2バイト単位しか利用できませんが、USAGE COMP-1 >を利用したらいかがでしょうか? という事で、4バイトの場合は、 USAGE COMP-2 を利用していただくこととなります。 但し、 COMP-1 が−32768≦x≦32767 COMP-2 が−2147483648≦y≦2147483647 となります。 詳しくは、COBOL言語説明書、2.4.3.4 データの表現形式 をご覧下さい。 | ||
6 | Re:[5]:16進を10進に変換する方法 | |
江須扇 2006-8-19 16:49:00
[返信] [編集] ご指摘の通りですね。
| ||
7 | Re:[5]:16進を10進に変換する方法 | |
ゼロ 2006-8-22 13:02:00
[返信] [編集] ありがとうございます、希望通りの結果を得ることができました。 プログラムもすっきりして大満足です。 上1桁が負を表すってことをすっかり忘れていました、2進数なんて20年近く前に情報処理二種の試験勉強した依頼なんで。 次の課題はデータのデータ上に直接持っていないデータの追加可能件数をどうやって求めるか頭をひねってみようと思います。 | ||
全部読む 最新50 1-100 板のトップ リロード |
■▲▼ | ||
1 | 変換するソースの指定画面での全ソース指定 | |
ヨード 2006-7-28 11:22:00
[返信] [編集] はじめまして。「ヨード」といいます。 今まで全くさわったことのないA-VXですが その上で稼動しているシステムをコンバートすることになりました。 で色々と情報を探してここにたどり着きました。とても助かっています。(基本的にA-VXを無くす向けの作業なのですが・・・) COBOLソースをWindowsなどのテキスト形式ファイルに変換を 参考にさせていただきながら、現行システムのソースを変換しています。 変換するソースの指定画面の画面で「番号」か「ソース名」を入力しますが、ここで全ソースを指定したい場合はどのように入力したらよいのでしょうか? 手元にマニュアルがないため、どうかご教示下さい。 | ||
5 | Re:変換するソースの指定画面での全ソース指定 | |
ターラヤン 2006-7-31 0:26:00
[返信] [編集] たいしたものではありませんが、バッチプログラムを作ってみました。 いちいちパラメータを入力する必要がなくなります。 MSD000のSYS@JSLに入れてください。 名前は何でも良いですが、SUWINでもしてください。 使い方は、RUNコマンド行で「SUWIN,(RANDT);」のように「JS名,(変換したいSU名);」と入力して実行します。 /RUN #LBM,DEV=MSD; PRD=PRN999_MDE=MSD000_MFI=TESTAPSUL_ACT=SELECT_ODE=MSD000_OFI=TESTAPSEQ_ NAM=&0_ODE=999_ACT=999_DIR=NO_MDE=END_ /> ; /RUN #NFCNV,DEV=MSD; MN1=C_MN2=AD_PA1=MSD000_PA3=TESTAPSEQ_PA4=1_PA5=C80_ PB1=ZZZ.TXT_PB2=TXTJ_PB3=EXCLUSIVE_PB7=C_PB8=CREATE_ MN1=Q_ /> ; 上のプログラムをテキストファイルにして、 http://www.geocities.jp/tahrayan/utili/avxdos-cobol.html でJSに変換します。 #LBMのパラメータはMDE=MSD000,MFI=SYS@JSL,ACT=ADD,TYP=JCLとしてください。 | ||
6 | バグかな? | |
ターラヤン 2006-7-31 0:55:00
[返信] [編集] 本当は#NFCNVのところで、「PB1=&0_」とやりたかったのですが、なぜかエラーになってしまいました。 #NFCNVは置換機能も一時切り換え機能も使えないようです。 これらの機能が使えないのでは、バッチとして役に立ちません。 他のユーティリティに使えないものがあるのならばそういうものかと納得できますが、#NFCNVだけ使えないというのはバグではないのでしょうか? | ||
7 | Re:変換するソースの指定画面での全ソース指定 | |
ヨード 2006-8-2 20:55:00
[返信] [編集] 富山清風さん、ターラヤンさん ありがとうございました。 今まで全くさわったことのないA-VXで いきなりJSの登録なども怖かった^^;) ので 頑張って、目と手で1つ1つ変換しました。 ところで、 コピー句はSULに入ってないのが普通なのでしょうか? ファイルレイアウトの資料も怪しいものしかなく なんとかCOPY句でレイアウトと項目名を確認しようと 思っていたのですが、SULから変換したTEXTには無いようです。 なんとか既存ファイルのレイアウトを確認する方法は無いものでしょうか? (実はファイル定義のようなものを見たほうが確実?) レイアウトの件は、もとの質問からは外れるので 件名を新たにして別投稿とした方が過去ログで役にたつのかも 知れませんが、ご教示の程、宜しくお願いします。 | ||
8 | Re:変換するソースの指定画面での全ソース指定 | |
ゼロ 2006-8-3 11:16:00
[返信] [編集] ヨードさん始めまして 一般的かどうかは、分かりませんが私はCOPY句で使用するソースは別SULにまとめて管理するようにしています。 業務ごとにSULは分けていますがCOPY句で使用するSULは他業務でも使用することがあるのでファイルレイアウトの変更等が発生した場合の管理がしやすいからです。 COBOLソース内にどの登録集を使用しているか明記しておくといいかもしれません。 | ||
9 | 順序が逆では??? | |
EXCHANGE 2006-8-3 11:48:00
[返信] [編集] * DBを使った部分なら#DDMとか、RDBQ2等で調べれば分かると思います。 * ただ、事情はよく分からないのですが、 > 頑張って、目と手で1つ1つ変換しました。 > なんとか既存ファイルのレイアウトを確認する方法は無いものでしょうか? という下りはちょっといただけないのでは。。 先にCOPY句も含めてどこに入っているか確認してから コンバートした方が。。 > ファイルレイアウトの資料も怪しいものしかなく ということは、前任者とのコンタクトが取れない状況のように 思われます。 と、言うことは−−−>現在SULに入っているソースが 稼働中システムと一致しているとどうして保証できるのでしょうか??? * ソースコンバートによるマイグレーションは、 前任者の協力が必要な場合が多いように思います。 * 私だったら前任者の協力が得られない場合は、 新規システムとして構築しなおす(再構築する)でしょうね。 どのみち現時点となっては、 顧客側の要件も変わっているでしょうし。。 * すみません。取り越し苦労でしょうか。 | ||
10 | Re:順序が逆では??? | |
ヨード 2006-8-7 12:00:00
[返信] [編集] 書き込みありがとうございます。 ご指摘頂いた点は、取り越し苦労ではなくまさにその通りです。 現状は、 ・前任者の協力が得がたい状況にある。 ・稼働中システムとSULの一致は保障できない。 という状況にあります。 それを踏まえて ・出来うる限り前任者の協力を要請 (ソースの有りかすら不明な状況) それと並行して ・現状システムの分析 ・業務フローの再確認と顧客要件(追加、変更)の確認 を実施している状況にあります。 結局のところは再構築となるだろう言う認識のもと できる限り拾える情報は、拾っておこうというのが 現状といったところでしょうか。 | ||
11 | ご苦労様です | |
EXCHANGE 2006-8-8 7:57:00
[返信] [編集] * ヨードさんこんにちわ。なかなかたいへんみたいですね。 乗せ換えというのは、何度経験してもいつも何か隘路があるようです。 * さて、レイアウトの件の続きですが、#DDMを使ってSYS@DDFをプリントアウトすることが出来ればCOPY句がなくてもかなりな情報が手にはいると思います。 * RUN #DDM; −−−> MSD SYS@DDF 1.OK −−−> 6.リスト出力 −−> 全印刷 登録順 PRN999 1.OK で、少なくともデータベースに登録されている表名(物理ファイル、論理ファイルを含めて)および、項目名(前任者がよほど変わった方でない限りCOBOL上の項目名のまま)を印刷出力できます。 * ただしこの方法は次の点に注意です。 (1)SYS@DDFは現状の運用システムに使われているので、内容の信憑性は高いが、変更を加えると現状システムに重大な問題が起こることがあるので、A?VX未経験者の場合「リスト出力」程度にした方が安全。 たいていの場合SYS@DDF以外にももう一つXXX@DDFという名前のユーザDDFがアロケートされていると思いますので、まずこちらで確かめてからの方がいいでしょう。(前述の MSD SYS@DDFのところを MSD XXX@DDFに換えて下さい) (2)このシステムが カンパニーで運用されている場合は(チェンジDIRにて、カレントディレクトリ上で運用されている場合は)その状態でリストを出力しても他のカンパニーやグローバルのDB表は出力されません。 (3)#DDMで確認できるのはDB表のみですので、#MAPで確認したときの複数索引順編成ファイルのみになります。 相対編成ファイル、シーケンシャルファイル、それから旧式索引順編成等は確認できません。 (4)リスト出力はかなりの分量になりますのでたくさんのストックフォームをご用意下さい。リスト出力中のJOBのキャンセル(強制終了)は問題ないと思います。 事前にユーザDDF上でDB表1個、1個出力してみて練習することをおすすめします。 もちろんSYS@DDFの場合も1個1個個別にプリントアウトできます。 (5)SYS@DDFをいじくることに自信が持てないときはユーザDDFを対象にして下さい。(ただし現状運用システムと完全に一致してる保証はありませんが。。) (6)項目名が分からなくても属性のみ分かれば良いのであれば RUN RDBQ2; にてDBのデータを直接覗いてみれば良いでしょう。 こちらはエンドユーザ向けのツール(ACCESSの初歩みたいなもの)ですので直接データを更新したりしない限り便利な道具です。ココには各項目の属性が表示されます。 | ||
12 | ご苦労様です−2 | |
EXCHANGE 2006-8-8 8:22:00
[返信] [編集] * 内容の補足です。説明がワンステップ抜けていました。 差し替えて下さい。 * RUN #DDM; −−−> 2.表定義 −−> MSD SYS@DDF 1.OK −−> (以下同様です)。。。 | ||
13 | ご苦労様です−3 (聞くと怖い話) | |
EXCHANGE 2006-8-8 8:52:00
[返信] [編集] * もう一つ言い忘れたことがありました。 * SYS@DDFには現状運用システムと一致した内容がある。と申しましたが、実はこれには重大な注意事項があります。 * A−VXでは、COBOLの項目定義とDDFのDB定義とが別々に管理されているため、両者に不一致があってもCOBOLプログラムとしては問題なしに稼働してしまう。という問題があります。 * AS/400等では、例えばCRTPFコマンドを実行するとDDSの定義に基づいて、物理ファイルのアロケートとディクショナリへの登録を同時に実行してくれるので、DDS定義(項目定義)、物理ファイル、ディクショナリ定義簿の三者が完全に一致するのですが、 A−VXでは歴史的にファイルベース−−>データベースと追加されてきた経緯からか、このような厳密さがありません。 * コピー句とDD定義の不一致を調べる方法としては、RDBQ2等でデータを覗いてみて、中身が妥当かどうか(桁ずれなども含めて)確認するぐらいしか方法がないようです。 | ||
14 | Re:ご苦労様です−3 (聞くと怖い話) | |
ちょっと前までA-VXユーザ 2006-8-17 23:15:00
[返信] [編集] 今は、A-NXが手元で使えないので、詳細に分かりませんが、 確か、#SABC4 と言うUTLで、COBOL85で作ったLMから、 リンクされているCU名、REV(=SU のREV)が表示出来たはずですね。 COPY原文名、REVも表示(印刷?)出来たと思います。 IDSPと言う、シンボルデバッガがリリースされて少し経ってから この機能が追加されたと記憶。 COBOL85の翻訳時に、DDFから直接COPY原文を生成出来ましたね。 この辺りを使っていると、非常に便利だった と記憶。 違っていたら、ごめんなさい。 以上 | ||
全部読む 最新50 1-100 板のトップ リロード |
新規投稿 | スレッド表示 | ツリー表示 | 投稿順表示 | i-mode | トップ |
BluesBB ©Sting_Band