2

一般的に、私は自分の質問を再現できるようにしています。この場合、私は方法を見つけることができませんでした。詳細を取得する方法を教えてください。添付します。

場合によっては、プログラムで ABAP コール スタックを使用して追加情報を取得します。IE: ユーザー呼び出しをログに記録し、他の適切な方法で取得する方法がない場合の最後の手段として、スタック内の下位呼び出しから変数にアクセスします。

HRモジュール 'MP9XXX00' (Module-Pool顧客固有の生成されたプログラム)の中央プログラムのコール スタックに、奇妙な文字がプレフィックスとして追加されるケースが発生しましたPA infotypes。奇妙な文字は/A\. プログラムを呼び出すための完全な文字列は/A\MP9XXX00.

コール スタック全体を取得するために使用されるコード:

lt_call = cl_abap_get_call_stack=>format_call_stack_with_struct( cl_abap_get_call_stack=>get_call_stack( ) ).

にはそのようなプログラムはありませ/A\MP9XXX00SE80

また、前述のように呼び出しプログラムから変数を取得しようとすると、次のように: ASSIGN |( { ls_call-prog })PSYST| it failes、ダンプが発生しました。そして、スタックを調べたところST22、何も含まれていませんでしたが、 (含まれて/A\MP9XXX00いました) だけでした。MP9XXX00ls_call-prog/A\MP9XXX00

前述のとおり、再現およびデバッグを行うことができませんでした。結果を見ただけ。

それらの文字はどこから来たのでしょうか?

私たちが考えたこと

  1. 顧客の名前空間が で始まるという事実に関連している可能性があると考えました/Aが、それでも表示されるのはなぜですか? なぜ数回だけ?なぜ最初の2文字だけ?もう一方\はどこから来たのですか?
  2. プレフィックス/A\は、関連するトランスポート要求をインポートしている間など、(それらの) プログラム名に一時的に追加される可能性があると考えました。そして、それは多分AですActive/Activating。私たちがそう考えたのは、それがQA本番環境よりも多く発生しているからです。
4

0 に答える 0