
1 *三代增强
2 *PARTNER_UPDATE
3 *BP创建保存前修改信贷额度
4 METHOD if_ex_partner_update~change_before_update.
5
6 DATA:
7 lt_but000_new TYPE TABLE OF bus000___i,
8 lv_xdxe TYPE ukm_credit_limit.
9
10 CALL FUNCTION 'BUPA_GENERAL_CALLBACK'
11 TABLES
12 et_but000_new = lt_but000_new."获取客户编号
13
14 DATA:io_facade TYPE REF TO cl_ukm_facade,
15 io_bupa_factory TYPE REF TO cl_ukm_bupa_factory,
16 io_partner TYPE REF TO cl_ukm_business_partner,
17 io_account TYPE REF TO cl_ukm_account,
18 lw_bp_credit_sgm TYPE ukm_s_bp_cms_sgm.
19
20 DATA:lv_partner TYPE bu_partner,
21 lv_credit_sgmnt TYPE ukm_credit_sgmnt.
22
23 DATA:ltc_return TYPE ukm_t_monitor_return,
24 lsc_return TYPE ukm_s_monitor_return,
25 lv_msg1 TYPE char100.
26
27 IF lt_but000_new IS NOT INITIAL .
28
29 SELECT kunnr
30 INTO TABLE @DATA(lt_kna1)
31 FROM kna1
32 FOR ALL ENTRIES IN @lt_but000_new
33 WHERE kunnr = @lt_but000_new-partner ."用于判断创建还是修改
34
35 ENDIF .
36 IF lt_kna1 IS NOT INITIAL .
37 EXIT .
38 ENDIF .
39 SELECT SINGLE zclient,zcon INTO @DATA(ls_r3) FROM ztcon_r3 WHERE zclient = @sy-mandt.
40 LOOP AT lt_but000_new INTO DATA(ls_data) GROUP BY ( key1 = ls_data-partner ) .
41
42 CLEAR lv_xdxe .
43
44 CALL FUNCTION 'ZRFC_SD_CREDIT_R3' DESTINATION ls_r3-zcon
45 EXPORTING
46 i_kunnr = ls_data-partner
47 i_kkber = 'ATBG'
48 IMPORTING
49 * E_XYZED =
50 e_xdxe = lv_xdxe
51 * E_YSY =
52 * E_WQJH =
53 * E_WQFP =
54 * E_WQDD =
55 * E_XSZ =
56 * E_YS =
57 * E_TBZW =
58 * E_XDZH =
59 * E_FXL =
60 * E_YQ =
61 EXCEPTIONS
62 system_failure = 1
63 communication_failure = 2
64 OTHERS = 3.
65
66 IF lv_xdxe IS INITIAL .
67
68 CONTINUE .
69
70 ENDIF .
71
72 io_facade = cl_ukm_facade=>create( i_activity = cl_ukm_cnst_eventing=>bp_maintenance ).
73 io_bupa_factory = io_facade->get_bupa_factory( ).
74 lv_partner = ls_data-partner ."客户
75 lv_credit_sgmnt = 'ATBG' . "信用段
76
77 CALL METHOD io_bupa_factory->get_credit_account
78 EXPORTING
79 i_partner = lv_partner
80 i_credit_sgmnt = lv_credit_sgmnt
81 RECEIVING
82 ro_credit_account = io_account.
83 io_account->get_bp_cms_sgm( IMPORTING es_bp_cms_sgm = lw_bp_credit_sgm ).
84
85 lw_bp_credit_sgm-credit_limit = lv_xdxe ."信用额度
86 io_account->set_bp_cms_sgm( EXPORTING is_bp_cms_sgm = lw_bp_credit_sgm ).
87 CLEAR: lv_msg1.
88 io_bupa_factory->save_all( EXPORTING i_upd_task = abap_false RECEIVING et_return = ltc_return ).
89
90 LOOP AT ltc_return INTO lsc_return WHERE msgty = 'E' OR msgty = 'A'.
91 CONCATENATE lv_msg1 lsc_return-message INTO lv_msg1.
92 ENDLOOP.
93
94 ENDLOOP .
95
96 ENDMETHOD.

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!