Hi Team,
I want to uncheck all the "keep the results of interim population between two executions" in all workflows. So i planned to create a workflow to update @keepResult to "No".
In Data schema > xtk:workflow > structure > Display advanced field, I can see @keepResult (keep interim result) attribute.
But when i open Query activity or Update Data activity and select xtk:workflow as filtering dimension, in Display advanced field i am unable to find @keepResult attribute.
I found this link in forums Unchecking keep result filed in a workflow through javascript where we can update @keepResult to "No".
But please help me to solve this issue using Query and update data activity.
Thanks and Regards,
Partha Sarathy.
Solved! Go to Solution.
yeah thank you. I done this successfully using below code,
Start > Query > JavaScript code activity > End
1) Query: (query internal name: allWorkflowQuery)
This retrieve all workflows. (xtk:workflow -> primary key is not empty)
2) JavaScript code activity:
/*********************************************************************************************************/
var query = xtk.queryDef.create(
<queryDef schema="temp:allWorkflowQuery" operation="select">
<select>
<node expr="@id"/>
</select>
</queryDef>
);
var record = query.ExecuteQuery();
for each (var variable in record) {
var primaryKey = variable.@id;
var keepInterimResult = 0;
xtk.session.Write(<workflow xtkschema="xtk:workflow" _operation="update" id={primaryKey} keepResult={keepInterimResult} />);
}
/*********************************************************************************************************/
Regards,
ParthaSarathy
Hi Partha,
Reason it's not visible directly in query activity because for this attribute xml="true" . Any specific requirement why you wanted to use this by query activity only? As you shared solution is defined by using JavaScript activity.
Hi,
Thanks for responding! This JS works for updating only current workflow where i run the JS. But i want to update for all the workflows in our instance. (i.e) keepResult=No.
I tried below code. But it doesnt work.
var query = xtk.queryDef.create(
<queryDef schema="xtk:workflow" operation="select">
<select>
<node expr="@keepResult"/>
<node expr="@id"/>
</select>
</queryDef>
);
var record = query.ExecuteQuery();
for each (var variable in record) {
var keepResultIn = 0;
xtk.session.Write(<workflow xtkschema="xtk:workflow" _operation="update" id={variable.id} keepResult={keepResultIn} _key="@id"/>);
}
please help me to acheive this function!
Thanks and Regards,
Partha
Views
Replies
Total Likes
Try this:
var query = xtk.queryDef.create(
<queryDef schema="xtk:workflow" operation="select">
<select>
<node expr="@keepResult"/>
<node expr="@id"/>
<node expr="@label"/>
</select>
<where>
<condition expr="@id!=''"/>
</where>
</queryDef>
);
var record = query.ExecuteQuery();
for each (var variable in record) {
xtk.session.Write(<workflow xtkschema="xtk:workflow" _operation="update" id={variable.@id} keepResult='0' _key="@id"/>);
}
keepResult='0' means 'No'
keepResult='1' means 'Yes'
yeah thank you. I done this successfully using below code,
Start > Query > JavaScript code activity > End
1) Query: (query internal name: allWorkflowQuery)
This retrieve all workflows. (xtk:workflow -> primary key is not empty)
2) JavaScript code activity:
/*********************************************************************************************************/
var query = xtk.queryDef.create(
<queryDef schema="temp:allWorkflowQuery" operation="select">
<select>
<node expr="@id"/>
</select>
</queryDef>
);
var record = query.ExecuteQuery();
for each (var variable in record) {
var primaryKey = variable.@id;
var keepInterimResult = 0;
xtk.session.Write(<workflow xtkschema="xtk:workflow" _operation="update" id={primaryKey} keepResult={keepInterimResult} />);
}
/*********************************************************************************************************/
Regards,
ParthaSarathy
Not sure if you ever got this figured out, but we're looking for a solution currently.
Based on the available documentation:
"xml (boolen): if this option is activated, the values of the field don't have a linked SQL field. Adobe Campaign creates a Text type "mData" field for record storage. This means there is no filtering or sorting on these fields."
If you look in the Workflow schema and search "keepResult", it's set as xml="true". As it's highly recommended that you don't adjust anything in the out of the box schemas, the only other option could possibly be to create an extension which removes that piece, but without testing I'm not sure how exactly that works.
Views
Replies
Total Likes
Hi @Partha18 @somasundaram_h @kapilKochar
What could be the script to query the number of workflows which are having the keepInterimResult checked on. Please help.
Views
Replies
Total Likes
Views
Likes
Replies
Views
Likes
Replies