1业务场景

业务在正式机中发现,当使用VA01输入客户编号回车后会报错

2解决方法

1. SE24进入CL_IM_UKM_SD_FSCM_INTEGR1

2. 双击方法IF_EX_BADI_SD_CM~FSCM_CREDIT_CHECK_ORDER

3. 找到并进入cl_ukm_xi_facade_r3_50=>if_ukm_credit_query_r3~check_credit

4. 在此处创建隐式增强

ZSD_WS_Credit

FSCM Credit Webservice Enhancement

5.粘贴的代码

ENHANCEMENT   ZSD_WS_CREDIT.    "active version
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""$"$\SE:(2) Class CL_UKM_XI_FACADE_R3_50, Interface IF_UKM_CREDIT_QUERY_R3, Method CHECK_CREDIT, Start, Enhancement ZSD_WS_CREDIT, Start A
* Data Declarations that would be used for local mapping of structures DATA:
ls_query1 TYPE ukmr3_credit_worthiness_query,
ls_response1 TYPE ukmr3_cw_response,
lx_exc1 TYPE REF TO cx_root,
lx_ai1 TYPE REF TO cx_ai_system_fault,
e_message1 LIKE LINE OF et_return,
ltext1 TYPE string.
* Data declaration to get the input data to the proxy
DATA: ls_input TYPE ukm_credit_worthiness_q_in,
ls_ouput TYPE ukm_credit_worthiness_r_out,
ls_chk_sch TYPE ukm_credit_worthiness_query_ch,
* ls_chk_sch1 TYPE ukmr3_cw_checkingschedule1,
ls_chk_sch1 LIKE LINE OF ls_query1-credit_worthiness_query-credit_worthiness_query-checking_schedule,
lref_wor_qu TYPE REF TO cl_ukm_credit_worthiness_query,
ls_in_cre_par TYPE ukm_cw_creditor_party,
* ls_out_cre_par TYPE ukmr3_cw_creditor_party2,
ls_out_cre_par TYPE ukm_cw_creditor_party,
ls_in_sel_par TYPE ukm_cw_seller_party,
* ls_out_sel_par TYPE ukmr3_cw_seller_party2,
ls_out_sel_par TYPE ukm_cw_seller_party,
ls_in_pro_cat TYPE ukm_cw_product_category,
* ls_out_pro_cat TYPE ukmr3_cw_product_category2.
ls_out_pro_cat TYPE ukm_cw_product_category. **Using the below method convert the Import Parameters coming into Check Credit Method - query data being sent to PI
CALL METHOD cl_ukm_xi_facade_r3_50=>credit_query_convert_outbound
EXPORTING
i_partner = i_partner
i_credit_sgmnt = i_credit_sgmnt
i_amount = i_amount
i_currency = i_currency
i_checkrule = i_checkrule
i_checkseverity = i_checkseverity
i_retrieval_flag = i_retrieval_flag
i_effective_date = i_effective_date
i_log_reference = i_log_reference
it_schedule = it_schedule
IMPORTING
es_query = ls_query1. * Map the values from ls_query1 to ls_input and than calling the inbound proxy of FSCM* information of the segment id MOVE:
ls_query1-credit_worthiness_query-credit_worthiness_query-credit_segment_internal_id
TO ls_input-credit_worthiness_query-credit_worthiness_query-credit_segment_internal_id, * information of the amount to be checked
ls_query1-credit_worthiness_query-credit_worthiness_query-checked_amount-currency_code
TO ls_input-credit_worthiness_query-credit_worthiness_query-checked_amount-currency_code, ls_query1-credit_worthiness_query-credit_worthiness_query-checked_amount-VALUE
TO ls_input-credit_worthiness_query-credit_worthiness_query-checked_amount-VALUE,
* Details of the rule code
ls_query1-credit_worthiness_query-credit_worthiness_query-checking_rule_code
TO ls_input-credit_worthiness_query-credit_worthiness_query-checking_rule_code, * Details of severity code
ls_query1-credit_worthiness_query-credit_worthiness_query-checking_severity_code
TO ls_input-credit_worthiness_query-credit_worthiness_query-checking_severity_code, * Details of permission indicator
ls_query1-credit_worthiness_query-credit_worthiness_query-car_permission_indicator
TO ls_input-credit_worthiness_query-credit_worthiness_query-credit_agency_permission_ind. LOOP AT ls_query1-credit_worthiness_query-credit_worthiness_query-checking_schedule
INTO ls_chk_sch1. MOVE: ls_chk_sch1-valuation_date TO ls_chk_sch-valuation_date,
ls_chk_sch1-checked_amount TO ls_chk_sch-checked_amount,
ls_chk_sch1-credit_segment_internal_id TO ls_chk_sch-credit_segment_internal_id,
ls_chk_sch1-debtor_party-scheme_id TO ls_chk_sch-debtor_party-scheme_id,
ls_chk_sch1-debtor_party-scheme_agency_id TO ls_chk_sch-debtor_party-scheme_agency_id,
ls_chk_sch1-debtor_party-VALUE TO ls_chk_sch-debtor_party-VALUE. APPEND ls_chk_sch TO
ls_input-credit_worthiness_query-credit_worthiness_query-checking_schedule.
CLEAR ls_chk_sch. ENDLOOP. * setting up values of DEBTOR PARTY
MOVE:
ls_query1-credit_worthiness_query-credit_worthiness_query-debtor_party-internal_id-scheme_id
TO ls_input-credit_worthiness_query-credit_worthiness_query-debtor_party-internal_id-scheme_id, ls_query1-credit_worthiness_query-credit_worthiness_query-debtor_party-internal_id-scheme_agency_id
TO ls_input-credit_worthiness_query-credit_worthiness_query-debtor_party-internal_id-scheme_agency_id, ls_query1-credit_worthiness_query-credit_worthiness_query-debtor_party-internal_id-VALUE
TO ls_input-credit_worthiness_query-credit_worthiness_query-debtor_party-internal_id-VALUE, * setting up values of CREDITOR PARTY
ls_query1-credit_worthiness_query-credit_worthiness_query-creditor_party-internal_id-scheme_id
TO ls_input-credit_worthiness_query-credit_worthiness_query-creditor_party-internal_id-scheme_id, ls_query1-credit_worthiness_query-credit_worthiness_query-creditor_party-internal_id-scheme_agency_id
TO ls_input-credit_worthiness_query-credit_worthiness_query-creditor_party-internal_id-scheme_agency_id, ls_query1-credit_worthiness_query-credit_worthiness_query-creditor_party-internal_id-VALUE
TO ls_input-credit_worthiness_query-credit_worthiness_query-creditor_party-internal_id-VALUE, * setting up values of seller party
ls_query1-credit_worthiness_query-credit_worthiness_query-seller_party-internal_id-scheme_id
TO ls_input-credit_worthiness_query-credit_worthiness_query-seller_party-internal_id-scheme_id, ls_query1-credit_worthiness_query-credit_worthiness_query-seller_party-internal_id-scheme_agency_id
TO ls_input-credit_worthiness_query-credit_worthiness_query-seller_party-internal_id-scheme_agency_id, ls_query1-credit_worthiness_query-credit_worthiness_query-seller_party-internal_id-VALUE
TO ls_input-credit_worthiness_query-credit_worthiness_query-seller_party-internal_id-VALUE, * setting up values of product category
ls_query1-credit_worthiness_query-credit_worthiness_query-product_category-internal_id-scheme_id
TO ls_input-credit_worthiness_query-credit_worthiness_query-product_category-internal_id-scheme_id, ls_query1-credit_worthiness_query-credit_worthiness_query-product_category-internal_id-scheme_agency_id
TO ls_input-credit_worthiness_query-credit_worthiness_query-product_category-internal_id-scheme_agency_id, ls_query1-credit_worthiness_query-credit_worthiness_query-product_category-internal_id-VALUE
TO ls_input-credit_worthiness_query-credit_worthiness_query-product_category-internal_id-VALUE. *************************************************************************************** ** Call the inbound Proxy with the data mapped in previous steps ** ** This is the Proxy method that is called when the FSCM inbound call is made to ECC ** *************************************************************************************** CREATE OBJECT lref_wor_qu. TRY.
CALL METHOD lref_wor_qu->ii_ukm_credit_worthiness_query~execute_synchronous
EXPORTING
INPUT = ls_input
IMPORTING
OUTPUT = ls_ouput.
CATCH cx_ukm_cw_check_fault INTO lx_exc1. ltext1 = lx_exc1->get_text( ).
MESSAGE e008(ukm_pi) WITH ltext1 INTO e_message1-MESSAGE. e_message1-TYPE = sy-msgty.
e_message1-ID = sy-msgid.
e_message1-NUMBER = sy-msgno.
e_message1-message_v1 = ltext1.
APPEND e_message1 TO et_return.
RAISE credit_check_failed. ENDTRY. * From the response of the Inbound Proxy, map accordingly to the corresponding structures and tables to be converted into the return parameters of the Check Credit Method MOVE:
ls_ouput-credit_worthiness_response-credit_worthiness-credit_segment_internal_id
TO ls_response1-credit_worthiness_response-credit_worthiness-credit_segment_internal_id, ls_ouput-credit_worthiness_response-credit_worthiness-indicator
TO ls_response1-credit_worthiness_response-credit_worthiness-indicator, ls_ouput-credit_worthiness_response-credit_worthiness-debtor_party_blocked_indicator
TO ls_response1-credit_worthiness_response-credit_worthiness-debtor_party_blocked_indicator, ls_ouput-credit_worthiness_response-credit_worthiness-debtor_party_attntn_indicator
TO ls_response1-credit_worthiness_response-credit_worthiness-debtor_party_special_attention, ls_ouput-credit_worthiness_response-credit_worthiness-horizon_end_date
TO ls_response1-credit_worthiness_response-credit_worthiness-horizon_end_date, * setting up value for DEBTOR PARTY
ls_ouput-credit_worthiness_response-credit_worthiness-debtor_party-internal_id-scheme_id
TO ls_response1-credit_worthiness_response-credit_worthiness-debtor_party-internal_id-scheme_id, ls_ouput-credit_worthiness_response-credit_worthiness-debtor_party-internal_id-scheme_agency_id
TO ls_response1-credit_worthiness_response-credit_worthiness-debtor_party-internal_id-scheme_agency_id, ls_ouput-credit_worthiness_response-credit_worthiness-debtor_party-internal_id-VALUE
TO ls_response1-credit_worthiness_response-credit_worthiness-debtor_party-internal_id-VALUE, * setting up value for RATING
ls_ouput-credit_worthiness_response-credit_worthiness-rating
TO ls_response1-credit_worthiness_response-credit_worthiness-rating, * setting up value for RISK_CLASS
ls_ouput-credit_worthiness_response-credit_worthiness-risk_class
TO ls_response1-credit_worthiness_response-credit_worthiness-risk_class, * setting up value for CREDIT_LIMIT
ls_ouput-credit_worthiness_response-credit_worthiness-credit_limit
TO ls_response1-credit_worthiness_response-credit_worthiness-credit_limit, ls_ouput-credit_worthiness_response-credit_worthiness-checking_description[]
TO ls_response1-credit_worthiness_response-credit_worthiness-checking_description[]. * getting the values of the creditor party
LOOP AT ls_ouput-credit_worthiness_response-credit_worthiness-creditor_party
INTO ls_in_cre_par. MOVE: ls_in_cre_par-internal_id-scheme_id TO ls_out_cre_par-internal_id-scheme_id,
ls_in_cre_par-internal_id-scheme_agency_id TO ls_out_cre_par-internal_id-scheme_agency_id,
ls_in_cre_par-internal_id-VALUE TO ls_out_cre_par-internal_id-VALUE. APPEND ls_out_cre_par TO ls_response1-credit_worthiness_response-credit_worthiness-creditor_party.
CLEAR ls_out_cre_par.
ENDLOOP. * getting the values of the seller party
LOOP AT ls_ouput-credit_worthiness_response-credit_worthiness-seller_party
INTO ls_in_sel_par. MOVE: ls_in_sel_par-internal_id-scheme_id TO ls_out_sel_par-internal_id-scheme_id,
ls_in_sel_par-internal_id-scheme_agency_id TO ls_out_sel_par-internal_id-scheme_agency_id,
ls_in_sel_par-internal_id-VALUE TO ls_out_sel_par-internal_id-VALUE. APPEND ls_out_sel_par TO ls_response1-credit_worthiness_response-credit_worthiness-seller_party.
CLEAR ls_out_sel_par.
ENDLOOP. * getting the values of product category
LOOP AT ls_ouput-credit_worthiness_response-credit_worthiness-product_category
INTO ls_in_pro_cat. MOVE: ls_in_pro_cat-internal_id-scheme_id TO ls_out_pro_cat-internal_id-scheme_id,
ls_in_pro_cat-internal_id-scheme_agency_id TO ls_out_pro_cat-internal_id-scheme_agency_id,
ls_in_pro_cat-internal_id-VALUE TO ls_out_pro_cat-internal_id-VALUE. APPEND ls_in_pro_cat TO
ls_response1-credit_worthiness_response-credit_worthiness-product_category.
CLEAR ls_in_pro_cat. ENDLOOP. * Use the data populated with the proxy response to convert it to the Export parameters of the Check Credit Method CALL METHOD cl_ukm_xi_facade_r3_50=>credit_query_convert_inbound
EXPORTING
is_response = ls_response1
IMPORTING
et_credit_messages = et_credit_messages
e_check_confirmation = e_check_confirmation
e_rating = e_rating
e_riskclass = e_riskclass
e_creditlimit = e_creditlimit
e_limit_currency = e_limit_currency
e_limit_valid_to = e_limit_valid_to
e_blocked_indicator = e_blocked_indicator
e_attntn_indicator = e_attntn_indicator
e_credit_horizon_date = e_credit_horizon_date. * EXIT statement to come out of the method. EXIT. * This EXIT statement would force the execution out of this method by-passing the standard code where PI calls are made ENDENHANCEMENT.

