Using instance variable (string >255 characters) in delivery

Avatar

Avatar

patrick12345

Avatar

patrick12345

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)

Avatar

Avatar

somasundaramhal

Avatar

somasundaramhal

somasundaramhal

15-11-2019

Hi,

If you just want to use a lengthy variable inside a delivery, you can try using variables in delivery like following.

1855483_pastedImage_0.png

Answers (9)

Answers (9)

Avatar

Avatar

Jyoti_Y

MVP

Avatar

Jyoti_Y

MVP

Jyoti_Y
MVP

11-11-2019

Hi,

Define your datatype as 'CDATA' or 'Memo' based on how you want to fetch value in your delivery.

Thanks.

Avatar

Avatar

somasundaramhal

Avatar

somasundaramhal

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.

Avatar

Avatar

somasundaramhal

Avatar

somasundaramhal

somasundaramhal

12-11-2019

Hi,

try adding something like this.

1854978_pastedImage_0.png

Avatar

Avatar

Raj_bounteous

MVP

Avatar

Raj_bounteous

MVP

Raj_bounteous
MVP

14-11-2019

Hi,

I think you can not query if it is stored as @data field and I think it is stored as XML.

Avatar

Avatar

Jyoti_Y

MVP

Avatar

Jyoti_Y

MVP

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.

Avatar

Avatar

patrick12345

Avatar

patrick12345

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.

Avatar

Avatar

patrick12345

Avatar

patrick12345

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

Avatar

Avatar

patrick12345

Avatar

patrick12345

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

Avatar

Avatar

patrick12345

Avatar

patrick12345

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