IBM i 用 APPC 印刷
APPC 印刷は、LU 1 印刷と同様に、SCS 制御コードをデータ ストリームで使用します。 APPC 印刷で使用できる SCS 制御コードのセットは、LU 1 印刷で説明されているセットよりも広範囲で、書式設定オプションも豊富デス。 IBM i には、Host Print Transform (HPT) と呼ばれる印刷ジョブを書式設定するための追加の方法も用意されています。 HPT を有効にすると、IBM i は印刷ジョブをプリンターが理解できるデータにレンダリングする責任を負います。
次の図は、印刷ジョブをローカル プリンターに送信するための IBM i と Host Integration Server の間の APPC 接続を示しています。
ホスト印刷変換 (HPT)
ホストが SCS コントロール コードを使用して印刷出力の書式を設定する場合、印刷エミュレーターは、WINDOWS プリンター ドライバーと Windows 印刷システムを使用してプリンターが理解できるデータに SCS コードと文字を変換します。 HPT を有効にすると、IBM i はデータを Host Integration Server に送信する前に、データをプリンター制御コードに変換します。 ホストからのこの出力では、IBM i を終了した後にそれ以上の処理は必要ありません。 印刷エミュレーターの役割は、プリンターにデータを送信することだけです。
HPT は、印刷セッションの装置記述の IBM i で有効になっています。 HPT を有効にすると、SCS 制御コード '0x03' を使用して、事前レンダリングされた印刷ジョブがマーク付き ASCII Transparent (ATRN) セクションで Host Integration Server に送信されます。 ATRN 制御コードは、LU 1 の印刷セクションで詳しく説明されている Transparent (TRN) 制御コードと同じ機能です。 ATRN は、データが ASCII であり、EBCDIC から ASCII に変換しないように、透過的として処理する必要があることを示します。
既定の 5224 印刷デバイスを使用してホスト変換機能を有効にする
印刷デバイスに関連付けられている印刷ライターを停止します。
印刷デバイスをオフに構成します。
次のコマンドを実行します。
chgdevprt devd(<print device>) transform(*YES) mfrtypmdl(<LAN printer type>)
一般的な LAN プリンターの種類は、*HP4、*HPIII、*HPII、*IBM4039です。 使用可能なオプションをすべて表示するには、MFRTYPMDL パラメーターで prompt (F4) を実行します。
印刷デバイスをオンに構成します。
印刷ライターを開始します。
ホスト印刷変換機能の詳細については、「IBM i プリンター装置プログラミング」マニュアル (SC41-3713)、または「IBM i 印刷 IV」 レッドブック (GG24-4389) を参照してください。 どちらも IBM から入手できます。
SCS コード
SCS 制御コードは、「IBM Host Print Guide」(ドキュメント番号 SC31-7145) にすべてが記載されています。 すべての SCS 制御コードは、'0x00' ~ '0x3F' の範囲内にあります。 制御コードは、添え字 '0x38' のような 1 バイト コードから、Set Horizontal Format "0x2BC1..." のように複数のパラメーターが続くマルチバイト コードまでさまざまです。
次の一覧には、使用される一般的な SCS 制御コードが含まれています。
注意
SCS 制御コードでは、[L] は length に等しく、 (Abv) は 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' です。 この制御コードを使用すると、移動前の位置と相対的に、または絶対位置で、水平方向または垂直方向に印刷位置を移動できます。
次の表に、プレゼンテーション位置 SCS コントロール コードの 4 つの形式を示します。
プレゼンテーション位置 SCS コントロール コード | 説明 |
---|---|
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
次の表は、上の印刷行に ABCD があり、WXYZ が下の行にインデントされたデータからの結果の印刷出力を示しています。
データ | 解釈 |
---|---|
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 進値 |