Skip to main content
Question

Passing a LongText parameter to a function defined in a projection

  • January 13, 2023
  • 5 replies
  • 246 views

Forum|alt.badge.img+5

When I tried passing a LongText type parameter to a function that is defined in a projection and implemented in the PLSQL code, get a runtime error when starting the page. This is an Aurina Assistant page. But if I change the type to Text then no error. Has anyone come across this problem or is this a know issue ?

F.Y.I. The error I get is

Unable to fulfill the request due to unexpected server state.

        Url: https://someserver.build.ifs.cloud/main/ifsapplications/projection/v1/CChgWaitingReasonTestHandling.svc/ChgWaitReasonTestVirtualSet/IfsApp.CChgWaitingReasonTestHandling.ChgWaitReasonTestVirtual_Default()
        Date = 2023-01-13T11:25:43.088Z
        Request Id = 9a108c72-87de-4dcc-9de5-38367578f54b
        Client version = 22.2.0.20221010131322.0

 

5 replies

Jonas Feigl
Superhero (Employee)
Forum|alt.badge.img+20
  • Superhero (Employee)
  • 263 replies
  • January 13, 2023

LongText attributes are usually handled via a separate call where an entry is created in FND_TEMP_LOB_TAB and the referencing ID from this table is then used in the request.

My understanding is that unfortunately this is not supported in Assistants. What you can do though is add the “inlined” property to the LongText attribute:


   attribute Comments LongText {
      inlined = [true];
   }

This should allow you to use LongText with up to 64k characters if I’m not mistaken.

 

Please have a look at the following UX techblog article as well: http://techblogs/uxx/?p=4188


Forum|alt.badge.img+5
  • Author
  • Do Gooder (Employee)
  • 12 replies
  • January 13, 2023

Hi Jonas, 

  Thank you for the details. The attributes in projections does not look to be supporting the ‘inlined’ keyword. Anyhow it looks like the json object I wanted to hold in a CLOB is not really large and would be around 2K, therefore changed it to a Text and everything looks Ok now.

   The Assistant works with a Virtual object and this also does not like LongText and have the same syntax issue. It does not allow to add the inline keyword. It is probably the issue you mention and is not handled by the code that the framework generates for these projections.

  F.Y.I.

  What I was implementing here is to call an external API and get a list of values to populate a drop down list. The API call is made in a  method that is invoked when the Assistant is created and then I need to hold the result in a text field until later when the user clicks on the drop down list. Then it will call a function that will extract the values from the json array and return a data set for the drop down.

 

Best regards

  Rohan

 


eqbstal
Superhero (Partner)
Forum|alt.badge.img+21
  • Superhero (Partner)
  • 693 replies
  • February 13, 2023

Nice case Rohan, I'm looking forward to how this is dealt as I have no clue, but am interested.


PhillBronson
Hero (Customer)
Forum|alt.badge.img+11
  • Hero (Customer)
  • 161 replies
  • July 3, 2025

@Jonas Feigl Where has this blog gone? I can’t find it….it is also mentioned in the techdocs 

 

Jonas Feigl wrote:

LongText attributes are usually handled via a separate call where an entry is created in FND_TEMP_LOB_TAB and the referencing ID from this table is then used in the request.

My understanding is that unfortunately this is not supported in Assistants. What you can do though is add the “inlined” property to the LongText attribute:


   attribute Comments LongText {
      inlined = [true];
   }

This should allow you to use LongText with up to 64k characters if I’m not mistaken.

 

Please have a look at the following UX techblog article as well: http://techblogs/uxx/?p=4188

 


Jonas Feigl
Superhero (Employee)
Forum|alt.badge.img+20
  • Superhero (Employee)
  • 263 replies
  • July 4, 2025

@PhillBronson This is an IFS Internal Tech Blog. The article is from 2018 so not sure if there have been any changes to the functionality. Please find the content of the blog post below:

 

OData-Provider did not support TEXT values larger than 4000 characters, because of Oracle’s limit of 4000 characters for VARCHAR2, so the alternative was to use LONG_TEXT attributes which will be stored as a CLOB.

But, this had a limitation: we could not save values for the LONG_TEXT attributes inline during Create\Update.

 

Now, the Middle Tier does a CRUD_Create and executes a CRUD_Upload in the same transaction to create the record with the inline LONG_TEXT attribute.

Inlined LONG_TEXT Attributes are limited to a maximum length of 64000 characters or the maxlength defined in the .projection file.

This functionality will be useful for Notes and Markdown editor.

 

Product.entity

 

 

1

2

3

4

5

attributes {

    key     Id           NUMBER      KMI-L;

    private Name         TEXT(100)   A-IU-;

    public  LongTextNote LONG_TEXT   A-IUL;

}

 

Product.projection

 

 

1

2

3

4

5

6

7

@Override

entity Product {

   attribute LongTextNote LongText {

      inlined = [true];  //default is false

      maxlength = 5000;  //default and max is 64000

   }

}

 

LONG_TEXT attributes must be declared in the entity model and should be overrided in the projection to make it an inlined attribute

 

 

Inline Long Text attributes during Create

 

Inline Long Text attributes during Update

 


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings