宣告變數
定義流程時,可在開始狀況或是自動路由運算式中使用變數。變數可以是全域變數 (適用於流程本身) 或是區域變數 (適用於指派的活動或子流程)。
* 
Windchill 8.0 現成的變更管理工作流程在 Windchill 10.x 中執行時,使用者會在任務詳細資訊頁中看見定義在 8.0 工作流程範本中的活動變數,而不是定義在 10.x 工作流程範本中的活動變數。
變數可宣告為任何 Java 類型或任何 Windchill 類別。唯一的限制是變數必須是可序列化。如果變數的類型為 Windchill 企業物件,則該物件的屬性可透過標準取得者 (Getter) API 參考。可如下所示宣告變數:
可見或不可見
必要或選用
唯讀或讀/寫
可重新設定或靜態的
變數值可以在某項活動或子流程中從父流程變數進行初始化,也可以在活動或子流程完成時複製到父流程變數中。
* 
雖然您可以宣告工作流程變數為任何 Java 類型或 Windchill 類別 (假設它是「可序列化的」),PTC 會鼓勵您考慮下列指引:
工作流程變數是在 ProcessData 物件中合成的,然後會保留在 BLOB 欄的 Oracle 資料庫中。如果 BLOB 物件的持續簽名在其儲存到資料庫之後變更,當從資料庫擷取它時會發生錯誤,並會被取消序列化;因此,PTC 建議僅使用下列「工作流程變數」類型:
java 原始數
可發展項目
可持續項目
可發展項目會提供處理其持續簽名中之變更的方法。可持續項目會作為 ObjectReferences (而非完全膨脹物件) 儲存在工作流程變數中。
「可持續項目」不應該在其他類別中合成,因為這樣可能會導致資料不一致或毀損。移轉期間執行此操作還會導致 wt.pds.NotEvolvableException。
「可持續項目」可能是 java.util.Vector 中的元素 (這是因為「向量」類別得到 WfVariable 類別的特別處理),但是如果可能的話,應該避免這種情況。使用指向可持續項目的 CachedObjectReference 或 ObjectReference 是偏好的作法。
必要時,「工作流程變數」可能會包含、合成或封裝可持續項目的 ObjectReference。
如需有關 Windchill 可發展類別與介面的資訊,請參閱 Windchill Customization Guide (Windchill 自訂指南)
這是否有幫助?