Skip to Content
avatar image
Former Member

worklist error message

Top record read from R/3 itab; conflict detected (sync key=0001209268)

Top record read from R/3 itab; conflict detected (sync key=0001209268)

header action from mobile="MOD", R/3 action="ADD"

Return code 1 (DOWNLOADER)

meaning to say i have mapping problem ??

Message was edited by:

yzme yzme

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

1 Answer

  • avatar image
    Former Member
    Aug 07, 2007 at 08:09 AM

    I hope its the same problem as you described in your previous post merep_emulator

    The problem is with emulator and modfiy option don't work with emulator on systems less that SP19.

    Regards

    Ajith

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member

      if i am using emulator

      i am using this code by still cannot modify from my device to backend...

      public void modifyRecordLoc(String syncBoName,String syncKey){
      		  System.out.println("modifyRecordLoc");
      		  SyncBoDescriptor sbd=descriptorFacade.getSyncBoDescriptor(syncBoName);
      		  SyncBo sb=null;
      		  try{
      			  sb=dataFacade.getSyncBo(sbd,syncKey);
      		  }catch(PersistenceException pex){
      			  System.out.println("Exception in modifyRecordLoc:" +pex.getMessage());
      		  }
      		
      		  SmartSyncTransactionManager transactionManager;
      		  try{
      			  transactionManager=dataFacade.getSmartSyncTransactionManager();
      			  if(!transactionManager.isTransactionStarted()){
      				  transactionManager.beginTransaction();
      				  setHeaderFieldValue2(sb,"STORT","2");
      				  transactionManager.commit();
      			  }
      		  }catch(Exception e){
      			  System.out.println("Exception in modifyRecordLoc2:" +e.getMessage());
      		  }
      		
      	  }
      	
      	public boolean setHeaderFieldValue2(
      		SyncBo sb,
      		String headerFieldName,
      		Object value) {
      		SyncBoDescriptor sbd = sb.getSyncBoDescriptor();
      		RowDescriptor trd = sbd.getTopRowDescriptor();
      		FieldDescriptor fd = trd.getFieldDescriptor(headerFieldName);
      		if (fd != null) {
      		BasisFieldType bft = fd.getFieldType();
      		Row header = sb.getTopRow();
      		try {
      //		   Integer operator
      		if (bft == BasisFieldType.N) {
      		NumericField nf = header.getNumericField(fd);
      		if (nf != null) {
      		BigInteger ii = new BigInteger(value.toString());
      		nf.setValue(ii);
      		return true;
      		} else {
      		return false;
      		}
      		}
      //		   Character operator
      		if (bft == BasisFieldType.C) {
      		CharacterField cf = header.getCharacterField(fd);
      		if (cf != null) {
      		cf.setValue(value.toString());
      		return true;
      		} else {
      		return false;
      		}
      
      		}
      //		   Decimal operator
      		if (bft == BasisFieldType.P) {
      		DecimalField df = header.getDecimalField(fd);
      		if (df != null) {
      		BigDecimal bd = new BigDecimal(value.toString());
      		df.setValue(bd);
      		return true;
      		} else {
      		return false;
      		}
      
      		}
      //		   Similar operation for time and date operator fields
      		if (bft == BasisFieldType.D) {
      		DateField df = header.getDateField(fd);
      		if (df != null) {
      		if (value.toString().equals("0")) {
      		Date dat = Date.valueOf("0000-00-00");
      		df.setValue(dat);
      		} else if (!value.toString().equals("")) {
      		Date dat = Date.valueOf(value.toString());
      		df.setValue(dat);
      		} else {
      		Calendar cal = Calendar.getInstance();
      
      		java.sql.Date bd =
      		new java.sql.Date(cal.getTime().getTime());
      
      		df.setValue(bd);
      		}
      		return true;
      		} else {
      		return false;
      		}
      
      		}
      
      //		   Similar operation for time and date operator fields
      		} catch (SmartSyncException ex) {
      		System.out.println(ex.getMessage());
      		} catch (PersistenceException e) {
      		System.out.println(e.getMessage());
      		}
      		}
      		return false;
      		}