Hi,
transient personalization keys won't work. But I can live with this by setting the storage type to server.
We found out, why the results can be somewhat random (But we are not 100% sure about this).
Image may be NSFW.
Clik here to view.
The above image shows my problem. When the user fills in a business partner ID and hits the search button, the personalization parameter will be set and saved. When the server receives a new personalization parameter, it will update the consolidated database base on the new personalization key. Therefore it execute the BAPIs on the SAP system to get the data. If the consolidated database is update, the server will synchronize the changes to the mobile device. This whole procedure takes too much time.
In my application the findAll is called, before the synchronization process is completed. So the findAll will return results based on an old/mixed local database. If I wait 20 seconds and call findAll again, it will return the data based on the up-to-date local database. This asynchronous behaviour is a bit unsuitable for my scenario.
I'm using a while loop after saving the new personalization key like this:
while([DB hasPendingOperations])
{
sleep
}
as mentioned in the Student Guide for SUP 2.1, but this won't cover this issue. So I want to know, if there is a workaround for this problem.
Thanks,
Christian