Using instance variable (string >255 characters) in delivery | Community
Skip to main content
Level 2
November 11, 2019
Solved

Using instance variable (string >255 characters) in delivery

  • November 11, 2019
  • 10 replies
  • 20965 views

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.
Best answer by somasundaram_h

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
November 12, 2019

Hi,

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

Thanks.

PRuferAuthor
Level 2
November 12, 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

Jyoti_Yadav
Level 8
November 13, 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.

somasundaram_h
Community Advisor
Community Advisor
November 13, 2019

Hi,

try adding something like this.

PRuferAuthor
Level 2
November 14, 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:

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:

Raj_Ganta-1
Level 5
November 14, 2019

Hi,

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

somasundaram_h
Community Advisor
Community Advisor
November 15, 2019

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.

PRuferAuthor
Level 2
November 15, 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

somasundaram_h
Community Advisor
somasundaram_hCommunity AdvisorAccepted solution
Community Advisor
November 15, 2019

Hi,

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

PRuferAuthor
Level 2
November 18, 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.