SAP資格過去問ならSAPnavi

NoteやStripe決済で安全にSAP過去問を購入することができます。
領収書発行可能 / 即時入手可能

SAP過去問 (SAP Exam)

 sap:external-function

使用する

ステートメントsap:external-functionを使用すると、XPath内からABAP呼び出しの関数を宣言することができます。sap:call-externalとは対照的に、メソッド呼び出しに指定できる戻り値は1つだけです。この目的のために、呼び出されるメソッドは、XSLTプログラムのトップレベルで外部関数として宣言する必要があります。この方法で宣言された関数は、XPath式のメソッド呼び出しに使用できます。

インターフェイスメソッドを呼び出すときは、インターフェイスの名前の後にインターフェイスコンポーネントセレクター(intf〜)を付けて指定する必要があります。

宣言構文

たとえば、メソッド

<sap:external-function name="prefix:fName" method="instanceMethod" kind="instance">   <sap:argument      param="PARAM_1"/>   <sap:argument      param="PARAM_2"/>      ...   <sap:result        param="RESULT"      type="xslType"/></sap:external-function>

クラスメソッドの場合

<sap:external-function name="prefix:fName" class="className" method="classMethod" kind="class">   <sap:argument      param="PARAM_1"/>   <sap:argument      param="PARAM_2"/>      ...   <sap:result        param="RESULT"      type="xslType"/></sap:external-function>

コンストラクターの場合

<sap:external-function name="prefix:new" class="className" kind="constructor">   <sap:argument      param="PARAM_1"/>   <sap:argument      param="PARAM_2"/>      ...</sap:external-function>

説明

コンストラクタ宣言を除いて、属性メソッドは呼び出されるABAPメソッドの名前を出力します。さらに、属性kindは、インスタンスまたはクラスメソッド、あるいはコンストラクターがあるかどうかを定義します。クラスメソッドおよびコンストラクタの場合、ABAPクラスの名前は属性クラスを使用して出力されます。

関数の引数のリストは、サブステートメントsap:argumentを使用して宣言されます(シーケンスを考慮して)。対応するABAPパラメータの名前は、属性paramを使用して指定されます。

インスタンスおよびクラスメソッドの呼び出しでは、サブステートメントsap:resultを使用して戻り値を定義できます。戻りパラメーターの名前は、属性paramを介して指定されます。オプションで、属性タイプを使用して、特定のXSLTタイプ(文字列、数値、ブール値、ノードセット、または外部)を結果に割り当てることができます。

XPath式での呼び出しの構文

宣言された関数は、ABAP呼び出しのXPath式で使用できます。インスタンスメソッドでは、最初の関数引数はABAPオブジェクトを使用して識別される必要があります。

例:

<xsl:value-of select = “prefix:f1($ x、99、’abc’)” />

与えられた例では、prefix:f1という名前の関数は、入力パラメータとして2つの値99と’abc’を渡すインスタンスメソッドを使用してABAP呼び出しを定義します。最初の関数引数$xは、必要なABAPオブジェクトを識別します。

適切な宣言されたコンストラクター関数を使用している場合、この呼び出しは次のように代替的に記述することもできます。

<xsl:value-of select = “prefix:f1(prefix:new(’xyz’)、99、’abc’)” />

タイトルとURLをコピーしました