1.获取维度模型的方法1

DATA:i_appset_id TYPE uj_appset_id,
     i_appl_id   TYPE uj_appl_id.

i_appset_id = 'SINOTRUK'.
i_appl_id = 'Consolidation'.

DATA: lo_owner_model  TYPE REF TO cl_uja_application,"ownership 模型

lt_owner_dim    TYPE uja_t_appl_dim.                     "ownership 模型的维度list

CREATE OBJECT lo_owner_model
      EXPORTING
        i_appset_id      = i_appset_id
        i_application_id = 'OWNERSHIP'.

    lo_owner_model->get_appl_dim(
      EXPORTING
        i_appl_id   = 'OWNERSHIP'
      IMPORTING
        et_appl_dim = lt_owner_dim ).

2获取维度模型方法2

cl_ujk_model=>get_dim_list(
   EXPORTING
    i_appset_id       = i_appset_id
    i_appl_id         = 'Ownership'
    i_with_measures   = abap_false
   IMPORTING
    et_admin_dim_list = DATA(lt_dim_list)
   ).

3.设置查询条件

DATA:   lt_sel          TYPE uj0_t_sel.               "输入模型的查询条件

"设置查询条件
    DEFINE set_select.
      APPEND INITIAL LINE TO &1 ASSIGNING <lfs_sel> .
      <lfs_sel>-sign      =  &2.
      <lfs_sel>-option    =  &3.
      <lfs_sel>-dimension =  &4.
      <lfs_sel>-low       =  &5.
      <lfs_sel>-high      =  &6.
    END-OF-DEFINITION.

"维度 ACCOUNT
    set_select lt_sel 'I' 'BT' 'ACCOUNT' '1521010000' '1521010002'.
    set_select lt_sel 'I' 'BT' 'ACCOUNT' '1522010000' '1522010002'.
    set_select lt_sel 'I' 'BT' 'ACCOUNT' '1523010000' '1523010002'.
    set_select lt_sel 'I' 'BT' 'ACCOUNT' '1521020000' '1521020001'.

    "维度 FLOW
    set_select lt_sel 'I' 'BT' 'FLOW' 'F_4A1' 'F_4A5'.
    set_select lt_sel 'I' 'BT' 'FLOW' 'F_4B1' 'F_4B5'.
    "维度 FLOW1
    set_select lt_sel 'I' 'EQ' 'FLOW1' 'F1_NONE' ''.

    "维度 FLOW2
    set_select lt_sel 'I' 'EQ' 'FLOW2' 'F2_NONE' ''.

    "维度 FLOW4
    set_select lt_sel 'I' 'EQ' 'FLOW4' 'F4_NONE' ''.

4.查询模型数据方法1

DATA:lt_sel          TYPE uj0_t_sel,               "输入模型的查询条件

DATA:i_appset_id TYPE uj_appset_id,
          i_appl_id     TYPE uj_appl_id.

i_appset_id = 'SINOTRUK'.
i_appl_id = 'Consolidation'.

TRY .

*执行查询 ----开始
        DATA(lo_query) = cl_ujo_query_factory=>get_query_adapter(
                                 i_appset_id = i_appset_id
                                   i_appl_id = i_appl_id ).


        CALL METHOD lo_conso_mgr->create_data_ref
          EXPORTING
            i_data_type   = 'T'
            it_dim_name   = lt_conso_dim
            if_tech_name  = abap_false
            if_signeddata = abap_true
          IMPORTING
            er_data       = lr_data_4.
        ASSIGN lr_data_4->* TO <lfs_data>.

        lo_query->run_rsdri_query(
          EXPORTING
            it_dim_name       = lt_conso_dim   " BPC: Dimension List
            it_range          = lt_sel        " BPC: Selection condition
            if_check_security = abap_true     " BPC: Generic indicator
          IMPORTING
            et_data           = <lfs_data>
          ).
*执行查询 ----结束
      CATCH cx_root INTO DATA(lr_exception).

    ENDTRY.

5.查询模型数据方法2

DATA:       lo_owner_mgr      TYPE REF TO if_uja_application_manager,

lt_owner_list     TYPE uja_t_dim_list,

lr_data1           TYPE REF TO data,

lt_axis1          TYPE ujo_t_query_dim,
                  ls_axis           TYPE ujo_t_members.

FIELD-SYMBOLS:
      <fs_table01> TYPE STANDARD TABLE,

*---读取OWNERSHIP(/CPMB/CYIY0HO)模型
    TRY.
        CALL METHOD cl_uja_bpc_admin_factory=>get_application_manager
          EXPORTING
            i_appset_id      = i_appset_id
            i_application_id = 'Ownership'
          RECEIVING
            ro_return        = lo_owner_mgr.

        CALL METHOD lo_owner_mgr->create_data_ref
          EXPORTING
            i_data_type   = 'T'
            it_dim_name   = lt_owner_list
            if_tech_name  = abap_false
            if_signeddata = abap_true
          IMPORTING
            er_data       = lr_data1.
        ASSIGN lr_data1->* TO <fs_table01>.

        lo_owner_query = cl_ujo_query_factory=>get_query_adapter(
            i_appset_id = i_appset_id
            i_appl_id   = 'Ownership' ).

        lo_owner_query->run_axis_query_symm(
          EXPORTING
            it_axis = lt_axis1 " BPC: Dimension List
            if_no_sign_conversion = abap_true
          IMPORTING
            et_data = <fs_table01>
          ).
      CATCH cx_ujo_read cx_uj_static_check.
    ENDTRY.

