cancel
Showing results for 
Search instead for 
Did you mean: 

READ LOCAL DELTA DATA

former_member207329
Participant
0 Kudos

Hi all,

i have a application with SYNCBO s01 (MI 2.5 sp15).

I have to create a page with a summary of all delta data saved in client.

I use only sync BO for save all my data (es: ZALLDATA)and I have to read and print (in the screen) all data saved in this syncBO.

Can someone help me?

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

hello rocco,

try this.

SyncBoOutDeltaFacade deltFac = SmartSyncRuntime.getInstance().getSyncBoOutDeltaFacade();
MeIterator allDelta = deltFac.getAllDelta();
while(allDelta.hasNext()){
SyncBoOutDelta outDelta = (SyncBoOutDelta)allDelta.next();
//boDescriptor is the one you want to look for
if(outDelta.getSyncBoDescriptor()==boDescriptor){
 //do whatever you want
 System.out.println("SyncKey:"+outDelta.getSyncKey()+" Action:" + outDelta.getAction());
}
}

take note that MI merges the update to your SyncBo instance;

i.e. no delta history available. thus you won't be able

to know which field was changed on what time.

regards

jo

former_member207329
Participant
0 Kudos

Hi Santiago,thanks for your help.

As I do to read the contained values in all the fields of my delta sync bo?

Very very thanks

Former Member
0 Kudos

hello rocco,

using the info i.e. the synckey and the syncbodescriptor

of your syncbooutdelta instance, you can retrieve the

syncbo instance from the data repository. use the api:

SyncBoDataFacade.getSyncBo(syncBoDescriptor, syncKey)

now, if you want to know which row was inserted or updated,

you have to retrieve the rowoutdeltas using the method

SyncBoOutDelta.getRowChanges(). this method will return

an MeIterator instance of the RowOutDelta elements. and

for every RowOutDelta instance in the iterator, you can

get the row values using the method

RowOutDelta.getChangedFieldValues()

which will return again an MeIterator of your field

values. if the row was deleted, you won't have any

changedFieldValues instead you will only have the key,

rowdescriptor, seqNo and the action.

for the updated and inserted rows, you can also directly

retrieve the row instances using the rowdescriptor and

key from the datafacade.

hope this helps.

jo

Answers (0)