Question

Passing a LongText parameter to a function defined in a projection

  • 13 January 2023
  • 3 replies
  • 133 views

Userlevel 1
Badge +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

 


3 replies

Userlevel 5
Badge +17

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

Userlevel 1
Badge +5

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

 

Userlevel 7
Badge +21

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

Reply