Using instance variable (string >255 characters) in delivery

patrick12345

11-11-2019

Hi,

In the script activity I defined a variable (string length>255):

vars.cmpdeliveries = myVar123; //myVar123 is a string with more than 255 characters

In the query activity, where I define the recipients, I add the variable above using 'complementary information' (also tried with enrichment activity, but end up with the same error).

Label: CmpDeliveries

Expression: $(vars/@cmpdeliveries)

Alias: @cmpdeliveries

When running the workflow I get an error:

ORA-210000 Oracle error: ORA-12899: value too large for column "CAMUSER"."WKF28138905_32_1"."SCMPDELIVERIES" (actual: 780, maximum: 255)...

The goal is to use the variable (targetData.cmpdeliveries) in a delivery (continuous delivery activity in the same workflow). It works if the variable has less than 255 characters. Any solution for string >255 characters?

Thanks

Patrick

Accepted Solutions (1)

Accepted Solutions (1)

Answers (9)

Answers (9)

somasundaramhal

14-11-2019

Hi,

Hope the following helps you.

1855482_pastedImage_0.png

If you want to store different variable value to different user, you may need to use querydef in js and then update this 1024 characters field.

Jyoti_Y

MVP

12-11-2019

Hi,

You need to define datatype in schema:

<element label="Long value" name="longValue" type="CDATA"/>

And then you can store value in your variable using javascript.

Thanks.

patrick12345

18-11-2019

Thank you! I marked this as the correct answer because it solved my issue.
But with this solution I can't use "Continuous Delivery" because the activity doesn't have a "Script" tab. I use now multiple "Delivery" activities instead and this works. If somebody knows a solution for "Continuous Delivery" activity feel free to post.

patrick12345

15-11-2019

Hi,

This looks promising. Output in "View population" looks ok. However, when I use "XML Memo" (@test) in the continuous delivery it is empty.

<%= targetData.test %>

Any idea?

Thanks

patrick12345

14-11-2019

Thanks for your replies.

If I understand you correctly your solution implies to store the value of the variable into a field (of type CDATA or MEMO) of the recipient table. But I don't want to store the data in the database. All I want to do is to enrich the query/temporary-schema with the value of the variable, in order to use it in the delivery.

This is my workflow:

wf1.JPG

JS activity:

wf2.JPG

Query activity (Complementary information):

This activity fails if length(vars.mytestvar)>255; I don't want to store it in the DB.

wf3.JPG

Delivery template for continuous delivery:

wf4.JPG

patrick12345

12-11-2019

Hi,

How to define datatype CDATA or Memo? Do you have a sample? Is there any documentation?

What I want to do in the delivery is to further process the value of the variable using javascript and output in the HTML. My variable is a string that contains a collection of delivery IDs and Labels (comma separated).

Thanks,

Patrick