Product Documentation

Forward Pathの仕様

Jul 08, 2016

スクリプト言語

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

タスクスクリプトはC# 2.0としてコンパイルすることを選択できます(シナリオは不可)。 これを行うには、タスクスクリプトに次の文字列を付けて開始します。

Language CSharp

ただし、AppDNAのスクリプトエディターでは、Visual Basic .NETの構文しか強調表示できません。

アセンブリの参照

シナリオおよびタスクスクリプトはメモリ内で.NETアセンブリにコンパイルされます。 したがって、.NET Framework全体およびグローバルアセンブリキャッシュ内のそのほかのアセンブリをシナリオやタスクスクリプトで使用できます。 たとえば、 System.Collections.Generic 名前空間で利用できるどのクラスも使用できます (この名前空間のドキュメントについては、MSDNライブラリを参照してください)。

タスクスクリプトは自動的に AppDNA.AppTitude.Scripting アセンブリを参照します。

アセンブリは LoadAssembly 拡張構文を使用して指定できます。 次に例を示します。

LoadAssembly System.Windows.Forms.dll

アセンブリがグローバルアセンブリキャッシュにない場合は、完全なパスを指定する必要があります。 これは、名前空間での インポート の使用に影響を与えません。

VB.NET 拡張する

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

xxxx 

ここで、xxxxは文字列です。 コンパイルの前に、パーサーによって文字列がVB .NET文字列リテラルに変換されます。 これにより、標準のVB .NET構文で許容される以上の文字列を、スクリプト内の複数行にまたがって指定できます。

次に例を示します。

Dim s As String  = ;    '---Some vbscript    Option Explicit    Wscript.Echo "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レポートの出力列を定義する関数から成り立ちます。 次の例は、メインツールバーで[New Scenario]をクリックすると作成される基本シナリオです。

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オブジェクトを返す必要があります。 タスクスクリプトをシナリオに関連付ける場合は、[Outcome]出力列を定義する必要があります。

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

[Forward Path Logic Editor]画面右側のプロパティエクスプローラーを使用して、ApplicationおよびOutputオブジェクトの構造を調べます (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コンストラクトも有効です。

ツールバーの[Task Script Help]をクリックすると、タスクスクリプトで使用できるAppDNA APIのドキュメントが表示されます。