Customizing a Private Process to Work with a Specific PIP
You can create a filter expression that will cause a responder private-process orchestration to process or not process instances of a specific Partner Interface Process (PIP). This gives you the flexibility of creating a custom private process to receive and process some PIP instances, and using the default private process to process all other PIP instances.
To create a custom private process to work with a specific PIP or multiple specific PIPs, you create a filter expression for the receive shape of the private-process orchestration. An example is the PIP3A4PrivateResponder.odx orchestration in the Microsoft® BizTalk Accelerator for RosettaNet (BTARN) SDK. It is located at <drive>:\Program Files\BizTalk <version> Accelerator for RosettaNet\SDK\PIP3A4Process Using Business Rules\PIP3A4PrivateResponder.
Besides creating a private process that process only instances of a specific PIP, you must customize the default BTARN private process so that it will not process instances for that PIP.
To customize a responder private process to work with a specific PIP
In Visual Studio, create a custom responder private-process orchestration for working with a specific PIP. You can base the orchestration on the default BTARN responder private-process orchestration.
Note
You can find the default responder private-process orchestration, named PrivateResponder.odx, in the BTARN SDK. It is located at <drive>:\Program Files\BizTalk <version> Accelerator for RosettaNet\SDK\PrivateResponder.
Add the custom orchestration to your BizTalk project. Make sure that your project has a reference to the Microsoft.Solutions.BTARN.GlobalSchemas.dll file.
Open the custom orchestration in Orchestration Designer.
Right-click the first Receive shape that activates the orchestration, and then click Edit Filter Expression.
Note
The receive shape for the default BTARN responder private-process orchestration has two filter conditions: Microsoft.Solutions.BTARN.GlobalSchemas.SCCategory == "AsyncAction" or Microsoft.Solutions.BTARN.GlobalSchemas.SCCategory == "SyncAction". This expression makes sure that the orchestration processes RosettaNet messages. Retain this filter expression in your custom orchestration.
In the Filter Expression dialog box, in the Property column in the first open row, select Microsoft.Solutions.BTARN.GlobalSchemas.SCPIPCode from the drop-down list, in the Operator column, select == from the drop-down list, in the Value column, type the three-digit PIP code, for example, type 3A4.
Click OK.
Open the default responder private-process orchestration project (PrivateResponder.btproj) in Orchestration Designer. Make sure that the project has a working reference to the Microsoft.Solutions.BTARN.GlobalSchemas.dll file.
Double-click PrivateResponder.odx.
Right-click the ReceiveFromPublicProcessResponder receive shape, and then click Edit Filter Expression.
In the Filter Expression dialog box, in the Property column in the first open row, select Microsoft.Solutions.BTARN.GlobalSchemas.SCPIPCode from the drop-down list. In the Operator column, select != from the drop-down list. In the Value column, type the three-digit PIP code, for example, type "3A4".
Click OK.
In Solution Explorer, right-click the project that contains the orchestration and then click Build.
After the project has been successfully built, right-click the project, and then click Deploy.
On the File menu, point to Open, and then click Project.
Move to <drive>:\Program Files\BizTalk <version> Accelerator for RosettaNet\SDK\PrivateResponder, select PrivateResponder.odx, and then click OK.
In Solution Explorer, right-click the project, and then click Build.
After the project has been successfully built, right-click the project, and then click Deploy.