Author |
Message
|
jmeier |
Posted: Mon Nov 04, 2002 6:03 am Post subject: [Solved]Setting container values |
|
|
Apprentice
Joined: 30 Aug 2002 Posts: 46 Location: Minneapolis
|
I have a Visual Basic application that needs to set a container value for workflow. I have tested out the workflow with the application and everything seems to work properly except when I look at the container values following the VB application execution. I am expecting certain values to be set in the container based on the application results and the values are empty. I pass values thru XML and they are set correctly. How do I get the container values to be set? What do I need to do differently to get workflow to see the values versus setting them in XML? _________________ Joe Meier
Last edited by jmeier on Wed Mar 05, 2003 1:52 pm; edited 1 time in total |
|
Back to top |
|
 |
jmac |
Posted: Mon Nov 04, 2002 6:53 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
Joe:
Is this VB application a UPES? This is what I suspect when you say that you are setting the values thru XML. So the first thing to check would be that you are sending the response to the proper queue (EXEXMLINPUTQ) and that the message is properly formatted. Check your fmcsys.log file to see if there are any errors listed that relate to this XML message. Also, how do you know that the Output container values are not set? What are you using to look at the container?
Also, if the container appears to be set properly, your problem could be the mapping of the output cntainer members to the supsequent activities.
If this application is not a UPES, please give us more details as to what you are doing. _________________ John McDonald
RETIRED |
|
Back to top |
|
 |
jmeier |
Posted: Mon Nov 04, 2002 7:33 am Post subject: |
|
|
Apprentice
Joined: 30 Aug 2002 Posts: 46 Location: Minneapolis
|
This VB application is running as a service that wakes up every 2 minutes and reads a queue. It processes the message, and sends back a _RC value of 0 if successfull along with any other values that need to be set. The return code is read properly and the workflow proceeds to the next item at which time I look at the container values in runtime. The XML message that I return to the queue has the value set correctly, yet when I look at the workflow container values (in runtime), it is not valued. Whenever, I try to change the XML around to see if there is a problem, the _RC value is no longer read. _________________ Joe Meier |
|
Back to top |
|
 |
jmac |
Posted: Mon Nov 04, 2002 7:40 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
I am sorry, but I do not understand what you mean when you say the app is running as a service?
Who is putting the message out on the queue? MQWF? If so then you have this activity defined as a UPES correct? If not, I don't understand how your processing is taking place.
You are saying that at the next activity you are checking the container. Have you mapped the data properly?
What does your XML message back to MQWF look like? _________________ John McDonald
RETIRED |
|
Back to top |
|
 |
