cancel
Showing results for 
Search instead for 
Did you mean: 

EH&S Risk Web Dynpro ABAP FBI - link from GUIBB to ANALYSIS BOPF node?

afordham
Participant
0 Kudos
409

Hi All,

I'm trying to find how the GUIBBs used in the Risk Assessment Web Dynpro specify the Type of the Risk Analysis when creating a new ANALYSIS node on the EHHSS_RISK BOPF Business Object.

I am following the instructions on Adapting Risk Assessment Steps help page. I can see that there are different variants of the EHHSS_RAS_IOF configuration. I would like to create a new risk analysis Type, copy one of the 3 existing variants that include a risk matrix tab (Initial, Inherent and Residual), and assign that new variant to a risk assessment step in the IMG, so that it will allow me to create an additional Analysis node (with my new risk analysis Type) on the Risk BO.

I presume that the existing 3 variants that include a risk matrix Form UIBB somehow 'hard code' the risk analysis Type that they create, but I can't work out where! Does anyone have experience in this area? Part of the problem is that the Web Dynpro FBI framework is hardly used anywhere, so there aren't many other examples for me to look at.

Many thanks,

Andrew

Accepted Solutions (1)

Accepted Solutions (1)

michaelf_
Product and Topic Expert
Product and Topic Expert

Dear Andrew,

the creation of a new risk analysis type is indeed something we come across very rarely. Your assumption that the analysis type is hard-coded is not that wrong (as a matter of fact, it's configured in various places).

Let me give you a brief overview about the steps required:

  1. Create a domain append for the risk analysis type with a new value. For this demonstration, I'm using the domain fixed value Z4. (I suppose you already did this)
  2. In the BOPF model enhancement of the Risk business object (EHHSS_RISK), create a new association originating from REVISION node to ANALYSIS node which returns the new risk analysis node. This association could be named Z4_RISK. You can have a look at the association binding for the initial, inherent, or residual risk association as a help.
  3. Open the Web dynpro Component Configuration EHHSS_RAS_OIF_STEPS and create an enhancement for it. In the enhancement, copy the variant INITIAL (or RESIDUAL or INHERENT) to a new variant, e. g. Z4_VARIANT.In the Wireing section of the custom variant, change the associations provided in the wire details from INITIAL_RISK to Z4_RISK (created in step 2).
  4. Define a new Risk Assessment Step in the customizing: SAP EHS Management -> Risk Assessment -> Risk Analysis -> Specify Assessment Steps and Analysis Methods. Copy the step for the initial (or inherent or residual) risk and change the risk type to Z4. Adapt the Variant column to Z4_VARIANT.
  5. Finally, you have to adapt the Web Dynpro EHHSSWDC_RAS_OIF_RMATRIX in the component controller. The method INITIALIZE creates the node instances of the ANALYSIS node. (see line 76 as an example).
  6. Alternatively to step 5: Create a BOPF determination on REVISION , CREATE, Before Save and create your custom analysis node with the analysis type there. (IMHO, this is more convenient).

Please be aware that any of the steps above come without any warranty. The resemblance of the analysis type Z4 to a model of German car manufacturer is purely incidental 😉

With kind regards,

Michael

afordham
Participant

Thanks for a very comprehensive answer, Michael! I was expecting this question to be one of those that gets lots of views but no actual answers. I will give it a go and see how I get on.

I see that in the EHHSS_RAS_OIF_STEPS variants, there are three configs for the EHHSSWDC_RAS_OIF_RMATRIX component ( EHHSS_RAS_OIF_CUIBB_RMATRIX, EHHSS_RAS_OIF_CUIBB_RMATRIX_1 and EHHSS_RAS_OIF_CUIBB_RMATRIX_2) and three configs for the FPM_FORM_UIBB component (EHHSS_RAS_OIF_ANM_MATRIX_FRM, EHHSS_RAS_OIF_INHER_MATRIX_FRM and EHHSS_RAS_OIF_RESID_MATRIX_FRM). Will I need to make one copy of each component's config for my new Type, or can I just hook it up to one of the existing ones? I can't see any difference within the configs in each group.

Thanks again,

Andrew

michaelf_
Product and Topic Expert
Product and Topic Expert

Hi Andrew,

for the UIBBs which are assigned to a specific analysis type, you have to create a copy and replace them in your variant. There is no further adaption required. The reason you have to copy them and can't reuse them is that in a Floorplan Manager application, only a single instance of a certain UIBB can be added (there are some exceptions to this but in the Risk Assessment, it's not possible).

With kind regards,

Michael

afordham
Participant

Hi Michael,

I've created the new Risk Analysis Type, extended the EHHSS_RISK BO with a new Assocation, extended the EHHSS_RAS_OIF_STEPS config, copied the existing RESIDUAL variant, and copied all of the config IDs that vary depending on risk analysis type (there are quite a few!).

I have then created a new Risk Assessment Step using my new Variant and Risk Analysis Type, assigned that step to a Risk Assessment Type, and assigned the RISK_MATRIX analysis method to the step. I can now save data against this new risk analysis type and see it in the BO.

So far so good!

The problem I have is that all of the possible UIBBs in the new variant (Office Document, Documents, Risk Matrix and Exposure Assessment) are showing at runtime, even though I've only specified the Risk Matrix analysis method. The existing 3 Risk Analysis Type variants only show the analysis method that has been assigned to the step, but my new Variant shows then all. Is there anything additional I should be doing to hide these other UIBBs? I could just delete UIBBs from the variant so that only the RIsk Matrix ones remain, but that will stop me using this variant with other analysis methods in the future. I'd rather do it "properly" if I can.

Many thanks for your help so far,

Andrew

michaelf_
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi Andrew,

good job!

I assume that you have specified the Assessment Steps and assigned the Analysis Methods in the customizing: Environment, Health and Safety -> Health and Safety Management -> Risk Analysis -> Specify Assessment Steps and Analysis Methods. The new step "Determine Z4 Risk" (I'm using Z4 as a placeholder here similar to my guide above) has only a single Analysis Method attached (Risk Matrix), as shown on the screenshot below:

The visibility of the Analysis Methods per Risk Assessment Steps is controlled in the Application Controller class. Based on the customizing entered, the steps are either hidden or displayed. However, in the standard implementation, there is an IF-condition based on the variant (inherent, initial, residual) which hides the tabs properly.

In class CL_EHHSS_RAS_OIF_CONTROLLER, method IWCI_IF_FPM_TABBED_CONF_EXIT~OVERRIDE_CONFIG_TABBED, there is a section from line 135-255 which as to be copied to a subclass (exchanging the application controller class) or copied into a post-exit method. Instead of the IF-condition (line 155) on the inherent, initial, and residual variant, you can use your new variant Z4_VARIANT. You will also need to add some of the coding from the method (line 83-112) before the adapted coding.

By doing so, you can customize which Analysis Methods will be visible in the new Assessment Step.

Good luck with the changes 🙂 So far you made very good progress! Let me know if you need any additional support 🙂

With kind regards,

Michael

afordham
Participant
0 Kudos

Hi Michael,

I had just located the IWCI_IF_FPM_TABBED_CONF_EXIT~OVERRIDE_CONFIG_TABBED method in the debugger when I got notification of your comment!

I've made the changes you suggested (and a couple more) and it now all seems to be working. I have even created a Z5 analysis type to prove that I can add multiple custom analysis steps to an assessment.

Thanks very much for all your help. It would have taken a lot longer (and may not even have happened at all) without it.

All the best,

Andrew

Answers (0)