2016-12-30 11 views
0

個別にアドレッシングせずに汎用モジュールに渡されたインポートパラメータにアクセスする方法はありますか? ABAPはこれらを内部テーブルに格納しているので、テーブルの行や構造体のフィールドをループして作業することができますか?ABAPは、汎用モジュールのインタフェースに関する情報をどのように格納しますか?

汎用モジュールの名前だけを知っているので、ABAPが私たちの汎用モジュールのインターフェイスを出力するようにすることができます。この情報がどこに格納されているのか不思議です。グループがメモリにロードされました。

ありがとうございます!

+0

インターフェイスを調べたり、ダイナミックパラメータを使用して汎用モジュールを呼び出すのですか? – vwegert

+0

私は、関数モジュールに渡されたパラメータを1つずつ扱わずに作業したいと思います。 FM内のサブルーチンにそれらを渡すと、個々にそれらを参照せずにできることがうれしいです。それは理にかなっていますか? –

+0

理由は...?私たちの環境SAPの機能は、SOAアプリケーションによってRFC経由でアクセスされています。インポートパラメータの値を、検証/デバッグの目的でFMの実際の出力と共に返すと便利です。私は自分自身がこれを行うためのサブルーチンを作成し、FMに提供されたすべてのパラメータを渡していることがわかります。私はちょうど怠け者だと思っています/もっと良い方法を探しています。私はあなたの質問を見ていただきありがとうございます! –

答えて

2

汎用モジュールRPY_FUNCTIONMODULE_READを使用して、汎用モジュールのパラメータ構造に関する情報を取得し、パラメータに動的にアクセスすることができます。これにはいくつかの欠点があります。最も顕著なのは、ユーザーが(追加の)S_DEVELOP認可を必要とし、このような方法でログを記録すると通常はパフォーマンスに重大な影響があります。

私はむしろ汎用モジュールのパラメータをロギング/トレース機能に手作業で一度追加することをお勧めします。これは十分に汎用的なメソッド呼び出しでは難しくありません。私はまた、個々のパラメータを構造にグループ化して、後の拡張を容易にする傾向があります。

+0

ありがとう! –

+0

また、このクラスCL_FB_FUNCTION_UTILITYには、すべてのパラメータとそのデータ型を取得するメソッドMETH_GET_INTERFACEがあります。 –

+0

非SAP_BASISソフトウェア・コンポーネントに属するユーティリティ・クラスおよび機能の一部は、すべてのシステムで使用できない場合があります。 – vwegert

関連する問題