AS/400 (APPC) の印刷

APPC 印刷は、LU 1 印刷と同様に、SCS 制御コードをデータ ストリームで使用します。 APPC 印刷で使用できる SCS 制御コードのセットは、LU 1 印刷で説明されているセットよりも広範囲で、書式設定オプションも豊富デス。 IBM AS/400 には、ホスト印刷変換 (HPT) と呼ばれる印刷ジョブを書式設定する際に使用する追加のメソッドも用意されています。 HPT を有効にすると、AS/400 はプリンターが理解できるデータに印刷ジョブをレンダリングする機能を果たします。

Image that shows the APPC connection between AS/400 and Host Integration Server to send print job to local printer.
ローカル プリンターに印刷ジョブを送信するための AS/400 と Host Integration Server の間の APPC 接続

ホスト印刷変換 (HPT)

印刷出力を書式設定するためにホストで SCS 制御コードが使用される場合、プリント エミュレーターは、Windows プリンター ドライバーと Windows プリント システムを介して、SCS コードと文字をプリンターが理解できるデータに変換する役割を果たします。 HPT を有効にすると、AS/400 はデータをプリンター制御コードに変換してから、Host Integration Server にデータを送信します。 ホストからのこの出力は、AS/400 から送信されてからはそれ以上処理する必要はありません。 印刷エミュレーターの役割は、プリンターにデータを送信することだけです。

AS/400 で、HPT は印刷セッションの [デバイス] の説明で有効になっています。 HPT が有効になっている場合、事前レンダリングされた印刷ジョブが、SCS 制御コード '0x03' を使用して、マークされた ASCII 透過 (ATRN) セクションで Host Integration Server に送信されます。 ATRN 制御コードは、LU 1 の印刷セクションで詳しく説明されている Transparent (TRN) 制御コードと同じ機能です。 ATRN は、透過賭して処理する必要があるデータ ブロックを示すほかに、データが ASCII であることも示します。したがって、EBCDIC から ASCII に変換されることはありません。

既定の 5224 印刷デバイスを使用してホスト変換機能を有効にする

  1. 印刷デバイスに関連付けられている印刷ライターを停止します。

  2. 印刷デバイスをオフに構成します。

  3. 次のコマンドを実行します。

    chgdevprt devd(<print device>) transform(*YES) mfrtypmdl(<LAN printer type>)  
    
    

    一般的な LAN プリンターの種類は、*HP4、*HPIII、*HPII、*IBM4039 です。 使用可能なオプションをすべて表示するには、MFRTYPMDL パラメーターで prompt (F4) を実行します。

  4. 印刷デバイスをオンに構成します。

  5. 印刷ライターを開始します。

    ホスト印刷変換機能の詳細については、「OS/400 Printer device programming」マニュアル (SC41-3713) または「AS/400 Printing IV」レッドブック (GG24-4389) を参照してください。 どちらも IBM から入手できます。

SCS コード

SCS 制御コードは、「IBM Host Print Guide」(ドキュメント番号 SC31-7145) にすべてが記載されています。 すべての SCS 制御コードは、'0x00' ~ '0x3F' の範囲内にあります。 制御コードは、添え字 '0x38' のような 1 バイト コードから、Set Horizontal Format "0x2BC1..." のように複数のパラメーターが続くマルチバイト コードまでさまざまです。

以下に示すのは、一般的に使用される SCS 制御コードの一部です。

Note

[L] = length と (Abv) は、SCS 制御コードにおける 1 バイトのパラメーターを表します。

ASCII 透明度 (ATRN) — '0x03[L](P1)(. .)(Pn)'

この SCS 制御コードは、SCS コードがスキャンされておらず、印刷出力にそのまま渡されたデータのセクションを示します。 また、データが ASCII であることも示しています。 データのセクションの範囲は、長さ (バイト) で示されます。 HPT ジョブでは、長さ (バイト) は通常 '0xFF' になります。

030441424344

03 — ATRN

04 — 長さ 4

41424344 — ABCD の ASCII 16 進値

書式設定された SCS 制御コード (HPT 以外)

印刷セッションの [デバイス] 説明で HPT が無効になっている場合は、印刷ジョブの書式設定に SCS 制御コードが使用されます。 LU 1 印刷について既に詳しく説明している SCS 制御コード、SHF、SVF、SLD、SPD も APPC 印刷でサポートされています。 APPC 印刷でもよく使用されている SCS 制御コードが、Presentation Position (PP) '0x34' です。 この制御コードを使用すると、移動前の位置と相対的に、または絶対位置で、水平方向または垂直方向に印刷位置を移動できます。

Presentation Position SCS 制御コードの 4 つの形式を次に示します。

Absolute Horizontal Presentation Position (AHPP) '0x34C0(nn)'

nn — 印刷位置を設定する列番号。

34C00F

34C0 — AHPP

0F — 列番号 15

Relative Horizontal Presentation Position (RHPP) '0x34C8(nn)'

nn - 現在の印刷位置から移動する列の数。

34C80F

34C8 — RHPP

0F — 15 列

Absolute Vertical Presentation Position (AVPP) '0x34C4(nn)'

nn — 印刷位置が設定されている行番号。

34C40F

34C4 — AVPP

0F — 行番号 15

Relative Vertical Presentation Position (RVPP) '0x344C(nn)'

nn — 現在の印刷位置から移動する行の数。

344C0F

344C — RVPP

0F — 15 行

サンプル ホスト データ

次に示すのは、ホストからのサンプルデータと、そのデータの説明および結果の出力です。

2BC10684 01840542 2BC20642 04420A21   
34C404 C1C2C3C4 344C01 34C004 E6E7E8E9  
  
データ 解釈
2BC1068401840542 SHF、1 行あたり 132 文字、LM 1、RM 132
2BC2064204420A21 SVF、1 ページあたり 66 行、TM 4、BM 66
34C404 AVPP で印刷位置を 4 行目に設定
C1C2C3C4 ABCD を表す EBCDIC 16 進値
344C01 RVPP で印刷位置を 1 行下に設定
34C004 AHPP で印刷位置を 4 列目に設定
E6E7E8E9 WXYZ を表す EBCDIC 16 進値

前の表のデータからの印刷を出力 最初の印刷行に ABCD があり、下の行にインデントした WXYZ があります。

関連項目

ホスト印刷サービス (操作)