Updating Read Only Entities

Is there any way we can update an entity if its maintenance object only allows read only option.
I tried updating the status of deposit control using an algorithm but it gave an error like "Illegal attempt to modify read only entity".
Can I update the status of deposit control through algorithm in hibernate?
Thanks in advance.

My Experience is different. As far as I am aware you can use a Business Service to do the update. The two that I have done are the To Do Entry and the WF Process.
I am assuming your situation is that the Maintenance Object has the Option "B/O Maintenance Y/N" set to "N" and this is the reason you cannot update using a BO.
Here are the steps to do it with a Business Service using the WF Process as an example where we want to add a WF Characteristic.
1. Create a Business Service based on the Page Maintenance. Program
For the schema, what I do is create the schema for the BO and then copy it to the Business Service Schema. You will have to change the mapChild to mapList and change the mapChild table name (e.g. CI_WF_PROC_CHAR) to the list name in the Business Service (e.g. WF_PROC_CHAR). Have a look at the page service in the application viewer to get your names for the lists etc.
2. To be able to update the data in the business service you need to change the schema element to
<schema pageAction="update">
3. for my purposes I wanted to add a characteristic so my schema looks like this.
<schema pageAction="update">
<workflowProcessId mapField="WF_PROC_ID"/>
<workFlowProcessCharacteristic type="list" mapList="WF_PROC_CHAR">
<characteristicType mapField="CHAR_TYPE_CD"/>
<version mapField="VERSION"/>
<sequence mapField="SEQ_NUM"/>
<characteristicValue mapField="CHAR_VAL"/>
<adhocCharacteristicValue mapField="ADHOC_CHAR_VAL"/>
<characteristicValueForeignKey1 mapField="CHAR_VAL_FK1"/>
<characteristicValueFK2 mapField="CHAR_VAL_FK2"/>
<characteristicValueFK3 mapField="CHAR_VAL_FK3"/>
<characteristicValueFk4 mapField="CHAR_VAL_FK4"/>
<characteristicValueFK5 mapField="CHAR_VAL_FK5"/>
<searchCharacteristicValue mapField="SRCH_CHAR_VAL"/>
</workFlowProcessCharacteristic>
</schema>
4. Now create your inbound service based on the Business Service.
I like to make the transactionType in the xai inbound service to Read by default and then override it when I need to .
5. Now for the xml to add my characteristic.
<?xml version="1.0" ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="urn:schemas-xmlsoap-org:envelope">
<SOAP-ENV:Header>
<SOAPActionVersion>2.0.0</SOAPActionVersion></SOAP-ENV:Header>
<SOAP-ENV:Body >
<cmWorkflowProcessCharacteristic>
     <workflowProcessId>5246086031</workflowProcessId>
          <workFlowProcessCharacteristic>
               <characteristicType>FILENAME</characteristicType>
               <adhocCharacteristicValue>/CSVFiles/SMOMeterReads/SMOMeterReads.EN0010--20011217T093047.0Z-_.csv</adhocCharacteristicValue>
          </workFlowProcessCharacteristic>
     </cmWorkflowProcessCharacteristic>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
NOTES:
Some one from Oracle Product might to clarify a few of the following points but this is my observations.
There are 3 settings that you will read about, transactionType, rowAction and pageAction.
1. The pageAction is for Business Services based on Page Services (e.g. CILWPROP)
2. You may be tempted to try and updated the characteristics with a List service (e.g. CILWPCHL)
This has to be specified as transactionType of LIST and as far as I am aware you cannot update using a LIST service.
The XAI Best Practises document indicates you can use the rowAction flag to accomplish updates but I think that what it is really saying is that you can only update using a LIST service if it is contained in a wrapper service like a Page Service at which time you can set the transactionType or pageAction to update etic and then the rowAction will take affect.
I have found no List services in any of the training material or the demo database that provides functionality to update via a list service.
3. I have tried overriding a business service by using transactionType but to no avail and so I have resorted to adding the
<schema pageAction="update">
4. I have seen a comment on the forum that you can pass in the pageAction into the XAI transaction but I would like to see this in action before I say you can do it.
5. It may be that the transactionType override is only effective in BO. I have used it CC&B v1.5 platform and using BO in v2
As you can see you have raised an interesting topic and this area is changing in CC&B from v1.5 to FW V2 to FW v4.
If you have any further observations feel free to correct me where necessary.
Hope this helps.

