013.xtconvで可変長レコードの入力データを正しく変換できない
| 質問 |
可変長レコード形式の入力データに「'(シングルクォート)」や「"(ダブルクォート)」が含まれていると正しく変換できません。 |
| 回答 |
この資料は以下の製品について記述したものです。 NISMail/NT(Windows版) Version 1.0 〜 Version 4.0 NISMail/UX(UNIX版) Version 1.0 〜 Version 4.0 フォーマット定義ファイルでquotesの指定が抜けているためです。 入力ファイルが可変長レコード形式ファイルの時、入力フォーマット定義ファイルに可変長形式のサブオプション「quotes」を記述しなかった場合、ユーザが意図していない変換結果やエラーメッセージを出力することがあります。
具体的には、下記の現象が発生します。 ・入力データ中に含まれる「'(シングルクォート)」や「"(ダブルクォート)」が欠落する。 ・エラーメッセージ「No close quote」が出力される。
上記現象が発生する場合、下記の項目を確認して下さい。 ・フォーマット定義ファイルで引用符(quotes)を指定しているか。 これらの現象は、フォーマット定義ファイルで可変長レコード形式を指定した場合、下記の値をデフォルトとして使用するためです。
区切り文字:,(カンマ) 引用符 :'(シングルクォート) "(ダブルクォート)
これは、デフォルトとして下記の指定を行ったものと同じ扱いになります。
.rectype fsep=, quotes=\"\"\'\'
本現象を回避するには、フォーマット定義ファイルで区切り文字や引用符を明示的に指定し、デフォルトの指定を外してください。 たとえば、引用符を明示的に指定しない場合は下記のように記述します。
.rectype quotes= |
|