I have enhanced the EHHSS_INCIDENT BO and added a new child node to the ROOT node to hold specific custom fields. I thought this made more sense than adding them to the extension include of the ROOT node because i) there are a lot of new fields and ii) they will only be populated in a particular scenario (i.e. when a new Classification Group is selected).
I have tested this BO in the BOBT transaction and I am able to create instances of this new node against existing Incidents and persist the data successfully.
I have created a new FPM_FORM_UIBB configuration to hold the new node's fields, enhanced the EHHSS_INC_REC_OIF_V3 configuration to include my form as a new tab, and enhanced the CL_EHHSS_INC_OIF_CNTRLR_NEW->MANAGE_MAIN_VIEWS method so that this new tab is only shown when the Classification Group is selected.
The Edit Incidents Web Dynpro app is working well for Incidents that already have an instance of this new child node (previously created in BOBT). The new tab is correctly displayed when the Classification Group is selected, the data is displayed and can be changed and persisted.
My problem is that I need to create an instance of my new node when the Classification Group is selected for the first time (i.e. there is no existing instance of this child node for this Incident). I am really struggling with this! All the other tabs that are controlled by specific Classification Group selection just show a list UIBB rather than creating a new node themselves.
Does anyone have any idea where I should put the code to create this new node instance, and what the code should look like. Should I be doing this within the Web Dynpro code at the UI level? Should I be trying to do this at the BOPF level, maybe as a determination on the GROUP node which gets created when Classification Group checkbox is selected? Would I be better off just appending my new fields to the ROOT extension include, so I don't have to worry about node creation at all? I don't know where to start! Any help would be greatly appreciated.