SAP BPC 开发日记
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 开发日记的更多相关文章
- SAP BPC方案介绍
refer to http://sapper.blog.sohu.com/166039991.html SAP/BPC简介: 全面预算管理是联系公司战略目标与日常运营的重要纽带,它上到战略层面.下到执 ...
- 微信小程序开发日记——高仿知乎日报(中)
本人对知乎日报是情有独钟,看我的博客和github就知道了,写了几个不同技术类型的知乎日报APP要做微信小程序首先要对html,css,js有一定的基础,还有对微信小程序的API也要非常熟悉 我将该教 ...
- 微信小程序开发日记——高仿知乎日报(上)
本人对知乎日报是情有独钟,看我的博客和github就知道了,写了几个不同技术类型的知乎日报APP 要做微信小程序首先要对html,css,js有一定的基础,还有对微信小程序的API也要非常熟悉 我将该 ...
- 嵌入式Linux驱动开发日记
嵌入式Linux驱动开发日记 主机硬件环境 开发机:虚拟机Ubuntu12.04 内存: 1G 硬盘:80GB 目标板硬件环境 CPU: SP5V210 (开发板:QT210) SDRAM: 512M ...
- 【原创】shadowebdict开发日记:基于linux的简明英汉字典(四)
全系列目录: [原创]shadowebdict开发日记:基于linux的简明英汉字典(一) [原创]shadowebdict开发日记:基于linux的简明英汉字典(二) [原创]shadowebdic ...
- 【原创】shadowebdict开发日记:基于linux的简明英汉字典(三)
全系列目录: [原创]shadowebdict开发日记:基于linux的简明英汉字典(一) [原创]shadowebdict开发日记:基于linux的简明英汉字典(二) [原创]shadowebdic ...
- 【原创】shadowebdict开发日记:基于linux的简明英汉字典(二)
全系列目录: [原创]shadowebdict开发日记:基于linux的简明英汉字典(一) [原创]shadowebdict开发日记:基于linux的简明英汉字典(二) [原创]shadowebdic ...
- 【原创】shadowebdict开发日记:基于linux的简明英汉字典(一)
全系列目录: [原创]shadowebdict开发日记:基于linux的简明英汉字典(一) [原创]shadowebdict开发日记:基于linux的简明英汉字典(二) [原创]shadowebdic ...
- LayIM.AspNetCore Middleware 开发日记(一)闲言碎语
前言 前几天写博客的时候突然看见了历史上的今天.不禁感慨时光如梭,这系列博客后来被我标注了已经过时,但是还有很多小伙伴咨询我.既然过时就要更新,正好 .NET Core 也出来很久了,于是乎想到把La ...
随机推荐
- @RequestBody和@RequestParam注解以及返回值,ajax相关知识点
关于前后端传递json数据这块查了好多资料,好多地方还是不清楚,先记录一下清楚的地方. 如果我们前端使用ajax发json数据,一般都加上contentType:'application/json;c ...
- MassTransit 入门(一)
本文地址源码 MassTransit是一个面向.net的免费开源分布式应用程序框架. MassTransit使得创建应用程序和服务变得很容易,这些应用程序和服务利用基于消息的.松散耦合的异步通信来获得 ...
- Istio实践(3)- 路由控制及多应用部署(netcore&springboot)
前言:接上一篇istio应用部署及服务间调用,本文介绍通过构建.netcore与springboot简单服务应用,实现服务间调用及相关路由控制等 1..netcore代码介绍及应用部署 新建.netc ...
- WPFApplication类
Application类 应用程序类Application,以下代码自动生成且在程序中不可见,定义程序入口点方法以及程序启动程序,整个程序生命周期为执行完Main()方法里的程序.对于自定义的应用程序 ...
- [AcWing 795] 前缀和
点击查看代码 #include<iostream> using namespace std; const int N = 1e5 + 10; int a[N], s[N]; int mai ...
- 【译】defer-panic-and-recover
Go 有通用的控制流程:if,for,switch,goto.它也有go语句用于让代码运行在单独的协程.这里我将讨论一些不常见的问题:defer,panic 和 recover. defer语句将函数 ...
- [题解][YZOJ50074] 小 C 的岛屿
仅仅是对 \(O(n^4)\) 做法的一个记录. 简要题意 有 \(N\) 座岛屿,初始时没有边.每座岛屿都有一个概率值 \(p_i\) 和一个大小为 \(s_i\) 友好列表 \(A_i\) . 小 ...
- Vue.js 3.x 中跨层级组件如何传递数据?
provide/inject 基本用法 在 Vue.js 中,跨层级组件如果想要传递数据,我们可以直接使用 props 来将祖先组件的数据传递给子孙组件: 注:上图来自 Vue.js 官网:Prop ...
- HTTP.sys远程执行代码漏洞检测
1.漏洞描述:HTTP 协议栈 (HTTP.sys) 中存在一个远程执行代码漏洞,这是 HTTP.sys 不正确地分析特制 HTTP 请求时导致的.成功利用此漏洞的攻击者可以在系统帐户的上下文中执行任 ...
- wsgiref模块,动静态网页,jinja2模块,django
基于wsgiref模块搭建服务端 from wsgiref import simple_server def run(request, response): """ :p ...