Expand my Community achievements bar.

Adobe Campaign User Groups are live now. Join our Adobe Campaign User Groups and connect with your local leaders!
SOLVED

Where clause in web application script

Avatar

Level 4

Hi,

 

I have created web application in ACC and added below code in script.

 

var contactID = ctx.recipient.@contactId;

/**Fetch Details from BroadLogRcp*/
var query = NLWS.xtkQueryDef.create(
{queryDef: {schema: "nms:broadLogRcp", operation: "select",
select: {
node:[{expr: "[delivery/@messageType]"},{expr: "[@address]"},{expr: "[@status]"},{expr: "[delivery/@label]"}, {expr: "[recipient/@managerID]"},{expr: "[@employeeID]"},{expr: "[delivery/@lastModified]"},{expr: "[delivery/@id]"},{expr: "@eventDate"},{expr: "[@recipient-id]"}]
},
where: {
condition:[{expr: "[@employeeID] = " + contactID} || {expr:"[recipient/@managerID] = " + contactID}]
},
orderBy: {
node:{expr: "@eventDate", sortDesc: "true"}
}
}});

 

 

Here "OR" condition is not working. Please help me to solve this issue.

 

Thanks,

Tejashri

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Hi @tejashriw155148,

add boolOperator with AND or OR in your conditions.

<where>
<condition boolOperator="OR" expr={firstName}/>
<condition boolOperator="OR" expr={lastName}/>
</where>

Regards,

Milan

View solution in original post

5 Replies

Avatar

Correct answer by
Community Advisor

Hi @tejashriw155148,

add boolOperator with AND or OR in your conditions.

<where>
<condition boolOperator="OR" expr={firstName}/>
<condition boolOperator="OR" expr={lastName}/>
</where>

Regards,

Milan

Avatar

Level 3

Hi @tejashriw155148 ,

 

Where clause should be something like below

where: {
condition:[{expr: "[@employeeID] = " + contactID boolOperator: "OR"}
{expr:"[recipient/@managerID] = " + contactID} ]
}

 

Please check, it should work.

You can also refer to below page

https://blog.floriancourgey.com/2018/08/use-querydef-the-database-toolkit-in-adobe-campaign

 

Regards

Avatar

Level 4

Hi @InMo@Milan_Vucetic  

 

where: {
condition:[{expr: "[@employeeID] = " + contactID boolOperator: "OR"}
{expr:"[recipient/@managerID] = " + contactID} ]
}

 

After adding the above code I'm getting below error

 

JST-310000 Error while compiling script '_webApp_APP118_' line 239: missing } after property list (line=' condition:[{expr: "[@employeeID] = " + contactID boolOperator:"OR"}{expr:"[recipient/@managerID] = " + contactID}]
' token='boolOperator:"OR"}{expr:"[recipient/@managerID] = " + contactID}]
').
SCR-160032 Javascript&colon; error while compiling script '_webApp_APP118_'.

 

Regards,

Tejashri

Avatar

Level 3

Hi @tejashriw155148,

 

From error it looks like a { is missing in the code.

 

Although i checked the code again if it dont work try below code also.

where: {
condition:[{boolOperator: "OR", expr: "[@employeeID] = " + contactID}
{boolOperator: "OR", expr:"[recipient/@managerID] = " + contactID} ]
}

Please try and test it, it should work.

 

Regards

Avatar

Level 4

Hi @InMo ,

 

Thanks for your reply. I have tried new logic but still getting error-

 

JST-310000 Error while compiling script '_webApp_APP118_' line 240: missing ] after element list (line=' {boolOperator:"OR",expr:"[recipient/@managerID] = " + contactID}]
' token='{boolOperator:"OR",expr:"[recipient/@managerID] = " + contactID}]
').
SCR-160032 Javascript&colon; error while compiling script '_webApp_APP118_'.

 

when I use only single where condition then its working fine but facing issue for OR condition.

 

Regards,

Tejashri