Hitachi

ノンストップデータベース HiRDB Version 9 コマンドリファレンス(Windows(R)用)


8.9.17 fixtext_option文(固定長データ形式の入力データファイル生成時の出力データに関する記述)

-W fixtextオプションを指定して,固定長データ形式の入力データファイルを生成する場合,出力データについての情報を指定します。

<適用基準>

固定長データ形式の入力データファイルを生成する場合(-W fixtextオプションを指定する場合),出力データを編集するときに指定します。

<規則>
  1. fixtext_option文は一つだけ指定できます。

  2. オペランドを二つ以上指定する場合,オペランド間を空白文字(0x20)で区切ってください。

  3. オペランドの指定がない場合,fixtext_option文は指定しないでください。

〈この項の構成〉

(1) 形式

 fixtext_option 〔cntlcode={nocheck|check|replace〔,置き換え文字〕}〕
 
        〔enclose=囲み文字〕
 
        〔format=データ型,出力形式〕

(2) 説明

(a) cntlcode={nocheck|check|replace〔,置き換え文字〕}

データ型が文字データ型,各国文字データ型,及び混在文字データ型の場合,文字データ中に制御文字(ASCIIコード0x00〜0x1f)を含む列があるときの,データ出力の制御方法を指定します。

nocheck:

制御文字があるかどうかをチェックしないで,DB中の列データをそのまま出力します。DB中の列データをそのまま出力する場合に指定します。

check:

制御文字があるかどうかをチェックします。列データ中に制御文字が含まれている場合,該当行はアンロードデータファイルに出力しません。制御文字を含む行の出力を抑止したい場合に指定します。

replace[,置き換え文字]:

制御文字があるかどうかをチェックします。列データ中に制御文字が含まれている場合,制御文字を置き換え文字に変換し,該当行をアンロードデータファイルに出力します。列データ中に制御文字があっても,テキストビューアなどで参照できる形式で出力する場合に指定します。

置き換え文字は,1バイトの文字で指定してください。

<置き換え文字の指定規則>
  1. 置き換え文字を省略した場合,コロンが仮定されます。

  2. 次の文字は,置き換え文字に指定できません。

    空白,タブ,アスタリスク,下線

  3. 次の文字は,出力データのコードと重なる可能性があるため,置き換え文字には適していません。

    ・出力データ中にある文字

    ・数値データの符号(+,−)

    ・マルチバイト文字に文字コードが重なる文字(|,¥,[,],(,),{,}, ̄)

    ・日間隔,時間隔,及び時刻印データのハイフン

    ・時間,及び時刻印データのコロン

    ・数値,日間隔,時間隔,及び時刻印データのピリオド

<cntlcodeオペランドの規則>
  1. cntlcodeオペランド,又はfixtext_option文を省略した場合,cntlcode=nocheckが仮定されます。

  2. cntlcodeオペランドは,fixtext_option文中に一つだけ指定できます。

  3. 列データ中の制御文字有無,及びcntlcodeオペランドの指定値と,pdrorgの動作の関係を次に示します。

    条件

    pdrorgの動作

    列データ中の制御文字有無

    cntlcodeオペランドの指定値

    制御文字のチェック

    データ出力方法

    あり

    check

    該当する行を出力しないで処理を続行します(pdrorgはリターンコード4で正常終了します)。

    replace

    制御文字を置き換えて出力します。

    nocheck

    ×

    DB中のデータをそのまま出力します。

    なし

    check

    DB中のデータをそのまま出力します。

    replace

    nocheck

    ×

(凡例)

○:制御文字をチェックします。

×:制御文字をチェックしません。

注※

1バイト文字をチェックします。マルチバイト文字はチェックしません。

(b) enclose=囲み文字

列データの前後に囲み文字を付ける場合,データを区別するために1バイトの囲み文字を指定します。囲み文字の規則については,cntlcodeオペランドの置き換え文字と同じです。

<適用基準>

列データの前後に囲み文字を付けたい場合に指定します。また,可変長文字列(文字データ型,各国文字データ型,及び混在文字データ型)の列データ長が定義長より短い場合,又はナル値の場合,定義長までパディング文字(デフォルトでは空白文字)を埋めます。そのため,列データ長が0バイトの場合は,0バイト文字データ,ナル値データ,及び空白文字だけのデータの区別ができません。このような場合にencloseオペランドを指定すると,データに囲み文字が付くため,これらを区別できるようになります。

データ型がvarchar(8),パディング文字が空白文字の場合の,データ出力例を次に示します。

データ

出力されるデータ

encloseオペランドなし

enclose="

0バイト文字

△△△△△△△△

""△△△△△△△△

ナル値

△△△△△△△△

△△△△△△△△△△

すべて空白文字

△△△△△△△△

"△△△△△△△△"

(凡例)

△:空白文字

<encloseオペランドの規則>
  1. encloseオペランドは,fixtext_option文中に一つだけ指定できます。

  2. encloseオペランドを指定した場合の囲み文字の有無を次に示します。

    列のデータ型

    列のデータ値

    囲み文字の有無

    CHAR,VARCHAR,NCHAR,NVARCHAR,MCHAR,及びMVARCHR

    ナル値

    囲み文字は付きません(囲み文字ではなく,パディング文字が付きます)。

    実値

    囲み文字が付きます。

    上記以外

    ナル値

    囲み文字は付きません。

    実値

注※

出力長が2バイト増加します。

(c) format=データ型,出力形式

列データの出力形式を変更する場合に指定します。変更できるデータ型はINTEGER及びSMALLINTです。

データ型:

出力形式を変更する列又はパラメタ(コンストラクタパラメタ逆生成関数)のデータ型を指定します。integer又はsmallintを指定してください。

<規則>
  1. データ型の指定値には,同じデータ型を複数指定できません。

  2. 指定したデータ型の列が表にない場合,指定が無視されます。

出力形式:

データ型の出力形式を指定します。type1又はtype2を指定してください。

省略した場合,type1が仮定されます。なお,INTEGER及びSMALLINT以外のデータ型の場合,type1となります。

type1,及びtype2については,「出力形式」を参照してください。