Insert mirror link into a database table via workflow javascript

Avatar

Avatar

rahuladwani

Avatar

rahuladwani

rahuladwani

26-10-2020

Hello,

 

I am using Adobe Campaign Classic v7 build 8936. My objective is to insert the mirror link of a message into a table in the database.

 

I have built a workflow which queries broadlogid and deliveryid from the nmsbroadlogrcp table and then I have written the following javascript:

 

var deliveryData = xtk.queryDef.create(
<queryDef schema="temp:query" operation="select">
<select>
<node expr="@id"/>
<node expr="@id1"/>
</select>
</queryDef>);
try {
var data = deliveryData.ExecuteQuery();

} catch(e) {

}

for each(var value in data)
{
    var mirrorPageURL = nms.delivery.GetMirrorURL(value.@id1,value.@id);

    var queryXML = <campmirrorlinkinfo _operation="insert" xtkschema="ybl:campmirrorlinkinfo"/>;

    /*var queryXML = <campmirrorlinkinfo _operation="insert" xtkschema="ybl:campmirrorlinkinfo" broadLogId={value.@id} deliveryId={value.@id1} mirrorurl={mirrorPageURL}/>;*/

    queryXML.@broadLogId = value.@id;
    queryXML.@deliveryid = value.@id1;
    queryXML.@mirrorurl = mirrorPageURL;
    try{
        xtk.session.Write(queryXML);
    } catch(e) {
    }

}

 

I am able to fetch the mirror link but I am not able to insert it in the table. I am getting the below error:

 

 

error.JPG

 

Can anyone please help me as to how can I achieve this objective and get rid of this error?

 

Thanks in Advance,

Rahul

Accepted Solutions (0)

Answers (2)

Answers (2)

Avatar

Avatar

Sukrity_Wadhwa

Employee

Avatar

Sukrity_Wadhwa

Employee

Sukrity_Wadhwa
Employee

04-11-2020

Hi @rahuladwani,

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

Thanks!

Avatar

Avatar

isahore

Avatar

isahore

isahore

28-10-2020

Hi @rahuladwani,

 

You need to uncomment the second statement, and comment the first one here. You also need to add a key field to the statement, only then an insert will be successful.

 

/*var queryXML = <campmirrorlinkinfo _operation="insert" xtkschema="ybl:campmirrorlinkinfo"/>; */

var queryXML = <campmirrorlinkinfo _operation="insert" xtkschema="ybl:campmirrorlinkinfo" key="@broadLogId" broadLogId={value.@id} deliveryId={value.@id1} mirrorurl={mirrorPageURL}/>;

// I assume that broadLogId is the primary key of the schema you want to write to.

 

Regards,

Ishan