zoukankan      html  css  js  c++  java
  • VA01信贷使用

    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 1  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.
  • 相关阅读:
    WebADI_数据验证1_建立基于PLSQL返回FND Message验证(案例)
    PLSQL_案例优化系列_探寻表设计对SQL优化的重要性(案例4)
    PLSQL_案例优化系列_学习左右SQL执行计划各种方法(案例14)
    PLSQL_案例优化系列_探讨该如何分析读懂析执行计划(案例9)
    WebADI_配置设定08_设定参数WebADI Parameters List(案例)
    WebADI_案例实施01_开发一个基于R12.1.3的简单WebADI Desktop(案例)
    PLSQL_案例优化系列_洞察表连接与SQL优化之间关系(案例8)
    WebADI_配置设定09_设定组件WebADI Components(案例)
    WebADI_配置设定07_设定显示WebADI Content / Mapping(案例)
    WebADI_案例实施03_利用FND_LOAD安装和迁移WEBADI以及设定(案例)
  • 原文地址:https://www.cnblogs.com/BinGeneral/p/12859182.html
Copyright © 2011-2022 走看看