Expand my Community achievements bar.

SOLVED

Update record in workflow

Avatar

Level 3

Hi,

I am looking for a solution to update a record through a workflow (only to be kept in the workflow for later usage for export).

I am working on Adobe Campaign Classic v7 build 8797

So far I have been looking around and found a solution there is working (for someone else) on Standard.

I've tried to change it to the data I want to update but without luck.

This is the content of my JS

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

logInfo(schemaName);

logInfo(vars.targetSchema);

var query = xtk.queryDef.create(

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

    <select>

      <node expr="@id"/>

      <node expr="@ProductDate"/>

    </select>

  </queryDef>

);

var resultSet = query.ExecuteQuery();

var collection = <{schemaName}-collection _operation="update" xtkschema={vars.targetSchema}/>;

for each (var row in resultSet) {

     var ProductDate = formatDate(row.@ProductDate, "%2D%2M%4Y");

     var schemaNameProgram = <{schemaName}-collection id={row.@id} ProductDate='ProductDate' _key='@id' xtkschema={vars.targetSchema}/>;

     collection.appendChild(schemaNameProgram);

     logInfo(ProductDate);

}

xtk.session.WriteCollection(collection);

Without any change I get this error

JST-310000 Error while compiling script 'WKF963/js' line 17: invalid XML tag syntax (line='var collection = <{schemaName}-collection _operation="update" xtkschema={vars.targetSchema}/>; ' token='-collection _operation="update" xtkschema={vars.targetSchema}/>; ').

SCR-160032 JavaScript: error while compiling script 'WKF963/js'.

When changing the {schemaName} to match my schema in the flow it runs without errors but does not update the record as expected.

Thanks in advance,

Best, Jonas

Jean-Serge BironAmit_KumarflorentlbAdhiyan

1 Accepted Solution

Avatar

Correct answer by
Level 3

Hi Deb,

I solved with another solution by changing the data stream and formatting through an enrichment step, where I changed the data from the fields and got the outcome in the flow data as expected.

This was done due to i could not get your solution to function as you described in your answers.

Best, Jonas

View solution in original post

4 Replies

Avatar

Level 7

Hi Jonas,

If you only want to update the temp table and it can be achieved by sql, the following script in your js will work.

var sql = "UPDATE  "+vars.tableName+" SET dProductdate = function(dProductdate )  ";

sqlExec(sql);

Using appropriate sql function you can you get it done.

Regards,

Deb

Avatar

Level 3

Hi Deb,

Thanks for the answer,

But i cant get this to work, as is?

My data field has the data: SQL field 'tsProductdate' of type 'Date' (Productdate)

And where should I place the js to format the date?

Hope you can help elaborate a bit further

Thanks in advance,

Best, Jonas

Avatar

Level 7

Hi Jonas,

You can refer the following link to achieve date format change during export.

How to display date and time in UTC format i.e, 2018-05-02T13:47:33.743Z?

Regards,

Deb

Avatar

Correct answer by
Level 3

Hi Deb,

I solved with another solution by changing the data stream and formatting through an enrichment step, where I changed the data from the fields and got the outcome in the flow data as expected.

This was done due to i could not get your solution to function as you described in your answers.

Best, Jonas