Checking WBS elements when changing WBS element group

Dear Gurus,
Well I am a technical consultant, I use to dwell in the ABAP forum, so maybe I am going to say things without much sense, if so please tell me.
I have a problem. One of our customers uses transaction KJH2 to change WBS elements groups and they have asked us to check the WBS elements that the users can put in the transaction.
If a user adds a new WBS range both the WBS elements have to exist in the system, we have to check it somehow, probably using a user-exit or a BADI.
The problem is that I have been looking for a BADI or a USER-EXIT for many hours and I have been unable to find one which allows us to check this, same when the user inputs the WBS element as when we save the changes.
Somebody has some help? Any advice would be apreciated.
In the while I will keep trying to find it and if I succeed I will post it here anyhow.
So long I have put a break-point in the 'CL_EXITHANDLER' class and I have checked the BADIs that can be used when I make the process, none can be useful I think. I have tried to find a USER-EXIT and I have foud none.
Thanks in advance to everyone.

Hi Ayan,
Maybe you are right and we can't use a BADI for this. But we have a customer which has requested us to code this data check so I have to try.
I agree that this is master data but it is a simple data check without many consecuences (at least it seems so to me), maybe there is a way to do this.
Right now I think I am going to stop this until Monday as the FI consultant is now on vacation.
Thanks a lot for your reply.

