UIX: Anybody have example of lovValidate checking against db?

Hi gang
Does anybody have an example in UIX of using the lovValidate event to check a user entered messageLovInput value against the database, and if an invalid entry, via showWindow, forcing the user to select a value from the LOV?
Any help appreciated.
CM.

Okay, IperProcedureCode is the attribute in the VO that the lovInput is attached to. When you write bindings.<attributeName> in your EL, then this comes out as the DCControlBinding (or a subclass) in the Java code. So I pass the binding into the EL method in order to get access to the binding container, the AM, the VO ... whatever.
I have defined that EL method myself and it's no big deal. You add an UI extension in your UIX config and in that UI extension you register the new EL functions.
This is the EL class:
package com.ge.med.bone.el;
import ...
public class DataUtilityElFunctions {
  public static Method lookupInput;
  static {
    try {
      lookupInput = DataUtilityElFunctions.class.getDeclaredMethod( "_lookupInput",
                                                                    new Class[] {
                                                                      JUCtrlAttrsBinding.class,
                                                                      String.class,
                                                                      String.class,
                                                                      String.class
    } catch( NoSuchMethodException nsme ) {
      // Will never ever happen!
  //~ Constructors ***********************************************************************
  private DataUtilityElFunctions(  ) {}
  //~ Methods ****************************************************************************
   * Performs the lookup of user input.
   * @param binding The JUCtrlsAttrsBinding as used to bind text fields.
   * @param input The input the user has typed in.
   * @param setResult Pass 'true' if you want to set the result automatically in the
   *        attribute.
   * @param clearUnresolved Pass 'true' if you want the attribute to be cleared if it
   *        couldn't be resolved. Needs setResult='true' to work.
   * @return The looked up value or null if none found or ambigous.
  public static String _lookupInput( JUCtrlAttrsBinding binding,
                                     String input,
                                     String setResult,
                                     String clearUnresolved ) {
    String lookupResult = null;
    String attributeName = null;
    if( ( binding != null ) && ( input != null ) && ( input.length(  ) > 0 ) ) {
      BaseViewObject viewObject = (BaseViewObject)binding.getViewObject(  );
      DCBindingContainer container = binding.getBindingContainer(  );
      attributeName = binding.getAttributeNames(  )[ 0 ];
      BaseViewObject vo = (BaseViewObject)binding.getViewObject(  );
      BaseAttributeDef attributeDef = vo.findExtendedAttributeDef( attributeName );
      if( attributeDef != null ) {
        TextLookupData data = new TextLookupData( container, attributeDef, attributeDef,
                                                  true );
        data.lookupInput( input );
        if( data.isAllLookedUp(  ) ) {
          LookupDataItem item = (LookupDataItem)data.getLookedUpDataItems(  ).get( 0 );
          lookupResult = item.getResolvedObject(  ).toString(  );
      if( ( setResult != null ) && setResult.equals( "true" ) ) {
        if( lookupResult != null ) {
          binding.setInputValue( lookupResult );
        } else if( ( clearUnresolved != null ) && clearUnresolved.equals( "true" ) ) {
          binding.setInputValue( null );
        } else {
          binding.setInputValue( input );
    return lookupResult;
}We use our own VO base class, don't let that disturb you. The TextLookupData class encapsulates the lookup. We already use this class in our Swing client to do the lookup. It uses the container to get to the AM, then creates the lookup VO, sets a nifty where-clause, executes the VO and then returns the lookup result after removing the lookup VO again.
Again, no big deal.
The EL function, as you can see, returns the result of the lookup or null if the lookup failed. I use this in the UIX event handler to determine whether the attribute that controls the LOV window showing should be set to "true" or "false".
param.seachText contains the user input at the moment of validation.
Of course, you could move the lookup stuff in a AM method if you prefer it that way.
The UI extension class:
package com.ge.med.bone.uix;
import ...
public class BoneUiExtension implements UIExtension {
  //~ Constructors ***********************************************************************
   * Default constructor.<br> Creates the object and sets the parameters.<br>
  public BoneUiExtension(  ) {}
  //~ Methods ****************************************************************************
   * Registers the parser manager
   * @param manager The parser manager.
  public void registerSelf( ParserManager manager ) {
    manager.registerFunction( "http://xmlns.med.ge.com/centricity/bone/el/data",
                              "lookupInput",
                              new JavaMethod( DataUtilityElFunctions.lookupInput ) );
   * Register renderers with the look-and-feels.
   * @param laf The LAF or LAF extension to register with.
  public void registerSelf( LookAndFeel laf ) {}
}and in our uix-config.xml:
      <extension-class>
        com.ge.med.bone.uix.BoneUiExtension
      </extension-class>In the UIX page that holds the lovInput I just add the namespace:
xmlns:dataEl="http://xmlns.med.ge.com/centricity/bone/el/data"Now I can simply call the EL function whenever I like. This EL stuff is pretty handy. I also use it to get custom labels that we defined for our attributes and to access resource bundles.
The input field contains a (medical) procedure code. Just for user convenience I also display read-only the description of the medical procedure after validation. This read-only field (with id _procedureName) needs a refresh after validation/lookup. That's why it's a partial refresh target.
That must be the longest posting I ever posted here :o)
Sascha

Similar Messages

  • VMI order check against Product Allocation

    Hi
    We are setting up VMI where we are to plan the supply to one of our customers.
    During our tests we have dicovered that the TLB orders are not checking against Product Allocation.
    An ATP check does takes place when creating the TLB order (we are not using Deployment!!) but check against Product Allocation does not take place!!!
    If we do an online ATP check from R/3 after
    Does anybody knows how to enable check against Product Allocation during TLB order creation ?

    Unfortunately there is not a tool to make diagrams in here or do we have..
    To depict ATP check against Product Allocations, we can have two big blocks representing R/3 and APO.
    Then in each block we can have smaller blocks to represent
    a sales order creation(in R3 block) and Product Allocations in Planning area (in SCM block).
    You can depict ATP call by making an arrow from sales order block to product allocation block. Then to add further details you
    can have a time series(bar graph) showing product allocations for time buckets( say months) getting offset by incoming orders in a separate diagram.
    to represent BOP, a block for SD ( in R3 block) and a block for BOP (in APO) and a link between them to trigger BOP process. A line from BOP back to R3 block connecting a smaller blocks "process event" and then connecting to "update".
    This update block should be linked to another smaller block in APO  named as "update time series". then this update time series can lead to "delete temporary quantity assignments" block( in APO).
    Hope this helps..
    Mohan Chunchu

  • HT1338 I cannot install napster 5 on my Mac OS X VERSION 10.4.11 anybody have any ideas ?

    I cannot install napster 5 on my Mac OS X VERSION 10.4.11 anybody have any ideas ?

    Check what the Mac requirements are for Napster 5.  Often older Mac OSs are not supported.
    Ciao.

  • I have checked the box "display date and time on the Menu Bar" and it does not work.  Using OS X Yosemite 10.10.2  Anybody have a fix?

    I have checked the box "display date and time on the Menu Bar" and it does not work.  Using OS X Yosemite 10.10.2  Anybody have a fix?

    Please read this whole message before doing anything.
    This procedure is a test, not a solution. Don’t be disappointed when you find that nothing has changed after you complete it.
    Step 1
    The purpose of this step is to determine whether the problem is localized to your user account.
    Enable guest logins* and log in as Guest. Don't use the Safari-only “Guest User” login created by “Find My Mac.”
    While logged in as Guest, you won’t have access to any of your documents or settings. Applications will behave as if you were running them for the first time. Don’t be alarmed by this behavior; it’s normal. If you need any passwords or other personal data in order to complete the test, memorize, print, or write them down before you begin.
    Test while logged in as Guest. Same problem?
    After testing, log out of the guest account and, in your own account, disable it if you wish. Any files you created in the guest account will be deleted automatically when you log out of it.
    *Note: If you’ve activated “Find My Mac” or FileVault, then you can’t enable the Guest account. The “Guest User” login created by “Find My Mac” is not the same. Create a new account in which to test, and delete it, including its home folder, after testing.
    Step 2
    The purpose of this step is to determine whether the problem is caused by third-party system modifications that load automatically at startup or login, by a peripheral device, by a font conflict, or by corruption of the file system or of certain system caches.
    Please take this step regardless of the results of Step 1.
    Disconnect all wired peripherals except those needed for the test, and remove all aftermarket expansion cards, if applicable. Start up in safe mode and log in to the account with the problem. You must hold down the shift key twice: once when you turn on the computer, and again when you log in.
    Note: If FileVault is enabled in OS X 10.9 or earlier, or if a firmware password is set, or if the startup volume is a software RAID, you can’t do this. Ask for further instructions.
    Safe mode is much slower to start up and run than normal, with limited graphics performance, and some things won’t work at all, including sound output and Wi-Fi on certain models. The next normal startup may also be somewhat slow.
    The login screen appears even if you usually log in automatically. You must know your login password in order to log in. If you’ve forgotten the password, you will need to reset it before you begin.
    Test while in safe mode. Same problem?
    After testing, restart as usual (not in safe mode) and verify that you still have the problem. Post the results of Steps 1 and 2.

  • The button on the side that turns my phone to silent does not work and niether does the up volume button.  I have tried restarting my phone, I did a soft reset, I checked all my settings, but nothing has worked.  Does anybody have any suggestions?

    Hello,
    I have an iPhone 4 and recently started to have some problems.  First, the button on the side of my phone, that puts the phone on silent is not working. I can move the switch, but my phone stays in silent. However, If I plug my headphones in, Then I can hear everything like I am supposed too.   Also, my up volume button does not work.  This is with the headphones also. 
    I have tried doing a soft reset, I reset all of my settings, I updated my software, I restored everything back to factory settings, and nothing has fixed it.  I bought it from best buy and can send it in for service, but the last time I sent a phone in, it took them 3 months!  and I really don't want to go without my phone that long. 
    Does anybody have any suggestions? 
    Thanks so much!!

    Sounds like it either believes that there are headphones plugged in, or the switch is broken.
    Why in the world would you take it to Best Buy for service? Take it to an Apple Store. They can replace it on the spot if it's defective.

  • Checking against Select-Options with "CP" using "IF value IN select_option"

    Dear experts,
    first of all: I'm sorry, if this question already should have been asked and answered!
    I tried quite a lot of search terms but didn't find anything helpful.
    We are using a statement like "IF value IN select_option" to perform comparisons after the Select-Options have been used in a SELECT statement. This logical expression fails (compared to the results of the DB-SELECT) whenever a select-option line contains the option CP (Contains Pattern). To be more specific: The case sensitivity of the LOW value doesn't seem to play a role any more. A variable with the value 'ABCD' would be positively checked against a select-option with OPTION 'CP' and LOW 'abc*', whereas this value wouldn't have been selected if the select-option had been used in a DB-SELECT.
    Does anybody know a workaround?
    Thanks in advance
    Andreas

    Dear Keshav,
    it's an own field in an own table, defined as CHAR of length 140 (lowercase allowed), reflecting to a line of remittance info of an account statement. A regular Select-Option for this field is provided in a report which works perfectly fine regarding the case sensitivity. For reasons I don't want to point out in detail we need to check a value in this field against the select-option without selecting it from the db again.
    Let's assume that a field remittance_info contains the value 'ABCD'.
    A line of the select-option table looks like this:
    select_option_table-SIGN = 'I'
    select_option_table-OPTION = 'CP'
    select_option_table-LOW = 'abc*'.
    Then an ABAP statement such as
    IF remittance_info IN select_option_table.
    * would be true !!!
    ENDIF.
    but wouldn't deliver a result in a SELECT such as
    SELECT * FROM my_table INTO TABLE my_internal_table WHERE remittance_info IN select_option_table.
    because of the differences in lower/upper case.
    regards
    Andreas

  • Anybody have problems updating from Leopard 10.5.8 to Snow Leopard 10.6.3, or can I expect an easy update?

    Anybody have problems updating from Leopard 10.5.8 to Snow Leopard 10.6.3, or can I expect an easy update?

    rrk224 wrote:
    Anybody have problems updating from Leopard 10.5.8 to Snow Leopard 10.6.3, or can I expect an easy update?
    You shouldn't have too much trouble provided you have a relatively clean system.
    You should backup your personal users folders off the machine to a regular storage drive (not TimeMachine) and disconnect.
    10.6 upgrade strips out the 10.5 PPC code your not using and offers faster video drivers and some neat features like Exposé and Spaces which is highly productive as you can have 4-16 desktops visible at once and move stuff around between them (10.7 ripped that out)
    10.6 is the fastest OS X version Apple has made, 10.5 is universal (more code and older video drivers) and 10.7 is slower than 10.6 in tests on the same hardware.
    Your 10.5 install disk should be working, (check it first) stick it in and reboot holding the c key down, you should be able to boot from the disk. Apple isn't offering replacement 10.5 disks anymore so it needs to work in case you want to downgrade from 10.6.
    You can learn how to make copies of your 10.5 disk online. I would do so.
    You might decide to Carbon Copy Cloner (free/donations) your present 10.5 system to a blank external powered drive, you then can hold the option key and boot from it, erase and reverse clone back to your internal drive if you wish.
    10.6 will run all your 10.5 software (some may need a update) as it has Rosetta, a compatibility system for 10.5 code. 10.7 does not, it will not run your present Rosetta/10.5 software at all, you will have to buy all new versions. Also older hardware likely won't work neither, like printers, scanners and all-in-ones etc as their drivers either won't get a update or they won't make one to force a premature hardware turnover.
    If your upgrading your older 10.5 machine to 10.7, I'd advise against it, there isn't as much software ready for 10.7 (like 10.6) because it's forcing developers to rewrite their PPC based code
    10.7 is slower and more glitchs than 10.6, more depressing gray all over and strange UI changes.
    Also 10.8 is due out this summer and may not run on older hardware, so it's looking like you will be best off with 10.6.8 and leaving it at that to get the most software choice/performance and leave 10.8 for a new hardware/software purchase.
    If your going to 10.7 anyway, then check this database to make sure the software your going to have to buy is ready or not. IMO, Lion for you and your older machine is a wasted effort and better the new software on a new hardware purchase.
    http://roaringapps.com/apps:table
    I must admit though I throughly hate OS X Lion, as do a lot of other people,  it's only because it's quality is absolutely terrible and unbecoming of Apple, likely why Mountain Lion 10.8 is being released this summer a year in advance and only a year after Lion. However my opinion about Lion's poor quality isn't relfected in my advice to you. For you it's more of a older hardware/have to buy all new software type deal which a newer machine with 10.8 and promises to be better/more refined OS than 10.7.
    So in other words, upgrade to 10.6.8 and stay there, save your pennies for a new machine Early 2013, by then 10.8 would have several months and a lot of software/bugs worked out for it.

  • How to check against hierachy schema with MDM?

    Hi,
    I have to use SRM-MDM to load supplier catalogs for SRM. Our suppliers deliver a XML Catalog structure with classification in a format like this:
    <ARTICLE_FEATURES>
    <REFERENCE_FEATURE_SYSTEM_NAME>ECLASS-4.0</REFERENCE_FEATURE_SYSTEM_NAME>
    <REFERENCE_FEATURE_GROUP_ID>21050101</REFERENCE_FEATURE_GROUP_ID>
    or
    <ARTICLE_FEATURES>
    <REFERENCE_FEATURE_SYSTEM_NAME>ECLASS-5.10</REFERENCE_FEATURE_SYSTEM_NAME>
    <REFERENCE_FEATURE_GROUP_ID>30020101</REFERENCE_FEATURE_GROUP_ID>
    I built up 2 tables eclass40 and eclass 513 in SRM-MDM as hierarchy tables. While importing the supplier xml I what to check against the REFERENCE_FEATURE_GROUP_ID (the class number). If the number does not exist in the class system the dataset should not be load.
    How can I do this?
    Best regards
    Roman

    thank you guys for your tries - but my question is still not answered.
    I will try to depict what i need in more details:
    1)process A with instance id (orabpel.cube_instace.cikey) = 1 is in closed.completed status.
    process A with instance id = 2 is in open.running status.
    2) i redeploy process A with the same version:
    process A with instance id = 1 now is in closed.stale status
    process A with instance id = 2 now is in closed.stale status
    question: how to query from orabpel schema instance which was not completed before it went to stale (in example above it's instance id = 2 only) = really really staled?
    thanks in advance!

  • Graphic card problem maybe? Since when I have changed the hard drive to my macbook pro and I installed all the new softwares, my mac is very slow and the screen gives crazy pictures,could maybe be the graphic card, does anybody have experienced this?

    Graphic card problem maybe? Since when I have changed the hard drive to my macbook pro and I installed all the new softwares, my mac is very slow and the screen gives crazy pictures,could maybe be the graphic card, does anybody have experienced this?

    after a restart it works for a time, but always slow. I went to the Applestore this afternoon and the made a check and said it would be the logicboard and they would have to change it for CHF 600 and it would be ready in 10 - 15 days

  • I have installed the new iOS 5 on my Iphone 3GS and my bluetooth connection doesn't work anymore. Does anybody have a solution?

    I have installed the new iOS 5 on my Iphone 3GS and my bluetooth connection for my Philips bluetooth headset doesn't work anymore. Does anybody have a solution?
    I have checked the headset on another Iphone with iOS 4 and it works well.
    Thanks for your help!
    Pierre (from Paris - France)

    Bonjour Pierre,
    there seems to be a bug in iOS5 with regards to Bluetooth. THere are a lot of threads in here on this. We're all waiting for Apple to fix this...

  • Firefox is refusing to start. It says that my profile is missing, which it appears to be. Yet the way in which one goes about creating a new profile wont' work either. Anybody have a bloody clue what's going on and how to fix it?

    Firefox is refusing to start. It says that my profile is missing, which it appears to be. Yet the way in which one goes about creating a new profile wont' work either. Anybody have a bloody clue what's going on and how to fix it?

    AIR give you classes to detect an on-line or off-line status, it's in 
    this way for the sake of flexibility for instance what happens if you 
    only what to sync  data only on Saturdays at 2 am? If it were done 
    automatically that'll be a problem. And it isn't so complicated.
    You can download the SalesBuilder from AIR examples at www.adobe.com/devnet/air
      it's an application that does everything you have in mind.
    I don't understand your question abou file types.
    An AIR app can communicate with almost every backend served tech 
    CF, .Net, PHP, RoR.
    Sincerely,
    Michael
    El 14/05/2009, a las 8:48, IrishAIRMax <[email protected]> escribió:
    >
    I have to say that I'm loving the picture! well cool!
    >
    Sorry but I don't quiet understand. I thought AIR did the updating 
    automatically? I didn't realise the developer had to program the 
    logic of how the updates take place?  Is it a case in most AIR apps 
    that when online the app updates the server and once every intervel 
    (of however long) the local SQLite DB is synced to the more updated 
    server DB. Then when offline the developer has to sense that the app 
    is offline and store a log manually of the updates without any help 
    from AIR itself, and then update once it comes online again?
    >
    Can AIR link to anything more than a database on the server side 
    apart from webservices, for example .as files or any other file types?
    >
    What type of server is a Flex app stored on, is it a specific Adobe 
    server rather than a Java or .NET server?
    >
    Thank you so much for your last comment!
    IrishAIRMax
    >

  • N Mail, when using "reply all" why does Mail automatically include my email address in the cc line? Whey would I want to include my email address in an email I am sending.  Anybody have any idea how to stop this?

    In Mail, when using "reply all" why does Mail automatically include my email address in the cc line? Whey would I want to include my email address in an email I am sending.? Anybody have any idea how to stop Mail from including my email address in the cc line when using "reply all"?

    Automatically cc myself is not checked.  I did find out that if you have multiple email address that all of them need to be associated with "My Contact" tab.  Thanks

  • I have imported some studio footage to my timeline and when i play it back the playback screen is green, even the footage in the timeline is green. anybody have a solution? thanks!

    I have imported some studio footage to my timeline and when i play it back the playback screen is green, even the footage in the timeline is green. anybody have a solution? thanks!

    Exactly WHAT did you import?
    Exactly what is INSIDE the video you are editing?
    Codec & Format information, with 2 links inside for you to read http://forums.adobe.com/thread/1270588
    Report back with the codec details of your file, use the programs below... A screen shot works well to SHOW people what you are doing
    https://forums.adobe.com/thread/1070933 for screen shot instructions
    Free programs to get file information for PC/Mac http://mediaarea.net/en/MediaInfo/Download
    More information needed for someone to help... please click below and provide the requested information
    -Premiere Pro Video Editing Information FAQ http://forums.adobe.com/message/4200840
    •What is your exact brand/model graphics adapter (ATI or nVidia or ???)
    •What is your exact graphics adapter driver version?
    •Have you gone to the vendor web site to check for a newer driver?
    •For Windows, do NOT rely on Windows Update to have current driver information
    •-you need to go direct to the vendor web site and check updates for yourself
    •ATI Driver Autodetect http://support.amd.com/en-us/download/auto-detect-tool
    •nVidia Driver Downloads http://www.nvidia.com/Download/index.aspx?lang=en-us

  • Double Invoice Check - Against the Delivery Note/ Bill #

    Dear All,
    I have a requirement here, Bit different from the Regular Double Invoice Check,
    I will receive the Material A, 10 different times, will do the GR 10 times & enter the Bill # & Challan # during GR. While posting the Invoice i want the system to check against which Bill # i am posting the invoice. Say during GR my Bill #s were 1 to 10. I receive the Invoice from my Vendor from 1 to 5 today, so i posted the invoice. After few days He will send a duplicate Invoice with Bill # as 5, & he will inform me that he lost original Invoice so he is sending the duplicate. As i have'nt posted Bill # 6 to 10, system will accept the Bill 5 also again. How can i avoid these things ?
    regds,
    CB

    Hi,
    Already I am maintaining these Bill # & Delivery Challan # during GR. My issue is during Invoice i want a check. In Invoice we have a reference field at header, If i am posting a single GR as a single invoice thats OK. But if I am posting more than 1 GR in single Invoice, where can i maintain the Bill # ? Any solutions pls ?
    regds,
    CB

  • I want to reduce pdf size up to 5mb for mailing perpose, anybody have any option to reduce it since I have used optimiser & reduce file size option but its not helpfull.

    I want to reduce pdf size up to 5mb for mailing perpose, anybody have any option to reduce it since I have used optimizer & reduce file size option but its not helpful.

    The optimizer can reduce space, but some things can't get smaller. Text for example. Play with the settings, examine the results of Audit Space Usage.
    Or give up. Even 5 MB is too large for a bulk mailing, by far. Instead put it on your web site and mail a link - done!

Maybe you are looking for

  • 8mm and Canopus or Digital 8 for capturing 8mm tapes?

    I have a Canopus 300 that I've been using for capturing VHS tapes. I also have an 8mm camcorder. Will that camcorder + Canopus do as good a job as a Digital 8 camcorder or Digital 8 playback deck? Thanks! MikeR

  • Record stop and domain "in recovery" status.

    Hi, We have a Sun Management Center 3.6.1 in solaris 10, it's install to monitoring the SF25K hardware, it's configure an action by sending an email, into Hardware->Platform Config Reader->Domain->Status. Yesterday, the system generated 2 messages: "

  • Sync options - bad support

    I have a Pearl 8130.   As a stand alone device it works good.  My complaint is trying to sync it with anything.  RIM's support is garbage if you're using anything but Outlook. I own a Mac and fought long and hard to work out some of the many kinks wi

  • Code Review Tools for Enhancements

    Friends, I have to perform code review for enhancement objects. I am aware of tools like Code Inspector (SCI Tcode) and SE30. These tools can be used for reports, function modules. I would like to know if these tools can be used for enhancements or a

  • Creative Cloud CC 2014

    Hi, I am on a Macbook Pro and have been a student using Creative Cloud for a year now. Recently, my creative cloud apps installed 2014 editions, and instead of having both 2013 and 2014 CC editions on my mac, I deleted the 2013 editions. Yesterday, M