Similar Messages

  • Key flexfield - protecting one of the segment as NON-UPDATABLE/ READ-ONLY

    Key Flexfield setup for "People Group Flexfield" consists of seeg1,seg2,seg3,seg4.
    We would like to make Seg1 of this flexfield "READ ONLY" / "DISPLAY ONLY" / "Non-Updatable".
    Please advise possible way of making this functionality.
    I have tried, following but no luck :
    1) Limitations of Forms Personalization [ID 420518.1]
    Forms Personalization is not possible for any key flexfield structure or segments.
    This is a limitation of Forms Personalization on Flexfield. There was an enhancement request Bug 5506506 - "PERSONALIZE FLEXFIELDS BY USING FORMS PERSONALIZATION" but it was rejected the enhancement request as this is not feasible. A Flexfield is a single field in a form but then when you click into it and it opens up the flexfields window, the multiple fields you see is actually a user exit with multi segment values, not form fields. No Form Personalization events are passed to flexfield windows (user exits). No Form Personalization events are passed to segments inside the flexfield window (user exit).
    2) Key Flexfield Security Rules Enabled
    Defining security rules on any segment in key flexfield makes all segments as read only. Per Oracle Document:"Defining security rule on key flexfield combination on one or more segments allows all segments to be not updatable"

    In SSHR, I believe it is possible although I have not done it before, I have spoken to people who have.
    You need to have access to jDeveloper and be able to open up the SSHR page in question. Find the internal ID of the flex item within the SSHR page in question.
    Then you create a new item in personalization and set that new item to have the same ID as you retrieved from jDeveloper. Make that item read only and configured the 'default' flex to not show the segment in question.
    That is basically the way this can be achieved but it is not straightforward and requires a cursory understanding of OAF.
    I do not know if it is possible to do this in the PUI. Would be interested to know requirement behind essentially showing a static read only field in a professional form - can the admins not be trusted to leave it alone? One workaround would be coding a user hook or custom library to error if that field is updated. Not read only but would stop those pesky Administrators meddling with it!

  • Updating Read-Only Field

    All,
    We have some read-only fields (configured @ the page layout settings) in OnDemand edit form
    As per the business rule, the values for these fields has to be set externally using a weblink in the same form
    We are able set back the externally selected values in the OnDemand page to the read-only fields
    But when the user tries to save, the information it is not "Saved" in OnDemand database but it works fine if fields are "Editable"
    Is there a "Server Side" restriction in OnDemand which doesnt allow to update the moidfications on the client side to read-only field on "Save"?
    Are there any workarounds to solve this issue?
    Appreciate your inputs
    Regards,
    Venkatesan
    CRMIT

    Venky,
    If I understand you correctly, you're setting the field values on the client, pushing the values into the edit form. The layout read-only setting has to prevent that - that's what it's for. What you should be able to do is set the values on the back end, using a web service call.
    Regards,
    AO.

  • Updating read only attributes of class/method

    Hi,
    I have this standard class CL_QNAO_OBJECT, with MS_DATA as read only attribute.I have written my own class in an enhancement within this class and now trying to edit this MS_DATA within my own class. but I get an error sayng "write access to the READ only attribute is not allowed", is there any way I can change it?
    The attribute MT_STACK is changing attribute/parameter to my class, which in turn has this ms_data structure.
    Note - I did search sdn before I put it here, I got couple of threads which I dont find suitable for me.
    Thanks in advance,

    Since MT_STACK is also type ref to CL_QNAO_OBJECT, my earlier guidance still hold true.
    Step 1 - When you enhance the class, you would see empty table lines in the class editor. Create a new method in that.
    Public Instance Method name Z_SET_MS_DATA
    Importing parameter IS_DATA TYPE QNAOD_AOBJECT
    Method implementation:
      ME->MS_DATA = IS_DATA
    Step 2 - In you enhancement in the class, call the method to set the data
      Data: ls_Data type QNAOD_AOBJECT
      Ls_data-field1 = ‘xyz’.
      core_object->mt_stack->z_set_ms_data( ls_Data ).
    Regards,
    Naimesh Patel

  • Session bean calling read-only entiti bean

    I have a session bean that is calling a read-only entity bean. I gets the remote
    reference to the bean ok but when I call a method on the entity bean it locks.
    After 5 minutes the call executes but then the session bean times out. Is there
    any special setting I need to do this? I set both transaction attributes to Required.
    Thanks,
    Tim

    5.1
    Seth White <[email protected]> wrote:
    >
    Hi.
    What release are you using?
    Seth
    Tim wrote:
    I have a session bean that is calling a read-only entity bean. I getsthe remote
    reference to the bean ok but when I call a method on the entity beanit locks.
    After 5 minutes the call executes but then the session bean timesout. Is there
    any special setting I need to do this? I set both transaction attributesto Required.
    Thanks,
    Tim

  • Read only error

    using an Infobus Form developed with JDeveloper 2.0 I get a runtime error "DAC-105 ImmediateAccess: SetAttribute failed" on two columns of the RowSet. When I include a setUpdateable(true)line for the column the result is a runtime error "JBO-03110 Cannot update Read only attribute" accompanied by "DAC-104" similar to 105 above. I know I can use SQL to insert into those columns.
    a) where do I find the error messages indicated?
    b) How can I work around this problem?
    Any help will be appreciated. Thanks Dave.
    null

    Any luck with this?

  • Cannot change .CBR/Z read only files

    Hi Everyone,
    I have downloaded some comics and want to get them into an app in itunes then onto my ipad. The files are "read only".
    When I right click and change the properties from read only it does not change the files inside the CBR/Z files.
    If I extract the files then I cannot get the folder into itunes.
    Any ideas how I can fix this?
    Cheers

    No.
    iTunes writes the data to the file and updates the iTunes library.itl file (iTunes database file) so it can display all the data without having to reread every file all the time.
    Whenever iTunes access a file, it rereads the metadata from that file and updates the iTunes database.
    Since the file was not updated (read only), next time you access it, iTunes "corrects" its data..

  • Create and remove on read-only beans

    while playing around with read-only beans i found that calling create()
    ond read-only homes and remove on read only entities does work, which
    was new to me. 'work' just means changing the database ;)
    ist there any danger in using this (maybe just an internal feature which
    does not work in 7.0, ...) ?
    axel.

    You should definitely check out 7.0 and its support for optimistic caching. It
    does what you want.
    -- Rob
    Axel Großmann wrote:
    thanks for the quick response.
    Rob Woollen wrote:
    ist there any danger in using this (maybe just an internal feature which
    does not work in 7.0, ...) ?
    No, it'll work fine. Until 7.0, read-only beans always ran in an
    unspecified transaction. In 7.0, this has been relaxed to allow you to use
    all the tx attributes with read-only beans.sounds great; seems that we should give 7.0 beta a try.
    what comes to my mind is: if read-only beans would also write changes to
    their CMP fields to the database (and send invalidation message) we
    would have some kind of write-through-caching bean, wouldnt we ?
    this is actually what I'm searching for, since we have to port an
    application to weblogic with was designed using one bean per business
    object - mapping this to the two-bean read-mostly pattern without
    changing the present logic seems impossible without many changes and
    loosing the ability to run on other application servers too.
    so why not a 'read-mostly-bean' instead of manually implementing it ?
    axel.--
    AVAILABLE NOW!: Building J2EE Applications & BEA WebLogic Server
    by Michael Girdley, Rob Woollen, and Sandra Emerson
    http://learnWebLogic.com
    [att1.html]

  • How to determine a View Object Type (read only or Updatable) ADF B.C 10.1.3

    Hi all,
    in scott Schema by ADF B.C 10.1.3, I created an entity object like emp
    and created view object EmpView from emp and dept entities
    and Application Module
    and when draging EmpView and dropping it in jspx
    while running I got an error :
    JB0-25003 your EmpView View Object has no Type
    How to determine a View Object Type (read only or updatable) in B.C ?
    Thanks

    Hi,
    this should not require any manual confiuration. Can you select the ApplicationModule in the model, right click on it and run the ADf BC tester ? Check if he ViewObject runs if not added to JSF
    Frank

  • "The file 'iTunes Library.itl' cannot be read because it was created by a newer version of iTunes." Updates were only offered by Apple when I'd open iTunes. Now I can't open iTunes. How can I access the newest iTunes as an update, not a new program?

    "The file 'iTunes Library.itl' cannot be read because it was created by a newer version of iTunes." Updates were only offered by Apple when I'd open iTunes. Now I can't open iTunes. How can I access the newest iTunes as an update, not a new program?

    this just started w/ me yesterday.  I was running 10.5.3, and nothing changed - the message just appeard out of nowhere.  I update to the latest iTunes 10.6 but the message is the same.
    Sounds like probably some sort of Library file corruption.
    The two options available in the message box are "Download" and "Quit".  Download is useless because I'm already running the latest.  Quit is pretty useless.
    I was going to just create a new Library and re-import all my music.  Of course, all my iPhone sync settings are going go have to be recreated.

  • JDev 10.1.2: How to update an attribute which is rendered as read-only

    Hello guys, I hope someone can help me with this, I think it should be something easy to do:
    I have a UIX page which renders an input form to update a record, in this input form I want to display (as read-only) the user id which is performing the update, but I want the record to be updated with the user id. I have the user id available from another binding.
    If I put the input box as editable the attribute is updated, but If I set it read-only it isn't.
    Do you know how can I do this?
    Thank you.

    Ok... I solved it, though I don't think this is the right way.
    SOLUTION:
    I inserted a formValue into the UIX page like this:
    <formValue model="${bindings.AttributeToUpdate}"
    value="${bindings.TheValue}"
    name="VB_AttributeToUpdate" />The formValue name is very important and must start with VB_ followed by the name of the attribute to update. I figured out this by looking at the generated html code when I inserted the "AttributeToUpdate" as an editable inputtext, it uses the VB_ prefix and was the only way to get the attribute updated.
    Thanks anyway, and if someone knows of another way to do this I'd like to know it.
    Bye.
    Mensaje editado por:
    Fer Domin

  • SPD Workflow - Update a hidden/read only field

    Hi there,
    I have a list with a hidden/read only field (ie Status).  So the user cannot update this field using the form or datasheet ...etc.
    I have an SPD workflow that I was hoping would modify the value of the Status field.  But it appears as though the option to modify it is not available as long as it is hidden and/or read-only.  Aka, the field doesn't show up in the list of fields
    to modify for the "Set field on current item" action.
    I was hoping to avoid importing this into a visual studio project and adding in code, which I believe would do the trick; so are there any solutions that I can do within SPD itself?
    Thanks in advance.

    Hi Eirc,
                       as i understand you question  you want to update hidden filed from workflow ? 
     solution 1 when workflow started it change field read only to false and after completing workflow
    change it again true.  by code.
    Solution 2 Use javascript to make the field read only on presentation.
    http://sputility.codeplex.com/ check this lib that might help you to manage readonly field on runtime
    Solution 3 : you achieve by setting column level permission 

  • WebPart is raising the following error "Invalid data has been used to update the list item.The field you are trying to update may be read only"

    I have created a farm solution and then i deploy it to SharePoint server, the code looks as follow, and i use it to update a page info values (as the current page values represents old info):-
    [ToolboxItemAttribute(false)]
    public partial class VisualWebPart1 : WebPart
    // Uncomment the following SecurityPermission attribute only when doing Performance Profiling using
    // the Instrumentation method, and then remove the SecurityPermission attribute when the code is ready
    // for production. Because the SecurityPermission attribute bypasses the security check for callers of
    // your constructor, it's not recommended for production purposes.
    // [System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Assert, UnmanagedCode = true)]
    public VisualWebPart1()
    protected override void OnInit(EventArgs e)
    base.OnInit(e);
    InitializeControl();
    using (SPSite site = new SPSite(SPContext.Current.Site.Url))
    using (SPWeb web = site.OpenWeb())
    SPList list = web.Lists["Pages"];
    web.AllowUnsafeUpdates = true;
    foreach (SPListItem items in list.Items)
    items["Author"] = "SharePoint";
    items["Created"] = "01/08/2014 01:44 PM";
    items.Update();
    list.Update();
    web.AllowUnsafeUpdates = false;
    protected void Page_Load(object sender, EventArgs e)
    but when i try adding this web part to a page i got the following error:-
    Invalid data has been used to update the list item.The field you are trying to update may be read only
    so can anyone advice?

    i only changed lines bitween 
    web.AllowUnsafeUpdates = true;
    and
    web.AllowUnsafeUpdates = false;
    and other parts of code remains without change
    so it will updates all pages in current web
    yaşamak bir eylemdir

  • Invalid data has been used to update the list item. The field you are trying to update may be read only.

    Trying to follow Serge Luca's Step by Step Tutorial. Creating Workflows for Windows Sharepoint Services and MOSS2007.  http://sergeluca.spaces.live.com/blog/cns!E8A06D5F2F585013!859.entry
    I have an onWorkflowActivated, followed by an ifElse condition and a log to history.
    In the IfElse, each branch has a code segment, that trys to update the status column in the list that the workflow is attached to.
    private void Authorize_ExecuteCode(object sender, EventArgs e)
    // tried serveral methods
    WorkflowProperties.Item["Status"] = "Automatically Approved";
    // tried all of the following (one at a time)
    item.update();
    WorkflowProperties.Item.Update();
    WorkflowProperties.Item.SystemUpdate();
    //tried this as well.
    Microsoft.SharePoint.SPListItem item = WorkflowProperties.Item;
    item["Status"] = "Automatically Approved";
    item.Update() ;
    On the update call I keep getting "Invalid data has been used to update the list item. The field you are trying to update may be read only."
    Could someone explain how to update "Status" column of the list item that the workflow is working on?
    Thank you very much.
    Bill
     

    Hi:
    you can do the following:
    add the following code to the workflow.xml file (under the MetaData section)
    Code Snippet
    <ExtendedStatusColumnValues>
    <StatusColumnValue>Branch1</StatusColumnValue>
    <StatusColumnValue>Branch2</StatusColumnValue>
    </ExtendedStatusColumnValues>
    then add 2 SetState activities one in each branch of the IfElse.
    for the code behind of setState1 (branch1) write the following code:
    Code Snippet
    state = Convert.ToInt32(SPWorkflowStatus.Max);
    for setState2 (branch2) write the following:
    Code Snippet
    state = Convert.ToInt32(SPWorkflowStatus.Max) + 1;
    where state is the variable assigned to the field State in the properties of the SetState(design lever), or instead of state u can use the following code:
    Code Snippet
    ((SetState)sender).State
    where sender is the object sent through the function parameter.
    hope this answered your question
    Best Regards

  • Invalid data has been used to update the list item. The field you are trying to update may be read only (Lookup Field).

    Hi.
    I am getting below error while adding value to look-up field.
    Invalid data has been used to update the list item. The field you are trying to update may be read only.
    I have tried many forums ans post but didn't come to know what's the root cause of issue. I am also posting Code for creating and adding lookup field.
    CAML to create lookup field (It works Fine)
    string lkproductNumber = "<Field Type='Lookup' DisplayName='Product Number' StaticName='ProductNumber' ReadOnly='FALSE' List='" + pNewMaster.Id + "' ShowField='Product_x0020_Number' />";
    Code to insert value to lookup field
    ClientContext client = new ClientContext(SiteUrl);
    client.Load(client.Web);
    client.Credentials = new NetworkCredential(this.UserName, this.Password, this.Domain);
    // Lookup Lists
    List pmList = client.Web.Lists.GetByTitle("Product_Master");
    //List Conatining Lookup Columns
    List piList = client.Web.Lists.GetByTitle("Product_Inventory");
    client.Load(piList);
    query.ViewXml = "<View/>";
    ListItemCollection collection = pmList.GetItems(query);
    client.Load(collection);
    client.ExecuteQuery();
    int prodid=0;
    foreach (ListItem item in collection)
    if (Convert.ToString(item["Product_x0020_Number"]) == ProductNumber)
    { prodid = Convert.ToInt32(item["ID"]); }
    ListItem piItem = piList.AddItem(new ListItemCreationInformation());
    piItem["Product_x0020_Number"] = new FieldLookupValue() { LookupId = prodid };
    piItem.Update();
    client.ExecuteQuery();
    Exception Detail
    Microsoft.SharePoint.Client.ServerException was caught
    Message=Invalid data has been used to update the list item. The field you are trying to update may be read only.
    Source=Microsoft.SharePoint.Client.Runtime
    ServerErrorCode=-2147352571
    ServerErrorTypeName=Microsoft.SharePoint.SPException
    ServerStackTrace=""
    StackTrace:
    at Microsoft.SharePoint.Client.ClientRequest.ProcessResponseStream(Stream responseStream)
    at Microsoft.SharePoint.Client.ClientRequest.ProcessResponse()
    at WebServiceProviders.ClientServices.NewProductInventory() in Z:\.............ClientServices.cs:line 889
    InnerException:
    Quick response is highly appreciated.
    Thanks
    Mehar

    Try some thing like below,
    your data value that needs to be update should be in this format "ID of the lookup";#"Title of the Lookup" 
    For example,
    listItem["Product_x0020_Number"]
    = "1;#iPhone";
    listItem["Product_x0020_Number"]
    = "2;#Mobile";
    Hope this helped you....

