Preserving Folder Tree Hierarchy using Export Plugins in 2.0

Hi Folks,
I've been trying to find a plugin that will allow me to select a top level folder and then export all images preserving the folders / subfolders.
i.e. Select 2008 and end up with export of all images in appropriate sub folders:
2008\beach shoot
2008\weekend shots
2008\wooded area
Anyone know if this is possible on 2.0 either natively or using a plugin ?
Thanks
Adam.
[email protected]

http://www.lightroomforums.net/showthread.php?t=2810
Here is a solution.

Similar Messages

  • Error when moving Exchange Public Folder Tree Hierarchy

    Hello,
    I am during the transition from Exchange 2003 to 2007.
    At the end of migrating Exchange 2003 to Exchange 2007 I have moved all the mailboxes, Public and System Folders have been replicated and moved, Mailbox Store and Public Store had been removed, Routing Connectors removed ...
    I then created new Public Folder Container in Exchange Administrative Group (FYDIBOHF23SPDLT) and I attempted to drag and drop the Public Folder Tree Hierarchy from old Administrative Group to Exchange Administrative Group using ESM 2003.
    During this I got the following error:
    Access Denied.
    Facility: LDAP Provider
    ID no: 8007005
    Exchange System Manager
    Every public and system folders works fine (replicated to Exchange 2007), but the Public Folder Hierarchy is still on Exchange 2003.
    Anyone has any idea how to continue decommission of Exchange 2003?
    Regards,
    Jacek

    As I wrote before, when I tried to drag and drop the Public Folder Tree Hierarchy, I used account which had delegated Exchange Full Administrator role in Exchange 2003 and was also member of Enterprise Admins / Domain Admins in AD and Exchange Organization
    Administrators in Exchange 2007. According to Sembee suggestion, it is more than needed ...
    I think about manual deleting Public Folder Tree Hierarchy object from old Administrative Group (using ADSIEdit) and then recreating the new one in Exchange Administrative Group - using the following steps:
    http://blog.bruteforcetech.com/archives/766
    But I'm not sure if System Folders will be accessible then. There are many Outlook 2003 in organization, so "old" OAB access is necessary ...
    I can take report of permissions for the problematic Public Folder Tree Hierarchy object using dsacls.exe, if needed (there are many ACEs in DACL on them). I can also check Effective Permission for user I used for moving.
    But in both cases, I don't have any reference. I mean correct permission set for such object or necessary permission set for user used for moving.
    Regards,
    Jacek
    MCT, MCITP, MCTS, MCSE+M, MCSA+M

  • 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.

  • 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

  • Import Not Finding All Files in Folder Tree (which files were missed?)

    I'm a new LR4.1 user running on a 15" Macbook Pro (OS X 10.7.4).
    I exported my Aperture Library masters: mostly NEF files from Nikon D100, D200, D300, D800 cameras, and also JPG, TIF, and PSD files, etc.
    Aperture reported this export count: 
    51285 of 50582 (don't ask me why it exported more than it thought it had!).
    After export, I used "find" (case-insensitive) in the output directory tree to count all NEF, TIF[F], PSD, PNG, JPG, GIF, AVI, and MOV files spit out by Aperture: I found 51277 such files (pretty close to the Aperture export count, although not exactly the same).
    However when I point Lightroom to that folder tree with the exported Aperture masters, an IMPORT operation only reports 44279 photos for import (at lower left of expanded import dialog). About 7,000 less than Aperture exported! I have "Include Subfolders" checked and "Don't Import Suspected Duplicates" unchecked in the LR import dialog. Also, I am using the "ADD" option in the import dialog.
    How can I figure out which files Lightroom is missing? (I haven't actually imported anything yet due to the discrepancy.)
    I can't see how the discrepancy could be so large. I think LR should support most of my Aperture-supported files.
    I see LR doesn't support 32 bit files, but I don't see how I could have 7K files (maybe some, but I don't think 7k!) (I will check this later, am installing Xcode and ImageMagick to check the count of 32 bit deep files).
    If anyone can offer ideas on how I can find the missed files, it would be appreciated.
    (Maybe if I proceed with the import and there is some way to export a text file listing of library files, then I could process that file vs. the actual files in the directory tree to deduce the problem issues.)
    Regards,
    Colin

    randomenemy wrote:
    Also, interesting you say 32 bit files are supported:
    on the following Adobe page, it says they are not supported:
    http://help.adobe.com/en_US/lightroom/using/WS42D207D7-B290-4baa-A896- AB71965BF24B.html
    -Colin
    LR4.1 Update Readme 'Supported File Formats:
    Supported File Formats:
    • JPEG
    • TIFF (8 bit, 16 bit, 32 bit)
    • PSD (8 bit, 16 bit)
    • DNG
    • Raw (Please visit  for a full list of raw file support) /products/photoshop/cameraraw.html
    • Common DSLR video formats, including MOV, MPG, AVI, and AVCHD
    Important File Format Support Exceptions (Formats not supported):
    • PSD files saved without a composite image. (Saved without “Maximize Compatibility” setting)
    • Files with dimensions greater than 65,000 pixels per side (512 Megapixel Total)
    • AVCHD support is limited to MTS and M2TS video files.

  • How to get the destination path in an photoshop sdk export plugin when using a batch action?

    Hello,
    I've written an exporter plugin (not save-as) that exports a given file to a custom format.
    I was able to open a file selector dialog and choose a path that is then transported to the saving location.
    Now my problem is: Another intended use is batch exporting many files. The user records an action with the export step and then applies a batch on it.
    The PS batch window allows you to select the destination to be a directory where the exporter should write the data. Fine.
    Now how do I get this path? When running in batch mode the silent flag is set for my plugin so I do not spawn a file selector dialog to annoy the user.
    But I am also unable to obtain the path which was selected by the user in the batch window.
    The SDK automation plugin Getter has some code to retrieve the path of the file and even that fails as it cannot obtain anything.
    PropertyUtils.h has some PIGetWorkPathIndex and PIGetPathName functions but I always get 0 when asking PIGetNumberPaths, and get -1 with PIGetWorkPathIndex.
    I would be thankful if somebody could hint me how I can retrieve directories.
    It even seems impossible for me to get the path where the file is actually saved. The filter plugin called Propertizer utilizes a function called PIGetDocumentName but this only outputs the file name, not the full path.
    (Just to be sure: The file on which the tests run is already saved to disk, if that matters)
    Another fun part is: When I record an export step, what is the directory I am exporting into?

    Ok, after lots of reading the sdk sample outbound I've realized that or plugin is broken.
    When recording an action the outbound plugin stores the current path to gAliasHandle which is then recorded as a scripting parameter. Now when I execute the action I get the alias handle.
    However how is this supposed to work with an export plugin and batch processing with a "destination" set to a target? Is this even possible or do I need to double click the export step in the action and "reset" the location even if that causes the entire exporter to run again?

  • Add/Edit/Delete Tree Nodes using CL_GUI_ALV_TREE

    Hi All,
    I am looking for an example of program with CL_GUI_ALV_TREE that have a functionality of add a tree node, edit a tree node, and delete a tree node.
    I have already looked the BCALV_TREE* demo program but could not able to find a program to add/edit/delete node tree elements.
    Any info on this.
    Thanks
    aRs

    Hello aRs
    Here is a sample report showing how to delete nodes in an ALV tree. The report was copied from BCALV_TREE_01. Search for added code:
    *$ADDED: begin
    *$ADDED: end[/code]
    When you display the tree expand the first folder completely. When entering 'DELETE' into the command field directly the first flight date node will be deleted.
    REPORT ZUS_SDN_BCALV_TREE_01_DELNODE.
    based on: REPORT  bcalv_tree_01.
    Purpose:
    ~~~~~~~~
    This report shows the essential steps to build up a hierarchy
    using an ALV Tree Control (class CL_GUI_ALV_TREE).
    Note that it is not possible to build up this hierarchy
    using a simple ALV Tree Control (class CL_GUI_ALV_TREE_SIMPLE).
    To check program behavior
    ~~~~~~~~~~~~~~~~~~~~~~~~~
    Start this report. The hierarchy tree consists of nodes for each
    month on top level (this level can not be build by a simple ALV Tree
    because there is no field for months in our output table SFLIGHT.
    Thus, you can not define this hierarchy by sorting).
    Nor initial calculations neither a special layout has been applied
    (the lines on the right do not show anything).
    Note also that this example does not build up and change the
    fieldcatalog of the output table. For this reason, all fields
    of the output table are shown in the columns although the fields
    CARRID and FLDATE are already placed in the tree on the left.
    (Of course, this is not a good style. See BCALV_TREE_02 on how to
    hide columns).
    Essential steps (Search for '§')
    ~~~~~~~~~~~~~~~
    1.Usual steps when using control technology.
       1a. Define reference variables.
       1b. Create ALV Tree Control and corresponding container.
    2.Create Hierarchy-header
    3.Create empty Tree Control
    4.Create hierarchy (nodes and leaves)
       4a. Select data
       4b. Sort output table according to your conceived hierarchy
       4c. Add data to tree
    5.Send data to frontend.
    6.Call dispatch to process toolbar functions
    *$ADDED: begin
    DATA:
      gd_del_nkey      TYPE lvc_nkey.
    *$ADDED: end
    §1a. Define reference variables
    DATA: g_alv_tree         TYPE REF TO cl_gui_alv_tree,
          g_custom_container TYPE REF TO cl_gui_custom_container.
    DATA: gt_sflight      TYPE sflight OCCURS 0,      "Output-Table
          ok_code LIKE sy-ucomm,
          save_ok LIKE sy-ucomm,           "OK-Code
          g_max TYPE i VALUE 255.
    END-OF-SELECTION.
      CALL SCREEN 100.
    *&      Module  PBO  OUTPUT
          process before output
    MODULE pbo OUTPUT.
      SET PF-STATUS 'MAIN100'.
      SET TITLEBAR 'MAINTITLE'.
      IF g_alv_tree IS INITIAL.
        PERFORM init_tree.
        CALL METHOD cl_gui_cfw=>flush
          EXCEPTIONS
            cntl_system_error = 1
            cntl_error        = 2.
        IF sy-subrc NE 0.
          CALL FUNCTION 'POPUP_TO_INFORM'
            EXPORTING
              titel = 'Automation Queue failure'(801)
              txt1  = 'Internal error:'(802)
              txt2  = 'A method in the automation queue'(803)
              txt3  = 'caused a failure.'(804).
        ENDIF.
      ENDIF.
    ENDMODULE.                             " PBO  OUTPUT
    *&      Module  PAI  INPUT
          process after input
    MODULE pai INPUT.
      save_ok = ok_code.
      CLEAR ok_code.
      CASE save_ok.
        WHEN 'EXIT' OR 'BACK' OR 'CANC'.
          PERFORM exit_program.
    *$ADDED: begin
        WHEN 'DELETE'.
          CALL METHOD g_alv_tree->delete_subtree
            EXPORTING
              i_node_key                = gd_del_nkey
             I_UPDATE_PARENTS_EXPANDER = SPACE
              i_update_parents_folder   = 'X'
            EXCEPTIONS
              node_key_not_in_model     = 1
              OTHERS                    = 2.
          IF sy-subrc <> 0.
          MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                     WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
          ENDIF.
          CALL METHOD g_alv_tree->frontend_update.
    *$ADDED: end
        WHEN OTHERS.
    §6. Call dispatch to process toolbar functions
          CALL METHOD cl_gui_cfw=>dispatch.
      ENDCASE.
      CALL METHOD cl_gui_cfw=>flush.
    ENDMODULE.                             " PAI  INPUT
    *&      Form  init_tree
          text
    -->  p1        text
    <--  p2        text
    FORM init_tree.
    §1b. Create ALV Tree Control and corresponding Container.
    create container for alv-tree
      DATA: l_tree_container_name(30) TYPE c.
      l_tree_container_name = 'CCONTAINER1'.
      CREATE OBJECT g_custom_container
         EXPORTING
               container_name = l_tree_container_name
         EXCEPTIONS
               cntl_error                  = 1
               cntl_system_error           = 2
               create_error                = 3
               lifetime_error              = 4
               lifetime_dynpro_dynpro_link = 5.
      IF sy-subrc <> 0.
        MESSAGE x208(00) WITH 'ERROR'(100).
      ENDIF.
    create tree control
      CREATE OBJECT g_alv_tree
        EXPORTING
            parent              = g_custom_container
            node_selection_mode = cl_gui_column_tree=>node_sel_mode_single
            item_selection      = 'X'
            no_html_header      = 'X'
            no_toolbar          = ''
        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.
      IF sy-subrc <> 0.
        MESSAGE x208(00) WITH 'ERROR'.                          "#EC NOTEXT
      ENDIF.
    §2. Create Hierarchy-header
    The simple ALV Tree uses the text of the fields which were used
    for sorting to define this header. When you use
    the 'normal' ALV Tree the hierarchy is build up freely
    by the programmer this is not possible, so he has to define it
    himself.
      DATA l_hierarchy_header TYPE treev_hhdr.
      PERFORM build_hierarchy_header CHANGING l_hierarchy_header.
    §3. Create empty Tree Control
    IMPORTANT: Table 'gt_sflight' must be empty. Do not change this table
    (even after this method call). You can change data of your table
    by calling methods of CL_GUI_ALV_TREE.
    Furthermore, the output table 'gt_outtab' must be global and can
    only be used for one ALV Tree Control.
      CALL METHOD g_alv_tree->set_table_for_first_display
        EXPORTING
          i_structure_name    = 'SFLIGHT'
          is_hierarchy_header = l_hierarchy_header
        CHANGING
          it_outtab           = gt_sflight. "table must be empty !
    §4. Create hierarchy (nodes and leaves)
      PERFORM create_hierarchy.
    §5. Send data to frontend.
      CALL METHOD g_alv_tree->frontend_update.
    wait for automatic flush at end of pbo
    ENDFORM.                               " init_tree
    *&      Form  build_hierarchy_header
          build hierarchy-header-information
         -->P_L_HIERARCHY_HEADER  strucxture for hierarchy-header
    FORM build_hierarchy_header CHANGING
                                   p_hierarchy_header TYPE treev_hhdr.
      p_hierarchy_header-heading = 'Month/Carrier/Date'(300).
      p_hierarchy_header-tooltip = 'Flights in a month'(400).
      p_hierarchy_header-width = 30.
      p_hierarchy_header-width_pix = ' '.
    ENDFORM.                               " build_hierarchy_header
    *&      Form  exit_program
          free object and leave program
    FORM exit_program.
      CALL METHOD g_custom_container->free.
      LEAVE PROGRAM.
    ENDFORM.                               " exit_program
    *&      Form  create_hierarchy
          text
    -->  p1        text
    <--  p2        text
    FORM create_hierarchy.
      DATA: ls_sflight TYPE sflight,
            lt_sflight TYPE sflight OCCURS 0,
            l_yyyymm(6) TYPE c,            "year and month of sflight-fldate
            l_yyyymm_last(6) TYPE c,
            l_carrid LIKE sflight-carrid,
            l_carrid_last LIKE sflight-carrid.
      DATA: l_month_key TYPE lvc_nkey,
            l_carrid_key TYPE lvc_nkey,
            l_last_key TYPE lvc_nkey.
    §4a. Select data
      SELECT * FROM sflight INTO TABLE lt_sflight UP TO g_max ROWS.
    §4b. Sort output table according to your conceived hierarchy
    We sort in this order:
       year and month (top level nodes, yyyymm of DATS)
         carrier id (next level)
            day of month (leaves, dd of DATS)
      SORT lt_sflight BY fldate0(6) carrid fldate6(2).
    Note: The top level nodes do not correspond to a field of the
    output table. Instead we use data of the table to invent another
    hierarchy level above the levels that can be build by sorting.
    §4c. Add data to tree
      LOOP AT lt_sflight INTO ls_sflight.
    Prerequesite: The table is sorted.
    You add a node everytime the values of a sorted field changes.
    Finally, the complete line is added as a leaf below the last
    node.
        l_yyyymm = ls_sflight-fldate+0(6).
        l_carrid = ls_sflight-carrid.
    Top level nodes:
        IF l_yyyymm <> l_yyyymm_last.      "on change of l_yyyymm
          l_yyyymm_last = l_yyyymm.
    *Providing no key means that the node is added on top level:
          PERFORM add_month USING    l_yyyymm
                                 CHANGING l_month_key.
    The month changed, thus, there is no predecessor carrier
          CLEAR l_carrid_last.
        ENDIF.
    Carrier nodes:
    (always inserted as child of the last month
    which is identified by 'l_month_key')
        IF l_carrid <> l_carrid_last.      "on change of l_carrid
          l_carrid_last = l_carrid.
          PERFORM add_carrid_line USING    ls_sflight
                                           l_month_key
                                  CHANGING l_carrid_key.
        ENDIF.
    Leaf:
    (always inserted as child of the last carrier
    which is identified by 'l_carrid_key')
        PERFORM add_complete_line USING  ls_sflight
                                         l_carrid_key
                                CHANGING l_last_key.
      ENDLOOP.
    ENDFORM.                               " create_hierarchy
    *&      Form  add_month
    FORM add_month  USING     p_yyyymm TYPE c
                              p_relat_key TYPE lvc_nkey
                    CHANGING  p_node_key TYPE lvc_nkey.
      DATA: l_node_text TYPE lvc_value,
            ls_sflight TYPE sflight,
            l_month(15) TYPE c.            "output string for month
    get month name for node text
      PERFORM get_month USING p_yyyymm
                        CHANGING l_month.
      l_node_text = l_month.
    add node:
    ALV Tree firstly inserts this node as a leaf if you do not provide
    IS_NODE_LAYOUT with field ISFOLDER set. In form 'add_carrid_line'
    the leaf gets a child and thus ALV converts it to a folder
    automatically.
      CALL METHOD g_alv_tree->add_node
        EXPORTING
          i_relat_node_key = p_relat_key
          i_relationship   = cl_gui_column_tree=>relat_last_child
          i_node_text      = l_node_text
          is_outtab_line   = ls_sflight
        IMPORTING
          e_new_node_key   = p_node_key.
    ENDFORM.                               " add_month
    FORM add_carrid_line USING     ps_sflight TYPE sflight
                                   p_relat_key TYPE lvc_nkey
                         CHANGING  p_node_key TYPE lvc_nkey.
      DATA: l_node_text TYPE lvc_value,
            ls_sflight TYPE sflight.
    add node
    ALV Tree firstly inserts this node as a leaf if you do not provide
    IS_NODE_LAYOUT with field ISFOLDER set. In form 'add_carrid_line'
    the leaf gets a child and thus ALV converts it to a folder
    automatically.
      l_node_text =  ps_sflight-carrid.
      CALL METHOD g_alv_tree->add_node
        EXPORTING
          i_relat_node_key = p_relat_key
          i_relationship   = cl_gui_column_tree=>relat_last_child
          i_node_text      = l_node_text
          is_outtab_line   = ls_sflight
        IMPORTING
          e_new_node_key   = p_node_key.
    ENDFORM.                               " add_carrid_line
    *&      Form  add_complete_line
    FORM add_complete_line USING   ps_sflight TYPE sflight
                                   p_relat_key TYPE lvc_nkey
                         CHANGING  p_node_key TYPE lvc_nkey.
      DATA: l_node_text TYPE lvc_value.
      WRITE ps_sflight-fldate TO l_node_text MM/DD/YYYY.
    add leaf:
    ALV Tree firstly inserts this node as a leaf if you do not provide
    IS_NODE_LAYOUT with field ISFOLDER set.
    Since these nodes will never get children they stay leaves
    (as intended).
      CALL METHOD g_alv_tree->add_node
        EXPORTING
          i_relat_node_key = p_relat_key
          i_relationship   = cl_gui_column_tree=>relat_last_child
          is_outtab_line   = ps_sflight
          i_node_text      = l_node_text
        IMPORTING
          e_new_node_key   = p_node_key.
    *$ADDED: begin
      IF ( ps_sflight-fldate = '20040522' ).  " first flight date
        IF ( gd_del_nkey IS INITIAL ).  " collect only first date
          gd_del_nkey = p_node_key.
        ENDIF.
      ENDIF.
    *$ADDED: end
    ENDFORM.                               " add_complete_line
    *&      Form  GET_MONTH
          text
         -->P_P_YYYYMM  text
         <--P_L_MONTH  text
    FORM get_month USING    p_yyyymm
                   CHANGING p_month.
    Returns the name of month according to the digits in p_yyyymm
      DATA: l_monthdigits(2) TYPE c.
      l_monthdigits = p_yyyymm+4(2).
      CASE l_monthdigits.
        WHEN '01'.
          p_month = 'January'(701).
        WHEN '02'.
          p_month = 'February'(702).
        WHEN '03'.
          p_month = 'March'(703).
        WHEN '04'.
          p_month = 'April'(704).
        WHEN '05'.
          p_month = 'May'(705).
        WHEN '06'.
          p_month = 'June'(706).
        WHEN '07'.
          p_month = 'July'(707).
        WHEN '08'.
          p_month = 'August'(708).
        WHEN '09'.
          p_month = 'September'(709).
        WHEN '10'.
          p_month = 'October'(710).
        WHEN '11'.
          p_month = 'November'(711).
        WHEN '12'.
          p_month = 'December'(712).
      ENDCASE.
      CONCATENATE p_yyyymm+0(4) '->' p_month INTO p_month.
    ENDFORM.                               " GET_MONTH
    /code
    Regards
      Uwe

  • Is There A Way To Create A Simple File/Folder Tree...

    Hi,
    Please forgive me if this has already been covered but I have searched and found no answer...
    I am trying to create a web page to run on my local network, through iweb and apache, and have got everything I need working except this. I aim to be able to access my work files (masses of word documents and power-points) through the website but I can see no obvious way of doing this through iweb (short of adding individual hyperlinks to each file). Is there a tool or process I can use to create a simple folder tree in html that I can add to my site that lists all my files and allows my to "save target as" in windows (our college techie is still devoted to windows) ?
    Thanks in advance for any help...
    KP

    If you wanted to send a video as an mms from a mobile phone, the best option for exporting would be 3G in the quicktime export menu ( File > Export and it's in the drop down list).
    Keep it short and small and you shouldn't have any probs. There are some miserly operators out there who block MMSs bigger than 100K

  • CS6 Exporter Plugin doesn't open in Premiere Elements 11 (Windows)

    I want to make my (Windows) exporter-plugin compatible with Premeire Elements 11.
    So far, I have been gotten my exporter-plugin to appear in Adobe Premiere Pro CS6 and Media Encoder CS6, and the plugin runs there correctly.
    I then followed the directions for running Premeire CS6 to create an export a preset file (*.epr).  I copied copied  that exported *.epr file to "OTHERS/MyCompany/MyPreset.epr" in my Premere 11 [App installation folder].  (As well as copying the plugin-binary *.prm to Plug-ins/common
    In the <Publish:Share> tab, when I use the mouse to highlight 'OTHERS', I receive an error-dialog-box :
    "Premiere Elements has encountered an error.
    [..\..\Src\Exporter_Accessors.cpp-213]"   [Continue]
    After I click continue, I don't get the dialog-box for my exporter-plugin.  In the <Publish:Share> tab, I now see the warning-triangle and some text next to it: "Export Settings Invalid"

    Hmm, I forgot about using Visual Studio's debugger.  After some debugging, the error was triggered the first time the SDK_Exporter plugin called anything involving the <exportParamSuite>.
    After a little more digging, I found that Adobe Premiere Elements 11 doesn't support the latest version of the exportParamSuite (kPrSDKExportParamSuiteVersion4).
    In the CS6 SDK sample project SDK_Exporter, the function exSDKBeginInstance() grabs all of the suiteAPIs.  The following call fails:
         spError = spBasic->AcquireSuite(
             kPrSDKExportParamSuite,
             kPrSDKExportParamSuiteVersion, // CS6 supports v4,  but crashes in Premiere Elements 11
             const_cast<const void**>(reinterpret_cast<void**>(&(mySettings->exportParamSuite))));
    The original-call returns an spError code of <kSPSuiteNotFoundError>, which is actually misleading. I changed the version-argument to v3, and the error-call went away.
         spError = spBasic->AcquireSuite(
             kPrSDKExportParamSuite,
             kPrSDKMemoryManagerSuiteVersion3, // compatible with Premiere Elements 11
             const_cast<const void**>(reinterpret_cast<void**>(&(mySettings->exportParamSuite))));
    so it looks like Premiere Pro CS6 SDK's sample SDK_Exporter project requires a few tweaks to run with Premiere elements 11.

  • How can I remove the Facebook Exporter Plugin (32-bit) designed for AP2?

    Now that I have A3 which has native ability to export to Facebook, I wanted to delete this plugin I have used and downloaded from the plugin page.
    This plugin does not create/provide a plugin that is supposed to reside in the Library/Application Support/Aperture/Plug-ins instead there is a package file and an installer; the developer who created this (and who according to post on his site) no longer is actively developing it.
    So it isn't an easy case of just removing the plugin from that directory.
    For those who use this plugin does anyone know how to remove it?

    Yes, it's stil in the export menu. I also had the flickr exporter that was developed by another developer and initially that was in the export menu as well in Aperture 3. I went to the plugins folder and removed the plugin then when I restarted Aperture the flickr plugin was removed (as expected).
    But this Facebook plugin never created a "plugin" per se (a spotlight search indicated some files with the extension ".h" in the Library/Frameworks folder but I'm not sure what that means...).
    Consequently there never was a plugin in the Plugin folder to delete, hence my dilemma.

  • How to save the tree hierarchy into an excel

    Is there any untility avaliable in Application express to save the tree hierarchy into an excel, when shown in a page.

    Using this example, you may export any query:
    http://spendolini.blogspot.com/2006/04/custom-export-to-csv.html
    Denes Kubicek

  • Keeping a jpg folder in sync (automatic export or lightroom command line feature)

    Working with raw is good, but, sometimes, you need to have your "starred" photos in jpg somewhere for various reasons (for example you want to sync that jpg folder with a web portfolio or you want a folder to browse your photos without opening LR).
    What would be good is to be able to sync certain raws with jpg, i mean, a scheduled (windows) job which, at, say, 11am, checks modified raws (both raw and XMP), launches LR in background and export them all to that folder using a predefined profile.
    This would very useful to keep an online gallery without doing manual work everytime a pic is choosed (by starring or flaggin it).
    Currently SDK allows scripting inside LR, it would be great to be able script LR itself in some way (i mean a command line version, like "lightroom.exe /export profilename file.raw" which exports that file to jpg with lighroom edits, or lightroom.exe /select "flag=red" /export profilename). This would be really really useful. If we combine this with export SDK it could also be able to upload photos by itself once exported.

    I agree. I have just recently looked into how I can semi-automate this, but the problem is that as far as I can see, there is no way to export files using the same folder structure as they have inside LR, so it is difficult to compare the exported files with what is inside LR. For example, if the raw file is in c:\images\\folder1\image1.raw I would like to export it to f:\imagecopies\folder1.image1.jpb without having to give the "folder1" name (i.e. the root "f:\imagecopies" should have been enough).
    Maybe this can be solved with a export plugin, but I haven't looked at the SDK yet.
    H

  • How do I find where a bookmark is in my folder tree?

    I use the bookmarks menu a lot, and I have created many folders to organize them. But when I use the search function, all I see are the pages I have saved, NOT where they are in the folder tree.
    Sometimes I wan to reorganize the pages differently, but I don't know where they are!

    948165 wrote:
    Hello,
    When I go to System Administrator > Concurrent > Program > Define I can lookup programs that I should be able to run. Now I want to actually run the process but I cant find figure out what responsability it is under.
    How can I go about finding this?Please see (WHOCANRUN.SQL - List Responsibilities That Can Run a Given Concurrent Program [ID 134036.1]).
    Thanks,
    Hussein

  • How can I create a tree hierarchy in Adobe Flash with WD Java?

    Hello!
    I've started to learning RIAs based on WD Java and Adobe Flash. Now I need to create application with tree hierarchy. Nodes of hierarchy must be able to collapse and expand. Hierarchy must looks like in https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/a0c91fc0-932d-2c10-4ca7-f5774950c8e3 (first section)
    Does anybody know where I can get a tutorial for such hierarhies or which control element I have use?
    regards, Lev

    well, Network UI should be used.

  • How to create a Folder Tree in Exchange Server from a Java progarm.

    hi all,
    I am using Microsoft Exchange Server 2000. I have a requirement of creating the following things from a Java program.
    1) Creating a Folder Tree
    2) Creating a Mailbox Store
    3) Creating a Public Store
    4) Creating a Recipient Policy
    5) Creating a Storage Group
    6) Creating a Mail-Enabled Recipient
    7) Adding a new UPN suffixes
    If any of you have worked on such requirement can you please provide me with some information regarding the same.
    Thanks & Regards
    Anil

    Any luck with this Anil?
    I would like to query exchange for the list or recipients on a given mailing list.
    Please inform if there is any documentation that may be helpful.

Maybe you are looking for

  • How do I access documents in iCloud.

    I can't find an iCloud icon & iCloud.com doesn't work? It tells me to set up iCloud but I already did that.

  • IMovie New Event in Previous Year

    I have my library sorted by date. How do I add an event to a year other than today's date? I want to organize my events in the library, but iMovie seems to have it's own idea how to sort my events. It's a mess!

  • DB on Linux

    Hello, can I use the suitable version of DB for Linux (download it) instead of DB for Windows? Thanks for your reply.

  • TS1424 Download error try again later

    I have hit retry for about two weeks in the purchased section of the iTunes Store and keeps saying download error please try again later. Anyone know how to fix this so I can get the music I had purchased?

  • Cannot Sync Unknown Error -50

    OK, here is the issue as concisely as I can put it.  I have just updated my iPhone 4 to iOS 7.0.3 and updated iTunes to 11.1.2.  Today I downloaded an app from a third party site (reputable) which then opened iTunes and clicked download.  I then went