Author |
Message
|
DragonFist |
Posted: Tue Mar 02, 2004 11:39 am Post subject: error while accessing input container value |
|
|
 Acolyte
Joined: 11 Nov 2003 Posts: 52
|
When I am rying to access the input container member, I am getting the following error
FMC38009E MQSeries Workflow API Error :
API Return Code : 113
Error Origin : e:\v340\src\fmcjccon.cxx, line 738
Error Message : FMC00113E Container member not set
Nested Exception : None
the code i m using is
WorkItem workitems[]=service.queryworkitems(filter,null,null);
ReadOnlyContainer inputContainer = workitems[0].checkOut();
System.out.println("...Accessing Input Container Value......");
System.out.println(" Printing input Container"+inputContainer.getElement("requestId"));
System.out.println("Got input container value");
requestId= inputContainer.getLong("approverId");
System.out.println(approverId);
It is throwing the exception whili I am trying to set the value to requestId from the input container value. Am I doing anything wrong? When does workflow throws that Container memer not set error?
Thanks in advance _________________ DragonFist |
|
Back to top |
|
 |
vennela |
Posted: Tue Mar 02, 2004 12:02 pm Post subject: |
|
|
 Jedi Knight
Joined: 11 Aug 2002 Posts: 4055 Location: Hyderabad, India
|
How does your Data Structure look like. Is it nested and is the element you are referncing to an immediate child or a grand child kind. |
|
Back to top |
|
 |
jmac |
Posted: Tue Mar 02, 2004 12:09 pm Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
FMC_ERROR_MEMBER_NOT_SET rc = 113 is a perfectly acceptable response to a get request from a container. What this return code means is that the member had no data mapped into it by any predecessor containers. _________________ John McDonald
RETIRED |
|
Back to top |
|
 |
DragonFist |
Posted: Tue Mar 02, 2004 8:33 pm Post subject: |
|
|
 Acolyte
Joined: 11 Nov 2003 Posts: 52
|
I got it.. it is working fine. I have a scenario where if a program activity's state expires moves to the next activity. I am mapping the data to the next activity from the expired activity. I could see the data in the next activity, but not able to access the input container value as I stated the problem earlier in this post. So if a program activity expires and even though the data is mapped to the next activity... you can not access the data in the next program activity. is that wat happening in my case. Im not just clear about accessing the input contianer values in the next activity after the previous activity is expired.
Also if I want to use a filter.. will it work if set filter= "READY" and use it in
service.queryWorkItems(filter, null, null);
where READY is for querying workitems that are in ready state.
When I try to do this, it is returning an error saying incorrect filter value. How do I set the filter value.
thanks in advance _________________ DragonFist |
|
Back to top |
|
 |
vennela |
Posted: Wed Mar 03, 2004 7:04 am Post subject: |
|
|
 Jedi Knight
Joined: 11 Aug 2002 Posts: 4055 Location: Hyderabad, India
|
Filter should be
STATE IN READY
I usually look at the workflow javadoc for the syntax of filters and sort criteria. If you look in the queryWorkItems method documentation you will find the syntax. |
|
Back to top |
|
 |
manoj |
Posted: Wed Mar 03, 2004 7:53 am Post subject: |
|
|
 Master
Joined: 30 Jan 2002 Posts: 237 Location: Virgina
|
First of all if you want to pass data from an expired activity to another acitivity (if i am not wrong) you have to use data default connector and
maps the input container of the activity which expires to its ouput container.
Secondly if all the data elements you use in your data container are not mandatory then always process the exception for individual data members (use a "try catch" in java for each element ..most of the time you can ignore the exception based on the return code).
Thirdly..If possible use "=" always and try not to use "IN" ,"LIKE" etc in the filter...For large work list "IN" or "LIKE" etc is going to kill your system.
thanks _________________ -manoj |
|
Back to top |
|
 |
jmac |
Posted: Wed Mar 03, 2004 8:00 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
manoj wrote: |
First of all if you want to pass data from an expired activity to another acitivity (if i am not wrong) you have to use data default connector and maps the input container of the activity which expires to its ouput container. |
True statement
manoj wrote: |
Secondly if all the data elements you use in your data container are not mandatory then always process the exception for individual data members (use a "try catch" in java for each element ..most of the time you can ignore the exception based on the return code).. |
Good programming practice. The way I look at it there are 2 possible acceptable returncodes from a get from container. 0 and 113... all others are probably some problem
manoj wrote: |
Thirdly..If possible use "=" always and try not to use "IN" ,"LIKE" etc in the filter...For large work list "IN" or "LIKE" etc is going to kill your system. |
Do you have a source for this information? I don't think I've ever seen this stated before, but it does make sense to me.
THANKS _________________ John McDonald
RETIRED |
|
Back to top |
|
 |
manoj |
Posted: Wed Mar 03, 2004 8:08 am Post subject: |
|
|
 Master
Joined: 30 Jan 2002 Posts: 237 Location: Virgina
|
We sufferd a lot which we think is because of excessive LIKEs and INs.
Especially when we use the global container members also in our filters.
So i always tell try not to use these...
regards _________________ -manoj |
|
Back to top |
|
 |
DragonFist |
Posted: Wed Mar 03, 2004 10:03 am Post subject: |
|
|
 Acolyte
Joined: 11 Nov 2003 Posts: 52
|
Thank you all for the info... Manoj I was using the data default connector for expiration when I mentioned about the error. Maybe I was not mapping them correctly.. that might be the reason why I couldnot access the value for that particular data element and it was throwing the error 113. I am able to retreive it as soon the workitem is created. So i guess its my data mapping problem that throwed me that error. I will check on it.
Thanks _________________ DragonFist |
|
Back to top |
|
 |
|