SAP Oracle Blog

SAP/Oracle/パッケージアプリ関連情報。SAP ERP(R/3)モジュール全般、Oracleプロダクト、その他パッケージアプリ等々

ABAPサンプル - フィールドのデータタイプと説明を取り出す方法

例)フィールドのデータタイプと説明が出力される汎用モジュール

FUNCTION ZTAB_FIELD_DET.
*"----------------------------------------------------------------------
*"*"Local Interface:
*" IMPORTING
*" VALUE(I_TNAME) LIKE DD03L-TABNAME
*" VALUE(I_FNAME) LIKE DD03L-FIELDNAME
*" VALUE(I_LANG) LIKE DD03M-DDLANGUAGE
*" EXPORTING
*" VALUE(E_DATATYPE) LIKE DD03L-DATATYPE
*" VALUE(E_FIELDLENGTH) LIKE DD03L-LENG
*" VALUE(E_DESC) LIKE DD03M-DDTEXT
*"----------------------------------------------------------------------

*
*it can retrieve the field details of a table
*
DATA : BEGIN OF wa,
datatype LIKE dd03l-datatype,
leng LIKE dd03l-leng,
ddtext LIKE dd03m-ddtext,
END OF wa,
itab LIKE TABLE OF wa.

*Query which will retrieve the information about the fields
*from the corresponding table

SELECT l~datatype l~leng m~ddtext
INTO CORRESPONDING FIELDS OF TABLE itab
FROM ( dd03l AS l JOIN dd03m AS m
ON l~fieldname EQ m~fieldname AND
l~tabname EQ m~tabname )
WHERE l~tabname EQ i_tname AND
l~fieldname EQ i_fname AND
m~ddlanguage EQ i_lang.

*Exporting parameters

LOOP AT itab INTO wa.
e_datatype = wa-datatype.
e_fieldlength = wa-leng.
e_desc = wa-ddtext.
ENDLOOP.

ENDFUNCTION.