首页 > 其他分享 >查询客户信贷额度使用情况

查询客户信贷额度使用情况

时间:2024-08-13 17:50:13浏览次数:11  
标签:额度 查询 lt 客户 ls et totals data kunnr

FUNCTION zfmsd_credit_to_bi.
*"----------------------------------------------------------------------
*"*"本地接口:
*"  EXPORTING
*"     VALUE(EV_TYPE) TYPE  BAPI_MTYP
*"     VALUE(EV_MSG) TYPE  BAPI_MSG
*"  TABLES
*"      IT_IN STRUCTURE  ZSSD0047
*"      ET_DATA STRUCTURE  ZSSD0048
*"----------------------------------------------------------------------
  DATA:lt_ukm_totals TYPE TABLE OF ukm_totals,
       ls_ukm_totals LIKE LINE OF lt_ukm_totals.

  IF it_in[] IS INITIAL.
    ev_type = 'E'.
    ev_msg = '信用段与客户必填'.
  ENDIF.

  IF it_in[] IS NOT INITIAL.

    "助记码
    SELECT partner,
           bu_sort1
      FROM but000
       FOR ALL ENTRIES IN @it_in[]
     WHERE partner = @it_in-kunnr
      INTO TABLE @DATA(lt_but000).
    SORT lt_but000 BY partner.

    "客户名称
    SELECT kunnr,
           name1,
           name2
      FROM kna1
       FOR ALL ENTRIES IN @it_in[]
     WHERE kunnr = @it_in-kunnr
      INTO TABLE @DATA(lt_kna1).
    SORT lt_kna1 BY kunnr.

    "应收单未审批金额
    SELECT credit_sgmnt,partner,zysdamount
      FROM ztsd0027
       FOR ALL ENTRIES IN @it_in[]
     WHERE credit_sgmnt = @it_in-credit_sgmnt
       AND partner = @it_in-kunnr
      INTO TABLE @DATA(lt_ztsd0027).
    SORT lt_ztsd0027 BY credit_sgmnt partner.
  ENDIF.

  LOOP AT it_in[] ASSIGNING FIELD-SYMBOL(<fs_in>).

    et_data-kunnr = <fs_in>-kunnr.
    et_data-credit_sgmnt = <fs_in>-credit_sgmnt.

    "助记码
    READ TABLE lt_but000 INTO DATA(ls_but000) WITH KEY partner = <fs_in>-kunnr BINARY SEARCH.
    IF sy-subrc EQ 0.
      et_data-sort1 = ls_but000-bu_sort1.
    ENDIF.

    "客户名称
    READ TABLE lt_kna1 INTO DATA(ls_kna1) WITH KEY kunnr = <fs_in>-kunnr BINARY SEARCH.
    IF sy-subrc EQ 0.
      et_data-name1 = ls_kna1-name1 && ls_kna1-name2.
    ENDIF.

    CALL FUNCTION 'UKM_COMMTS_READ'
      EXPORTING
        i_partner     = <fs_in>-kunnr
        i_segment     = <fs_in>-credit_sgmnt
      TABLES
        et_ukm_totals = lt_ukm_totals.

    LOOP AT lt_ukm_totals INTO ls_ukm_totals WHERE partner = <fs_in>-kunnr
                                               AND credit_sgmnt = <fs_in>-credit_sgmnt.
      "信贷风险类别
      et_data-comm_typ = ls_ukm_totals-comm_typ.

      "信贷风险类别描述
      SELECT SINGLE comm_typ_txt
        FROM ukmcomm_typest
        INTO et_data-comm_typ_txt
       WHERE comm_typ = et_data-comm_typ
         AND langu = sy-langu.

      "信用敞口金额
      IF et_data-comm_typ = '500'.
        "公司的期初上线方案导致重复信贷数据,重复信贷数据扣除的表是ZTSD0027,而在前台重复信贷金额会记录在500计费凭证值中
        "传给外围时需要扣除
        READ TABLE lt_ztsd0027 INTO DATA(ls_ztsd0027) WITH KEY credit_sgmnt = <fs_in>-credit_sgmnt
                                                               partner = <fs_in>-kunnr BINARY SEARCH.
        IF sy-subrc EQ 0.
          et_data-amount = ls_ukm_totals-amount - ls_ztsd0027-zysdamount.
        ELSE.
          et_data-amount = ls_ukm_totals-amount.
        ENDIF.
      ELSE.
        et_data-amount = ls_ukm_totals-amount.
      ENDIF.

      APPEND et_data TO et_data[].
      CLEAR:ls_ukm_totals.
    ENDLOOP.

    IF sy-subrc NE 0.
      APPEND et_data TO et_data[].
    ENDIF.

    CLEAR:lt_ukm_totals,ls_but000,ls_kna1,et_data.
  ENDLOOP.

