Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Cost center Group

Former Member
0 Kudos

Hi All,

I have cost center available with me, and I want cost center group for that. How do I do this??? Plz tell me the relevant tables or FMs.

Plz help soon

thanks & regards

Niyati

6 REPLIES 6

Former Member
0 Kudos

Hi Niyathi,

The followin code will help you very much because here i am passing the Cost center and getting the cost center group and its description. you can solve your problem.

Please award me if this will help you.

   CALL FUNCTION 'K_COSTELEM_SELECT'
     EXPORTING
       KOKRS                  = '0100'
      CE_FROM                = T_FINAL-KSTAR
*      CE_TO                  =
*      CE_GROUP               =
*      DATE_FROM              =
*      DATE_TO                =
*      LANGU                  = SY-LANGU
*      ONLY_COMPLETE          = ' '
*      WITH_TEXT              = 'X'
*      BYPASSING_BUFFER       = ' '
*      FILL_BUFFER            = 'X'
*      TABNAME                = 'CSKB_EX'
     TABLES
       IT_RESULT              = IT_BUFFER
    EXCEPTIONS
      NO_RECORD_FOUND        = 1
      GROUP_NOT_FOUND        = 2
      OTHERS                 = 3
             .
   IF SY-SUBRC <> 0.
 MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
   ENDIF.

   READ TABLE T_CSKU WITH KEY KSTAR = T_FINAL-KSTAR.
   READ TABLE IT_BUFFER INDEX 1.
   MOVE IT_BUFFER-KTEXT TO T_FINAL-KAGRU.
   MOVE T_CSKU-KTEXT    TO T_FINAL-KTEXT.
   MODIFY T_FINAL FROM T_FINAL TRANSPORTING KTEXT KAGRU.

Warm Regards,

Vijay

0 Kudos

Hi Vijay,

Thanks for the help. I had following confusions.

U are passing cost element, not cost center. I have only cost center available with me.

Also plz tell me where are u getting the internal table T_CSKU from, and what information r u getting in this.

Kindly help soon

Thanks a lot

Niyati

0 Kudos

try this..

select SETID 
          from SETLEAF 
           into V_CCGROUP 
           where setclass eq '0101' and 
           VALFROM LE V_CCENTER and  
            VALTO GE V_CCENTER.

Here V_CCENTER is the cost center

0 Kudos

Hi,

Thanks for this code.

I also need cost center group text. From where do i get this???

Thanks a lot..

Niyati

0 Kudos
select  DESCRIPT 
            from SETHEADERT
             into V_TEXT 
            where setclass eq '0101' and 
             SETNAME EQ V_CCGROUP 
               and LANGU EQ 'E'.

<b>Reward and close thread for helpful answers</b>

0 Kudos

I am getting that information from the table

SELECT * FROM CSKU INTO TABLE T_CSKU.

In my report i am using only 2 tables COEP, CSKU.

Here i am sending the code for my report. You just try to execute it then you will get an idean about it.

  • TABLES

TABLES : COEP,

PRPS,

BAPISET_HIER ,

ZFI_BURDEN.

  • TYPES

TYPES: BEGIN OF YT_TEMPLATE,

KSTAR LIKE COEP-KSTAR,

WOGBTR LIKE COEP-WOGBTR,

END OF YT_TEMPLATE.

  • DATA VARIABLES

DATA: W_FI LIKE COEP-WOGBTR,

W_PROJECT LIKE COEP-WOGBTR,

W_ABSORPTION LIKE COEP-WOGBTR,

W_TNAME LIKE TSTC-TCODE VALUE 'ZFP1',

W_SUBRC LIKE SY-SUBRC.

*CONSTANTS

CONSTANTS: C_X TYPE C VALUE 'X',

C_ABB LIKE BAPICO_GROUP-CHRT_ACCTS VALUE 'ABB',

