BP Credit Data Update - BAPI or FM for UKM_BP

 

Here is a requirement need to update the BP credit data by batch job, usually, we have 3 ways to do it:

  • BAPI, it is our 1st choice, but unfortunately we can't find it in this case.
  • FM, we couldn't find it either, actually we do find some related FMs, they just don't work.
  • BDC, we hate it, but sometimes it is our only choice.

I really don't want to choose BDC, after research for a while, finally, we found the 4th way to do it by code - using standard class, we can found a series classes related TCODE UKM_BP named CL_UKM*,  all these classes are controled byCL_UKM_BUPA_FACTORY.

below is example code to update a risk class and credit limit for a BP:

DATA: io_facade        TYPE REF TO cl_ukm_facade,
      io_partner       TYPE REF TO cl_ukm_business_partner,
      io_bupa_factory  TYPE REF TO cl_ukm_bupa_factory,
      io_account       TYPE REF TO cl_ukm_account,
      lw_bp_credit_sgm TYPE ukm_s_bp_cms_sgm.

DATA: lwa_ukm_s_bp_cms TYPE ukm_s_bp_cms.

 
DATA: lv_partner      TYPE bu_partner,      
      lv_credit_sgmnt TYPE ukm_credit_sgmnt.

io_facade = cl_ukm_facade=>create( i_activity = cl_ukm_cnst_eventing=>bp_maintenance ).
io_bupa_factory = io_facade->get_bupa_factory( ).

lv_partner      = '0006000021'.
lv_credit_sgmnt = '0000'.

io_partner = io_bupa_factory->get_business_partner( lv_partner ).

io_partner->get_bp_cms( IMPORTING es_bp_cms =  lwa_ukm_s_bp_cms ).
lwa_ukm_s_bp_cms-risk_class = 'ZXX'.
io_partner->set_bp_cms( lwa_ukm_s_bp_cms ).


CALL METHOD io_bupa_factory->get_credit_account
  EXPORTING
    i_partner         = lv_partner
    i_credit_sgmnt    = lv_credit_sgmnt
  RECEIVING
    ro_credit_account = io_account.

io_account->get_bp_cms_sgm( IMPORTING es_bp_cms_sgm = lw_bp_credit_sgm ).
lw_bp_credit_sgm-credit_limit   = '1.00'.
lw_bp_credit_sgm-xcritical      = 'X'.
lw_bp_credit_sgm-limit_chg_date = sy-datum.
io_account->set_bp_cms_sgm( EXPORTING is_bp_cms_sgm = lw_bp_credit_sgm ).

io_bupa_factory->save_all( ).


 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值