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

Personalization block How to query custom table from personalization block

Avatar

Community Advisor

Hello guys,

How can I query custom table from personalization block?

Thanks

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Hello @Luca_Lattarini 

 

use can query the data from customer table via the adobe campaign data api.

 

Reference link: https://experienceleague.adobe.com/docs/campaign-classic/using/configuring-campaign-classic/api/data...

 

Sample Code:

<%

var query=xtk.queryDef.create(<queryDef schema="nms:recipient" operation="select">
  <select>
    <node expr="@email"/>
    <!-- builds a string with the concatenation of the last name and first name separated by a dash -->      
    <node expr="@lastName+'-'+@firstName"/>
    <!-- get year of birth date -->
    <node expr="Year(@birthDate)"/>
  </select> 

  <where>  
     <condition expr="[@folder-id] = 1234 and @domain like 'Adobe%'"/>
  </where>

  <!-- order by birth date -->
  <orderBy>
    <node expr="@birthDate" sortDesc="true"/> <!-- by default sortDesc="false" -->
  </orderBy>
</queryDef>);

var records = query.ExecuteQuery();

%>

 


     Manoj
     Find me on LinkedIn

View solution in original post

3 Replies

Avatar

Correct answer by
Community Advisor

Hello @Luca_Lattarini 

 

use can query the data from customer table via the adobe campaign data api.

 

Reference link: https://experienceleague.adobe.com/docs/campaign-classic/using/configuring-campaign-classic/api/data...

 

Sample Code:

<%

var query=xtk.queryDef.create(<queryDef schema="nms:recipient" operation="select">
  <select>
    <node expr="@email"/>
    <!-- builds a string with the concatenation of the last name and first name separated by a dash -->      
    <node expr="@lastName+'-'+@firstName"/>
    <!-- get year of birth date -->
    <node expr="Year(@birthDate)"/>
  </select> 

  <where>  
     <condition expr="[@folder-id] = 1234 and @domain like 'Adobe%'"/>
  </where>

  <!-- order by birth date -->
  <orderBy>
    <node expr="@birthDate" sortDesc="true"/> <!-- by default sortDesc="false" -->
  </orderBy>
</queryDef>);

var records = query.ExecuteQuery();

%>

 


     Manoj
     Find me on LinkedIn

Avatar

Community Advisor

Hello @Luca_Lattarini ,

apart from the @Manoj_Kumar_  asnswer -querydef- you you can also use:

 

 

 

sqlSelect from jsapi:

var res = sqlSelect("publicUrl,@sstringValue:string",
        "select sstringValue from XtkOption where sname='XtkFileRes_PublicUrl'")
logInfo(res.publicUrl.@sstringValue.toString(

 

 

 

 

https://docs.adobe.com/content/help/en/campaign-classic/technicalresources/api/f-sqlSelect.html?hl=s...

 

Marcel

 

Avatar

Administrator

Hey @Luca_Lattarini,

 

Were you able to resolve this query with the help of the given solutions or do you still need more help here? Do let us know.


Thanks!



Sukrity Wadhwa