Quantcast
Channel: SCN: Message List
Viewing all articles
Browse latest Browse all 10498

Re: Force Child Realtionship(ZZ23REEWRel) when creating Parent(BuilRealtionship)

$
0
0

Nicolas ,

 

My client already enhanced ZCL_BUPA_IL_HEADER. That's  why  i tried my code there. The following BADI's triggered thru CL_EXIT _HANDLER

BUPA_SAVE_CONTROL

BUPA_GENERAL_UPDATE

BUPA_RELATSHP_UPDATE

BUPR_FILTER_RELTYP

BUPA_DESCRIPTION_GET

 

I did not see CRM_BP_UIU_SAVE stopping there..

 

CHECK_BEFORE_SAVE  method

IF lr_bp IS BOUND.

     lr_relations = lr_bp->get_related_entities( iv_relation_name  = 'BuilRelationshipRel' ).

     IF lr_relations IS BOUND.

       REFRESH:LT_RETURN[].

       lr_relation  = lr_relations->get_first( ).

     ENDIF.

     WHILE lr_relation IS BOUND.

 

       lr_relation->get_properties( IMPORTING es_attributes = ls_relationship ).

       IF ( ls_relationship-relationshipcategory 'ZCAM15' OR       " Legal Mother

          ls_relationship-relationshipcategory 'ZCAM17 ' ) AND    " Legal father

          ls_relationship-validuntildate  > sy-datum.

 

         lr_zz23reewrel = lr_relation->get_related_entity( iv_relation_name  = 'ZZ23REEWRel' ).

         IF lr_zz23reewrel IS BOUND.

           lv_paternity = lr_zz23reewrel->get_property_as_string( iv_attr_name = 'PAT_EST_METHOD' ).

           IF  lr_zz23reewrel->is_property_changed( iv_attr_name = 'PAT_EST_METHOD' EQ abap_true.

             lv_pat_changed = 'X'.

           ENDIF.

         ENDIF.

* Checking BUilRealtion  is changed or not.

*        IF

*         lr_relation->is_property_changed( iv_attr_name   = 'PARTNER2' )       EQ abap_true  OR

*         lr_relation->is_property_changed( iv_attr_name   = 'VALIDFROMDATE' )  EQ abap_true  OR

*         lr_relation->is_property_changed( iv_attr_name   = 'VALIDUNTILDATE' ) EQ abap_true  OR

*         lv_pat_changed    = 'X'.

 

*        SELECT SINGLE crdat FROM but050 INTO lv_crea_date       WHERE

*                           partner1 = ls_relationship-partner1  AND

*                           partner2 = ls_relationship-partner2  AND

*                           reltyp   = ls_relationship-relationshipcategory.

         IF lr_zz23reewrel IS NOT BOUND OR lv_paternity  IS INITIAL.

           CALL FUNCTION 'BALW_BAPIRETURN_GET2'

             EXPORTING

               type   = 'E'

               cl     = 'ZM00'

               number = '883'

               par1   = lv_message_text

             IMPORTING

               return = ls_message.

           APPEND ls_message TO lt_return.

         ENDIF.

       ENDIF.

       lr_relation  = lr_relations->get_next( ).

 

     ENDWHILE.

 

   ENDIF.

   IF lt_return IS NOT  INITIAL.

*    DATA lv_err_obj TYPE REF TO CL_CRM_GENIL_CONTAINER_OBJECT.

*          lv_err_obj ?= lr_relation.

*         CALL METHOD cl_crm_buil_services=>bol_add_messages

*          EXPORTING

*            iv_cont_obj      =  lv_err_obj

*            iv_object_name   = me->object_name

*            it_bapi_messages = lt_return.

 

     CALL METHOD iv_msg_service_access->get_global_message_container

       RECEIVING

         rv_result = lv_msg_cont.

     IF lv_msg_cont IS NOT INITIAL.

       CALL METHOD lv_msg_cont->add_bapi_messages

         EXPORTING

           it_bapi_messages  = lt_return

           iv_show_only_once = 'X'.

     ENDIF.

      CLEAR cs_object-success.

   ENDIF.

  


Viewing all articles
Browse latest Browse all 10498

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>