SAP BPC 开发日记的更多相关文章

  1. SAP BPC方案介绍

    refer to http://sapper.blog.sohu.com/166039991.html SAP/BPC简介: 全面预算管理是联系公司战略目标与日常运营的重要纽带,它上到战略层面.下到执 ...

  2. 微信小程序开发日记——高仿知乎日报(中)

    本人对知乎日报是情有独钟,看我的博客和github就知道了,写了几个不同技术类型的知乎日报APP要做微信小程序首先要对html,css,js有一定的基础,还有对微信小程序的API也要非常熟悉 我将该教 ...

  3. 微信小程序开发日记——高仿知乎日报(上)

    本人对知乎日报是情有独钟,看我的博客和github就知道了,写了几个不同技术类型的知乎日报APP 要做微信小程序首先要对html,css,js有一定的基础,还有对微信小程序的API也要非常熟悉 我将该 ...

  4. 嵌入式Linux驱动开发日记

    嵌入式Linux驱动开发日记 主机硬件环境 开发机:虚拟机Ubuntu12.04 内存: 1G 硬盘:80GB 目标板硬件环境 CPU: SP5V210 (开发板:QT210) SDRAM: 512M ...

  5. 【原创】shadowebdict开发日记:基于linux的简明英汉字典(四)

    全系列目录: [原创]shadowebdict开发日记:基于linux的简明英汉字典(一) [原创]shadowebdict开发日记:基于linux的简明英汉字典(二) [原创]shadowebdic ...

  6. 【原创】shadowebdict开发日记:基于linux的简明英汉字典(三)

    全系列目录: [原创]shadowebdict开发日记:基于linux的简明英汉字典(一) [原创]shadowebdict开发日记:基于linux的简明英汉字典(二) [原创]shadowebdic ...

  7. 【原创】shadowebdict开发日记:基于linux的简明英汉字典(二)

    全系列目录: [原创]shadowebdict开发日记:基于linux的简明英汉字典(一) [原创]shadowebdict开发日记:基于linux的简明英汉字典(二) [原创]shadowebdic ...

  8. 【原创】shadowebdict开发日记:基于linux的简明英汉字典(一)

    全系列目录: [原创]shadowebdict开发日记:基于linux的简明英汉字典(一) [原创]shadowebdict开发日记:基于linux的简明英汉字典(二) [原创]shadowebdic ...

  9. LayIM.AspNetCore Middleware 开发日记(一)闲言碎语

    前言 前几天写博客的时候突然看见了历史上的今天.不禁感慨时光如梭,这系列博客后来被我标注了已经过时,但是还有很多小伙伴咨询我.既然过时就要更新,正好 .NET Core 也出来很久了,于是乎想到把La ...

随机推荐

  1. 注册中心Eureka的简单使用

    不讲原理,只讲简单使用 微服务,一般是父子工程,可以直接在父工程下新建个模块来用来启动Eureka 1.创建Eureka模块 2.引入依赖 <dependency> <groupId ...

  2. JavaWeb学习day7-Response初学4

    重定向和转发的区别 相同 页面都会实现跳转 不同 请求转发的时候url不会发生变化,编码是307 重定向的时候url会变化,编码是302

  3. Fabric2.2中的Raft共识模块源码分析

    引言 Hyperledger Fabric是当前比较流行的一种联盟链系统,它隶属于Linux基金会在2015年创建的超级账本项目且是这个项目最重要的一个子项目.目前,与Hyperledger的另外几个 ...

  4. c#中判断类是否继承于泛型基类

    在c#中,有时候我们会编写类似这样的代码: public class a<T> { //具体类的实现 } public class b : a<string>{} 如果b继承a ...

  5. Python 爬取1688货源重量,自动发邮件到指定邮箱(qq),设置定时运行程序

    1 # -*- coding: utf-8 -*- 2 # @Time : 2020/7/6 13:46 3 # @Author : Chunfang 4 # @Email : 3470959534@ ...

  6. 【ASP.NET Core】自己编程来生成自签名的服务器证书

    如果项目不大,或者是客户公司内部使用,或者不想花钱购买证书,又或者用于开发阶段测试--完全可以使用自签名证书. 所谓自签,就是自己给自己签名颁发的证书,自给自足,丰衣足食. 生成证书的方法和工具很多, ...

  7. hibernate查询不到关联对象列表-fetchType的选择

    概述 昨天排查问题的时候,发现使用hibernate关联对象时,订单实体类对象死活无法获取关联的订单明细列表 Order order = orderDao.findById(201L); //明明数据 ...

  8. Nessus如何解除IP限制以及解决重启失效的后遗症

    Nessus如何解除IP限制以及解决重启失效的后遗症 1.解除IP限制 1.获取当前plugins的版本号. https://plugins.nessus.org/v2/plugins.php 2.停 ...

  9. data structure assignment problem record

    Question1: Similar to pause command in linux read -n 1 Question2 read : Illegal option -n 原因为ubuntu ...

  10. sklearn机器学习实战-KNN

    KNN分类 KNN是惰性学习模型,也被称为基于实例的学习模型 简单线性回归是勤奋学习模型,训练阶段耗费计算资源,但是预测阶段代价不高 首先工作是把label的内容进行二值化(如果多分类任务,则考虑On ...