MB5B在HDB上的性能调优

背景

MB5B是用于查询物料的收发以及现有库存。日常业务查询,通常会按照月份查看某片地区物料的库存以及收发状态。

  1. 调优思路
    1. 按照客户日常操作的习惯,得到日常操作的数据范围,选出数据量最为突出最有代表性的地区和物料;
    2. 利用SE30分别运行不同数量级的数据,比如20个门店、50个门店、100个门店,乃至全部门店,找出原有程序运行中的瓶颈取数点。在MB5B里,最为突出的取数问题集中在MKPF、MSEG、MBEW、BSIM和BSEG的取数,以及ALV LIST这种输出方式的展示时间上。分别占到了总运行时间的60%~15%不等。通常情况下主数据表对运行影响不大,暂不做考虑优化;

建立HDB和ECC的连接,通过SLT,将这几个表的数据传递到HDB;

TCODE:DBCO设置连接配置

    1. 将MB5B整体拷贝出来,变成ZMB5B;
    2. CNPC采用的方法是ADBC的方法,不像直接构筑在HDB之上,所以需要对代码进行修改。将以前SELECT的取数方法,重新设定取数的来源来自HDB数据库。如果系统是NW7.4的话就可以不用写NEGATIVE SQL语句了,直接用DDIC的对象访问HANA的数据库对象。

      1. 打开HDB的数据库链接

DATA: con_name TYPE dbcon-con_name value 'HDB'.

  TRY.
      con_ref = cl_sql_connection=>get_connection( con_name ).
      stmt_ref = con_ref->create_statement( ).


* get the stock tables
      PERFORM                    AKTUELLE_BESTAENDE.
      
PERFORM TABELLEN_LESEN.

      
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'             
        EXPORTING                                           
          TEXT = TEXT-064.     

      
PERFORM                    F1000_SELECT_MSEG_MKPF_NEW.
      
PERFORM                    BELEGSELEKTION.
      con_ref->close( ).


    CATCH cx_sql_exception INTO sqlerr_ref.
      
CALL METHOD sqlerr_ref->get_text
        RECEIVING
          result = g_error_text.
      
MESSAGE E895 WITH g_error_text.
  ENDTRY.

      1. 注销以前的取数语句,改用NEGATIVE SQL的语句拼接,注意要把from table改成from HDB.table;

move 'select  ' to pa_sql.
  
CONCATENATE pa_sql 'MKPF.MBLNR, MKPF.MJAHR, MKPF.VGART,MKPF.BLART,MKPF.BUDAT,MKPF.CPUDT,MKPF.CPUTM,MKPF.USNAM,MKPF.XABLN,mkpf.BFWMS as LBBSA,'
  'mkpf.BFWMS as BWAGR,mseg.BUKRS,mseg.mblnr as BELNR,mkpf.MJAHR as gjahr,MSEG.WAERS,MSEG.ZEILE,MSEG.BWART,MSEG.MATNR,MSEG.WERKS,MSEG.LGORT,MSEG.CHARG,MSEG.BWTAR,'
  'MSEG.KZVBR,MSEG.KZBEW,MSEG.SOBKZ,MSEG.KZZUG,MSEG.BUSTM,MSEG.BUSTW,MSEG.MENGU,MSEG.WERTU,MSEG.SHKZG,MSEG.MENGE,MSEG.MEINS,MSEG.DMBTR,MSEG.DMBUM,'
  'MSEG.XAUTO,MSEG.KZBWS,mseg.OIASTBW as reail,mseg.oiglcalc,mseg.oiglsku,mseg.insmk,MSEG.SMBLN,MSEG.SJAHR,MSEG.SMBLP,mseg.OIINVREC as DUMMY ' into pa_sql
  
SEPARATED BY space.

  
CONCATENATE pa_sql 'FROM SLT_SRP_300_2.mkpf as mkpf inner join SL

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: HDB接口是一个用于管理和访问SAP HANA数据库的接口。它提供了一系列的API和工具,使开发人员能够轻松地访问和操作HANA数据库。HDB接口支持多种编程语言和技术,例如Java、Python、Node.js和RESTful API等,它们可以被用于构建各种应用程序和服务。 通过HDB接口,开发人员可以执行多个任务,包括配置和管理数据库,创建和维护数据库对象,读取和写入数据库数据以及执行数据分析和挖掘等操作。HDB接口还支持异步编程和事件驱动编程,使得处理并发请求和数据流变得更加容易。 HDB接口是SAP HANA软件开发的核心组件之一,它为企业提供强大的数据处理和分析能力,支持了诸如实时数据仓库、数据集成、数据挖掘和预测等关键业务应用。随着HANA数据库的广泛应用,HDB接口也将持续发展和演进,为企业提供更加优秀的技术支持和服务。 ### 回答2: HDB接口是一种计算机硬件接口,用于连接主板和硬盘驱动器。它最初由IBM公司于1981年推出,被称为“IBM PC接口”,也称为“标准IDE接口”。此后,该接口在计算机领域使用广泛,并得到了进一步发展。 HDB接口的特点是传输速度相对较慢,扩展性差,但是简单易用,兼容性强。它通常有两个插槽,一个是40针的数据插槽,用于传输数据,另一个是4针电源插槽,用于提供电源。此外,它还有一个控制插槽,用于控制硬盘驱动器的寻道、旋转等操作。 虽然现在硬盘驱动器的传输速度和容量远超过了HDB接口的能力,但是它仍然被用于一些老旧的计算机和笔记本电脑上。同时,它也是一些数据恢复设备和工具所必需的接口之一。 总的来说,HDB接口虽然已经被一些新的、更快的接口所替代,但是其在计算机历史上的重要地位仍然不可忽视。它不仅推动了计算机硬件的发展,也让许多人了解到了计算机的内部构造和工作原理。 ### 回答3: HDB接口是一个德国公司SAP开发的数据访问接口,全称为HANA数据库接口。它是用于将HANA数据库与其他外部数据源进行连接和集成的一种直接的方式。 HDB接口是一个重要的数据库接口,可以使用户更方便地访问HANA数据库,同时还可以提高数据的安全性和数据处理的效率,为企业的数据分析和决策提供更准确的基础。 HDB接口可以用于多种场景,例如ETL(抽取-转换-加载)和实时数据同步。用户可以使用HDB接口轻松地将HANA数据库中的数据与其他数据源进行交互,例如Excel、Text等,可以处理数据的读取、写入、更新、删除等操作。 HDB接口既支持ODBC(开放数据库连接)、JDBC(Java数据库连接)、ODBO(开放数据库连接对象)、OLE DB等常见的接口,也支持Web服务协议,如RESTful。同时,HDB接口可以与其他SAP产品组成一个完整的数据平台,如SAP BO(Business Objects)和SAP Lumira。 总之,HDB接口是一个可靠、可扩展和易于使用的接口,能够为企业提供更好的数据集成和处理能力,帮助企业更轻松地管理和利用数据,提高企业的业务效益和竞争力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SAP_Damon

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值