コード変換により、文字列データのバイト数が変わることがあります。配付定義により項目属性表示が付加された利用ジャーナルの文字列データおよび可変長文字列データの文字列領域のサイズを拡張することができます。文字列領域のサイズを拡張することにより、コード変換で文字列データのバイト数が増加しても、欠損データになるのを防ぐことができます。
コード変換により、文字列データのバイト数が変わる場合は以下のようになります。
文字列項目および可変長文字列項目の場合、項目属性表示の長さは項目の最大文字数(空白を含む)が設定され、コード変換によって文字列データのバイト数が増減しても、項目属性表示の長さは変わりません。
コード変換によって文字列データのバイト数が増減する場合、可変長文字列項目の可変長文字列データの長さには、コード変換後の文字列データのバイト数が設定されます。
配付定義により文字列項目の文字列領域のサイズを拡張する指定をした場合、文字列項目は項目属性表示の長さに2倍の最大文字数が設定され、文字列データの後ろに空白が設定されます。ただし、UNICODEに文字列データをコード変換する場合は、項目属性表示の長さに3倍の最大文字数が設定され、文字列データの後ろに空白が設定されます。
配付定義により文字列項目の文字列領域のサイズを拡張する指定をした場合、可変長文字列項目は項目属性表示の長さに2倍の最大文字数が設定されます。ただし、UNICODEに文字列データをコード変換する場合は、項目属性の長さに3倍の最大文字数が設定されます。なお、有効文字列データの後ろは不定です。
コード変換により文字列データのバイト数が増加する場合、文字列の後ろに空白があり増加するバイト数が空白のバイト数以内であれば、空白の領域を使用します。空白の領域が増加するバイト数に満たない場合は欠損データとなります。欠損データの詳細は"14.3.2 欠損データ"を参照してください。
配付定義により文字列項目の文字列領域のサイズを変更しない場合の変換例を"図14.16 文字列データの変換例(文字列領域のサイズを変更しない場合)"に、文字列項目の文字列領域のサイズを拡張する場合の変換例を"図14.17 文字列データの変換例(文字列領域のサイズを拡張する場合)"に示します。