Skip to main content

Hi all,

 

Using the developer studio I’ve created a customization to add a column to a projection. When saving a record in the form I need the projection action to pass the value of this new column for processing in a database package. This all works fine when I set the attribute in the entity details to type Text. However I would like this to be a check box, passing either TRUE or FALSE to avoid users having to type in true or false themselves. 

desired check box

 

  1. When I attempt to use the attribute type Boolean(“TRUE”, “FALSE”) as I have seen in some core implementations, after deploying the change I always receive an “Error While de-serializing contents error when saving a record. Though this appears as the desired check box in the form 

Relevant error from logs: Error in creating gapplication/json;ieee754compatible=true] deserializer to read request content.","invocation":{"class":"com.ifsworld.fnd.provider.processor.FndActionProcessor","method":"getActionInvokerBuilder","line":931}},{"class":"org.apache.olingo.server.api.deserializer.DeserializerException","message":"Invalid json type: BOOLEAN for Edm.String property: CanUnissueMaterials"

 

  1. When I attempt to use attribute type Enumeration(FndBoolean) (using FndBoolean for test purposes) It is not in the desired check box format though I no longer get a deserialization error.  

     

Can anyone assist with this issue?

 

Thank you,

LEdwards

 

I’ve resolved this issue.

 

In the projection action I was passing a Text parameter as opposed to a Boolean, thinking that the “TRUE”, ”FALSE” indicated in the attribute declaration would convert the check box values to TRUE / FALSE varchars. By changing the action parameter to accept a boolean type, and updating the method declaration in the plsvc file the deserialization no longer occurs.

 

X-cust.projection file

 

x-cust.plsvc file

 


Reply