TCP/IPサービス(サーバータスク)への環境変数指定時の考慮点
ENVARパラメータを指定して個別に指定
//STEP PGM=FTPD,
// PARM=('POSIX(ON),ALL31(ON)',
// 'ENVAR("BPX_JOBNAME=FTPD"',
// '"TZ=JST-9"))
_CEE_ENVFILE環境変数を経由して
//STEP PGM=FTPD,
// PARM=('POSIX(ON),ALL31(ON)',
// 'ENVAR=("_CEE_ENVFILE=DD:STDENV")
:
//STDENV DD DISP=SHR,DSN=TCPIP.STDENV
マニュアル記載
この場合、環境変数はSTDENV DD ステートメントで指定されたファイルから読み取られます。
このファイルがMVS データ・セットの場合、そのデータ・セットはRECFM=V で割り振られていなければなりません。
RECFM=F では環境変数のブランクによる埋め込みが可能になるため、RECFM=F は推奨されません。
~z/OS V1R10.0 Communications Server: IP 構成ガイド p54~
毎度おなじみの推奨されません ⇒やったらどうなるかは保証の限りではないということ、で
TZ環境変数で引っかかりました。 下のように定義したのに実際に外部から接続したら 接続元(今回は次席PCでテスト)のLOG上の時刻が1時間ずれていました。
TZ JST-9
(データセット属性RECFM=F,LRECL=80)
サマータイムを使用する環境の場合TZ EST6EDT5のように設定すると、
期間を指定しなくても、4月第一日曜日 2時~10月最終日曜日 2時の間、
1時間進めてくれる。
今回の場合JST-9の後ろ80バイトまでのブランクを設定値と認識した
FTPサーバーが、勝手にサマータイムの指定がある(が情報は不正)と認識したため、
デフォルト解釈で、GMT-10の時間を表示してしまった、、、らしい
TZ JST-0[][][][][][][][][]<--ずっと続くブランクをパラメータと認識