davidl14970702
davidl14970702
08-03-2018
I would like to set one field with an enumeration (on the left, below (@campaign_ministry_area)), and then have the selection be populated in another filed (on the right,webAnalytics/@tag1). I'm not 100% sure where to start.
But both fields are on my extension of the delivery table, in my own namespace.
The purpose of having both fields to is to set one within campaign, while the other gets processed to out web analytics account.
I feel like I can do something like this
<element externalJoin="true" label="Tag1" name="webAnalytics/@tag1" revLink="Delivery"
target="lw:delivery" type="link">
<join xpath-dst="@id" xpath-src="@Campaign_Minisitry_Area"/>
Any suggestions would be helpful.
Amit_Kumar
MVP
Amit_Kumar
MVP
09-03-2018
Hi David,
You need not change the schema you can go to the input form for the delivery and use below code to pick the value from one tab and use it in another?
<enter>
<set expr="Iif([@Campaign_Minisitry_Area]=='', 'defaultvalue', [@Campaign_Minisitry_Area])"
xpath="webAnalytics/@tag1"/>
</enter>
Note: ensure you are using correct Xpaths here
Regards,
Amit
davidl14970702
davidl14970702
10-03-2018
I added it but im nor seeing what i would have expected. I added it to the beginning of that container. Is defautvalue supposed to be defaultValue? proper V?
Amit_Kumar
MVP
Amit_Kumar
MVP
11-03-2018
Hi David,
To Make this work you have to load the xpaths into delivery so that your values can be loaded into the context which was saved before.
attribute name will be like xpathsToLoad="name of xpaths with comma separated values, which sometimes requires more changes based on the time when you want to see the change etc. in your case you can do it simply by using snippet:
<postSave>
<if expr="@Campaign_Minisitry_Area != ''">
<set expr="Coalesce(@Campaign_Minisitry_Area, 'defaultvalue can be anything that you want as default')" xpath="webAnalytics/@tag1"/>
<set value="nms:delivery" xpath="/ignored/writer/delivery/@xtkschema"/>
<set value="update" xpath="/ignored/writer/delivery/@_operation"/>
<set expr="[@id]" xpath="/ignored/writer/delivery/@id"/>
<soapCall name="Write" service="xtk:persist">
<param exprIn="[/ignored/writer/delivery]" type="DOMDocument"/>
</soapCall>
</if>
</postSave>
Add this snippet just before the form closing tag in your input form. please ensure all xpaths names as I do not have access to your form.
Remove previously suggested code change.
Regards,
Amit
davidl14970702
davidl14970702
12-03-2018
I doubled checked the xpaths, and I even added the fields in xpaths to load, and I'm still not seeing anything.
Amit_Kumar
MVP
Amit_Kumar
MVP
12-03-2018
did you tried postSave method mentioned above, i just tested this and it is working fine for me.
davidl14970702
davidl14970702
13-03-2018
amit_kr,
I believe I've done it as you have shown above. There must be something I am leaving out...None of my tests ave worked.
This is what I currently have.
Delivereies (nms) input form.
xpathsToLoad="@Campaign_Minisitry_Area,webAnalytics/@tag1"
Amit_Kumar
MVP
Amit_Kumar
MVP
13-03-2018
Hi David,
your If conditions is incorrect, it should be for postsave
<if expr="@Campaign_Minisitry_Area != ''">
Regards,
Amit
davidl14970702
davidl14970702
13-03-2018
I've updated to <if expr="@Campaign_Minisitry_Area != ''"> and i am still not seeing anything.
Amit_Kumar
MVP
Amit_Kumar
MVP
14-03-2018
Hi David,
It's strange, Can you send me your Delivery schema and input form in a personal email at amitdeol@outlook.com?
I will try to execute that on my local system and I will respond back.
Regards,
Amit