IBM i 的 APPC 列印

APPC 列印,例如 LU 1 列印,會在數據流中使用 SCS 控制程式代碼。 APPC 列印中可使用的SCS控制程式碼集更為廣泛,而且允許比 LU 1 列印所描述的集合更多的格式設定選項。 IBM i 也提供額外的方法來格式化稱為主機列印轉換 (HPT) 。 啟用 HPT 後,IBM i 負責將列印作業轉譯成印表機可以了解的數據。

下圖顯示 IBM i 和主機整合伺服器之間的 APPC 連線,以便將印表作業傳送至本機印表機:

顯示IBM i 與主機整合伺服器之間APPC連線的影像,以將印表作業傳送至本機印表機。

主機印轉換 (HPT)

當主機使用 SCS 控制件代碼來格式化列印輸出時,列印模擬器會將 SCS 代碼和字元轉譯成印表機可以使用 Windows 印表機驅動程式和 Windows 印印系統了解的數據。 啟用 HPT 後,IBM i 會將數據轉換成印表機控制代碼,再將數據傳送至主機整合伺服器。 離開IBM i之後,主機的這個輸出不需要進一步處理。 列印模擬器的唯一責任是將數據提交至印表機。

HPT 會在列印會話的裝置描述中於IBM i上啟用。 啟用 HPT 時,會使用 SCS 控制程式碼 '0x03',在標示為 ASCII 透明 (ATRN) 區段中,將預先轉譯的列印作業傳送至主機整合伺服器。 ATRN 控制程式代碼提供與 LU 1 列印一節中詳述的透明 (TRN) 控制項程式代碼相同的函式。 ATRN 表示數據是 ASCII,應該以透明方式處理,而不是從 EBCDIC 轉換為 ASCII。

使用預設的 5224 印表裝置啟用主機轉換功能

  1. 停止與列印裝置相關聯的列印寫入器。

  2. 與列印裝置不同。

  3. 發出下列命令:

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

    常見的 LAN 印表機類型包括:*HP4、*HPHP、*HPII、*IBM4039。 若要查看可用選項的完整清單,請在 MFRTYPMDL 參數上提示 (F4) 。

  4. 列印裝置上會有所不同。

  5. 啟動列印寫入器。

    如需主機列印轉換功能的詳細資訊,請參閱「IBM i Printer 裝置程式設計」手冊 (SC41-3713) ,或「IBM i Printing IV」redbook (GG24-4389) 。 這兩者皆可從IBM取得。

SCS 程式代碼

SCS 控制件代碼完整記載於 IBM 主機列印指南 中, (檔編號 SC31-7145) 。 所有 SCS 控制件代碼都落在 『0x00』–'0x3F 的範圍內。 這些代碼的範圍從單一位元組程序代碼,例如下標 '0x38' 到多個字節代碼,後面接著數個參數,例如設定水準格式 '0x2BC1...'

下列清單包含一些常用的SCS控制程式代碼:

注意

在 SCS 控制件程式代碼中,[L] 等於長度,而 (Abv) 代表一位元節參數。

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

此 SCS 控制件程式代碼表示未掃描 SCS 代碼但未觸控到列印輸出的數據區段。 此外,此控件程式代碼表示數據是 ASCII。 數據區段的範圍是由長度位元組表示。 使用 HPT 作業時,長度位元組通常為「0xFF」。

範例

030441424344

03 — ATRN

04 — 長度為 4

41424344 — ABCD 的 ASCII 十六進位值

SCS 控制件程式代碼格式化 (非 HPT)

如果在列印會話的 [裝置描述] 中停用 HPT,SCS 控件代碼將用於列印作業的格式設定。 APPC 列印也支援先前針對 LU 1 列印詳述的 SCS 控件代碼、SHF、SVF、SLD 和 SPD。 APPC 列印中常用的是 SCS 控制程式程式代碼簡報位置 (PP) '0x34'。 此控制程式程式碼允許水準或垂直移動列印位置,相對於上一個位置或絕對位置。

下表列出簡報位置 SCS 控制件程式代碼的四種形式:

簡報位置 SCS 控制件程式代碼 Description
絕對水平簡報位置 (AHPP) '0x34C0 (nn) ' nn — 要設定列印位置的數據行編號。

範例

34C00F

34C0 - AHPP

0F — 欄號 15
相對水平簡報位置 (RHPP) '0x34C8 (nn) ' nn — 要從目前列印位置移動的數據行數目。

範例

34C80F

34C8 — RHPP

0F - 15 個數據行
絕對垂直簡報位置 (AVPP) '0x34C4 (nn) ' nn — 要設定列印位置的行號。

範例

34C40F

34C4 — AVPP

0F - 行號 15
相對垂直簡報位置 (RVPP) '0x344C (nn) ' nn — 要從目前列印位置移動的行數。

範例

344C0F

344C — RVPP

0F - 15 行

範例主機數據

下列範例顯示來自主機的範例數據,以及數據的說明和產生的印印輸出:

2BC10684 01840542 2BC20642 04420A21   
34C404 C1C2C3C4 344C01 34C004 E6E7E8E9  

下表顯示資料所產生的列印輸出,其中ABCD位於最上層列印線,而WXYZ縮排在下一行:

資料 解譯
2BC1068401840542 SHF,每行 132 個字元,LM 1,RM 132
2BC2064204420A21 SVF,每頁 66 行,TM 4,BM 66
34C404 AVPP 會將列印位置設定為第 4 行
C1C2C3C4 ABCD 的 EBCDIC 十六進位值
344C01 RVPP 會將列印位置設定為向下一行
34C004 AHPP 會將列印位置設定為第 4 欄
E6E7E8E9 WXYZ 的 EBCDIC 十六進位值

另請參閱

主機列印服務 (作業)