Expand my Community achievements bar.

We are excited to introduce our latest innovation to enhance the Adobe Campaign user experience — the Adobe Campaign v8 Web User Interface!
SOLVED

Can we store instance variable into an array?

Avatar

Level 2

Using queryDef am fetching a no sql field (an XML say 'ctx') field. Is there is any way to store the results in the array and then use the enrichment so that I can add these variables to the final data?

1 Accepted Solution

Avatar

Correct answer by
Employee

Hi saishag86196293 ,saishag86196293

You can store the query results in an array using for each loop in the query result and store it in vars to use it further in upcoming activities.

1573219_pastedImage_0.png

Below is the code text:

var query = xtk.queryDef.create( 

  <queryDef schema="xyz:transient" operation="select">   

    <select>     

      <node expr="@id"/>     

      <node expr="@campId"/>     

      <node expr="@recCount"/>   

    </select>       

  </queryDef>)

var res = query.ExecuteQuery()

//Creating array to store all Id's

id = []

for each (var t in res.transient){

id.push(t.@id)

}

logInfo('id array' + id);

//Store id array in vars to use it in next activities

vars.idArray = id;

logInfo('vars.idArray ' + vars.idArray);

Thanks,

Nainy Jain

View solution in original post

3 Replies

Avatar

Correct answer by
Employee

Hi saishag86196293 ,saishag86196293

You can store the query results in an array using for each loop in the query result and store it in vars to use it further in upcoming activities.

1573219_pastedImage_0.png

Below is the code text:

var query = xtk.queryDef.create( 

  <queryDef schema="xyz:transient" operation="select">   

    <select>     

      <node expr="@id"/>     

      <node expr="@campId"/>     

      <node expr="@recCount"/>   

    </select>       

  </queryDef>)

var res = query.ExecuteQuery()

//Creating array to store all Id's

id = []

for each (var t in res.transient){

id.push(t.@id)

}

logInfo('id array' + id);

//Store id array in vars to use it in next activities

vars.idArray = id;

logInfo('vars.idArray ' + vars.idArray);

Thanks,

Nainy Jain

Avatar

Employee Advisor

Hi saishag86196293,

When you will try to access this in the next activity, the array automatically gets converted to a comma separated string and hence you will have to split the variable and regenerate the array.

Regards,
vipul

Avatar

Level 4

Hi! I am just fiddling with a similar issue. Could you please elaborate upon how you would go about regenerating the array? And how do you reference items in an array in a delivery for instance?