当前位置: 首页 > news >正文

网站开发费用投入情况深圳网站设计 公司

网站开发费用投入情况,深圳网站设计 公司,网站建设报告论文百度文库,做网站推销话术AMDP 是HANA开发中的一种优化模式 按SAP的官方建议#xff0c;在可以使用Open SQL实现需要的功能或优化目标的时候#xff0c;不建议使用AMDP。而在需要使用Open SQL不支持的特性#xff0c;或者是大量处理流和分析导致了数据库和应用服务器之间有重复的大量数据传输的情况…AMDP 是HANA开发中的一种优化模式  按SAP的官方建议在可以使用Open SQL实现需要的功能或优化目标的时候不建议使用AMDP。而在需要使用Open SQL不支持的特性或者是大量处理流和分析导致了数据库和应用服务器之间有重复的大量数据传输的情况下则应当使用AMDP。 下面我举例几种AMDP的实现方法并且比较一下效率 示例代码如下 ! p classshorttext synchronized langendemo for select for vbap/p CLASS zcl_amdp_vbap DEFINITIONPUBLICFINALCREATE PUBLIC .PUBLIC SECTION.INTERFACES if_amdp_marker_hdb .TYPES: BEGIN OF ty_vbap,mandt TYPE s_mandt,vbeln TYPE vbeln_va,posnr TYPE posnr_va,matnr TYPE matnr,werks TYPE werks_d,lgort TYPE lgort_d,END OF ty_vbap.TYPES: tt_vbap TYPE STANDARD TABLE OF ty_vbap WITH EMPTY KEY.DATA: gt_vbap TYPE STANDARD TABLE OF ty_vbap. 常规方法Open SQL CLASS-METHODS get_vbap_by_opensqlIMPORTINGVALUE(p_clnt) TYPE s_mandtVALUE(p_vbeln) TYPE vbelnVALUE(p_posnr) TYPE posnrVALUE(p_matnr) TYPE matnrEXPORTINGVALUE(et_vbap) TYPE tt_vbap.AMDP方式1 AMDP PROCEDURE实现直接写SQLScript从HDB获取数据 也可直接调用已创建的数据库对象如存储过程、视图、函数等 该方法可以直接被ABAP程序调用必须设置为PUBLIC CLASS-METHODS get_vbapIMPORTINGVALUE(p_clnt) TYPE s_mandtVALUE(p_vbeln) TYPE vbelnVALUE(p_posnr) TYPE posnrVALUE(p_matnr) TYPE matnrEXPORTINGVALUE(et_vbap) TYPE tt_vbap.AMDP方式2-1-1 AMDP function实现直接写SQLScript从HDB获取数据 该方法不能直接被ABAP程序调用只能在AMDP PROCEDURE实现中调用建议可设置为 PRIVATE CLASS-METHODS get_vbap_funcIMPORTINGVALUE(p_clnt) TYPE s_mandt * VALUE(p_vbeln) TYPE vbeln * VALUE(p_posnr) TYPE posnr * VALUE(p_matnr) TYPE matnrRETURNINGVALUE(et_vbap) TYPE tt_vbap.AMDP方式2-1-2 AMDP procedure实现调用上述的 AMDP function实现 CLASS-METHODS get_vbap_by_funcIMPORTINGVALUE(p_clnt) TYPE s_mandt * VALUE(p_vbeln) TYPE vbeln * VALUE(p_posnr) TYPE posnr * VALUE(p_matnr) TYPE matnrEXPORTINGVALUE(et_vbap) TYPE tt_vbap.AMDP方式2-2-1 AMDP procedure实现为 TABLE FUNCTION CDS编写具体实现逻辑 该方法无法直接被ABAP程序调用但是对应的CDS可以被ABAP调用。 此处对应的CDS名为YCDS_INVENTORY需要另外单独定义 定义为 TABLE FUNCTION CDS 时方法必须为 PUBLIC CLASS-METHODS CLASS-METHODS get_vbap_for_cds FOR TABLE FUNCTION zcds_admp_demo_vbap.ENDCLASS.CLASS zcl_amdp_vbap IMPLEMENTATION.METHOD get_vbap_by_opensql.SELECT mandt,vbeln,posnr,matnr,werks,lgortFROM vbapWHERE ( vbeln p_vbeln OR p_vbeln )OR ( posnr p_posnr OR p_posnr )OR ( matnr p_matnr OR p_matnr )INTO CORRESPONDING FIELDS OF TABLE et_vbap.ENDMETHOD.METHOD get_vbapBY DATABASE PROCEDURE FOR HDBLANGUAGE SQLSCRIPTOPTIONS READ-ONLYUSING vbap.et_vbap selectmandt,vbeln,posnr,matnr,werks,lgortFROM vbapWHERE mandt :p_clnt;ENDMETHOD.METHOD get_vbap_funcBY DATABASE FUNCTION FOR HDBLANGUAGE SQLSCRIPTOPTIONS READ-ONLYUSING vbap.RETURNSELECTmandt,vbeln,posnr,matnr,werks,lgortFROM vbapWHERE mandt :p_clnt;ENDMETHOD.METHOD get_vbap_by_funcBY DATABASE PROCEDURE FOR HDBLANGUAGE SQLSCRIPTOPTIONS READ-ONLYUSING zcl_amdp_vbapget_vbap_func.et_vbap select *from ZCL_AMDP_VBAPGET_VBAP_FUNC(p_clnt :p_clnt);ENDMETHOD.METHOD GET_VBAP_FOR_CDSBY DATABASE FUNCTION FOR HDBLANGUAGE SQLSCRIPTOPTIONS READ-ONLYUSING vbap.RETURNSELECTmandt,vbeln,posnr,matnr,werks,lgortFROM vbapWHERE mandt :p_clnt;ENDMETHOD.ENDCLASS. ZCDS_ADMP_DEMO_VBAP  table function EndUserText.label: ZCDS_ADMP_DEMO_VBAP define table function ZCDS_ADMP_DEMO_VBAP with parameters Environment.systemField: #CLIENTp_clnt : abap.clnt returns {mandt : abap.clnt;vbeln : vbeln;posnr : posnr;matnr : matnr;werks : werks_d;lgort : lgort_d;} implemented by method zcl_amdp_vbapget_vbap_for_cds; ZCDS_VIEW_VBAP CDS VIEW AbapCatalog.sqlViewName: ZSD0002 AbapCatalog.compiler.compareFilter: true AbapCatalog.preserveKey: true AccessControl.authorizationCheck: #NOT_REQUIRED EndUserText.label: ZCDS_VIEW_VBAP define view ZCDS_VIEW_VBAP as select from vbap {vbap.mandt,vbap.vbeln,vbap.posnr,vbap.matnr,vbap.werks,vbap.lgort} 程序执行代码 *---------------------------------------------------------------------* * Report z_test_amdp_vbap *---------------------------------------------------------------------* * *---------------------------------------------------------------------* REPORT z_test_amdp_vbap. TYPES: BEGIN OF ty_vbap,mandt TYPE s_mandt,vbeln TYPE vbeln_va,posnr TYPE posnr_va,matnr TYPE matnr,werks TYPE werks_d,lgort TYPE lgort_d,END OF ty_vbap. TYPES: tt_vbap TYPE STANDARD TABLE OF ty_vbap WITH EMPTY KEY. DATA: gt_vbap TYPE STANDARD TABLE OF ty_vbap WITH EMPTY KEY . DATA: p_vbeln TYPE vbeln. DATA: p_posnr TYPE posnr. DATA: p_matnr TYPE matnr. DATA: lv_begin TYPE tzonref-tstampl. DATA: lv_end TYPE tzonref-tstampl. DATA: lv_open TYPE char100. DATA: lv_abap TYPE char100. DATA: lv_proc TYPE char100. DATA: lv_func TYPE char100. DATA: lv_cds TYPE char100. DATA: lv_cds2 TYPE char100.PARAMETERS: p_open TYPE char01 AS CHECKBOX DEFAULT x. PARAMETERS: p_abap TYPE char01 AS CHECKBOX DEFAULT x. PARAMETERS: p_proc TYPE char01 AS CHECKBOX DEFAULT x. PARAMETERS: p_func TYPE char01 AS CHECKBOX DEFAULT x. PARAMETERS: p_cds TYPE char01 AS CHECKBOX DEFAULT x. PARAMETERS: p_cds2 TYPE char01 AS CHECKBOX DEFAULT x.START-OF-SELECTION.IF p_open IS NOT INITIAL .GET TIME STAMP FIELD lv_begin.CALL METHOD zcl_amdp_vbapget_vbap_by_opensqlEXPORTINGp_clnt sy-mandtp_vbeln p_vbelnp_posnr p_posnrp_matnr p_matnrIMPORTINGet_vbap gt_vbap.GET TIME STAMP FIELD lv_end.lv_open ( lv_end - lv_begin ) * 100000.ENDIF.IF p_abap IS NOT INITIAL .CLEAR:gt_vbap,lv_begin,lv_end.GET TIME STAMP FIELD lv_begin.SELECT mandt,vbeln,posnr,matnr,werks,lgortFROM vbapWHERE ( vbeln p_vbeln OR p_vbeln )OR ( posnr p_posnr OR p_posnr )OR ( matnr p_matnr OR p_matnr )INTO CORRESPONDING FIELDS OF TABLE gt_vbap.GET TIME STAMP FIELD lv_end.lv_abap ( lv_end - lv_begin ) * 100000.ENDIF.IF p_proc IS NOT INITIAL .CLEAR:gt_vbap,lv_begin,lv_end.GET TIME STAMP FIELD lv_begin.CALL METHOD zcl_amdp_vbapget_vbapEXPORTINGp_clnt sy-mandtp_vbeln p_vbelnp_posnr p_posnrp_matnr p_matnrIMPORTINGet_vbap gt_vbap.GET TIME STAMP FIELD lv_end.lv_proc ( lv_end - lv_begin ) * 100000.ENDIF.IF p_func IS NOT INITIAL .CLEAR:gt_vbap,lv_begin,lv_end.GET TIME STAMP FIELD lv_begin.CALL METHOD zcl_amdp_vbapget_vbap_by_funcEXPORTINGp_clnt sy-mandtIMPORTINGet_vbap gt_vbap..GET TIME STAMP FIELD lv_end.lv_func ( lv_end - lv_begin ) * 100000.ENDIF.IF p_cds IS NOT INITIAL .CLEAR:gt_vbap,lv_begin,lv_end.GET TIME STAMP FIELD lv_begin.SELECT * FROM ZCDS_ADMP_DEMO_VBAPINTO CORRESPONDING FIELDS OF TABLE gt_vbap.GET TIME STAMP FIELD lv_end.lv_cds ( lv_end - lv_begin ) * 100000.ENDIF.IF p_cds2 IS NOT INITIAL .CLEAR:gt_vbap,lv_begin,lv_end.GET TIME STAMP FIELD lv_begin.SELECT * FROM ZSD0002INTO CORRESPONDING FIELDS OF TABLE gt_vbap.GET TIME STAMP FIELD lv_end.lv_cds2 ( lv_end - lv_begin ) * 100000. ENDIF.WRITE open sql 执行时间 lv_open.WRITE 应用层 SQL 执行时间 lv_abap.WRITE amdp procedure 执行时间 lv_proc.WRITE amdp func 执行时间 lv_func.WRITE table function cds 执行时间 lv_cds.WRITE cds 执行时间 lv_cds2. 执行结果如下 这里我们用的VBAP中总共的条目是3,825 从执行结果上来看可以看出CDS view 是 效率是优于 amdp的当然可能也是因为我只是做的普通的取数没有复杂的计算啥的。有空了大家可以做深入的研究
http://www.hkea.cn/news/14398822/

