NECのオフコン情報掲示板(ノウハウ系)
NECのオフコンを活用するためのノウハウを話し合うための掲示板です。 |
新規投稿 | スレッド表示 | ツリー表示 | 投稿順表示 | i-mode | トップ |
Re: x7:プリンタの印字についてのご質問 | |
ど素人 2012-7-31 9:42:01
[返信] [編集] ご回答ありがとうございます。 >スペース行を”AFTER 0”で印字すれば改行命令が出力されるかもしれません。 できました!全部BEFOREに直して最後にAFTER 0を入れたところ 印字されるようになりました。 Micro FocusのPC-COBOLではシリアルプリンタを使用しており AFTER 0も使用しているのですが、オフコンのラインプリンタでも 使用できるのは目からウロコです。 とりあえず仕様通りできそうです。本当にありがとうございました。 | |
Re: x2:プリンタの印字についてのご質問 | |
ど素人 2012-7-31 9:33:58
[返信] [編集] ご回答ありがとうございます。 プリンタはNECのN1153-021でございます。 | |
Re: プリンタの印字についてのご質問 | |
ど素人 2012-7-31 9:32:22
[返信] [編集] ご回答ありがとうございます。 他の回答者様からAFTER 0を使用してみてはと 言われたのでBEFOREで印字し最後にSPACE行のAFTER 0 を使用したところ印字できるようになりました。 ただプリンタ設定でどうにかなるのであればそちらの方が 良いので詳細が分かりましたらお教え下さい。 | |
DEVLOP(開発支援プログラム)の簡易説明(その1) | |
江須扇 2012-7-30 12:46:25
[返信] [編集] 1.起動方法 通常のロードモジュールと同じで運用環境に合わせてご利用ください。 (例1)RUNコマンドで起動する場合 RUN DEVLOP,FIL=UTL−LML,DEV=MSD; UTL−LML・・・DEVLOPの登録されているロードモジュールライブラリー (例2)SYS@JSLにJCLを登録しRUNコマンドで起動する場合 JCL内容 /RUN DEVLOP,FIL=UTL−LML,DEV=MSD; /> ; RUN DP; DP・・・JCLのメンバー名 2.各モードについて DEVLOPが起動するユーティリティ等を示しております。 ファンクションキーで切り替わります。 24行目にガイド表示されます。 PF1「編集」 #TEDIT PF2「翻訳」 CBL85 PF3「一覧」 #LBM PF4「実行」 LM、PM、JSが実行されます PF5「追加」 #LBM PF6「置換」 #LBM 3.入力行23ラインについて 左側にタイムスタンプ(日付時刻)が表示され13桁目から入力となります。 【入力項目】 メンバー名 ファイル名1 デバイス名1 モード ファイル名2 デバイス名2 メンバー名 「編集」「翻訳」「実行」時は目的のメンバー名となります。 それ以外は6文字のコメントになります。 ※履歴が有る場合は入力せずEnterをすると履歴を取り込みます ファイル名1 目的のファイル名になります。 「編集」でスペースの時(メンバー名のみ入力)は”USERSUL”となります。 「追加」「置換」の時は入力ファイルとなります。 デバイス名1 目的のデバイス名になります。 規定値は”MSD”になります。(装置番号はなく自動サーチとなります) ※装置番号をつけて”MSD002”等も可能です。 「MSD???」「FDU???」が指定可能です。 「一覧」「追加」「置換」は「RMS???」も可能です。 モード COB COBOLの「編集」SULファイル対象 PAR パラメータの「編集」PMLファイル対象 JCL JCL の「編集」JSLファイル対象 ファイル名2 「翻訳」の時、COPYライブラリファイル名 「追加」「置換」の時、出力ファイルになります。 デバイス名2 デバイス名1に準じます。 | |
Re: x2:プリンタの印字についてのご質問 | |
オフコン人 2012-7-30 9:55:45
[返信] [編集] プリンタの機種は何になるでしょうか? 後ろにCMと付くタイプのプリンタだと、そのような仕様のようです。 1行目の印刷データを出力しただけでは、印刷を行わず、次の行の印刷データを出力すると、1行目の印刷データを印字するようです。 | |
Re: プリンタの印字についてのご質問 | |
近藤 2012-7-27 23:37:15
[返信] [編集] ソースを要求したのに 大変遅くなり、すみませんでした。 すっかりわすれてました。 たしかにプログラム的には問題ないような気がしますね。 ACCEPT要求をしてるときに印字されていないとなるとおかしいですよね。 プログラムではなければプリンタになるのですが・・・・ 考えられるのが、あるような気がします。 会社に帰ってからはっきりわかりますが、プリンタ側の設定で変えられるのですが、思い出せません。 write命令をだしてもプリンタ側にある程度溜め込めなければ印字しないような設定になっているのではないのでしょうか? サーバのプリンタ設定でラインプリンタを見てもらう事になります。プリンタ設定の中に アルファベット 3文字 E?? ??? ??? ??? 3から4種類を選択できる所がありますが この箇所を変えれば直出力になります。 自宅ではわからないので、月曜日まで持ち越すか どなたかわかる人にお任せします。 中途半端な回答になりすみません。 (ラインプリンタが会社になくUSER先に行かないと確認が取れませんw 3文字がまったくでてこないw "E"がついて、"U"もついてたような気がします、悔しいです) | |
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”に変更してリンクしてください。(アップロード時エラーになる為の対応です) 宜しくお願いします。 |
新規投稿 | スレッド表示 | ツリー表示 | 投稿順表示 | i-mode | トップ |
BluesBB ©Sting_Band