IBMのAS/400と言うオフィスコンピュータのプログラミングをしてるのですが、罫線などの書式を合成したあとにレーザープリンタで印刷をかけるとかならず印刷のあとに印字なしのページが印刷されます。(1ページにつき1枚)
原因が分からずに困っているので詳しい方がいましたら返事を下さい!

ちなみにドットプリンタでの印字は問題ありません。書式の合成にはAPWを使用し、言語はRPGです。 宜しくお願いします。

A 回答 (3件)

APW以外では、PRTF上で、


DFNLINを使用すれば罫線表示できます。
ただし、一行目は空白にしないといけないという決まりがあります。
あと、確か二重線は引けなかった気がします。

これだと書式合成する必要もなく、ラクなのでは?
    • good
    • 0

用紙長(インチ)と行ピッチとかの設定は合っていますか?


私の場合はCLとAPW両方とも少し行数を減らしたらうまく行きました。
現象は一緒でしたので治ると思いますが....

APWは、あまり使いたく無いですね。私は苦手です。
    • good
    • 0

ツール→オプション→印刷を開くと中ほどに<同時に印刷する項目>の中にオブジェクト以外にチェックが入ってないのをご確認されてはいかがですか。

この回答への補足

昨日はありがとうございます。回答の件ですが、どこで設定をするのかわかりません。(ハード側かソフト側か)下記に詳しく状況を説明しますので、何か分かりましたらまた返事をいただけると幸いです。

・ ドットプリンターからレーザープリンタの入替えに伴うプログラム修正。
詳細)応用用紙からA4(B5)サイズへの変更(プログラムにてサイズの変更)
現象)データのみの出力ならばきちんと印刷ができる。
書式の合成(罫線、網掛け等)を行い出力すると1ページにつき2枚印字される。一枚目は正常に印字され、2枚目は空白(印字なし)で出力されます。

補足)書式の合成はAPWを使用。

あと、他に罫線などをひく方法(APW以外で)をご存知でしたら教えて下さい。よろしくお願いします。

補足日時:2001/03/15 14:12
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QAS400プリンタセッション作成について質問させてください

AS400のプリンタセッションを作りたく思いいろいろ調べました。
下記手順で間違ったところがあればご指摘・またはアドバイス等頂きたく思い投稿させて頂きました。

(1)端末(WinXP pro)にパーソナルコミュニケーションズ(PCOMM)4.3を導入。

※PCOMM以外にもクライアントアクセスなるソフトがあったのですがPCOMMと大きく違いはあるのでしょうか?

(2)同端末に出力したいプリンタのドライバインストール。

(3)PCOMM起動。通信→構成の[リンクパラメータ]でAS400のIPアドレスを記入。[セッションパラメータ]でセッションタイプのプリンタにチェックを入れる。
ホストのタイプはAS400、接続タイプはTELNETの5250を選択。

※セッションパラメータ中にワークステーション名という項目があるのですがここにはどういった値を入れればよいのでしょう?またこの画面内にある[拡張]をクリックして開くところにあるメッセージ待ち行列とは気にしなくていいのでしょうか?

(4)ファイル→プリンタ設定より出力したいプリンタを選らんでOKをクリック。

(5)テスト印刷

以上、実際に試せる環境がないのでこれで出力できるか確認できていませんが詳しい方いらっしゃいましたらご教授願います。

AS400のプリンタセッションを作りたく思いいろいろ調べました。
下記手順で間違ったところがあればご指摘・またはアドバイス等頂きたく思い投稿させて頂きました。

(1)端末(WinXP pro)にパーソナルコミュニケーションズ(PCOMM)4.3を導入。

※PCOMM以外にもクライアントアクセスなるソフトがあったのですがPCOMMと大きく違いはあるのでしょうか?

(2)同端末に出力したいプリンタのドライバインストール。

