BC: How to set an attribute in the validateEntity method

Hi All,
a little question that hopefully someone knows the answers to.
We override the validateEntity() method in our Entity Objects to perform validation. During our validation based on the value of a (bound to a database column) attribute, we conclude that another attribute (bound to another database column) needs to be set to a specific value.
For example: we have a table with columns A and B. The user can edit both, but when the value of column A is set to 'value1' the value of column B is set to '0' in the validateEntity() method. (When the value of column A is something different the user may fill anything in column B).
Because all our validation and logic is centralised in the validateEntity() method we would also like to have this logic in there.
However we face some problems:
If we use setAttribute() or setAttributeInternal() the validation is run again (and again, and again, eg a loop). I can get out of the loop, but i really don't want the validation to be done again.
So i looked up the documentation on oracle.jbo.server.EntityImpl and i specifies that i should use populateAttributeAsChanged().
I have tried that, but now the user gets to see 'JBO-25014: Another user has changed the row...'. The same result with populateAttribute().
I tried to change the attribute to refresh after insert/update, but that doesn't help.
Can anybody help?
Thanks in advance.
Regards,
Robert

What if I wanted to "reset" one attribute when validation fails, I can do this but I don't see the error message.
my method looks like this:
public boolean validateDatumEffectueringAlsStatusIsDrie() {
if (new Number(3).equals(getStatus()) &&
getDatumEffectuering() == null) {
setStatus((Number)getPostedAttribute(STATUS));
return false;
return true;
This probably fires the method twice when status was set to 3, and the second time it does not fail because status is set back to the value that was not 3, so I don't see the error message that was shown the first time.
So how is this done properly?
The reason I do this is because DatumEffectuering is readonly when status is 3 so when the page refreshes after the validation the empty date field is readonly.... I need the status to be reset after validation of the entity fails.
Thanks in advance!

Similar Messages

  • How to set two attributes as  a primary key in database ?

    how to set two attributes as a primary key?
    Take COffeesbreak as an example ,
    let's suppose that there are cof_name ,sup_id,price and so on;
    the same cof_name may be suplied by more sup_ids,
    and one sup_id may suply more cof_names.
    so the Primary key should be set the cof_name and sup_id ,
    how to set ?
    (of course that i konw if I set a cof_id,the problem will be easy work out
    but now there are those like above)
    I set that as following:
    create table coffees (cof_name VARCHAR(32) PRIMARY KEY,sup_id INTEGER, PRIMARY KEY,PRICE INTEGER )
    THE database print error :cant add more primary keys!
    thanks in advance

    You can only use the PRIMARY KEY declaration on a column if it is the only Primary Key column.
    Use the PRIMARY KEY constraint statement instead.
    create table coffees (
      cof_name VARCHAR(32),
      sup_id INTEGER,  
      PRICE INTEGER,
      PRIMARY KEY ( cof_name ,sup_id )
    )Dave

  • How to set InDesign CS5 as the default in the system having InDesign CS4 has the default ?

    How to set InDesign CS5 as the default .indd application when you have InDesign CS4 and CS5 installed and InDesign CS4 is the current default (InDesign CS4 was installed after CS5 installation)

    Thanks, but I already tried it at first but it is not the effective method.
    I think its because of the this reason :
    Both - InDesign CS4 and InDesign CS5 have their application/program/exe named as "indesign.exe".
    Installation of either InDesign CS4 or InDesign CS5, sets a Windows default path for the "indesign.exe". In this case, since InDesign CS4 was installed later (after InDesign CS5 was already installed), the "indesign.exe" which was directing InDesign CS5's "indesign.exe" was replaced by InDesign CS4's "indesign.exe".
    But after long google and search through regedit, I've got the solution :
    Locate HKEY_CLASSES_ROOT\InDesign.Document\Shell\Open\Command in regedit
    Change the value of (Default) attribute to "C:\Program Files (x86)\Adobe\Adobe InDesign CS5.5\InDesign.exe" "%1"     // Include the quotes
    Message was edited by: Vidit Kothari

  • Setting camera attributes with the PCI-1405

    I have the PCI-1405 Imaq card.  I was wondering how I set camera attributes like gain and exposure time.  Every time I try to use the set camera attribute VI I get an error message saying the attribute is not valid.

    khsay--
          Installing the driver will allow the framegrabber (1405) to communicate with the computer.  I want to verify that you are using Measurement and Automation Explorer (MAX) to test the sanp/grab features of your camera.  This will allow you to directly interact with the hardware.
          If you are, and this is where you are getting the extract image error.  First double-check that you know what kind of communication standard the camera uses (for instance, CCIR or RS170) and make sure that this is selected in MAX. 
          The camera might not be using a known standard, in which case you will need a camera file that tells the computer and framegrabber how to interpret the camera's information and signal.  You can look in MAX and see if the camera is listed, if it is the camera file is   If not, you can try going to www.ni.com/camera and see if you can get a camera file there. If not you will need to try contacting the manufacturer to see if they have one, and if not you will need to create one using the camera file generator from the ni.com/camera. 
         Just let us know if this information helped to solve the issue and if not reply back so that we can help.  Also, in the future if you have a new issue you might consider posting in a new thread.
    Regards,
    John H.
    Applications Engineer
    National Instruments

  • How to set white spaces between the fields in dataset??

    Hi all,
    I am writing a set on information to from infotypes to a text file. Its a fixed width file. How do set white spaces in the fields for dataset?
    Example:
    TYPES: begin of header,
                    filler(40)  type c,
                    id(3)        type c,
                    filler2(7) type  c,
                    delimiter  type  c,
                 end of header.
    DATA header type header.
    header-filler1 = ' '.
    header-id       = '100'.
    header-filler2 = ' '.
    header-delimiter = cl_abap_char_utilities=>newline.   ( do it to get a new line)
    my_table = header.
    append my_table.
    DATA: out_file(256) type C,
          codepage_ref type ref to CX_SY_CONVERSION_CODEPAGE,
          out_char type c,
          size type i,
          insert_string type string,
          insert_size type i.
      out_file = filename.
      open dataset out_file for output in text mode ENCODING NON-UNICODE.
      LOOP AT my_table.
        size = strlen( my_table ).
        insert_string = ''.
        DO size TIMES.
          offset = sy-index - 1.
          try.
              out_char = my_table+offset(1).
              IF out_char = SPACE.
                CONCATENATE insert_string '' INTO insert_string SEPARATED BY SPACE.
              ELSE.
                CONCATENATE insert_string out_char INTO insert_string.
                transfer insert_string to out_file NO END OF LINE .
                insert_string = ''.
              ENDIF.
            catch CX_SY_CONVERSION_CODEPAGE.
              insert_size = strlen( insert_string ) - 1.
              insert_string = insert_string(insert_size).
          endtry.
        ENDDO.
       transfer CL_ABAP_CHAR_UTILITIES=>NEWLINE TO out_file NO END OF LINE.
      ENDLOOP.
      close dataset out_file.
    How do I get to insert the space for filler1 and filler2?
    Edited by: Siong Chao on Oct 4, 2011 4:56 AM
    Edited by: Siong Chao on Oct 4, 2011 8:27 AM
    Edited by: Siong Chao on Oct 4, 2011 8:29 AM

    problem lies in the open dataset codes
    Used:
    open dataset out_file for output in text mode encoding non-unicode message msg.
    if sy-subrc= 0.
    loop at my_table.
    transfer my_table to out_file
    transfer cl_abap_char_utilities=>newline to out_file no end of line.
    endloop.

  • How to set a song in the playlist to be phone ringtone

    how to set my song in the playlist to be my ringtone

    you have to convert it to a ringtone first. searching google will give you many ways to do it. also, there are some ringtone apps with pros and cons to each one. you cannot just pick a song on your phone and make it a ringtone unfourtunately.

  • How to set a cookie in the browser from an html page called via an Iview

    How to set a cookie in the browser from an html page called via an Iview
    Hello all,
    I have an issue which is causing problems. I have a snap survey (html form with submit and cookie setting) which is embedded in a url iview.
    Although the submit and the form work fine, the portal will not allow the cookie to be set it seems.
    Is there a way to allow cookies to be set from an embedded page in a url iview??
    You will make my day if you know!
    System: EP7 SP13
    Kind regards
    Alex

    Hi,
    Check this:
    http://www.oracle.com/technology/products/ias/portal/html/same_cookie_domain_with_pdkv2.html
    Cookie Basics
    Web browsers have built in rules for receiving and sending cookies. When a browser makes a request to a web server and the web server returns cookies with the response, the browser will only accept a cookie if the domain associated with the cookie matches that of the original request. Similarly, when a browser makes a subsequent request, it will only send those cookies whose domain matches that of the target web server.
    These rules are designed to ensure that information encoded in cookies is only "seen" by the web server(s) that the originator of the cookie intended. These rules also ensure that the cookie cannot be corrupted or imitated by another server. By default, the domain associated with a cookie exactly matches that of the server that created it. However, it is possible to modify the domain at the time the cookie is created. Relaxing the cookie domain increases the scope of the cookie's visibility making it available to a wider "audience" of web servers.
    For example, if a cookie is created by a.us.oracle.com, it's domain will usually be set to a.us.oracle.com. This means that the browser will only send the cookie to a.us.oracle.com. It will never send it to any other servers. However, if at the time of creation, the domain of the cookie is set to .us.oracle.com, the browser will send the cookie to any server whose domain falls within .us.oracle.com. such as portal.us.oracle.com, provider.us.oracle.com, app.us.oracle.com etc
    Regards,
    Praveen Gudapati

  • TS4006 how to set a tracking from the computer if someone stolen the ipod

    how to set a tracking from the computer if someone stolen the ipod

    Welcome to the Apple Community.
    You can only locate your device when it is logged into iCloud and 'Find My Phone' is enabled, additionally the device will need to be switched on and connected to a wifi or cellular network.
    Unfortunately, you cannot activate iCloud or 'Find My Phone' remotely.

  • How to set Where clause in the View Object of the MessageChoice ?

    Hi,
    How to set Where clause in the View Object of the
    MessageChoice ?
    Example:
    <bc4j:rootAppModuleDef name="EdEscolaCampusView1AppModule"
    definition="ed00050.Ed00050Module"
    releaseMode="stateful" >
    <bc4j:viewObjectDef name="EdEscolaCampusView1" >
    <bc4j:rowDef name="CreateEdEscolaCampusView1" autoCreate="true" >
    <bc4j:propertyKey name="key" />
    </bc4j:rowDef>
    </bc4j:viewObjectDef>
    <bc4j:viewObjectDef name="ListaTipLocalView1"
    rangeSize="9999">
    </bc4j:viewObjectDef>
    </bc4j:rootAppModuleDef>
    </bc4j:registryDef>
    messageChoice declaration:
    <bc4j:messageChoice name="SeqTipoLocalCampus"
    attrName="SeqTipoLocalCampus"
    prompt="Local do Campus">
    <contents>
    <bc4j:optionList attrName="SeqTipoBasico"
    textAttrName="NomTipoBasico"
    voName="ListaTipLocalView1"/>
    </contents>
    </bc4j:messageChoice>
    I would like set where clause of ViewObject, with dinamic parameters (using attribute1 = :1), before populate messageChoice.
    thanks...
    Danilo

    Hi Andy,
    I try set a where clause using the message:
    Set where Clause parameter using UIX , but my UIX Page have 2 messageChoice's of different ViewObject's, then I need implement this Java Class:
    //Nome da Package da Tela Detail
    package br.com.siadem.siaed.ed00050;
    // Importa as Bibliotecas necessárias
    import oracle.jbo.ViewObject;
    import oracle.jbo.ApplicationModule;
    import oracle.jbo.client.Configuration;
    import oracle.cabo.servlet.BajaContext;
    import oracle.cabo.servlet.Page;
    import oracle.cabo.servlet.event.PageEvent;
    import oracle.cabo.servlet.event.EventResult;
    import oracle.cabo.data.jbo.servlet.bind.*;
    import oracle.cabo.ui.data.BoundValue;
    import oracle.cabo.ui.data.DataBoundValue;
    import javax.servlet.http.HttpServletRequest;
    import br.com.siadem.siaed.util.*;
    import javax.servlet.http.Cookie;
    import oracle.cabo.data.jbo.def.NestedAppModuleDef;
    import oracle.cabo.data.jbo.def.ViewObjectDef;
    import oracle.cabo.data.jbo.def.AppModuleDef;
    // Classe que configura os parametros para a execução da Query,
    // utilizando variáveis de Sessao
    public class FunPreQueryLista
    public static EventResult FunConfiguraQuery(BajaContext context, Page page, PageEvent event) throws Throwable
    // TrataDadosSessao - Classe utilizada para retornar os valores das variáveis de sessão genéricas
    // Ex: CodCliente, CodMunicipio etc...
    TrataDadosSessao varDadosSessao = new TrataDadosSessao();
    // 1o. Parametro Configurado - Através da classe TrataDadosSessao, utilizando um método Get
    // <alterar>
    String valor1 = varDadosSessao.getCodCliente();
    String valor2 = varDadosSessao.getCodMunicipio();
    //Cria o objeto que retorna o ApplicationModule
    ApplicationModule am = ServletBindingUtils.getApplicationModule(context);
    // Início das Configurações da Query da Lista
    //Cria o objeto que retorna o view object da lista desejada
    //alterar
    ViewObject TipoLocal = am.findViewObject("ListaTipoLocalView1");
    //Configuração dos parametros definidos na query do view Object
    //alterar
    TipoLocal.setWhereClauseParam(0,valor1);
    TipoLocal.setWhereClauseParam(1,valor2);
    // Executa a Query
    TipoLocal.executeQuery();
    // Fim das Configurações da Query da Lista
    // Início das Configurações da Query da Lista
    //Cria o objeto que retorna o view object da lista desejada
    //alterar
    ViewObject TipoDestLixo = am.findViewObject("ListaDestinoLixoView1");
    //Configuração dos parametros definidos na query do view Object
    //alterar
    TipoDestLixo.setWhereClauseParam(0,valor1);
    TipoDestLixo.setWhereClauseParam(1,valor2);
    // Executa a Query
    TipoDestLixo.executeQuery();
    // Fim das Configurações da Query da Lista
    // Retorna o Resultado para a Página
    return new EventResult(page);
    The code works very well...
    And, I'm sorry for my two repost's in UIX Forum about this in a few time.
    Thank very much...
    Danilo

  • How to set default values on the screen painter parameters?

    Hello ABAP Gurus,
    I would just want to ask how to set default values on the screen painter parameters.
    Thank you for your replies.

    Hi,
    To set default values for screen painter parameters initialize the field names with default values in the PBO module....
    say u have the field name as f_field1....
    in the PBO of that screen initialize it....
    f_field1 = '100'  "here 100 is the default value.
    <b>reward points if useful.</b>
    regards,
    Vinod Samuel.

  • C How to Set Isolation Level in the Connection String

    How to Set Isolation Level in the Connection String using the "Microsoft OLE DB Provider for DB2 Version 4.0"?
    We are trying to move from Crystal Reporting that run against a IBM DB2 database on a mainfram to SSRS reporting and we have downloaded the "Microsoft OLE DB Provider for DB2 Version 4.0" and then worked with the DB2 Administrator to create the
    Packages.  We only have access to use the "Read Uncommitted ("MSUR001") package.   We were able to connect and pull data before he removed access to the other packages, but after setting access the Connection keeps trying to use
    the 'Cursor Stability (MSCS001)" package.   How do we change the Default to the "Read Uncommitted ("MSUR001") package???   Since it is keeps defaulting to the the other package
    we can't connect to do it in the T-SQL query, it has to be set at the Connection String level.

    Hi Dannyboy1263,
    According to your description, you want to set the Transaction Isolation Level in Connection String. Right?
    In Reporting Services, the Connection String for OLE DB Connection can only contains Provider, Data Source and Initial Catalog. There's no property for setting Transaction Isolation Level in the Connection String. Based on my knowledge, we can
    only set the Transaction Isolation Level at Query level or set it by using code (C#, VB, Java...) to call the property of Connection. So unfortunately your requirement can't be achieved currently.
    Reference:
    OLE DB Connection Type (SSRS)
    Data Connections, Data Sources, and Connection Strings in Reporting Services
    If you have any question, please feel free to ask.
    Best Regards,
    Simon Hou

  • How to set Password change in the WAD Browser

    Hello All
    Before dropping my question i will explain you what was the Real scenario, i am using WAD 3.50 Version and server is BW 3.0B.we are not using portal, and Enduser will view the reports in the browser through the WAD execute Http link.
    Question.
    whenever the enduser uses Http link of web template in the browser, he will connect through VPN and they can able view the reports. the question is *Some system Enduser won't have SAPGUI in their system so they wants to change the password because they won't know even if it is expire.
    Please Help me how to set Change Password in the browser for the WAD Application*.

    To do this you will have to use either make use of portal or BSP application or Dynpro..
    It is not possible for the user to change the password just from the web query

  • Can anybody tell me how I set an hiperlink in the new Adobe Muse CC 2014...

    Can anybody tell me how I set an hiperlink in the new Adobe Muse CC 2014...?

    Check out: http://helpx.adobe.com/muse/using/creating-hyperlinks.html
    Cheers,
    Vikas

  • Error-Cannot set DISPLAYED attribute of the current item DUMMY.VIEW

    HI ALL,
    Im my form, I have three BLOCKS
    1) CTL(Manual Data Block)
    2) DUMMY(Manual Data Block)
    ITEMS 1) msg 2) <view> 3) <cancel> 4) <Exit>
    3) Audit Trial Log(Database Data Block)
    ITEMS All Database columns of a table Audit_Trial_Log
    CANVASES 1) CANVAS3------Block CTL---window1
    2) New_Entries---Blocks Dummy and Audit Trial Log--New_Entries
    In CTL block I have button <VIEW>. On when-Button-Pressed trigger I am setting "VISIBLE' properties false for items of datablock AUDIT Trail LOG and also for item of datablock DUMMY excluding for <VIEW> and <Cancel> buttons.
    when-Button-Pressed trigger of <View>, I have done reverse setting i.e. previously visible items to invisible and vice versa. Also I am executing query on Audit Trial Log block. But when I click <VIEW> I get the following error
    FRM-41016: Cannot set DISPLAYED attribute of the current item DUMMY.VIEW Even execute query fails.
    Please help me......

    before setting a current item to invisible you must navigate to another item, which is visible

  • Hi All, I have question about the iMac operating system. I have the last updated. The problem when I manage the place of the folder windows they are all mixing up. I mean they not on the place where I left them. how to set they stay on the same place. Tks

    Hi All, I have question about the iMac operating system. I have the last updated. The problem when I manage the place of the folder windows they are all mixing up. I mean they not on the place where I left them. how to set they stay on the same place? I know there are different possibilities to set.
    I tried but it not helped for me. What I can do? How and where can set this they stay on their place?
    Thanks.
    laci

    Option 1
    Back Up and try rebuild the library: hold down the command and option (or alt) keys while launching iPhoto. Use the resulting dialogue to rebuild. Choose to Repair Database. If that doesn't help, then try again, this time using Rebuild Database.
    If that fails:
    Option 2
    Download iPhoto Library Manager and use its rebuild function. (In Library Manager it's the FIle -> Rebuild command)
    This will create an entirely new library. It will then copy (or try to) your photos and all the associated metadata and versions to this new Library, and arrange it as close as it can to what you had in the damaged Library. It does this based on information it finds in the iPhoto sharing mechanism - but that means that things not shared won't be there, so no slideshows, books or calendars, for instance - but it should get all your events, albums and keywords, faces and places back.
    Because this process creates an entirely new library and leaves your old one untouched, it is non-destructive, and if you're not happy with the results you can simply return to your old one. 
    Regards
    TD 

Maybe you are looking for

  • How can I turn off the annoying yellow boxes that have started appearing?

    It seems that recently I have started having annoying yellow boxes appearing when I hover over thing in the finder window. This is something that I didn't have going on in the previous 3 versions of Mac OS X. Here's an example... How can I get rid of

  • Can't get Search to work in Blog or Archives

    "Republished All" to .mac and Search still fail to work in either the primary blog page or the archives. All I've ever gotten back is "Your search did not produce any results." Can't seem to find any other threads that solve the problem so any sugges

  • Hi All, I have an Issue with iMessages working from iphone 4s but not from macbook air

    Hi everyone, I'm new to MAC's but have had an iphone for a while, so much so I had an iphone 4 but got an iphone 4s, I gave my 4 to my dad, and after recantly buying a MBA tried to imessage the old man but his name turns red and will not allow me to 

  • Digital Signatures for Client non repudation (Headers)

    Hi: I'm developing a Web Service in WLS7.0 SP2. The backend component is ready. I now have to sign the client request (hopefully using xml security), i.e. add the signature as a soap header in the client using a handler, then on the server side use a

  • In need of advice for backing up HD Video

    So we returned from a vacation, where I shot all the video in HD 1080p. We got back, and I used Final Cut Express to convert the AVCHD files from .mkv to .mov files. All together, the total files come to a whopping 78.93 GB. Wow. I need to back these