C_GROUPNAME LIKE BAPICO_GROUP-GROUPNAME VALUE 'FI_'.

  • INTERNAL TABLES

DATA: T_FI TYPE STANDARD TABLE OF YT_TEMPLATE WITH HEADER LINE,

T_PROJECTS TYPE STANDARD TABLE OF YT_TEMPLATE WITH HEADER LINE,

T_TEMP TYPE STANDARD TABLE OF YT_TEMPLATE WITH HEADER LINE,

T_COEP TYPE STANDARD TABLE OF COEP WITH HEADER LINE,

T_CSKU TYPE STANDARD TABLE OF CSKU WITH HEADER LINE.

DATA : BEGIN OF T_NODES_MAIN OCCURS 0.

INCLUDE STRUCTURE BAPISET_HIER.

DATA END OF T_NODES_MAIN .

DATA : BEGIN OF T_VALUES_MAIN OCCURS 0.

INCLUDE STRUCTURE BAPI1113_VALUES.

DATA : END OF T_VALUES_MAIN.

DATA : BEGIN OF T_NODES OCCURS 0.

INCLUDE STRUCTURE BAPISET_HIER.

DATA END OF T_NODES .

DATA : BEGIN OF T_VALUES OCCURS 0.

INCLUDE STRUCTURE BAPI1113_VALUES.

DATA : END OF T_VALUES.

DATA : BEGIN OF T_GROUP OCCURS 0,

GROUPNAME LIKE BAPISET_HIER-GROUPNAME,

DESCRIPT LIKE BAPISET_HIER-DESCRIPT,

VALFROM LIKE BAPI1113_VALUES-VALFROM,

END OF T_GROUP .

DATA: BEGIN OF T_FINAL OCCURS 0,

KSTAR LIKE COEP-KSTAR,

KTEXT LIKE CSKU-KTEXT,

KAGRU LIKE CSKU-KTEXT, "TYPE KAGRU,

FI_WOGBTR LIKE COEP-WOGBTR,

PR_WOGBTR LIKE COEP-WOGBTR,

DF_WOGBTR LIKE COEP-WOGBTR,

END OF T_FINAL.

*SELECTION SCREEN

SELECTION-SCREEN : BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.

SELECT-OPTIONS : S_GJAHR FOR COEP-GJAHR OBLIGATORY NO INTERVALS NO-EXTENSION,

S_PERIO FOR COEP-PERIO OBLIGATORY NO INTERVALS NO-EXTENSION.

SELECTION-SCREEN : END OF BLOCK B1.

SELECTION-SCREEN : BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.

PARAMETERS : P_SUM RADIOBUTTON GROUP SUM user-command SUM DEFAULT 'X',

P_DETAIL RADIOBUTTON GROUP SUM.

SELECTION-SCREEN : END OF BLOCK B2.

*START-OF-SELECTION.

START-OF-SELECTION.

*Authorization check for this transaction.

CALL FUNCTION 'AUTHORITY_CHECK_TCODE'

EXPORTING

tcode = W_Tname

EXCEPTIONS

ok = 1

not_ok = 2.

IF sy-subrc = 2.

MESSAGE e172(00) WITH W_Tname.

ENDIF.

CALL FUNCTION 'SUSR_AUTHORITY_CHECK_S_TCODE'

EXPORTING

tcode = W_Tname

IMPORTING

rc = W_subrc.

IF W_subrc <> 0.

MESSAGE e172(00) WITH W_Tname.

ENDIF.

*SELECT KSTAR WOGBTR FROM COEP INTO TABLE T_FI

  • WHERE PERIO EQ S_PERIO-LOW

  • AND GJAHR EQ S_GJAHR-LOW

  • AND KOKRS EQ '0300'

  • AND BUKRS EQ '0300'

  • AND WRTTP EQ '04'

  • AND VERSN EQ '000'

  • AND GSBER EQ '9950'.

*

