1

ABAP で文字列テンプレートを動的に評価することは可能ですか?

通常、コードには、コンパイラによってチェックされる文字列テンプレートがあります。(中括弧内の変数は、コンパイル時にコンパイラによってチェックされます)。

ただし、実行時に文字列を評価することは可能ですか?

したがって、代わりに:

data(val) = |System ID: { sy-sysid }|.

文字列を補間して、他の場所から取得したいと思います。たとえば、次のようになります。

parameter: p_file type string lower case default '/mnt/{ sy-sysid }/file.txt'.

この場合、変数 ( ) を実行時の値p_fileに置き換えるために、実行時に評価される値が必要です。sy-sysid

もちろん、正規表現を使用して中かっこで囲まれた変数のすべての出現箇所を見つけて独自の置換をプログラムし、変数値を評価ASSIGNして文字列に戻すこともできますが、組み込みの方法を探していますこれ。

申し訳ありませんが、これはばかげた例かもしれませんが、私の言いたいことを理解していただければ幸いです。(そうでない場合は、コメントでお知らせください。明確にするよう努めます)。

4

2 に答える 2

1

スニペットの問題は、文字列テンプレートではなく、PARAMETER の動作にあります。DEFAULT 句ではダイナミクスを使用できません。

INITIALIZATION必要なものを実現するには、実行時にパス値を使用および設定する必要があります。

parameter: p_file type string lower case.

INITIALIZATION.
p_file = | /mnt/{ sy-sysid }/file.txt |.
于 2018-09-04T09:31:17.033 に答える