AppDNA

Forward Pathの仕様

スクリプト言語

既定では、すべてのシナリオとタスクスクリプトは Visual Basic .NET 2.0 (VB .NET) としてコンパイルされます。Visual Basic .NET の包括的なドキュメントについては、http://msdn.microsoft.com/en-gb/library/2x7h1hfk.aspxを参照してください。

タスクスクリプトをC#2.0としてコンパイルすることもできます(シナリオはコンパイルできません)。これを行うには、次の文字列でタスクスクリプトを起動します。

Language CSharp

ただし、AppDNAスクリプトエディターでは、Visual Basic .NETでのみ構文の強調表示がサポートされています。

アセンブリ参照

シナリオとタスクスクリプトは、メモリ内で.NET アセンブリにコンパイルされます。したがって、.NET Framework 全体とグローバルアセンブリキャッシュ (GAC) 内のその他のアセンブリを利用できます。たとえば、System.Collections.Generic 名前空間で使用可能な任意のクラスを使用できます。(この名前空間のマニュアルについては、MSDN ライブラリを参照してください)。

タスクスクリプトには、AppDNA.AppTitude.スクリプトアセンブリへの自動参照があります。

LoadAssembly 拡張構文を使用して、アセンブリを指定できます。たとえば、次のようになります。

LoadAssembly System.Windows.Forms.dll

アセンブリが GAC にない場合は、完全なパスを指定する必要があります。これは、名前空間でのインポートの使用には影響しません。

VB.NET<multiline_string>拡張子

言語が VB .NET の場合、文字列に次の構文を使用できます。

<multiline_string>xxxx</multiline_string>

xxxxは文字列です。コンパイルの前に、パーサーはこれをVB.NET文字列リテラルに変換します。これにより、標準の VB .NET 構文を使用するよりも、スクリプト内の複数行にまたがる文字列を指定しやすくなります。

たとえば、次のようになります。

Dim s As String  = <multiline_string>;
   '---Some vbscript
   Option Explicit
   Wscript.Echo "string"
   </multiline_string>

次のようになります。

Dim s As String  = "" & Microsoft.VisualBasic.Constants.vbCRLF & __
"   '---Some vbscript" & Microsoft.VisualBasic.Constants.vbCRLF & _
"   Option Explicit" & Microsoft.VisualBasic.Constants.vbCRLF & _
"   Wscript.Echo ""string""" & Microsoft.VisualBasic.Constants.vbCRLF & _
"   "

必要なシナリオ・スクリプト形式

基本的なForward Pathシナリオ・スクリプトは、Forward Pathレポートの出力列を定義する関数で構成されます。次の例は、メインツールバーの [新しいシナリオ] をクリックしたときに作成される基本的なシナリオです。

Public Function ForwardPath(ByVal currentApplication As Application) As Output

' TODO: Your new Forward Path Logic definition must be defined here.
' For Help, please refer to the sample Forward Path scripts which
' have been provided.

    Dim myForwardpathresult As New Output()

    myForwardpathresult.Outcome = "Sample Outcome"
    myForwardpathresult.Cost = 100
    myForwardpathresult.RAG = RAG.Green

    ForwardPath = myForwardpathresult

End Function

関数のシグネチャは重要であり、関数は少なくとも 1 つの出力列を定義する Output オブジェクトを返す必要があります。タスク・スクリプトをシナリオに関連付ける場合は、「結果」出力列を定義する必要があります。

Application オブジェクトが関数に渡されることに注意してください。この関数は、現在選択されているすべてのアプリケーションに対して実行され、関数に渡される Application オブジェクトは、現在処理中のアプリケーションを表します。

Forward Path Logic Editor画面の右側にあるプロパティー・エクスプローラーを使用して、アプリケーションおよび出力オブジェクトの構造を調べます。(Output オブジェクトは、プロパティエクスプローラーに ForwardPathReportOutput として表示されます)。

シナリオ・スクリプトには、グループごとにアプリケーション・データを集計したり、レポート・レベルの合計を生成したりするための追加関数を含めることができます。詳しくは、グループ化されたForward Pathレポートを参照してください。

必須タスクスクリプト形式

タスクスクリプトは、次の形式である必要があります。

Imports AppDNA.AppTitude.Scripting

Public Class ScriptClass

    Public Function Start(controller As IActionController) As TaskStatusEnum
        ' Do stuff
        Start = TaskStatusEnum.Complete
    End Function

End Class

クラスの名前とアクセシビリティ、関数のシグネチャは重要です。それ以外にも、VB .NETコンストラクトは有効です。

ツールバーの「タスクスクリプトヘルプ」をクリックして、タスクスクリプトで使用できるAppDNA APIのドキュメントを表示します。

Forward Pathの仕様