*SELECT KSTAR WOGBTR FROM COEP INTO TABLE T_PROJECTS

  • WHERE PERIO EQ S_PERIO-LOW

  • AND GJAHR EQ S_GJAHR-LOW

  • AND KOKRS EQ '0300'

  • AND BUKRS EQ '0300'

  • AND WRTTP EQ '04'

  • AND VERSN EQ '000'

  • AND GSBER EQ '9950'

  • AND ( OBJNR LIKE 'PR%' OR OBJNR LIKE 'NV%' ).

SELECT * FROM CSKU INTO TABLE T_CSKU.

****TEST SCENARIO

SELECT KSTAR WOGBTR FROM COEP INTO TABLE T_FI

WHERE KOKRS EQ '0100'

AND BUKRS EQ '0310'

AND WRTTP EQ '04'

AND VERSN EQ '000'

AND GSBER EQ '3410'.

SELECT KSTAR WOGBTR FROM COEP INTO TABLE T_PROJECTS

WHERE KOKRS EQ '0100'

AND BUKRS EQ '0310'

AND WRTTP EQ '04'

AND VERSN EQ '000'

AND GSBER EQ '3410'

AND ( OBJNR LIKE 'VB%' OR OBJNR LIKE 'AO%' ).

****TEST SCENARIO

REFRESH T_TEMP.

LOOP AT T_FI INTO T_TEMP.

COLLECT T_TEMP.

ENDLOOP.

REFRESH T_FI.

APPEND LINES OF T_TEMP TO T_FI.

REFRESH T_TEMP.

LOOP AT T_PROJECTS INTO T_TEMP.

COLLECT T_TEMP.

ENDLOOP.

REFRESH T_PROJECTS.

APPEND LINES OF T_TEMP TO T_PROJECTS.

CLEAR T_PROJECTS.

CLEAR: W_FI, W_PROJECT, W_ABSORPTION.

LOOP AT T_FI.

READ TABLE T_PROJECTS WITH KEY KSTAR = T_FI-KSTAR.

MOVE: T_FI-KSTAR TO T_FINAL-KSTAR,

T_FI-WOGBTR TO T_FINAL-FI_WOGBTR,

T_PROJECTS-WOGBTR TO T_FINAL-PR_WOGBTR.

T_FINAL-DF_WOGBTR = T_FINAL-FI_WOGBTR - T_FINAL-PR_WOGBTR.

IF T_FINAL-DF_WOGBTR IS NOT INITIAL.

APPEND T_FINAL.

W_FI = W_FI + T_FINAL-FI_WOGBTR.

W_PROJECT = W_PROJECT + T_FINAL-PR_WOGBTR.

W_ABSORPTION = W_ABSORPTION + T_FINAL-DF_WOGBTR.

ENDIF.

ENDLOOP.

****One of the method to get cost group name

DATA: it_buffer LIKE cskb_ex OCCURS 0 WITH HEADER LINE.

LOOP AT T_FINAL.

CALL FUNCTION 'K_COSTELEM_SELECT'

EXPORTING

KOKRS = '0100'

CE_FROM = T_FINAL-KSTAR

  • CE_TO =

  • CE_GROUP =

  • DATE_FROM =

  • DATE_TO =

  • LANGU = SY-LANGU

  • ONLY_COMPLETE = ' '

  • WITH_TEXT = 'X'

  • BYPASSING_BUFFER = ' '

  • FILL_BUFFER = 'X'

  • TABNAME = 'CSKB_EX'

TABLES

IT_RESULT = IT_BUFFER

EXCEPTIONS

NO_RECORD_FOUND = 1

GROUP_NOT_FOUND = 2

OTHERS = 3

.

IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

READ TABLE T_CSKU WITH KEY KSTAR = T_FINAL-KSTAR.

READ TABLE IT_BUFFER INDEX 1.

MOVE IT_BUFFER-KTEXT TO T_FINAL-KAGRU.

MOVE T_CSKU-KTEXT TO T_FINAL-KTEXT.

