In the place of Explode BOMs in Enterprise Portal using htmlb tree – Part 2 (JAVA) Java HTMLB solution, we will create a BSP application instead. Now I tried to match my solution as close as possible to the one already given. This means that I used BSP HTMLB extensions such as Group and gridLayout. There are newer elements in the XHTMLB and PTHMLB libraries, but I was more interested in matching the same controls used from the Java example. Also I was tempted to develop my BSP application as Page with Flow Logic to reduce its size and better match the flow of the Java example. However my love of Model View Controller overcame me, so I decided to go with that approach for the better overall solution using BSP.
data: view type ref to if_bsp_page.
data: model1 type ref to zcl_es_bsp_m_bom_explosion.
****get a pointer to the model object.
model1 ?= get_model( ‘MQ’ ).
if input is available, dispatch this input to subcomponent.
this call is only necessary for toplevel controllers.
( if this is not a toplevel controller or no input is present,
this call returns without any action)
if any of the controllers has requested a navigation,
do not try to display, but leave current processing
if is_navigation_requested( ) is not initial.
view = create_view( view_name = ‘default.bsp’ ).
view->set_attribute( name = ‘model’ value = model1 ).
call_view( view ).
I hope that this exercise has been useful. I know that I learned a ton about Java HTMLB programming just be recreating this application in BSP.