starting V9 process with ECL
I need to start processes (blank form actions) from a C# application. But I don't want to use the process activator. I didn't find anyting in the SDK documentation. There is only described how to handly already startet folders. How can I do that? Thanks in advance...
Comments
-
I can't speak to ECL specifics, but I'd think at a minimum you'd be able to raise a flag to start a process. I know it can be done via command line, and indirectly via a BPM stored procedure call. I'd think it would be possible via ECL as well.
0 -
The thing is I don't want to modify any process. It should be possible to start the application, connect to a Metastorm server, select a process and then start it.
0 -
Hi
You can process a blank form action in the same way as a folder action but without a FolderID.
Here is a simple example (using ECL.WS) of processing a blank form, passing some data to a text field:
try { ActionResponse startResponse = _mbpm.StartAction( _session, string.Empty, // blank form so we don't pass a folder ID "MyProcessName", "MyBlankFormActionName", false, null); Action action = startResponse.Action; ((TextField)action.Fields.First(o => o.Name == "MyTextField")).Value = "Hello"; // submit the action ActionResponse submitResponse = _mbpm.SubmitAction(_session, action.FolderID, action.Name, action.FormName, action.ServerData, action.Fields.ToArray()); // get the ID of the created Folder string folderId = startResponse.Action.FolderID; } catch (System.ServiceModel.FaultException<OperationsFaultContract> ex) { // get the error messages from the engine... string engineErrorMessages = string.Join(",", ex.Detail.m_messages); // do something with the error messages… }
The above snippet assumes you've already got a session via the ECL... _mbpm is an instance of ServiceClient and _session is the ServiceSessionState returned by the Login method.
Hope that helps
iain
0 -
Hello BMellert
Do you know some supported stored procedure to make an action in mbpm?
Could you post some example?
0 -
(Now that I am finally able to connect to this forum again ....)
I mentioned two possible methods, and an ECL option was listed elsewhere.
eRaiseFlag can be called at the OS level, passing applicable parameters.
There is also a BPM installed database procedure named esp_eRaisedFlag_insert which I use in some places which insert values into eRaisedFlag for processing. However it does not automatically cause the engine to process the flag. A separate/normal engine event needs to occur for the engine to process the flags inserted into the table. We accomplish this by calling a "dummy" (no flag by the dummy name used) raise flag. This causes the engine to check the table and process any outstanding data.
Not an ideal solution, but is one possible method.
0
Categories
- All Categories
- 123 Developer Announcements
- 54 Articles
- 152 General Questions
- 148 Thrust Services
- 57 Developer Hackathon
- 37 Thrust Studio
- 20.6K Analytics
- 4.2K AppWorks
- 9K Extended ECM
- 918 Core Messaging
- 84 Digital Asset Management
- 9.4K Documentum
- 32 eDOCS
- 190 Exstream
- 39.8K TeamSite
- 1.7K Web Experience Management
- 10 XM Fax
- Follow Categories