Copy Code
|
|
---|---|
Private Sub PromoteFlowOutputParameters() '----------------------------------------- ' Promote parameters from a component to a flow ' ' Promote Business Components' output parameters to the flow level. ' This example assumes the connected project contains ' a Business Component with output parameters and ' a Flow that uses the Business Component. The Flow may have ' iterations. '----------------------------------------- On Error GoTo handle_errors Dim tstFactory As TestFactory Dim tst As Test Dim fl As IBusinessProcess2 Dim bpComp As BPComponent Dim bpParam As BPParameter Dim newFlowOutputParam As ComponentParam Dim iter As BPIteration ' Find a test of type "Flow" Set tstFactory = tdc.TestFactory For Each tst In tstFactory.NewList("") If (tst.Type = "FLOW") Then Set fl = tst Exit For End If Next tst If fl Is Nothing Then MsgBox "No flow tests in project" Exit Sub End If Dim VersionCntl As Object Dim NoCheckoutError As Boolean ' Check the test out of version control and load the test. ' The code of CheckoutTest is the example to the ' Test coclass, "Checking out a Test." Set VersionCntl = _ CheckoutTest(tst, "Promote output params", NoCheckoutError) If Not NoCheckoutError Then Exit Sub fl.Load ' Promote each of the BP output parameters ' in each iteration to the flow level. ' ' Flow's components. For Each bpComp In fl.BPComponents Debug.Print "BPComp Name = " & bpComp.name ' Iterations of components. For Each iter In bpComp.iterations Debug.Print "Iter ID= " & iter.ID & ", iterOrder = " & iter.order ' BP parameters of iteration. For Each bpParam In bpComp.BPParams Debug.Print bpParam.ComponentParamName & ", " & bpParam.ID ' If output parameter, promote to flow level. 'If bpParam.ComponentParamIsOut <> 0 Then If bpParam.ComponentParamIsOut Then Set newFlowOutputParam = _ fl.AddFlowOutputParam( _ bpParam, _ iter.order + 1, _ bpParam.ComponentParam.name _ & "_iteration_" & (iter.order + 1)) End If Next bpParam Next iter Next bpComp ' Print all of the flow's output parameters. For Each newFlowOutputParam In fl.FlowOutputParameters Debug.Print newFlowOutputParam.name Next newFlowOutputParam 'Save and check in. fl.Save On Error Resume Next NoCheckoutError = CheckinTest(VersionCntl, "Parameters Promoted") If Not NoCheckoutError Then ErrHandler Null, "PromoteFlowOutputParameters", "Checkin Failed", NON_FATAL_ERROR Set VersionCntl = Nothing Set tstFactory = Nothing Set fl = Nothing Set bpComp = Nothing Set bpParam = Nothing Set newFlowOutputParam = Nothing Set iter = Nothing Exit Sub handle_errors: ErrHandler err, "PromoteFlowOutputParameters", "", NON_FATAL_ERROR Resume Next End Sub |