MODIFY T_FINAL FROM T_FINAL TRANSPORTING KTEXT KAGRU.

ENDLOOP.

****Anothe method to get Cost group and Description

  • PERFORM GET_GROUPS .

*LOOP AT T_FINAL.

  • READ TABLE T_GROUP WITH KEY VALFROM = T_FINAL-KSTAR .

  • MOVE T_GROUP-GROUPNAME TO T_FINAL-KAGRU .

    • MOVE T_GROUP-DESCRIPT TO T_FINAL-DESCRIPT.

  • MODIFY T_FINAL FROM T_FINAL TRANSPORTING KAGRU.

*ENDLOOP.

*END-OF-SELECTION.

END-OF-SELECTION.

IF P_SUM EQ C_X.

PERFORM DISPLAY_SUMMARY.

ELSE.

PERFORM DISPLAY_DETAIL.

ENDIF.

&----


*& Form GET_GROUPS

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GET_GROUPS .

*This routine get Cost elements for cost element group " BURDENRATE" .

CALL FUNCTION 'BAPI_COSTELEMENTGRP_GETDETAIL'

EXPORTING

CHARTOFACCOUNTS = C_ABB

GROUPNAME = C_GROUPNAME

  • IMPORTING

  • RETURN =

TABLES

HIERARCHYNODES = T_NODES_MAIN

HIERARCHYVALUES = T_VALUES_MAIN

.

  • T_NODES_MAIN index 1 has heading for cost element group which needs to

  • be deleted

DELETE T_NODES_MAIN INDEX 1 .

  • looping Cost element groups for corresponding cost elements.

LOOP AT T_NODES_MAIN.

CALL FUNCTION 'BAPI_COSTELEMENTGRP_GETDETAIL'

EXPORTING

CHARTOFACCOUNTS = C_ABB

GROUPNAME = T_NODES_MAIN-GROUPNAME

  • IMPORTING

  • RETURN =

TABLES

HIERARCHYNODES = T_NODES

HIERARCHYVALUES = T_VALUES.

LOOP AT T_VALUES.

MOVE T_NODES-GROUPNAME TO T_GROUP-GROUPNAME.

MOVE T_NODES-DESCRIPT TO T_GROUP-DESCRIPT.

MOVE T_VALUES-VALFROM TO T_GROUP-VALFROM.

APPEND T_GROUP.

CLEAR T_GROUP.

ENDLOOP.

ENDLOOP.

ENDFORM. " GET_GROUPS

&----


*& Form DISPLAY_SUMMARY

&----


  • This subroutine displays summary information

----


FORM DISPLAY_SUMMARY .

DATA: T_TEMP_FINAL LIKE STANDARD TABLE OF T_FINAL WITH HEADER LINE,

WV_TEMP TYPE I.

LOOP AT T_FINAL INTO T_TEMP_FINAL.

CLEAR: T_TEMP_FINAL-KSTAR,

T_TEMP_FINAL-KTEXT.

COLLECT T_TEMP_FINAL.

ENDLOOP.

REFRESH T_FINAL.

APPEND LINES OF T_TEMP_FINAL TO T_FINAL.

REFRESH T_TEMP_FINAL.

WRITE: 1(21) TEXT-003, W_FI,

/1(21) TEXT-004, W_PROJECT,

/1(21) TEXT-005, W_ABSORPTION.

FORMAT COLOR COL_HEADING INTENSIFIED ON.

SKIP 3.

WRITE: (96) SY-ULINE.

WRITE: / SY-VLINE, (20) TEXT-006, SY-VLINE, (21) TEXT-007 CENTERED, SY-VLINE,

(21) TEXT-008 CENTERED, SY-VLINE, (21) TEXT-009 CENTERED, SY-VLINE.

FORMAT COLOR COL_HEADING INTENSIFIED OFF.

WRITE: (96) SY-ULINE.

