zoukankan      html  css  js  c++  java
  • 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.

  • 相关阅读:
    嵌入式Linux驱动学习之路(十九)触摸屏驱动、tslib测试
    GNU make使用变量⑤变量的引用、定义等
    Java并发——核心理论
    Java并发——volatile的原理
    Java线程与Linux内核线程的映射关系
    Reactor模式详解
    Java实现二分查找算法
    Dubbo协议与连接控制
    linux 域名
    package报错
  • 原文地址:https://www.cnblogs.com/JackeyLove/p/13917958.html
Copyright © 2011-2022 走看看