動的なデータ型の利用

 

基本型

数値や文字列などのABAP基本型を動的に作成するには、クラスCL_ABAP_ELEMDESCRのメソッドを利用します。 クラスCL_ABAP_ELEMDESCRからいかのようなStaticメソッドが用意されております。

メソッド名機能
GET_Cパラメータで指定された長さのC(テキスト)項目型を取得
GET_Nパラメータで指定された長さのN(数値テキスト)項目型を取得
GET_Xパラメータで指定された長さのX(16進数)項目型を取得
GET_Pパラメータで指定された長さのP(パック数値項目)型を取得

STRING(文字順序)、XSTRING(バイト順序)、I(整数)、F(浮動小数点数)、D(日付)、T(時間)などの型もメソッドが用意されておりますが、こちらの型は長さの指定がないので、型名を静的に指定すればよく、あえてメソッドを利用する必要がありません。

下記のサンプルソースでは、長さ10の固定長テキスト項目型を動的生成する方法を示しています。

DATA c10  TYPE REF TO cl_abap_datadescr.
c10 = cl_abap_elemdescr=>get_c( 10 )."動的な型を取得