ENDFUNCTION.

函数:UKM_COMMTS_READ

标签:额度,查询,lt,客户,ls,et,totals,data,kunnr
From: https://www.cnblogs.com/ap-ad-java-abap/p/18357441

相关文章

  • oracle 客户端安装
    环境信息参考服务端的安装文档(安装包,创建用户和组,文件目录)[root@redhat760813]#catclient/response/client_install.rsp|grep-v"#"静默安装修改相应文件下面的几个值即可(目录要存在)oracle.install.responseFileVersion=/oracle/install/rspfmt_clientinstall_response_sche......
  • 计算机毕业设计django+vue祥安保险公司客户关系管理系统【开题+程序+论文】
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景在数字化转型的大潮中,保险行业正面临着前所未有的机遇与挑战。随着市场竞争的日益激烈,保险公司如何高效地管理客户关系,提升服务质量,增强客......
  • 数据库:数据查询
    1实验目的掌握SQL语言的数据查询语句,具体包括:    SELECT语句的基本用法    使用WHERE子句进行有条件的查询    使用IN,NOTIN,BETWEEN等谓词查询    利用LIKE子句实现模糊查询    利用ORDER子句为结果排序    用SQLServer的......
  • Java SSE:实现服务器推送数据客户端
            体验过大语言模型的人(chatgpt,文心一言,通义千问...)都知道,大模型的回答是一边思考一边返回数据的,属于流式响应。要达到这种效果就需要实现前后端的即时通讯。SSE        SSE(Server-sentEvents):WebSocket的一种轻量代替方案,使用HTTP协议,用于实现服务......
  • 5. MongoDB 文档插入、更新、删除、查询
    1.插入文档文档的数据结构和JSON基本一样。所有存储在集合中的数据都是BSON格式。BSON是一种类似JSON的二进制形式的存储格式,是BinaryJSON的简称。常用的插入文档方法包括:db.collection.insertOne():插入单个文档db.collection.insertMany():插入多个文档db.collection.sav......
  • 【YashanDB数据库】yasboot查询数据库状态时显示数据库状态为off
    【问题现象】yasbootclusterstatus-cyashandb显示数据库状态为off与数据库实际的状态不符,如下图【问题分类】yasboot、yasdb使用问题【关键字】yasboot,数据库运行状态为off【问题描述】yasboot工具显示的状态【问题原因分析】发现是备库启动数据库方式不标准,即使用noh......
  • MySQL——单表查询(一)简单查询(1)SELECT语句
        MySQL从数据表中查询数据的基本语句是SELECT语句。在SELECT语句中,可以根据自己对数据的需求,使用不同的查询条件,SELECT语句的基本语法格式如下:SELECT[DISTINCT]*|字段名1,字段名2,字段名3,…FROM表名[WHERE条件表达式1][GR......
  • Java实现微信手机号更新:如何在后台同步客户信息
    文章目录接口说明:更新客户微信手机号码核心逻辑:获取微信手机号并更新客户信息总结在现代数字化生活中,手机号码是我们与外界联系的重要方式之一。特别是微信,作为中国最广泛使用的社交和支付平台,其绑定的手机号更是至关重要。在开发微信相关功能时,经常需要处理用户手......
  • sql慢查询
    1.什么是慢查询?慢查询是指那些执行时间超过一定阈值(通常称为“慢查询阈值”)的SQL查询。这些查询往往消耗较多的系统资源,影响数据库性能,甚至可能导致数据库响应变慢或挂起。2.为什么会产生慢查询?慢查询产生的原因有很多,以下是一些常见的原因:索引缺失:如果查询涉及的表没有......
  • 帝国CMS跨表查询相关链接实现方法
    <?phpfunctionuser_OtherLink($tbname,$num,$ck){global$navinfor,$empire,$dbtbpre,$class_r;$ck=(int)$ck;if($ck==1||$ck==2){$tbname=$class_r[$navinfor[&#39;classid&#39;]][&#39;tbname&#39;];}$num=$num==&#39;&#39;?5:$......