Expressions in External Tool Arguments

I want to be able to get the shallowest directory when specifying arguments for an External Tool.
I see there is a ${file.path} macro, which gives me something like the following:
C:\Development\SQL\localrepo\fea\adhoc\mercr
Is there a supported way to wrap that in an expression, or define my own macro, in such a way that the returned string is simply the last directory? In that example:
mercr
Thank you,
-Kris
Edited by: krissco on Dec 15, 2011 10:56 AM

Have tested setting up the external tool in 11g and appears to be okay there. So am only having an issue with the 10.1.3 releases - which is a shame as that is the version we have just moved upto.
Have found with can get the Availability tab to eventually display (by clicking back and forth between other tabs) but the file list is never populated.
Anyone know where it gets the list of possible files from? Can this list have values added/removed from it?

Similar Messages

  • Using $(SolutionName) as argument for External Tools?

    Is it possible to use $(SolutionName) as argument for External Tools?
    I can't get it to work...
    I'm using Visual Studio 2013 Pro (paid for)
    // Anders

    Hi Anders,
    I have take a look at my VS 2013 External Tools, there is no $(SolutionName) option. Only $(SolutionFileName) exists. Do I miss something?
    And please also refer to
    Arguments for External Tools in MSDN for more detailed information.
    Best regards,
    Kristin
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • SQL Developer 4 EA1 - External Tool Parameter Prompt With Generic Name

    I have an external tool (WinSCP - an FTP/SCP program) integrated into SQL Developer.
    The tool is set up as follows:
    Program Executable:
    C:\Program Files (x86)\WinSCP\WinSCP.exe
    Arguments:
    /console /command "open scp://root:${promptl:label=Password}@${promptl:label=Server}" "cd /gers/live/adhoc/${promptl:label=CRM_Directory}" "put ${file.path}"
    Run Directory:
    C:\Program Files (x86)\WinSCP
    In 3.2
    Dialog Title: "Invoke Tool"
    Prompt: "Password"
    In 4.0 EA1
    Dialog Title: "Invoke Tool"
    Prompt: "Tool Argument Value:"

    Aces!!! You nailed it Gary...
    Thank you.
    I applied fixed noted in Re: Reduce SQLDeveloper memory footprint with JDK 1.7
    For others, to summarize my changes.
    product\11.2.0\client_3\sqldeveloper\sqldeveloper\bin\sqldeveloper.conf
    AddVMOption -XX:+UnlockExperimentalVMOptions
    AddVMOption -XX:+UseG1GC
    AddVMOption -XX:MaxGCPauseMillis=50
    AddVMOption -XX:GCPauseIntervalMillis=200
    AddVMOption -XX:MaxPermSize=128M
    AddVMOption -Xms50M
    AddVMOption -Xmx384M
    AddVMOption -XX:MinHeapFreeRatio=10
    AddVMOption -XX:MaxHeapFreeRatio=10
    product\11.2.0\client_3\sqldeveloper\ide\bin\ide.conf
    comment the following two lines as shown below
    #AddVMOption -Xmx640M
    #AddVMOption -Xms128M
    Now SQL Developer runs at roughly 500 meg.
    I guess the only thing I have left to ask others reviewing this would be if there is a way to get these memory values down without having much adverse impacts on SQL Developer based on newer JVM switches/functionalities.
    The posts that drove these changes are old from a technologoical perspective :) 2010.
    Tom

  • JDev 11.1.1.2.0: Firefox 3.0 as an external tool: Please suggest

    Hi,
    I added Firefox 3.0 as an external tool in JDev 11.1.1.2.0. But, am not able to view content of an XML file using Firefox external tool in JDev window. Firefox is opening up but not displaying any content. Can someone please suggest if Firefox 3.0 is supported?
    Thanks and regards,
    Chaitanya.

    Chaitanya,
    It works fine for me - did you insert the file path as the argument (shows as ${file.path} in the arguments section)?
    John

  • Tools/External Tools Problem

    I created an external tool entry TEST which does nothing but the following:
    java -cp "xxx.jar" test
    If I run this inside for JDeveloper 9.0.3.1 I get an error "Unrecognized option: -cp xxx.jar" while if I copy this same command line to a (in this case) DOS session, it at least recognizes that the names are dummies and says it cannot find test as one would expect. What I am actually trying is to run the Apache Axis utilities but kept simplifying the problem further and further until I found that basically nothing worked when I used the -cp option.
    Any suggestions or is this a bug?
    Best,
    Joe

    Hi,
    The best way of thinking of it is that it behaves like there are quotes round every distinct argument in the list, i.e. if you have three arguments like this:
    -p
    -p blah
    blah blah ${somemacro} blah
    These are passed in like this:
    someprogram.exe "-p" "-p blah" "blah blah blah somemacroexpansion blah"
    In your example, the error you got is the same as if you had run:
    java "-cp somejar.jar"
    Thanks,
    Brian
    JDev Team

  • Double quotes in JDev 10G OAF, External tools

    Hello everybody.
    In my JDev10G OA Ext i'm trying to create external tools commant to import selected page into MDS Repository.
    Exteranl tool parameters are:
    Program executeble: C:\JdevR12RUP3\jdevbin\oaext\bin\import.bat
    Arguments: ${file.dir}\${file.name} -username apps -password ${promptl:label=DB_APPS_PASSWORD} -rootdir ${project.dir} -dbconnection "(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=host.ru)(PORT=1527))(CONNECT_DATA=(SID=TEST6)))"
    Run Directory: <no data here>
    Command sample looks like:
    C:\JdevR12RUP3\jdevbin\oaext\bin\import.bat C:\JdevR12RUP3\jdevhome\jdev\myprojects\xx\oracle\apps\per\xx_stip_demo\webui\xxStipDemoPG.xml -username apps -password -rootdir C:\JdevR12RUP3\jdevhome\jdev\myprojects -dbconnection "(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=host.ru)(PORT=1527))(CONNECT_DATA=(SID=TEST6)))"
    Now, whan i'm trying to select a page and exec this command i'm getting the following in command log:
    C:\JdevR12RUP3\jdevbin\oaext\bin\import.bat C:\JdevR12RUP3\jdevhome\jdev\myprojects\xx\oracle\apps\per\xx_stip_demo\webui\xxStipDemoPG.xml -username apps -password apps -rootdir C:\JdevR12RUP3\jdevhome\jdev\myprojects -dbconnection (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=host.ru)(PORT=1527))(CONNECT_DATA=(SID=TEST6)))
    Error: Error connecting to database "jdbc:oracle:thin:apps/apps@(DESCRIPTION"
    Unknown host specified
    Import failed.
    As you can see, no double quotes around this: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=host.ru)(PORT=1527))(CONNECT_DATA=(SID=TEST6)))
    if i'am adding double quotes and copy command in cmd window, everything is fine, import completed.
    Need your help plz
    Edited by: user6400327 on 27.11.2011 22:33

    Sand,
    Instead of passing the value at runtime, had u tried running the import script by entering all the values as in below script.
    C:\JdevR12RUP3\jdevbin\oaext\bin\import C:\JdevR12RUP3\jdevhome\jdev\myprojects\xx\oracle\apps\per\xx_stip_demo\webui\xxStipDemoPG.xml  -rootdir C:\JdevR12RUP3\jdevhome\jdev\myprojects -username apps -password  apps -dbconnection "(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=TEST6)(PORT=1527))(CONNECT_DATA=(SID=dev)))"Regards,
    Gyan

  • External tools - adding DB Connection string gives error

    I'm using SQL Developer 1.2.1.32.13 on Ubuntu 7.10. Whenever I try to add the "DB Connection String ${sqldev.conn} to the argument list of an external tool I get the error listed below. I searched this forum and don't see anything regarding this.
    java.lang.NullPointerException
         at oracle.dbtools.raptor.macros.ConnMacroExpander.expand(ConnMacroExpander.java:25)
         at oracle.ide.externaltools.macro.MacroExpander.getSampleExpansion(MacroExpander.java:134)
         at oracle.ideimpl.externaltools.ui.MacroPickerImpl.updateSample(MacroPickerImpl.java:128)
         at oracle.ideimpl.externaltools.ui.MacroPickerImpl.updateDetails(MacroPickerImpl.java:173)
         at oracle.ideimpl.externaltools.ui.MacroPickerImpl.mav$updateDetails(MacroPickerImpl.java:73)
         at oracle.ideimpl.externaltools.ui.MacroPickerImpl$DetailUpdateListener.valueChanged(MacroPickerImpl.java:486)
         at javax.swing.JList.fireSelectionValueChanged(JList.java:1765)
         at javax.swing.JList$ListSelectionHandler.valueChanged(JList.java:1779)
         at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:167)
         at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:147)
         at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:194)
         at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:388)
         at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:398)
         at javax.swing.DefaultListSelectionModel.setSelectionInterval(DefaultListSelectionModel.java:442)
         at javax.swing.JList.setSelectionInterval(JList.java:2035)
         at javax.swing.plaf.basic.BasicListUI$Handler.adjustSelection(BasicListUI.java:2721)
         at javax.swing.plaf.basic.BasicListUI$Handler.mousePressed(BasicListUI.java:2677)
         at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:263)
         at java.awt.Component.processMouseEvent(Component.java:6035)
         at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
         at java.awt.Component.processEvent(Component.java:5803)
         at java.awt.Container.processEvent(Container.java:2058)
         at java.awt.Component.dispatchEventImpl(Component.java:4410)
         at java.awt.Container.dispatchEventImpl(Container.java:2116)
         at java.awt.Component.dispatchEvent(Component.java:4240)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3983)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
         at java.awt.Container.dispatchEventImpl(Container.java:2102)
         at java.awt.Window.dispatchEventImpl(Window.java:2429)
         at java.awt.Component.dispatchEvent(Component.java:4240)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:177)
         at java.awt.Dialog$1.run(Dialog.java:1039)
         at java.awt.Dialog$3.run(Dialog.java:1091)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.awt.Dialog.show(Dialog.java:1089)
         at java.awt.Component.show(Component.java:1419)
         at java.awt.Component.setVisible(Component.java:1372)
         at java.awt.Window.setVisible(Window.java:801)
         at java.awt.Dialog.setVisible(Dialog.java:979)
         at oracle.bali.ewt.dialog.JEWTDialog.runDialog(Unknown Source)
         at oracle.bali.ewt.dialog.JEWTDialog.runDialog(Unknown Source)
         at oracle.ideimpl.externaltools.ui.MacroPickerImpl.runDialog(MacroPickerImpl.java:283)
         at oracle.ideimpl.externaltools.program.ExternalProgramOptions.runMacroPicker(ExternalProgramOptions.java:429)
         at oracle.ideimpl.externaltools.program.ExternalProgramOptions.doBrowseArguments(ExternalProgramOptions.java:417)
         at oracle.ideimpl.externaltools.program.ExternalProgramOptions.mav$doBrowseArguments(ExternalProgramOptions.java:57)
         at oracle.ideimpl.externaltools.program.ExternalProgramOptions$ActionDispatcher.actionPerformed(ExternalProgramOptions.java:492)
         at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
         at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
         at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
         at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
         at java.awt.Component.processMouseEvent(Component.java:6038)
         at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
         at java.awt.Component.processEvent(Component.java:5803)
         at java.awt.Container.processEvent(Container.java:2058)
         at java.awt.Component.dispatchEventImpl(Component.java:4410)
         at java.awt.Container.dispatchEventImpl(Container.java:2116)
         at java.awt.Component.dispatchEvent(Component.java:4240)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
         at java.awt.Container.dispatchEventImpl(Container.java:2102)
         at java.awt.Window.dispatchEventImpl(Window.java:2429)
         at java.awt.Component.dispatchEvent(Component.java:4240)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:177)
         at java.awt.Dialog$1.run(Dialog.java:1039)
         at java.awt.Dialog$3.run(Dialog.java:1091)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.awt.Dialog.show(Dialog.java:1089)
         at java.awt.Component.show(Component.java:1419)
         at java.awt.Component.setVisible(Component.java:1372)
         at java.awt.Window.setVisible(Window.java:801)
         at java.awt.Dialog.setVisible(Dialog.java:979)
         at oracle.bali.ewt.wizard.WizardDialog.runDialog(Unknown Source)
         at oracle.bali.ewt.wizard.WizardDialog.runDialog(Unknown Source)
         at oracle.ideimpl.externaltools.ui.ExternalToolsWizard.runEditWizard(ExternalToolsWizard.java:230)
         at oracle.ideimpl.externaltools.ui.ToolListPanel.doEditCommand(ToolListPanel.java:614)
         at oracle.ideimpl.externaltools.ui.ToolListPanel.mav$doEditCommand(ToolListPanel.java:80)
         at oracle.ideimpl.externaltools.ui.ToolListPanel$ButtonListener.actionPerformed(ToolListPanel.java:736)
         at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
         at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
         at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
         at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
         at java.awt.Component.processMouseEvent(Component.java:6038)
         at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
         at java.awt.Component.processEvent(Component.java:5803)
         at java.awt.Container.processEvent(Container.java:2058)
         at java.awt.Component.dispatchEventImpl(Component.java:4410)
         at java.awt.Container.dispatchEventImpl(Container.java:2116)
         at java.awt.Component.dispatchEvent(Component.java:4240)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
         at java.awt.Container.dispatchEventImpl(Container.java:2102)
         at java.awt.Window.dispatchEventImpl(Window.java:2429)
         at java.awt.Component.dispatchEvent(Component.java:4240)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:177)
         at java.awt.Dialog$1.run(Dialog.java:1039)
         at java.awt.Dialog$3.run(Dialog.java:1091)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.awt.Dialog.show(Dialog.java:1089)
         at java.awt.Component.show(Component.java:1419)
         at java.awt.Component.setVisible(Component.java:1372)
         at java.awt.Window.setVisible(Window.java:801)
         at java.awt.Dialog.setVisible(Dialog.java:979)
         at oracle.bali.ewt.dialog.JEWTDialog.runDialog(Unknown Source)
         at oracle.bali.ewt.dialog.JEWTDialog.runDialog(Unknown Source)
         at oracle.ideimpl.externaltools.ui.ToolListPanel.runDialog(ToolListPanel.java:283)
         at oracle.ideimpl.externaltools.ExternalToolsController.handleEvent(ExternalToolsController.java:18)
         at oracle.ideimpl.controller.IdeActionHook$MetaClassController.handleEvent(IdeActionHook.java:272)
         at oracle.ide.controller.IdeAction.performAction(IdeAction.java:551)
         at oracle.ide.controller.IdeAction$2.run(IdeAction.java:804)
         at oracle.ide.controller.IdeAction.actionPerformedImpl(IdeAction.java:823)
         at oracle.ide.controller.IdeAction.actionPerformed(IdeAction.java:521)
         at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
         at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
         at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
         at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
         at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
         at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1216)
         at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1257)
         at java.awt.Component.processMouseEvent(Component.java:6038)
         at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
         at java.awt.Component.processEvent(Component.java:5803)
         at java.awt.Container.processEvent(Container.java:2058)
         at java.awt.Component.dispatchEventImpl(Component.java:4410)
         at java.awt.Container.dispatchEventImpl(Container.java:2116)
         at java.awt.Component.dispatchEvent(Component.java:4240)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
         at java.awt.Container.dispatchEventImpl(Container.java:2102)
         at java.awt.Window.dispatchEventImpl(Window.java:2429)
         at java.awt.Component.dispatchEvent(Component.java:4240)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

    Since posting, I have moved to 1.5 but still have problems. Also, I am using Linux not Windows. For testing purposes I set up an external tool called "echo" with the following configuration:
    Program executable: /bin/echo
    Arguments: TERM:${env:var=TERM} sqldev.conn:${sqldev.conn} sqldev.dbuser:${sqldev.dbuser}
    Run Directory: /bin
    I have added the tool to "Tools Menu", "Navigator Context Menu" and "Code Editor Context Menu"
    Enabled is set to "Always"
    If I highlight the a connection and then right click, and select "echo" the following is displayed in the log:
    /bin>
    /bin/echo TERM: sqldev.conn: sqldev.dbuser:
    TERM: sqldev.conn: sqldev.dbuser:
    In order to get any of the values populated I have to expand not only the connection so that all the items (Tables, Views, Indexes, etc) are displayed but also one of these sub items as well. If I expand tables and then right click on any given table I will finally get some output from my echo command:
    /bin>
    /bin/echo TERM: sqldev.conn:jdbc:oracle:thin:@db.server.domain:1526:prod sqldev.dbuser:
    TERM: sqldev.conn:jdbc:oracle:thin:@db.server.doamin:1526:prod sqldev.dbuser:
    It seems to me that if I want to run SQL*PLus I should just highlight the connection name and it should use that information in whatever external tool I have configured.

  • How to install and use sql server express 2014 with tools

    I am a student and have an assignment that requires I use either mysql or sql server, so I chose to download and install sql server express 2014 with tools, but after installation was complete all I can see is sql server 2014 import and export data (64-bit)
    and I have no clue what to do wiith it...I had used sql server 2008 a couple  of  years ago and it was easy, but this is very complicated, I have been trying to get this done for 2 days now, so someone please help me and tell me what I am doing wrong.

    Hi,
    It seems you did not installed complete software. Make sure you have downloaded below from
    SQL Server Express Download link
    Express with Advanced Services (SQLEXPRADV) when you click on Get started button on page displayed by clicking on above link. This download includes Sql Server Management Studio as well.
    Before moving I would Like you to first read
    Hardware and Software requirements
    Please refer 
    how to install SQL server 2014 express
    Above Link is for Enterprise edition  but you can use it for express as well. When you reach page feature selection please select all features to install.
    Please mark this reply as answer if it solved your issue or vote as helpful if it helped so that other forum members can benefit from it.
    My TechNet Wiki Articles

  • JDeveloper, external tools, same parameters for 2 VO, page layout..

    Hi,
    JDeveloper Studio Edition Version 11.1.2.3.0. I have a few questions:
    1.) External tools can be added to JDeveloper. But how can I add the libraries or components of that tool to the IDE?
    2.) In our application there are 2 VO based on a union select that have the same parameters. These VOs are linked.
    However, the results must be shown in 2 separate adf tables. I tried to execute, but received, missing IN- OUT-Parameters...
    All parameters are set to required and partial triggers are also configured.
    3.) I set the document size to a fixed size in pixel. However, the components on the page should not stretch. Which technique
    is best for this? Embedding html in adf, i.e. an html table for the base page layout and insert adf inside?
    4.) I must also create, i.e. a custom accordion panel (color and icon), menus and submenus. Not skinning. Is this possible in JDev.?
    Thanks for your help/feedback!

    1) external tools should be self containing. This means they should be applications which can run on their own, like Notepad. What you want to to is to add a library.
    2) we need more info. A VO can be based on a union but it doesn't have a connection to an other VO which might be based on the same union. So for me there is some information missing
    3) Web applications don't (shouldn't) use fix size. Instead of setting the size on the document you should use a layout container like panelGroupLayout which doesn't stretch its children.
    4) Sure, but why?
    Timo

  • Security Audit Log SM19 and Log Management external tool

    Hi all,
    we are connecting a SAP ECC system with a third part product for log management.
    Our SAP system is composed by many application servers.
    We have connected the external tool with the SAP central system.
    The external product gathers data from SAP Security Audit Log (SM19/SM20).
    The problem is that we see, in the external tool,  only the data available in the central system.
    The mandatory parameters have been activated and the system has been restarted.
    The strategy of SAP Security Audit Log is to create many audit log file for each application server. Probably, only when SM20 is started, all audit files from all application servers are read and collected.
    In our scenario, we do not use SM20 since we want read the collected data in the external tool.
    Is there a job to be scheduled (or something else) in order to have all Security Audit Log available (from all application servers) in the central instance ?
    Thanks in advance.
    Andrea Cavalleri

    I am always amazed at these questions...
    For one, SAP provides an example report ( RSAU_READ_AUDITLOG_EXTERNAL ) to use BAPIs for alerts from the audit log yet 3rd party solutions seem to be alergic to using APIs for some reason.
    However, mainly I do not understand why people don't use the CCMS (tcode RZ20) security templates and monitor the log centrally from SolMan. You can do a million cool things in SolMan... but no...
    Cheers,
    Julius

  • 2.1 EA2: is it possible to pass current line number to external tool

    When I define external tools (in Tools / External Tools...) I can pass current file name and directory to my external program.
    Is it also possible to pass current line number (where is my cursor in open file) to external program as a parameter?
    If not then it would be a feature request from me :)
    And also - is it possible to develop SQL Developer extensions for syntax color coding of other file types (meaning other than PL/SQL files)?

    raymonds,
    For line numbers, we cannot do it at the moment as it is not exposed in that API, however, you can request it on http://sqldeveloper.oracle.com at the feature request station
    For color coding for another language, you can develop a hilighting plugin, but we do not have an easy way of associating the plugin with an editor for a specific file type. Again this would be a feature request.
    Remember, all these get evaluated each month and assigned into Enhancements for the tool. If enough folks vote for the feature, it is highly likely it will appear.
    Barry

  • Create Plug-in or run external tool on build process

    I would like to perform some additional file handling/creation during the building/publish process and make use of the conditional build tags.
    so, is it possible to create a plug-in for Robohelp or maybe run an external tool during the build/publish process.
    Making use of the Conditional buildtags is essential.
    Thank you for your help

    You should look into the scripting support provided in RoboHelp 9. There you can do many things including file manipulation, SSL generation setting CBT's, and many more.
    Please look @ http://help.adobe.com/en_US/RoboHelp/8.0/Scripting/robohelp_8_scripting.pdf
    In Robohelp 9, there are many sample scripts provided to showcase the power of scripting in RoboHelp. It includes script to generate ePub output and eclipse Help Output, using scripting API only.
    thanks
    Praful

  • Edit External Tool error in 1.1.0.21.97

    From the Edit External Tools Wizard, clicking on Display or Next Button to go to Step 2 of the Wizard gives the following stack trace:
    java.lang.NullPointerException
         at oracle.ide.net.URLFileSystemHelper.getPath(URLFileSystemHelper.java:429)
         at oracle.ide.net.URLFileSystem.getPath(URLFileSystem.java:615)
         at oracle.ide.net.IdeURLFileSystemHelper.getPath(IdeURLFileSystemHelper.java:166)
         at oracle.ide.net.URLFileSystem.getPath(URLFileSystem.java:615)
         at oracle.ideimpl.externaltools.ui.ToolDisplayPanel.updatePreviewIcon(ToolDisplayPanel.java:218)
         at oracle.ideimpl.externaltools.ui.ToolDisplayPanel.loadOptions(ToolDisplayPanel.java:326)
         at oracle.ideimpl.externaltools.ui.ExternalToolsWizard.pageSelected(ExternalToolsWizard.java:508)
         at oracle.ideimpl.externaltools.ui.ExternalToolsWizard.mav$pageSelected(ExternalToolsWizard.java:59)
         at oracle.ideimpl.externaltools.ui.ExternalToolsWizard$WizardHandler.wizardSelectionChanged(ExternalToolsWizard.java:457)
         at oracle.bali.ewt.wizard.BaseWizard.processWizardEvent(Unknown Source)
         at oracle.bali.ewt.wizard.BaseWizard.processEventImpl(Unknown Source)
         at oracle.bali.ewt.LWComponent.processEvent(Unknown Source)
         at oracle.bali.ewt.wizard.BaseWizard.selectPage(Unknown Source)
         at oracle.bali.ewt.wizard.ReentrantWizard.selectPage(Unknown Source)
         at oracle.bali.ewt.wizard.BaseWizard.selectPage(Unknown Source)
         at oracle.bali.ewt.wizard.ReentrantWizard.doPrevious(Unknown Source)
         at oracle.bali.ewt.wizard.BaseWizard$Action.actionPerformed(Unknown Source)
         at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
         at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
         at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
         at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
         at java.awt.Component.processMouseEvent(Component.java:5488)
         at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
         at java.awt.Component.processEvent(Component.java:5253)
         at java.awt.Container.processEvent(Container.java:1966)
         at java.awt.Component.dispatchEventImpl(Component.java:3955)
         at java.awt.Container.dispatchEventImpl(Container.java:2024)
         at java.awt.Component.dispatchEvent(Component.java:3803)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
         at java.awt.Container.dispatchEventImpl(Container.java:2010)
         at java.awt.Window.dispatchEventImpl(Window.java:1778)
         at java.awt.Component.dispatchEvent(Component.java:3803)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:153)
         at java.awt.Dialog$1.run(Dialog.java:517)
         at java.awt.Dialog$2.run(Dialog.java:545)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.awt.Dialog.show(Dialog.java:543)
         at java.awt.Component.show(Component.java:1300)
         at java.awt.Component.setVisible(Component.java:1253)
         at oracle.bali.ewt.wizard.WizardDialog.runDialog(Unknown Source)
         at oracle.bali.ewt.wizard.WizardDialog.runDialog(Unknown Source)
         at oracle.ideimpl.externaltools.ui.ExternalToolsWizard.runEditWizard(ExternalToolsWizard.java:230)
         at oracle.ideimpl.externaltools.ui.ToolListPanel.doEditCommand(ToolListPanel.java:614)
         at oracle.ideimpl.externaltools.ui.ToolListPanel.mav$doEditCommand(ToolListPanel.java:80)
         at oracle.ideimpl.externaltools.ui.ToolListPanel$ButtonListener.actionPerformed(ToolListPanel.java:736)
         at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
         at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
         at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
         at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
         at java.awt.Component.processMouseEvent(Component.java:5488)
         at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
         at java.awt.Component.processEvent(Component.java:5253)
         at java.awt.Container.processEvent(Container.java:1966)
         at java.awt.Component.dispatchEventImpl(Component.java:3955)
         at java.awt.Container.dispatchEventImpl(Container.java:2024)
         at java.awt.Component.dispatchEvent(Component.java:3803)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
         at java.awt.Container.dispatchEventImpl(Container.java:2010)
         at java.awt.Window.dispatchEventImpl(Window.java:1778)
         at java.awt.Component.dispatchEvent(Component.java:3803)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:153)
         at java.awt.Dialog$1.run(Dialog.java:517)
         at java.awt.Dialog$2.run(Dialog.java:545)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.awt.Dialog.show(Dialog.java:543)
         at java.awt.Component.show(Component.java:1300)
         at java.awt.Component.setVisible(Component.java:1253)
         at oracle.bali.ewt.dialog.JEWTDialog.runDialog(Unknown Source)
         at oracle.bali.ewt.dialog.JEWTDialog.runDialog(Unknown Source)
         at oracle.ideimpl.externaltools.ui.ToolListPanel.runDialog(ToolListPanel.java:283)
         at oracle.ideimpl.externaltools.ExternalToolsController.handleEvent(ExternalToolsController.java:18)
         at oracle.ideimpl.controller.IdeActionHook$MetaClassController.handleEvent(IdeActionHook.java:272)
         at oracle.ide.controller.IdeAction.performAction(IdeAction.java:551)
         at oracle.ide.controller.IdeAction$2.run(IdeAction.java:804)
         at oracle.ide.controller.IdeAction.actionPerformedImpl(IdeAction.java:823)
         at oracle.ide.controller.IdeAction.actionPerformed(IdeAction.java:521)
         at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
         at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
         at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
         at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
         at javax.swing.AbstractButton.doClick(AbstractButton.java:302)
         at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1000)
         at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1041)
         at java.awt.Component.processMouseEvent(Component.java:5488)
         at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
         at java.awt.Component.processEvent(Component.java:5253)
         at java.awt.Container.processEvent(Container.java:1966)
         at java.awt.Component.dispatchEventImpl(Component.java:3955)
         at java.awt.Container.dispatchEventImpl(Container.java:2024)
         at java.awt.Component.dispatchEvent(Component.java:3803)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
         at java.awt.Container.dispatchEventImpl(Container.java:2010)
         at java.awt.Window.dispatchEventImpl(Window.java:1778)
         at java.awt.Component.dispatchEvent(Component.java:3803)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
    Click on OK and get a second error:
    ava.lang.NullPointerException
         at oracle.ide.net.URLFileSystemHelper.getPath(URLFileSystemHelper.java:429)
         at oracle.ide.net.URLFileSystem.getPath(URLFileSystem.java:615)
         at oracle.ide.net.IdeURLFileSystemHelper.getPath(IdeURLFileSystemHelper.java:166)
         at oracle.ide.net.URLFileSystem.getPath(URLFileSystem.java:615)
         at oracle.ideimpl.externaltools.ui.ToolDisplayPanel.updatePreviewIcon(ToolDisplayPanel.java:218)
         at oracle.ideimpl.externaltools.ui.ToolDisplayPanel.loadOptions(ToolDisplayPanel.java:326)
         at oracle.ideimpl.externaltools.ui.ExternalToolsWizard.pageSelected(ExternalToolsWizard.java:508)
         at oracle.ideimpl.externaltools.ui.ExternalToolsWizard.mav$pageSelected(ExternalToolsWizard.java:59)
         at oracle.ideimpl.externaltools.ui.ExternalToolsWizard$WizardHandler.wizardSelectionChanged(ExternalToolsWizard.java:457)
         at oracle.bali.ewt.wizard.BaseWizard.processWizardEvent(Unknown Source)
         at oracle.bali.ewt.wizard.BaseWizard.processEventImpl(Unknown Source)
         at oracle.bali.ewt.LWComponent.processEvent(Unknown Source)
         at oracle.bali.ewt.wizard.BaseWizard.selectPage(Unknown Source)
         at oracle.bali.ewt.wizard.ReentrantWizard.selectPage(Unknown Source)
         at oracle.bali.ewt.wizard.BaseWizard.selectPage(Unknown Source)
         at oracle.bali.ewt.wizard.ReentrantWizard.doNext(Unknown Source)
         at oracle.bali.ewt.wizard.BaseWizard$Action.actionPerformed(Unknown Source)
         at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
         at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
         at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
         at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
         at java.awt.Component.processMouseEvent(Component.java:5488)
         at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
         at java.awt.Component.processEvent(Component.java:5253)
         at java.awt.Container.processEvent(Container.java:1966)
         at java.awt.Component.dispatchEventImpl(Component.java:3955)
         at java.awt.Container.dispatchEventImpl(Container.java:2024)
         at java.awt.Component.dispatchEvent(Component.java:3803)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
         at java.awt.Container.dispatchEventImpl(Container.java:2010)
         at java.awt.Window.dispatchEventImpl(Window.java:1778)
         at java.awt.Component.dispatchEvent(Component.java:3803)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:153)
         at java.awt.Dialog$1.run(Dialog.java:517)
         at java.awt.Dialog$2.run(Dialog.java:545)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.awt.Dialog.show(Dialog.java:543)
         at java.awt.Component.show(Component.java:1300)
         at java.awt.Component.setVisible(Component.java:1253)
         at oracle.bali.ewt.wizard.WizardDialog.runDialog(Unknown Source)
         at oracle.bali.ewt.wizard.WizardDialog.runDialog(Unknown Source)
         at oracle.ideimpl.externaltools.ui.ExternalToolsWizard.runEditWizard(ExternalToolsWizard.java:230)
         at oracle.ideimpl.externaltools.ui.ToolListPanel.doEditCommand(ToolListPanel.java:614)
         at oracle.ideimpl.externaltools.ui.ToolListPanel.mav$doEditCommand(ToolListPanel.java:80)
         at oracle.ideimpl.externaltools.ui.ToolListPanel$ButtonListener.actionPerformed(ToolListPanel.java:736)
         at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
         at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
         at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
         at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
         at java.awt.Component.processMouseEvent(Component.java:5488)
         at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
         at java.awt.Component.processEvent(Component.java:5253)
         at java.awt.Container.processEvent(Container.java:1966)
         at java.awt.Component.dispatchEventImpl(Component.java:3955)
         at java.awt.Container.dispatchEventImpl(Container.java:2024)
         at java.awt.Component.dispatchEvent(Component.java:3803)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
         at java.awt.Container.dispatchEventImpl(Container.java:2010)
         at java.awt.Window.dispatchEventImpl(Window.java:1778)
         at java.awt.Component.dispatchEvent(Component.java:3803)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:153)
         at java.awt.Dialog$1.run(Dialog.java:517)
         at java.awt.Dialog$2.run(Dialog.java:545)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.awt.Dialog.show(Dialog.java:543)
         at java.awt.Component.show(Component.java:1300)
         at java.awt.Component.setVisible(Component.java:1253)
         at oracle.bali.ewt.dialog.JEWTDialog.runDialog(Unknown Source)
         at oracle.bali.ewt.dialog.JEWTDialog.runDialog(Unknown Source)
         at oracle.ideimpl.externaltools.ui.ToolListPanel.runDialog(ToolListPanel.java:283)
         at oracle.ideimpl.externaltools.ExternalToolsController.handleEvent(ExternalToolsController.java:18)
         at oracle.ideimpl.controller.IdeActionHook$MetaClassController.handleEvent(IdeActionHook.java:272)
         at oracle.ide.controller.IdeAction.performAction(IdeAction.java:551)
         at oracle.ide.controller.IdeAction$2.run(IdeAction.java:804)
         at oracle.ide.controller.IdeAction.actionPerformedImpl(IdeAction.java:823)
         at oracle.ide.controller.IdeAction.actionPerformed(IdeAction.java:521)
         at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
         at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
         at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
         at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
         at javax.swing.AbstractButton.doClick(AbstractButton.java:302)
         at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1000)
         at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1041)
         at java.awt.Component.processMouseEvent(Component.java:5488)
         at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
         at java.awt.Component.processEvent(Component.java:5253)
         at java.awt.Container.processEvent(Container.java:1966)
         at java.awt.Component.dispatchEventImpl(Component.java:3955)
         at java.awt.Container.dispatchEventImpl(Container.java:2024)
         at java.awt.Component.dispatchEvent(Component.java:3803)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
         at java.awt.Container.dispatchEventImpl(Container.java:2010)
         at java.awt.Window.dispatchEventImpl(Window.java:1778)
         at java.awt.Component.dispatchEvent(Component.java:3803)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
    After that Editing appears to work OK.

    Yes thanks. A known issue. It won't be updated for the next evaluation release, but is a priority bug for us.
    As you have seen, there is no problem with the External Tool definitions, so you can go ahead and add what you need.
    Sue

  • Using Airport Express for External speakers and Apple TV.  When I'm on MAC computer adn using internet sound from Internet does not go through external speakers.  Instead it comes out of Mac computer speaker.  Why?

    Using Airport Express for External speakers and Apple TV.  When I'm on MAC computer adn using internet sound from Internet does not go through external speakers.  Instead it comes out of Mac computer speaker.  Why?

    As far as I know, the Airport Express only transmits sounds via Itunes. So every other sound (internet, but also incoming mail) will be coming out of your mac instead of your external speakers.

  • MDX - function expects a string or numeric expression for the 1 argument. A tuple set expression was used.

    why this query
    select [Measures].[F Events Count] on 0,
    Filter([D Actor Player].[Actor].children,
    ([Measures].[F Events Count],
    {([D Date].[Hierarchy].[Season].[2012 - 2013]),([D Date].[Hierarchy].[Season].[2013 - 2014])},
    [D Result].[Result].&[Goal])
    >=5) on 1
    from [FBA Cube]
    gives this error:
    Query (3, 3) The >= function expects a string or numeric expression for the 1 argument. A tuple set expression was used.
    while the following query works fine
    select [Measures].[F Events Count] on 0,
    Filter([D Actor Player].[Actor].children,
    ([Measures].[F Events Count],
    [D Date].[Hierarchy].[Season].[2012 - 2013],
    [D Result].[Result].&[Goal])
    >=5) on 1
    from [FBA Cube]
    why having set inside Filter's boolean expression generates that error? how can we
    keep the set inside the Filter's boolean expression but
    solve the problem? please explain the reason and solution

    Hi Butmah ,
    I think you should use an aggregation function with the set and the tuple ... adding an AdventureWorks snippet :
    select [Measures].[Order Count] on 0,
    Filter([Product].[Category].children,
    SUM({[Date].[Fiscal].[Fiscal Year].&[2011],[Date].[Fiscal].[Fiscal Year].&[2009]}
    ,([Measures].[Order Count],[Geography].[Geography].[Country].&[United States])
    >=5) on 1 
    from [Adventure Works]
    Regards, David .

Maybe you are looking for