Maintain Hierarchy Using Programming in SAP MDG

Dear SAP MDG guru,
Can someone have an idea how to maintain/modify hierarchies in MDGF using a programming sequence?
we have a requirement where in cost center we have a field cost center group, after the cost center created, we build an exit program in workflow to attach/move cost center to the appropriate cost center group,
I already know how to maintain hierarchies using hierarchies processing menu, where we can remove or add cost center in cost center group, but i need to now what is the standard program/FM use to doing that,
anyone have an idea?
thanks

Hi,
there is no standard for that. You have to use collective processing.
Best regards
Michael

Similar Messages

  • How we can use help & maintain view in program

    hi Gurus,
           how we can use help & maintain view in program?
            is it able to use in program?
    thanks in advance,
    Regards,
    Arun.

    Hi
    maintain view can be used in program using the function module 'VIEW_GET_DATA'.
    and help view is for search help.
    check this link below.
    [http://help.sap.com/saphelp_nw2004s/helpdata/en/cf/21ecd2446011d189700000e8322d00/content.htm]
    Regards,
    Sakthi.

  • Downloaded my hierarchy using the program z_sap_hierarchy_download

    hi
    I want download downloaded my hierarchy using the program z_sap_hierarchy_download but I have any problem when I using idoc method, I have this message:
    Node [00001350, 00001580]: Leaf 'E010000000' already exists as child of node 00001501
    Best regard
    Francoise

    hi
    The problem is that 2 id differents has the same description.
    my program is:
    begin
    SAP Consulting BW Tools:
    Download hierarchy into a flat file. The file has the correct format
    Text elements:
    P_DATES Include from/to dates
    P_DATETO Valid-to date
    P_FNAME File name
    P_HIENM Hierarchy name
    P_INTER Include from/to leaves
    P_IOBJNM InfoObject
    P_LANGU Language
    P_VERS Hierarchy version
    REPORT z_sap_hierarchy_download.
    TYPE-POOLS: rs, rsdm, rrh1.
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
    PARAMETERS:
    p_iobjnm TYPE rsdiobjnm MEMORY ID rsc.
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME.
    PARAMETERS:
    p_hienm TYPE rshiedir-hienm,
    p_vers TYPE rshiedir-version,
    p_dateto TYPE rshiedir-dateto,
    p_langu TYPE rshiedirt-langu.
    SELECTION-SCREEN END OF BLOCK b2.
    SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME.
    PARAMETERS:
    p_fname LIKE rlgrap-filename,
    p_dates AS CHECKBOX DEFAULT 'X',
    p_inter AS CHECKBOX DEFAULT 'X'.
    SELECTION-SCREEN END OF BLOCK b3.
    File structure
    TYPES:
    No dates/intervals
    BEGIN OF y_s_hierfile_1,
    nodeid TYPE rshienodid,
    iobjnm TYPE rsiobjnm,
    nodename TYPE rsnodename,
    tlevel TYPE rstlevel,
    link TYPE rslink,
    parentid TYPE rsparent,
    childid TYPE rschild,
    nextid TYPE rsnext,
    langu TYPE langu,
    txtsh TYPE rstxtsh,
    txtmd TYPE rstxtmd,
    txtlg TYPE rstxtlg,
    END OF y_s_hierfile_1,
    y_t_hierfile_1 TYPE STANDARD TABLE OF y_s_hierfile_1,
    With dates
    BEGIN OF y_s_hierfile_2,
    nodeid TYPE rshienodid,
    iobjnm TYPE rsiobjnm,
    nodename TYPE rsnodename,
    tlevel TYPE rstlevel,
    link TYPE rslink,
    parentid TYPE rsparent,
    childid TYPE rschild,
    nextid TYPE rsnext,
    dateto TYPE rsdateto,
    datefrom TYPE rsdatefrom,
    langu TYPE langu,
    txtsh TYPE rstxtsh,
    txtmd TYPE rstxtmd,
    txtlg TYPE rstxtlg,
    END OF y_s_hierfile_2,
    y_t_hierfile_2 TYPE STANDARD TABLE OF y_s_hierfile_2,
    With intervals
    BEGIN OF y_s_hierfile_3,
    nodeid TYPE rshienodid,
    iobjnm TYPE rsiobjnm,
    nodename TYPE rsnodename,
    tlevel TYPE rstlevel,
    link TYPE rslink,
    parentid TYPE rsparent,
    childid TYPE rschild,
    nextid TYPE rsnext,
    leafto TYPE rsleafto,
    leaffrom TYPE rsleaffrom,
    langu TYPE langu,
    txtsh TYPE rstxtsh,
    txtmd TYPE rstxtmd,
    txtlg TYPE rstxtlg,
    END OF y_s_hierfile_3,
    y_t_hierfile_3 TYPE STANDARD TABLE OF y_s_hierfile_3,
    With dates/intervals
    BEGIN OF y_s_hierfile_4,
    nodeid TYPE rshienodid,
    iobjnm TYPE rsiobjnm,
    nodename TYPE rsnodename,
    tlevel TYPE rstlevel,
    link TYPE rslink,
    parentid TYPE rsparent,
    childid TYPE rschild,
    nextid TYPE rsnext,
    dateto TYPE rsdateto,
    datefrom TYPE rsdatefrom,
    leafto TYPE rsleafto,
    leaffrom TYPE rsleaffrom,
    langu TYPE langu,
    txtsh TYPE rstxtsh,
    txtmd TYPE rstxtmd,
    txtlg TYPE rstxtlg,END OF y_s_hierfile_4,
    y_t_hierfile_4 TYPE STANDARD TABLE OF y_s_hierfile_4.
    Hierarchy definition
    DATA:
    g_s_hiesel TYPE rsndi_s_hiesel,
    g_s_hiedir TYPE rsndi_s_hiedir,
    g_subrc TYPE sy-subrc,
    g_t_hiedirt TYPE TABLE OF rshiedirt,
    g_s_hierstruc TYPE rssh_s_htab,
    g_t_hierstruc TYPE TABLE OF rssh_s_htab,
    g_s_thiernode TYPE rsthiernode,
    g_t_thiernode TYPE TABLE OF rsthiernode WITH KEY langu hieid objvers
    nodename,
    g_s_hierintvl TYPE rssh_s_jtab,
    g_t_hierintvl TYPE TABLE OF rssh_s_jtab WITH KEY hieid objvers nodeid,
    g_s_message TYPE rsndi_s_message,
    g_t_message TYPE TABLE OF rsndi_s_message,
    g_s_chavlinfo TYPE rsdm_s_chavlinfo,
    g_t_chavlinfo TYPE rsdm_t_chavlinfo.
    File
    DATA:
    g_fname TYPE string,
    g_struct_s TYPE string,
    g_struct_t TYPE string,
    gr_s_file TYPE REF TO data,
    gr_t_file TYPE REF TO data.
    FIELD-SYMBOLS:
    <g_langu> TYPE ANY,
    <g_s_file> TYPE ANY,
    <g_t_file> TYPE STANDARD TABLE.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_iobjnm.
      CALL FUNCTION 'RSD_IOBJ_F4'
        EXPORTING
          i_show_cha    = rs_c_true
          i_objvers     = rs_c_objvers-active
          i_hietabfl    = rs_c_true
        CHANGING
          c_iobjnm      = p_iobjnm
        EXCEPTIONS
          illegal_input = 1.
      CHECK sy-subrc = 0.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_hienm.
      DATA:
      l_s_hiertxt TYPE rrh1_s_hiertxt,
      l_t_hiertxt TYPE rrh1_t_hiertxt.
      CALL FUNCTION 'RRH1_HIERARCHY_HELP_VALUES_GET'
        EXPORTING
          i_iobjnm          = p_iobjnm
          i_dateto          = p_dateto
          i_hienm           = p_hienm
          i_version         = p_vers
        IMPORTING
          e_t_hiertxt       = l_t_hiertxt
        EXCEPTIONS
          no_f4_available   = 1
          dialogue_canceled = 2
          OTHERS            = 3.
      CHECK sy-subrc = 0.
      READ TABLE l_t_hiertxt INTO l_s_hiertxt INDEX 1.
      CHECK NOT l_s_hiertxt IS INITIAL.
      p_hienm = l_s_hiertxt-hienm.
      DATA:
      l_s_dynpfields TYPE dynpread,
      l_t_dynpfields TYPE STANDARD TABLE OF dynpread.
      CLEAR: l_t_dynpfields, l_s_dynpfields.
      l_s_dynpfields-fieldname = 'P_VERS'.
      WRITE l_s_hiertxt-version TO l_s_dynpfields-fieldvalue.
      APPEND l_s_dynpfields TO l_t_dynpfields.
      l_s_dynpfields-fieldname = 'P_DATETO'.
      WRITE l_s_hiertxt-dateto TO l_s_dynpfields-fieldvalue.
      APPEND l_s_dynpfields TO l_t_dynpfields.
      CALL FUNCTION 'DYNP_VALUES_UPDATE'
        EXPORTING
          dyname     = sy-repid
          dynumb     = sy-dynnr
        TABLES
          dynpfields = l_t_dynpfields.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fname.
      DATA:
      l_filename1 TYPE string,
      l_filename2 TYPE string,
      l_path TYPE string,
      l_fullpath TYPE string,
      l_action TYPE i.
      l_filename1 = p_fname.
      CALL METHOD cl_gui_frontend_services=>file_save_dialog
      EXPORTING
      window_title = 'Select Download File'
      default_extension = 'txt'
      default_file_name = l_filename1
      file_filter = 'All Files (.)|.|Text files (.txt)|.txt'
      CHANGING
      filename = l_filename2
      path = l_path
      fullpath = l_fullpath
      user_action = l_action
      EXCEPTIONS
      cntl_error = 1
      OTHERS = 2.                                               "#EC NOTEXT
      CHECK sy-subrc = 0.
      CALL METHOD cl_gui_cfw=>flush.
      IF l_action = 0.
        p_fname = l_fullpath.
      ENDIF.
    INITIALIZATION.
      GET PARAMETER ID 'RSC' FIELD p_iobjnm.
    START-OF-SELECTION.
    Check input
      CHECK NOT p_fname IS INITIAL.
      IF p_langu IS INITIAL.
        p_langu = sy-langu.
      ENDIF.
      IF p_dateto IS INITIAL.
        p_dateto = '99991231'.
      ENDIF.
    Read hierarchy
      CLEAR g_s_hiesel.
      g_s_hiesel-objvers = rs_c_objvers-active.
      g_s_hiesel-hienm = p_hienm.
      g_s_hiesel-version = p_vers.
      g_s_hiesel-iobjnm = p_iobjnm.
      g_s_hiesel-dateto = p_dateto.
      CALL FUNCTION 'RSNDI_SHIE_STRUCTURE_GET'
        EXPORTING
          i_s_hiesel        = g_s_hiesel
          i_no_nodenm_table = rs_c_true
        IMPORTING
          e_s_hiedir        = g_s_hiedir
          e_subrc           = g_subrc
        TABLES
          e_t_hiedirt       = g_t_hiedirt
          e_t_hierstruc     = g_t_hierstruc
          e_t_thiernode     = g_t_thiernode
          e_t_hierintvl     = g_t_hierintvl
          e_t_message       = g_t_message.
      IF g_subrc <> 0.
        READ TABLE g_t_message INTO g_s_message INDEX 1.
        IF sy-subrc = 0.
          MESSAGE ID g_s_message-msgid TYPE 'I' NUMBER g_s_message-msgno
          WITH g_s_message-msgv1 g_s_message-msgv2
          g_s_message-msgv3 g_s_message-msgv4.
        ELSE.
          MESSAGE ID 'RSBO' TYPE 'I' NUMBER 899
          WITH 'Hierarchy read error'.
        ENDIF.
        EXIT.
      ENDIF.
    Defined output structures
      IF p_dates IS INITIAL AND p_inter IS INITIAL.
        g_struct_s = 'Y_S_HIERFILE_1'.
        g_struct_t = 'Y_T_HIERFILE_1'.
      ELSEIF p_dates = 'X' AND p_inter IS INITIAL.
        g_struct_s = 'Y_S_HIERFILE_2'.
        g_struct_t = 'Y_T_HIERFILE_2'.
      ELSEIF p_dates IS INITIAL AND p_inter = 'X'.
        g_struct_s = 'Y_S_HIERFILE_3'.
        g_struct_t = 'Y_T_HIERFILE_3'.
      ELSE.
        g_struct_s = 'Y_S_HIERFILE_4'.
        g_struct_t = 'Y_T_HIERFILE_4'.
      ENDIF.
      CREATE DATA gr_s_file TYPE (g_struct_s).
      ASSIGN gr_s_file->* TO <g_s_file>.
      CREATE DATA gr_t_file TYPE (g_struct_t).
      ASSIGN gr_t_file->* TO <g_t_file>.
    Nodes
      REFRESH <g_t_file>.
      LOOP AT g_t_hierstruc INTO g_s_hierstruc.
        CLEAR <g_s_file>.
        MOVE-CORRESPONDING g_s_hierstruc TO <g_s_file>.
    Texts for nodes
        READ TABLE g_t_thiernode INTO g_s_thiernode WITH TABLE KEY
        langu = p_langu
        hieid = g_s_hierstruc-hieid
        objvers = rs_c_objvers-active
        nodename = g_s_hierstruc-nodename.
        IF sy-subrc = 0.
          MOVE-CORRESPONDING g_s_thiernode TO <g_s_file>.
        ELSE.
    Texts for characteristic values
          REFRESH g_t_chavlinfo.
          CLEAR g_s_chavlinfo.
          g_s_chavlinfo-c_chavl = g_s_hierstruc-nodename.
          APPEND g_s_chavlinfo TO g_t_chavlinfo.
          CALL FUNCTION 'RSD_CHAVL_READ_ALL'
            EXPORTING
              i_iobjnm                  = g_s_hierstruc-iobjnm
              i_langu                   = p_langu
              i_dateto                  = p_dateto
              i_check_value             = space
              i_sid_in                  = space
              i_hieid                   = g_s_hiedir-hieid
              i_objvers                 = g_s_hiedir-objvers
            CHANGING
              c_t_chavlinfo             = g_t_chavlinfo
            EXCEPTIONS
              info_object_not_found     = 1
              routines_generation_error = 2
              check_table_not_existing  = 3
              text_table_not_existing   = 4
              OTHERS                    = 5.
          IF sy-subrc = 0.
            READ TABLE g_t_chavlinfo INTO g_s_chavlinfo INDEX 1.
            IF sy-subrc = 0.
              MOVE-CORRESPONDING g_s_chavlinfo-e_chatexts TO <g_s_file>.
              ASSIGN COMPONENT 'LANGU' OF STRUCTURE <g_s_file> TO <g_langu>.
              IF sy-subrc = 0.
                <g_langu> = p_langu.
              ENDIF.
            ENDIF.
          ENDIF.
        ENDIF.
    Intervals
        IF g_s_hierstruc-intervl = 'X' AND p_inter = 'X'.
          READ TABLE g_t_hierintvl INTO g_s_hierintvl WITH TABLE KEY
          hieid = g_s_hierstruc-hieid
          objvers = rs_c_objvers-active
          nodeid = g_s_hierstruc-nodeid.
          IF sy-subrc = 0.
            MOVE-CORRESPONDING g_s_hierintvl TO <g_s_file>.
          ENDIF.
        ENDIF.
        APPEND <g_s_file> TO <g_t_file>.
      ENDLOOP.
    Download output table
      g_fname = p_fname.
      CALL FUNCTION 'GUI_DOWNLOAD'
        EXPORTING
          filename                = g_fname
          write_field_separator   = space
        TABLES
          data_tab                = <g_t_file>
        EXCEPTIONS
          file_write_error        = 1
          no_batch                = 2
          gui_refuse_filetransfer = 3
          invalid_type            = 4
          no_authority            = 5
          unknown_error           = 6
          header_not_allowed      = 7
          separator_not_allowed   = 8
          filesize_not_allowed    = 9
          header_too_long         = 10
          dp_error_create         = 11
          dp_error_send           = 12
          dp_error_write          = 13
          unknown_dp_error        = 14
          access_denied           = 15
          dp_out_of_memory        = 16
          disk_full               = 17
          dp_timeout              = 18
          file_not_found          = 19
          dataprovider_exception  = 20
          control_flush_error     = 21
          OTHERS                  = 22.
      IF sy-subrc = 0.
        MESSAGE ID 'RSBO' TYPE 'I' NUMBER 899
        WITH 'Hierarchy download successful!'.
      ELSE.
        MESSAGE ID sy-msgid TYPE 'I' NUMBER sy-msgno
        WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    end

  • Creating SAP users using Program RHPROFL0

    Hi Experts,
    I want to create SAP users and assign authorisation using program RHPROFL0.
    Whenever I execute this program Generate new user field is greyed out. I can not select it to create users.
    I have already activated switch 'ORGPD' for Structural Authorisation check.
    Is there any additional setting/config I am missing.
    Pls help

    Hi, Syed!
    As I can see from the source code in my system, this field is grayed out according to the following rule:  "not a central system, no user generation".
    Thus, it is likely that your system is a child CUA system, so logins are supposed to be created by CUA.

  • Building Tree hierarchy Using nested loops and class cl_gui_column_tree

    Hello gurus,
    I want to create a tree report using custom container and class cl_gui_column_tree. I have read and understood the standard demo report which SAP has provided i.e. SAPCOLUMN_TREE_CONTROL_DEMO. But in this report all the levels nodes are created as constants and hardcoded. I want to create hierarchy using nested loops. For this i took one example of a hierarchy of VBAK-VBELN->VBAP-POSNR Like One sales order has many line items and each line item can have number of line items in billing plan.
    I have done some coding for it.
    FORM build_tree USING node_table TYPE treev_ntab
                                           item_table TYPE zitem_table.              " i created the zitem_table table type of mtreeitm in SE11.
      DATA: node TYPE treev_node,
                 item TYPE mtreeitm.
      node-node_key = root.
      CLEAR node-relatkey.
      CLEAR node-relatship.
      node-hidden = ' '.
      node-disabled = ' '.
      CLEAR node-n_image.
      CLEAR node-exp_image.
      node-isfolder = 'X'.
      node-expander = 'X'.
      APPEND node TO node_table.
      item-node_key = root.
      item-item_name = colm1.
      item-class = cl_gui_column_tree=>item_class_text.
      item-text = 'Root'.
      APPEND item TO item_table.
      item-node_key = root.
      item-item_name = colm2.
      item-class = cl_gui_column_tree=>item_class_text.
      item-text = 'Amount'.
      APPEND item TO item_table.
      LOOP AT it_vbeln INTO wa_vbeln.
        node-node_key = wa_vbeln-vbeln.
        node-relatkey = root.
        node-relatship = cl_gui_column_tree=>relat_last_child.
        node-hidden = ' '.
        node-disabled = ' '.
        CLEAR node-n_image.
        CLEAR node-exp_image.
        node-isfolder = 'X'.
        node-expander = 'X'.
        APPEND node TO node_table.
        item-node_key = wa_vbeln-vbeln.
        item-item_name = colm1.
        item-class = cl_gui_column_tree=>item_class_text.
        item-text = wa_vbeln-vbeln.
        APPEND item TO item_table.
        item-node_key = wa_vbeln-vbeln.
        item-item_name = colm2.
        item-class = cl_gui_column_tree=>item_class_text.
        item-text = wa_vbeln-netwr.
        APPEND item TO item_table.
        LOOP AT it_posnr INTO wa_posnr.
        node-node_key = wa_posnr-posnr.
        node-relatkey = wa_vbeln-vbeln.
        node-relatship = cl_gui_column_tree=>relat_last_child.
        node-hidden = ' '.
        node-disabled = ' '.
        CLEAR node-n_image.
        CLEAR node-exp_image.
        node-isfolder = ' '.
        node-expander = ' '.
        APPEND node TO node_table.
        item-node_key = wa_posnr-posnr.
        item-item_name = colm1.
        item-class = cl_gui_column_tree=>item_class_text.
        item-text = wa_posnr-posnr.
        APPEND item TO item_table.
        item-node_key = wa_posnr-posnr.
        item-item_name = colm2.
        item-class = cl_gui_column_tree=>item_class_text.
        item-text = wa_posnr-netpr.
        APPEND item TO item_table.
        ENDLOOP.
      ENDLOOP.
    ENDFORM.
    Now this program compiles fine and runs till there is only one level. That is root->vbeln. But when i add one more loop of it_posnr it gives me runtime error of message type 'X'. The problem i found was uniqueness of item-item_name as all the sales order have posnr = 0010. What could be done? I tried giving item_name unique hierarchy level using counters just like stufe field in prps eg. 10.10.10, 10.10.20,10.20.10,10.20.20,20.10.10 etc.. etc.. but still i am getting runtime error when i add one more hierarchy using nested loop. Plz guide.
    Edited by: Yayati6260 on Jul 14, 2011 7:25 AM

    Hello all,
    Thanks the issue is solved. The node key was not getting a unique identification as nodekey. I resolved the issue by generating unique identification for each level. Thanks all,
    Regards
    Yayati Ekbote

  • ALV Tree Hierarchy using OOPS

    Hi all,
    I have developed a program for ALV Tree Hierarchy using OOPs.I followed the SAP demo program.I am not able to get the values in the output.Please can anyone guide me where to correct my program. I am placing the entire code so that you all can also debug and see what is wrong.
    *& Report  ZZHIERARCHY_TEST1
    REPORT  zzhierarchy_test1.
    DATA : alv_container TYPE REF TO cl_gui_custom_container,
           alv_tree      TYPE REF TO cl_gui_alv_tree,
           gt_fcat          TYPE lvc_t_fcat,
           gt_vbrk TYPE vbrk OCCURS 0.                             "Output Table
    DATA : gs_hirarchy_header TYPE treev_hhdr.
    START-OF-SELECTION.
    END-OF-SELECTION.
      CALL SCREEN 9100.
    *&      Module  STATUS_9100  OUTPUT
    MODULE status_9100 OUTPUT.
      SET PF-STATUS 'ALV_TREE'.
      IF alv_container IS INITIAL.
        PERFORM tree_dev.
      ENDIF.
    ENDMODULE.                 " STATUS_9100  OUTPUT
    *&      Form  tree_dev
          text
    FORM tree_dev .
      DATA lv_container_name(20) TYPE c.
      lv_container_name = 'ALV_TREE'.
      CREATE OBJECT alv_container
        EXPORTING
          container_name              = lv_container_name
        EXCEPTIONS
          cntl_error                  = 1
          cntl_system_error           = 2
          create_error                = 3
          lifetime_error              = 4
          lifetime_dynpro_dynpro_link = 5
          OTHERS                      = 6.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                   WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
      CREATE OBJECT alv_tree
        EXPORTING
          parent                      = alv_container
          node_selection_mode         = cl_gui_column_tree=>node_sel_mode_single
          item_selection              = 'X'
          no_toolbar                  = ''
          no_html_header              = 'X'
        EXCEPTIONS
          cntl_error                  = 1
          cntl_system_error           = 2
          create_error                = 3
          lifetime_error              = 4
          illegal_node_selection_mode = 5
          failed                      = 6
          illegal_column_name         = 7
          OTHERS                      = 8.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                   WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
      PERFORM build_hirarchy_header CHANGING gs_hirarchy_header.
      PERFORM buid_fieldcatalog.
      CALL METHOD alv_tree->set_table_for_first_display
        EXPORTING
          is_hierarchy_header = gs_hirarchy_header
        CHANGING
          it_outtab           = gt_vbrk               "Table Must be Empty
          it_fieldcatalog     = gt_fcat.
      PERFORM create_hierarchy.
      CALL METHOD alv_tree->frontend_update.
    ENDFORM.                    " tree_dev
    *&      Form  build_hirarchy_header
         <--P_GS_HIRARCHY_HEADER  text
    FORM build_hirarchy_header  CHANGING p_gs_hirarchy_header TYPE treev_hhdr.
      p_gs_hirarchy_header-heading   =  'Company Code'(001).
      p_gs_hirarchy_header-tooltip   =  'Comapny Code'(002).
      p_gs_hirarchy_header-width     =   35.
      p_gs_hirarchy_header-width_pix =   ''.
    ENDFORM.                    " build_hirarchy_header
    *&      Form  buid_fieldcatalog
    FORM buid_fieldcatalog .
      DATA ls_fcat TYPE lvc_s_fcat.
      CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
       EXPORTING
         i_structure_name             = 'VBRK'
        CHANGING
          ct_fieldcat                  = gt_fcat
       EXCEPTIONS
         inconsistent_interface       = 1
         program_error                = 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.
      LOOP AT gt_fcat INTO ls_fcat.
        CASE ls_fcat-fieldname.
          WHEN 'NETWR'.
            ls_fcat-do_sum = 'X'.
            ls_fcat-h_ftype = 'MAX'.
        ENDCASE.
        MODIFY gt_fcat FROM ls_fcat.
      ENDLOOP.
    ENDFORM.                    " buid_fieldcatalog
    *&      Form  create_hierarchy
    FORM create_hierarchy .
      DATA : lt_vbrk TYPE TABLE OF vbrk,
             ls_vbrk TYPE vbrk.
      DATA : top_key     TYPE lvc_nkey,
             company_key TYPE lvc_nkey,
             bzirk_key   TYPE lvc_nkey.
      DATA : lv_bukrs     TYPE bukrs,
             lv_bukrs_prv TYPE bukrs,
             lv_bzirk     TYPE bzirk,
             lv_bzirk_prv TYPE bzirk.
      SELECT * FROM vbrk INTO TABLE lt_vbrk UP TO 500 ROWS.
      SORT lt_vbrk BY bukrs .
      CALL METHOD alv_tree->add_node
        EXPORTING
          i_relat_node_key     = ''
          i_relationship       = cl_gui_column_tree=>relat_last_child
          i_node_text          = 'Company Code'
        IMPORTING
          e_new_node_key       = top_key
        EXCEPTIONS
          relat_node_not_found = 1
          node_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.
      LOOP AT lt_vbrk INTO ls_vbrk.
        lv_bukrs = ls_vbrk-bukrs .
        lv_bzirk = ls_vbrk-bzirk .
        IF lv_bukrs <> lv_bukrs_prv.
          lv_bukrs_prv =  lv_bukrs.
          PERFORM add_node USING lv_bukrs
                                 top_key
                        CHANGING company_key.
        ENDIF.
        IF lv_bzirk <> lv_bzirk_prv.
          lv_bzirk_prv = lv_bzirk.
          PERFORM add_posnr USING lv_bzirk
                                  company_key
                         CHANGING bzirk_key.
        ENDIF.
      ENDLOOP.
    ENDFORM.                    " create_hierarchy
    *&      Form  add_node
         -->P_LV_BUKRS  text
         -->P_TOP_KEY  text
         <--P_COMPANY_KEY  text
    FORM add_node  USING    p_lv_bukrs    TYPE bukrs
                            p_top_key     TYPE lvc_nkey
                   CHANGING p_company_key TYPE lvc_nkey .
      DATA: l_node_text TYPE lvc_value,
            ls_vbrk TYPE vbrk.
      l_node_text = 'Company' .
      CALL METHOD alv_tree->add_node
        EXPORTING
          i_relat_node_key     = p_top_key
          i_relationship       = cl_gui_column_tree=>relat_last_child
          is_outtab_line       = ls_vbrk
          i_node_text          = l_node_text
        IMPORTING
          e_new_node_key       = p_company_key
        EXCEPTIONS
          relat_node_not_found = 1
          node_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.
    ENDFORM.                    " add_node
    *&      Form  add_posnr
          text
         -->P_LV_POSNR  text
         -->P_COMPANY_KEY  text
         <--P_POSNR_KEY  text
    FORM add_posnr  USING    p_lv_bzirk    TYPE bzirk
                             p_company_key TYPE lvc_nkey
                    CHANGING p_bzirk_key   TYPE lvc_nkey.
      DATA ls_vbrk TYPE vbrk.
      CALL METHOD alv_tree->add_node
        EXPORTING
          i_relat_node_key     = p_company_key
          i_relationship       = cl_gui_column_tree=>relat_last_child
          is_outtab_line       = ls_vbrk
          i_node_text          = 'Sales District'
        IMPORTING
          e_new_node_key       = p_bzirk_key
        EXCEPTIONS
          relat_node_not_found = 1
          node_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.
    ENDFORM.                    " add_posnr
    *&      Module  USER_COMMAND_9100  INPUT
    MODULE user_command_9100 INPUT.
      CASE sy-ucomm.
        WHEN 'BACK' OR 'EXIT' OR 'CANCEL'.
      CALL METHOD alv_container->free.
      LEAVE PROGRAM.
      ENDCASE.
    ENDMODULE.                 " USER_COMMAND_9100  INPUT

    Check this forum there are many threads on this.

  • Hierarchies in SAP MDG data model

    Hello Gurus,
    Could any one please let me know how to create hierarchies in SAP MDG Data models..I have gone though the SAP Help document and but couldn't understand it..If any one has worked on this , please let me know.
    Regards,
    Raghu.

    Hi Jose,
    I'll start with simple hierarchy demo containing HIERARCHY NAME, GROUP and OBJECT.[HIERARCHY NAME is the top node, GROUP is the middle node and OBJECT is the end node]
    1.In data model, you have to create all the as 3 entity types.
    2.In the middle node,i.e. GROUP here, choose the hierarchy option as version dependent or Non-version dependent as per your requirement.
    3.In the middlle node,i.e. GROUP here, build hierarchy by assigning
    Entity Type for hierarchies ->Entity Type of Node , Use
    Here the top node,i.e. HIERARCHY NAME ,will be assigned use as Hierarchy names
    You can find related documentation by using F1 help on specific field.
    4.Your hierarchy model is now ready.
    Regards,
    Vkanc9

  • Upload hierarchy using flatfile

    Hi,
    I need to upload the HR hierarchy from PeopleSoft. PeopleSoft delivers the hierarchy as a flatfile, but not in the BW structure.
    The file is delivered as follows:
    Level1              Level2             Level3             Level4              Level5  
    NCC_002100   NCC_002101   NCC_002102   NCC_002103   NCC_002104
    NCC_002100   NCC_002101   NCC_002102   NCC_002103   NCC_002105
    NCC_002100   NCC_002200   NCC_002202   NCC_002203   NCC_002204
    NCC_002100   NCC_002200   NCC_002210   NCC_002211   NCC_002212
    NCC_002100   NCC_002200   NCC_002210   NCC_002211   NCC_002213
    NCC_002100   NCC_002300   NCC_002310   NCC_002311   NCC_002312
    How can I get this into the right BW structure for a Hierarchy upload.
    Thanks.
    Regards,
    Paul

    Hello,
    Please go through the following links : http://help.sap.com/saphelp_nw70ehp1/helpdata/en/0e/fd4e3c97f6bb3ee10000000a114084/frameset.htm http://help.sap.com/saphelp_nw70/helpdata/en/b0/ab8e3cb4340b14e10000000a114084/content.htm Pls refer the following link, it will explain step by step with screen. /people/prakash.bagali/blog/2006/02/07/hierarchy-upload-from-flat-files Procedure to create Hierarchies: 1. In the Data Warehousing Workbench under Modeling, choose the InfoObject tree. 2. If you have assigned the hierarchy basic characteristic to an InfoObject catalog, select the corresponding InfoObject catalog for an InfoArea. If the hierarchy basic characteristic does not belong to an InfoObject catalog, choose the InfoArea Non-Assigned Nodes and the InfoObject Catalog Non-Assigned Characteristics. 3. Select the characteristic for which you want to create a hierarchy and choose Create Hierarchy from the context menu. The Create Hierarchy dialog box appears. The InfoObject name appears by default. 4. Enter a hierarchy name and description (short, medium, long). Other fields may be displayed, depending on which hierarchy properties were selected for the hierarchy basic characteristics Fields used to enter the Validity (valid to, valid from) for the hierarchy property Total Hierarchy Time-Dependent Fields used to specify the Hierarchy Version for the hierarchy property Hierarchies Version-Dependent. 5. Confirm your entries. The Maintain Hierarchy screen appears. You can define the structure of a hierarchy here. 6. To create a hierarchy node, you first need to choose an insertion mode: Insert as First Child or Insert As Next Neighbor (see Hierarchy Editing Functions). 7. Choose the type of node you want to create: Text Node, Characteristic Node, or Interval (see Hierarchy Nodes) 8. Repeat this procedure until the hierarchy structure has been set. For more information, see Modeling Nodes and Leaves. A hierarchy can contain 50,000-100,000 leaves at most. If your hierarchy is larger, you should insert a level that is used as a navigation attribute or preferably as a separate characteristic in the dimension table. 9. You can use Level Maintenance and Hierarchy Attributes to set how the hierarchy is to be displayed and processed in reporting (see Level Maintenance and Hierarchy Attributes). 10. Save the hierarchy. 11. Activate the hierarchy. See Editing Hierarchies. For more info http://help.sap.com/saphelp_nw70/helpdata/EN/80/1a6736e07211d2acb80000e829fbfe/content.htm http://help.sap.com/saphelp_nw70/helpdata/EN/e6/951d102a6c11d5b2e40050da4c74dc/content.htm http://help.sap.com/saphelp_nw04/helpdata/en/3d/320e3d89195c59e10000000a114084/frameset.htm Thanks. With regards, Anand Kumar Edited by: kur5rt on Oct 13, 2009 10:47 AM Edited by: kur5rt on Oct 13, 2009 10:49 AM

  • Direct Input Programs in SAP

    Hi,
    Can anybody provide me the list of Direct Input programs available in SAP.
    Thanks,
    Sunil.

    hI,
    Direct Input:
    A recent technique to input data safely. An alternative to batch input.
    With direct input, the SAP function modules execute the consistency checks. However with batch input, these consistency checks are executed with help of the screens. This means that direct input has considerable performance advantages. But there are a few programs for direct input, you can use them if it accomplishes your goal. Direct Input programs work like that they update database tables directly. As you know that it is forbidden to update SAP database tables directly, since consistency and security should be considered. Exceptions are these direct input programs. So you are not able to write custom ABAP direct input programs. But of course you can write ABAP programs to update custom database tables (Z tables), if you are sure all about consistency.
    SAP has created direct input programs because SAP wanted to enhance the batch input procedure, since batch input is slower. SAP offers the direct input technique, especially for transferring large amount of data. In contrast to batch input, this technique does not create sessions, but stores, updates, inserts data directly. To enter the data into the corresponding database tables directly, the system calls a number of function modules that execute any necessary checks. In case of errors, the direct input technique provides a restart mechanism. However, to able to activate the restart mechanism, direct input programs must be executed in the background only. To maintain and start these programs, use program RBMVSHOW or transaction BMV0.
    Examples for direct input programs are:
    RFBIBL00 - FI
    RMDATIND - MM
    RVAFSS00 - SD
    RAALTD11 - AM
    RKEVEXTO - CO-PA
    Regards
    Kiran Sure

  • BAPI_PROJECT_MAINTAIN : Maintain Hierarchy

    Hi ,
    If anybody used above mentioned bapi and created program for hierarchy maintenance, Please send me code.
    I will be creating program and is tough to maintain hierarchy logic for certain scenarios.
    I have below scenario for reference:
    WBS_ELEMENT              PROJECT_DEFINITION  
    GTRAIN1                  PD-GTRAIN           
    GTRAIN1.1                PD-GTRAIN           
    GTRAIN1.2                PD-GTRAIN           
    GTRAIN1.1-001            PD-GTRAIN           
    GTRAIN1.1-002            PD-GTRAIN           
    GTRAIN1.1-003            PD-GTRAIN           
    GTRAIN1.2-001            PD-GTRAIN           
    GTRAIN1.2-002            PD-GTRAIN           
    GTRAIN1.2-003            PD-GTRAIN           
    GTRAIN1.2-004            PD-GTRAIN           
    awaiting for help at earliest
    Regards
    Manish

    Hi,
    Try to use
      CALL FUNCTION 'BAPI_PROJECT_GETINFO'
        EXPORTING
          PROJECT_DEFINITION        = PROJECT_DEFINITION-PROJECT_DEFINITION
        IMPORTING
          RETURN                    = RETURN
        TABLES
          E_WBS_HIERARCHIE_TABLE    = WBS_HIERARCHIE_TABLE.
    in order to obtain hierarchy from already existing project. Then you can look at WBS_HIERARCHIE_TABLE to see how to create your own hierarchy...
    Krzys

  • Crystal report using ABAP from SAP ECC6.0 EHP 3.0

    Hi Gurus,
    Can i create crystal report using ABAP in SAP ECC 6.0 EHP 3 . as i am not able to see this link in SPRO.
    IMG > SAP NetWeaver > Application Server > SAP List Viewer > Maintain SAP GUI Specific Settings.
    Kindly guide me urgently.

    http://help.sap.com/saphelp_slc/helpdata/en/27/c9ee1951fc4fb9ac322ac7e6fa7372/content.htm
    If I understood your question correctly.
    Have a look in the link above.
    It is possible to use Crystal Reports from ALV.
    Tammy Powlas also has some good guides on how to do this.
    The ABAP however is not covered that much.
    Best Regards
    Ingrid

  • Purpose of RSTXTRAN program for SAP-Script ?? ??

    Purpose of RSTXTRAN program for SAP-Script ?? ??
    when it is required to run that program ?

    Hi sarit,
    Purpose of RSTXTRAN program for SAP-Script Transfer of SAP script Texts to a Correction.
    The report RSTXTRAN allows a set of SAP script texts (or the text key) to be transferred to a correction or repair of the transport system. The name of the correction/repair can either be transferred as a report parameter, or the correction/repair can be selected later in a selection window. The text key can be qualified generically using the asterisk character (*).
    When the report has been executed, the list of selected texts appears. Individual texts can be deselected in this list. When the function "Continue" is executed, the final list of texts which are to be transferred is displayed. The transfer of texts to the correction/repair can now be activated by the appropriate function, and must be confirmed in a dialog box.The requirements for this as follows.
    There is a correction/repair in which the selected text keys can be entered, if it is not being processed. The report can only insert text keys in corrections or repairs, not however in transport requests. However, the objects contained in a correction can be transferred to a transport request with the correction and transport system transaction.
    It should also be noted that the report selects texts in the current client, but that the transport system generally exports texts from client 000.
    When the report has been executed,the output can be a list of the selected texts. Information about whether transfer to the correction/repair was possible is displayed for each text key.
    Reasons for failed transfer include
    o the correction/repair is currently being processed
    o the correction/repair does not exist
    For Example
    All German standard texts with the ID ST, whose names begin with SAPSCRIPT, are to be entered in the correction B20K009999. The report parameters are then assigned values as follows:
    o Correction: B20K009999
    o Text object: TEXT
    o Text name: SAPSCRIPT*
    Thanks,
    Usha

  • JCO.Server Error while trying to execute a RFC program from SAP

    Hi,
    We are connecting to an external registered server program from SAP via Web Methods.
    The external server program is registered with the SAP Gateway. We have created a TCP/IP RFC destination and are able to connect to the destination successfully via SM59.
    An RFC function is created in SAP and is called using the syntax CALL FUNCTION "/NGN/BAPI_STRE_SEARCH_PROCESS" DESTINATION 'PRDB2B'. We have also handled the COMM_FALIURE and SYSTEM_FALIURE exceptions in the function call.
    We are monitoring the gateway via SMGW and see a connection log to the RFC destination as below
    Number - 10
    LUname - dev01
    TPName - sapgw00
    User - KRAORANE
    Status - CONNECTED
    Symbolic - PRDB2B
    Conversation - 86520353
    Prot - REG
    SAP return code - 0
    CPIC rtn code - 0
    The external program returns results as expected.
    However sometimes the RFC fails and returns the message “JCO.Server could not create server function /NGN/BAPI_STRE_SEARCH_PROCESS”.
    We are not able to figure what exactly is causing this error. Any help will be highly appreciated.
    -Kiran

    Hi,
    Please see the below links..
    JCO.Server Error while trying to execute a RFC program from SAP
    Re: JCO.Servcer could not find server function
    Re: JCO.Server could not find server function 'SET_SLD_DATA'
    /people/kathirvel.balakrishnan2/blog/2005/07/26/remote-enable-your-rfchosttoip-to-return-host-ip-to-jco
    Re: interfacing SAP with an existing java applications
    http://help.sap.com/saphelp_nw04/helpdata/en/47/80f671ee6e4b41b63c0fe46bd6e4f8/content.htm
    http://www.sapgenie.com/faq/jco.htm
    Regards
    Chilla..

  • How to know where the user exits or enhancement used in standard sap code?

    Hi
    I m pretty new to abap.
    How can I know where the user exits or enhancement used in standard sap code?
    As i have to add some functionality to the standard sap code. I m looking to search the enhancement or user exits used in this standard code wher i can add my functionality.
    thanks in advance.
    Moderator message : Search for available information, thread locked.
    Edited by: Vinod Kumar on Oct 19, 2011 2:38 PM

    Hi Henry,
    I don't think this is the easiest way to look at the code around a particular field on the screen. Debugging standard programs also can be very tedious, if not impossbile. So, instead of this question, I would like to find out exactly what you want to do if you know the code.
    If you are in a transaction and you want to know where the code of a particular field is, the fastest way to get to it is by pressing the F1 key on the field and then press the Technical info button on the help screen. In here you will typically see the same kind of information but it is very specific to the field you selected.
    PROGRAM(SCREEN) tells you which program is manipulating the main screen, in which your field is embedded. Remember your field may be included in a sub-screen and that subscreen may be the one included in the main screen.
    PROGRAM(SUB SCREEN) tells you which program is directly responsible for the field on the subscreen it is included in. This is where you should find the code most appropriate for the field, but not necessarily.
    PROGRAM(GUI) controls how your push buttons and the menu options in the screen behave and controlled.
    Srinivas

  • How to retrieve data from a function module and use it in sap script??

    I have a report program, which calls a function module. This function module internally calls an include program. In this program, I have a variable which is to be used in the sap script. How can I send this variable to the sap script

    Hi,
    In your case, Include prog is part of FM, no need to treat it as an Entity.
    Now, Your Answer -
    In SCRIPT - IN Page Window -->
         PERFORM GET_MVAT_TIN IN PROGRAM Z_SCRIPT_PERFORMS_ABAPDB3
         USING &VBDKR-KUNRE&
         CHANGING &STCD1&
         CHANGING &STCD2&
         ENDPERFORM
         IF &STCD1& <> ' '
         <B>MVAT Number :</> &STCD1&
         ENDIF
    Then go to SE38 --> Creat prog with type - Subroutine pool
    In that Write FORM statement for this PERFORM.
    FORM get_mvat_tin TABLES inttab STRUCTURE itcsy
                             outtab STRUCTURE itcsy.
      DATA : v_kunre TYPE kna1-kunnr,
             v_stcd1 TYPE kna1-stcd1,
             v_stcd2 TYPE kna1-stcd2.
      LOOP AT outtab.
        CLEAR outtab-value.
        MODIFY outtab.
      ENDLOOP.
      READ TABLE inttab INDEX 1.
      v_kunre = inttab-value.
      IF v_kunre CA sy-abcde.
      ELSE.
        UNPACK v_kunre TO v_kunre.
      ENDIF.
       " Here You can take your Funcion module ***************************
      SELECT SINGLE stcd1 stcd2 FROM kna1 INTO (v_stcd1, v_stcd2)
                                         WHERE kunnr = v_kunre.
      IF sy-subrc = 0.
        READ TABLE outtab INDEX 1.
        WRITE v_stcd1 TO outtab-value.
        MODIFY outtab INDEX 1.
        READ TABLE outtab INDEX 2.
        WRITE v_stcd2 TO outtab-value.
        MODIFY outtab INDEX 2.
      ENDIF.
    ENDFORM.                                

Maybe you are looking for

  • Browse and attach code in JSP

    hi everyone, in my jsp i have to implement a functionality where user clicks browse button and selects a file and then attaches it .. how do i implement it ... are there any ready made functions

  • How do I change the order of pages in a multi page document

    I used to be able to change the order of separate pages in thumbnail view, but can no longer do this in the current Pages.  How do I do this? I am writing a book and need to be able to move pages around at will.

  • Substitution in MIRO

    Hi Guys, when I enter MIRO the terms of payment(BSEG-ZTERM) are taken from Purchase Order and instead I want that they are taken by Vendor master data. Can I do this with a substitution,if yes how can you descrbe the principals steps? Thanks in advan

  • How to create a playlist in a apsx page

    Hi. I have an aspx page that play a swf movie. I need to automatically play several swf in loop. How can I do that? I set the name of file in this way: quote: <param name="movie" value="filename.swf" /> Can i set multiple name in this way? Thanks

  • Header and Trailer updating the same record

    Hi all I have a requirement in SQL loader in which the header should go to a header_trailer table. ( only 5 out of 10 columns are updated by the header record). All the data records go to a second table.( some xyz table) The trailer record should aga