Discussion:
Please help with joins
(too old to reply)
AM
2007-01-23 00:20:32 UTC
Permalink
Hi all:

I have a MA that does nothing but joins. Upon executing this MA, the
following happens:

1.) In FilterForDisconnection, I check certain conditions and keep the
CSEntry connected or disconnect
2.) In ResolveJoinSearch, I check for some more conditions and pass
changes from joins to MVEntry or not

Step 2 appears to be working only with new first time joins. If the
CSEntry is a connector, and if there is a incoming data that fails my
logic in ResolveJoinSearch even then the incoming data seems to get
joined to MVEntry. This is happening just because CSEntry is connected
to begin with.

Can anybody please tell me for certain that ResolveJoinSearch is called
only when the incoming CSEntry is not already joined to a MVEntry?

What are my options then? Should I try to resolve it in
MapAttributesForImport and pass/not pass attributes to MV?

Thanks!
AM
Michael D'Angelo
2007-01-23 14:40:25 UTC
Permalink
You shouldn't be passing attribute values to the metaverse in
ResolveJoinSearch. It should be done within MapAttributesForImport.

And you are correct, ResolveJoinSearch is only called on a object that is in
a disconnected state. Once connected it is not called again.
Post by AM
I have a MA that does nothing but joins. Upon executing this MA, the
1.) In FilterForDisconnection, I check certain conditions and keep the
CSEntry connected or disconnect
2.) In ResolveJoinSearch, I check for some more conditions and pass
changes from joins to MVEntry or not
Step 2 appears to be working only with new first time joins. If the
CSEntry is a connector, and if there is a incoming data that fails my
logic in ResolveJoinSearch even then the incoming data seems to get
joined to MVEntry. This is happening just because CSEntry is connected
to begin with.
Can anybody please tell me for certain that ResolveJoinSearch is called
only when the incoming CSEntry is not already joined to a MVEntry?
What are my options then? Should I try to resolve it in
MapAttributesForImport and pass/not pass attributes to MV?
Thanks!
AM
AM
2007-01-23 18:04:18 UTC
Permalink
Michael,
Thank you for answering my post.

But now in order to have my logic, I'd need to pass every csentry
attribute I'd refer to in every flow in the MA's mapping?

For example,

If mventry("Param1").Value = csentry("Param1").Value AndAlso _
mventry("Param2").Value = csentry("Param2").Value

Then etc...

Then in the MA flow, will I end up with rules-extension mapping and
need to pass Param1 and Param2 in all flows?

csObj mvObj
------------------------------------------------------
Param1 Param1
Param2 Param2
Param1, Param2, Param3 Param3
Param1, Param2, Param4 Param4
Param1, Param2, Param5 Param5
:
:

Thanks!
AM
Michael D'Angelo
2007-01-23 18:30:45 UTC
Permalink
I'm not following why you would need to do this.

If you import Param1 and 2 from the csentry to the mventry directly, then
they will always be equal, so why would you need to include them as logic in
the other parameters?
Post by AM
Michael,
Thank you for answering my post.
But now in order to have my logic, I'd need to pass every csentry
attribute I'd refer to in every flow in the MA's mapping?
For example,
If mventry("Param1").Value = csentry("Param1").Value AndAlso _
mventry("Param2").Value = csentry("Param2").Value
Then etc...
Then in the MA flow, will I end up with rules-extension mapping and
need to pass Param1 and Param2 in all flows?
csObj mvObj
------------------------------------------------------
Param1 Param1
Param2 Param2
Param1, Param2, Param3 Param3
Param1, Param2, Param4 Param4
Param1, Param2, Param5 Param5
Thanks!
AM
AM
2007-01-27 05:16:44 UTC
Permalink
Sorry for the delay.
Here is what I was trying to do: I had to check values in a specific
set of attributes (Param1, Param2) in the inbound csentry before
allowing those values to flow into MV. In my first round I simply
checked this out in joinresolvesearch and all worked fine. In the
subsequent deltas, I had to implement the same logic in
mapattributesforimport to decide if I wanted to allow or disallow new
inbound csentry values to be set in MV.

I realized csentry object that is available in mapattributeforimport
does not have all of its attributes available for query but is limited
to only the ones in attribute flow in a given rules ext mapping. So in
my attributes flow mapping, for each attribute from CS --> MV had rules
ext, and I had to include the parameter + set of attributes that needed
to be checked.

csObj mvObj
------------------------------------------------------
Param1 Param1
Param2 Param2
Param1, Param2, Param3 Param3
Param1, Param2, Param4 Param4
Param1, Param2, Param5 Param5


Anu M
Post by Michael D'Angelo
I'm not following why you would need to do this.
If you import Param1 and 2 from the csentry to the mventry directly, then
they will always be equal, so why would you need to include them as logic in
the other parameters?
Post by AM
Michael,
Thank you for answering my post.
But now in order to have my logic, I'd need to pass every csentry
attribute I'd refer to in every flow in the MA's mapping?
For example,
If mventry("Param1").Value = csentry("Param1").Value AndAlso _
mventry("Param2").Value = csentry("Param2").Value
Then etc...
Then in the MA flow, will I end up with rules-extension mapping and
need to pass Param1 and Param2 in all flows?
csObj mvObj
------------------------------------------------------
Param1 Param1
Param2 Param2
Param1, Param2, Param3 Param3
Param1, Param2, Param4 Param4
Param1, Param2, Param5 Param5
Thanks!
AM- Hide quoted text -- Show quoted text -
Loading...