SAP for Insurance Discussions
Engage in conversations about risk management, customer experience, and digital transformation using SAP in the insurance industry. Join the discussion!
cancel
Showing results for 
Search instead for 
Did you mean: 

Reading policy data in FSPM .

amit_upadhye2
Participant
0 Kudos

Hi ,

I am trying to fetch policy data can someone please let me know how to get the BO id needed for the same ?

Please find below code


DATA: lr_ctr_fac   TYPE REF TO /pm0/if_abp_bou_ctr_fac,

         lr_gl_policy  TYPE REF TO /pm0/if_abp_tc_get_policy.

   /pm0/cl_ab_bpu_registry=>init('D').

   lr_ctr_fac = /pm0/cl_ab_bpu_registry=>gr_ctr_fac.

   lr_gl_policy = lr_ctr_fac->get_gb_policy( ).

   DATA: ls_sec TYPE /pm0/abvapolicy,

          lt_cov TYPE /pm0/abwapolicy_t,

      lv_boid type /PM0/ABD_BO_ID.

" QUESTION IS WHERE TO GET THIS BO_ID FROM

       ls_sec-BO_ID = lv_boid.

       ls_sec-secpol_id = '051M17rU7jM1mHgP3f21X0'.

  

  

BREAK-POINT.

   TRY.

       CALL METHOD lr_gl_policy->get_policy

         EXPORTING

           is_sec    = ls_sec

         IMPORTING

           et_policy = lt_cov.

     CATCH /pm0/cx_abp_uboi .

     CATCH /pm0/cx_3ft_exception .

   ENDTRY.

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi,

did you / or the system load the policy ? If not, then you don´t have a BO and therefor no BO-ID.  🙂

If the BO is up and running and you only have the "regular" policy number, try:

/PM0/CL_AB_BPU_REGISTRY=>gr_toolkit->get_policy_id_for_policy_no

If there is no BO yet, you would have to build it yourself, so you can use UBOI.

Therefore take a look into the JOURNAL UBOI Implementation and try one of the "load_by" Methods

warm regards

Jan Aschenbrenner

View solution in original post

2 REPLIES 2

Former Member
0 Kudos

Hi,

did you / or the system load the policy ? If not, then you don´t have a BO and therefor no BO-ID.  🙂

If the BO is up and running and you only have the "regular" policy number, try:

/PM0/CL_AB_BPU_REGISTRY=>gr_toolkit->get_policy_id_for_policy_no

If there is no BO yet, you would have to build it yourself, so you can use UBOI.

Therefore take a look into the JOURNAL UBOI Implementation and try one of the "load_by" Methods

warm regards

Jan Aschenbrenner

0 Kudos

Thank you Jan for the help .

Just some snippet based on above suggestion which Loads the the application fetches the policy, contract,coverage data


   DATA:

     lr_date_service         TYPE REF TO   /pm0/if_abp_bc_extcordt_srvcs,

     lr_date_service_init    TYPE REF TO /pm0/cl_abp_bc_excodt_srvcs,

     ls_polpr_key            TYPE          /pm0/abvapolpr, "/PM0/ABVAPOLICY

     lt_polpr_keys           TYPE          /pm0/abvapolpr_t,

     lf_extenal_date         TYPE          abap_bool,

     lf_correspondence_date  TYPE        abap_bool,

     lf_bts_date             TYPE          abap_bool,

     lv_applnr_tt            TYPE /pm0/abd_applnr_tt,

     iv_planstate_id         TYPE  /pm0/abd_stateextdate_id,

     it_polpr                TYPE /pm0/abwapolpr_t,

     gr_get_policy           TYPE REF TO /pm0/if_abp_tc_get_policy,

     gr_get_polpr            TYPE REF TO /pm0/if_abp_tc_get_polpr,

     gr_get_cov              TYPE REF TO /pm0/if_abp_tc_get_cov,

     lr_uboi                 TYPE REF TO /pm0/cl_abp_bou_ctr_fac,

     ls_policy_key           TYPE /pm0/abvapolicy,

     it_policy               TYPE TABLE OF /pm0/abwapolicy,

     lv_duedate               TYPE /pm0/abd_duedate_dt.

 

    DATA :

          it_covdetail TYPE TABLE OF /pm0/abwacov,

          is_sec_cov   TYPE /pm0/abvacov,

          ls_cov_det   TYPE /pm0/abwacov.

   /pm0/cl_ab_bpu_registry=>init( 'D').

   IF /pm0/cl_ab_bpu_registry=>gr_ctr_fac IS BOUND.

     gr_get_policy = /pm0/cl_ab_bpu_registry=>gr_ctr_fac->get_gb_policy( ).

     gr_get_polpr /pm0/cl_ab_bpu_registry=>gr_ctr_fac->get_gb_polpr( ).

     gr_get_cov /pm0/cl_ab_bpu_registry=>gr_ctr_fac->get_gb_cov( ).

   ENDIF.

   FIELD-SYMBOLS : <fs_polpr> TYPE /pm0/abwapolpr.

   SELECT SINGLE c~applnr_tt  INTO  lv_applnr_tt FROM /pm0/abdapolicy AS p INNER JOIN /pm0/abdapolpr AS c ON p~secpol_id = c~policy_id

       WHERE p~policynr_tt = '00000000100000544' .

   "10000000000000075 "00000000100000529 "00000000100000544

   /pm0/cl_abp_bc_excodt_srvcs=>initialize_application(

                ).

   lr_date_service = /pm0/cl_abp_bc_excodt_srvcs=>get_singleton( ).

   lr_date_service_init ?= lr_date_service.

   lr_date_service_init->load_application(

     EXPORTING

       iv_effective_dt = sy-datum

       iv_policynr_tt  = '00000000100000544'

       iv_polprnr_tt   = lv_applnr_tt

     IMPORTING

       es_polpr_key    = ls_polpr_key

       ev_planstate_id = iv_planstate_id

          ).

   CHECK iv_planstate_id EQ '0'. " Plane State OK

   ls_policy_key-bo_id = ls_polpr_key-bo_id.

   TRY.

       CALL METHOD gr_get_policy->get_policy

         EXPORTING

           is_sec    = ls_policy_key

         IMPORTING

           et_policy = it_policy.

     CATCH /pm0/cx_abp_uboi .

       WRITE : 'Exception in UBOI'.

     CATCH /pm0/cx_3ft_exception .

       WRITE : 'Exception in Framework'.

   ENDTRY.

   CALL METHOD gr_get_polpr->get_polpr

     EXPORTING

       is_sec   = ls_polpr_key

     IMPORTING

       et_polpr = it_polpr.

   READ TABLE it_polpr ASSIGNING <fs_polpr> INDEX 1.

   MOVE-CORRESPONDING ls_polpr_key TO  is_sec_cov.

   TRY.

       CALL METHOD gr_get_cov->get_cov

         EXPORTING

           is_sec = is_sec_cov

         IMPORTING

           et_cov = it_covdetail.

       LOOP AT it_covdetail INTO ls_cov_det.

         WRITE :/ 'NLG==',ls_cov_det-zperiod_2.

         WRITE :/ 'PRD==',ls_cov_det-zprorata_dt_2.

       ENDLOOP.

     CATCH /pm0/cx_abp_uboi .

     CATCH /pm0/cx_3ft_exception .

   ENDTRY.