先の「38. スプール・ファイルを完全に保存するには?」でおわかり頂けたようにスプールは
ユーザー・スペース(*USRSPC)に保管すれば完全に復元できることもおわかり頂けると思う。
スプールの完全なる復元はスプール属性とユーザー・スペースのデータを使って
API : QSPPUTSP
によって復元することができる。
以下に復元のエッセンスとなる中核の部分を SpoolライターVer 3.0のソースからの抜粋を示す。
C/400に多少の心得があれば Spoolライター Ver 3.0 の RSTSPLF
コマンドも自作することが
できる。
RPGでも同じ開発を行うこともできる。
0001.00 int handle; 0002.00 char spool_attr[ATTR_LEN]; 0003.00 char usrspace[20]; 0004.00 typedef struct { 0005.00 int BYTESPRO; 0006.00 int BYTESAVL; 0007.00 char EXCPID[7]; 0008.00 char RESRVD; 0009.00 char EXCPDATA[100]; 0010.00 } ERRSTRUCTURE; /* Define the error return structure */ 0011.00 ERRSTRUCTURE errcode; /* Error Code Structure */ 0012.00 0013.00 /*[ スプールの作成 ]*/ 0014.00 QSPCRTSP(&handle, spool_attr, (char*)(&errcode)); 0015.00 /*[ スプール・データの復元 ]*/ 0016.00 QSPPUTSP(handle, usrspace, (char *)(&errcode)); 0017.00 /*[ スプールのクローズ ]*/ 0018.00 QSPCLOSP(handle, (char *)(&errcode) );