ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » Workflow Engines - IBM MQ Workflow & Business Process Choreographer » [Solved]Setting container values

Post new topic  Reply to topic Goto page 1, 2  Next
 [Solved]Setting container values « View previous topic :: View next topic » 
Author Message
jmeier
PostPosted: Mon Nov 04, 2002 6:03 am    Post subject: [Solved]Setting container values Reply with quote

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
View user's profile Send private message
jmac
PostPosted: Mon Nov 04, 2002 6:53 am    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
jmeier
PostPosted: Mon Nov 04, 2002 7:33 am    Post subject: Reply with quote

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
View user's profile Send private message
jmac
PostPosted: Mon Nov 04, 2002 7:40 am    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
jmeier
PostPosted: Mon Nov 04, 2002 10:20 am    Post subject: Reply with quote

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
View user's profile Send private message
jmac
PostPosted: Mon Nov 04, 2002 10:47 am    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
jmeier
PostPosted: Mon Nov 04, 2002 11:43 am    Post subject: Reply with quote

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
View user's profile Send private message
jmac
PostPosted: Mon Nov 04, 2002 12:03 pm    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
jmeier
PostPosted: Mon Nov 04, 2002 12:44 pm    Post subject: Reply with quote

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
View user's profile Send private message
jmac
PostPosted: Mon Nov 04, 2002 1:46 pm    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
jmeier
PostPosted: Tue Nov 05, 2002 8:31 am    Post subject: Reply with quote

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
View user's profile Send private message
jmac
PostPosted: Tue Nov 05, 2002 9:06 am    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
jmeier
PostPosted: Tue Nov 05, 2002 9:32 am    Post subject: Reply with quote

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
View user's profile Send private message
ucbus1
PostPosted: Sat Nov 23, 2002 8:54 am    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
jmac
PostPosted: Sun Nov 24, 2002 5:47 am    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » Workflow Engines - IBM MQ Workflow & Business Process Choreographer » [Solved]Setting container values
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.