VA01信贷使用的更多相关文章

  1. SAP增强 和VA01相关增强点介绍

    -转 sap寻找用户出口方法 sap的用户出口总共有三代: 一.User EXIT 第一代的用户出口,它们include在SAP标准程序的源代码里,可以说他们是源代码的一部分,你改了这种出口就相当于改 ...

  2. 客户信贷管理&临时授信

    信贷额度的组成:假如某客户信用限额1万:开出销售订单时锁定1万:一旦发货1万,销售订单1万限额释放,变成发货锁定限额1万.一旦开票,发货1万限额释放,应收锁定1万限额.清帐成功,应收释放1万.信用限额 ...

  3. SD 信贷出口 备忘

    信贷出口LVKMPFZ1,LVKMPFZ2,LVKMPFZ3

  4. SAP 客户信贷重建一则

    前段时间接到业务的一个需求,需要将标准和定制业务的信贷分开.原来目前公司是将标准和定制的客户信贷金额整在一起,共用一个信贷范围.而定制业务特殊性决定了公司要收到客户全款才会接单生产并发货,而客户打预收 ...

  5. (信贷风控九)行为评分卡模型python实现

    python信用评分卡建模(附代码,博主录制) https://study.163.com/course/introduction.htm?courseId=1005214003&utm_ca ...

  6. 【ABAP系列】SAP VA01屏幕增强(user-exit)

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP VA01屏幕增强(user- ...

  7. 陈志生:德国信贷工厂风控模式对P2P的启发

    上海合盘金融信息服务股份有限公司董事长陈志生 和讯银行消息 "2014中国金融论坛"于5月14-15日在北京召开,本次论坛主题为“全面深化金融体制改革与实体经济增长”.和讯网作为指 ...

  8. 素问 - 信贷和GDP

    摘自<小韭的学习圈> Q:近期看到2019年金融统计数据,全年人民币贷款增加16.81万亿元,同比多增6439亿元.这里有个问题我储备好久了,没有高人指点俺.请问2019年全年GDP近10 ...

  9. VA01销售订单批导问题解决

    1业务场景 事务代码:VA01创建销售订单,VA02修改销售订单 可以通过BAPI_SALESORDER_CREATEFROMDAT2批量创建 可以通过BAPI_SALESORDER_CHANGE批量 ...

随机推荐

  1. Delphi TMemo 可以显示、编辑多行文本

    多行编辑框组件(TMemo)TMemo组件可以显示.编辑多行文本,是一个标准的Windows多行编辑组件.对一些比较多的文本内容可以利用TMemo组件来显示.编辑. 1.TMemo组件的典型用法 TM ...

  2. 虚拟机体验NAS私人云全揭秘:序言——虚拟机体验NAS私人云缘由

    "世界在新冠肺炎疫情后将永远改变",对于2020春天在全球蔓延的新冠肺炎疫情,美国前国务卿基辛格做了这样的评价.确实,也改变了我们.春节期间,本着少添乱的原则,响应国家号召,自我隔 ...

  3. vue使用trackingjs

    前言:因为公司是做人工智能-AI的,所有一个web数据平台为了装X,需要做个人脸登陆.前台需要把人脸的base64发给后台去做人脸校验. 功能很简单,需要注意的是web需要实现“调用摄像头”和“自动拍 ...

  4. python函数-易错知识点

    定义函数: def greet_users(names): #names是形参 """Print a simple greeting to each user in th ...

  5. net core天马行空系列:降低net core门槛,数据库操作和http访问仅需写接口,实现类由框架动态生成

    引文   hi,大家好,我是三合.不知各位有没有想过,如果能把数据库操作和http访问都统一封装成接口(interface)的形式, 然后接口对应的实现类由框架去自动生成,那么必然能大大降低工作量,因 ...

  6. 数值分析实验之曲线最小二乘拟合含有噪声扰动(python实现)

    一.实验目的 掌握最小二乘法拟合离散数据,多项式函数形式拟合曲线以及可以其他可以通过变量变换转化为多项式的拟合曲线目前待实现功能: 1. 最小二乘法的基本实现. 2. 用不同数据量,不同参数,不同的多 ...

  7. Exercise

    """ 问:执行完下面的代码后, l,m的内容分别是什么? """ def func(m): for k,v in m.items(): m ...

  8. javascript-文件File转换成base64格式

    不能直接访问用户计算机中的文件,一直都是Web应用开发中的一大障碍.2000年以前,处理文件的唯一方式就是在表单中加入<input type="file">字段,仅此而 ...

  9. apt 安装 版本

    1. 通过apt-get安装指定版本软件 apt-get install package=version 2. 查询指定软件有多少个版本 2.1 通过网站搜索https://packages.ubun ...

  10. Fabric的6大特性

    文章目录 什么是Hyperledger Fabric 1. 成员准入 2. 性能,可伸缩性和信任级别 3 需要了解的数据 4 通过不可变的分布式账本进行复杂查询 5 支持插件组件的模块化架构 6 保护 ...