トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

ABAP/ANY の変更点

Top/ABAP/ANY

データ型の指定方法の一つ。

* 概要 [#j4d77dd6]
** 用法 [#m1e61e8f]
主にサブルーチンを型に縛られず使用したい場合に使用され、例えば、10桁の項目の内外変換を行いたい場合、得意先と仕入先ごとにサブルーチンを定義する意味は非常に薄いため、ひとつで済ませるといった風に使われる。

たまに[[FIELD-SYMBOLS>ABAP/FIELD-SYMBOLS]]でTYPE ANYとして使いまわしている人もいるが、TYPE ANYの是非はともかく、変数の使いまわしはトレーサビリティを低下させブラックボックス化の原因になるため、そういった使い方は避けること。

** サンプル [#p8e30ede]
*** データの宣言 [#o56d4e18]
 DATA : L_TABKE_KEY TTPE ANY.
 FIELD-SYMBOLS : <FS_ADDON_MASTER> TYPE ANY.

[[FIELD-SYMBOLS>ABAP/FIELD-SYMBOLS]]ならまだしも、通常の[[変数>アドオン/変数]]で使う理由はあまりない。

*** 引数や戻り値への割当 [#a13389e8]
 FORM CONVERT_TO_EXTERNAL USING    I_INPUT  TYPE ANY
                          CHANGING E_OUTPUT TYPE ANY.

数値や金額の編集および[[内外変換>SAPの構成/内外変換]]など、汎用的なロジックにする場合などに利用する。

* その他 [#lb3435f1]
構造やテーブルデータ型なども含めたあらゆるデータ型にも対応できるが、そういったものを取り扱ってしまうとパフォーマンスが悪化したり思わぬ不具合が発生したりする原因にもなるため、構造やiTabでの使用はお勧めしない。
[[構造>SAPのオブジェクト/構造]]や[[テーブルデータ型>SAPのオブジェクト/テーブルデータ型]]なども含めたあらゆるデータ型にも対応できるが、そういったものを取り扱ってしまうとパフォーマンスが悪化したり思わぬ不具合が発生したりする原因にもなるし、なによりコードが明示的でなくなってしまうため、安易な使用はお勧めしない。

かといって、型をキチキチに厳密に定義してしまうと大して意味もなくコードの総量が増えてしまうため、文脈を考えて使用すること。
かといって、型をキチキチに厳密に定義してしまうと、[[引数>アドオン/引数]]や[[戻り値>アドオン/戻り値]]ごとに[[サブルーチン>アドオン/サブルーチン]]を分けるんですか?という話になり、大して意味もなくコードの総量が増えてしまうため、文脈を考えて使用すること。

~
~
CENTER:【スポンサードリンク】
#htmlinsert(amazon_book_sap_system_implement)
~
~
----
#pcomment(reply)