Expand my Community achievements bar.

Announcing the launch of new sub-community for Campaign Web UI to cater specifically to the needs of Campaign Web UI users!
SOLVED

JS to return schema?

Avatar

Level 4

Hi guys,

Is it possible to Query a schema, send it to a Javascript to apply a <where> condition and then return the schema result, therefore send it to another flow activity? I have tried it without result.

Here's my js

query = xtk.queryDef.create(

  <queryDef schema={vars.targetSchema} operation="select" distinct="true" noLineCount="1">

    <select>

      <node expr="@field1" alias="field1"/>

    </select>

    <where>

      <condition expr={"@field1='" + localVar + "'"}/>

    </where>

  </queryDef>);

resultSet = query.ExecuteQuery();

return resultSet;

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Hi,

Communication between activities can only happen over text (/json serializations).

Instead of that code you could fork the transition ahead of the js activity, then invert the query to delete, i.e.:

sqlExec("delete from " + vars.tableName + " where sField1 <> '" + localVar + "'");

The outgoing transition will then have the desired result set.

Thanks,

-Jon

View solution in original post

4 Replies

Avatar

Correct answer by
Community Advisor

Hi,

Communication between activities can only happen over text (/json serializations).

Instead of that code you could fork the transition ahead of the js activity, then invert the query to delete, i.e.:

sqlExec("delete from " + vars.tableName + " where sField1 <> '" + localVar + "'");

The outgoing transition will then have the desired result set.

Thanks,

-Jon

Avatar

Level 4

Hi Jon,

So you mean that I have to delete the records that doesn't match with the criteria from the "temp" result, right? That will only affect the temp results or it will delete it from the actual schema?

Thank you!

-Raúl

Avatar

Community Advisor

Just the temp results, or a copy of the temp results if you fork ahead of the activity- depends on what you're trying to do.