Similar Messages

  • Changing the material group

    Hi Gurus,
    I need to change the material group on certain materials. What implications do we have when we try to change the material group
    Thanks
    Anusha

    Hello Anusha,
    If the material is already used in purchasing, when you change the matkl field the information message M3531 :y u are changing material group, but material already used by purchasing occurs
    if you double click on this message you can see the following explanations :
    When changing the material group of a material that is already being used by the purchasing department, you should note that:
       The purchasing statistics show how much of a material group has
        already been ordered. Unitl the change is made, the material is
        managed under the old material group and therefore the old material
        group statistics are updated. From the moment the change is made,
        the new material group's statistics are updated.
       Some purchase orders may derive from contracts with item categories
        referring to material groups. If this is the case, the material
        cannot be used after the change has been made.
       Every purchase requisition is allocated to a release strategy that
        can depend on the material group. A new release strategy may apply
        to a new material group. Purchase requisitions that were created
        before the change are subject to the old strategy; purchase
        requisitions that were created after the change are subject to the
        new strategy.
    Hope this can help
    Regards,
    Mauro

  • WBS element group  in Report Painter

    Hi,
    What is the procedure to insert WBS element group as parameter selection field in a report painter?
    I'm working in PS Information System / Hierachy Reports and we want to extract economic information
    Thanks!
    Sayaton

    Hi
    To create a Transaction Code for a Report Painter/report writer report
    Tcode for Report Painter
    To create a TCode, follow the steps below.
    1) Go to Transaction code SE93, Enter TCode Name and Press Create.
    2) Give short Description and select Parameter Transaction, Press Enter
    3) Select Transation Radio Button and write START_REPORT in the next text
    box Also Check the box Skip Initial Screen.
    4) On the bottom of Screen (default Values), Enter Parameters
    i) Name = D_SREPOVARI-REPORTTYPE. Value = RW
    ii) Name = D_SREPOVARI-REPORT Value = Your Report Group Name (Say 1SIP)
    5) Save and Execute.
    <b>Reward points for useful Answers</b>
    Regards
    Anji

  • WBS element groups

    hello
    In PS are transactions CJSG, KJH2, KJH3 to generate, edit and view WBS element groups. Ok I can add many different WBS elements to my group. But I have one question. Which parameters should I change in config or in other place to get possiblity to report costs from such group of WBS elements?
    So I have WBS element group and I would like to see their costs in eg CJI3 for this group. How could I achive it?
    Edited by: Adam Sobkowicz on Jan 25, 2011 3:25 PM

    >
    abdul khader wrote:
    > may be you can use the functionality of dynamic selection by project type, by maintaining same project type in all WBSE to be grouped together.
          this would give the right report only under the assumption that the Project Type used by the WBSE group under   consideration is not shared by ANY other WBSE.
          i think report painter/writer would be the only option to be able to use WBS element groups in the Cost reports.
    Thanks and Regards

  • Add a WBS Element into a WBS Element Group starting from a report

    Hi,
    I'd like to know if it is possible to add a WBS Element into a WBS Element Group starting from a report as like it possible for Cost Centers in report  obtained by TC KS13
    Thanks
    Giovanna

    Hi,
    Did you try CJSG / KJH2.
    Regards
    Sreekanth

  • CJSG _ Generate WBS element Group

    Hi
    I have generated a WBS element group using tcode CJSG.
    I was hoping to be able to use this in some of the standard reports like transaction S_ALR_87013543 however WBS element group is not available on the selection screen.
    Can WBS element group be used for selection in the standard cost reports, and if not where is this functionality available?
    Thanks in advance.
    Ian

    Hello Ian,
    I am new to SAP and I am facing a similar issue as you have mentioned in this thread. If you have found a solution for how to use the WBS Element group in the cost report please let me know.
    Thanks in advance.
    Best Regards,
    Ravi.C

  • Cost element group authorization check on controlling area level

    Hi!
    When maintaining cost element groups (KAH1, KAH2, KAH3) is it possible to run an authorization check on controlling area level?
    We have one global chart of account but several controlling areas. When we create a cost element group it is created at chart of account level for all the controlling areas. When someone changes a cost element group it changes in all controlling areas. I cannot restrict user's authorization to be able to change cost element groups only in their own controlling area.
    Is it possible somehow?
    Thanks for your help.

    Hi,
    Like how the global chart of accounts is at the client level, the cost element groups are also independent of the controlling areas.  Infact, the cost element groups are created at the global COA level. 
    In such a case, I don't think it is possible to restrict the authorizations to amend the cost element groups at controlling area level.
    Thanks and Regards,
    Bhuvaneswari.S

  • Cost Element Group - Track Changes?

    Hi - Is there any way of tracking changes made to Cost Element groups? Thx.

    Hello,
    Go to KAH2 and
    Select the cost element group
    Then
    Go to ==> Change documents
    This will give you the list of changes made to the cost element group.
    Regards,
    Ravi

  • I want to change Cost element group description

    hi
    i want to change the Cost element  group name is it possible if yes please provide me the details
    Moderator: If you really want, please do so... and avoid asking basic questions

    In transaction KAH2 you can change the description of a cost element group

  • How to created an cost element group structure from P&L FSV

    Hi All,
    My client has changed his financial statement version and I have to change the cost element group structure according to the new profit and lost structure of this new FSV.
    Do you know any transaction to do this automatically?. For example the creation of the sets' structure can be done by FSE5, is there any similar for cost element group structure?.
    Many thanks in advance!

    Hi NIketa
    Whats the detailed error message? Can you paste that here?
    Also, check the following, which may resolve your issue
    1. If you are settling to the Top most WBS, i.e. to the project itself, do not do that... Settle it to a lower level WBS, atleast one level lower than the project...
    2. Check if the status of that WBS is REL (released) and
    3. The flag for "acct asst elem." is checked in the WBS element
    Regards
    Ajay M

  • One report to check WBS and Asset number

    Hi All,
    Please advice. Is there any report to check WBS and asset number belong to ?
    Many thanks in advance.
    Nies

    Please let me know your exact requirement.
    But KOSRLIST_PR will show (if you have valid entries) the settlement receiver something like below with WBS element information and settlement details:
    WBS ISC/00002-1-02       RECEIVER WBS2-COMP 1000
    FXA 1000/700000132/0     RECEIVER WBS2-COMP 1000                   100.00  AUC        Act
    Regards
    Sreenivas

  • How to find cost element group linked to account number

    Hi all,
    I have following scenario.
    I have account number and i want to find out it's cost element group.
    In t-code KAH3 when i enter cost element group i get all the account number in that group.
    But the problem is that i have account number and i want to find out in which cost element group this
    account number belongs.
    Is there is any fuction module from which i can get cost element group from account number or from which table i can fetch cost element group depending upon the account number.
    Thanks in advance.
    sachin

    hi,
    check this function module.
    BAPI_COSTCENTERGROUP_GETDETAIL
    table - SETLEAF.

  • Delete Cost element group

    Hi Gurus,
    I would like delete a cost element group by KAH2. When I try to delete it, the program tells me that is being used in a report.
    I use the feature "Extras -> Where-Used list for group" to find the report in which I am using the cost element group.
    I go to modify the report painter by GRR2 to see in what line is using this cost element group, but I can`t find any line of the report, or in General options of this report, where is using this cost element group.
    It seems that the report is not using this cost element group, however I can not erase, because it always brings me to this report.
    Someone can help me?
    Thank you very much.

    Hi
    You  can remove the cost elements from Cost Element Group just select the cost element Group(Tcode:KAH2) then select the cost element that time the cost element becomes in red colour then right click on it & click on remove (F5).
    Then you can reassign the cost element if required
    Please check & confirm the same
    Hope this will solve your problem
    Regards
    Praveen PC

  • Cost Element group table

    Can anyone tell me which table contains the cost element groups and which cost elements are related to them

    Please.... Help!
    I want to write data there can fix it ....!
    ---------      I want to record this record in the edit field -----------------------
    code is:
    REPORT NO STANDARD PAGE HEADING LINE-SIZE 100 LINE-COUNT 60
                                    MESSAGE-ID zin.
    TYPE-POOLS: gset, gseth, slis, kkblo.
    TABLES: aufk.
    TYPES: BEGIN OF t_datam.
            INCLUDE STRUCTURE GRPOBJECTS.
    TYPES: END OF t_datam.
    DATA: it_datam TYPE STANDARD TABLE OF t_datam WITH HEADER LINE.
    DATA: gwa_datam TYPE t_datam,
          GRPOBJECTS TYPE t_datam.
    DATA: pt_node TYPE gseth_node_tab,           "Nodos
          pt_valu TYPE gseth_val_tab,            "Valores
          pt_mast TYPE gseth_md_tab.             "Descripciones
    DATA: ls_node LIKE LINE OF pt_node,
          ls_valu LIKE LINE OF pt_valu.
    DATA:
          p_layout     TYPE slis_layout_alv,              " Layout inicial
          t_sortcat    TYPE slis_sortinfo_alv OCCURS 1,   " Orden ALV
          t_fieldcat   TYPE slis_t_fieldcat_alv,          " Atributos a mostrar
          t_events     TYPE slis_t_event,                 " Lista de eventos
          t_top_page   TYPE slis_t_listheader,            " Write ini pagina
          w_sort       LIKE LINE OF t_sortcat.
    DATA: l_repid TYPE sy-repid.
    SELECTION-SCREEN BEGIN OF BLOCK b01 WITH FRAME TITLE text-b01.
    PARAMETERS:     p_kokrs LIKE aufk-kokrs       OBLIGATORY DEFAULT '300',
                    p_class LIKE setnode-setclass OBLIGATORY DEFAULT '0101',
                    p_subcl LIKE setnode-subclass DEFAULT '300',
                    p_setnm LIKE setnode-setname  OBLIGATORY DEFAULT '300MPR2'.
    SELECTION-SCREEN: END OF BLOCK b01.
    PARAMETERS:     p_expor NO-DISPLAY,
                    p_nivel NO-DISPLAY. "@01
    *Initialization
    INITIALIZATION.
      l_repid = sy-repid.
    START-OF-SELECTION.
       PERFORM 1pro_data.
    IF p_expor = 'X'.
        IF p_nivel = 'X'.                                       " @01
          EXPORT it_datam TO MEMORY ID 'T_DATAM'.
        ENDIF.
       ELSE.
        PERFORM 0_layout USING p_layout.
        PERFORM a_haz_alv.
        PERFORM c_haz_eventos CHANGING t_events.
        PERFORM d_call_alv.
      ENDIF.
    END-OF-SELECTION.
    FORM 1pro_data.
    PERFORM obt_jerarquia  USING  p_kokrs      "Sociedad         (intput)
                                   p_class      "Clase de set     (intput)
                                   p_subcl      "Subclase
                                   p_setnm.     "Nombre del set
    * LLenado de datos del master
      LOOP AT pt_node INTO ls_node.
        it_datam-shortname = ls_node-shortname.
        it_datam-hlevel = ls_node-hlevel.
        it_datam-descript = ls_node-descript.
        it_datam-credate = ls_node-credate. "Fecha creada
        it_datam-creuser = ls_node-creuser. "usuario creador
        it_datam-ref_set = ls_node-ref_set. "Email
        APPEND it_datam.
      ENDLOOP.
    sort it_datam by hlevel ascending.
    ENDFORM.
    FORM obt_jerarquia USING  pi_kokrs                      "Sociedad         (intput)
                              pi_class                      "Clase de set     (intput)
                              pi_subcl                      "Subclase         (intput)
                              pi_setnm.                     "Nombre de set    (intput)
      DATA:
        lf_info       LIKE grphinfo,
        lf_over       LIKE sy-datar,
        lf_class      LIKE sethier-setclass,
        lf_setid      LIKE sethier-setid,
        lf_kokrs      LIKE sethier-kokrs,
        lf_mandt      LIKE sy-mandt,
        lf_mast_datax LIKE grphp1,
        lf_structurex LIKE grphp2,
        lf_repl_class LIKE sethier-setclass,
        lf_repl_unitx LIKE sethier-kokrs,
        lf_repl_table LIKE sethier-fieldname,
        lf_repl_field LIKE sethier-tabname,
        lf_repl_suffi LIKE grpdynp-suffix,
        lf_nros_level LIKE sethier-level.
      DATA lf_strlen TYPE i.
    * Data
      lf_class = pi_class.
    *              CONCATENAMOS CLASE + SUBCLASE + NOMBRE DE GRUPO
    *Si hay subclase (Centro de beneficio, clase de costo, centro de costo)
      IF pi_subcl NE space.
    * Cargamos la clase de set con la subclase
        CONCATENATE lf_class pi_subcl INTO lf_setid.
        lf_strlen = STRLEN( pi_subcl ).
      ELSE.
    * Si no hay subclase (orden interna), cargamos solo la clase de set
        lf_setid  = lf_class.
        lf_strlen = 0.
      ENDIF.
    *Obtenemos cuántos espacios en blanco habrá entre la subclase y el nombre del set
      lf_strlen = 4 - lf_strlen.
      IF lf_strlen < 0. lf_strlen = 0. ENDIF.
      lf_strlen = 0.
    *Si es > 0 concatenamos caracter para ser reemplazado por espacio en blanco
      DO lf_strlen TIMES.
        CONCATENATE lf_setid '&' INTO lf_setid.
      ENDDO.
    *Cargamos nombre de set
      IF p_class = '0106' OR p_class = '0101'.
        CONCATENATE lf_setid '&' pi_setnm INTO lf_setid.
      ELSE.
        CONCATENATE lf_setid pi_setnm INTO lf_setid.
      ENDIF.
    *Reemplazamos & por espacios en blanco
      TRANSLATE lf_setid USING '& '.
      lf_kokrs         = pi_kokrs.
      lf_mandt         = '100'.
      lf_mast_datax    = '   '.   "Los espacios evita mensaje verificación de datos maestros
      lf_structurex    = 'X  X0200'.
      lf_repl_class    = ' '.
      lf_repl_unitx    = ' '.
      lf_repl_table    = ' '.
      lf_repl_field    = ' '.
      lf_repl_suffi    = ' '.
      lf_nros_level    = '1'.
      REFRESH: pt_node, pt_valu, pt_mast.
    *Obtiene lista de sub estaciones de la tabla objetos
      CALL FUNCTION 'K_HIERARCHY_TABLES_READ'
        EXPORTING
          e_class                     = lf_class
          e_setid                     = lf_setid
          e_kokrs                     = lf_kokrs
          e_mandt                     = lf_mandt
          e_master_data               = lf_mast_datax
          e_structure                 = lf_structurex
          e_replace_class             = lf_repl_class
          e_replace_unit              = lf_repl_unitx
          e_replace_table             = lf_repl_table
          e_replace_field             = lf_repl_field
          e_suffix                    = lf_repl_suffi
          e_old_line_level            = lf_nros_level
        TABLES
          t_nodes                     = pt_node         "Nodos
          t_values                    = pt_valu         "Valores
          t_master_data               = pt_mast         "Textos
        CHANGING
          c_info                      = lf_info
          c_overwrite                 = lf_over
        EXCEPTIONS
          no_controlling_area         = 1
          no_chart_of_account         = 2
          different_controlling_areas = 3
          different_chart_of_accounts = 4
          set_not_found               = 5
          illegal_field_replacement   = 6
          illegal_table_replacement   = 7
          fm_raise                    = 8
          convert_error               = 9
          no_overwrite_standard_hier  = 10
          no_bukrs_for_kokrs          = 11.
    ENDFORM. 
    FORM 0_layout USING ls_layout TYPE slis_layout_alv.
      CLEAR: ls_layout.
      ls_layout-zebra                 = ''.
      ls_layout-colwidth_optimize     = 'X'.
      ls_layout-box_fieldname         = space.
      ls_layout-no_input              = 'X'.
      ls_layout-no_vline              = ' '.
      ls_layout-no_colhead            = ' '.
      ls_layout-lights_condense       = 'X'.
      ls_layout-confirmation_prompt   = 'X'.
      ls_layout-detail_popup          = 'X'.
      ls_layout-detail_initial_lines  = 'X'.
      ls_layout-detail_titlebar       = 'Centro de Benef. vs Centro Costo'.
    ENDFORM.  
    FORM a_haz_alv.
      REFRESH: t_fieldcat.
      CLEAR:   t_fieldcat.
      PERFORM define_campo USING:
      'SHORTNAME' '' '' '25' 'GRPOBJECTS' '' '' 'ID Corto'       '' '' '' '' '',
      'HLEVEL' ''    '' '04' 'GRPOBJECTS' '' '' 'Nivel'          '' '' '' '' '',
      'DESCRIPT' '' ''  '35' 'GRPOBJECTS' '' '' 'Descripción'    '' '' '' '' '',
      'CREDATE' '' ''   '12' 'GRPOBJECTS' '' '' 'Fec.Creada'     '' '' '' '' '',
      'CREUSER' '' ''   '08' 'GRPOBJECTS' '' '' 'Usu.Creador'    '' '' '' '' 'X',
      'REF_SET' '' ''   '34' 'GRPOBJECTS' '' '' 'Correo E-mail asig.' 'Cor.Email' 'E-mail' '' '' 'X'.
    ENDFORM.
    FORM define_campo  USING fieldname        "Nombre de campo
                             emphasize        "Color
                             hotspot          "Evento click
                             outputlen        "Longitud
                             ref_tabname      "Tabla referencia
                             cfieldname       "Campo referencia
                             datatype         "Tipo de dato
                             seltext_l        "Texto largo
                             seltext_m        "Texto mediano
                             seltext_s        "Texto corto
                             do_sum           "Campo para suma
                             no_out           "No se visualiza
                             pi_edit  TYPE c. "Editar campos
      DATA: ls_fieldcat TYPE slis_fieldcat_alv.
      CLEAR ls_fieldcat.
      ls_fieldcat-fieldname   = fieldname.
      ls_fieldcat-tabname     = 'T_AUFK2'.
      ls_fieldcat-ref_tabname = ref_tabname.
      ls_fieldcat-outputlen   = outputlen.
      ls_fieldcat-emphasize   = emphasize.
      ls_fieldcat-hotspot     = hotspot.
      ls_fieldcat-cfieldname  = cfieldname.
      ls_fieldcat-datatype    = datatype.
      ls_fieldcat-seltext_l   = seltext_l.
      ls_fieldcat-seltext_m   = seltext_m.
      ls_fieldcat-seltext_s   = seltext_s.
      ls_fieldcat-do_sum      = do_sum.
      ls_fieldcat-no_out      = no_out.
      ls_fieldcat-edit        = pi_edit.
      APPEND ls_fieldcat TO t_fieldcat.
    ENDFORM.                    "define_campo
    FORM c_haz_eventos CHANGING lt_events TYPE slis_t_event.
      CONSTANTS:
        c_top_of_page  TYPE slis_formname VALUE 'TOP_OF_PAGE',
        c_end_of_page  TYPE slis_formname VALUE 'END_OF_PAGE',
        c_user_command TYPE slis_formname VALUE 'USER_COMMAND'.
      DATA: ls_event TYPE slis_alv_event.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
        EXPORTING
          i_list_type = 0
        IMPORTING
          et_events   = lt_events.
    * tope de pagina
      READ TABLE lt_events WITH KEY name =  slis_ev_top_of_page INTO ls_event.
      IF sy-subrc = 0.
        MOVE c_top_of_page TO ls_event-form.
        APPEND ls_event TO lt_events.
      ENDIF.
    * fin de pagina
      READ TABLE lt_events WITH KEY name =  slis_ev_top_of_page INTO ls_event.
      IF sy-subrc = 0.
        MOVE c_top_of_page TO ls_event-form.
        APPEND ls_event TO lt_events.
      ENDIF.
    * eventos de usuario
      READ TABLE lt_events WITH KEY name = slis_ev_user_command INTO ls_event.
      IF sy-subrc = 0.
        MOVE c_user_command TO ls_event-form.
        APPEND ls_event TO lt_events.
      ENDIF.
    ENDFORM.
    FORM d_call_alv.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          i_callback_program       = l_repid
          i_callback_pf_status_set = 'SET_STATUS'
          i_callback_user_command  = 'USER_COMMAND'
          is_layout                = p_layout
          it_fieldcat              = t_fieldcat[]
          i_save                   = 'X'
          it_sort                  = t_sortcat
    *   is_variant               = g_variant_1
        TABLES
          t_outtab                 = it_datam
        EXCEPTIONS
          program_error            = 1
          OTHERS                   = 2.
    ENDFORM. 
    FORM set_status USING rt_extab  TYPE  slis_t_extab.
      SET PF-STATUS  'ALV_STATUS'.
    ENDFORM.
    FORM user_command USING r_ucomm     LIKE sy-ucomm
                            r_selfield TYPE slis_selfield.
      PERFORM sr_upd_alv.
    DATA: wa_alv  LIKE it_datam.
    r_selfield-refresh = 'X'.
      CASE r_ucomm.
        WHEN 'SAVE'.
          LOOP AT it_datam INTO gwa_datam.
      "Here you should go, because I have not created anything but just reads the data helps.
          ENDLOOP.
    ENDFORM.

  • Table to check WBS-Network-Material assigned to this network

    Hi All,
    Plz advice. What table should i refer ,to check WBS element, network assigned to this WBS, and material assigned to this network.
    Thank you.
    Best Regards,
    Nies

    Hi Nies,
    Tables are as below:
    WBS elements - PRPS
    Network -CAUFV or AUFK - Pass the WBS element as PSPEL
    Material - RESB .
    Pass the reservation number into RESB. Obtain the reservation number from CAUFV table. You can pass WBSE ot Network number also. But RESB being a huge table, it is advisable to pass the key field "Reservation".
    Muraleedharan.R

Maybe you are looking for

  • OS X Lion vs Mountain lion

    Hi guys, I just wanted to ask which of the two is better for me. I have a 2012 13" macbook air 4gigs of RAM i5. I dont really play games here, even if I do, I just play light ones. I use internet, use microsoft office (school work) and thats almost i

  • 'Public' Flex Java API licensing

    Hi all, I would like to use the MessageBroker and AsyncMessage classes from Flex Java API to publish messages to a Flex destination from Java classes. The library with this API comes in the LiveCycle Data Services release but when i look at this API,

  • Escaped data to UTF-8, i.e. 「

    Hi everyone! I have a form that needs to be in ISO-8859-1 format, because the form data is inserted into a database that expects ISO-8859-1. At one point, I need to get the data out of the database and insert it into another database that accepts onl

  • Adobe Reader xi issues

    I tried upgrading adobe reader xi and i got a message saying that it has already been installed on my machine. However, when i go back to the embassy site it keeps telling me that i need to update my adobe reader, and gives me the link to upgrade. Wh

  • How to update Phoshop cs4 to cs5 when adobe updater is lost? Which module should I download for Mac OS X 10.6.8?

    Please let me know how to update Photoshop cs4 to cs5 or cs 6 when adobe updater is no longer available? platform Mac OS X version 10.6.8 Thank you. Regards