jmeier |
Posted: Mon Nov 04, 2002 10:20 am Post subject: |
|
|
Apprentice
Joined: 30 Aug 2002 Posts: 46 Location: Minneapolis
|
Workflow does put the original message to the queue, so it must be a UPES queue (excuse my ignorance, I am new to this game:)
I have checked the container mapping and everything looks good. Here is the XML message I am putting back. The CRMID is what I am looking for in the container value, but isn't showing up...
"<?xml version=""1.0"" standalone=""yes""?>"
"<WfMessage>"
"<WfMessageHeader>"
"<ResponseRequired>Yes</ResponseRequired>"
"</WfMessageHeader>"
"<ActivityImplInvokeResponse>"
"<ActImplCorrelID>" & CorrID & "</ActImplCorrelID>"
"<ProgramRC>0</ProgramRC>"
"<ProgramInputData>"
"<_RC>" & ErrorCode & "</_RC>"
"<_PROCESS>" & sProcInNm & "</_PROCESS>"
"<_PROCESS_MODEL>" & sProcName & "</_PROCESS_MODEL>"
"<_ACTIVITY>" & sActivity & "</_ACTIVITY>"
"<CIM_CRM>"
"<CRMID>" & CaseID & "</CRMID>"
"<CRMEmployee>" & EmpID & "</CRMEmployee><CRMCallType>" & CallType & "</CRMCallType><CRMQueue>" & Queue & "</CRMQueue><CRMContact>" & NTUserID & "</CRMContact>"
"<CRMHierarchy1>" & Hier1 & "</CRMHierarchy1><CRMHierarchy2>" & Hier2 & "</CRMHierarchy2>"
"<CRMHierarchy3>" & Hier3 & "</CRMHierarchy3><CRMHierarchy4>" & Hier4 & "</CRMHierarchy4>"
"<CRMHierarchy5>" & Hier5 & "</CRMHierarchy5><CRMMileStoneID>" & MileStoneID & "</CRMMileStoneID>"
"<CRMUserID>" & CRMUserID & "</CRMUserID><CRMNote>" & Note & "</CRMNote>"
"<CRMPrivNote>" & PrivNote & "</CRMPrivNote><AcctID>" & AcctNo_12 & "</AcctID>"
"<NNumb>" & NNumber & "</NNumb><WFNARep>" & FCID & "</WFNARep>"
"<WFNAFirstName>" & ClFName & "</WFNAFirstName>"
"<WFNALastName>" & ClLName & "</WFNALastName>"
"<WFNAClientName1>" & CompName & "</WFNAClientName1>"
"<WFNAType>" & AcctType & "</WFNAType>"
"<WFNAAcctCode>" & AcctCode & "</WFNAAcctCode>"
"<WFNAJTAcctType>" & AcctJtType & "</WFNAJTAcctType>"
"<WFNAFirmID>" & FirmID & "</WFNAFirmID><WFNAFirmIDSub>" & FirmIDSub & "</WFNAFirmIDSub><WFNAID>" & sTin & "</WFNAID><WFNAIDFormat>" & TinFmt & "</WFNAIDFormat>"
"</CIM_CRM>"</ProgramInputData>"
"</ActivityImplInvokeResponse>"
"</WfMessage>" _________________ Joe Meier |
|
Back to top |
|
 |
jmac |
Posted: Mon Nov 04, 2002 10:47 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
I believe that your problem has to do with this line
Quote: |
<ProgramInputData> |
There is no ProgramInputData in the ActivityImplInvokeResponse message. it should be ProgramOutputData. See the message format in the program guide. _________________ John McDonald
RETIRED |
|
Back to top |
|
 |
jmeier |
Posted: Mon Nov 04, 2002 11:43 am Post subject: |
|
|
Apprentice
Joined: 30 Aug 2002 Posts: 46 Location: Minneapolis
|
I have tried that change in the past, and I just tried it again, and the problem that I run into now is that the _RC value is not passed properly. The process never flows to the next item, since it doesn't read the _RC value. _________________ Joe Meier |
|
Back to top |
|
 |
jmac |
Posted: Mon Nov 04, 2002 12:03 pm Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
Joe:
What exactly does your XML message look like when you return? I want to see the message that has ProgramOutputData as opposed to the one you last posted.
Thanks _________________ John McDonald
RETIRED |
|
Back to top |
|
 |
jmeier |
Posted: Mon Nov 04, 2002 12:44 pm Post subject: |
|
|
Apprentice
Joined: 30 Aug 2002 Posts: 46 Location: Minneapolis
|
Here is the reply message:
<WfMessage>
<WfMessageHeader>
<ResponseRequired>Yes</ResponseRequired>
</WfMessageHeader>
<ActivityImplInvokeResponse>
<ActImplCorrelID>RUEAAAABAIAA7wAAAAAAAAAAAAAABQAAAAEAcYAAAAAAAAAAAAAAAAAFQQAAAAEAgADwAAAAAAAAAABF</ActImplCorrelID>
<ProgramRC>0</ProgramRC>
<ProgramOutputData>
<_RC>0</_RC>
<_PROCESS>CRM_Test</_PROCESS>
<_PROCESS_MODEL>CRM_Test</_PROCESS_MODEL>
<_ACTIVITY>OpenCRMCase</_ACTIVITY>
<CIM_CRM>
<CRMID>110402-0056</CRMID>
<CRMEmployee>Workflow</CRMEmployee>
<CRMCallType>Workflow</CRMCallType>
<CRMQueue>Workflow</CRMQueue>
<CRMContact>ORAP495</CRMContact>
<CRMHierarchy1></CRMHierarchy1>
<CRMHierarchy2></CRMHierarchy2>
<CRMHierarchy3></CRMHierarchy3>
<CRMHierarchy4></CRMHierarchy4>
<CRMHierarchy5></CRMHierarchy5>
<CRMMileStoneID></CRMMileStoneID>
<CRMUserID></CRMUserID><CRMNote></CRMNote>
<CRMPrivNote></CRMPrivNote><AcctID></AcctID>
<NNumb></NNumb><WFNARep></WFNARep>
<WFNAFirstName></WFNAFirstName>
<WFNALastName></WFNALastName>
<WFNAClientName1></WFNAClientName1>
<WFNAType></WFNAType>
<WFNAAcctCode></WFNAAcctCode>
<WFNAJTAcctType></WFNAJTAcctType>
<WFNAFirmID></WFNAFirmID>
<WFNAFirmIDSub></WFNAFirmIDSub>
<WFNAID></WFNAID>
<WFNAIDFormat></WFNAIDFormat>
</CIM_CRM>
</ProgramOutputData>
</ActivityImplInvokeResponse>
</WfMessage> _________________ Joe Meier |
|
Back to top |
|
 |
