Braces with ExpressionBuilder

How can I control braces in SQL generated from expression builder?
I have a lot of subconditions connected by 'or'. I use the expression builder as this:
Expression ex = <get expression for 1st subcondition>;
while(loop)
ex = ex.or(<get expression for other subconditions>);
The generated SQL has deeply nested braces like this:
WHERE ((((((((cond1) or (cond2)) or (cond3)) ...
How can I get more readable (and perhaps for the database easier to parse) SQL like:
WHERE ((cond1) or (cond2) or (cond3) ...)
with all subconditions on the same brace level?

Uwe,
Changing brackets generated by TopLink's expression framework is not supported. TopLink processes only two children (two subconditions) at a single time. It adds brackets around two children at each level because it does not know what the operator is at the next level.
Shannon

Similar Messages

  • Draw Braces "}" with iWork

    HELP!
    I tried to draw a big "}" with iWork. Like the qubes and circles... But I could'nt!!! It's so easy on Microsoft Office, why not in iWork? Am I to stupid or isn't it possible to do this with iWork?

    If you want to make the curly brace a "Shape" you have to do it outside of Pages in a drawing program and bring it back in.
    I presume you want to do this because you want to put an image inside of it or use a blend, there would be no other reason why you need this.
    1. Open a Drawing program, see the list here:
    http://www.freeforum101.com/iworktipsntrick/viewtopic.php?t=71&mforum=iworktipsn trick
    2. Type the } character and outline it (turn it into a drawing)
    3. Save it as a .svg file
    4. Open it with svg2key and convert it to a Keynote file
    http://mcb.berkeley.edu/labs/zusman/dave/svg2key/
    5. Open it in Keynote and copy it from there into Pages
    If you just want it as a graphic, type it in a textbox as previously described and copy the box by command clicking on it, into the Preview application which turns it into a pdf. Save that and bring it back into Pages as a .pdf graphic.
    Peter

  • Expression questions

    In looking at the SQL that Toplink generates from the expressions one sees more joins than would be expected. Can somebody provide a reason for that ?
    Also would the usage of parentheses in the expressions make any change to the SQL that is generated ?
    I read in another post that Toplink only generates two children no matter how complicated the expression is. Can some explanation be given for this as well ? Does this impact how I design my expressions ?
    I dont have such a specific problem as such but answers to the above question would enhance my understanding of Toplinl

    In looking at the SQL that Toplink generates fromthe
    expressions one sees more joins than would be
    expected. Can somebody provide a reason for that ?Can you provide an example? The generated SQL is
    based on your mappings and on what you specify in
    your expression. For example, if you don't have
    indirection (lazy loading) turned on in a one:many
    relationship, then when you query for a 'one' you'll
    see a join between the table for the one and for the
    many.OK I will provide an example within the next couple of days.
    >
    Also would the usage of parentheses in the
    expressions make any change to the SQL that is
    generated ?Parenthesis in and of themselves don't affect the SQL
    but if you use parenthesis to change your query then
    yes, it will affect the SQL.
    I read in another post that Toplink onlygenerates
    two children no matter how complicated theexpression
    is. Can some explanation be given for this as well?
    I'm not sure what you mean by "generates". Can you
    give an example?
    Well I was referring to this post specifically. Can you tell me what that means exactly ?
    Re: Braces with ExpressionBuilder
    Why does Toplink process only two sub conditions at a time ?
    --Shaun                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Count the number of occurence in table with toplink

    Hi !
    there is no way to build a query with expressionbuilder or .... to count the number of occurences in my table ?
    i don't want use query " select count(*) from table "
    thanks

    Not sure of the question. Are you looking to get the sql "select count(*) from table" from using the TopLink expression framework or are you getting that SQL already and want something else?
    If you are looking just to get the count from a table/class, you can use a ReportQuery:
    ReportQuery rquery = new ReportQuery(ClassToQueryOn.class);
    rquery.addCount(); //equivalent to count(*);
    session.executeQuery(rquery);
    You can use a report query to return data instead of objects, and use selection criteria just like a normal read query.
    Best Regards,
    Chris

  • LSMW recording with XK02 to enter Bank details after the current bank data

    Hi
    I am using LSMW with Recording method to populate the Bank details of XK02. Here i need to get the number of Bank details using LFBK table because user need to enter the loaded Bank data as a new line each time. Please let me know in which place can i enter this Select statement to get the number of records and how can get this in LSMW.
    Please let me know this.
    Basani.

    Hi Friend,
    The table control can be handle by the index recording, you need to record it with the index number in the braces with the record counter.
    If you want to enter multiple entries into table control you need to go with report approach. you can't handle it in the LSMW.
    Better to go with any BAPI or IDOC approach for the same.
    the dummy recording for table control is as follows for your reference:-
    *Second Screen
        PERFORM z_bdc_dynpro      USING 'SAPMV10A' '0200'.
        PERFORM z_bdc_field       USING 'BDC_CURSOR'
                                      'MV10A-MATNR(01)'.
        PERFORM z_bdc_field       USING 'BDC_OKCODE'
                                      '/00'.
    First Material number
        PERFORM z_bdc_field       USING 'MV10A-MATNR(01)' <-------This is the table control index and the counter needs to be handle in report itself.
                                    wa_cmir-matnr.
        PERFORM z_bdc_dynpro      USING 'SAPMV10A' '0200'.
        PERFORM z_bdc_field       USING 'BDC_CURSOR'
                                      'MAAPV-ARKTX(01)'.
        PERFORM z_bdc_field       USING 'BDC_OKCODE'
                                      '=SELE'.
    Customer material
        PERFORM z_bdc_field       USING 'MV10A-KDMAT(01)'
                                    wa_cmir-kdmat.
        PERFORM z_bdc_dynpro      USING 'SAPMV10A' '0300'.
        PERFORM z_bdc_field       USING 'BDC_CURSOR'
                                      'MV10A-VWPOS'.
        PERFORM z_bdc_field       USING 'BDC_OKCODE'
                                      'BACK'.
    Regards;
    Dhirendra

  • Regular Expressions - matching a brace

    I am a bit of a begginner when it comes to regular expressions - but I am trying to replace all curly braces - {} in a string with normal brackets - ().
    This is how I'm trying to do it -
    //replace any curly braces with normal brackets
    Pattern p = Pattern.compile("{");
    Matcher m = p.matcher(value);
    value = m.replaceAll("(");
    However, I get an exception when my code is run: "java.util.regex.PatternSyntaxException: Illegal repetition {"
    Any idea how to replace a brace character? Also, is there an easy way to replace both the open brace - { and close brace - } characters in one expression?
    Regards,
    Jake

    ..Also, is there an easy way to replace both the open brace - {
    and close brace - } characters in one expression?
      // only for paired curly braces
      while (target.matches(".*\\{(.*)\\}.*")) {
        target = target.replaceAll("\\{(.*)\\}", "($1)");

  • Installation of ISO: With partitioning already done, where do I start?

    The document I refer to is: http://ebalaskas.gr/wiki/archlinux/netinstall#h254-14
    My question is:
    Given that I have already used gparted to create a bootable partition, can I forego the first stages of the install procedure as set forth in the wiki
    (which are all to do with partitioning, and creating a swap file) and proceed straight to the install?
    If so, does that mean that my first task is to create mount points?
    Thanks in advance for any help.
    Last edited by textillis (2013-06-03 14:12:12)

    textillis wrote:
    Listen pal, FYI: I took that site from an earlier respondent to this thread.
    I am just trying to get oriented around here: your tone comes across as condescending, then finally just boorish.
    Is that how you wish to come across?
    (does the trilby go with braces, lederhosen and a very short, centred moustache?)
    Following that rhetorical question with an example of Godwin's law undermines the whole post.
    Please keep in mind that tone is often lost in online posts. Trilby's point is correct and intended to steer you in the right direction. We only offer support on this forum for the "official" installation guides. If you want to follow something else then you are free to do so, but we cannot help you with that, only the author can. Obviously we recommend the official guides and wiki. They are the most accurate and up-to-date.
    I'd also like to ask you to please stop top-posting when you quote others.
    *pulls out braces with thumbs and struts off in lederhosen*

  • Can't set up irssi colors

    I'm feeling really... stupid. I just can't set up irssi colors, almost ashame for asking advice on this
    Here's my theme (just cloned the default theme):
    # When testing changes, the easiest way to reload the theme is with /RELOAD.
    # This reloads the configuration file too, so if you did any changes remember
    # to /SAVE it first. Remember also that /SAVE overwrites the theme file with
    # old data so keep backups :)
    # TEMPLATES:
    # The real text formats that irssi uses are the ones you can find with
    # /FORMAT command. Back in the old days all the colors and texts were mixed
    # up in those formats, and it was really hard to change the colors since you
    # might have had to change them in tens of different places. So, then came
    # this templating system.
    # Now the /FORMATs don't have any colors in them, and they also have very
    # little other styling. Most of the stuff you need to change is in this
    # theme file. If you can't change something here, you can always go back
    # to change the /FORMATs directly, they're also saved in these .theme files.
    # So .. the templates. They're those {blahblah} parts you see all over the
    # /FORMATs and here. Their usage is simply {name parameter1 parameter2}.
    # When irssi sees this kind of text, it goes to find "name" from abstracts
    # block below and sets "parameter1" into $0 and "parameter2" into $1 (you
    # can have more parameters of course). Templates can have subtemplates.
    # Here's a small example:
    # /FORMAT format hello {colorify {underline world}}
    # abstracts = { colorify = "%G$0-%n"; underline = "%U$0-%U"; }
    # When irssi expands the templates in "format", the final string would be:
    # hello %G%Uworld%U%n
    # ie. underlined bright green "world" text.
    # and why "$0-", why not "$0"? $0 would only mean the first parameter,
    # $0- means all the parameters. With {underline hello world} you'd really
    # want to underline both of the words, not just the hello (and world would
    # actually be removed entirely).
    # COLORS:
    # You can find definitions for the color format codes in docs/formats.txt.
    # There's one difference here though. %n format. Normally it means the
    # default color of the terminal (white mostly), but here it means the
    # "reset color back to the one it was in higher template". For example
    # if there was /FORMAT test %g{foo}bar, and foo = "%Y$0%n", irssi would
    # print yellow "foo" (as set with %Y) but "bar" would be green, which was
    # set at the beginning before the {foo} template. If there wasn't the %g
    # at start, the normal behaviour of %n would occur. If you _really_ want
    # to use the terminal's default color, use %N.
    # default foreground color (%N) - -1 is the "default terminal color"
    default_color = "-1";
    # print timestamp/servertag at the end of line, not at beginning
    info_eol = "false";
    # these characters are automatically replaced with specified color
    # (dark grey by default)
    replaces = { "[]=" = "%K$*%n"; };
    abstracts = {
    ## generic
    # text to insert at the beginning of each non-message line
    line_start = "%B-%n!%B-%n ";
    # timestamp styling, nothing by default
    timestamp = "%K$*%n";
    # any kind of text that needs hilighting, default is to bold
    hilight = "%_$*%_";
    # any kind of error message, default is bright red
    error = "%R$*%n";
    # channel name is printed
    channel = "%_$*%_";
    # nick is printed
    nick = "%_$*%_";
    # nick host is printed
    nickhost = "[$*]";
    # server name is printed
    server = "%_$*%_";
    # some kind of comment is printed
    comment = "[$*]";
    # reason for something is printed (part, quit, kick, ..)
    reason = "{comment $*}";
    # mode change is printed ([+o nick])
    mode = "{comment $*}";
    ## channel specific messages
    # highlighted nick/host is printed (joins)
    channick_hilight = "%C$*%n";
    chanhost_hilight = "{nickhost %c$*%n}";
    # nick/host is printed (parts, quits, etc.)
    channick = "%c$*%n";
    chanhost = "{nickhost $*}";
    # highlighted channel name is printed
    channelhilight = "%c$*%n";
    # ban/ban exception/invite list mask is printed
    ban = "%c$*%n";
    ## messages
    # the basic styling of how to print message, $0 = nick mode, $1 = nick
    msgnick = "%K<%y$0%n$1-%K>%n %|";
    # message from you is printed. "msgownnick" specifies the styling of the
    # nick ($0 part in msgnick) and "ownmsgnick" specifies the styling of the
    # whole line.
    # Example1: You want the message text to be green:
    # ownmsgnick = "{msgnick $0 $1-}%g";
    # Example2.1: You want < and > chars to be yellow:
    # ownmsgnick = "%Y{msgnick $0 $1-%Y}%n";
    # (you'll also have to remove <> from replaces list above)
    # Example2.2: But you still want to keep <> grey for other messages:
    # pubmsgnick = "%K{msgnick $0 $1-%K}%n";
    # pubmsgmenick = "%K{msgnick $0 $1-%K}%n";
    # pubmsghinick = "%K{msgnick $1 $0$2-%n%K}%n";
    # ownprivmsgnick = "%K{msgnick $*%K}%n";
    # privmsgnick = "%K{msgnick %R$*%K}%n";
    # $0 = nick mode, $1 = nick
    ownmsgnick = "{msgnick $0 $1-}";
    ownnick = "%_$*%n";
    # public message in channel, $0 = nick mode, $1 = nick
    pubmsgnick = "{msgnick $0 $1-}";
    pubnick = "%N$*%n";
    # public message in channel meant for me, $0 = nick mode, $1 = nick
    pubmsgmenick = "{msgnick $0 $1-}";
    menick = "%Y$*%n";
    # public highlighted message in channel
    # $0 = highlight color, $1 = nick mode, $2 = nick
    pubmsghinick = "{msgnick $1 $0$2-%n}";
    # channel name is printed with message
    msgchannel = "%K:%c$*%n";
    # private message, $0 = nick, $1 = host
    privmsg = "[%R$0%K(%r$1-%K)%n] ";
    # private message from you, $0 = "msg", $1 = target nick
    ownprivmsg = "[%r$0%K(%R$1-%K)%n] ";
    # own private message in query
    ownprivmsgnick = "{msgnick $*}";
    ownprivnick = "%_$*%n";
    # private message in query
    privmsgnick = "{msgnick %R$*%n}";
    ## Actions (/ME stuff)
    # used internally by this theme
    action_core = "%_ * $*%n";
    # generic one that's used by most actions
    action = "{action_core $*} ";
    # own action, both private/public
    ownaction = "{action $*}";
    # own action with target, both private/public
    ownaction_target = "{action_core $0}%K:%c$1%n ";
    # private action sent by others
    pvtaction = "%_ (*) $*%n ";
    pvtaction_query = "{action $*}";
    # public action sent by others
    pubaction = "{action $*}";
    ## other IRC events
    # whois
    whois = "%# $[8]0 : $1-";
    # notices
    ownnotice = "[%r$0%K(%R$1-%K)]%n ";
    notice = "%K-%M$*%K-%n ";
    pubnotice_channel = "%K:%m$*";
    pvtnotice_host = "%K(%m$*%K)";
    servernotice = "%g!$*%n ";
    # CTCPs
    ownctcp = "[%r$0%K(%R$1-%K)] ";
    ctcp = "%g$*%n";
    # wallops
    wallop = "%_$*%n: ";
    wallop_nick = "%n$*";
    wallop_action = "%_ * $*%n ";
    # netsplits
    netsplit = "%R$*%n";
    netjoin = "%C$*%n";
    # /names list
    names_prefix = "";
    names_nick = "[%_$0%_$1-] ";
    names_nick_op = "{names_nick $*}";
    names_nick_halfop = "{names_nick $*}";
    names_nick_voice = "{names_nick $*}";
    names_users = "[%g$*%n]";
    names_channel = "%G$*%n";
    # DCC
    dcc = "%g$*%n";
    dccfile = "%_$*%_";
    # DCC chat, own msg/action
    dccownmsg = "[%r$0%K($1-%K)%n] ";
    dccownnick = "%R$*%n";
    dccownquerynick = "%_$*%n";
    dccownaction = "{action $*}";
    dccownaction_target = "{action_core $0}%K:%c$1%n ";
    # DCC chat, others
    dccmsg = "[%G$1-%K(%g$0%K)%n] ";
    dccquerynick = "%G$*%n";
    dccaction = "%_ (*dcc*) $*%n %|";
    ## statusbar
    # default background for all statusbars. You can also give
    # the default foreground color for statusbar items.
    sb_background = "%4%w";
    # default backround for "default" statusbar group
    #sb_default_bg = "%4";
    # background for prompt / input line
    sb_prompt_bg = "%n";
    # background for info statusbar
    sb_info_bg = "%8";
    # background for topicbar (same default)
    #sb_topic_bg = "%4";
    # text at the beginning of statusbars. sb-item already puts
    # space there,so we don't use anything by default.
    sbstart = "";
    # text at the end of statusbars. Use space so that it's never
    # used for anything.
    sbend = " ";
    topicsbstart = "{sbstart $*}";
    topicsbend = "{sbend $*}";
    prompt = "[$*] ";
    sb = " %c[%n$*%c]%n";
    sbmode = "(%c+%n$*)";
    sbaway = " (%GzZzZ%n)";
    sbservertag = ":$0 (change with ^X)";
    sbnickmode = "$0";
    # activity in statusbar
    # ',' separator
    sb_act_sep = "%c$*";
    # normal text
    sb_act_text = "%c$*";
    # public message
    sb_act_msg = "%W$*";
    # hilight
    sb_act_hilight = "%M$*";
    # hilight with specified color, $0 = color, $1 = text
    sb_act_hilight_color = "$0$1-%n";
    It's almost the way I want it, but a couple of things:
    - I want everyone nickname but mine in gray
    - I want the join/quit text (... has joined/quit) in gray
    - I want the mode (@, +, etc) in yellow
    I tried to format the text according irssi site, but without luck.
    For example tried this to change others nickname color:
    pubmsgnick = "{msgnick %y$0%n %K$1%n-}";
    pubnick = "%K$*%n";
    and this for the quit msg
    # mode change is printed ([+o nick])
    mode = "{comment %K$*%n}";
    # nick/host is printed (parts, quits, etc.)
    channick = "%c$*%n";
    chanhost = "{nickhost %c$*%n}";
    all without any luck. Also tried to put the format strings outside the curly braces, with the same result. I've been editing the config file for a while now, not sure what other information could you possibly need.
    I know it's not a big deal, I stil can use the program with no hassle, but it would really be nice to set the colors like that, to help me distinguish between lines.
    Thank you for reading, and sorry for my lousy english

    Nobody can tell you anything without proper system info or other technical details.
    Mylenium

  • Forms 10g installed and running on Windows Vista

    <font color=0000FF>Update 12-Dec-2008: </font>Oracle has published NOTE 559067.1 -- How to Install Developer Suite 10.1.2.0.2 - hence 10.1.2.3 - on Windows Vista, 24-OCT-2008 with some installation help.
    <font color=0000FF>Update 07-July-2008: </font> Added text at the bottom showing how to find patchsets for Forms 10g.
    <font color=0000FF>Update 29-May-2008: </font> This thread was started in November, 2007.  In January, 2008, Oracle released Patch 3 for Forms 10g, which makes Forms 10g compatible with Windows Vista.  As time permits I'll try to keep the information in this post up to date.   Updated information will be inserted <font color=0000FF>as blue text.
    </font>
    <font color=0000FF>Original message begins here:</font>
    This is a second thread I am posting to outline the steps I have used to install Forms on a Windows Vista Home Basic laptop.   The other thread describes installing Forms 6i:
          Forms 6i installed and running on Windows Vista
    Please read through the initial part of that post for the background.  I realize Oracle has not certified Forms 10g to run on Vista, but the time has come for my associates and I to upgrade our old computers to new desktop/laptop platforms, and I would hate to acquire XP machines and be stuck with them for the next 5 years.  <font color=0000FF>(Note: Since first posting this message, Oracle has certified Forms 10g Patch 3 (version 10.1.2.3.0) to run on Vista)</font>  So after another person informed me that he had Forms installed and running on Vista, I went ahead and bought one.  I found that as long as I set the compatibility mode to run Forms programs as Windows XP (and a few other changes), Forms 6i and 10g run quite satisfactorily.
    <font color=0000FF>Update 29-Jan-2008: </font> Unfortunately, it turns out that the Forms 10g Builder running on Vista <font color=0000FF>had</font> a major flaw:   If you try to develop a form, the Builder will crash if you try to compile a procedure that calls another procedure in the form that has errors.  The problem is reported and described in this thread:  Error compiling a form under Vista
    <font color=0000FF>Update 12-Mar-2008: </font> Installing Patch 3 on Vista does not help with this problem -- the Builder still crashes in the same situation.
    <font color=0000FF>Update 25-July-2008: </font> Applying Patch 7047034 has corrected the problem.   See this link within this thread:   Forms 10g: Installing Patch 7047034 on Windows Vista
    Webutil note:  I am stuck in a Forms 6i client/server world, so all my forms must run in that environment.   Therefore I have not used any Webutil software, and I do not know whether that part will run under Vista.
    Internet Explorer note:  On Windows Vista, IE CANNOT be used to run the Web Forms runtime.  It crashes immediately when you try to run a form.  Instead, I can use either Firefox (Firefox 2, Firefox 3.0 Crashes with Forms 10g) or Netscape, as long as they are set to disable java.  <font color=0000FF>[ Correction:   IE7 on Vista now runs the Forms 10g forms.   You just need to add "?config=jpi" to the browser URL when starting the Web Forms session.   More IE/Vista info: [url=http://forums.oracle.com/forums/thread.jspa?threadID=642973]Vista JInitiator Problem ]</font>
    The Oracle Developer Suite download page:
        http://www.oracle.com/technology/software/products/ids/index.html
    Oracle Developer Suite Installation Guide:
        http://download.oracle.com/docs/cd/B25016_07//doc/dl/core/B16012_04/toc.htm
    The steps below are those I followed to install Forms 10g (version 10.1.2.0.2)
    I.  Preliminary system changes in Windows
    When I started installing, I got the following error message:    Install has encountered an error while
        attempting to verify your virtual memory settings.
        Please verify that the sum of the initial sizes of
        the paging files is at least 256 MB.To fix this:  Go to Control Panel, System and Maintenance, View amount of RAM and processor speed (under "System"),
    Advanced system settings (in left "Tasks" column), Advanced tab, Settings (under "performance"), Advanced tab:
    Virtual Memory shows a "Total paging file size for all drives: 2337MB.
    Click "change", Uncheck "Automatically manage paging file size for all drives"
    Click "custom size:", set Initial size to: 2048, Max to 4096
    Click set button, then OK, get message:The changes you have made require you to restart your computer before
       they can take effect.Restart the computer.
    II.  Installing Forms 10g
    1.  Download two files from Oracle:
        ds_windows_x86_101202_disk1.zip (626,122,752 bytes)
        ds_windows_x86_101202_disk2.zip (236,880,881 bytes)
    2a.  Before extracting, it is a good idea to shut down any virus protection software.  It can sometimes prevent some files from being created.
    2b.  Extract both into the C:\oracle directory, as disk1 and disk2.
    3.  Using Windows Explorer, change the properties of setup.exe in the C:\oracle\disk1 folder.  (In windows explorer, right click, properties, Compatibility tab.)   Change the compatibility to run as Windows XP (Service Pack 2).
    4.  Right click setup.exe and click "Run as administrator"
    5.  Select "Installation type" = Complete (1.11 GB)
    6.  Received this message:Windows Firewall has blocked this program from
    accepting incoming network connections.  If you
    unblock this program, it will be unblocked on all
    public networks that you connect to.
    C:\users\steve\appdata\local\temp\orainstall...
      2007-10-29_11-59-08am\jre\1.4.2\bin\javaw.exeI clicked "Unblock"
    7.  Received this message:  "Provide outgoing mail server information"  I entered the smtp mail server that I use.
    8.  A summary screen displayed showing 274 products under New Installations.
    I clicked the Install button.
    9.   Received this message:  You can find a log of this install session at:
    C:\Program Files\Oracle\Inventory\logs\installActions2007.....log
    10.  The installation completed.  Installed products shows Forms 10.1.2.0.2
    III.  After the install completed
    1.  Create a shortcut to the Forms 10 Builder on the Desktop.
    On the shortcut line, after the .exe, add *userid=userxxx/pwxxx@orcl* so Builder automatically logs into 10g database.  If you do step 4 below (creating an easily-accessible folder to use for your forms) change the "Start in" path on the shortcut so it points to that folder.  Otherwise, Forms Builder will not find referenced objects and PLL libraries when it opens a form.  Also do the same on the Start, All Programs shortcut for the Forms Builder.
    Edit:  After applying Patch 3, the following steps are not necessary.
    Set its compatibility to Windows XP.
    Set checkbox: "Run this program as as an administrator."  (Without this, FormBuilder will NOT open a PLL library.)
    Click the "Show settings for all users" and change values there.
    2.  Copy "Start OC4J Instance" icon to desktop.
    Set its compatibility to Windows XP.
    The first time it runs, I got a Windows popup to unblock program named Java.  I clicked "Unblock".
    3.  tnsnames.ora:
    Rename C:\oracle\DevSuiteHome_1\network\admin\tnsnames.ora
    to:  tnsnames_orig.ora
    If you created a tnsnames.ora file for Forms 6i, just copy it to the path above.  If not, do this:
    Create a new tnsnames.ora file, copying entries old file on my old laptop, which contains all the connections I use.
    Delete the old laptop entry, replace with new entry for the new local ORCL connection on new laptop from tnsnames file renamed from the c:\oracle\... ...\10.2.0\db_1\ path.
    4.  Optional:  Create an easily accessible folder to store fmb files:
    C:\users\steve\.1\fmb10
    You don't really want to keep drilling into C:\oracle\DevSuiteHome_1\forms, and then find your .fmb file among the several dozen oracle-supplied files.
    To create a folder named .1, you have to open a CMD.exe (Windows DOS) window, and type the Make Directory command:
    MD .1
    That will create the folder within the current directory -- mine defaults to C:\users\steve
    Note:  If you also need to use Forms 6i like me, DO NOT EVER open a .fmb file in the Forms 10 Builder from the Forms 6i folder.  If you compile it, or even worse, save the .fmb, Forms 6i *cannot ever* access the file.  Instead, always use the File Manager (Windows Explorer) to copy the fmb from the fmb6 folder into the fmb10 location.
    5.  Change the Forms 10g Default.env file using a text editor.
    This file replaces all the settings originally written to the Windows Registry (GREAT idea, Oracle!  I hate the registry.)  No more Regedit.  The default.env file is located at: (DevSuiteHome_1 path)\forms\server\default.env
    Locate line with:  FORMS_PATH= and add:
        ;C:\users\steve\.1\fmb10
    Add a new line:
    FORMS_MMAP=FALSE
    The above allows compiling an fmx while the form is running.
    Add a new line:
    FORMS_ROWLOCK_OPTIMIZATION=FALSE
    (This fixes Oracle bug number 3949854, which prevents automatic skipping if the same value is typed over another value. TAR 4806199.993 Automatic Skip failure...)  See bug 4068896
    Add a new Line:
    FORMS_RESTRICT_ENTER_QUERY=False
    This allows use of Query-Where window in enter query, after entering a colon in any input field.  Without this, Forms returns FRM-40367: Invalid criteria in field nnn in example record.  Oracle shut it down to prevent "sql injection" attacks.
    6.  Jiniator setup:
    Run file jinit.exe in C:\oracle\DevSuiteHime_1\jinit\jinit.exe
    It installs Jinitiator 1.3.1.22.
    I installed it in C:\oracle\JInitiator 1.3.1.22\
    For Firefox, make sure a copy of file \bin\NPJinit13122.dll resides in   C:\Program Files\Mozilla Firefox\plugins.
    For Netscape, the path is:  C:\Program Files\Netscape\Navigator 9\plugins
    7.   Browser settings
    See the note above about using Firefox 2 and not Firefox 3!
    In Firefox 2 go to:  Tools-> Options-> Content
    Uncheck the "Enable Java" checkbox
    --Firefox terminates if this is not done!
    Note:  After my system automatically installed updates to either java or Firefox, re-check the "Enable Java" setting.  I am suspicious that one of these installs re-enables java in the browser.
    Also note:  some web sites cannot display properly if java is disabled.  Example:  U.S. time website: http://www.time.gov   Use Internet Explorer to view these.
    In Netscape make the same changes as Firefox.  Without disabling java, it also terminates when you try to run a form.
    Creating a url to use in the browser:
    Try this:
        http://127.0.0.1:8889/forms/frmservlet
    If it does not work, change the 8889 port number as follows:
    Open file:  C:\oracle\DevSuiteHome_1\install\portlist.ini
    Note the number in line:
    Oracle Developer Suite HTTP port = 8889
    Use the number as the port number.
    You can also change the 127.0.0.1 to the computer name:
    Control Panel, System and Maintenance, See the name of this computer (under "System").  Mine is "steve-PC"
    So the alternate URL is:     http://steve-PC:8889/forms/frmservlet
    To try out the URL, start the OC4J instance set up above.  Then start either Netscape or Firefox, and enter the URL.  You should get a welcome screen.
    If the above URL works, start up the Forms Builder, and open Edit, Preferences.  On the General tab, uncheck the "Build before running" check box (optional).  On the Runtime tab, set the "Application Server URL to the url above.
    To run a real form, add this to the URL after frmservlet, (with no spaces):
        ?form={formname}&userid={userxxx}/{passwordyyy}@{connect-string}
    but replace the parts in curly braces with the appropriate values.  Example:
        http://127.0.0.1:8889/forms/frmservlet?form=ABC&userid=abc123/zyx@orcl
    Setting up Forms Builder to directly run a form in the browser:
    Run the Forms Builder.  Go to Edit, Preferences, Runtime tab.
    Set the Application Server URL to:
        http://127.0.0.1:8889/forms/frmservlet
    (or use whatever URL string you developed above)
    Set the Web Browser Location to:
        "C:\Program Files\Netscape\Navigator 9\navigator.exe"
    (or an equivalent to run the Firefox browser).
    8.  FORMSWEB.CFG file changes
    The file is located at:
    C:\ORA_DS_101202\DevSuiteHome_1\forms\server\formsweb.cfg
    I changed the following two lines in the file, but these are my personal preferences:
    separateFrame=true
    lookandfeel=Generic
    9.  FMRWEB.RES file changes
    For Oracle help:  Enabling Key Mappings
    The file fmrweb.res defines actions (triggers that run) when a function key is pressed while running Forms.  The one released has unix-style key mapping, but I prefer keys originally mapped for Windows PC Forms users. There is a fmrpcweb.res in the same folder that can be renamed to fmrweb.res.
    In the C:\oracle\DevSuiteHome_1\forms path, I renamed fmrweb.res to fmrweb_orig.res.
    I have a file that I prefer to use, so I put it into the folder as fmrweb.res. The contents are listed below. It is organized so the most important keys are listed alphabetically at the top (URFD column is the sort column), followed by a group of less-important keys.  These are keys that are available to users, but they either would not use, or are disabled within most forms.  The URFD column in the second set starts with a hex A0 character, which is a high-order space, so collates after normal alphabetic characters.  (Note: If you want to copy the text below and use it, the hex A0 character has been changed by the forum software to a space. So you would need to use a text editor with hexadecimal character capabilities to replace the space with the original character. )
    My file has special keys defined for F2 (I use it for a debugging Key-F2 trigger in my forms), and a "Cursor to Home" F12 function. All the rest are pretty much the same as in the released fmrpcweb.res file, only mine are organized alphabetically on the URFD column.
    The Web Forms fmrweb.res file is editable using any programming editor (NOT MS Word!!!). The old Client/Server key mapping file, fmrusw.res, could only be changed using the Oracle Terminal program (and it is a pain to use).
    Here is the main part of my fmrweb.res file:#
    #Jfn :Jmn:  URKS            :Ffn :  URFD
    #    :   : (User-readable   :    : (User-readable
    #    :   :  Key-sequence )  :    :  function description)
    118  : 1 : "Shift F7"       : 74 : "Clear Form"
    121  : 0 : "F10"            : 36 : "Commit"
    117  : 0 : "F6"             : 65 : "Create Record"
    10   : 1 : "Shift Enter"    : 82 : "Cursor to Home" # sdsu uses this
    123  : 0 : "F12"            : 82 : "Cursor to Home" # sdsu uses this
                                        #: --Alt+Home works, but leaves the Action (first
                                        #: --pull-down menu item) highlighted.  Press Esc or
    36   : 8 : "Alt Home, then Alt" : 82 : "Cursor to Home" #-- Alt again to clear highlight.
    117  : 1 : "Shift F6"       : 63 : "Delete Record"
    119  : 0 : "F8"             : 77 : "Execute Query"
    120  : 0 : "F9"             : 29 : "List of Values"
    9    : 0 : "Tab"            : 1  : "Next Field"
    40   : 0 : "Down-Arrow"     : 7  : "Next Record"
    9    : 1 : "Shift Tab"      : 2  : "Previous Field"
    38   : 0 : "Up-Arrow"       : 6  : "Previous Record"
    112  : 0 : "F1"             : 35 : "Show Keys"
    116  : 1 : "Shift F5"       : 69 : " Clear Block"
    116  : 2 : "Ctrl F5"        : 3  : " Clear Field"
    113  : 1 : "Shift F2"       : 80 : " Count Query Hits"
    112  : 1 : "Shift F1"       : 78 : " Display Error"
    114  : 0 : "F3"             : 73 : " Duplicate Item"
    115  : 0 : "F4"             : 64 : " Duplicate Record"
    69   : 2 : "Ctrl E"         : 22 : " Edit Field"
    122  : 0 : "F11"            : 75 : " Enter " # Causes validation, w/o cursor move
    118  : 0 : "F7"             : 76 : " Enter Query"
    81   : 2 : "Ctrl Q"         : 32 : " Exit"
    112  : 2 : "Ctrl F1"        : 30 : " Help"
    34   : 0 : "Page Down"      : 66 : " Next Set of Records"
    119  : 1 : "Shift F8"       : 79 : " Print"
    10   : 0 : "Enter/Return key": 27: " Enter/Next Field"
    33   : 0 : "Page Up"        : 12 : " Scroll Up"
    116  : 0 : "F5"             : 87 : " F5 Key for special uses"
    #121 : 3 : "Shift Ctrl F10" : 82 : " Function 0" #--disabled.  Cursor to home defined above
    112  : 3 : "Shift Ctrl F1"  : 83 : " Function 1"
    113  : 0 : "F2"             : 84 : " Function 2"
    113  : 11: "Ctrl Alt Shift F2":95: " List Tab Pages" #<-REQUIRED, or F2 cant be assigned
    114  : 3 : "Shift Ctrl F3"  : 85 : " Function 3"
    115  : 3 : "Shift Ctrl F4"  : 86 : " Function 4"
    117  : 3 : "Shift Ctrl F6"  : 88 : " Function 6"
    118  : 3 : "Shift Ctrl F7"  : 89 : " Function 7"
    119  : 3 : "Shift Ctrl F8"  : 90 : " Function 8"
    120  : 3 : "Shift Ctrl F9"  : 91 : " Function 9"<B>Finding Forms 10g Patchsets</B>
    Here is how to do the search: Log into metalink ( https://metalink.oracle.com ), then click on the Patches & Updates tab, then Simple Search.
    In "Search by", select Product or Family. Enter "Developer Forms" in the box.
    Then click the Release choices, and select "iAS 10.1.2.3"
    Patch Type should be "Patchset/Minipack"
    Platform or Language should be "Microsoft Windows (32-bit)"
    Click Go, and the Forms 10g patch should show up. As of July, 2008 the only one available is: [url=
    https://updates.oracle.com/ARULink/PatchDetails/process_form?patch_num=5983622&release=1710123&plat_lang=912P&patch_num_id=943599
    ]5983622
    Edited 2008-12-12 to add a link to Oracle Note 559067.1  and added the fmrweb.res file listing.
    Edited 2008-10-28 to change text format to work better within new forum format
    Edited 2008-7-7 to add patchset search information.
    Edited 2008-4-21 to modify information.
    Edited 2008-3-6 to add information.
    Edited 2008-5-29 to update information.

    I followed your instructions and installed Developer Suite 10G on Windows Vista Home Premium edition. I have Oracle 11G DB running on the same machine.
    Two points, Steve:
    1. When I tried to set the maximum virtual memory to 6110 an error message displayed from Windows and told me that I can't set the maximum virtual memory to more than 4096. I set it to 4090 and it worked and I got nothing wrong during the installation process.
    2. After installing JInitiator and disabling Java on Firefox I called the http://127.0.0.1:8889/forms/frmservlet page and everything seemed to be OK because the Oracle Forms Services logo appeared and then a successful installation message appeared , but as I clicked (ok) to continue a gray screen appeared inside the browser (like the one displayed when you try to run a Java applet inside a browser) and then I wait to death till something appears but sadly nothing. I just get a blank gray screen inside my Firefox browser.
    Do you have any idea what to do to solve the problem?
    Regards

  • How to handle a phrase like a single word in a query rewrite template?

    Hi there,
    i would like to handle a case like this:
    "hewlett packard" printer
    I have a custom thesaurus where {hewlett packard} is a synonym of {hp}, and viceversa of course.
    Now, i can successfully find records like "hp printer" or "printer model hp 2575 "by issuing the following query:
    select * from sale_items
    where contains(item_name,
    'SYN(hewlett packard,cust_thes) AND printer')>0
    or its equivalent form containing curly braces:
    select * from sale_items
    where contains(item_name,
    'SYN({hewlett packard},cust_thes) AND printer')>0
    My problem is that i can't find a way of successfully passing the phrase "hewlett packard" as a single word in a query rewrite template like this one:
    select * from sale_items
    where contains(item_name,
    '<query>
    <textquery grammar="CONTEXT">{hewlett packard} printer
    <progression>
    <seq><rewrite>transform((TOKENS, "SYN(", ",cust_thes)", " AND "))</rewrite></seq>
    </progression>
    </textquery>
    <score datatype="INTEGER" algorithm="COUNT"/>
    </query>')>0
    When i run this query i get no rows.
    The same happens if i substitute curly braces with double quotes.
    So, how to get phrases to be recognized in the query rewrite template?
    Bye,
    Flavio

    I am unable to find out a way to search on the particular phrase like I have a document containing the text
    “Oracle Text is a good searching tool.” Now if searches for the phrase “searching tool”, it doesn’t return any rows but if I search for “searching” and “tool” in 2 separate queries, it gives the document.
    If any one has done it before, please tell me the solution.
    I have used the following queries to create index on BLOB column:-
    CREATE INDEX doc_ indx ON doctest(document)
    INDEXTYPE IS ctxsys.CONTEXT PARAMETERS('lexer doc_lexer sync (on commit) ');
    select * from doc_test where contains(document, 'searching tool') > 0;
    select * from doc_test where contains(document,'searching') > 0;
    select * from doc_test where contains(document,'tool') > 0;
    Should I specify something while creating the indexes ?
    Regards
    Inderjeet

  • How do I touch up photo in iPhoto 11?

    I want to hide metal dental braces but "quick-fix touch-up" makes my teeth look grey. Is there a way to hide the braces while leaving my teeth white?

    Not with iPhoto.  You'd need a 3rd party editor that you can use from within iPhoto.
    Some Image Editors That Support layers:
    Photoshop Elements 11 for Mac - $79
    Rainbow Painter - $30
    Imagerie - $38
    Acorn - $50
    Pixelmator - $60 
    Seashore - Free
    GIMP for Mac - Free
    Xee 2.1 - free
    Photoshop Elements is a very powerful editor which can do a lot.  You can clone parts of other teeth in other photos and paste over the dental braces in your photo.  Or use the Spot Healing tool to try to replace the braces with surronding (white teeth) pixels. 
    Here are some more of the types of edits PSE can perform:
    OT

  • Exception handling - general concepts

    ok, well i skipped the chapter on exception handling :=)
    Correct me if im wrong, but lets say im writing some code and im not sure how to handle some of the exceptions that might get thrown or what exceptions will get thrown for that matter. How does one go about handling every possible exception that is "required".
    I guess what im trying to ask is that if a certain block of code is calling methods that throw specific exceptions, then you will need to handle those exceptions. So that means you need to be aware of, or know to go lookup the possible exceptions that those methods can throw.
    Im skipping around in Beginning Java 2, from wronx press jdk 1.4 edition

    This is quite a hard one to be specific on as I think most of us learned this with a bit of trial and error.
    1. IO always requires the method to be thrown ie
    public void writeContents() throws IOException {
    // methods
    2. The compiler will tell you when you need a try /catch block
    3. I often code this with;-
    try {
    // my methods here;
    catch (Exception ignore) {}
    and have empty braces with a general catch all Exception on the first run
    4. Then if there are problems such as the code won't work I fill in the blanks ie;-
    catch (Exception e) {System.out.println(e);}
    // or e.getMessage() );
    // or printStackTrace();
    depending on what the first message is
    5. Correct the exception now that you know what it is. Really this is a form of 'divide and conquer' as you eliminate the problems as they occur through javas exception handling abilities.
    6. With a bit more practice you will implement things like finally and know when to put the handler back to 'catch (Exception ignore) {}' and when to leave it in.
    7. Exception handling can also be used to instruct the client in useful ways too eg;-
    try {
    myTextfield.setText("Enter Your Age");
    myInt = parse ...(myTextfield.getText(etc ...
    catch (NumberFormatException nfe) {
    myTextfield.setText("Enter Number Values Only");
    // or something like
    catch (NullPointerException nfe) {
    myTextfield.setText("Oops you forgot to enter a value");
    This has been my experience anyway + I trust I have assisted

  • Thread doubled output

    Hi,
    For the purpose of my work, I am trying to store the output that is produced by StreamRedirectThread.java into a vector as shown in the code below. The output of the thread code is ok and the output printed is the numbers from 0 to 5.
    When I try to print out that vector, the output is not as the same as it is printed in the StreamRedirectThread.java program. For example if the output form the program prints out the numbers form 0 to 5, as I said before, the vector output is doubled in size and prints:
    index = 0 content=0
    index = 1 content=
    index = 2 content=1
    index = 3 content=
    index = 4 content=2
    index = 5 content=
    index = 6 content=3
    index = 7 content=
    index = 8 content=4
    index = 9 content=
    index = 10 content=5
    index = 11 content=
    Can anybody advice me what to do about it. I tried but couldn't fix it. The code of StreamRedirectThread.java is as
    Here is the Thread Code: Thanks
    import java.io.*;*
    *import java.util.*;
    import com.sun.jdi.*;*
    *import com.sun.jdi.request.*;
    import com.sun.jdi.event.*;*
    *import com.sun.jdi.connect.*;
    class StreamRedirectThread extends Thread {
    private final Reader in;
    private final Writer out;
    private static Vector outvector = new Vector(0); // victor of objects that contains output result
    private static final int BUFFER_SIZE = 2048;
    * Set up.
    * @param name Name of the thread
    * @param in Stream to copy from
    * @param out Stream to copy to
    StreamRedirectThread(String name, InputStream in, OutputStream out) {
    super(name);
    this.in = new InputStreamReader(in);
    this.out = new OutputStreamWriter(out);
    setPriority(Thread.MAX_PRIORITY-1);
    public void run() {
    try {
    char[] cbuf = new char[BUFFER_SIZE];
    int count;
    while ((count = in.read(cbuf, 0, BUFFER_SIZE)) >= 0) {
    //out.write(cbuf,0,count);
    String s = new String(cbuf,0,count);
    if (!(s.equals(null)))
    TemplateApp.vv.addElement(s);
    outvector.addElement(s); out.write(s);
    out.flush();
    } catch(IOException exc) {
    System.err.println("Child I/O Transfer - " + exc);
    public synchronized static Vector getOutVector()
    return outvector ;
    }Thanks a lot for help

    Iman_S wrote:
    while ((count = in.read(cbuf, 0, BUFFER_SIZE)) >= 0) {
       String s = new String(cbuf,0,count);
       if (!(s.equals(null)))
          TemplateApp.vv.addElement(s);
       outvector.addElement(s); out.write(s);
       out.flush();
    }I've reposted and properly indented this code to help you understand what's going on. I have many problems with this:
    1. s.equals(null) is always false if equals is properly implemented. This is because, if a.equals(b), b.equals(a) must be true due to the symmetry constraint of equals() -- see here: [http://java.sun.com/developer/Books/effectivejava/Chapter3.pdf]. If s.equals(null) were true, then null.equals(s) would have to be true, which is obviously incorrect as a NullPointerException would have been thrown. Use s == null to compare an Object reference with a null reference, and use s.isEmpty() or s.length() == 0 to decide whether a String has characters.
    2. Always use opening and closing braces ( { } ) with an if block. I'm guessing you thought that the "outvector.addElement(s)" statement was IN the if block, but it in fact wasn't. Always be explicit.
    3. Don't do anything that you're doing inside that while loop if count == 0. in.read() can return 0 any time it wants, which means that it didn't read any characters. However, you are using that blank output without caring. I'm guessing the s.equals(null) line was meant to weed that out, but as I said, that will always be false. Moreover, new String( new char[0] ) doesn't give you a null reference, it gives you a new String with no characters.
    I would suggest something more like this:
    while ((count = in.read(cbuf, 0, BUFFER_SIZE)) >= 0) {
       if ( count == 0 ) {
          continue;
       String s = new String(cbuf,0,count);
       TemplateApp.vv.addElement(s);
       outvector.addElement(s);
       out.write(s);
       out.flush();
    Edit I should note that this isn't likely your problem. As Peter said, it does look like you are basically adding newline characters to outvector (if you're sending your data with println, this is to be expected!). Also, I was a bit hasty in saying that InputStream returns 0 "whenever it wants." This isn't typical behaviour, but it should be handled nonetheless.
    Remember that the whole idea of quantifying a Stream like you're doing (adding the content piece by piece to a vector) doesn't make much sense. You really don't have control over how much data arrives at once, etc. This usually depends on the implementation of the streams that are receiving and sending the data. So, while if I sent this string over a socket:
    "Hello brave new world"
    And received it with a large buffer, it could be read by your in.read() function in these pieces: "Hello ", "brave ", "new ", "world", but that would be completely coincidental. It's more likely it would arrive in random pieces, and most likely in one big piece, requiring only one in.read().
    Edited by: endasil on 22-Jul-2008 3:59 PM

  • Create a JSON file from a form submission

    Hi there, I am trying to create my first BC app but struggling to find a solution to create some data inside BC, I need to create a JSON file from a form submission that will be used as feed for my app.
    How I see it working:
    - Form submits details { Name, Email, Phone Number and a Date.} to a JSON file.
    - My app.js will read the JSON file and populate the content on a graph.
    Any other ideas will be much appreciated.
    I don't know if BC is has another way to host data from an app! but if you know pleas share.

    Hi Liam I must be explaining it wrong then, I am creating a BC App not an WebApp, At the moment I have my BC App generating the WebApp but once its done the JSON is generated somewhere in BC where i cannot fetch I tried using some directories to fetch it.
    I created the app this way:
    function tryWebAppCreate(data, xhr) {
        $.getJSON("booking-data/webapp.json")
            .done(function(webAppJsonDescriptor) {
                createWebApp(WEBAPP_NAME, webAppJsonDescriptor.webAppCustomFields, webAppJsonDescriptor.webAppSampleData, loadTeamMembers);   
            .fail(function() {
                systemNotifications.showError("Could not load webapp definition file");
    But now to fetch it i tried: ( replacing the braces with appropriate IDs)
    /api/v2/admin/sites/[site id]/webapps/[app id]/webappp.json
    My 3rd party App will connect to my BC App and from my app i have another call to send the JSON info.
    I just cant call it! maybe if you know how please let me know.

  • Javascript not working in adobe pro

    Hello,
      I am trying to use the following if statement:
    if(this.getField("Total").value >= 120);{event.value = "Pass"};
    Else;{event.value = "Retake"};
    Where there is a field called Total that is the sum of many fields. If the total is more than or equal to 120, I want the value in this field to be either the string "Pass" or "Retake"
    No matter the value of the Total field, it just say's Pass.
    Any ideas on where I am messing up?

    Semicolons are a bit funny when mixed with braces {}. Basically a semicolon ends a statement, for instance
    x=1; call_routine(1,2);
    In an if statement you have
    if (something) x=1; else call_routine(1,2);
    the semicolons don't belong to the if but to each of the statements. If you tried to write
    if (something) x=1 else call_routine(1,2);
    though it may look right the problem is that x=1 isn't ended properly. But when you use braces you have a series of statements inside, but you don't end the braces with a semicolon. So
    if (something){x=1;call_routine(1,2) }  // wrong, the call_routine(1,2) isn't ended
    if (something){x=1;call_routine(1,2); } ;else... // wrong, the ; after } ended the if
    The reason you can sometimes get away with extra semicolons is that you can have an empty statement as in
    x=1;;y=2; // three statements here, the second is empty

Maybe you are looking for