|
フィールドのNULLは以下のやり方で出来ました。
物理ファイル TESTPF
0001.00 A*------------------------------------*
0002.00 A R TESTR
0003.00 A*------------------------------------*
0004.00 A A1FLG0 9S 0 COLHDG('FLAG 0')
0005.00 A DFT(*NULL) ALWNULL
とします。
NULLかいなかの確認は、UPDDTAで該当レコードをみると、右下にフィールド
FLAG 0 が空値である。とでるので、これを信じることにします。
- INZPFMでデータを作成すると、A1FLG0は、NULLデータになっている。
- RPG400ではうまく出来なかった。CRTRPGPGMのALWNULLは、データマッピングエラーの抑制。
- RPG IVでは、V3r7以降、下記のやり方で、可能です。関数があって、NULL標識(Ind)をONにして書き出せばいいだけです。この関数は、NULL検査にも使えます。また、この関数を使うときは、ALWNULLを*USRCTLにしなくてはいけないようです。コンパイルオプションか、H仕様書に入れておけばいいです。
0001.00 HALWNULL(*USRCTL)
0002.00 FTESTPF O E DISK
0003.00 C EVAL %NULLIND(A1FLG0) = *ON
0004.00 C WRITE TESTR
0005.00 C MOVE *ON *INLR |
2000-8-9 |