Context menu of a KF value in query result

From the table result of a query, is it possible to display all the records that have been used for determining the value of a KF from the context menu of that KF value?
Sanjeev

The only way I know to do this is to set-up an RRI jump-through (tcode RSBBS) to a more detailed query.
Of course, this can take several forms. It can be from a summary query to a more detailed query in the same InfoProvider (e.g., from Sales Order --> Sales Order Line Item), or to another InfoProvider (e.g., from Purchasing cube --> Purchasing ODS/DSO), or even to a different cube/ODS (e.g., from PA --> Billing).
It all depends on what kind of detail you want to see.
Hope this helps...
Bob

Similar Messages

  • How to get POF object's field value from query result

    hi,all:
    I want to get field value from the query result, my code is below
    Set setResults = cache.entrySet(createFilter("homeAddress.state = 'MA'"));
    for (Iterator iter = setResults.iterator(); iter.hasNext(); )
    Contact c=(Contact)iter.next();
    System.out.println ("firstame####=" + c.getFirstName());
    * but I get error*
    Exception in thread "main" java.lang.ClassCastException: com.tangosol.util.ConverterCollec
    tions$ConverterEntrySet$ConverterEntry cannot be cast to com.oracle.handson.Contact
    at com.oracle.handson.QueryExample.printResults(QueryExample.java:159)
    at com.oracle.handson.QueryExample.query(QueryExample.java:86)
    at com.oracle.handson.QueryExample.main(QueryExample.java:43)
    who can tell me how to get POF object's field value from query result

    Hi,
    If you look at the Java Doc for the entrySet method here http://download.oracle.com/docs/cd/E15357_01/coh.360/e15725/com/tangosol/util/QueryMap.html#entrySet_com_tangosol_util_Filter_ you will see that it returns a Set of Map.Entry instances so you need to do this...
    Set setResults = cache.entrySet(createFilter("homeAddress.state = 'MA'"));
    for (Iterator iter = setResults.iterator(); iter.hasNext(); )
        Map.Entry entry = iter.next();
        Contact c=(Contact)entry.getValue();
        System.out.println ("firstame####=" + c.getFirstName());
    }JK

  • Remove default context menu values

    Hi,
    I'm using Jdev 11.1.2.2.0 and i've af:tree with node as command link. If i click this link, the popup in context menu facet is launched with menu items which are created by me. Also it displays menu item like 'Collapse', 'Expand All Below' and 'Collapse All Below. I do not want these menu items. Could anyone tell me how to remove these menu items?
    Thanks in advance

    You can add a showPopupBehavior to your commandLink, with triggerType="contextMenu", make sure not to keep the popup in contextMenu facet of af:tree

  • How to Enhance the Context menu in a Web Report

    Gurus,
    Scenario is to Enhance the Context menu in a Web template with some Custom Values. I found some notes in SAP.HELP but could not get thru it.
    If anyone has added some Custom developed menu's in the Context menu, can you let me know as well.
    Urgent help would be appreciated as well as rewarded with marks.
    Regards
    Rohit

    Hi Rohit,
    I have done this for solution manager with bex integration,
    Go TO last part of pdf there it is discussed with screen shot.You need to hav a query go to web template.and use the html tags to insert something into your context menu.
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/ad0a4b07-0301-0010-5095-ef7615676fc0
    Please reward points.

  • SAP-BW Properties not available in Crystal & Missing Context Menu

    Dear experts,
    Creating a crystal report on a SAP-BW 3.5 query we have the following problem:
    In SAP-BW query we defined a restricted key figure with property 'Calculate single value as Ranked list (olympic)'.
    Within SAP-BW it works correctly; in Crystal Reports we see the key figure without the defined property.
    Example
    SAP-BW
    Customer Revenue    ||       Rank (olympic)
    4711 EUR ||        1
    4812 EUR                   ||        2
    4812 EUR                   ||        2
    4913 EUR                   ||        4
    Crystal Reprts
    Customer Revenue   ||         Rank (olympic)
    4711 EUR                  ||          4711 EUR
    4812 EUR                  ||          4812 EUR
    4812 EUR                  ||          4812 EUR
    4913 EUR                  ||          4913 EUR
    Could anyone give us an advice to solve this?
    We tried to solve this problem within Crystal reports using u2018Calculated Elementsu2019 and got another, more serious problem.
    According to Crystal Help and documentation the way to insert a calculated element such as a rank is to click onto an element in a dimension and chose u2018Calculated Elementu2019 -> Add.
    Our problem is we donu2019t see this entry within the context menu! Due to the fact that we need this functionality a quick answer to this this question would be highly appreaciated.
    Thanks in advance
    Regards
    Hagen

    Please re-post if this is still an issue or purchase a case and have a dedicated support engineer work with you directly:
    http://store.businessobjects.com/store/bobjamer/DisplayProductByTypePage&parentCategoryID=&categoryID=11522300?resid=-Z5tUwoHAiwAAA8@NLgAAAAS&rests=1254701640551

  • Context Menu in WAD - disable the data entry active entries

    Hi,
    I have the following problem. We created an input ready query and brought this query via WAD into the portal. Inside the Web Template we have a SAVE Button and a Button activation the Data Entry possibility. Now when executing the Web Template, the user can save the data via the context menu (we have the steps "Data Entry Active -> Active | Save Changed Data | Reset Changed Data | Update ). Now we want to suppress these funcitonality, because using the SAVE button the systems starts a planning sequence for checking entries and a process chain with special funcition. The users must use the button, because the save function in the context menu does not execute the planning functions.
    Maintaining the Web Template via WAD I don't have the possibility to disable these menu entries. If I disable all menu entries in the context menu web item, executing the Web Template displays only the Data Entry Active Menu . How can I suppress these special entries of the context menu, because I want to use other entries of the context menu and I don't want to suppress the context menu in total (I know that this is possible.)
    Thanks in advance.
    Juergen

    Hi,
    we have the same problem. I have found the following solution:
    Use the following parameters for the context menu item to suppress the data entry active entries.
                    <bi:CONTEXT_MENU_ITEM name="CONTEXT_MENU_ITEM_1" designheight="70" designwidth="300" >
                        <bi:MENU_CELL_LOCKING value="" />
                        <bi:MENU_VALUE_RESET value="" />
                        <bi:MENU_DATA_ENTRY_MODE value="" />
                        <bi:MENU_REFRESH_DATA value="" />
                        <bi:MENU_SAVE_DATA value="" />
                        <bi:MENU_RESET_DATA value="" />
                    </bi:CONTEXT_MENU_ITEM>
    It works for us.
    Regards,
    Benjamin

  • Hiding values in Query Output

    Hello,
    I've a web report in which I've embedded a query which has 3 exceptions. The data in columns are numbers 10, 20 or 30. The exceptions are defined like 1-10 as RED, 11-20 YELLOW, 21-30 GREEN. Now while displaying the result I just want to disply the colors not the values as 10, 20 or 30. So where should I hide this, at query level or at the web application level and how?
    Amit

    Hi Amit,
          You can hide the values at the Query level with the option Calculate Single Value as -> <b>Suppress Result</b>. You'll get the exception colors in the report.
    From Query Designer, Context menu of the Key Figure -> Properties -> <b>Calculate Single Value as</b> -> <b>Suppress Result</b>.
    If you want to hide the result also, you can set the option in Calculate Result As -> Suppress Result.
    Assign Points if this helps.
    Regards
    Hari
    Message was edited by: Hari Krishnan K
    Message was edited by: Hari Krishnan K

  • Remove Context menu text

    Hello Gurus,
      I am working on WAD 3.5. I use a hierarchy and need to remove the context menu mouse display text
    .Every time I place the cursor on the web object, the text " expand the hierarchy" is being dsiplayed.
      If any one knows this please let me know how to go about this.
    Regards,
    Sunitha

    I think you can set the three hierarcy query properties in the WAD.
    In a web template (also made in 3.5) i found the following HTML code.
    Hope this helps.
    <object>
             <param name="OWNER" value="SAP_BW"/>
             <param name="CMD" value="SET_PROPERTIES"/>
             <param name="TEMPLATE_ID" value="ZBWOL0068_3"/>
             <param name="MENU_BACK" value=""/>
             <param name="MENU_BACK_TO_START" value=""/>
             <param name="MENU_FILTER" value=""/>
             <param name="MENU_FILTER_ON_AXIS" value=""/>
             <param name="MENU_SELECT_FILTER" value=""/>
             <param name="MENU_FILTER_ON_AXIS_CHART" value=""/>
             <param name="MENU_FILTER_CHART" value=""/>
             <param name="MENU_FILTER_DRILL_DOWN" value=""/>
             <param name="MENU_DRILL_UP_GIS" value=""/>
             <param name="MENU_DRILL_DOWN" value=""/>
             <param name="MENU_EXCHANGE_OBJECTS" value=""/>
             <param name="MENU_REMOVE_DRILL_DOWN" value=""/>
             <param name="MENU_SWITCH_AXIS" value=""/>
             <param name="MENU_HIERARCHY_NODE_DRILL" value=""/>         <param name="MENU_HIERARCHY_DRILL" value=""/>
             <param name="MENU_HIERARCHY_STATE" value=""/>
             <param name="MENU_SORT" value=""/>
             <param name="MENU_CALCULATE_RESULT" value=""/>
             <param name="MENU_CALCULATE_VALUE" value=""/>
             <param name="MENU_CUMULATE_VALUE" value=""/>
             <param name="MENU_DISPLAY_DOCUMENTS" value=""/>
             <param name="MENU_DOCUMENT_CREATE" value=""/>
             <param name="MENU_DISPLAY_DOCUMENT_PROP" value=""/>
             <param name="MENU_DISPLAY_DOCUMENT_SELEC" value=""/>
             <param name="MENU_RRI" value=""/>
             <param name="MENU_BROADCASTER" value=""/>
             <param name="MENU_EXPORT_TO_CSV" value=""/>
             <param name="MENU_EXPORT_TO_XLS" value=""/>
             <param name="MENU_BOOKMARK" value=""/>
             <param name="MENU_CHARACTERISTIC_PROPERTIES" value=""/>
             <param name="MENU_VALUE_PROPERTIES" value=""/>
             <param name="MENU_QUERY_PROPERTIES" value=""/>
             <param name="MENU_VARIABLE_SCREEN" value=""/>
             <param name="MENU_CURRENCY_CONVERSION" value=""/>
             <param name="MENU_ENHANCED" value=""/>
             <param name="USE_PAGE_WRAPPER" value="X"/>
             <param name="MENU_FORWARD" value=""/>
             TEMPLATE PROPERTIES
    </object>

  • Is it possible to create a Visual Studio plugin that can copy TFS work item ID by adding a context menu in the work item UI?

    Our team is using VS2013 and TFS 2013, and in our daily work we often open a TFS query, then we need to open a work item, and we often need to copy the ID, for example, to the email.
    But currently the field is read only, and we often manually copy it.
    So is there any convenient way to solve this? Any built in ways?
    If no, is it possible to create such a plugin?
    Regards,
    Lei Yang
    from Motorolasolutions

    Hi Lei Yang
    You can try the following work around to copy work item ID
    for VS 2013:
    Right click on work item tab header in VS 2013 and click 'Copy Full Path' from context menu
    When you paste it on notepad/email you will get work item ID at the end of the path:
    http://sumiran-dev:8080/tfs/web/wi.aspx?pcguid=d855bc22-69a8-45a5-b6fc-25f096ade8f5&id=46
    For Web Portal:
    Right click on work item link at top and click 'Copy shortcut' from the context menu
    When you paste it on notepad/email you will get work item ID at the end of the shortcut:
    http://sumiran-dev:8080/tfs/DefaultCollection/TFS%20Scrum%20Demo/_workitems/edit/46
    Thanks
    Sumiran

  • How to create a context menu in ALV table cell editor(Webdynpro abap )

    Hello Experts,
    I am having a problem in creating a context menu in a table cell editor in the ALV table output.I have assigned a 'lta' as the cell editor.But befor assigning the lta as cell editor I have assigned the menu to the lta.But when the view is rendered I can see the lta with the actioned assigned to it.But I cannot see the context menu.
    The code snippet below:
      "Create menu for each coloumn
      create OBJECT lo_menu_actions type CL_SALV_WD_VE_MENU EXPORTING
          id = 'MITM_ACTIONS'.
      lo_menu_actions->set_visible( value = abap_true ). 
      lo_menu_actions->set_visible_fieldname( value = 'ACTIONS' ).
      "ADd menu items
      CREATE OBJECT lo_menu_item_create type CL_SALV_WD_VE_MENU
      exporting
        id = 'MITM_CREATE_EXPRESSION'.
      lo_menu_item_create->set_visible( value = abap_true ).
      lo_menu_item_create->set_visible_fieldname( value = 'Create' ).
      "Add item 1
      lo_menu_actions->ADD_ITEM( VALUE = lo_menu_item_create ). 
      "  Set the cell editor for each column cell(link to an action)
      LOOP AT lt_node_dec_tab_cols INTO ls_node_dec_tab_cols .
        lv_column_name = ls_node_dec_tab_cols-object_name.
        lr_column = lr_column_settings->get_column( lv_column_name ).
       "Create 'lta' Ui item
        CREATE OBJECT lo_lta TYPE cl_salv_wd_uie_link_to_action.
        lo_lta->set_menu( value = lo_menu_actions ).
        lo_lta->set_text_fieldname( lv_column_name ).
        lr_column->set_cell_editor( lo_lta ).
        IF ls_node_dec_tab_cols-is_result EQ abap_true.
          lr_column->set_cell_design( value =
                      cl_wd_table_column=>e_cell_design-key_medium ).
        ENDIF.
      ENDLOOP.

    Hi Prakash,
    I have not come across this requirement till now to have context menu in a cell editor of alv.
    Unfortunately  the implementation of method SET_MENU of alv ui elements ( ex: cl_salv_wd_uie_text_view ) is not updating alv configurable table, instead it just stores in a global attribute as string. Hence has no effect on context menu.
    If your user is very particular about this requirement of having context menu in cell editor, you can go for a normal table. Because, normal table's cell editor has the property to set the menuID as we do it for other ui elements.
    Regards,
    Rama

  • The item Hierarchical Context Menu does not support pre-calculation

    Hello,
    Trying to download pre-calculated web templates via RepAgent, using the Hierarchical Context Menu feature within the template (populated via control query with Hierarchy) the system returned the following message upon file download:
    "The item Hierarchical Context Menu does not support pre-calculation"
    As a result the Hierarchical Context Menu is not displayed on the downloaded html-files. Navigation not possible.
    Could not find any constraints documented in the online help, at this point.
    Question: is there something missing on our setup or is this really out of scope for precalculation with navigation?
    Any other experiences on that or shall we open OSS-message?
    Best regards,
    Markus
    (We are on BW3.1)

    Hi,
    we have the same problem. Does anybody have any hint or workaround? Is there a solution for this in 3.5 or any upcoming version.
    Any input is appreciated.
    Thanks,
    Stefan

  • How to change the default position of context menu item? (C#)

    Hi,
    I have included a calendar context menu item with my Outlook Addin. But by default, its positioned at the last as shown in the picture below:
    I need a way to make it as the fourth item instead of last one. Also, I want set an icon for the same. How can I do that?
    Appreciate if you can give some sample examples.
    Thanks in advance.
    Thanks Prasad

    Hello Prasad,
    The
    Customizing Context Menus in Office 2010 article in MSDN describes the basics.
    You can specify the IdMso value of the built-in control after/before you need to insert your own:
    <button id="MyBtn" label="MyButton" insertBeforeMso="OpenSelectedItems" />
    See
    Office 2013 Help Files: Office Fluent User Interface Control Identifiers 
    for IdMso values.

  • Change the order of Free Characteristics in Context Menu

    Hi Experts,
    I execute a query on the Web Browser and right click on a cell (to see the Context Menu). I choose 'Change DrillDown' -> 'DrillDown By' and get a list of Free Characteristics.
    However, the order in which the free characteristics appear in the Context Menu does not match the order of the Free Characteristics shown in the Navigation Pane (on the left side of the report).
    This does not happen in BEx Analyzer (Excel), but only in the Web Browser.
    I would like to know how to change the order of these characteristics in the context Menu.
    Your solutions on this issue would be appreciated.
    Thanks,
    Shruti

    Hi Shruti,
    I am also using BEx Web analyser and I can see the same order as in the left pane when I select the Drilldown by
    I think you might have used the Free Characteristics and when you want to exchange them/drag them back you may be having issue
    Us drag and drop for the navigation. Generally,dropping one element over another exchanges them & Dropping out an element removes it from that place
    Hope this helps
    Sriman

  • Update for RDP 8.1 Windows 7 SP1 changed explorer right click context menu

    I have a 4 pcs and 3 nas drive on my network.  previous to the update I could view my pcs and nas drives in explorers right pane left click one and access the folders on it.  since the update I can no longer do this because "remotedesktopconnection"
    has been added as the default (previously it was "open") to the right click context menu.  can someone help me change this back so when I right click a network computer icon in explorer I only see:
    open                                                                   
    AND NOT                              remotedesktop
    open in a new window                                                                                       open
    create shortcut                                                                                                 open
    in a new window
                                                                                                                           create
    shortcut
    the exact update that makes the change is: kb2592687

    Hi
    Theoretically it could be done by modify registry. For example you could
    modify right click menu on .exe file by changing values under
    HKEY_CLASSES_ROOT\exefile\shellex\
    However there are some problems that I cannot define that what kind of “file”
    the network computer is.
    And I found no article specific to this.
    If you really need to restore your context menu and also need this update, I
    suggest you uninstall this update first. Then back up your registry, install it
    again. This time using process monitor you could record all registry modifications during
    this update installation. It might take lots of work.
    I tried to do that for you, unfortunately this update has been deployed in our environment which cannot be uninstalled from update history.
    For more information about process monitor
    https://technet.microsoft.com/en-us/library/bb896645.aspx?f=255&MSPPError=-2147217396
    Regards
    D. Wu
    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact [email protected]

  • [TUTORIAL] Context Menu to export EML files

    Hello there folks!
    I'm pretty new to the topic of C3PO, GW and all the Novell stuff and one of my tasks was to "code an export mechanism for GW8 thats lats us save e-mails to our storage system". Ok, that was a hammer. But wrapping my head around it and starting to error out the things got me pretty far and I guessed it was tutorial material. So here we go:
    @Moderators: This is the thread that has everything in it. the other one can be deleted.
    This tutorial is intendend for C# only. I don't like VB and I'm too dumb for C++ so if you need it for another dialect you need to work it out your self.
    Agenda:
    Needed packages
    C3PO wizard
    Loading to Visual Studio 2010
    Needed Imports/References
    Simple MessageBoxing
    Export Code
    Registering and caching the .DLL
    Testing (please help me with a better way here)
    1. Needed packages
    the novell-gwc3po-devel-2012.11.15.zip file (unzip this after downloading)
    an installed version of Visual Studio 2012 C# (or if you want to work with a different dialect choose another)
    cmd access to some of the registering tools:
    It may be the best thing to set tose paths up in you env variables. Allthough when running the cmd with administrator privileges you can't use regasm from env variables and need to cd to the directory.
    RegAsm (regasm.exe): C:\Windows\Microsoft.NET\Framework\v4.0.30319 (the version depends on the target)
    GACUtil (gacutil.exe): C:\Program Files(x86)\Micrsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\ (this path is also dependent on your target framework version, I chose .NET4)
    StrongName (sn.exe): C:\Program Files(x86)\Micrsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\ (this path is also dependent on your target framework version, I chose .NET4)
    a good beverage :D (you should obtain multiple of these :D)
    2. The C3PO wizard
    In my case I wanted to add the functionality via the context menu. So the code executes when right-clicking on one or multiple messages displays another menu item and is clickable.
    This is pretty easy to realize via the C3PO wizard. You'll find it in the downloaded and extracted novell-gwc3po-devel-2012.11.15.zip from above. Start it (it is located in extracted-zip-folder/gwc3po-FILES/C3POWizard/C3POWizard.exe) and setup your project:
    Setup the project in the wizard step 1
    I usually setup the Wizard inside my Visual Studio 2010 projects folder, create a new folder there with the name of the project and check the options i want to have.
    In the next step I chose which type of View should display my custom context menu. Since I was only interested in exporting and working with e-mails I chose "GW.MESSAGE.MAIL" and added it to the bottom list via, you guessed it, "Add".
    Setup theView that invokes the new context menu item
    In the next step you I had to setup a new entry for the context menu. You could make side-droppable menus here etc. But for me a simple "Add Menu" was enough. Give it a name of your choice (beware: I'm yet to find out where to change this setting in the source files).
    Creating a Menu Item in step 3
    Click through next and the wizard will sum up you choices. In the next dialog window you will be prompted to specify the language you want the code to be generated. I chose .NET C#.
    In the prompt after that you will be asked if the wizard should create a .DLL-project. You click yes.
    Quit the wizard with the "Done" button.
    3. Loading to Visual Studio 2010
    Open up your Visual Studio and go to File -> Open Project. Navigate to the folder where you just created the files with the C3PO-Wizard. and open up the .csproj file.
    All the files get loaded and it seems quite well. but now it's time for some other stuff: Signing, or better, providing a key for signing.
    Allthough the README.txt (also in your project folder) states this is not neccessarily needed I did not get it to work without a key file.
    Open up a terminal and tpye in sn /? to see if the environment variables work. If not you can yuse the abolute path to sn (see: 1: Needed packages). If everything works as expected you can generate your keyfile with sn -k <PathToYourProject>\Archive.snk.
    In Visual Studio, go to Project -> <ProjectName>-Properties -> Signing -> Sign assembly [x] -> Search and pick the .snk-file you just created.
    Good. A first compilation of the project with F6 should rumble through without problems. Go to <ProjectFolder>\bin\Release and copy the .dll files to <GroupWiseInstallPath>.
    After that you need to open a cmd windows as administrator and cd to the RegAsm.exe directory and execute the following: [I]regasm "<GroupWiseInstallPath>\<TheDllName>.dll". Then execute gacutil -i "<GroupWiseInstallPath>\<TheDllName>.dll".
    RegAsm will register the extension to the Windows registry and GACUtil will cache the .dll content to make it available to GroupWise.
    You need to re-cache the .dll everytime you compile in VS. So basically the workflow is Compile -> Copy dll to GroupWise directory -> re-cache with gacutil -i -> Start Groupwise
    I have not found a method to post-build execute a script that does that. Problem is the copying and the gacutil caching (both must be done as administrator).
    IIf everything worked you see a new entry in the context menu when right-clicking a mail in Groupwise. When you click it, there will appear a message box.
    The MessageBox is defined in GWCommand.cs L. ~125
    4. Needed Imports/References
    Since we got the skeleton to compile and function properly, it's time to get our own code in there. FOr rapid prototyping I do all the stuff in GWCommand.cs.
    Go to Project -> add Reference -> COM and select "C3POTypeLibrary", "GroupWareTypeLibrary, "GroupWiseCommander", "GroupWiseConnectorLibrary" and click OK. The selected entries now appear in the project explorer.
    5. Simple MessageBoxing
    A thing I like to do (because I'm not a very good programmer) is to get all sorts of infos to get displayed with
    Code:
    MessageBox.Show();
    Just fling it in the code and see what get's where etc. An important thing is allready in the comments of the file.
    It is this line:
    Code:
    C3POTypeLibrary.IGWClientState6 myCL = (C3POTypeLibrary.IGWClientState6)WIASSArchivButton.g_C3POManager.ClientState;
    . Uncomment it and play around with the myCL-object in your code.
    The myCL has some properties we will use later on such as myCL.SelectedMessages which is exactly what we need for our archive functionality.
    6. Export Code
    Now we get to the code:
    With the
    Code:
    ClientState
    dug up in the code we can pass the
    Code:
    SelectedMessages
    into a
    Code:
    MessageList
    . Over this MessageList we will iterate and save each
    Code:
    Message
    with the so called
    Code:
    GroupWiseCommander
    to our disk. well that sounds simple. And, well after digging through a lot of threads here on the forum and the documentation, it is.
    Here is the Execute() method from GWCommand.cs:
    It has comments that should serve as a documentation.
    Code:
    public void Execute()
    try
    switch (m_PersistentID)
    case WIASSArchivButton.vWIASS:
    //C3PO WIZARD Put execute command code here for WIASS Context menu.
    /* this was in the comments and is essential!
    * the myCL object provides us everything we need to interact with the messages */
    C3POTypeLibrary.IGWClientState6 myCL = (C3POTypeLibrary.IGWClientState6)WIASSArchivButton.g_C3POManager.ClientState;
    // get the selected messages
    object o = myCL.SelectedMessages;
    // and convert the SelectedMessages to a MessagesList
    MessageList ml = (MessageList)o;
    // iterate over all the selected Messages
    // this was tricky: the index of the MessageList starts by 1 and not at 0
    for (int i = 1; i <= ml.Count; i++)
    // the .Item() method expects either a string or a long
    // see http://www.novell.com/documentation/developer/groupwise_sdk/gwsdk_gwobjapi/data/h20s5bdo.html
    long index = (long)i;
    // instantiate a Message object to get access to the different properties like subject, sender etc
    GroupwareTypeLibrary.Message oMessage = (GroupwareTypeLibrary.Message)ml.Item(index);
    // instantiate a GroupWiseCommander
    // this is the interface to the TOKEN API
    // TOKENS: https://www.novell.com/developer/documentation/gwtoken/index.html
    GroupWiseCommander.GWCommander cmdr = new GroupWiseCommander.GWCommander();
    // the GWCommander has an Execute() method that is able to take certain tokens kind of like SQL
    // lets build the token (the complete list is huge and awesome) to save our Messages
    // ItemSaveMessage(): https://www.novell.com/developer/documentation/gwtoken/gwtokens/data/hbt0bd7x.html
    string tokenCommand = "ItemSaveMessage(\"" + oMessage.MessageID + "\"; \"C:\\archiv\\" + oMessage.MessageID + ".eml\"; 900)";
    /* what happens here ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ is that we build us a TOKEN command that the
    * GWCommander is able to execute.
    * the actual command is ItemSaveMassge()
    * everything between the semi-colons are the parameters:
    * \"" + oMessage.MessageID + "\" : builds an ANSISTRING of the MessageID which we get from the oMessage onject
    * \"C:\\archiv\\" + oMessage.MessageID + ".eml\" : build an ANSISTRING of the output filename
    * 900 is the type we want to export. 900 stands for Mime
    * CAUTION:In this example I use C:\archive\ as the destination folder. It must exist and be writable to the program
    // now that we have setup our command we can get it executed by the commander
    // the result is sort of a callback variable
    string result ="";
    cmdr.Execute(tokenCommand, out result);
    /* here can the error handling be done with the result string
    break;
    default:
    MessageBox.Show("Unsupported Case", "Error", MessageBoxButtons.OK);
    break;
    //A way to get the GroupWise client state with newest interface
    //C3POTypeLibrary.IGWClientState6 myCL = (C3POTypeLibrary.IGWClientState6)WIASSArchivButton.g_C3POManager.ClientState;
    //uncomment the code below to unblock the base command
    //IGWCommand baseCmd = (IGWCommand)WIASSArchivButton.g_C3POManager.CreateGWCommand(m_objBaseCmd);
    //baseCmd.Execute();
    catch (Exception e)
    MessageBox.Show("Error Executing GWCommand: " + m_PersistentID.ToString() + " Error: " + e.Message);
    return;
    7. Registering and caching the .DLL
    After that you need to open a cmd windows as administrator and cd to the RegAsm.exe directory and execute the following: regasm "<GroupWiseInstallPath>\<TheDllName>.dll". Then execute gacutil -i "<GroupWiseInstallPath>\<TheDllName>.dll".
    RegAsm will register the extension to the Windows registry and GACUtil will cache the .dll content to make it available to GroupWise.
    You need to re-cache the .dll everytime you compile in VS. So basically the workflow is Compile -> Copy dll to GroupWise directory -> re-cache with gacutil -i -> Start Groupwise
    8. Testing (please help me with a better way here)
    Is there a good way to hook every thing up together to jsut stay in VS , compile, files get copied, registered, cached and GW starts?
    Thanks for reading!
    I wrote this up to have a documentation for myself and others. please let em know if you need help or anything is missing or not clear. It's certainly not a total noob guide and I expect a bit of knowledge to be honest.
    Regards
    Sebastian

    Originally Posted by Username951
    Multiple email selection should be possible, but only those emails that are fitting some requirements should be stored finally in database.
    One requirement is for example that a keyword like "ISSUE" appears in the email subject
    (followed by a ":", a "space" and some characters that can be converted to an integer value),
    multiple, leading "Fwd: " and/or "Re: " should be handled well,
    subject should be handled case-in-sensitive.
    This sounds like you should implement some sort of SelectedMessagesValidator class just to keep it clean.
    Originally Posted by Username951
    So here are my find outs, remarks, etc.:
    1.) Visual Studio should be started under admin. rights.
    Then you can write a post-build event (batch) that copies, "regasm"s and "gacutil"s everything.
    As said this works fine for me.
    But note that unfortunately the paths to "regasm" and "gacutil" changed
    (compared to the time where you wrote your tutorial).
    Definitely. That way, as you mentioned, the post build scripts integrate very well.
    Originally Posted by Username951
    2.) The "Novell C3PO" wizard was downloaded and worked out as described in our tutorial.
    One important step was to use "GW.MESSAGE.MAIL" and not "...BROWSER..." or something else.
    I can not figure out, where you have the GW.BROWSER thing from, but in my examples I allways used GW.MESSAGES.MAIL
    Originally Posted by Username951
    The wizard created finally the basic C# (.NET framework 2.0) project.
    This project was loaded in Visual Studio 2013, automatically converted to "newest version"
    and finally was a ".sln" made.
    Yes. You can leave it at 2.0. I just have the 4.5 installed so i will target this version
    Originally Posted by Username951
    "oracle.dataaccess"
    -> Note that the "Copy Local" property must be set to "true"!
    (This property will be reset to "false" after a successful (re)build.
    So check this and change it to "true" for the first build!
    This must be made only once because after a successful build is this .dll known;
    keywords: GAC -> cached
    But note that "successful" means also that the post-build event ran flawless!)
    This is quite specific to your case since my example on exports a flat EML file to the hard drive
    Originally Posted by Username951
    2.) regasm.exe needs strong names.
    So a "cmd" with admin. right was opened,
    a
    "C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\sn.exe" -k "C:\Users\<username>\Documents\Visual Studio 2013\Projects\GWSaveToDatabase\GWSaveToDatabase.sn k"
    fired
    and the created "GWSaveToDatabase.snk" file added to the solution.
    I don't want to be picky, but it's gacutil that needs the strong names. ragasm is not complaining
    Originally Posted by Username951
    (Development) Remarks
    1.) While I used the "C3PO" wizard first time I used "Add Menu" item - as you said in your tutorial! :-(
    And that is definitely wrong!
    See:
    The result was a C# project that does not show any new context menu entry.
    So I tried at the next wizard run "Add Menu Item".
    The wizard created again a C# project but still no new context menu entry in the GroupWise client.
    (And that after all needed steps
    like
    copy to GroupWise installation path,
    regasm and gacutil over all .dlls
    etc.
    were successful be made).
    It took a complete day to get the idea to "merge" the two wizard created projects!
    Why merging?
    Because the second project contained a "const" which were used in the switch statement of the "Execute()" method
    (with the same meaning like your "WIASSArchivButton.vWIASS" - see your code snippet above!)
    and the "CustomizeContextMenu(...)" method in "CommandFactory.cs" looked also different
    while the first project does not contained something similar.
    ( For example:
    The "CustomizeContextMenu(...)" method had more statements.
    And that made more sense to me compared to the first wizeard created C# project.
    Since I uploaded a better example this is obsolete.
    Originally Posted by Username951
    So I ASSUME that the second project would work but it does not because of regasm / gacutil behaviour.
    Means I believe it would work when all
    with regasm registered
    and
    with gacutil to the cache added "things"
    would be "un-registerd" and "un-cached".
    This is, as I assume, due to the Interop.C3POTypeLibrary.dll. This must me cached every time the project is build. maybe you could use gacutil -i Interop.C3POTypeLibrary.dll -f to force the recaching
    Originally Posted by Username951
    So, finally I took the second, wizard created C# project and copied the "const", adjusted the "Execute()"
    and "CustomizeContextMenu(...)" methods, etc.
    After that the context menu were shown in the GroupWise client!
    Thats is correct. But I never had to do this. The thing is, that the "Add Menu Item" is giving you the opputunity to specify a command, which the "Add Menu" doesn't.
    Originally Posted by Username951
    2.) The next issue was that the context menu was added as often as many emails were selected.
    Means: For example: Three selected emails ends up in three time added context menu.
    Solution:
    Checking
    var existsAlready = menuItems.Item("...");
    if (existsAlready != null)
    return;
    in "CustomizeContextMenu(...)" method and leaving the method under shown circumstances.
    I added a fix for this in the second post, but it isn't working in GW2012 anymore. I have a very ubly fix for that in my new code.
    Originally Posted by Username951
    3.) The by the wizard created registry path contained the version number "5.0".
    This may confuse but it is finally ok. No need to change here anything!
    On the other side:
    It will NOT work when the registry entry
    "SOFTWARE\\Novell\\GroupWise\\5.0\\C3PO\\DataTypes \\...."
    will be changed/"adjusted to that GroupWise client version you are currently using"!
    This is all part of the official documentation and wasn't touched by Novell since quite a long time.
    I think i will make a github repository in the futer as a proof of concept and kind of a accessable documentation for everyone.

Maybe you are looking for

  • My computer was stolen, how can I track down a serial number?

    Hi All- I'm in need of some assistance.  My Mac was stolen during an apartment burglary.  It was a gift from a family member who doesn't have any type of receipt.  I apparently didn't register my Mac either, my iPad and iPod yes, my stolen laptop of

  • How do I install CS3 on a new computer using my CS3 install disk?

    The installation process for CS# says my Page Maker 6.5 serial number is incorrect even though the product lists it.

  • How I can split the integer

    Hi guys, I am beginner in java and I have an integer number . I want to divided this integer into sub section because I want to check each section separate. Example : the credit card number 1664532112008 first '1' indicate the card type second '66453

  • What is the use of creating proxy services using WSDL.

    Hi Am a beginner in ALSB and i have a basic question. Business services are created using WSDL,thats sounds logical as we need to invoke the actual backend services . Proxy services are connected to business services and what is the need that it can

  • Turning 'write to xmp' back on

    I was having the sluggish performance after upgrading to 1.3 that many experienced when the 'write changes to xmp' was turned on. So I turned it off and all has been well. It sounds like the issue has been solved with recent updates and I would like