jmac |
Posted: Mon Nov 04, 2002 1:46 pm Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
Joe:
This is what I would try. Look at this snip from your XML Message.
Quote: |
<ProgramOutputData>
<_RC>0</_RC>
<_PROCESS>CRM_Test</_PROCESS>
<_PROCESS_MODEL>CRM_Test</_PROCESS_MODEL>
<_ACTIVITY>OpenCRMCase</_ACTIVITY>
<CIM_CRM>
<CRMID>110402-0056</CRMID>
<CRMEmployee>Workflow</CRMEmployee> |
I would change it to look like this
Code: |
<ProgramOutputData>
<CIM_CRM>
<_RC>0</_RC>
<CRMID>110402-0056</CRMID>
<CRMEmployee>Workflow</CRMEmployee> |
The only Predefined field you can set is _RC, so delete the other 3 fields.
And I think the name of the structure might have to immediately follow the <ProgramOutputData> tag. _________________ John McDonald
RETIRED |
|
Back to top |
|
 |
jmeier |
Posted: Tue Nov 05, 2002 8:31 am Post subject: |
|
|
Apprentice
Joined: 30 Aug 2002 Posts: 46 Location: Minneapolis
|
Hey John...
I just tried your last suggestion and the CRMID still doesn't make it into workflow. The workflow process also doesn't read the _RC so the process flow just sits. _________________ Joe Meier |
|
Back to top |
|
 |
jmac |
Posted: Tue Nov 05, 2002 9:06 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
Joe:
If I understand what you are saying, it is something that is done every day by many people. You most definitely have to return the message with ProgramOutputData not ProgramInputData. What else you are doing wrong is hard to know without actually seeing your model and code.
Hopefully you have someone local that can have a look at this with you.
GOOD LUCK _________________ John McDonald
RETIRED |
|
Back to top |
|
 |
jmeier |
Posted: Tue Nov 05, 2002 9:32 am Post subject: |
|
|
Apprentice
Joined: 30 Aug 2002 Posts: 46 Location: Minneapolis
|
Thanks for your help John!!! Unfortunately, we are all pretty new to this... _________________ Joe Meier |
|
Back to top |
|
 |
ucbus1 |
Posted: Sat Nov 23, 2002 8:54 am Post subject: |
|
|
Knight
Joined: 30 Jan 2002 Posts: 560
|
If I understnd correctly(I may not be... as I am slo new like you) you do not have your ouput conatiner poulated with input container values..Right? try adding a "deault data loop back connector"on the activity and map the details what you wnat to pass |
|
Back to top |
|
 |
jmac |
Posted: Sun Nov 24, 2002 5:47 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
It is my opinion that a Data Default connector will not solve this problem. And also, Data Default connectors should generally be avoided. Since, if you need a data default connector at an activity, then you could simply pass the data from the previous output container (i.e the source of the member for this activity) thus not even have the member in the current output container. This is for performance reasons (i.e data base size) _________________ John McDonald
RETIRED |
|
Back to top |
|
 |
|