Defaulting logic in entity create method

Hi
As suggested by BC4J I use the create method of my entity object to insert defaulting logic for some attributes. The code looks like this:
protected void create(AttributeList attributeList)
super.create(attributeList);
Number seqNumber = new Number();
SequenceImpl s = new SequenceImpl("REV_SEQ", getDBTransaction());
seqNumber = s.getSequenceNumber();
setRevId(seqNumber);
setCreationDate(SamUtils.getSystemDate());
ApplicationModule am = getDBTransaction().getRootApplicationModule();
if (am instanceof SecuredApplicationModule)
setUsrId(((MyApplicationModule) am).getUsrId());
But executing this code results in an Exception: "JBO-25014: Other User has changed the Row". If I remove the code between the lines above everything works ok.
My questions are:
- Is it ok to use set-Methods in the entity create method? Or should I set my default values to the "attributeList" instead?
- do you think it is a problem to use the ApplicationModule as shown? I should mention that am.getUsrId() simply returns a previously stored variable and does not perform any queries or alike.
Thanks for your help
Frank Brandstetter

It's definitely fine to setAttributes - I've done it myself (but not using "specific" setters).
I haven't used the built-insequences before - this bit of your code looks a bit wasteful in terms of object creation, but that's obviously not your issue....
It looks fine to use an application module in such a way; I coded a "current user id" function on mine too.
I actually suspect the date-attribute, since I (me again!) had some "concurrent user" problems too. The issue was the fact that a Java date is accurate to the millisecond, and the database storage and retrieval wasn't. (I wasn't using Oracle so I'm not sure how it goes there....) A "concurrent user" exception gets thrown when bc4j goes to update an entity and finds that the date-value in the object doesn't match the "rounded" one it retrieves (as a check, just before it does the update - this is the optimistic locking) from the database. [So does the error occur only when you've saved the new entity once, then update it and try to save it again?]
I got around it by setting the millisecond portion of any dates I used to zero (since the "storage" was accurate to a second) - so you might try that. (Did it generically in prepareForDML in my own Entity superclass, I think.)
Otherwise, try setting the attribute, but not in the create method, and seeing if you get the same problem...
HTH
Mike.

Similar Messages

  • How to customizer entity create() method and doDML() just ?

    hi,
    I want to customizer entity create() method out of entityimpl java class,just like customer validator rule ,it will be used by many entity,so I can programly control default value such as database function or procedure,and more i want to write customer doDML() procedure with parameter,where and how can i do?
    thanks very much
    lixz
    2006.12.11

    hi,thank you frank
    but what you said is not what i want.eg,I have two entities,users(userid,last_name,first_name),product(prodid,name,specification) ,I want to set useid,last_name by set some property :Inparameter(a,b),setField(userid,last_name),Function_name(set_default_value) and can set product entity some field defaul value,and i only need to supply inparameter(a,b,c),setField(name,specification) ,function_name(another_set_default_value).customer validator (srdemoadfbc datemustcomeafter rule) can do the very thing what i want ,but can it only execute during validating,do you unstand what i say and give me some help?
    thanks
    lixz 2006/12/12

  • Default Image with created Method on HTML Client

    Hi,
    I have an entity called "Users" and I would like to show a default image for the user when New User screen appears.
    Somebody knows how to achieve that on the "created" method of entity for HTML (JavaScript)?
    Thanks in advance!
    Jesús

    HI Helmut,
    When you help secure your application, the final step is to publish it. When you publish for the first time, you must provide authentication information for a default administrator. When you publish again, you don’t have to repeat this step.
    To provide authentication information when you publish an application
    1.  
    In the LightSwitch Publish Application Wizard, choose the Security Settings page, and then choose the Yes, create an Application Administrator option button.
    2.  
    In the User Name text box, enter a username.
    3.  
    If you’re using Windows authentication, you must specify a valid Windows logon name that has the form Domain\Username.
    For this issue, you can also repair your Lightswitch, and check whether it helps fix it.
    For this issue, here are a few suggestions that might help:
    •Clean and Rebuild - Cleaning and rebuilding your current Project (Right-click > Clean, Right-click Rebuild respective) and see if that makes any difference at all. 
    •Consider Restarting Visual Studio - If these issues are still persisting after the above steps, try restarting Visual Studio (and even your local machine
    Please let me know if there is anything that I can do to help.
    Best regards,
    Angie
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Multiple create methods of entity beans in single transcation

    Hi,
    I have some entity beans with CMR. I am managing these entity beans with a Stateful session bean whose transaction type is Container Managed for all its methods.
    In one particular method of this Session bean I am calling two entity bean's create method. i.e I am creating two entity beans through home.create() methods. There are two home.create() methods one after another inside a try catch block.
    I want that the entire operation be under just one transcation so i have also given the transaction attribute as Required for all methods of Session bean and Entity Beans.
    However if i pass invalid parameters to second create method so that it generates exception then still the first create statement is successful and database is updated.
    what i want is that the first create also should be roll backed.
    How can i acheive this through Container Managed Transaction Session Bean?

    Hi Ashwini,
    "Ashwini" <[email protected]> wrote in message news:400291af$[email protected]..
    I have some entity beans with CMR. I am managing these entity beans with a Stateful session bean whose transactiontype is Container Managed for all its methods.
    >
    In one particular method of this Session bean I am calling two entity bean's create method. i.e I am creatingtwo entity beans through home.create() methods. There are two home.create() methods one after another inside a try catch
    block.
    >
    I want that the entire operation be under just one transcation so i have also given the transaction attribute asRequired for all methods of Session bean and Entity Beans.
    >
    However if i pass invalid parameters to second create method so that it generates exception then still the firstcreate statement is successful and database is updated.
    what i want is that the first create also should be roll backed.
    How can i acheive this through Container Managed Transaction Session Bean?o Do you use TXDatasource with your entity beans?
    o In CMT transactions are automatically rolled back only when RuntimeExceptions
    are thrown. What kind of exception is thrown in your case?
    Regards,
    Slava Imeshev

  • Entity with nested entities, create method generated incorrectly

    For the sake of this question, assume I have two entities: Header, and LineItem.  The Header has 0..n LineItems.  I've modeled this in the CAS by creating two entities, with a nested relationship between teh two.  Tables were created correctly, everything looks fine.  I then created an Application Service, which uses the Header an LineItem entities.  I created CRUD methods for the Header object; when selecting the types to be included as part of the create method, I selected Header details, as well as the list of LineItem's.
    The generated create method (the _R version), however, does not have the correct method signature.  It looks like this:
    public xxx..Header_R createHeader_R(java.lang.String[] lineItems) throws  ...
    Why is lineItems declared as String[] instead of LineItem[]?  All objects have been marked as remote enabled, so that's not the issue.  Is this a bug, or a feature?
    The other CRUD methods only expose the Header, so I could exclude the LineItem from the create, and just perform an update after the create, but I'd rather not have to create objects in two steps.
    Anyone else run into this situation?

    Hello Ken!
    CRUD operations usually belong to the Entity Services that are generated for the business objects you modelled.
    Based on these Entity Services you can implement custom Application Services which can be provided with any signature you want them to have.
    Any Application Service has to be implemented by you. Thereby, you can rely on the Entity Services generated for your business objects.
    If you want to deal with sets of objects like line items, you should model a set type LineItemList or so which wraps the set of items. Otherwise, you won't be able to expose your Application Service as a Web Service.
    You could now implement an Application Servcie operation which takes a Header object as well as a LineItemList object as input parameters. However, it is questionable if you should deal with multiple business object types in one Application Service operation. Implementing multiple operations which rely on keys might result in a better design.
    Best regards
    Alexander

  • Exception when invoking create method on entity ejb's home object

    I have a simple entity bean. I am able to get the reference to the entity's home object. But when I run create method on entity's home interface, I get the following exception. The create method takes no arguments as the primary key is Auto-Increment field in MYSQL database. Here is the exception. I am using jdeveloper and embedded OC4J as server.
    07/06/22 15:51:15 java.lang.NullPointerException
    07/06/22 15:51:15 at EmployeeHome_EntityHomeWrapper2.create(EmployeeHome_EntityHomeWrapper2.java:1168)
    07/06/22 15:51:15 at com.pd.EmpAddInput.addEmployee(EmpAddInput.java:64)
    07/06/22 15:51:15 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    07/06/22 15:51:15 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    07/06/22 15:51:15 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    07/06/22 15:51:15 at java.lang.reflect.Method.invoke(Method.java:585)
    07/06/22 15:51:15 at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:146)
    07/06/22 15:51:15 at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:92)
    07/06/22 15:51:15 at javax.faces.component.UICommand.broadcast(UICommand.java:332)
    07/06/22 15:51:15 at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:287)
    07/06/22 15:51:15 at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:401)
    07/06/22 15:51:15 at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:95)
    07/06/22 15:51:15 at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:268)
    07/06/22 15:51:15 at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:110)
    07/06/22 15:51:15 at javax.faces.webapp.FacesServlet.service(FacesServlet.java:213)
    07/06/22 15:51:15 at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:712)
    07/06/22 15:51:15 at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:369)
    07/06/22 15:51:15 at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:865)
    07/06/22 15:51:15 at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:447)
    07/06/22 15:51:15 at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:215)
    07/06/22 15:51:15 at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:117)
    07/06/22 15:51:15 at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:110)
    07/06/22 15:51:15 at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
    07/06/22 15:51:15 at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
    07/06/22 15:51:15 at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
    07/06/22 15:51:15 at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
    07/06/22 15:51:15 at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
    07/06/22 15:51:15 at java.lang.Thread.run(Thread.java:595)
    What may be causing this exception.

    I have solved the problem. It had to do with the autocommit=true feature of the MYSQL connection. However I have ran into another trouble. I am getting the following exception.
    java.lang.IllegalStateException: Can not call getPrimaryKey() inside ejbCreate(...) methods, the entity does not have an identity yet, see the EJB 2.0 specification chapter 10.5.4
         at com.evermind.server.ejb.EJBUtils.throwGetPrimaryKeyInEJBCreateException(EJBUtils.java:892)
         at EmployeeRemote_EntityBeanWrapper0.getPrimaryKey(EmployeeRemote_EntityBeanWrapper0.java:1686)
         at EmployeeHome_EntityHomeWrapper2.create(EmployeeHome_EntityHomeWrapper2.java:1055)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.evermind.server.rmi.RmiMethodCall.run(RmiMethodCall.java:53)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:595)
    java.lang.IllegalStateException: Can not call getPrimaryKey() inside ejbCreate(...) methods, the entity does not have an identity yet, see the EJB 2.0 specification chapter 10.5.4
         at com.evermind.server.rmi.RMICall.EXCEPTION_ORIGINATES_FROM_THE_REMOTE_SERVER(RMICall.java:109)
         at com.evermind.server.rmi.RMICall.throwRecordedException(RMICall.java:125)
         at com.evermind.server.rmi.RMIClientConnection.obtainRemoteMethodResponse(RMIClientConnection.java:517)
         at com.evermind.server.rmi.RMIClientConnection.invokeMethod(RMIClientConnection.java:461)
         at com.evermind.server.rmi.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:63)
         at com.evermind.server.rmi.RecoverableRemoteInvocationHandler.invoke(RecoverableRemoteInvocationHandler.java:28)
         at __Proxy0.create(Unknown Source)
         at com.pd.model.EmployeeRemoteClient.main(EmployeeRemoteClient.java:37)
    I am not calling getPrimaryKey() in ejbCreate() then why this exception

  • Edit entity object and use the Create() method for generating ID's

    Hello,
    I have and InserPage.jsp and defined the datasoucre correctly.
    <jbo:InputText datasource="ds" dataitem="Clientid" /> gives me
    the unique ClientID from the FIRST client-record in my table ,
    although this page is for inserting a NEW Client, with a new
    ClientID.
    So, on the Clients Entity i made a create() method and put the
    following code in it:
    public Number getClientid() {
    return (Number)getAttributeInternal(CLIENTID);
    public void create(AttributeList attributeList) {
    SequenceImpl seq = new SequenceImpl
    ("Clientid",getDBTransaction());
    Integer i=(Integer)seq.getData();
    setClientid(new Number(i.intValue()));
    super.create(attributeList);
    the getData() Returns a sequence value, but what sequence value?
    Do i have to create a sequence on the ClientID column in my
    Oracle Table in the DB too?
    The problem is, the first ClientID # is 819 and the current last
    one seems to be 2899, so how do i achieve that when opening the
    insert.jsp the new ClientID shows up (ie. 2900)?
    How can i achieve this?
    thx

    OK, managed to track down the HowTo on triggers? I created the
    trigger.
    create sequence client_seq
    start with 8900
    increment by 1
    nomaxvalue
    nocycle;
    I changed the create() method for the entity object to:
    public void create(AttributeList attributeList) {
    SequenceImpl seq = new SequenceImpl
    ("Clientid",getDBTransaction());
    SequenceImpl s = new SequenceImpl("client_seq",
    getDBTransaction());
    Integer next = (Integer)s.getData();
    setClientid(new Number(next.intValue()));
    and running the tester for the module works fine. ;-)
    But...
    The Insert.jsp page has to insert/show this sequenced value!
    After i defined the datasource and let us say:
    <jbo:InputText datasource="ds" dataitem="Clientid" />
    ...the number 819 shows up, which is the FIRST record, so i do
    not get the new ClientID with the correct number.
    Any help is always nice. ;-)

  • Sequence in Impl create() method + UIX

    I am populating a key from a database sequence from
    the entity ???Impl create() method. It tests out OK from
    the tester and any generated browse and edit forms except the UIXML. I can see it being called twice from a UIXML browse and edit form; once to create the row before the page is rendered and then again during the 'apply' event.
    It ends up wasting every other sequence number. Any ideas on how to stop this?
    * Add attribute defaulting logic in this method.
    protected void create(AttributeList attributeList) {
    super.create(attributeList);
    SequenceImpl seq =
    new SequenceImpl("REGION_SEQ", getDBTransaction());
    Number sval = seq.getSequenceNumber();
    setRegionId(sval);
    System.out.println("create: sval " + sval);
    }

    I believe that the technique that is described by Steve Muench in that article leaves one problem area open. Using the DBSequence domain requires that a trigger be on the database to create the sequence number for the new record. If you need to know what that sequence number is immediately after it was created you will need to do some extra coding to identify it.
    I am not sure what you mean that you would use doDML(). Can you explain further?
    Still, the technique that uses create(), that is also published in the Oracle9i JDeveloper Handbook, should work. I believe that Oracle has recognized this as a bug and plans to have it fixed in the next release.

  • Is it possible to access task flow parameter in EOImpl.create() method?

    Hi,
    Is it possible to access task flow parameter in EOImpl.create() method? If yes, please let me know how to access.
    FYI..I am having CreateInsert<xxx> activity in the task flow, which I believe calls EOImpl.create() method internally. While creating the entity, I want assign a default value based on task flow parameter.
    Thanks

    One way to pass task flow parameters to the model is during the task flow initialization. For this purpose you can create a prepare() method in your Application Module and call it from the task flow. By setting this method as the default in your task flow, it will be called each time the task flow starts. You can pass to the prepare() method any task flow parameters you wish as function arguments. In the prepare() method, save the task flow parameter values in EO or VO transient variables. These variables will be then accessible in the create() methods.

  • CMP bean : 'create' method fails - SQL Syntax error

    I'm using SilverStream 3.7.3 server on Win 2K.
    In a CMP entity bean, call to any create method ( default using primary key or with any other list of parameters ) fails , giving this error :
    javax.ejb.CreateException: [Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement.
    <<no stack trace available>>
    I've doubly checked for mismatch between types of database columns & parameters passed, but there is no difference. ( Another BMP bean uses same types and it's working perfectly )
    Interestingly, the 'finder' & other business methods are working without any problem.
    Any idea about cause of this error / options to solve / get around the prob?
    TIA,
    Subodh

    Hi,
    See if you can get SilverStream to give you the JDBC statements it is sending to Access. If SilverStream can't do that, try using P6Spy to get hold of the JDBC. Once you have the SQL, you should be able to figure out where the prolbem is... and if you can do anything about it.
    Does access actually accept any form of Standard SQL?
    Daniel.

  • BC4J with Struts using EditAction's create method.

    Hi,
    I am using BC4J with struts and using the EditAction and UpdateAction classes provided by BC4J.
    When i want to create a new row in the database the documentation asks me to call EditAction's create() method and then UpdateAction's execute() method to do it. But even when i just call UpdateAction's execute() method I am able to create a new row. So WHY should I call EditAction's create() method ?????

    EditAction's create() method is something you would call in the action before rendering the empty form for the user to fill in.
    It creates a row, and then marks the row as having STATUS_INITIALIZED using the Row.setNewRowState(Row.STATUS_INITIALIZED) call.
    By setting the row to STATUS_INITIALIZED, this makes BC4J "forget" that it's a new row that needs to be inserted. In effect, it makes that new row a throwaway row used only for the purpose of rendering the blank form. An important reason you would want to do things this way is to pickup entity-level default values in the attributes of the new row.
    For example, in the toy store demo, why is it that when you register as a new user the "Country" poplist defaults to "United States" ? (it's not the first entry in the list).
    The answer is that, since the EditAction (or in this case my custom subclass of that) creates the blank row, the fact that the "toystore.model.businessobjects.Account" entity object declares that its Country attribute has a default value of "US" makes the blank row created in the "toystore.model.dataaccess.Accounts" view object have a default value of "US", and that default value in the blank row causes the <jbo:InputSelect> tag that renders the poplist to mark the corresponding "United States" option in the list as currently selected (as it's the display string associated in the poplist with the value "US").

  • Default logic not running for a particular team

    Hello,
    I have a financial consolidation application in BPC 7.5 NW. We have a particular problem, whereby the default logic is not running for one team when they are uploading data. The error message is "Error running default logic. Error converting records. The root element is missing".
    Users in other teams are not affected by this and they are able to upload data successfully without any problems and are able to view converted records.
    Can someone please explain how this is possible in BPC?
    Also, our development consultant created 2 copies of the default logic in the Finance application. In the admin consol, one is called "Default.LGF" and the other one "DEF BU 9 Mar 2011.LGF". Can anyone kindly explain whether it is possible to have 2 copies of the default logic and if so, how does BPC decide which one to run.
    In both versions of the default logic, the following code is inserted for FX translation:
    // Query 6  - Perform currency translations - run currency translation stored procedure
    *XDIM_MEMBERSET CATEGORY=%CATEGORY_SET%
    *XDIM_MEMBERSET TIME=%TIME_SET%
    *XDIM_MEMBERSET ENTITY=%ENTITY_SET%
    *XDIM_MEMBERSET MEASURES=YTD
    *RUN_PROGRAM CURR_CONVERSION
          CATEGORY = %CATEGORY_SET% 
          CURRENCY = GBP
          TID_RA = %TIME_SET%
          RATEENTITY = GLOBAL
          OTHER = [ENTITY = %ENTITY_SET%]
    *ENDRUN_PROGRAM
    *COMMIT
    Thank you very much.
    Edited by: kashifmehmood on Jun 17, 2011 4:12 PM

    Hi
    1.Users in other teams are not affected by this and they are able to upload data successfully without any problems and are able to view converted records.
    One of the reason may be there are some secured dimensions involved like Entity, which is not assigned to the team. Refer to the HTG document below:
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/207995e8-deb8-2d10-3cb9-8ab146c95a09?quicklink=index&overridelayout=true
    2.Also, our development consultant created 2 copies of the default logic in the Finance application. In the admin consol, one is called "Default.LGF" and the other one "DEF BU 9 Mar 2011.LGF". Can anyone kindly explain whether it is possible to have 2 copies of the default logic and if so, how does BPC decide which one to run.
    In my opinion your consultant created "DEF BU 9 Mar 2011.LGF" and maintained the logic in that logic file. To run the logic by default, he has to call the earlier logic file in DEFAULT.LGF.
    *INCLUDE DEF BU 9 Mar 2011.LGF ( Nothing wrong in  keeping the entire logic, but it is not required)
    Logic file ""DEF BU 9 Mar 2011.LGF" can be called by DM packages.
    Thanks

  • Error while calling a web service from Entity CRUD methodes

    Hi All,
    I have created an entity service with remote persistency(web service).I have mapped the entity service create methode with the web service create method.Similarly entity service edit method with the web service edit method.But when i am testing this in service browser i am getting a dataaAcess exception.
    And an empty row is being created in the data base. This is the exception sequence.
    com.sap.caf.rt.exception.CAFUpdateException: Data Layer Issues
    at com.hcl.xiprcas.besrv.iprtestservice.iprTestServiceServiceBean.update(iprTestServiceServiceBean.java:177)
    at com.hcl.xiprcas.besrv.iprtestservice.iprTestServiceServiceBean.update(iprTestServiceServiceBean.java:135)
    at com.hcl.xiprcas.besrv.iprtestservice.iprTestServiceServiceLocalLocalObjectImpl0.update(iprTestServiceServiceLocalLocalObjectImpl0.java:478)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at com.sap.caf.rt.services.serviceaccess.ServiceWrapper.updateDependentObject(ServiceWrapper.java:489)
    at com.sap.caf.rt.services.serviceaccess.ServiceWrapper.createDataContainerBean(ServiceWrapper.java:198)
    at com.sap.caf.rt.services.serviceaccess.CAFServiceAccessBeanImpl.createDataObject(CAFServiceAccessBeanImpl.java:159)
    at com.sap.caf.rt.services.serviceaccess.CAFServiceAccessLocalLocalObjectImpl20.createDataObject(CAFServiceAccessLocalLocalObjectImpl20.java:775)
    at com.sap.caf.rt.ui.cool.generic.AspectServiceAccess.insertAspectRow(AspectServiceAccess.java:215)
    at com.sap.caf.rt.ui.cool.generic.Aspect.insertRows(Aspect.java:1425)
    at com.sap.caf.rt.ui.cool.generic.Aspect.sendChanges(Aspect.java:1543)
    at com.sap.caf.rt.ui.cool.generic.ServiceModule.sendChanges(ServiceModule.java:298)
    at com.sap.caf.ui.servicebrowser.components.visualizer.controllers.TableViewCC.saveData(TableViewCC.java:379)
    at com.sap.caf.ui.servicebrowser.components.visualizer.controllers.wdp.InternalTableViewCC.saveData(InternalTableViewCC.java:208)
    at com.sap.caf.ui.servicebrowser.components.visualizer.views.TableViewCV.onActionSave(TableViewCV.java:394)
    at com.sap.caf.ui.servicebrowser.components.visualizer.views.wdp.InternalTableViewCV.wdInvokeEventHandler(InternalTableViewCV.java:371)
    at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:87)
    at com.sap.tc.webdynpro.progmodel.controller.Action.fire(Action.java:67)
    at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doHandleActionEvent(WindowPhaseModel.java:420)
    at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:132)
    at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335)
    at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143)
    at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:299)
    at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:711)
    at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:665)
    at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:232)
    at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:152)
    at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)
    at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:53)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)
    at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)
    at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)
    at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)
    at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)
    at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)
    at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
    at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)
    at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
    at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
    at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
    at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    Caused by: com.sap.caf.rt.exception.DataAccessException: Data Layer Issues
    at com.sap.caf.rt.bol.da.remote.RemoteDataAccessService.store(RemoteDataAccessService.java:1198)
    at com.hcl.xiprcas.besrv.iprtestservice.iprTestServiceServiceBean.update(iprTestServiceServiceBean.java:172)
    ... 47 more
    Caused by: com.sap.caf.mp.base.exception.EngineException: Data Layer Issues
    at com.sap.caf.mp.core.data.service.DataServiceFactory.executeOperationCommon(DataServiceFactory.java:648)
    at com.sap.caf.mp.core.data.service.DataServiceFactory.executeOperation(DataServiceFactory.java:511)
    at com.sap.caf.rt.bol.da.remote.RemoteDataAccessService.executeOperation(RemoteDataAccessService.java:159)
    at com.sap.caf.rt.bol.da.remote.RemoteDataAccessService.store(RemoteDataAccessService.java:1180)
    ... 48 more
    Caused by: com.sap.caf.mp.base.exception.EngineException: Data Layer Issues
    at com.sap.caf.mp.core.data.service.manager.wsdl11.WSDL11ServiceManager.executeOperation(WSDL11ServiceManager.java:247)
    at com.sap.caf.mp.core.data.service.DataServiceFactory.executeOperation(DataServiceFactory.java:259)
    at com.sap.caf.mp.core.data.service.DataServiceFactory.executeConsiderSSO(DataServiceFactory.java:1056)
    at com.sap.caf.mp.core.data.service.DataServiceFactory.executeOperationCommon(DataServiceFactory.java:622)
    ... 51 more
    Plz tell me what is the wrong with my approach?.
    Thanks
    Sampath.G

    Hi Swapna,
    from your screenshot it seems that you actually try to call the service in your Data Source Expression field. You should set path to the WSDL file here actually - this could be either URL to SAP or to filesystem, as Anton suggested (this could be faster). Have you created endpoint binding for your service in transaction SOAMANAGER? If yes, then simply download the corresponding WSDL with binding or copy the URL which leads to it. But also test whether you are able to retrieve the WSDL without logging into SAP (close all browser windows and then open a new one otherwise session ID from other browser windows can be reused).
    If you have to give username and password, then setup anonymous alias in transaction SICF, for example.
    Pleas, check my previous post on the same subject here: Re: BCM7 IVR : SOAP request for client identification in CRM .
    Maybe it could help.
    Regards,
    Dawood.

  • Finding "Default Logical System Name Model Instance" in DC Project

    Hi,
    While Creating an Adaptive RFCModel, one defines the
    Default Logical System Name for Model Instance & the
    Default Logical System Name for RFCMetadata.
    In which file can I find these settings at a later stage in the Project File Structure.
    Ofcourse, I can view them in the WedynproContentAdministrator under the Jco Destinations.
    But is there anyway to access them in the NWDS?
    Regards
    MK

    Hello MK,
    You'll find the Logical System Names of the JCo destinations in the file ".wdproperties" under the project structure.
    Bala

  • Default logical system names for application and metadata in models.

    hi,
    I have a dbt in web dynpro java. When we create a model, we give the logical system names. When our developement is over, do we have to change these names because in test system and subsequently production system, the backends will be oviously different than developement ?
    how do we change them and re import after changing? in abap we cant change our code in test and prod systems right  so how is it in web dynpro java ?
    thanks

    Hi Jeschael,
    thanks for the reponse.
    When I create the model, I give the default logical system names and on the next screen I give the
    ip address of the backend system, client , login, password etc
    Even though the logical system names wud be same in Dev, Test and Prod systems, the ip address, login password is different so how do I give it ?
    thanks
    B

