ABAP/PERFORM のバックアップ(No.1)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- ABAP/PERFORM へ行く。
- 0 (1970-01-01 (木) 18:00:00)
- 1 (2014-06-26 (木) 11:02:40)
サブルーチンを呼び出すための命令。
概要 †
用法 †
ダラダラ書くと可視性も保守性も低下するため、適切なサブルーチンに分け、この命令で呼び出す。
サンプル †
USING, CHANGING †
# PERFORM F_FUNC_GET_SALES_ORDER_DETAIL USING P_VBELN
# CHANGING IT_SO_HEADER
# IT_SOITEM.
引数と戻り値を受け渡しする。 サブルーチンを分けていようと、正しく受け渡しされていなければ結局、中で何をやっているか分からないため、正しく定義し利用すること。
IF FOUND, IN PROGRAM xxx †
# PERFORM F_FUNC_GET_SALES_ORDER_DETAIL IN PROGRAM (ZZZzzz) IF FOUND.
「存在するか分からない」サブルーチンの呼び出しに用いる。 ルーチンなど、標準プログラムでよく利用されている。
他のプログラムのサブルーチンを流用することもできるが、流用するような或いはしたいようなロジックは汎用モジュールか共通インクルードにしておくべきで、思わぬところで影響範囲が広がったりするため、そういった用途では使用しないこと。
その他 †
TABLESオプション †
SAPが推奨しない通りTABLES命令は使用しないこと。 内部テーブルを受け渡ししたい場合は、TYPESで「TYPE TABLE OF 〜」としておけば、USINGやCHANGINGで連携できる。
引数の指定順序 †
引数の指定順序は、必ずTABLES*1→USING→CHANGINGの順となり、逆転は出来ないらしい。(筆者はこのルールに逆らったことがない) CHANGING→USINGと書いた場合、CHANGINGと言う名のUSINGパラメータになり、USINGと言う名のCHANGINGパラメータになるとのこと。
コメントはありません。 Comments/ABAP/PERFORM