相关文章:

  • 单页网站开发移动网站怎么做
  • 聊城网站建设价位dw做的网站有缝怎么办
  • 中国城乡建中国城乡建设部网站域名和服务器多少钱
  • 网站权限怎么设置方法网上营销推广
  • 网站设计公司产品介绍做网咖的网站
  • 汝州网站建设朱腾鹏个人网站
  • 节点网站python创建wordpress
  • 单位网站建设建议对策国内互联网推广
  • 云南定制化网站建设河南省住房城乡建设厅官网
  • 西安网站设计哪家好寺院的网站怎么做
  • 本校网站建设域名企业备案对网站的好处
  • 个人艺术作品网站建设策划书民政局两学一做专题网站
  • 企业名录网站 优帮云汽车网络营销策划方案
  • 4免费网站建站网站开发的名称叫什么
  • WordPress批量注册宁波网络seo哪家有名
  • 长春网站优化方案站长查询
  • 驾校报名网站怎么做工程施工管理平台
  • 关键词分析工具东莞网站推广及优化
  • 网站专题制作 公司windows优化大师最新版本
  • 阿里云可以做哪些网站吗平台网站如何优化
  • seo网站推广方法衡水营销网站建设
  • 网站建设自己国内优秀的设计网站推荐
  • 网站icp备案认证怎么做网页设计案例100例
  • 网站建设的税率做网站用什么服务器
  • 广东网站制作平台嵌入式软件开发待遇
  • 企业网站设计服务公司想学网页设计报考什么专业
  • 可以做点赞的网站赚钱模板建站哪里有
  • 怎么创建免费网站吗广告设计专业周记
  • 制作网站在哪里制作网站的商家
  • 企业做网站优点如何登录到wordpress