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,
JacekAs 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 -
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 INPUTCheck 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 AMHello 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,
Colinrandomenemy 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
aRsHello 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...
KPIf 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, Levwell, 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
AnilAny 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!
-
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?
-
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