IFS

35. [重要] QNTCの見落としやすい注意

以前に「28.NetServer と QNTC」で紹介したように
IFSにはQNTCという名前の特別なフォルダーが存在していて
この /QNTCを通して構内LANの共有フォルダーにアクセスすることができる。
_

例えば 構内の IP: 192.168.1.54 のWindowsサーバーの共有ファルダー内に
製品や部品の画像ファイルが保管されていてそれをプログラムで
参照したいのであれば

 CRTDIR     DIR('/QNTC/192.168.1.54') DTAAUT(*RWX) OBJAUT(*ALL)

と仮想ディレクトリーを作成しておけば
Windowsサーバーの共有ファルダーをIBM iからアクセスできるようになる。
しかし

IPL によってこのQNTCの設定は失われてしまう

ということが判明した。
これは

https://www.ibm.com/docs/ja/i/7.1?topic=qntc-creating-directories-in-file-system
_

としてIBMによって公開されている。

そこでIPL時にもこのDIRが再作成されるようにするには
スタートアップ・プログラム : QSTRUP に次のように登録しておけばよい。

[ QSTRUP ]

  PGM
   :
0051.00 NOWTRS:                                                  
0052.00      QSYS/STRTCP                /* QTR ADD */            
0053.00      MONMSG MSGID(CPF0000)                               
0054.00      CRTDIR     DIR('/QNTC/192.168.1.54') DTAAUT(*RWX) + 
0055.00                   OBJAUT(*ALL)                           
0056.00      MONMSG     MSGID(CPF0000) 

[解説]

QSTRUP には TCPIPが開始されるように NOWTRS の直後に QSYS/STRTCP を
行けておく必要がある。
その次には CRTDIR コマンドを記述してIPLによって失われたDIRを
再作成するようにする。
これによってQNTCの共有フォルダー記述も復活することができる。
 _