Could anyone help me resolve this compilation error:

"Internal Error: Compilation Error.
ServiceProviderSubscriptions.aspx.cs(98,24): error CS0315: The type 'int' cannot be used as type parameter 'T' in the generic type or method 'OutSystems.HubEdition.RuntimePlatform.Db.GenericRecordList<T>'. There is no boxing conversion from 'int' to 'OutSystems.HubEdition.RuntimePlatform.Db.ITypedRecord<int>'.
bin\OutSystems.HubEdition.RuntimePlatform.dll: (Location of symbol related to previous error)
c:\Windows\Microsoft.NET\Framework64\v4.0.30319\mscorlib.dll: (Location of symbol related to previous error)"


Hello Seth,

That's a nasty compilation error. Usually caused by some pattern in the OML that Service Studio is not validating properly, but to confirm that we need to publish the OML to analyze the pattern and the generated code.

If you can share the OML file, and let us knowhich version of the Platform Server (check in Service Center) you're using, I can try to help you identify the error.

If you prefer, and you have a valid OutSystems subscription, you can contact the OutSystems Technical Support for assistance.


Thanks for getting back to me.

I've just found out what was causing the error.

Problem Background
I included a Radio Button in one of the columns of the Table Records. The Radio Button's value was set as a list of Database Entity Identifier.

1 Publish was green and when I tried to publish the module, Outsystem gave me the above error at second compilation step, just before step 4 of final publishing.

How I resolved the problem
I then changed the Radio Button value from Entity Attribute Identifier to a Text type Entity Attribute.

I was able to compile successfully afterwards.

Lesson learned
Perhaps I'm using the Radio Button incorrectly as I'm a novice (but enjoying the platform). I included the Radio Button in the Table Records with value set as variable of Entity Attribute Identifier type. This was to enable me to use the value as a filter in a separate database aggregate. Because I couldn't set the Radio Button value as Entity Identifier but Text type, I ended up going the long way around of using text attribute to find the correct record identifier, then used that identifier in a separate database aggregate.

Suggested Improvement
Assuming I used the Radio Button correctly, it would be nice for Outsystem to allow Radio Buttons to use Entity Attribute Identifiers as values so it could be easier to manipulate aggregates without having to add extra logic steps of identifying entity identifiers of selected Radio Button records.

Further Assistance Needed
Please let me know if there is an easier way of selecting the entire row record of the displayed Table Records using Radio Buttons instead of adding links to expressions in columns of Table Records.

PS. I learn better seeing example OMLs than reading step-by-step instructions. If you do have a better approach to solve my radio button use of entity identifiers, please send me your sample OML file.

And while on the subject of sample OML files, could you send me an example OML file on Ousystem logic of reading the device's address book? The example in Outsystems Now Features is about saving records to a device and not about reading device contacts. If you do have examples of reading contacts, please let me have the OML or Step by Step Instructions for Dummies to accomplish that. I would like to see how Apache Cordova API is used in Outsystems for reading device contacts.

Thanks for your consideration.

I look forward to hearing further from you.
Hello Seth

It's great to now that you've overcome the compilation error. It does seems like Service Studio is allowing a unsupported pattern of having a record list as the variable of the radio button. I'll try to replicate the problem and follow up with the OutSystems R&D for a future fix.

As for the pattern you're attempting to implement, do you confirm that you want to select and entire row to then be processed by an action, like clicking on the rows to selected them and them press a Delete or Update button to perform some action on these rows?

Regarding the device contact list reader, I'll try to find a sample to share with you. I'll keep you posted.


Hi Miguel,

Thanks once again for your swift reply.

Yes, I prefer using radio buttons to select the entire table record to update/ delete, instead of the radio button in the table record only returning one item attribute. This would save us from sending unnecessary aggregation calls to the server.

I appreciate your help concerning the device contact list reader.

Kind regards,