06-10-2015 4:26 PM
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.
06-11-2015 10:55 AM
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
06-11-2015 10:55 AM
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
06-23-2015 2:14 PM
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.