ADDIFSSHR
コマンドは NetServer によって共有される IFSを追加するコマンドである。
ADDIFSSHR
によって共有として追加されたIFSフォルダー内のストリーム・ファイルは
Winエクスプローラからも見るだけでなく編集することもできる。
例えばIFSに保管されているHTMLをWinエクスプーラで表示して、メモ帳で直接、表示して
編集することができる。上書きで保存すれば元のIFSに保管することができる。
このような編集はFTPによってダウンロードやアップロードの必要がないので開発の上では、
かなり効果的であるといえる。
あるいはExcelブックをIFSに保管しておいてWindowsからオープンすることもできる。
このようにIFSを共有化するとiSeries400のストリーム・ファイルの使用は今までとちがって
より一層扱いやすくなることは間違いない。
処理の方法としては
ENDTCPSVR *NETSVR STRTCPSVR *NETSVR
とするだけの簡単なものである。
ADDIFSSHR
は EnterpriseServer Ver3.0 のIFSメニュー(GO IFS)
に搭載されている。
0001.00 CMD PROMPT('IFS 共有の追加 ') 0002.00 PARM KWD(SHARENAME) TYPE(*CHAR) LEN(12) MIN(1) + 0003.00 PROMPT(' 共有名 ') 0004.00 PARM KWD(PATHNAME) TYPE(*PNAME) LEN(1024) DFT('') + 0005.00 SPCVAL(('')) PROMPT(' パス名 (/ で始まる )') 0006.00 PARM KWD(TEXT) TYPE(*CHAR) LEN(50) DFT('') + 0007.00 PROMPT(' 共有テキスト ') 0008.00 PARM KWD(PERMISSION) TYPE(*INT4) DFT(*READONLY) + 0009.00 RANGE(1 2) SPCVAL((*READONLY 1) + 0010.00 (*READWRITE 2)) CHOICE('*READONLY, + 0011.00 *READWRITE') + 0012.00 PROMPT(' 許可権 ') 0013.00 PARM KWD(MAXUSERS) TYPE(*INT4) DFT(*NOMAX) + 0014.00 SPCVAL((*NOMAX X'FFFFFFFF')) + 0015.00 PROMPT(' 最大ユーザー数 ') 0016.00 PARM KWD(CCSID) TYPE(*INT4) DFT(*JOB) + 0017.00 SPCVAL((*JOB 0)) + 0018.00 PROMPT(' 文字セット識別コード (CCSID)')
CRTCMD CMD(MYLIB/ADDIFSSGR) PGM(MYLIB/ADDIFSSHRC) SRCFILE(MYSRCLIB/QCMDSR) AUT(*ALL)
0001.00 PGM PARM(&SHARENAME &PATHNAME &TEXT &PERMISSION + 0002.00 &MAXUSERS &CCSID) 0003.00 /*---------------------------------------------------------*/ 0004.00 /* ADDIFSSHR : IFS 共有の追加 */ 0005.00 /* */ 0006.00 /* 実行には *IOSYSCFG 権限または IFS の所有者である */ 0007.00 /* ことが必要である。 */ 0008.00 /* この CLP のコンパイルは QSECOFR で USRPRF(*OWNER) */ 0009.00 /* 指定してコンパイルすること。 */ 0010.00 /* */ 0011.00 /* CRTCLPGM PGM(XXX/ADDIFSSHRC) SRCFILE(XXX/QCLSRC) + */ 0012.00 /* USRPRF(*OWNER) */ 0013.00 /* */ 0014.00 /*---------------------------------------------------------*/ 0015.00 DCL VAR(&MSG) TYPE(*CHAR) LEN(80) 0016.00 DCL VAR(&SHARENAME) TYPE(*CHAR) LEN(12) 0017.00 DCL VAR(&PATHNAME) TYPE(*CHAR) LEN(1024) 0018.00 DCL VAR(&TEXT) TYPE(*CHAR) LEN(50) 0019.00 DCL VAR(&PERMISSION) TYPE(*CHAR) LEN(4) 0020.00 DCL VAR(&MAXUSERS) TYPE(*CHAR) LEN(4) 0021.00 DCL VAR(&CCSID) TYPE(*CHAR) LEN(4) 0022.00 DCL VAR(&PATHLEN) TYPE(*CHAR) LEN(4) 0023.00 DCL VAR(&LEN) TYPE(*DEC) LEN(5 0) VALUE(1024) 0024.00 MONMSG MSGID(CPF0000) EXEC(GOTO CMDLBL(ERROR)) 0025.00 0026.00 /* 共有の追加 */ 0027.00 LOOP: IF (%SST(&PATHNAME &LEN 1) *EQ ' ') THEN(DO) 0028.00 CHGVAR (&LEN) VALUE(&LEN - 1) 0029.00 IF (&LEN *EQ 0) THEN(RETURN) 0030.00 GOTO LOOP 0031.00 ENDDO 0032.00 0033.00 CHGVAR (%BIN(&PATHLEN)) VALUE(&LEN) 0034.00 CALL PGM(QZLSADFS) PARM(&SHARENAME &PATHNAME + 0035.00 &PATHLEN &CCSID &TEXT &PERMISSION + 0036.00 &MAXUSERS X'00000000') 0037.00 SNDPGMMSG MSG(' 共有 ' *BCAT &SHARENAME *BCAT + 0038.00 ' が作成されました。 ') MSGTYPE(*COMP) 0039.00 RETURN 0040.00 0041.00 ERROR: RCVMSG RMV(*NO) MSG(&MSG) 0041.00 ERROR: RCVMSG RMV(*NO) MSG(&MSG) 0042.00 SNDMSG: SNDPGMMSG MSG(&MSG) TOMSGQ(*SYSOPR) 0043.00 ENDPGM
CRTCLPGM MYLIB/ADDIFSSHRC SRCFILE(MYSRCLIB/QCLSRC) USRPRF(*OWNER) AUT(*ALL)