Maybe you are looking for

  • SQL blocking during removal of report server from Scale-out-Deployment

    I recently removed a 2012 reporting service instance from the Reporting Service Scale-out-Deployment. After I removed the server, there was a lot of blocking  on the report DB for about 30 minutes. My report DB is on the same SQL instance as my TFS d

  • How to watch movies which are located on a WD My Cloud on an Apple TV

    Hi, I have a MacBook Air, a WD My Cloud and an Apple TV. All of my music is on my MacBook Air (just like my iTunes library), and there is not enough space to store my movies on my computer so I bought a WD My Cloud to put my movies in it. How can I a

  • CISCO ISE 1.2.0.899 - Self registration email address field Limit

    Hi I was wondering if someone out there can resolve an issue I am seeing, when a user goes to the self registration portal and enters an email address it only allows 24 characters to be entered, in the documentation it states that up to 48 characters

  • TS3988 ipad wont play music on icloud

    When I try to play music on my ipad from icloud it does not load. All I see is the cloud symbol with a load bar under it and it either freezes or does not load at all. What shoudl I do. This problem seems to be related to io6

  • External hard drive problem after time machine [help!]

    Hi there! Please help me. Last week, I partition a 320 G Samsung external hard drive into a 300G volume (format: Mac OS extended (journaled)) for Time Machine, and other 20G NTFS for data exchange between Mac and Windows. At the same time, I stored 4