NECのオフコン情報掲示板(ノウハウ系)
NECのオフコンを活用するためのノウハウを話し合うための掲示板です。 |
新規投稿 | スレッド表示 | ツリー表示 | 投稿順表示 | i-mode | トップ |
Re: ご評価いただきありがとうございます。(江須扇さんのDEVLOPについて) | |
江須扇 2012-7-27 21:26:33
[返信] [編集] 早速お試しいただきありがとうございます。 >なんとなく、想像はできるのですが、想像通りにはうごきませんでした。ので・・・ 自分用に作ったのでひとりよがりのところがありもうしわけありません。 オフコンのACCEPT命令はエンターキーを押したとき入力エリアがスペースになってしまいますが 前回の内容を再利用できるように左から項目単位に考えております。 23行目の入力行で一番左でエンターを押せば全て表示されているものを取り込みます。 1項目目のメンバー名を入力してそこでエンターを押せば メンバー名は入力したものをファイル名とデバイスは表示画面を取り込みます。 ソースタイプはファイル名に SULが有る場合はCOB PMLが有る場合はPAR JSLが有る場合はJCL とします。 >1.編集モード/翻訳モード/一覧モード/実行モードとは何? 編集モードは#TEDITを起動します。 翻訳モードはCOBOLコンパイラーを起動します。 一覧モードは#LBMでメンバー一覧を表示します。 実行モードは実際にプログラムが実行されます。 >2.45カラム辺りのCOM/DIR/RUN/・・・の種類と意味合い? >3.または、「各モード」と「45カラム辺り」の組み合わせ? 利用した動作モードを表すのと エンターの代わりにスキップキーを押したとき現在モードより優先され動作するモードです。 COMは翻訳モードを表します DIRはメンバー表示モードを表します RUNは実行モードを表します。 COBはCOBOL編集モード JCLはJCL編集モード PARはPARAMATER編集モード ADDはライブラリーの追加 REPはライブラリーの置換 >4.指示行(下から2行目)内のファイル名2つ(20カラム辺りおよび49カラム辺り)の > 指定方法(何を指定するか?SUL?/CUL?/LML?) > また、各モードなどの関係 編集モードはSUL、PML、JSLが指定できます。 翻訳モードはSULのみです 一覧モードはライブラリファイル全てです 実行モードはLMLです >また、翻訳時にCUL/LMLのファイル名の変更はできるのか? >USERCUL/USERLMLは固定で、他のライブラリに追加/他のライブラリを変更で対応するのか? 固定です。 他のライブラリーには追加モードか置換モードでターゲットライブラリーに移動します。 コメント(6文字) 入力ファイル 入力デバイス ADD(又はREP) 出力ファイル 出力デバイスです 例) ADDREI USERLML MSD ADD JIKOULML MSD | |
Re: x7:プリンタの印字についてのご質問 | |
江須扇 2012-7-27 16:49:32
[返信] [編集] >>1.”AFTER 1”の代わりに”BEFORE 1”印字後改行を使う >試しにやってみましたが結果は同じでした;; だめでしたかもうしわけありませんでした。 技術的なことですが、COBOLの仕様とOS(A−VX)の仕様が違っているかもしれません。 ”BEFORE 1”を使ってもOSは改行命令を出力しないのかもしれません。 >ユーザー(役員レベル)からの強い要望で、画面確認ではなく >登録後即印字して目視で確認してから次を登録するという >仕様になってしまいました。 役員のご要望であればしかたありませんね なっとくしました。 >データ行印字後にスペース行を印字するようにしたところデータ行は印字されるように >なりました。根本的な解決にはなってませんが。。。 チェックリストであれば行間隔が空いたほうがチェックしやすと思いますが、 役員がベタ印刷をご要望されているという事であればむずかしいかもしれません 実機がないのでテストできませんが ”BEFORE 1”で印字した後、 スペース行を”AFTER 0”で印字すれば改行命令が出力されるかもしれません。 | |
Re: x2:プリンタの印字についてのご質問 | |
ど素人 2012-7-26 13:12:21
[返信] [編集] ご質問にお答えします。 >シリアルプリンタでは正しく作動するのでしょうか? シリアルプリンタはあるのですが、オフコンにはラインプリンタ とページプリンタが接続されていますので動作確認はしていません。 端末の隣にあるラインプリンタでという前提です。 >プログラムの仕様に無理があるのでは? うすうす感じてします^^; >「ラインプリンタのカバーをあけ、印字位置アップ(?)し、 印字の確認をする」という操作が必要になってくるのでは。 カバーを開けると自動的に紙送りされ、閉じると元の位置に 自動で戻ります。 >毎回/毎行、その操作をするということですか? その通りです^^; 何とか実現する方法がないか質問した次第です。 江須扇様から『ラインプリンタ行が変わったという情報を得てから印字する』と教えて頂いたので、 データ行印字後にスペース行を印字するようにしたところデータ行は印字されるように なりました。根本的な解決にはなってませんが。。。 | |
江須扇さんのDEVLOPについて | |
富山清風 2012-7-26 12:44:45
[返信] [編集] 江須扇さんのDEVLOPについて 「テキストエディタのSPLITについて」の投稿のところで、 江須扇さんより「DEVLOPの一度使っていただきご評価いただけると有難いのですが」とありましたので、 すこし、作動させてみましたが、いまいち、機能が整理/理解できません。 なんとなく、想像はできるのですが、想像通りにはうごきませんでした。ので・・・ 機能概要をもうすこし、説明してもらえませんか? 1.編集モード/翻訳モード/一覧モード/実行モードとは何? 2.45カラム辺りのCOM/DIR/RUN/・・・の種類と意味合い? 3.または、「各モード」と「45カラム辺り」の組み合わせ? 4.指示行(下から2行目)内のファイル名2つ(20カラム辺りおよび49カラム辺り)の 指定方法(何を指定するか?SUL?/CUL?/LML?) また、各モードなどの関係 また、翻訳時にCUL/LMLのファイル名の変更はできるのか? USERCUL/USERLMLは固定で、他のライブラリに追加/他のライブラリを変更で対応するのか? (他のライブラリに追加/他のライブラリとはどのようなケース/想定で使用するのか?) など・・・ | |
Re: x2:プリンタの印字についてのご質問 | |
富山清風 2012-7-26 12:36:16
[返信] [編集] すこし話しがそれますが、ラインプリンタではなく、シリアルプリンタでは正しく作動するのでしょうか? 正しく作動するとすれば、 プログラムが正しく動く/動かないの前に、 プログラムの仕様に無理があるのでは? ラインプリンタに印字されたか否かを判断するのに、 「ラインプリンタのカバーをあけ、印字位置アップ(?)し、 印字の確認をする」という操作が必要になってくるのでは。 毎回/毎行、その操作をするということですか? 話が、とんちんかんであれば、無視してください。 | |
Re: x2:プリンタの印字についてのご質問 | |
ど素人 2012-7-26 11:26:31
[返信] [編集] ご回答ありがとうございます。 >つまり行が変わったという情報を得てから印字します。 そういう構造なんですね。勉強になります。 >1.”AFTER 1”の代わりに”BEFORE 1”印字後改行を使う 試しにやってみましたが結果は同じでした;; >その後にデータベースからバッチ(まとめて)印字してチェックリストして最終確認と保管リストとします。 おっしゃる通り他のプログラムはそのようになっておりますが、 ユーザー(役員レベル)からの強い要望で、画面確認ではなく 登録後即印字して目視で確認してから次を登録するという 仕様になってしまいました。 他のプログラムを見よう見まねで作成したところ今回の事態 になっています。 やはり機構的に無理ということなのでしょうか? | |
Re: プリンタの印字についてのご質問 | |
名無しさん 2012-7-26 10:48:44
[返信] [編集] 早速のご回答ありがとうございます。 紛らわしい質問をしてしまったので、簡素化したプログラムで質問致します。 <印刷する内容> ☆一覧表☆ コード 氏 名 金額 という2行の印字をしたい場合で、『☆一覧表☆』を印字後ACCEPT して印字されたか目視で確認後、『コード 氏 名 金額』を 印字するというプログラムです。 以下ソース 000010 IDENTIFICATION DIVISION. 000020 PROGRAM-ID. AAA003. 000030 ENVIRONMENT DIVISION. 000040 CONFIGURATION SECTION. 000050 INPUT-OUTPUT SECTION. 000060 FILE-CONTROL. 000070 SELECT DPFL ASSIGN TO DP-PRN999. 000080* 000090 I-O-CONTROL. 000100* (印刷ファイル) 000110 APPLY SHIFT-CODE ON DPFL. 000120* 000130 DATA DIVISION. 000140 FILE SECTION. 000150* (印刷ファイル) 000160 FD DPFL LABEL RECORD OMITTED 000170 LINAGE IS 66. 000180* 000190 01 DPFL-R PIC X(136). 000200* 000210 WORKING-STORAGE SECTION. 000220 01 WORK-AREA. 000230 03 END-STATUS. 000240 05 ADV PIC X(02) VALUE "04". 000250 03 WK-ADV PIC X(01). 000260*-----------------------------------------------------------------* 000270* 印刷領域 * 000280*-----------------------------------------------------------------* 000290 01 P-TITLE. 000300 03 FILLER PIC X(10) VALUE "☆一覧表☆". 000310 03 FILLER PIC X(126). 000320 01 P-MIDASHI. 000330 03 FILLER PIC X(04) VALUE "コード". 000340 03 FILLER PIC X(03). 000350 03 FILLER PIC X(06) VALUE "氏 名". 000360 03 FILLER PIC X(08). 000370 03 FILLER PIC X(08) VALUE "金額". 000380 03 FILLER PIC X(107). 000390*-----------------------------------------------------------------* 000400* 画面定義 * 000410*-----------------------------------------------------------------* 000420 SCREEN SECTION. 000430 SD GAMEN END STATUS IS END-ST. 000440* 000450 01 SCR01 CLEAR SCREEN. 000460 03 LINE 01 COLUMN 01 PIC N(14) VALUE 000470 NC"☆一覧表印刷☆". 000480 01 AC-AREA. 000490 03 AC-ADV LINE 22 COLUMN 68 PIC X(01) 確認 000500 USING WK-ADV 000510 NO IFC CHECK OVERFLOW. 000520* 000530 PROCEDURE DIVISION. 000540* 000550 BEGINNING. 000560 DISPLAY SCR01. 000570 OPEN OUTPUT DPFL. 000580* (1行目印刷) 000590 WRITE DPFL-R FROM P-TITLE AFTER 2 000600 END-WRITE. 000610* (印刷されたか確認するためACCEPT) 000620 ACCEPT AC-ADV. 000630 EVALUATE END-ST 000640 WHEN ADV 000650* (F10キー押下で2行目印刷) 000660 WRITE DPFL-R FROM P-MIDASHI AFTER 2 000670 END-WRITE 000680 WHEN OTHER 000690* (他キーは終了) 000700 CONTINUE 000710 END-EVALUATE. 000720 CLOSE DPFL. 000730 STOP RUN. 62行目のACCEPTでは1行目が印字されているはずなのに印字されず、 F10キー押下後に1行目が印字され、CLOSE処理で2行目が印字されます。 よろしくお願い致します。 | |
Re: x2:プリンタの印字についてのご質問 | |
江須扇 2012-7-26 10:19:36
[返信] [編集] 江須扇と申します。 >1件目の登録では見出し行のみ印字され、2件目登録後1件目の情報が印字されます。 この辺にヒントがあるようです。 一回遅れで印字されるということですよね。 >プログラムを終了(プリンタのCLOSE)時に最終登録情報が印字されます。 最終的には印字されるということですよね。 ACCEPTしたものが直ぐに印字しないのがお気に召さないということですよね。 >WRITE プリンタ FROM ファイル情報 AFTER 1 ←これが印字されないまま入力に行ってしまう ”AFTER 1”は1行改行後印字という命令です。 >ラインプリンタに入力した情報を印刷し、次のデータ入力 シリアルプリンタでないのが原因ではと考えます 機構的にラインプリンタは同一行に2回以上重ね印字できないという特性があります。 つまり行が変わったという情報を得てから印字します。 対策としては 1.”AFTER 1”の代わりに”BEFORE 1”印字後改行を使う 2.ACCEPTのあと画面に必要項目をDISPLAYし画面で確認 老婆心ながら蛇足を書きます オフコンデータ入力はクリーンデータ入力が基本で ACCEPT入力時にマスターチェックや論理チェックをし確認画面を出し最終的に問題ない場合データベースに書き込みが普通です。 その後にデータベースからバッチ(まとめて)印字してチェックリストして最終確認と保管リストとします。 目的的に的外れかもしれませんが念の為、書きました。 | |
Re: プリンタの印字についてのご質問 | |
近藤 2012-7-25 17:08:33
[返信] [編集] こんにちは ソースがないとわかりませんが・・・ なんとなく、 WRITE プリンタ FROM ファイル情報 AFTER 1 このファイル情報はどこかのタイミングでMOVEで移送してると思いますが、移送しているタイミングがおかしいのでは? そこの箇所だけでもソースがほしいっす♪ | |
プリンタの印字についてのご質問 | |
ど素人 2012-7-25 16:39:34
[返信] [編集] オフコン(COBOL自体)素人でうまく説明できないかも知れませんが、わかる方教えて下さい。 あるファイルのメンテナンスプログラムを作成しており、 ACCEPTで必要な項目を入力させファイルにWRITE後、 ラインプリンタに入力した情報を印刷し、次のデータ入力 に戻るというプログラムを作成したのですが、うまく動きません。 印刷内容は見出し行(ページの先頭のみ)と入力した情報です。 1件目の登録後に見出し+1件目データを印字したいのですが、 1件目の登録では見出し行のみ印字され、2件目登録後1件目の情報が印字されます。 プログラムを終了(プリンタのCLOSE)時に最終登録情報が印字されます。 ソースは ACCEPT 項目入力 WRITE ファイル名 1件目ならプリンタOPEN WRITE プリンタ FROM 見出し行 AFTER 1 WRITE プリンタ FROM ファイル情報 AFTER 1 ←これが印字されないまま入力に行ってしまう 項目入力に戻る 終了時プリンタOPENならCLOSE 環境はExpress5800/600 AVX01で作成しています。 よろしくお願いします。 | |
Re: 上手くいったようですね(テキストエディタのSPLITについて) | |
江須扇 2012-7-25 8:51:25
[返信] [編集] 江須扇と申します。 >まさにずばりです! >わたしがやりたかったことです。 上手くいったようですね。よかったです。 オフコンファンとしてオフコンを使いこなす人が一人でも増えることは私も大変うれしく思います。 いろいろ調べればWindowsやExcelにしても知らない便利な機能はたくさんあります。 同じ様にオフコンも便利な機能はたくさんあります。 このサイトのA−VXの説明書を読んでいただくのも一つでしょう。 合わせてサイト運営している「ターラヤンさん」に感謝しましょう。 | |
Re: テキストエディタのSPLITについて | |
gai 2012-7-24 17:26:04
[返信] [編集] 江須扇さんの「SPL U COB TEM」 まさにずばりです! わたしがやりたかったことです。 イマイチまだ理屈を完全に理解できておりませんが、 cobol編集がラクになりそうです。 ありがとうございました。 | |
Re: x6:テキストエディタのSPLITについて | |
gai 2012-7-24 14:38:24
[返信] [編集] ありがとうございます。 まだ完全に理解しておりませんが、 どうも単純ではなさそうです。 じっくり読んでみます。 | |
Re: x2: ちょっと、話がそれますが | |
江須扇 2012-7-20 16:40:02
[返信] [編集] 富山清風さんへ >エミュレータの文字ポイントを「14」にすると4エミュレータを「左上」、「左下」、「右上」、「右下」に配置できます。 私も以前はそのような使い方をしておりました。 また、本番機、拠点機、デバック機と別サーバーがあったので、その監視等にも使っておりました。 ところで私の開発支援プログラム「DEVLOP」を一度使っていただきご評価いただけると有難いのですが、このサイトの A−VXの説明−>COBOL−>開発支援プログラム(江須扇さんの投稿) 又は下記サイトです。 *ttp://www.offcom.jp/modules/amanual/index.php/cobol/devlop/devlop.html 注)上記頭の1文字は”*”は”h”に変更してリンクしてください。(アップロード時エラーになる為の対応です) 宜しくお願いします。 | |
Re: ちょっと、話がそれますが | |
近藤 2012-7-19 18:37:34
[返信] [編集] 懐かしいですね、F80みたいなものを(中間ワーク)をSystem100(冷蔵庫)の頃によく使っていましたね。 ITOSの頃は性能が悪い為、一人2画面しか立ち上げられませんでした。(上司に怒られましたw)ITOS時代からSPLITを使っていたような気がします。 Splitは今も必ず使っています。使い方の説明はしませんが、便利なので皆さんどしどし使いましょう。 すみませんF80に反応してコメントしちゃいました。 | |
Re: ちょっと、話がそれますが | |
富山清風 2012-7-19 13:16:08
[返信] [編集] ちょっと、話がそれますが、私の開発機のエミュレータの使用方法の一部を紹介します。 現在、ディスプレイは19インチを使用しており、1画面に4エミュレータを表示しています。 エミュレータの文字ポイントを「14」にすると4エミュレータを「左上」、「左下」、「右上」、「右下」に配置できます。 4エミュレータを表示するには、エミュレータ設定時の「通信情報タブ」の「WS番号(W)」で WS番号を4ケ所チェック(すなわち赤丸が4ケ付く)すれば、エミュレータを4ケまで起動できます。 そこで、4画面を同時に可視的(画面接続/切離などによる裏画面を使用せずに)に使用でき、非常に便利です。 4画面とも#TEDITで使用するなり、 1画面目にソース、2画面目にcopy集、3画面目に実行画面、4画面目にRDBQ/EUFなどのデータ表示 など、色々できます。 ここで、「江須扇」さんの投稿の、「R [PRG002] MSD MY-SUL 30,50」の部分ですが、 私は引用先ソース/引用元ソースともに画面表示し、 引用元ソースの行範囲を選択後(F1キーにてFROM-TOを選択後) 「W MSD F80」でディスクの中間ワークエリアに書き出し、 引用先で「R MSD F80」で読み込んでソースを引用しています。 結論から言いますと、ポイントは2つ 1:WS番号を4ケ所チェックし4エミュレータを起動できるようにする 2:中間ワークエリア(F80)を作成しておき、そこを介して、ソース引用をする です。 (注)F80ファイルはレコード長80、ブロック化係数3の順編成ファイルです | |
Re: x6:テキストエディタのSPLITについて | |
江須扇 2012-7-19 10:53:16
[返信] [編集] 富山清風様 早速テストしていただきありがとうございます。 | |
Re: 別サーバへのデータ移行 | |
森 2012-7-19 9:07:39
[返信] [編集] 私は和歌山でソフト会社を経営しています。AVXは20年以上 行っています。サーバ移行を何度も行いました。AVXサーバへの 移行であれば可能です。 | |
Re: テキストエディタのSPLITについて | |
富山清風 2012-7-18 18:57:08
[返信] [編集] 江須扇さんの「SPL U COB TEM」を確認してみました。 まず、#TEDITを起動し、 1.R [AAAAAA] MSD MY-SUL-------1本目のソースを読み込む 2.PF9キーにてコマンドラインへカーソルを移動 3.SPL U COB TEM----------------画面の上方に2本目のソースを読み込む「空」を確保する 4.PF6キーにてNOTE1からNOTE2の編集モードに切り替える (下方(画面の最下位行)のNOTE1をNOTE2に切り替える) 5.R [BBBBBB] MSD MY-SUL-------2本目のソースを読み込む それぞれのソースをPF6を介して行き来し、編集/書き込みできる。 また、BBBBBBのソースの一部をAAAAAAに引用(取込む)には、 1:BBBBBBの編集画面でPF1キーにてNOTE2のFROM-TOを指定し、AAAAAに戻って、TRコマンドを発行し取込む。 2:AAAAAAの編集画面でTR 10,20(BBBBBBの10行目から20行目までを引用(取込む)) のいずれの方法でもできました。 上記をまとめますと、 SPLコマンドの利用で2本のソースを同時に編集/書込みができる また、2本間のテキスト移動も簡単にできる。 となります。 説明不足かもしれませんが、実機の使える人は試してみてください。 以上、みなさんがんばりましょう。 | |
Re: テキストエディタのSPLITについて | |
江須扇 2012-7-18 11:35:50
[返信] [編集] こんにちはターラヤンさん >SPLITですが、2つの画面で別々のCOBOLプログラムを編集するときはどうも2つ目は「SUF上の直接編集」でないとダメなように感じます。。 最初に私の前述の(2)、(3)番であればできたと思います。 実機がないので記憶ですが、 >私は(3)番しか使っていなかったので >SPL U >だけでよかったと思います。 >そのあとRコマンドでライブラリーから読み込んでいました。 すいません、間違っていました、これは1つのプログラムが表示されるだけで、データ部を見ながらプロセス部を編集するときなどにつかっておりました。 他プログラムを読み込むときは SPL U COB TEM だったと記憶しております。 詳細説明は #TEDITの編集画面でコマンド入力のところで補助説明(End)をおして スクロールアップ(Shift+PageDown)でSPLITを選んでいただければ出てきます。 |
新規投稿 | スレッド表示 | ツリー表示 | 投稿順表示 | i-mode | トップ |
BluesBB ©Sting_Band