#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...... |
#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. |
#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: cel: (045) 5537406023 "La vida premia la acción"
|
#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 |
Herramientas | Buscar en Tema |
Desplegado | |
|
|