Skip to main content
Level 2
Nov 11, 2019 4:50 PM UTC
Solved

Using instance variable (string >255 characters) in delivery

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

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
somasundaram_h
somasundaram_hAccepted solution
Community Advisor
Nov 15, 2019 12:22 PM UTC

Hi,

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

10 replies

Jyoti_Yadav
Level 8
Nov 12, 2019 4:59 AM UTC

Hi,

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

Thanks.

Translate
PRuferAuthor
Level 2
Nov 12, 2019 3:19 PM UTC

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

Translate
Jyoti_Yadav
Level 8
Nov 13, 2019 4:28 AM UTC

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.

Translate
somasundaram_h
Community Advisor
Community Advisor
Nov 13, 2019 5:28 AM UTC

Hi,

try adding something like this.

Translate
PRuferAuthor
Level 2
Nov 14, 2019 3:09 PM UTC

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:

JS activity:

Query activity (Complementary information):

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

Delivery template for continuous delivery:

Translate
Raj_Ganta-1
Level 5
Nov 14, 2019 8:36 PM UTC

Hi,

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

Translate
somasundaram_h
Community Advisor
Community Advisor
Nov 15, 2019 5:34 AM UTC

Hi,

Hope the following helps you.

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.

Translate
PRuferAuthor
Level 2
Nov 15, 2019 10:58 AM UTC

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

Translate
somasundaram_h
Community Advisor
somasundaram_hCommunity AdvisorAccepted solution
Community Advisor
Nov 15, 2019 12:22 PM UTC

Hi,

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

Translate
PRuferAuthor
Level 2
Nov 18, 2019 4:47 PM UTC

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.

Translate