Skip to Content

add row structure in a syncBo

Hi, i need to add a new row in a syncBo that exists. I'm try with the next code:

SyncBoDescriptor sbd = descriptorFacade.getSyncBoDescriptor(syncBoName);

SyncBo newsyncBo = getSyncBoInstance(syncBoName, syncKeyTop);

tableHeaderRowNames = getHeaderFieldNames(syBName,struct);

Row row = setRowFieldsValues(newsyncBo,struct,tableHeaderRowNames,valores);

if (row!=null)

newsyncBo.insertRow(row);

dataFacade.insertSyncBo(newsyncBo);

When executed the last line throws an exception: java.lang.IllegalStateException: State CHANGED_GLOBAL does not allow this transition: clnAdd

I also try change the last line dataFacade.insertSyncBo(newsyncBo); to

dataFacade.replaceSyncBo(newsyncBo);

and throws another exception:

com.sap.ip.me.api.smartsync.ModificationNotAllowedException: Only SyncBos of state UNLINED can be replace, but this one has state CHANGED_GLOBAL

The rows in the data base are in state "5".

Is there an error in my code ? is there another way to do this ?

Thanks.

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • Jan 24, 2008 at 09:59 AM

    Sorry i forgot to say that the row i need to insert is in the structure "0040". For this, i retrieving the TOP structure in the newsyncBo var and after i add a new row to that syncBo.

    Add comment
    10|10000 characters needed characters exceeded

  • Jan 24, 2008 at 10:21 AM

    I solved it. The last line: dataFacade.insertSyncBo(newsyncBo); is not necessary 😊

    Add comment
    10|10000 characters needed characters exceeded