I created ADF BC VO based on EO and set the updatable flag to true ,so that It will allow me to perform DML operation on database table.
So when you run the app module tester , you can do create , delete , update and commit,rollback the record.
So when I pressed delete button ,it deleted the row from VO and enabled the commit button to commit changes to DB.
Business Requirement Change.
Now our business requirement has changed and we should not allow DML operation on VO. So I just unchecked the updatable flag for VO as below.
Now if I run app module tester all record are only read only.
When I look at the source of VO.xml following properties were set to prevent DML operation.
ReadOnly=true” and DeleteParticipant="false"
Business Requirement Changed again
Now again our business told that we need to have this VO updatable , so I just checked the updatable flag to checked.
I was happy and excited that they can now perform all DML operation again.
NOOOOOO !!! , I was Wrong.
Let me explain what happened.
I checked the updatable flag again , it removed readonly=”true” property , but it did not removed DeleteParticipant=”false” property.
Now let us see the impact of this property by running application module tester.
When I ran app module tester , it allowed me “Insert” , “Update” operation and it enabled commit button when I performed this operation.
When I deleted the record ,it deleted record from VO , but did not enabled commit and rollback button.
OOOOPPPSSS !! , What went wrong. After spending some couple of hours on this I finally figured out that when you do Uncheck and Check on updatable flag ,it do no remove DeleteParticipant=”false” property.
Is this Bug ?
I don’t know
Make sure when you do such kind of things make sure this flag is removed manually and make sure to retest your flow again.
Hope other ADF developer will not waste his precious time in figuring our this issue that is whole purpose of my blog Helping and Growing.