Skip to content

Instantly share code, notes, and snippets.

@larshp
Created April 28, 2021 12:45
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save larshp/e66812966481fcc7d29737498d65c05d to your computer and use it in GitHub Desktop.
Save larshp/e66812966481fcc7d29737498d65c05d to your computer and use it in GitHub Desktop.
Update credit limit
REPORT zupdate_credit.
* quick and dirty
PARAMETERS p_part TYPE ukmbp_cms_sgm-partner OBLIGATORY.
PARAMETERS p_segm TYPE ukmbp_cms_sgm-credit_sgmnt OBLIGATORY.
PARAMETERS p_limit TYPE ukmbp_cms_sgm-credit_limit OBLIGATORY.
START-OF-SELECTION.
PERFORM run.
FORM run.
DATA(lo_facade) = cl_ukm_facade=>create( cl_ukm_cnst_eventing=>bp_maintenance ).
DATA(lo_bupa_factory) = lo_facade->get_bupa_factory( ).
DATA(lo_business_partner) = lo_bupa_factory->get_business_partner( i_partner = p_part ).
DATA(ls_credit_sgmnt) = lo_facade->get_credit_sgmnt( i_credit_sgmnt = p_segm ).
DATA(lo_credit_account) = lo_bupa_factory->get_credit_account(
i_partner = p_part
i_credit_sgmnt = p_segm ).
DATA ls_bp_cms_sgm TYPE ukm_s_bp_cms_sgm.
lo_credit_account->get_bp_cms_sgm(
EXPORTING
i_check_validity = abap_true
IMPORTING
es_bp_cms_sgm = ls_bp_cms_sgm ).
ls_bp_cms_sgm-credit_limit = p_limit.
lo_credit_account->set_bp_cms_sgm(
is_bp_cms_sgm = ls_bp_cms_sgm
i_is_authorized = abap_true ).
DATA lt_return TYPE ukm_t_monitor_return.
lo_bupa_factory->save_all(
EXPORTING
i_with_chdocs = abap_true
i_upd_task = abap_true
i_with_external_scorings = abap_true
RECEIVING
et_return = lt_return
EXCEPTIONS
failed = 1
OTHERS = 2 ).
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
COMMIT WORK.
WRITE 'Done'.
ENDIF.
ENDFORM.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment