Sync: UPDATE on records that do not exist

I have to similar cases that occur now and then:
1. user syncs from PDA, record ends up in EQ with "Update/delete error :: no data found". (EQ DML: UPDATE)
2. user syncs from PDA, record ends up in EQ with "integrity constraint (MIPSS.FK_EVENT__INSPECTION) violated - parent key not found" (EQ DML: INSERT)
Data ending up in EQ is deleted from the PDA according to the user.
Data is not accessible for deletion by anyone on the server side or on the PDA. I know that the last time this happened, the PDA user INSERTED (created) a new record (INSPECTION) and then UPDATED (edited) it before he did the sync. Is it possible that olite/Mobile server skips an INSERT when syncing or could there be something wrong with my publication?
Marius
Edited by: Marius H on Mar 24, 2009 4:08 AM

The uniqueness of the seqno$$ values is within clientid and tranid$$, so it is possible for the same seqno$$ values to be in a ceq$ table for different users and/or transactions.
In your example (assuming they are for the same clientid), tranid$$ 258 is the first upload (the tranid$$ increased for each sync for the same user), and therefore will need to be processed first. The seqno$$ value for the record for tranid$$ 258 looks like an update, rather than an insert from the range value (higher than the type I for tranid$$ 263) did you change the U to I when trying to fix the problem?
the version$$ values in the cfm$/ceq$ tables do not always have real values
if the record was uploaded as dmltype$$=I, the version$$ will normally be 1 (ie: first version of the record), but when the apply is done then if the PK does not exist, the record will be created and the cvr$ table inserted with version 1. If the PK does exist, then the record will be updated and the version value in the clg$ table added to.
if a record was downloaded to the client it would have a version number from the server, and update to this would normally include this version number so that the apply can check that the update is for that version of the record when checking for conflicts where the data has changed on both the server and the client.
If a record was created on the client and then updated, the version would probably be null as it is likely that this update would be changed to an insert when it is applied
the -1 is possibly a second update to the same record
When the apply process is done, the dmltype$$ from the upload is only used as a guide. for both I and U it tests if the PK exists and if so does an update, if not does an insert. for type D it checks the PK and if it exists, deletes the record, if it does not, then it ignores the record.
The processing order is clientid, tranid$$, seqno$$