LOOP AT T_FINAL.

WV_TEMP = SY-TABIX MOD 2.

IF WV_TEMP EQ 0.

FORMAT COLOR COL_NORMAL INTENSIFIED ON.

ELSE.

FORMAT COLOR COL_NORMAL INTENSIFIED OFF.

ENDIF.

WRITE:/ SY-VLINE, (20) T_FINAL-KAGRU,

SY-VLINE, (21) T_FINAL-FI_WOGBTR , SY-VLINE, (21) T_FINAL-PR_WOGBTR,

SY-VLINE, (21) T_FINAL-DF_WOGBTR, SY-VLINE.

ENDLOOP.

IF T_FINAL IS INITIAL.

WRITE: / SY-VLINE, TEXT-013,96 SY-VLINE.

ELSE.

WRITE: (96) SY-ULINE.

FORMAT COLOR COL_TOTAL INTENSIFIED ON.

WRITE:/ SY-VLINE, (20) TEXT-012,

SY-VLINE, (21) W_FI , SY-VLINE, (21) W_PROJECT,

SY-VLINE, (21) W_ABSORPTION, SY-VLINE.

FORMAT COLOR COL_TOTAL INTENSIFIED OFF.

ENDIF.

WRITE: (96) SY-ULINE.

ENDFORM. " DISPLAY_SUMMARY

&----


*& Form DISPLAY_DETAIL

&----


  • This subroutine displays Detail information

----


FORM DISPLAY_DETAIL .

DATA: WV_TEMP TYPE I.

WRITE: 1(21) TEXT-003, W_FI,

/1(21) TEXT-004, W_PROJECT,

/1(21) TEXT-005, W_ABSORPTION.

FORMAT COLOR COL_HEADING INTENSIFIED ON.

SKIP 3.

WRITE: (138) SY-ULINE.

WRITE:/ SY-VLINE, (16) TEXT-010,

SY-VLINE, (20) TEXT-011,

SY-VLINE, (20) TEXT-006,

SY-VLINE, (21) TEXT-007 CENTERED, SY-VLINE, (21) TEXT-008 CENTERED,

SY-VLINE, (21) TEXT-009 CENTERED, SY-VLINE.

FORMAT COLOR COL_HEADING INTENSIFIED OFF.

WRITE: (138) SY-ULINE.

LOOP AT T_FINAL.

WV_TEMP = SY-TABIX MOD 2.

IF WV_TEMP EQ 0.

FORMAT COLOR COL_NORMAL INTENSIFIED ON.

ELSE.

FORMAT COLOR COL_NORMAL INTENSIFIED OFF.

ENDIF.

WRITE: / SY-VLINE, (16) T_FINAL-KSTAR,

SY-VLINE, (20) T_FINAL-KTEXT,

SY-VLINE, (20) T_FINAL-KAGRU,

SY-VLINE, (21) T_FINAL-FI_WOGBTR, SY-VLINE, (21) T_FINAL-PR_WOGBTR,

SY-VLINE, (21) T_FINAL-DF_WOGBTR, SY-VLINE.

ENDLOOP.

IF T_FINAL IS INITIAL.

WRITE: / SY-VLINE, TEXT-013,138 SY-VLINE.

ELSE.

WRITE: (138) SY-ULINE.

FORMAT COLOR COL_TOTAL INTENSIFIED ON.

WRITE: / SY-VLINE, (16) TEXT-012,

SY-VLINE, (20) SPACE,

SY-VLINE, (20) SPACE,

SY-VLINE, (21) W_FI, SY-VLINE, (21) W_PROJECT,

SY-VLINE, (21) W_ABSORPTION, SY-VLINE.

FORMAT COLOR COL_TOTAL INTENSIFIED OFF.

ENDIF.

WRITE: (138) SY-ULINE.

ENDFORM. " DISPLAY_DETAIL

Message was edited by:

Vijaya Bhaskarudu Gangisetty