cancel
Showing results for 
Search instead for 
Did you mean: 

Problem with applying filter?

Former Member
0 Kudos

Hello All,
  I am facing problem with filter.
  I am developing a smart sunc application using 
  following BAPIs.

       GetList          MEREP_CONTACT_GETLIST         
       GetDetail        MEREP_CONTACT_GETDETAIL       
       Create           MEREP_CONTACT_CREATE          
       Modify           MEREP_CONTACT_MODIFY          
       Delete           MEREP_CONTACT_DELETE          

  I am using person number as filtering criteria.
  When i use emulator then it works properly.
  But at the MI client it does not seem to be working
  as all records are getting downloaded.

  Can anyone help me in this?
  Thanks in advacne.
View Entire Topic
kishorg
Advisor
Advisor
0 Kudos

Hi Abhijit ,

Which type of syncBO u have created for ur application(S01,T01 ..)?.

can you please explain ur problem exactly?.

If u r facing difficulties with T01 type syncbos just refer these forums.

i have already dicussed the same problem in these forums .. refer these forums and let me know if u have the problem.

Regards

Kishor Gopinathan

Former Member
0 Kudos

Hello Kishor,
  I went through your forums.
  But my prolblem is not the repetition of data at the   
  client side.

  I will explain you the scenario exctly.
  I am just doing it for learning purpose.

  I have created a syncbo ZCONTACTSB.

  It is of type S01 = 2-Way Synchronization Using BAPI 
  Wrappers.
  
  I am using following bapis

  GetList          MEREP_CONTACT_GETLIST     
  GetDetail        MEREP_CONTACT_GETDETAIL   
  Create           MEREP_CONTACT_CREATE      
  Modify           MEREP_CONTACT_MODIFY      
  Delete           MEREP_CONTACT_DELETE      

  I have set filter on PERSNUMBER field.

  I have created four records in the following tables  
  execcuting MEREP_CONTACT_CREATE Bapi wrapper.

    1. MEREP_PERSON
    2. MEREP_E_MAIL
    3. MEREP_ADDRESS

  I have created a mobile id DEMO for my MI Client
  And added it to a Mobile Group MIDEMO.

  I have applied filter such that only records with   
  following condition 
       <b>!( PERSNUMBER EQ 0000000033)</b>
  will be downloaded.

  When i use emulator tool to test the SyncBo then it
  works properly and shows me three records only.

  But after that i create a MCD ZCONTACTAPP and added 
  this SyncBO to this MCD.
  Then i downloaded the meRepMeta.XML file and using 
  studio's Smart Sync Application Wizard i created the   
  application.
  Then i uploaded the file to web console and assigned
  to my MI Client.
  But when i run this application then it shows me all
  the four records.
  

  Why is this happening?

  Can you tell me?

  regards,
    Abhijit
Former Member
0 Kudos

Hello Kishor,

I am now getting following exceptions.

[20060713 09:38:45:281] E [MI/Smartsync ] Error while Smart Sync inbound processing: java.lang.IllegalStateException: No field available :ReusableFieldDescriptorIt [rowDescriptor=cZCONTACTSB_010, index=3]

java.lang.IllegalStateException: No field available :ReusableFieldDescriptorIt [rowDescriptor=cZCONTACTSB_010, index=3]

at com.sap.ip.me.smartsync.syncIn.processors.InternalRowProcessor.setNextFieldWithWriter(InternalRowProcessor.java:138)

at com.sap.ip.me.smartsync.syncIn.processors.RowProcessorManager$RowProcessorDispatcher.setNextField(RowProcessorManager.java:409)

at com.sap.ip.me.smartsync.syncIn.SaxSyncInProcessor$4.characters(SaxSyncInProcessor.java:730)

at com.sap.ip.me.xmlParser.MIXMLEventHandlerManager.characters(MIXMLEventHandlerManager.java:72)

at com.sap.ip.me.xmlParser.MIXMLParser.sendCharacters(MIXMLParser.java:263)

at com.sap.ip.me.xmlParser.MIXMLParser.parse(MIXMLParser.java:158)

at com.sap.ip.me.smartsync.syncIn.SaxSyncInProcessor.processSyncInMessage(SaxSyncInProcessor.java:87)

at com.sap.ip.me.smartsync.syncIn.SyncInRuntimeImpl.processSyncInMessage(SyncInRuntimeImpl.java:250)

at com.sap.ip.me.smartsync.core.SmartSyncRuntimeImpl.process(SmartSyncRuntimeImpl.java:344)

at com.sap.ip.me.smartsync.core.SmartSyncRuntimeManager.process(SmartSyncRuntimeManager.java:214)

at com.sap.ip.me.smartsync.core.SyncAdapter.process(SyncAdapter.java:56)

at com.sap.ip.me.sync.SyncManagerImpl.processSingleContainer(SyncManagerImpl.java:160)

at com.sap.ip.me.sync.SyncManagerMerger.processInboundContainers(SyncManagerMerger.java:166)

at com.sap.ip.me.sync.SyncManagerImpl.processSyncCycle(SyncManagerImpl.java:709)

at com.sap.ip.me.sync.SyncManagerImpl.syncForUser(SyncManagerImpl.java:1142)

at com.sap.ip.me.sync.SyncManagerImpl.processSynchronization(SyncManagerImpl.java:774)

at com.sap.ip.me.sync.SyncManagerImpl.synchronizeWithBackend(SyncManagerImpl.java:402)

at com.sap.ip.me.sync.SyncManagerImpl.synchronizeWithBackend(SyncManagerImpl.java:285)

at com.sap.ip.me.api.sync.SyncManager.synchronizeWithBackend(SyncManager.java:79)

at com.sap.ip.me.apps.jsp.Home$SyncRunnable.run(Home.java:447)

at java.lang.Thread.run(Thread.java:534)

regards,

Abhijit

kishorg
Advisor
Advisor
0 Kudos

Hi Abhijit,

<<<

[20060713 09:38:45:281] E [MI/Smartsync ] Error while Smart Sync inbound processing: java.lang.IllegalStateException: No field available :ReusableFieldDescriptorIt [rowDescriptor=cZCONTACTSB_010, index=3]

java.lang.IllegalStateException: No field available :ReusableFieldDescriptorIt [rowDescriptor=cZCONTACTSB_010, index=3]

>>>

When did u get this exception?. At the time of creating a new entry or displaying the details or during Sync?.

I think , the exception can happen if the metaData information of ur deployed application is not

correct in the MI client device . I meant , if u have mapped additional fields or removed existing fields

from the mapping screen , u will have to regenerate the syncbo , add the corresponding syncbo in ur application(MCD)and replace the meRepMeta.xml file using the new meRepMeta.xml file in the NetWeaver Developer studio. Then u will have to export the WAR file and upload it agian with respect your application through webconsole and reinstall the application.

Just check for your SyncBo

ZCONTACTSB Item 010 field with index is there or not.

I think there is no 4 fields mapped in the 010 item of ur syncbo

Regards

Kishor Gopinathan

Former Member
0 Kudos

Hello Kishor,

thanks a lot.

You have solved my problem.

I regenerated the application and it worked.