0

データソースからのロードが発生したときに、DSOにinfoobject0LOGSYSを設定しようとしています。特定の要件に必要な、データがロードされたソースシステムを特定できるという考え方です。今のところ、0LOGSYSの変換規則にルーチンを設定しています。構文エラーはなく、ロード中にすべてが実行されますが、データは入力されません。デバッグしようとしましたが、何らかの理由で私のブレークポイントが取得されません。

これが私がルーチンに置いたコードです。また、ソースフィールドを割り当てずにこれを実行しようとしているため、問題が発生している可能性があります。でもわからない。

TYPE-POOLS: RSSM.

Data: G_S_MINFO TYPE RSSM_S_MINFO.

CALL FUNCTION 'RSDG_ID_GET_FROM_LOGSYS'

EXPORTING

i_source_system = G_S_MINFO-LOGSYS

IMPORTING

e_soursysid = RESULT

EXCEPTIONS

id_not_found = 1.
4

2 に答える 2

1

これを別の方法で解決しました。各変換ルーチンの開始時に自動的にインスタンス化される「if_rsbk_request_admintab_view」のメソッドを介して、任意のリクエストからプルできるランタイム属性があります。これが私がルーチンに入れたコードです。

*declaring a local variable like the result type LOGSYS
Data: lvSource like RESULT.

*runs a method to get the source system from the runtime attributes of
*the request
*"p_r_request" is an instance of "if_rsbk_request_admintab_view" which
*has many different methods for runtime attributes
lvSource = p_r_request->GET_LOGSYS( ).
RESULT =  lvSource.
于 2012-12-06T22:07:14.013 に答える
0

これが完全なソースコードである場合、何も返されないのは当然のことです。、という名前の新しい構造化変数を宣言しますG_S_MINFO。それに値を割り当てず、その内容を返します。変数を値で埋めるはずのステップをコードサンプルから削除しない限り、初期値以外のものが返された場合は重大なバグになります。

編集:更新されたコードを使用しても、これが機能するかどうかは疑問です。G_S_MINFO-LOGSYSここで、初期化せずにシステムIDを検索すると思われる汎用モジュールに渡します。ガベージイン、ガベージアウト。または、この場合、初期値が入力され、初期値が出力されます。

于 2012-12-06T07:48:17.560 に答える