Skip to Content

Archived discussions are read-only. Learn more about SAP Q&A

Dump issue for binding context node on Web UI

Hi Colleague,

I create a binding for the context node as below for getting customizing values for a dropdown list, but there is a dump issue occured when clicking on Save button, which runtime error is 'RAISE_EVENT_NESTING_LIMIT'. If I remove this binding, no dump issue and can save activity successfully. Could you also explain more about binding relationship among different context nodes on Web UI?

Kind Regards

Andie


Tags:
Former Member
replied

Hi Andie,

You need to have proper connection between BTAdminH and BTSubject context nodes, otherwise system will not give you updated collection.

You have to create BTSUBJECT context node as child node for BTSUBJECTSET and BTSUBJECTSET should have get the updated collection from BTAdminH in ON_NEW_FOCUS method in BTSubjectSet context node.

You have already created both BTSubjectset and BTSubject context nodes right, did you mention any relationship between these node while creating the context nodes.

Just do the below steps and check whether the collection is getting filled in BTSubject context node,

Go to CTXT class Create_BTSUBJECT add the below code

* initial setting for depandant model node

     coll_wrapper =

       BTADMINH->get_collection_wrapper( ).

     TRY.

         entity ?= coll_wrapper->get_current( ).

       CATCH cx_sy_move_cast_error.

     ENDTRY.

     IF entity IS BOUND.

       BTSUBJECT->on_new_focus(

                    focus_bo = entity ).

     ENDIF.


And then go to BTSUBJECT context node class and add on_new_focus method in CNXX class as shown below screen shot, You can get the below popup by clicking the details view icon



Once you created on new focus method add the code as shown in below

data: lv_collection type ref to if_bol_bo_col,

         lr_entity     type ref to cl_crm_bol_entity,

         lr_entity_dep type ref to cl_crm_bol_entity.

*   get collection of dependent nodes

   lr_entity ?= focus_bo.

   try.

       lr_entity_dep = lr_entity->get_related_entity(

              iv_relation_name = 'BTHeaderBOSSet' ).

     catch cx_crm_genil_model_error.

*       should never happen

       exit.

     catch cx_sy_ref_is_initial.

   endtry.

   lr_entity ?= lr_entity_dep.

   try.

       lr_entity_dep = lr_entity->get_related_entity(

              iv_relation_name = 'BTSubjectSet_A' ).

       if lr_entity_dep is not bound.

         if lr_entity->is_changeable( ) = abap_true.

           try.

               lr_entity_dep = lr_entity->create_related_entity(

                iv_relation_name = 'BTSubjectSet_A' ).

             catch cx_crm_genil_model_error cx_crm_genil_duplicate_rel.

*               should never happen

           endtry.

         endif.

       endif.

     catch cx_crm_genil_model_error.

*       should never happen

       exit.

     catch cx_sy_ref_is_initial.

   endtry.

   lr_entity ?= lr_entity_dep.

   try.

       lr_entity_dep = lr_entity->get_related_entities(

              iv_relation_name = 'BTSubjectSingle' ).

       if lr_entity_dep is not bound.

         if lr_entity->is_changeable( ) = abap_true.

           try.

               lr_entity_dep = lr_entity->create_related_entity(

                iv_relation_name = 'BTSubjectSingle' ).

             catch cx_crm_genil_model_error cx_crm_genil_duplicate_rel.

*               should never happen

           endtry.

           if lr_entity_dep is bound.

             create object lv_collection

               type

                 cl_crm_bol_bo_col.

             lv_collection->add( lr_entity_dep ).

           endif.

         endif.

       else.

         if lr_entity_dep is bound.

           create object lv_collection

             type

               cl_crm_bol_bo_col.

           lv_collection->add( lr_entity_dep ).

         endif.

       endif.

     catch cx_crm_genil_model_error.

*       should never happen

       exit.

     catch cx_sy_ref_is_initial.

   endtry.

   me->collection_wrapper->set_collection( lv_collection ).



Best Regards,

Dharmakasi.

0 View this answer in context
Not what you were looking for? View more on this topic or Ask a question