zoukankan      html  css  js  c++  java
  • SAP CRM Interactive Report界面订单数量的计算逻辑分析

    2017-06-10

    I tried to implement this small and simple feature first:

    How it works currently?

    I use report CRM_BW_READ_DATA in QHD/504 for demonstration.
    Check these two SAT traces:


    In the local RFC execution, most of the time ( 0.7 second) is spent on
    from SAP help:

    The data displayed in an interactive report depends on the user's position within the organizational model. For example, the reports of a sales employee only contain data for opportunities for which he or she is responsible. However, a manager can see data for all opportunities for which the sales employees in the manager's organizational unit are responsible.



    check whether the current user is manager:

    The previous two selection are enriched as : 2 original fields + 85 fields from other BP = 87 fields in the end:

    the selection fields continues to be enriched by some hard code filter:

    In the end this Interactive report read still consists of two steps:

    (1) read guid from CRMD_ORDER_INDEX:


    CRMD_ORDER_INDEX~PARTNER_NO IN ('0000400105', '0000415143', '0000415872', '0000415893', '0000415961', '0000416631', '0000416721', '0000416746', '0000417016', '0000417054', '0000417058', '0000417093', '0000417672', '0000417681', '0000417740', '0000417865', '0000418050', '0000418597', '0000418812', '0000420391', '0000420441', '0000420752', '0000420873', '0000420881', '0000420882', '0000420925', '0000420932', '0000420935', '0000420955', '0000421055', '0000421094', '0000421316', '0000421721', '0000421722', '0000421724', '0000422264', '0000422404', '0000422419', '0000422483', '0000422765', '0000422893', '0000423049', '0000423059', '0000423060', '0000423061', '0000423062', '0000423063', '0000423064', '0000423065', '0000423067', '0000423142', '0000423555', '0000424451', '0000424467', '0000424840', '0000700364', '0000703460', 'ARPANA', 'BAKER', 'BOUWHUIS', 'BUSCHC', 'CRMAUTOTST', 'CRMSUPPORT', 'D019666', 'D031132', 'D032824', 'DIGGS', 'DUMANN', 'FREEMAN', 'KING', 'KRATZN', 'KRUSE', 'LONDON', 'LUCKINSE', 'MILLER', 'MYERS', 'PORTALCHM', 'RYZHOVA', 'SCHULZ', 'SCHUPPM', 'SHRAMASUM', 'WANGJ', 'WANGJ', 'WHITE', 'WILSON', 'ZELLERSU') AND

    (2) Read other report data using these queried GUID from corresponding buffer table:

    Then I search key word "number of open" in SD Analytic package:

    And found out how they achieve it:

    So I create a view accordingly:

    And this is our cube view:

    tested in QGS/300:

    read it via OPEN SQL: CRMS4_BW_PRINT_ORDER_NUMBERS
    In traditional ABAP report we cannot archieve the report to get number of orders and number of open orders via a single OPEN SQL statement.

    要获取更多Jerry的原创文章,请关注公众号"汪子熙":

  • 相关阅读:
    JDK源码分析之hashmap就这么简单理解
    JVM笔记11-类加载器和OSGI
    JVM笔记10-性能优化之高级特性
    Java并发编程笔记之ThreadLocal内存泄漏探究
    Java并发编程笔记之FutureTask源码分析
    Java并发编程笔记之SimpleDateFormat源码分析
    Java并发编程笔记之Timer源码分析
    Java并发编程笔记之Semaphore信号量源码分析
    Java并发编程笔记之CyclicBarrier源码分析
    Java并发编程笔记之 CountDownLatch闭锁的源码分析
  • 原文地址:https://www.cnblogs.com/sap-jerry/p/12425524.html
Copyright © 2011-2022 走看看