(3)PCOMM起動。通信→構成の[リンクパラメータ]でAS400のIPアドレスを記入。[セッションパラメ...続きを読む

Aベストアンサー

#1の続きです。

>>WinXPではサポート外なのですね。
Pcomm(途中のバージョンからは、製品名としては『HACP』と呼ぶようになりましたが)の各バージョンのOS対応について、以下のURLにリストがありますので参照して下さい。
http://www-06.ibm.com/jp/software/network/pcomm/version.html

昔のバージョンでは『シュリンクラップ』という、パッケージを単体で購入できるものがありましたが、今のPcomm(正確には『HACP』ですが)は確か、『パスポート・アドバンテージ』製品になっているはずですので、ソフトウェア・メンテナンスの契約をちゃんとしていれば、最新バージョンを使用することは可能です。(サポート期間中のものについて『パスポート・アドバンテージ・オンライン』のサイトでダウンロードできますから、最新のものに限らずインストールイメージを入手することは可能です。)


>>ワークステーション名に関しては任意の名前をつけておいて印刷するときディスプレイセッションからその名前を指定すれば出力できるという認識で大丈夫でしょうか?

前回の説明をもう少し具体的に解説します。

例えば、あるPCにディスプレイセッションとプリンタセッションを1つずつ作成したとします。
ディスプレイセッションのワークステーション名を『DSP100』、プリンタセッションのワークステーション名を『PRT100』としたとします。この時、プリンタセッションを作成する際に、メッセージ待ち行列を『DSP100』と指定すれば、AS/400側に出来る『PRT100』という『装置記述』に、メッセージ待ち行列が『DSP100』と指定されるため、『PRT100』というプリンタに関するメッセージ(用紙交換とか、用紙切れとか...)は、デフォルトでは『DSP100』というメッセージ待ち行列(これはとりもなおさず、『DSP100』というディスプレイセッションの装置記述が持つメッセージ待ち行列です)にメッセージが届くことになります。(配布モードが『*BREAK』になっていなくても、SysReqの4番で確認できます。)

ただし、AS/400にサイン・オンした際に実行される(と思われる)初期プログラムによってその設定を変更されるケースもありえますので、『絶対』だとは言えません。



使用するプリンタがCANON LBP-750ということですが、既に販売が終了されている製品です。
このプリンタでの5577エミュレーションモードについてですが、デフォルトでは持っていません。コントロールカード(別売)を追加することによってサポートされることになります。
http://cweb.canon.jp/e-support/qasearch/answer/lasershotprinters/q001000010862.html
コントロールカードを使わない場合であれば、ESC/Pがサポートされていますが、ESC/Pの場合、AS/400側のアプリケーションの作成仕様にもよりますが、制約を受けることが多々あると思って下さい。
一例としてですが、例えば、プリンタファイルを使用した帳票設計で、15CPI(198文字)はサポートされません。(通常では158文字=12CPIまでが限界)


...と、ここまでいろいろ書いてしまいましたが、私もAS/400関連を離れてかなり時間がたっていますので、最新の情報(正しい情報)については、出入りされているベンダーさんに確認していただくのがよいでしょう。(特に5577エミュレーションあたりについては、アプリケーション側の作り込みの仕様との兼ね合いがかなり大きいですから、ベンダーさんだけでなく、SIerさんにも確認する必要があるでしょう。)

#1の続きです。

>>WinXPではサポート外なのですね。
Pcomm(途中のバージョンからは、製品名としては『HACP』と呼ぶようになりましたが)の各バージョンのOS対応について、以下のURLにリストがありますので参照して下さい。
http://www-06.ibm.com/jp/software/network/pcomm/version.html

昔のバージョンでは『シュリンクラップ』という、パッケージを単体で購入できるものがありましたが、今のPcomm(正確には『HACP』ですが)は確か、『パスポート・アドバンテージ』製品になっているはずですの...続きを読む

QRPG 配列宣言について

いつもお世話になっております。
IBM AS/400の駆け出しプログラマーです。
今、配列を使ったシステムを組んでいるのですが、
たとえばAというDBの項目に同じものがいくつかあるとします。
課所コード1(KSCD1)、課所コード2(KSCD2)、・・・・
といったような項目です。
そのAのファイルを読み、課所コードを配列に入れたいのですが、
配列KSCというものに
KSC,1にはKSCD1
KSC,2にはKSCD2といった感じです。
演算仕様書でMOVEL  KSCD1  KSC,1
と個々にやっていく方法以外にレコードを読んだときに自動的に配列に入れるような方法があったら教えていただきたいと思います。
何せ個々に入れていくとそれだけで80行使ってしまうので・・・・
知っている方がいらっしゃいましたらどうかお助けください。
お願い致します。

Aベストアンサー

以下の様にプログラミングすれば可能です。

E* テーブル
E  KSC  80 5 (80はテーブル数、5は桁数)
I  DS
I      1  5 KSCD1 (KSCD1はAファイルのフィールド名)
I      6  10 KSCD2
I      11  15 KSCD3
I      16  20 KSCD4
      ・
      ・
      ・
I     396 400 KSCD80

あとはAファイルを読み込めば KSCD1 --> KSC,1 、KSCD2 --> KSC,2 ・・・・ KSCD80 --> KSC,80に自動的にセットされます。
この方法を使えば、画面ファイルのフィールドも同様に使用できます(私は良く使用しております)。
何かわからないことがあれば、補足します。

QRPGでファイル名(もしくはレコード様式名?)をRENAMEする方法

RPGをコンパイルすると
「メッセージ:外部記述ファイルのレコード様式名がファイル名としてすでに定義されている。」
と表示されます。
この場合上司のアドバイスだとRENAMEすれば大丈夫だというのですが、何をどうすればいいのか分かりません。
一応自分なりに検索して入るのですが、なかなか解答が見つかりません。
I仕様書を使って行うのでしょうか?
どなたかアドバイスお願いします。

Aベストアンサー

レコード様式名のリネーム
F仕様書でファイル名の記述がある次の行で同じ
F仕様書で27桁目からリネームしたいレコードの
様式名を記入し、61桁目にK(継続)を記入し
62桁目からRENAME(リネームすることの記述)
68桁目からリネーム後の名前を記述する
これでいかがでしょうか。

QRPG パラメーターについて

AS/400のRPG言語に携わり1年が経ちます。
お恥ずかしながら質問させていただきますが、
CLを組んで、CALLでRPGを呼び出す時にパラメーターを受け渡すようにしました。
初めてやってみましたが、なんとか動くようになりましたが、
今度はデバッグするときや、コマンドラインで直接プログラムを呼び出す時、CALLのオプションでパラメーターを指定しなければならなくなりました。
例えばOPTという数字変数のパラメータとAという文字パラメーター、Bという論理データのパラメーターにそれぞれ
1、’登録’、’1’というものを渡したい場合、
CALL PGM(EM02PR) PARM(・・・・・・)
PARMの記述はどう記入すればよいのでしょうか?

おわかりになる方宜しくお願い致します。

Aベストアンサー

CALL PGM(EM02PR) PARM('1' '0' '0' X'1F')もしくは
CALL PGM(EM02PR) PARM('1' '0' '0' X'01F')
どちらかで大丈夫だと思います。
いかがでしょうか。

QRPGプログラムの*HIVALについて

0001.00 READ PGM 91
0002.00 91 EXSR @shori

0050.00 MOVEL*HIVAL #KF01

っというような流れがあります。
#KF01というのはKFLDで指定してある、
キーフィールドのうちのひとつです。

この場合MOVEL*HIVALというのは何を意味しているのでしょうか?

Aベストアンサー

RPGの場合は MOVE *HIVAL #KF01
だけではキーの中に最高値を入れているだけですので
それだけでは意味をなしません。
その後にキーによるSETLLやSETGTがあると思います。
そこで初めて次処理を何処からするか読み始める位置を
移動のみします。また、その後のREADから実際の処理が
始まります。
ファイルの並び順(降順・昇順)とSET○○と
READの種類により処理も変わってきます。
これらは余計な処理をしなくても良いように必要ない
データは読まないという処理に使用したり、READ
の場合一度ファイルを読むとそのまま同じファイルを
読もうとしても最後まで読まれているため1件も
読まれないということがあるためちゃんとファイルが
読めるようにというときに使用されます。
*LOVAL(最小値)も同じようなときに使用されます。

QAS/400のDBについて

現在オフコンで基幹業務管理しております。

得意先のマスタの項目を何項目か追加するよう情報システム部に依頼を出したところ
フィールドの桁数の制限を既にオーバーしている為、これ以上追加するわけにはいかない???、との回答であっさり却下されてしまいました。意味が不明な為、よく追求すると、マスタ全体に桁数制限があり、現状その限界まで来ているとの事でした。オフコンの世界は良く分からないのですが、その追加する項目だけ別なテーブルに分けて対応することは不可能なのでしょうか?

Aベストアンサー

#2です。
>プログラムの分だけ変更が必要になるということですか?
プログラムの変更をしなくても、物理ファイル又は論理ファイルが
変更されたときはコンパイルという作業を行わないとプログラムが
エラーとなり動きません。
>あたらしいテーブルを作成するということですか?
オープン系でいうテーブルAS/400では物理ファイルといいますが
キーとなる項目(ここでは得意先CD)と追加したい項目だけ別の
物理ファイルを作成し、プログラム内でその項目を見に行くときは
得意先マスタではなく、新しいファイルを見に行くようにすることで
得意先マスタを変更するよりも楽に項目の追加の様なことはできます。
>後のメンテナンスとはどういったことですか?
後でプログラムの変更などがあった場合など、プログラムの仕様を
調べる必要があるときに、意味も無く行き当たりばったりのファイルを
多く使用していると、見づらく、理解するのに時間がかかり、
余計な時間をとられてしまいます。
※AS/400ではファイルの読み書きのタイミングが結構
難しいためファイル数が多いとそのときの状況をイメージするのに
苦労します。

#2です。
>プログラムの分だけ変更が必要になるということですか?
プログラムの変更をしなくても、物理ファイル又は論理ファイルが
変更されたときはコンパイルという作業を行わないとプログラムが
エラーとなり動きません。
>あたらしいテーブルを作成するということですか?
オープン系でいうテーブルAS/400では物理ファイルといいますが
キーとなる項目(ここでは得意先CD)と追加したい項目だけ別の
物理ファイルを作成し、プログラム内でその項目を見に行くときは
得意先マスタではなく...続きを読む

QAS400からPCファイルを実行したい

AS400からWindowsServer2003のファイル(BAT,CMD.EXEなど)を実行したいのですが、うまくいきません。
RUNRMTCMDというコマンドを使用したいのですが、「正常に完了しませんでした」というエラーになってしまいます。
AS400・PCに何か設定等が必要なのでしょうか?

宜しくお願いします。

Aベストアンサー

自分はAS400を使った事は無いが、ちょっとネットを検索してみた。
RUNRMTCMDはWindowsServerのコマンドプロンプト画面にリモートでログインする為のコマンドみたいですね。

どのレベルで上手くいっていないかがこちらに伝わってこないのですが、

 【プロンプト画面すら上手く開けない場合】
  http://www.tama.or.jp/~yamaken/commfaq.shtml
   ※[Q].RUNRMTCMDがうまく使えないが?の項を参照

 【プロンプト画面は開けるがどのコマンドも失敗する】
  ・ログインしているIDのセキュリティ(権限)を確認する

 【特定のバッチファイルやコマンドが失敗する】
  ・以下の例のように、Windows側でセキュリティの問題で実行出来ない例に該当するのかも知れない。
    http://www.e-bellnet.com/cgi-bin/wwwlng.cgi?print+200709/07090006.txt
   詳しくは、Microsoftのサポートに訊いてみましょう。

自分はAS400を使った事は無いが、ちょっとネットを検索してみた。
RUNRMTCMDはWindowsServerのコマンドプロンプト画面にリモートでログインする為のコマンドみたいですね。

どのレベルで上手くいっていないかがこちらに伝わってこないのですが、

 【プロンプト画面すら上手く開けない場合】
  http://www.tama.or.jp/~yamaken/commfaq.shtml
   ※[Q].RUNRMTCMDがうまく使えないが?の項を参照

 【プロンプト画面は開けるがどのコマンドも失敗する】
  ・ログインしているIDのセキュリティ(...続きを読む

Q日付型のフィールドに空白を入れる方法を教えてください

ASP(VBScript)でSQLサーバにINSET INTO文を使ってデータを格納しているのですが、日付の部分がNULLの時、「1900/1/1」が入ってしまいます。
そのまま、空白を入れる方法はどうやったらよろしいのでしょうか?

TABLE1の内容は
番号|内容|日付です。

INSERT INTO TABLE1 VALUES ( 1, 'あいう', '')

結果
1|あいう|1900/1/1

Aベストアンサー

あとは、プログラムの書き方次第ですね、、、


If hensu=Null Or hensu="" Then
dt = "NULL"
Else
dt = "'" & hensu & "'"
End IF

E_SQL = "INSERT INTO TABLE1 VALUES & _
"( 1,'あいう', " & dt& ")"
の様に書きます。

Q全銀TCP/IPについて

業務で全銀TCP/IPでのデータの送受信を使うことになったのですが、
全銀TCP/IPについて知識がまったく無いので、どなたかご存知でしたら教えてください。

A,Bの2つの環境があって、
AとB相互にファイルのやり取りが必要な時は、
AとB両方の環境に全銀TCP/IPソフトのホスト版、クライアント版が必要なのでしょうか?

それとも、開局要求を出せるのがクライアント版だけであって、
開局した後はホスト側からでもファイルを送信することが出来るのですか?

知識が無いので、見当はずれなことを言っているかもしれませんが、
よろしくお願いいたします。

Aベストアンサー

全銀TCP/IPとは、いちおセキュリティが必要なものなので、おいそれとは
広まってないはずです。

全銀TCP/IPと検索して、ヨソの会社がどういう製品を出しているのか調べるぐらいでしょうね。

Q「いずれか」と「いづれか」どっちが正しい!?

教えて下さいっ!
”どちらか”と言う意味の「いずれか」のかな表記として
「いずれか」と「いづれか」のどちらが正しいのでしょう???

私は「いずれか」だと思うんですが、辞書に「いずれか・いづ--。」と書いてあり、???になってしまいました。
どちらでもいいってことでしょうか?

Aベストアンサー

「いずれか」が正しいです.
「いづれ」は「いずれ」の歴史的かな遣いですので,昔は「いづれ」が使われていましたが,現代では「いずれ」で統一することになっていますので,「いずれ」が正しいです.


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング