例 : ExampleProduction
Tutorial.ExampleProduction は、単一のビジネス・オペレーションから構成されています。このオペレーションは、Tutorial.ExampleOperation クラスによって定義されています。このオペレーションは、Ens.StringRequestOpens in a new tab タイプの要求メッセージを処理し、Ens.StringResponseOpens in a new tab タイプの応答を返します。
以下は、Tutorial.ExampleOperation 内のメッセージ処理メソッドのコードです。
Method Test(pRequest As Ens.StringRequest,
Output pResponse As Ens.StringResponse) As %Status
{
Set pResponse=##class(Ens.StringResponse).%New()
if (pRequest.StringValue="")
{
Set pResponse.StringValue="ERROR"
Set tSC=$$$ERROR($$$GeneralError, "Test error case")
}
else
{
Set pResponse.StringValue="OK"
Set tSC=$$$OK
}
$$$LOGINFO(pResponse.StringValue)
Quit tSC
}
このメソッドは、以下の処理を実行します。
-
TestOperation に送信される Ens.StringRequestOpens in a new tab タイプのメッセージを処理します。
-
Ens.StringResponseOpens in a new tab タイプの応答メッセージを作成します。
-
要求メッセージの StringValue プロパティの値が NULL の場合、エラー・メッセージを作成して tSCに格納し、“ERROR” を応答メッセージの StringValue プロパティに割り当てます。
-
要求メッセージの StringValue プロパティの値が NULL でない場合、OK ステータスを tSC に割り当て、“OK” を応答メッセージの StringValue プロパティに割り当てます。
-
$$$LOGINFO を使用して、エントリをイベント・ログに追加します。エントリは “info” タイプで、その Text は応答メッセージの StringValue プロパティです。
次の数ページでは、このプロダクションおよびそのビジネス・オペレーションをテストするためのコールバック・メソッドの例を紹介します。