図 184 には、プログラム内での RPG 装置名 SPECIAL の使用 方法を示してあります。この例では、ファイル EXCPTN に見付かったファイル記述が装置 SPECIAL と関 連しています。
*.. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... * FFilename++IPEASFRlen+LKlen+AIDevice+.Keywords+++++++++++++++++++++++++++++ FEXCPTN O F 20 SPECIAL PGMNAME('USERIO') F PLIST(SPCL) *.. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... * DName+++++++++++ETDsFrom+++To/L+++IDc.Functions++++++++++++++++++++++++++++ D OUTBUF DS D FLD 1 20 *.. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... * CL0N01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq.... C SPCL PLIST C PARM FLD1 C MOVEL 'HELLO' FLD C MOVE '1' FLD1 1 C WRITE EXCPTN OUTBUF C MOVE '2' FLD1 1 C WRITE EXCPTN OUTBUF C SETON LR
図 185 には、ユーザー作成プログラム USERIO を示してありま す。
*.. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... * DName+++++++++++ETDsFrom+++To/L+++IDc.Functions++++++++++++++++++++++++++++ D ERROR S 5S 0 *.. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... * CL0N01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq.... *----------------------------------------------------------------* * 最初の 4 つのパラメーターは、ILE RPG 作成のパラメーター・ * * リスト。残りはプログラマー定義の PLIST によって定義されます。 * *----------------------------------------------------------------* C *ENTRY PLIST C PARM OPTION 1 C PARM STATUS 1 C PARM ERROR 5 0 C PARM AREA 20 C PARM FLD1 1 *----------------------------------------------------------------* * ユーザー作成プログラムは渡されたオプションに従って * * ファイル入出力を実行します。 * *----------------------------------------------------------------* C SELECT C WHEN OPTION = 'O' C* perform OPEN operation C WHEN OPTION = 'W' C* perform WRITE operation C WHEN OPTION = 'C' C* perform CLOSE operation C ENDSL C RETURN
SPECIAL 装置の入出力操作は、ユーザー作成プログラム USERIO によって制御 されます。 プログラマー定義の PLIST(SPCL) に指定されるパラメーターは、SPECIAL 装置 の RPG 作成のパラメーター・リストの終わりに追加されます。プログラマー指定のパラメーターは、ユーザーの ILE RPG プログラムおよびユーザー作成のルーチン USERIO によってアクセスすることができますが、RPG 作成のパラメーター・リストは、内部 ILE RPG 論理およびユーザー作成のルーチンでしかアクセスすることはできません。
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.