Quantcast
Channel: SCN: Message List
Viewing all articles
Browse latest Browse all 8491

Re: Set navegational attribute in Cubes automatically

$
0
0

Hi,

 

Yes I did it. That's the code, maybe is something still needed, but in debbuging mode the table DIMENSIONINFOOBJECTS get the new line with the Nav. Attr.

 

This is a Test cube, and it doesn't contain data.

 

 

DATA: V_CUBE                  LIKE BAPI6112-INFOCUBE,

      V_OBJECT                LIKE bapi6112dio-INFOOBJECT,

      IT_DIMENSIONINFOOBJECTS TYPE TABLE OF bapi6112dio,

      IT_DETA                 TYPE  BAPI6112,

      IT_DIMENSIONS           TYPE TABLE OF bapi6112di,

      IT_INFOOBJECTS          TYPE TABLE OF bapi6112io,

      l_dimension             LIKE LINE OF IT_DIMENSIONINFOOBJECTS,

      L_TABIX                 TYPE SY-TABIX.









FIELD-SYMBOLS: <OBJECT>    TYPEbapi6112dio.



V_CUBE    = 'ZTEST_NAV'.

V_OBJECT  = '0CUSTOMER'.



* get data from the cube

.

CALL FUNCTION 'BAPI_CUBE_GETDETAIL'

  EXPORTING   

    INFOCUBE             = V_CUBE

  IMPORTING   

    DETAILS              = IT_DETA

  TABLES

    DIMENSIONS           = IT_DIMENSIONS

    INFOOBJECTS          = IT_INFOOBJECTS

    DIMENSIONINFOOBJECTS = IT_DIMENSIONINFOOBJECTS.



IF SY-SUBRC IS INITIAL.

* Get the Dimension for the object

  READ TABLE IT_DIMENSIONINFOOBJECTS ASSIGNING <OBJECT> WITH KEY INFOOBJECT = V_OBJECT.



  IF SY-SUBRC IS INITIAL.

* Count number of navegational
attributes for the object


    clear l_dimension.

    LOOP AT IT_DIMENSIONINFOOBJECTS into l_dimension WHERE DIMENSION EQ <OBJECT>-DIMENSION.

      L_TABIX = L_TABIX + 1.

    ENDLOOP.



* Data for the new line of the new
nav. attribute


    L_TABIX = L_TABIX + 1.

    l_dimension-dimension <OBJECT>-DIMENSION.

    l_dimension-INFOOBJECT ='0CUSTOMER__0ACCNT_GRP'.

    l_dimension-ATRNAVFL   = 'X'.

    l_dimension-POSIT = L_TABIX.

    APPEND l_dimension TO IT_DIMENSIONINFOOBJECTS
.



**************************



* Change data of the cube

    CALL FUNCTION 'BAPI_CUBE_CHANGE'

      EXPORTING

        INFOCUBE             = V_CUBE

        DETAILS              = IT_DETA

      TABLES    

        DIMENSIONS           = IT_DIMENSIONS

        INFOOBJECTS          = IT_INFOOBJECTS

        DIMENSIONINFOOBJECTS = IT_DIMENSIONINFOOBJECTS.

    BREAK-POINT.



************************

    IF SY-SUBRC IS INITIAL.

      CALL FUNCTION 'BAPI_CUBE_ACTIVATE'

        EXPORTING

          INFOCUBE                    = V_CUBE

                .

    ENDIF.

  ENDIF.

ENDIF.


Viewing all articles
Browse latest Browse all 8491

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>