• No : 33905
  • 公開日時 : 2022/06/13 16:09
  • 印刷
DSServista

【DataSpider Servista】固定長アダプタでエンコードEBCDIC(Cp930)を使用した際のバイト数について教えてください

cp930(EBCDIC)を使用する場合、以下のような仕様制限がありますが、例えば、35 バイトのファイルサイズを書き込みした場合は、36バイトまで増加するということでしょうか。
 
--------
・EBCDIC(Cp930)で書き込む際に、マルチバイト文字はマルチバイト文字への変更を表す制御文字「Shift-OUT(0x0e)」とシングルバイト文字に戻る制御文字「Shift-IN(0x0f)」(それぞれ1バイト)で囲まれます。
 
・EBCDIC(Cp930)で書き込む際に、マルチバイト文字(たとえば全角スペース)でパディングすると、1パディング文字ごとに「Shift-OUT(0x0e)」と「Shift-IN(0x0f)」が付加されます。
--------
・[固定長]-[固定長ファイル書き込み]
 
カテゴリー : 

回答

■仕様説明
固定長アダプタにて、シフトコードが付与された場合、マルチバイト文字に「Shift-OUT(0x0e)」と「Shift-IN(0x0f)」が付与されるため、2バイト分出力データが増加します。
 
出力データが [固定長書き込みウィザード] で設定したフィールド長を超過した場合、超過分は切り捨てられるため、シフトコードを加味して適宜 [固定長書き込みウィザード] からフィールドの長さを調整してください。
 
■補足
固定長ファイル書き込み処理について、以下の「既知の問題」があります。
 
-----
DSS-25756
 
・固定長ファイル書き込み処理で、以下の両方を設定したフィールドを出力すると、エラーが発生し書き込みに失敗する場合があります。
 
- シフトコードを使用するエンコードを設定
- パディング文字に全角文字を設定
-----
 
上記より、シフトコードが使用されるエンコードをご利用いただく場合は、パティング文字に半角スペースなどをご使用ください。
 
目的別で検索
仕様確認