スプール(罫線情報)を保存する方法
スプールの保存方法でCPYSPLFでのテキスト情報のみの保存が有名ですが、次の方法を使用すると、罫線等のバイナリーの情報を含めて保存する事が可能となるようです。
用紙タイプやCPI、LPIなどのスプール属性も保存復元できます。
CALL_ PGM(QSYS/QSPGETF)_ PARM('QSYSPRT___'_ 'SPLPF_____XYZLIB____'_ 'DSP01_____USER1_____123456'_ X'0001'_ 'SPLPF_____')
"_"はスペースを表しています。パラメータ中のスペース数は意味があるそうですので注意してください。全て英大文字で入力してください。
物理ファイルとメンバーは自動的に作成されます。1物理ファイルには1メンバーでの作成を推奨するそうです。
パラメータは5つとも全て指定して下さい。
パラメータの説明
日本IBM「iSeriesのスプールをファイルに落とす方法」で公開されています。
■保存した、スプールを復元する方法
CALL PGM(QSYS/QSPPUTF) PARM('SPLPF_____XYZLIB____' 'QPRINTS___QGPL______' 'SPLPF_____')
"_"はスペースを表しています。上記コマンド実行後にスプールが出力されます。
パラメータの説明
■(参考)CPYSPLFで保管復元する方法
制限として、重ね打ちや罫線情報などのバイナリー情報などが含まれるものは完全に復元できません。
【CPYSPLFでの保存方法】
帳票の幅+2バイトの物理ファイルを作成し、CTLCHAR(*FCFC)でコピーします。
物理ファイルの中身を見るとその意味がわかります。
以下のように先頭2バイトに制御文字が付加されます。

【CPYSPLFでの復元方法】
以下の方法でCPYSPLFで保管した物理ファイルをスプールファイルへ戻せます。
この方法ではスプール属性までは保存されませんので、必要であればOVRPRTFで指定変更の必要があります。
必ずCTLCHAR(*FCFC)の指定を行ってください。
用紙タイプやCPI、LPIなどのスプール属性も保存復元できます。
CALL_ PGM(QSYS/QSPGETF)_ PARM('QSYSPRT___'_ 'SPLPF_____XYZLIB____'_ 'DSP01_____USER1_____123456'_ X'0001'_ 'SPLPF_____')
"_"はスペースを表しています。パラメータ中のスペース数は意味があるそうですので注意してください。全て英大文字で入力してください。
物理ファイルとメンバーは自動的に作成されます。1物理ファイルには1メンバーでの作成を推奨するそうです。
パラメータは5つとも全て指定して下さい。
パラメータの説明
| 1 | 10文字 | スプールファイル名 |
| 2 | 20文字(10文字) | 任意の物理ファイル名(自動作成) |
| (10文字) | 任意のライブラリー名(既存のライブラリを指定) | |
| 3 | 26文字(10文字) | ジョブ名 |
| (10文字) | ユーザー名 | |
| (6文字) | ジョブ番号 | |
| 4 | 16進4桁 | スプールファイル番号16進数で指定X'0001'〜X'270F'まで V5R1以降では8桁に変更になっているようです |
日本IBM「iSeriesのスプールをファイルに落とす方法」で公開されています。
■保存した、スプールを復元する方法
CALL PGM(QSYS/QSPPUTF) PARM('SPLPF_____XYZLIB____' 'QPRINTS___QGPL______' 'SPLPF_____')
"_"はスペースを表しています。上記コマンド実行後にスプールが出力されます。
パラメータの説明
| 1 | 20文字(10文字) | 保存した物理ファイル名 |
| (10文字) | 保存した物理ファイルのライブラリー名 | |
| 2 | 20文字(10文字) | 出力するプリントファイル名 |
| (10文字) | 出力するプリントファイルのライブラリー名 | |
| 3 | 10文字 | 保存した物理ファイルのメンバー名 |
■(参考)CPYSPLFで保管復元する方法
制限として、重ね打ちや罫線情報などのバイナリー情報などが含まれるものは完全に復元できません。
【CPYSPLFでの保存方法】
| > CRTPF QTEMP/SPLPF RCDLEN(134) IGCDTA(*YES) ライブラリー QTEMP にファイル SPOOLPF が作成された。 メンバー SPOOLPF が QTEMP のファイル SPOOLPF に追加された。 > CPYSPLF FILE(QSYSPRT) TOFILE(QTEMP/SPLPF) JOB(123456/USER/JOBNAME) CTLCHAR(*FCFC) 桁調整機能はサポートされていない。 21 個のレコードが QTEMP のファイル SPOOLPF にコピーされた。 |
帳票の幅+2バイトの物理ファイルを作成し、CTLCHAR(*FCFC)でコピーします。
物理ファイルの中身を見るとその意味がわかります。
以下のように先頭2バイトに制御文字が付加されます。

【CPYSPLFでの復元方法】
以下の方法でCPYSPLFで保管した物理ファイルをスプールファイルへ戻せます。
この方法ではスプール属性までは保存されませんので、必要であればOVRPRTFで指定変更の必要があります。
必ずCTLCHAR(*FCFC)の指定を行ってください。
| > OVRPRTF QPRINTS CPI(1O) PAGESIZE(66 132) CTLCHAR(*FCFC) > CPYF QTEMP/SPLPF QPRINTS ファイル QPRINTS の印刷レコードは次の行から続けられる。 メンバー SPLPF から 19 個のレコードがコピーされた。 |