Maybe you are looking for

  • I howard has an iMac, and when she tries to wake the Mac from sleep, she has to reboot it instead.

    I Howard have an iMac, and when trie to wake the iMac from  a 12hr to 24hr sleep, i have to reboot it instead.  I am Running snow lepord. I tried resetting thr PRam but that work as a temporary fix. Does anybody have any suggestions on how to fix thi

  • CSA 6.0.1 Customizing Reports on Hosts Who Have Disabled Agents

    We set up a rule which asks the user to supply a reason when they disable the CSA Agent. Is there a way to customize a report to include the reason in a report? We want to generate a report weekly which would include the end user name and the reason

  • NI-DAQ Function Reference Online Help, Version 6.6

    First, I saw on the National Instruments Home Page that the PDF version of the Function Reference Manual has been discontinued in favor of the Online Microsoft Help format version. I really prefer the PDF because it prints much nicer. Looking at the

  • Nothing displayed on Gallery page

    I added a gallery (albums) page to my site and dragged in a few albums from iPhoto. It looks and works fine in iWeb but when I publish to folder the page is blank. I have uploaded the site and still no albums on my Gallery page. The URL is: http://ww

  • Safari 3.2.1 crashes shortly after opening every time

    I'm hoping you can help me with my Safari 3.2.1 problem on 10.4.11 It crashes within seconds of opening every time. I've tried repairing permissions, resetting, unchecking the warning of fraudulent websites box, which I can usually just reach before