on 01-22-2014 2:33 PM
Dear All,
I have a scenario where the source and target mapping is as follows
Source Target
HeaderNodeA HeaderNodeB
Employeeid EmpId
Employeename EmpName
Department Dept
DateOfJoining DOJ
If the Department value in incoming payload is 01 or 02 then the target node should not be created and an alert should be raised to end user. For rest of the incoming Department values, it should create the target node.
Please let me know how can i execute the above mapping condition.
Regards
Uday Kiran
Hi Uday,
If the Department value in incoming payload is 01 or 02 then the target node should not be created and an alert should be raised to end user. For rest of the incoming Department values, it should create the target node.
--> do you want to send the message and raise the alert? or want to stop the message and raise the alert (in case of department value is 01 or 02).
If you don't want to send the message and raise the alert, the best way is to implement in receiver determination. Because it is a routing logic.
If you implement this in mapping then you will mix the routing alerts (which you are raising in mapping) with mapping failure alerts.
regards,
Harish
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
Check this for reference
http://wiki.scn.sap.com/wiki/display/XI/Xpath+Condition+in+Receiver+Determination
Can you confirm occurrence of headernode?
This will be possible when headernode comes once.
If headernode comes multiple times in one message then you have to use multi mapping to filter.But here you can not raise an alert.
Regards,
Muniyappan
Hello,
Use multimapping concept
Thanks
Amit Srivastava
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Sorry i just read your question again and
if you have a message which has multiple records with dept ID 01,02,03 and 04 then the target should receive the records for 03 and 04 and at the same time alert mail should be generated for 01 and 02.
If so may be you can design something like this->
Define two interfaces-> one is your actual target and the other would be mail receiver
In the receiver dtermination route the messages based on the xpath
actual receiver-> xpath would be Dept!=01 and 02
in the mapping : Filter the records
Mail mapping -> Xpath would be Dept= 01 or 02
In the mapping : filter the records and map it to mail receiver strcuture so that email will have enough details.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
You can handle this in receiver determination with Xpath condition or use simple udf with in raise the exception.
Regards.
Muniyappan
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Dear Muniyappan,
Thanks for your response.
I have tried using createif and ifelse functions saperately. can you elaborate the logic condition as i am unaware of using Xpaths.
Regards
Uday
Hi Uday
for this scenario you have two option
1. using UDF write a code to alert
2. put a condition at receiver determination it that condition is not match then raise the alert
Regards
GB
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Simple.. use create if function under the Node function to create the target node only when the dept ID is not in 01 and 02.
Other cases when the mapping failes, configure the alerts to so that your end user will receive the faiure alert
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
93 | |
10 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.