#NFCNVで固定長のテキスト作成

1:#NFCNVで固定長のテキスト作成
にゃん黒 10/16 18:28
既出かもしれませんが、ご存知の方がいらっしゃればお手数ですが

教えて下さい。



#NFCNVで 

  SEQデータ(AVX)→固定長のテキスト(DOS)

に変換したいのですが、テキストで最後のFILLERが省略され

レコード長が変わります。



入力のSEIファイル(REC=128)がマルチレイアウトなので

下記のJSで実行しました。

FILLERは「40」スペースで埋まってます。



/RUN #NFCNV,DEV=MSD;               
MN1=C_MN2=AD_PA1=MSD_PA3=SEI_PA4=1_PA5=C128_
PB1=A:SEI_PB2=TXTJ_               
PB3=EXCLUSIVE_PB7=C_PB8=CREATE_MN1=Q_    
/> ;



2:Re:#NFCNVで固定長のテキスト作成
tahrayan 10/16 23:07
こんにちは。



FILLERが省略されてしまう、というのはわかりませんが、



マルチレイアウトであるということと128バイト分全部

英数字項目として変換しているところが気になります。



例えば、本来パック10進で変換しなければならないところを

英数字項目で変換しているため、誤変換かエラーになりFILLER

が切れてしまっている、あるいは変な制御コードが混じって

しまって切れているように見えている、ということはないでしょうか。





3:Re:#NFCNVで固定長のテキスト作成
温泉好きのうさぎ 10/17 09:53
FILLER項目に限らず、レコードの後ろの部分にスペースがあった場合、PB2=TXTJ_ で変換すると出力されたテキストは可変長であるため、後ろのスペースは省略された状態で改行されてしまいます。



PB2=SDF_ (EOFを付けないときはPB2=SDFN_) の指定をすれば、PA5=C128_で定義した固定長レコードでテキストは出力されます。



また、変換される文字コードセットは、システム標準となるため通常であれば、JIS となります。



4:Re:#NFCNVで固定長のテキスト作成
にゃん黒 10/17 22:44
「温泉好きのうさぎ」さん、ありがとうございます。

アドバイスどおり下記のJSでうまくいきました。


/RUN #NFCNV,DEV=MSD;  
MN1=C_MN2=AD_PA1=MSD_PA3=SEI_
PA4=1_PA5=C128_PB1=A:SEI_PB2=SDF_
PB3=EXCLUSIVE_PB7=C128_PB8=CREATE_MN1=Q_          
/> ;



本当に助かりました。



ターラヤンさんも書込みありがとうございました。

1-

BluesBB ©Sting_Band