コンテンツエリア開始

Syntax documentation データ型 Locate the document in its SAP Library structure

データのエクスポートおよびインポート用のほとんどのローダコマンドでは、データストリーム内の関連する項目のデータ型を指定することができます。

データベース内部データ型と外部データ型は区別されます。

      内部データベースデータ型

内部データ型は、データベーステーブル内の列に定義されているデータ型です。
すべての内部データ型の説明は、SQL 参照マニュアルStructure linkデータ型 (data_type) を参照してください。

      外部データ型

外部データ型は、ローダでアプリケーションデータのエクスポート時に内部データベースデータ型から変換されるデータ型、またはデータのインポート時に内部データベースデータ型から変換されるデータ型です。
エクスポートまたはインポート用のコマンドで、構文要素 field_type を使用して、エクスポートまたはインポートするフィールド値ごとに外部データ型を指定することができます。

データ型の指定により、ローダにデータストリーム内のデータの解釈方法が認識されます。

      アプリケーションデータがテーブルからエクスポートされるとき、内部データベースデータ型が、指定した外部データ型に変換され、対応する列値がエクスポートされます。

      アプリケーションデータがテーブルにインポートされるとき、指定した外部データ型が内部データベースデータ型に変換され、テーブルの対応する列値がインポートされます。

外部データ型と、対象テーブル内の列値の対応する内部データベースデータ型は、同じである必要はありません。

参照:

列説明

出力列

データレコードの選択

構文

<field_type> ::= /* empty */ | CHAR | DECIMAL [(<unsigned_integer>)]
| INTEGER | REAL | ZONED [(<unsigned_integer>)]

/* empty */

データ項目は、データ型 CHAR として読込または出力されます。データベース内の内部データベース列書式はいずれも、CHAR 書式で読み込んだり出力したりできます。

CHAR
(
プレーンテキスト値)

ASCIIUCS2、または UTF8 コード (コンピュータによって異なります)。最大 254 バイト。

DECIMAL
(
バイナリ値)

パック 10 進数形式: ハーフバイトあたり 1 桁、一番右のハーフバイトに符号、1 10 バイト長、最大 18 桁、小数点の位置はテーブル列型から導出されます。

DECIMAL(<unsigned_integer>)
(バイナリ値)

unsigned_integer: 小数点の右側の桁数。

INTEGER
(
バイナリ値)

バイナリコード (コンピュータ固有)12、または 4 バイト長、ビット 0 に符号、2 の補数表現に負の値。

REAL
(
バイナリ値)

仮数部および指数部を持つ浮動小数点表記、4 バイトまたは 8 バイト長、コンピュータ固有の表記。

ZONED
(バイナリ値)

ゾーン 10 進数形式: /370 ゾーンデータ書式が許可されます。小数点の位置は、テーブル列型から導出されます。

ZONED(<unsigned_integer>)
(バイナリ値)

unsigned_integer: 小数点の右側の桁数。

Example

IMPORT TABLE hotel.reservation
DATA INSTREAM 'reservation_fwv.data' FWV BINARY
  rno        01-04 
INTEGER
  cno        05-08 
INTEGER
  hno        09-12 
INTEGER
  type       13-18 CHAR
  arrival    19-28 CHAR
  departure  29-38 CHAR

RNOCNO、および HNO 内の値に対して、データベーステーブル RESERVATION に内部データベースデータ型 FIXED が必要です。

IMPORT TABLE コマンドによって、これらの列に対して外部データ型 INTEGER が定義されます。列 RNOCNO、および HNO 内のデータは、インポートされるときに内部データベースデータ型 FIXED に変換されます。

Example

IMPORT TABLE room
DATA
INSTREAM 'room_fwv_binary.data' FWV BINARY
  hno     01-05
  type    06-11
  free    12-19  INTEGER  
HEX
  price   20-27  INTEGER  
HEX

IMPORT TABLE コマンドによって、外部データ型として 16 進数値 FREE および PRICE が定義されます。このためには、追加の HEX 指定を使用します。

説明

項目値に外部データ型が指定されていない場合、ローダによって、CHAR データ型がこの項目値のデフォルトとして選択されます。したがって、項目値がデータ型 CHAR を持たない場合、またはデータ型 CHAR が望ましくない場合は、データ型を指定する必要があります。

バイナリ値

数値の外部データ型(INTEGERREALDECIMALZONED) はすべて、バイナリ値として解釈されます。これらは、データベースで使用される内部データ型 (FIXEDSMALLINTINTEGERFLOAT) のいずれにも変換することができます。

      ローダは、データ型INTEGER のデータを常に符号付の値として解釈します。データストリーム内のこのデータの表示方法は、構文要素 int_spec を使用して調整することができます。

      データ型REAL のデータはコンピュータ固有の書式でコーディングされ、再度変換しない限り、異なるオペレーティングシステムおよびコンピュータプラットフォームの間で移送することはできません。

プレーンテキスト値

外部データ型CHAR を持つ項目値はプレーンテキスト値です。つまり、これらの値は可読文字で構成されています。

      プレーンテキスト値は、ASCIIUCS2、または UTF8 指定に準拠します (コード指定)

      日付、時刻、またはタイムスタンプを表すプレーンテキスト値のデータ書式を指定することができます(日付、時刻、およびタイムスタンプ指定)

これらのデータ書式は、インポートコマンドおよびエクスポートコマンドで、データストリームの処理指定として指定することができます。

プレーンテキスト値は、データベースで使用される内部データ型の列の入力として使用することができ、それらに変換することができます。プレーンテキスト値を数値列にインポートする場合、値が数字として解釈可能である必要があります。

HEX

外部データ型は、追加指定HEX を持つ16 進値として使用することができます(追加情報については、列説明出力列 を参照)

これにより、すべてのデータ型を 16 進形式でインポートまたはエクスポートすることができます。結果のデータの各バイトは、2 つの 16 進数で表されます。この場合、データストリーム内の各値は、HEX 値として指定されていない同じデータ型の値の 2 倍の領域を占有します。

データ型の変換

ローダは、必要に応じて数値データ型を変換することができます。外部データ型 CHAR を使用すると、あらゆる内部データベースデータ型を読み込んだり、出力したりすることができます。

      データがテーブルからエクスポートされるとき、内部データベースデータ型が、指定した外部データ型に変換され、対応する列値がエクスポートされます。
データベース内部データ型 INT[EGER]FIXED、および SMALLINT は、外部データ型 DECIMALINTEGERREAL、または ZONED に移送することができます。
データベース内部データ型 FLOAT は、外部データ型 CHAR(ACTER) または REAL に転送することができます。

      データがテーブルにインポートされるとき、指定した外部データ型が内部データベースデータ型に変換され、テーブルの対応する列値がインポートされます。
外部データ型 DECIMALINTEGERREAL、および ZONED は、データベース内部データ型 INTEGERFIXEDFLOAT、または SMALLINT に転送することができます。

参照:

データストリーム

データ書式

 

 

コンテンツエリア終了