Grupo de CeCo

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • Xolosky
    Member
    • jul
    • 41

    #1

    Grupo de CeCo

    Muchachos, estoy desarrollando un informe de gestión para una sociedad que ha definido distintos centros de costo para cada una de sus areas de negocio, la idea es agrupar los centros de costo de un grupo de centros de costo y en base a eso filtrar las clases de costo primaria que tienen movimiento y mostrarlas en el reporte..

    suena muy bonito, pero el problema es que estoy muy afligido buscando la tabla de en la cual se guardan los grupos de centros de costo y donde guarda la asociacion a los centros de coste que se creen dentro de un grupo de centros de costo creado

    si alguien tiene alguna idea de cual es la tabla estaria muy agradecido...

    he mirado todas las tablas de CO que conosco y que he bajado en los multiples manuales que aparecen en la sección de descargas

    de ante mano muchisimas gracias.....
    Algo he aprendido de SAP......
  • hernans9
    Junior Member
    • nov
    • 20

    #2
    Las tablas donde podes conseguir esa informacion son varias (tambien hay varias estructuras)

    1- Tabla SETNODE , aca te muestra el agrupador mayor y sus grupos de centros de costo. Es decir aca no ves los CC, solo los grupos y si estos grupos tienen otros grupos colgados.
    -Clase de SET, tenes que poner 0101 que es para CeCos
    -Unid Organizativa, es la sociedad Controlling.

    2-Tabla SETLEAF, aca si con las mismas condiciones de seleccion tenes finalmente los valores de los grupos. Si pusiste un rango lo ves en una sola linea con DESDE-HASTA, y sino ves una entrada en la tabla por cada valor.

    Espero te sirva.
    slds
    Hernan

    De todas formas leyendo lo que intentan hacer es mucho mas simple generar un reporte con Report Painter y utilizar SETS de cuentas y CC segun las combinaciones que necesitas. Cualquier actualizacion de la info que necesiten se modifica el SET y listo.

    Comentario

    • larmadovr
      Member
      • ene
      • 77

      #3
      Por medio de código.

      Ejecuta el siguiente reporte y en este viene todo lo que necesitas, desde declarar el gpo ceco y agregar funcionalidad de matchcode, y tambien la funcion para cargar todos los cecos

      REPORT zpruebas_lavr NO STANDARD PAGE HEADING.


      SELECTION-SCREEN BEGIN OF BLOCK param WITH FRAME TITLE text-001.
      PARAMETERS:

      * Sociedad
      p_soc LIKE zpresupuestos-sociedad
      OBLIGATORY,

      * Grupo de Centros de costo
      p_kstgr LIKE rkpln-ksgru MEMORY ID cec.

      SELECTION-SCREEN END OF BLOCK param.


      ********GRUPO CECO********
      * Sets (here groups) with values
      TYPES: BEGIN OF kaep_sub_groups,
      shortname LIKE sethier-shortname,
      title LIKE rgsb4-title,
      index LIKE kaep_sets-objgrp_ind,
      from LIKE rgsb4-from,
      to LIKE rgsb4-to ,
      END OF kaep_sub_groups.

      TYPES: kaep_t_sub_groups TYPE kaep_sub_groups OCCURS 0.


      TYPES: BEGIN OF kaep_groups,
      field LIKE setheader-fieldname,
      setnr LIKE rgsb4-setnr,
      shortname LIKE sethier-shortname, "highest group
      sub TYPE kaep_t_sub_groups, "basic sets with values
      END OF kaep_groups.


      DATA: ld_setid LIKE sethier-setid,
      lt_setvalues LIKE rgsb4 OCCURS 0 WITH HEADER LINE,
      ld_sub TYPE kaep_sub_groups.

      DATA: lr_cosel LIKE cosel OCCURS 0 WITH HEADER LINE.

      RANGES: r_ceco FOR zrelusuceco_prep-ceco.


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

      AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_kstgr.

      PERFORM f4_groups USING 'KOSTL'
      p_soc
      CHANGING p_kstgr.


      *---------------------------------------------------------------------*
      * EVENTO START-OF-SELECTION *
      *---------------------------------------------------------------------*
      START-OF-SELECTION.

      PERFORM f_carga_grupo_ceco.

      *&---------------------------------------------------------------------*
      *& Form f4_groups
      *&---------------------------------------------------------------------*
      FORM f4_groups USING value(v_field) LIKE rgsbs-field
      value(v_searchfield) TYPE any

      CHANGING c_group TYPE c.
      DATA: ld_searchfield LIKE rgsbs-searchfld.

      ld_searchfield = v_searchfield.

      CALL FUNCTION 'K_GROUP_SELECT'
      EXPORTING
      field_name = v_field
      searchfld = ld_searchfield
      searchfld_input = space
      set = c_group
      IMPORTING
      set_name = c_group
      EXCEPTIONS
      no_set_picked = 1
      OTHERS = 2.
      IF sy-subrc NE 0.
      CLEAR c_group.
      ENDIF.
      ENDFORM. " F4_GROUPS
      *&---------------------------------------------------------------------*
      *& Form f_carga_grupo_ceco
      *&---------------------------------------------------------------------*
      form f_carga_grupo_ceco.

      DATA: l_ceco(10) TYPE n.

      *************ESTA CLAVE LA ARMAS PARA CARGAR LOS CECOS

      CONCATENATE '0101' p_soc p_kstgr INTO ld_setid. " NO-GAPS.

      CALL FUNCTION 'G_SET_GET_ALL_VALUES'
      EXPORTING
      setnr = ld_setid
      no_descriptions = space
      TABLES
      set_values = lt_setvalues
      EXCEPTIONS
      set_not_found = 1.
      .
      IF sy-subrc <> 0.
      * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
      * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.

      * fill range table
      LOOP AT lt_setvalues.
      ld_sub-index = sy-tabix.
      *...take over the values
      lr_cosel-low = lt_setvalues-from.
      lr_cosel-high = lt_setvalues-to.
      IF lr_cosel-high = lr_cosel-low OR
      lr_cosel-high IS INITIAL.
      lr_cosel-option = 'EQ'.
      ELSE.
      lr_cosel-option = 'BT'.
      ENDIF.
      APPEND lr_cosel.
      *...take over the set values from the basic sets
      MOVE-CORRESPONDING lt_setvalues TO ld_sub.
      *...get the external set name
      CALL FUNCTION 'G_SET_DECRYPT_SETID'
      EXPORTING
      setid = lt_setvalues-setnr
      IMPORTING
      shortname = ld_sub-shortname.

      l_ceco = ld_sub-shortname.
      r_ceco-sign = 'I'.
      r_ceco-option = 'EQ'.
      r_ceco-low = l_ceco.
      APPEND r_ceco.

      CLEAR l_ceco.
      ENDLOOP.

      DELETE ADJACENT DUPLICATES FROM r_ceco COMPARING low.

      ************************************************** **************
      * AL FINAL TIENES TODOS LOS CECOS QUE PERTENECEN AL GPO CECO EN R_CECO
      ************************************************** **************

      WRITE: /, 'EL GRUPO ', p_kstgr, 'TIENE LOS SIGUENTES CECOS'.
      loop at r_ceco.


      write: / r_ceco-low.
      endloop.

      endform. " f_carga_grupo_ceco
      I.S.C.T. Luis Armando Valdez Rodríguez
      Consultor ABAP
      correo: larmandovr@hotmail.com
      cel: (045) 5537406023

      "La vida premia la acción"

      Comentario

      • Mechita184
        Junior Member
        • mar
        • 2

        #4
        y si fuera por tx?

        Bajar el grupo de ceco por la ksh3 es muy laborioso.

        Existe alguna transacción masiva para bajar todos los grupos con sus respectivos cecos ?

        Favor su apoyooo

        Thanks

        Comentario

        Trabajando...