on 07-12-2006 1:18 PM
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.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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
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
User | Count |
---|---|
82 | |
10 | |
10 | |
9 | |
6 | |
6 | |
5 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.