About get the result of Query Activity from JavaScript Activity in a workflow

tumuzhuanjia

07-06-2017

Hi

I created a workflow in Adobe Campaign as the follow

Start -> Query(query some recipients) -> JavaScript -> End

I query some recipients in the Query Activity, I can't find the way to get the result in the next JavaScript Activity.

Would you like to tell me how to do that.

Best regards

Accepted Solutions (1)

Accepted Solutions (1)

david_garcia1

MVP

09-06-2017

tumuzhuanjia

This is possible, by reading the temporary table created to hold the query data. (https://db.tt/aiCRLu3a66 )

  1. Add a Query and target recipient table
    •     Add complementary data (this is what you can use to query in the js activity and do stuff with it) https://db.tt/Ps2IRqkyil
  1. Add Js Activity with the following code and execute the workflow.

var schemaName = vars.targetSchema.substr(vars.targetSchema.indexOf(":") + 1);

var query = xtk.queryDef.create(

  <queryDef schema={vars.targetSchema} operation="select">

    <select>

      <node expr="@email"/>

    </select>

  </queryDef>

);

result = query.ExecuteQuery();

for each (var e in result) {

logInfo(e.@email);

}

Answers (3)

Answers (3)

Vapsy

Employee

07-06-2017

Hi tumuzhuanjia ,

You can achieve this by using queryDef construct inside JavaScript activity. From the outgoing transition of query activity find out the schema name and then use in queryDef for reading your data.

An example of it can be found on the link Re: Update instance variable with target data field.

Hope it helps.

Regards,

Vipul

Amit_Kumar

MVP

07-06-2017

Hi,

Accessing query data in JS activity is available for Reports and web applications so if you need that Read below:

This will be available in the CTX context and you can access it like ctx.query.recipient where query is the storage path of the query.

It's not available for campaign workflows because there you have some much flexibility to do everything without js so as a product feature in campaign workflow you don't have a storage path for queries.

refer to the attachment.

Capture.PNG

Regards,

Amit