SAP Knowledge Wiki
ABAP/CREATE DATA
をテンプレートにして作成
開始行:
データ型を作る[[ABAP]]命令。
* 概要 [#pd54c689]
データ型を作る。
ここに価値を見出すとしたら、汎用性しかない。
つまり、データ型には依存するものの同じような処理を行う場...
つまり、コピペしまくって「5kのプログラム書いたよ!大変だ...
* オプション [#i7295b2b]
** CREATE DATA xxx (データ型) [#lae1bbc1]
*** 用法 [#a992fa7a]
*** サンプル [#a9eb593d]
TYPES :
T_TABLE_ORFER TYPE TABLE OF VBAK.
DATA :
REF_ORDER TYPE REF TO T_TABLE_ORDER.
CREATE DATA REF_ORDER.
LOOP AT REF_ORDER->*.
WRITE / REF_ORDER->*.
ENDLOOP.
** CREATE DATA xxx TYPE (ABAPデータ型) [#r130bdc8]
*** 用法 [#p06d280f]
[[DESCRIBE>ABAP/DESCRIBE]]を併用するとええかも。
*** サンプル [#da760729]
DATA :
L_DATA TYPE REF TO DATA.
CREATE DATA L_DATA TYPE C LENGTH L_FIELD_LENGTH.
CREATE DATA L_DATA TYPE P LENGTH L_FIELD_LENGTH DECIMA...
** CREATE DATA xxx TYPE (テーブル項目)、CREATE DATA xxx...
*** 用法 [#q721d551]
下記は、[[レンジテーブル>ABAP/レンジテーブル]]への動的セ...
*** サンプル [#x42ed186]
FORM F_FUNC_SET_RANGE_TABLE TABLES E_RANGE
USING I_SIGN TYPE...
I_OPTION TYPE...
I_LOW TYPE...
I_HIGH TYPE...
DATA :
L_DATA TYPE REF TO DATA,
L_COUNTER TYPE I.
FIELD-SYMBOLS :
<F_RANGE> TYPE ANY,
<F_FIELD> TYPE ANY.
* レンジテーブルの型を取得し、構造へアサイン
CREATE DATA L_DATA LIKE LINE OF E_RANGE.
ASSIGN L_DATA->* TO <F_RANGE>.
* 失敗時は抜ける
IF ( SY-SUBRC <> 0 ).
EXIT.
ENDIF.
* 構造の終わりまでループ
DO.
* カウンタのインクリメント
L_COUNTER = L_COUNTER + 1.
* 構造の項目を順次アサイン
ASSIGN COMPONENT L_COUNTER OF STRUCTURE <F_RANGE> TO...
* 項目の順序ごとに引数を転記
CASE L_COUNTER.
WHEN 1.
<F_FIELD> = I_SIGN.
WHEN 2.
<F_FIELD> = I_OPTION.
WHEN 3.
<F_FIELD> = I_LOW.
WHEN 4.
<F_FIELD> = I_HIGH.
* ※レンジテーブル以外が引数の場合も抜ける
WHEN OTHERS.
EXIT.
ENDCASE.
ENDDO.
ENDFORM.
** CREATE DATA TYPE HANDLE (Handler) [#fcbb0538]
*** 用法 [#y010c877]
*** サンプル [#p78472c4]
** CREATE DATA xxx TYPE REF TO yyy [#k51d551b]
*** 用法 [#lff76242]
*** サンプル [#f2d6b953]
** CREATE DATA xxx TYPE TABLE OF (Table), LIKE TABLE OF...
*** 用法 [#u486fded]
[[内部テーブル>ABAP/内部テーブル]]を動的に作るとき。
[[SE16>SAPの共通用語/データブラウザ]]みたいなこともできて...
*** サンプル [#e53a80f8]
PARAMETERS :
P_TABNAME TYPE DD02L-TABNAME.
DATA :
L_DATA TYPE REF TO DATA.
FIELD-SYMBOLS :
<F_INTERNAL_TABLE> TYPE ANY TABLE.
CREATE DATA L_DATA TYPE STANDARD TABLE OF (P_TABNAME).
ASSIGN L_DATA->* TO <F_INTERNAL_TABNAME>.
SELECT *
FROM P_TABNAME
INTO TABLE <F_INTERNAL_TABNAME>.
** CREATE DATA xxx AREA HANDLE yyy [#dce5545d]
*** 用法 [#vc97a2d0]
*** サンプル [#rf118e84]
~
~
CENTER:【スポンサードリンク】
#htmlinsert(amazon_book_sap_system_implement)
~
~
----
#pcomment(reply)
終了行:
データ型を作る[[ABAP]]命令。
* 概要 [#pd54c689]
データ型を作る。
ここに価値を見出すとしたら、汎用性しかない。
つまり、データ型には依存するものの同じような処理を行う場...
つまり、コピペしまくって「5kのプログラム書いたよ!大変だ...
* オプション [#i7295b2b]
** CREATE DATA xxx (データ型) [#lae1bbc1]
*** 用法 [#a992fa7a]
*** サンプル [#a9eb593d]
TYPES :
T_TABLE_ORFER TYPE TABLE OF VBAK.
DATA :
REF_ORDER TYPE REF TO T_TABLE_ORDER.
CREATE DATA REF_ORDER.
LOOP AT REF_ORDER->*.
WRITE / REF_ORDER->*.
ENDLOOP.
** CREATE DATA xxx TYPE (ABAPデータ型) [#r130bdc8]
*** 用法 [#p06d280f]
[[DESCRIBE>ABAP/DESCRIBE]]を併用するとええかも。
*** サンプル [#da760729]
DATA :
L_DATA TYPE REF TO DATA.
CREATE DATA L_DATA TYPE C LENGTH L_FIELD_LENGTH.
CREATE DATA L_DATA TYPE P LENGTH L_FIELD_LENGTH DECIMA...
** CREATE DATA xxx TYPE (テーブル項目)、CREATE DATA xxx...
*** 用法 [#q721d551]
下記は、[[レンジテーブル>ABAP/レンジテーブル]]への動的セ...
*** サンプル [#x42ed186]
FORM F_FUNC_SET_RANGE_TABLE TABLES E_RANGE
USING I_SIGN TYPE...
I_OPTION TYPE...
I_LOW TYPE...
I_HIGH TYPE...
DATA :
L_DATA TYPE REF TO DATA,
L_COUNTER TYPE I.
FIELD-SYMBOLS :
<F_RANGE> TYPE ANY,
<F_FIELD> TYPE ANY.
* レンジテーブルの型を取得し、構造へアサイン
CREATE DATA L_DATA LIKE LINE OF E_RANGE.
ASSIGN L_DATA->* TO <F_RANGE>.
* 失敗時は抜ける
IF ( SY-SUBRC <> 0 ).
EXIT.
ENDIF.
* 構造の終わりまでループ
DO.
* カウンタのインクリメント
L_COUNTER = L_COUNTER + 1.
* 構造の項目を順次アサイン
ASSIGN COMPONENT L_COUNTER OF STRUCTURE <F_RANGE> TO...
* 項目の順序ごとに引数を転記
CASE L_COUNTER.
WHEN 1.
<F_FIELD> = I_SIGN.
WHEN 2.
<F_FIELD> = I_OPTION.
WHEN 3.
<F_FIELD> = I_LOW.
WHEN 4.
<F_FIELD> = I_HIGH.
* ※レンジテーブル以外が引数の場合も抜ける
WHEN OTHERS.
EXIT.
ENDCASE.
ENDDO.
ENDFORM.
** CREATE DATA TYPE HANDLE (Handler) [#fcbb0538]
*** 用法 [#y010c877]
*** サンプル [#p78472c4]
** CREATE DATA xxx TYPE REF TO yyy [#k51d551b]
*** 用法 [#lff76242]
*** サンプル [#f2d6b953]
** CREATE DATA xxx TYPE TABLE OF (Table), LIKE TABLE OF...
*** 用法 [#u486fded]
[[内部テーブル>ABAP/内部テーブル]]を動的に作るとき。
[[SE16>SAPの共通用語/データブラウザ]]みたいなこともできて...
*** サンプル [#e53a80f8]
PARAMETERS :
P_TABNAME TYPE DD02L-TABNAME.
DATA :
L_DATA TYPE REF TO DATA.
FIELD-SYMBOLS :
<F_INTERNAL_TABLE> TYPE ANY TABLE.
CREATE DATA L_DATA TYPE STANDARD TABLE OF (P_TABNAME).
ASSIGN L_DATA->* TO <F_INTERNAL_TABNAME>.
SELECT *
FROM P_TABNAME
INTO TABLE <F_INTERNAL_TABNAME>.
** CREATE DATA xxx AREA HANDLE yyy [#dce5545d]
*** 用法 [#vc97a2d0]
*** サンプル [#rf118e84]
~
~
CENTER:【スポンサードリンク】
#htmlinsert(amazon_book_sap_system_implement)
~
~
----
#pcomment(reply)
ページ名: