In order to properly split and break monolithic apps, it would be helpful if the following limitation were removed and supported by the platform:'A field that is part of a table key cannot be moved'
Currently, for on-premises scenarios, there is a workaround for this limitation: delete the key before moving the fields, and then deploy the apps that contain the moved objects. So technically, it is possible to achieve this, but only in two steps. It would be great if this scenario could also be supported within a single deployment.
This should apply for Tablefields and Table-Extension Fields, that are part of a key NOT Primary Key
Example:
App Monolith: TableExtension extends Customer - Field 'Rating ISV' also declared as additional key
New App :
After Move
App Monolith:
New App : TableExtension Customer - Field 'Rating ISV' also declared as additional key
Comments
Examples were not submitted correctly:tableextension 50000 "Customer ISV" extends Customer{ fields { field(50000; "Rating ISV"; Code[20]) { Caption = 'Customer Group'; DataClassification = SystemMetadata; } } keys { key(MonolithAppKey1 "Rating ISV") {} }}Before MoveApp Monolith: TableExtension Customer -> Field "Rating ISV" (+ declared as additional key)New App :After MoveApp Monolith: New App : TableExtension Customer -> Field "Rating ISV" (+ declared as additional key)
Category: Development