Similar Messages

  • Display records that do not exist in another

    Hi
    I have two tables with one more than 2,00,000 and another 1,00,000 records. Both have one common filed ID. I wanan display allt eh records in table A that do not exist in table B. If i use 'not in', the system hangs. Is there anyother way to do this?
    Thanks

    I would use SomeoneElse's and Centinul's idea before trying this, but ...
    Outer join, filtering out rows where the join column isn't NULL on the outer side. If you can get this method to work it probably won't be efficient. I liked SomeoneElse's ideas best, but Centinul's idea of the MINUS is good too.
    Edited by: riedelme on May 8, 2009 12:01 PM

  • Update a record that has not been completely inserted in database

    Hi,
    I have the following requirement, that I wonder which is the best solution for this:
      - in QM02, add a new task in header level, means add a new record in table QMSM
      - in the meantime, make this new task completed as well.
    For adding a new task, I use FM 'IQS4_ADD_DATA_NOTIFICATION'.
    To complete a task, I use FM 'BAPI_QUALNOT_CHANGETSKSTAT'.
    But I have to commit after each FM's calling in order the 2 FMs take effect. This is not consistent because if a new task has been added successfully, who can be sure that the 2nd FM to change it status will be successfully committed, which will lead to the new task status is not completed.
    I intended to insert new task and update it in memory ( SET UPDATE TASK LOCAL ), but it doesn't work, or may be I do not know how to use it correctly.
    Do you have any suggestions ?
    Thanks,
    Paul

    Firstly, a very happy new year to you!
    I am assuming that those two functions don't do their own COMMIT WORK. You can confirm that by calling them in debugger and seeing if they make database changes without calling external COMMIT.
    In such a case you can put both the function calls inside a update function module (set Update Module attribute with Start immediately set in SE37 -> Attributes) and call that update function IN UPDATE TASK. Before calling the update task function you can execute SET UPDATE TASK LOCAL to ensure that the update task is executed within the current LUW. After the update function module call, you can do a COMMIT WORK. The function called IN UPDATE TASK will execute when COMMIT WORK is encountered.
    Within the update function module you should not call a COMMIT and neither should both of the functions. If an error is returned from any of those two function calls, you can raise a TYPE E message within your update function call - this will raise a "EXPRESS DOCUMENT :UPDATE WAS TERMINATED" message and a ROLLBACK will occur. Also you can only EXPORT to and pass TABLES to an function executed IN UPDATE TASK, you CAN'T IMPORT from or raise EXCEPTIONS. This is because an update task is executed only during COMMIT WORK statement and is no longer connected to user other than through Express document message protocol. So you can't return any information back to the calling program
    This way you can achieve what you want - ensuring that database update through COMMIT only happens if both the functions return success and if any of them don't return success then ROLLBACK will happen, ensuring no database changes happen

  • Identifying a record that does not exist in a group

    Hello,
    I have a table with two columns of data as such:
    SYS1 XYZ1
    SYS2 XYZ1
    SYS3 XYZ1
    SYS1 XYZ2
    SYS2 XYZ2
    I want to find all distinct XYZ# that do not have a SYS3 value in their group, when grouped by XYZ#.
    So for this example, the statement would return one value "XYZ2".

    with cur as
    (select 'SYS1' a, 'XYZ1' b from dual union all
    select 'SYS2', 'XYZ1' from dual union all
    select 'SYS3', 'XYZ1' from dual union all
    select 'SYS1', 'XYZ2' from dual union all
    select 'SYS2', 'XYZ2' from dual)
    select distinct b
    from cur x
    where not exists
    (select a from cur where b=x.b and a = 'SYS3')

  • Undo for record that doesn't exist?

    hi,
    version:11g
    select * from emp_d1;
    ID1     NAME1
    1     1
    2     2
    3     3
    4     4
    5     5if i try to delete a record that does not exist
    delete from emp_d1 where id1=-10;will there be any undo/redo generated?
    i tried a code,
    select  s.username, rn.name,     rs.curext
               ,rs.curblk,  t.used_ublk, t.used_urec
        from    v$transaction   t
               ,v$session       s
               ,v$rollname      rn
               ,v$rollstat      rs
        where  t.addr     = s.taddr
        and    t.xidusn   = rn.usn
        and    rn.usn     = rs.usn;
    USERNAME     NAME     CUREXT     CURBLK     USED_UBLK     USED_UREC
    TEST_DBA     _SYSSMU11_1265638203$     180     5105     1     1if there is a query which retrieves to delete non-existing records can eat up undo space?
    is there a way to query the records which are there in undo segments?
    thanks,
    charles

    You can try to use some flashback query features to query undo data: http://download.oracle.com/docs/cd/E11882_01/appdev.112/e17125/adfns_flashback.htm#insertedID0.

  • 0SD_C03 cube contains data that does not exist  in PSA

    Hi,
    We have a problem with data difference in cube and PSA. Firstly we deleted PSA extactly then extracted data from r3 to PSA. PSA has 2 records now. Then we extracted data to cube (0SD_C03) via DTP (using 2LIS_13_VDITM transformation rules). However, the cube contains approximately 300 000 data. Cube contains many records that does not exist in PSA.
    Where these data come from?
    thanks in advance,

    Hi,
    In your PSA overview, did you change the date that limits the PSA packages showing?
    (middle top of screen) and click refresh?
    it might be that you only have deleted the PSA from a certain date onwards.
    Success,
    Udo

  • Adobe Flash tried to play a live or recorded stream that does not exist. Source can't be found

    NOTE: This thread was started in the flash pro forum: http://forums.adobe.com/thread/898879?tstart=0 . However, because of adninjastrators recommandation, I open the thread here:
    Hello there,
    I have started a stream from Flash media encoder to flash media server. According to my encoder, it should be located at: "rtmp://localhost/live" and is called livestream.
    In the Flash  software I try and set the source of FLVPlayback component to "rtmp://localhost/live/livestream", and I get this error: "NetStream.Play.StreamNotFound : Adobe Flash tried to play a live or recorded stream that does not exist. Source can't be found.". Both the server and encoder is runnind and I am encoding.
    Too, when I try and open the html with the stream in a browser, nothing appears.
    What should I check?
    Thanks.
    Kind regards,
    Marius

    Thanks for your reply.
    Server, encoder and player are all on the same computer.
    Admin console confirms the existence of "livestream" of type "Live" and a "NetStream" called "ABAF". No idea what the latter is.
    Also, thought I'd mention that I have to start the servers from the Control Panel -> administrative tools -> services. If I try and start the server from the start menu, they dont start.
    Thank you for your time.
    Kind regards,
    Marius

  • Newbie: Flash tried to play a live or recorded stream that does not exist.

    Hello there,
    I have started a stream from Flash media encoder to flash media server. According to my encoder, it should be located at: "rtmp://localhost/live" and is called livestream.
    In the Flash  software I try and set the source of FLVPlayback component to "rtmp://localhost/live/livestream", and I get this error: "NetStream.Play.StreamNotFound : Adobe Flash tried to play a live or recorded stream that does not exist. Source can't be found.". Both the server and encoder is runnind and I am encoding.
    Too, when I try and open the html with the stream in a browser, nothing appears.
    What should I check?
    Thanks.
    Kind regards,
    Marius

    So just to clarify, the server is installed on the same machine that you are using to do the encoding, correct?
    And you are using Flash Media Live Encoder to do the encoding?
    I don't have Flash CS5 for I'm not sure what is in there to do the encoding.. but more on FMLE here:
    http://www.adobe.com/products/flashmediaserver/flashmediaencoder/
    There are two step used to get the encoding going with FMLE...
    1. after setting all the config settings, click the "Connect" button. Then open the encoding log and you will be able to see if connection was made to the server or not. Can you successfully connect to the server? if not, what is the error message?
    2. click the "Start" button and in the encoding log, you will see that the audio and video encoding has started. What does the encoding log say?
    Best wishes,
    Adninjastrator

  • I have not been able to sync Entourage to iCloud ever since the iCloud update debacle of yesterday.  iCare just claims it is an Entourage problem when it is clear that the update did something that is not allow it to authenticate to sync mail.

    I have not been able to sync Entourage to iCloud ever since the iCloud update debacle of yesterday.  iCare just claims it is an Entourage problem when it is clear that the update did something that is not allow it to authenticate to sync mail.

    You should check that the settings match those in this page:
    http://support.apple.com/kb/HT4864

  • ISync Error Message "you can't modify a record that doesn't exist...."

    "[ISyncConcreteSession pushChange:]: you can't modify a record that doesn't exist: <ISyncChange 0x3215870>{ modify record id 'BE86E203-EC1F-4F3E-A2F2-180EC5FA5210'
    set com.apple.ical.type = local
    set title = Unfiled }"
    I have 2 macs connected to the .mac sync and until recently the flow of info between them (mostly iCal) has been smooth. Now it appears to not be working.
    thoughts? thanks.
    --Kevin

    wrong forum, sorry.

  • How to delete a in place record that will not undeclare

    I have an "in-place" record that will not let me undeclare itself, not sure how it got created but here are some facts about it:
    when i first looked at it showed as checked out to (blank).  This is different from all of my other in-place records which show as checked out to "System Account".  I tried checking it out to me (and it let me) which was strange!!  When I
    try to undeclare it as a record by using the "compliance details" interface and click the undeclare record link, the reocrd status is changed from "Declared record on 1/17/2011" to "Record".  When I go back to the UI it still shows the record with the
    little lock on it.  If I try to delete the record using the library interface I get the message: "The item cannot be updated because it is locked as read-only".  I installed sharepoint manager 2010 (from codeplex) on my server and navigated to this
    item in the list and checked out the properties...
    in this tool it says "IsReadOnly" = false
    if I look at the individual properties of the item i see properties like
    ecm_ItmLockHolders  value = ecm_InPlaceRecordLock
    ecm_ItemDeleteBlockHOlders value= ecm_InPlaceRecordLock
    I suspect that this is why ic cannot get rid of the bloody record...  i don't know why undeclare doesn't take these locks off (Perhaps because someohw it got checked out to someone other than system).  I even tried going iinto the content database
    to set the CheckedOutTo column to null.  when i did this nothing happened
    i tried setting the id equal to the "system account" Id in the content database and the record vanished from the document library (although I can still see it in the content database)...
    this is a big mystery for me... all i want is to get rid of a record that somehow has been "corrupted"  we have been demoing some third party applications which upload to sharepoint and prerhaps they got the file in this state (its an email .msg format)...
    i definitely need to know the recommended way to clean a record that will not let you undeclare it... help!  my next course of action will be a ms support call...
    krd

    the record was declared as part of info mgmt policy (created +1 days, delcare record), then i have another step (declared record + 1 day, start a workflow).  I'm trying to delete the record using a workflow (because the OOTB disposition workflow doesn't
    work, i'm trying to create my own disposition workflow which undeclares the record first then deletes it).  But that is a bit of a side story (I haven't managed to get that working...)
    krd

  • The list of workflow actions on the server references an assembly that does not exist

    Hi,
    This issue has been discussed many times in this forum , the reason why I am posting is I tried the resolution steps but I dont see any luck.
    I am getting the below message from the SharePoint designer 2007 when I am trying to modify a workflow
    "This list of workflow actions on the server references an assembly that does not exist. Some actions will not be available. The assembly strong name is Microsoft.SharePoint.WorkflowActions, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c.
    Contact your server administrator for more information."
    #1 : One of the post says "Normally you would see that error because someone has extended the Workflow actions available in SPD with a custom action developed in Visual Studio.  These custom actions are loaded when your workstation reads the WSS.ACTIONS
    file on the server.  The file is located in the 12 hive under Template\1033\workflow.  Your WSS.Actions file contains a reference to a custom action .dll which is not available on the server."
    I opened the WSS.Actions file in notepad, I dont see any line with *.dll in it. Am I missing something?
    #2: Another post says "The solution I discovered was that the server running my SharePoint Services was not up to .NET 3.0.  As soon as I updated to .NET 3.0 everything worked.I had made sure the machine running SharePoint Designer was updated, but
    had missed the SHarePoint Services server."
    The server is already updated to .Net 3.0.
    #3: I went to the %System Drive%\Documents and Settings\Local Settings\ApplicationData\Microsoft\SharePointDesigner.
    Deleted the ProxyAssemblyCache folder but no luck.
    Just checking if any one was able to resolve this issue by following any of the solution other than the above mentioned ones.
    Thanks,
    Cutloo

        I have the similar issue with my custom work flow. I have searched the whole day for the solution but no success, then at last a simple track works for me. Please try this if any one faces such issue.
    Basically the assembly that we have define in the ACTIONS file dose not exists on the server, because of two reasons, either we have given the wrong assembly name (in our case the namespace name inside our solution) or the PublicKeyToken may differ from the
    original assembly, that are deployed in GAC.
        So cross check both of these, in my case the assembly name was fine,
     <Action
        Name="Move Item to Another List and Send Email"
        ClassName="MyAssemblyName.Classname"
        Assembly="MyAssemblyName,Version=1.0.0.0, Culture=neutral, PublicKeyToken=4053d1fde8a1c781"
        AppliesTo="all"
        Category="Email actions">
    But the problem was in the 'PublicKeyToken', so i double click on the feature inside my solution,then in the bottom i have clicked on the manifest tab to check the entries.
    <Feature xmlns="http://schemas.microsoft.com/sharepoint/" Title="MyAssemblyName Feature1" Id="f7f1bda0-5f65-40f1-a705-f6f15a41da3a" ReceiverAssembly="MyAssemblyName, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0c32dbb769ed64b5"
    ReceiverClass="MyAssemblyName.Features.Feature1.Feature1EventReceiver" Scope="WebApplication"></Feature>
    Here i got the actual PublicKeyToken for my assembly (0c32dbb769ed64b5), i have replaced this number inside ACTIONS file, deploy the soultion, reset IIS.
    It works for me,

  • The Cluster Service function call 'ClusterResourceControl' failed with error code '1008(An attempt was made to reference a token that does not exist.)' while verifying the file path. Verify that your failover cluster is configured properly.

    I am experiencing this error with one of our cluster environment. Can anyone help me in this issue.
    The Cluster Service function call 'ClusterResourceControl' failed with error code '1008(An attempt was made to reference a token that does not exist.)' while verifying the file path. Verify that your failover cluster is configured properly.
    Thanks,
    Venu S.
    Venugopal S ----------------------------------------------------------- Please click the Mark as Answer button if a post solves your problem!

    Hi Venu S,
    Based on my research, you might encounter a known issue, please try the hotfix in this KB:
    http://support.microsoft.com/kb/928385
    Meanwhile since there is less information about this issue, before further investigation, please provide us the following information:
    The version of Windows Server you are using
    The result of SELECT @@VERSION
    The scenario when you get this error
    If anything is unclear, please let me know.
    Regards,
    Tom Li

  • How can I change my Apple ID that is set up with an old email that does not exist anymore

    I set up an Apple ID years ago with a hotmail email account. I also deleted that hotmail email account years ago. I now have a gmail email. I cannot back up anything to icloud because of my apple id that is connected to the hotmail email account that does not exist anymore. To change my ID, apple sends a verification email to my old hotmail account which i cannot access, and it also says my gmail account is my rescue account, so I wouldn't be able to change it to my gmail account anyway.  Any ideas? I'd like my ID to be associated with my one and only current gmail email account. I have a lot of songs that I've spent a lot of money on over the years that I don't want to lose.

    See Here > Apple ID: Contacting Apple for help with Apple ID account security
              Ask to speak with the Account Security Team...

  • VENDOR is mapped to the dialog column (USAGE_VENDOR) that does not exist

    Hello,
    I'm trying to install Solman 4.0 Unicode.  When I start sapinst and select a Central System, I get an error before it even gets to the point where I can input some parameters.  The error is below, has anyone experienced this?  Thank you.
    ~TJ
    ERROR      2006-08-17 09:29:20 [iaxxctbctl.cpp:128]
               CTableControl::retrieveDefaultValue
    FGE-00003  The key db column VENDOR is mapped to the dialog column (USAGE_VENDOR) that does not exist.
    TRACE      [iaxxejsbas.hpp:388]
               handleException<ESAPinstException>()
    Converting exception into JS Exception Exception.
    ERROR      2006-08-17 09:29:20
               CJSlibModule::writeError_impl()
    MUT-03025  Caught ESAPinstException in Modulecall: ESAPinstException: error text undefined.
    TRACE      [iaxxejsbas.hpp:460]
               EJS_Base::dispatchFunctionCall()
    JS Callback has thrown unknown exception. Rethrowing.
    ERROR      2006-08-17 09:29:20
    FCO-00011  The step selectUsages with step key |NW_Onehost|ind|ind|ind|ind|0|0|SAP_Software_Features|ind|ind|ind|ind|5|0|SAP_Software_Features_Select|ind|ind|ind|ind|1|0|selectUsages was executed with status ERROR .
    TRACE     
    <html><head></head><body><p>An error occurred while processing service <b>SAP Solution Manager 4.0 > SAP Systems > IBM DB2 UDB for iSeries > Central System > Central System Installation</b>. You may now</p><ul> <li>press <I>Retry</I> to repeat the current step.</li> <li>press the <I>View Log</I> button to get more information about the error.</li> <li>stop the task and continue with it later.</li></ul><p>Log files are written to <b>G:\usr\sap/SAPinst/SOLMAN/SYSTEM/DB4/CENTRAL/AS</b>.</p></body></html>
    TRACE      [iaxxgenimp.cpp:1093]
               showDialog()
    waiting for an answer from gui
    INFO       2006-08-17 09:32:31 [iaxxgenimp.cpp:779]
               showDialog()
    An error occured and the user decide to stop.\n Current step "|NW_Onehost|ind|ind|ind|ind|0|0|SAP_Software_Features|ind|ind|ind|ind|5|0|SAP_Software_Features_Select|ind|ind|ind|ind|1|0|selectUsages".

    FYI - I was using the NW2004s control file patch not NW2004sSR1.  Once using the correct control files it worked.
    ~TJ

Maybe you are looking for