実行環境

39. 完全なスプール・ファイルの復元

先の「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) );