Boolean Condition Expressions

Unlike Condition Formats, Paragraphs, etc., Boolean Condition Expressions are apparently not stored in a linked list. In ExtendScript, you can get a list of the Expression names with this:
var doc = app.ActiveDoc;
var exprCat = doc.GetBuildExprCatalog();
This gives you an array of strings containing the Expression names. I am not sure what the FrameScript or FDK equivalents are, but I assume there is a way to do this.
Once you have the list, you can get each definition by doing this:
for (var i = 0; i < exprCat.length; i += 1) {
    var expr = doc.GetBuildExpr (exprCat[i]);
    Console ("Name: " + exprCat[i] + " Definition: " + expr);
I hope this will helpful to someone in the future. Please let me know if you have any questions or comments. Thank you very much.
Rick

Hello,
You can better use the condition Exists (SQL Query returns at least one row)
In expression 1 you would put : select GROUP from pl_department where userid = :APP_USER;
The problem you are facing is that your code is going into exception. If you really want to keep your code you can adapt it like:
DECLARE
t1 varchar2(20);
BEGIN
select GROUP into t1 from pl_department where userid = :APP_USER;
if ((t1 = '-') OR (t1 is null) OR (t1 = '') or (t1 = '%' || 'null%')) then
return false;
else
return true;
end if;
EXCEPTION WHEN NO_DATA_FOUND THEN return false;
END;
But I would recommend my first suggestion.
Regards,
Dimitri
http://dgielis.blogspot.com/
http://www.apex-evangelists.com/
http://www.apexblogs.info/
REWARDS: Please remember to mark helpful or correct posts on the forum

Similar Messages

  • Mifwash loses names of boolean conditional expression

    (FM10 on Win7x64)
    Before a mifwash, boolean expressions for conditional tags are named as: Name1, Name2, Name3.
    After the mifwash, those expressions are named Default Expression, Default Expression1 and Default Expression2.
    A quick check of the mif file shows Name1, Name2, Name3, not Default Expression, Default Expression1 or , Default Expression2.
    What am I missing?

    More detail:  the mif contains the correct names of the conditional expressions: Name1, Name2 and Name3.
    And the mif does not contain Default Expression, Default Expression1 or Default Expression2.
    Doh!
    Edit:  FM11 behaves as expected. The names of the boolean expressions in the MIF appear in the GUI and "Default Expression" does not appear.
    Now I gotta considering upgrading to FM11.

  • Boolean Condition on a Tab Not Working

    Hello!
    I have a tab that should only appear if a record is in the database. I'm using a 'PL/SQL Function Body Returning a Boolean' condition with the following:
    DECLARE
    t1 varchar2(20);
    BEGIN
    select GROUP into t1 from pl_department where userid = :APP_USER;
    if ((t1 = '-') OR (t1 is null) OR (t1 = '') or (t1 = '%' || 'null%')) then
    return false;
    else
    return true;
    end if;
    END;
    If no data is found in the database, i get an error at the top of my page 'Invalid function body condition: ORA-01403: no data found'.
    As you can see I tried to check for 4 different possible values but nothing is working.
    Any ideas on what else I can try?
    Thank you!
    T
    Edited by: 73pixieGirl on Dec 16, 2008 6:34 AM

    Hello,
    You can better use the condition Exists (SQL Query returns at least one row)
    In expression 1 you would put : select GROUP from pl_department where userid = :APP_USER;
    The problem you are facing is that your code is going into exception. If you really want to keep your code you can adapt it like:
    DECLARE
    t1 varchar2(20);
    BEGIN
    select GROUP into t1 from pl_department where userid = :APP_USER;
    if ((t1 = '-') OR (t1 is null) OR (t1 = '') or (t1 = '%' || 'null%')) then
    return false;
    else
    return true;
    end if;
    EXCEPTION WHEN NO_DATA_FOUND THEN return false;
    END;
    But I would recommend my first suggestion.
    Regards,
    Dimitri
    http://dgielis.blogspot.com/
    http://www.apex-evangelists.com/
    http://www.apexblogs.info/
    REWARDS: Please remember to mark helpful or correct posts on the forum

  • Data Change Condition Expression

    I need to create a product specification that includes dependencies between order components based on a data change notification wait condition
    How do I define the XQuery expression in the "Data Change Condition Expression" field?
    Specifically, I have 4 order components in the product specification that are independent of each other but each order component can only start when a specific data element has a certain value. The data element is at the order level and is not available as an order line item property.
    I would appreciate if someone from Oracle can provide a more detailed explanation of the fields in the "Product Specification Editor Dependencies Subtab" ->"Wait Condition subtab"
    Relative Path
    Data Change Condition Expression
    Thanks,
    ~nagu.
    Edited by: nagu on Dec 2, 2011 5:50 PM

    Provide two pieces of information:
    1. Order Item Property
    2. Boolean XQuery expression returning fn:true() to fire the dependency.
    For example:
    Assume you need to ensure all Provisioining items (From) must have reached the "PRODUCT STARTED" milestone , before the Billing Component Items (To) can start.
    Note From Component is also known as "blocking" while the To Component is known as "Waiter"
    1. Data Change Notification property: milestone
    2. Data Change Condition Expression Xquery:
    declare variable $blockingIndexes as xs:integer* external; (: list of From component items - index :)
    let $expectedMilestoneCode := "PROVISION STARTED"
    (: extract milestones values from all provisioning function items matching the expected milestone value , only for the given From component :)
    let $milestoneValues := /GetOrder.Response/_root/ControlData/Functions/ProvisioningFunction/orderItem/orderItemRef[fn:index-of($blockingIndexes, xs:integer(@referencedIndex)) != 0]/milestone[text() eq $expectedMilestoneCode]
    (: Return true only if ALL the milestones in the From component (ProvisioningFunction/orderItem/orderItemRef) are PROVISION STARTED :)
    return fn:count($milestoneValues) eq fn:count($blockingIndexes)
    Carlos

  • Why does my conditional expression not work?

    I want to increment a global keeping track of how many critcal tests have been run. Usually I just increment it in the post expression of the test. However, if I have a test that loops it would increment on every loop, so I put a conditional expression in the post expression so it only counts once the loop is done:
    RunState.LoopIndex < 10 && RunState.LoopNumPassed < 3 ? FileGlobals.Critical_Test_Count : FileGlobals.Critical_Test_Count++
    However, the false condition in the expression never gets evaluated. I've put watches in to make sure the condition goes false after the last interation of the test and it does. But my global never increments. The true condition is not supposed to modify the variable.
    What am I miss
    ing?

    The reason for this is that the post expression is evaluated before the loop increment expression, so on your last loop the post expression is evaluated (loop count = 9) then the loop increment is evaluated and the loop is terminated. See page 6-26 of the Teststand user manual.
    Hope this helps,
    Nick

  • How to populate an EO Transient variable used in Conditional expression.

    Hi All
    I have a Unique Key Validator which has Conditional Execution in which I am checking for the value of transient variable and based on that value this validator is invoked.
    Problem is :- When this Conditional expression is processed, transient variable is not populated (code to populate it is written in getter method). As a result of which, I am not getting expected results.
    This is my conditional expression :- source.<Transient_variable> = <some value>
    I tried by replacing this expression as :- adf.object.getterMethod = <some value> , but that gave me the prototype not found error (method is present in EOImpl.java).
    How can I populate this transient variable before it is evaluated in conditional expression???
    Suggestions are welcomed!!!
    Thanks
    Nitin

    Just to explain
    Both adf.object.methodName and source.methodName are used to access EntityImpl methods. Difference is
    adf.object.methodName - used while defaulting the values of attributes
    source.methodName - used in validation expression and raising error messages/warning.
    Thanks
    Nitin

  • [svn:fx-trunk] 11530: Fix ASC-3790 ( conditional expression in for loop causes verifier error) r=jodyer

    Revision: 11530
    Author:   [email protected]
    Date:     2009-11-06 13:23:05 -0800 (Fri, 06 Nov 2009)
    Log Message:
    Fix ASC-3790 (conditional expression in for loop causes verifier error) r=jodyer
    Ticket Links:
        http://bugs.adobe.com/jira/browse/ASC-3790
    Modified Paths:
        flex/sdk/trunk/modules/asc/src/java/macromedia/asc/parser/ConditionalExpressionNode.java

  • Purging FM files of conditional expressions

    As you've probably all seen, Framemaker 8 caches every (or at least the most recent few) conditional expression you create for a book. These expressions populate a dropdown list in the show/hide conditionals dialog box and just generally take up space and confuse people. I'd like to get rid of them- I know that they are stored at the very end of the chapter .FM files and book file, but I was hoping someone would know an easier way to get rid of them than opening each .FM file in notepad and scooping them out.
    Thanks!

    You might want to have a look at ElectroPubs CleanImport utility (http://www.electropubs.com/ez_cleanimport3.html ). This will purge all specified components prior to importing new ones from a template.
    Caveat: With conditional text, any conditonally tagged text that is hidden when a tag is deleted, will get wiped from the document. So you have to make certain that all tags are showing prior to import.

  • SUMIF using OR in the conditional expression

    I understand how to use the SUMIF function using checkboxes in one column for the conditional expression. I do not understand how to use it if I want to use an OR expression to OR various string values.
    I want have a column called "Categories" which have a variety of string values in them like "Club" "Soccer" "School" "Church" "Home". I want to SUMIF the category is "School" or "Home". I wrote out my formula like this:
    =SUMIF(Invitations::Category,OR("School","Home"), Invitations::Total in Party)
    but it doesn't work. Suggestions? Thank!

    Hello
    The OR is the correct operator but, as far as I know, this kind of condition is not allowed.
    Only a single one like "=Home" or like "=church" is allowed.
    I don't know which are the other categories.
    Assuming that they are "smaller than the string "church" you may use:
    =SUMIF(Category,">=church",Total in Party)
    If they are greater than "Home" you may use:
    =SUMIF(Category,"<Home",Total in Party)
    If you want to sum the values whose category matches one of three values, an alternate soluce may be to use an extraneus column (named Aux) whose formula would be
    =OR(Category="church",Category="Home",Category="YK")
    the final formula would be:
    =SUMIF(Aux,TRUE,Total in Party)
    Yvan KOENIG (from FRANCE mercredi 16 janvier 2008 14:08:41)

  • I am looking for an boolean and numeric expression evaluator. I want to be able to compare ( ,=, , or, not, and, nand, etc)and evaluate boolean/numeric expression.

    I am looking for an boolean and numeric expression evaluator. I want to be able to compare (>,=, <, or, not, and, nand, etc)and evaluate boolean/numeric expression. Does anyone know if there is any code samples anywhere. If anyone has any input, I would greately appreciate it.

    The problem is that I have to enter a string of that type (any random string), and the program should go and calculate the result for the whole stirng, by looking at which parts to calculate first (figuring out precedence), second, etc. This is like a calculator, you don't know what the user is going to enter next, so I can't just use the boolean palatte. I could use it if the equation was always of the form "a 'operator' b", where the operator is any logic or comparison operator. But that is not what I am trying to accomplish.
    Can you do logic in the formula node? I think it only allows numeric values for inputs and outputs, it doesn't let you enter in and output booleans and stuff..does it?
    Thanks,
    Yuliya

  • Conditional Expressions and the note about state-field's serialized form

    There's a note about state-field's serialized form in 4.6 Conditional expression chapter. Could anyone help me understanding it? It's on the page 88.
    State-fields that are mapped in serialized form or as lobs may not be portably used in conditional expressions[26].
    What's the serialized form? I think I understand what lobs might mean, but some additional explanation or a code snippet would be greatly appreciated.
    Jacek
    Jacek Laskowski
    http://www.JacekLaskowski.pl

    But that's my point. In the original expression the ++k and --k are evaluated first so the whole thing goes down as you described.  I agree completely.  But in the second case the term k is a urnary operator which would have higher precedence than the + or --- operators and therefore would be evaluated first while k is still equal to 1. Then again maybe I'm confused !
    Maybe I'll just compile the program and see what I get...

  • In our program, we are concerned about reducing CPU work; how to wait until a boolean condition changes in a "while loop"?

    Is there a way to wait until a boolean condition changes (instruction is sent) in a "while loop" (because I want the program run until I press exit button)? Now it is consuming a lot of CPU because it is running the loop very fast waiting for instructions unless I stop the program.
    Thank you.

    Use /functions/time and dialog/wait until next millisecond multiple in the
    loop. Input 100ms.
    "mcdesm" wrote in message
    news:[email protected]..
    > In our program, we are concerned about reducing CPU work; how to wait
    > until a boolean condition changes in a "while loop"?
    >
    > Is there a way to wait until a boolean condition changes (instruction
    > is sent) in a "while loop" (because I want the program run until I
    > press exit button)? Now it is consuming a lot of CPU because it is
    > running the loop very fast waiting for instructions unless I stop the
    > program.
    >
    > Thank you.

  • How to represent conditional expressions as data in an xml

    Hi All,
    Re phrasing my earlier question,
    1. How can I represent conditional expressions as data in an xml doc.
    2. How do I query these conditional expressions using xPath functions.
    Any pointers towards achieving this?
    Regards,
    Nishanth
    Edited by: user10947302 on Apr 16, 2009 4:18 PM
    Edited by: user10947302 on Apr 16, 2009 4:22 PM

    Nishanth,
    just for your understanding. I only understand your question a little bit because you left information bits all over the OTN forum sections. First off all, these forums are based on people that (most of the time) are not paid for what they doing here. Its all free will and takes effort. So be so curtious to me as specific as possible PLUS don't spam all the forum posts in the hope that someone will provide the answer.
    This forum is mend for XMLDB questions. The functionality that supports XML handling in the Oracle database.
    --> OR you have a question for this forum
    --> OR you have to ask your question on the "Rules Manager & Expression Filter" forum
    last time someone shattered the same question all over the place, the only thing it triggered with me was looking up the following Monty Python scetch about spam (and then I went to bed): http://www.youtube.com/watch?v=anwy2MPT5RE

  • Is there a way to 'latch' a boolean condition when using local variables? Help!

    Hello all
    I've made LOTS of progress on my vi over the weekend and even today.  I've been battling with a project with this scope:
    1.  Read temperatures from 24 locations (6 banks of four thermocouples).
    2.  Set individual channel temperature upper limits
    3.  Output temperatures, elapsed time and time stamp to file in 5 minute increments AND write data when an overtemperature condition occurs.
    4.  Use NI-switch to shut off a motor related to each of the 6 banks of thermocouples independently
    5.  Be able to start/stop elapsed timers on each of the 6 banks based on user input (start/pause) OR conditions (pause at overtemperature)
    6.  Be able to reset those elapsed timers with user input as well.
    I've gotten 1-4 working nicely (although my example included has the DAQ assistant replaced with random number generation) and the NI-switch cases replaced with a simple boolean indicator.
    My problems lie in two areas now.  First, I need the switch condition AND the 'pause time' to be 'latched' when an overtemperature is reached and NOT continue operation until user input.  Basically, when the motor relay is triggered to shut the motor off, I need the timer to stop with it and not restart when the input condition changes (in this case, when the thermocouple drops below the control temperature) until an operator tells it to resume.  I also need the switch condition to stay true so that my 1160 isn't switching back and forth every iteration until the temperature drops.
    You'll notice there's 5 'elapsed time' express VI's in conditional loops on there--and one time structure in a parallel while loop.  The outside structure is the way I'm heading as it retains the value in the elapsed timer when paused.  This is critical to the test!  All 5 of those elapsed time express VI's will be leaving in favor of more of those outside loop structures.  My issue with the outside timing loop structure is that I can't figure out how to 'reset to zero' with a user input like you can with the express VI's, and that it outputs only ms data rather than a HH:MMS format (not a complete deal breaker but would be nice).
    Please, anyone in the know, I need to button this up so I can get it implemented soon.  My old VI which is currently running the tests is far too user-unfriendly for most of the users to handle and the output to file is a wreck...  THANKS so much in advance.
    Ralph
    Still confused after 8 years.
    Attachments:
    temperatures.vi ‏730 KB

    I've looked up the enum constant and am completely baffled as to how to use this to do what I'm trying.  Can you shed a bit more light on the subject?
    Still confused after 8 years.

  • Record time when boolean condition is true

    Is it possible to record the time when a boolean expression is true, i.e if an =0 condition was placed on an AC signal, would it be possible to record the times when the wave crossed 0.
    I expected this part of my overall problem the easiest, but im simply not getting anywhere
    Thanks

    Thanks for looking at my problem,
    The real problem is to do with an engine crank sensor (Variable reluctance). When the sensor is placed on a toothed wheel (12 - 3 teeth), the sensor produces a sinusoidal like wave, with a gap 25% of the time. Teeth can be found on the wave as V=0 and dv/dt<0. The gap will then be used as  a ref point.
    My eventual intentions are to monitor the signal from the engine and calculate the angle of the shaft by looking at gap times between wave cycles. Before i use the real sensor i intend to fully simulate everything.
    I now have an approximate simulation of the crank signal. i have attatched it.
    I expected the =0 part not to work for the reason you stated but was unsure how to get around that. So, I thought i would produce a square wave first when dv/dt<0 and when -0.1<v<0.1. I was then hoping there would be a rising edge trigger tool that could give me times of these rising edges of the square wave so that i could record them in a table, but i cant find/think of a way to do this.
    After i have a way of doing this i will compare gaps between teeth to find the ref tooth. After it is found i will increment a tooth counter everytime a tooth passes, and from there estimate angle of crankshaft.
    As for how many teeth times need to recorded, i think 3 only. The last three teeth passing the sesnor will allow me to find 2 gaps bewteen teeth times which will allow me to find the wheels gap. I can use times between teeth to estimate a time per degree figure which is then used to increment an angle counter.
    Any help is much appreciated i know there will be an easyish way of doing this, i just cant find it.
    Attachments:
    wheel.vi ‏664 KB

Maybe you are looking for

  • Ovi maps and Nokia Maps

    I have recently downloaded the ovi maps update for free navigation on my 5800 however now I seem to have 2 programs in my installed apps menu, Ovi maps and Nokia maps. This is causing me some problems as my phones built in memory is now completely fu

  • Posting to Accounts-Incorrect document

    when I do posting run to finance it says that document has been created but it is inncorrect . if we see the diagnosis message it is giving as Account with the following search key was not found: 1000HRA1001 1000: company code HRA: transation(techini

  • Changing notification mail sender id?

    Hi All, Currently the notifications and approvals are working fine, but the mail is being received from [email protected] mail id. If I need to change this to an id that has the client domain, what would I need to do? Please advise. Points definitely

  • HELP! Newly calibrated monitor loses ICC profile setting while computer is on, in middle of editing!

    I'm so frustrated!!! Just a few days ago I calibrated my monitor with my new Huey Pro. Today in the middle of the computer being on for hours, at some point, without my knowing it, the ICC profile shifted from the new, calibrated setting BACK to the

  • Problem with Windows 8 on T520 mSATA

    Short version: Installed Windows 8 on the mSATA (with Windows 7 on the main SSD).  When I boot to the mSATA, Windows 8 opens/works fine. When I shut down then power up again, I cannot get into any BIOS setup screens to reset the boot order...it just