cancel
Showing results for 
Search instead for 
Did you mean: 

help Newbie -> Data in the SmartSync example

Former Member
0 Kudos

Hi All,

I deployed the program (MDK_smartsync_inventoryJSP.war) in the Java Stack + Abap Stack like the others examples, after that i download it to my PDA

- In the mobile server i have the tables:

MDK_INVENTORY

- This functions groups:

MDK_INVENTORY_GETLIST

MDK_INVENTORY_GETDETAIL

MDK_INVENTORY_CREATE

MDK_INVENTORY_MODIFY

MDK_INVENTORY_DELETE

Then I do this:

Import SyncBO YMDK_INVEN einspielen with transaction merep_mig with text file ymdk_inven.txt.

Then I have a RFC conection (TCP/IP type) called: MENGMT_MOBILE_CONTAINER_SYNC

if you test the conexion it works.

The Program runs perfectly, but there is not data in the example, it was supposed to do a sync with the data in the tables, so the example could display these data in the screen. But the example only displays an empty table on the screen.

Best Regards,

Erick Ilarraza

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Erick,

I would suggest you try the 'Tutorial' given at the end of the MDK. It is better smart symc example which takes you through all the steps involved in creating a smart sync application.

Regards,

Rahul

Answers (3)

Answers (3)

Former Member
0 Kudos

Hey Erick any luck.

Cheers

Former Member
0 Kudos

Hi all,

<b>Rahul,</b> I am using the MDK Tutorial. From Netweaver Developer Studio.

Help -> Tips and Tricks -> Mobile Development Kit Tools -> SAP Netweaver Developer Studio Documentation -> Mobile Development Manual -> Smart Sync Example JSP.

The example that you say only apply for SAP MI 2.1 since there are steps that you can't follow wiht that guide. probably because there are changes between 2.1 and 2.5

Saurabh, The MDK_INVENTORY table is Empty, then I used the MDK_INVENTORY_CREATE function module to add two columns, and again I re-installed the aplication.

I followed this Steps:

- Run The Application so it displays an empty table.

- I push the Synchronization button, .... , Synchronization Completed...

- Run The Application again and it only display an empty Table.

Another configuration that I do after Import the YMDK_INVEN file was with the MCD Transaction -> SyncBO ID tab: setting the value -> YMDK_INVEN but it prompt this error: Could not find synchronizer business object

I have this problems with my MCD particulary:

Local Path is no available

MiniApp is no available

Maybe someone was able to run this example, I tried all the day but it doesn't work.

Best Regards,

Erick Ilarraza

Former Member
0 Kudos

Hi Erick,

Check whether the SyncBo "YMDK_INVEN" is enabled in the middleware. To do this goto Transaction "Merep_pd"> Synchronizer tab> Search for SyncBo. Status should be green. If the SyncBo is not enabled then generate the SyncBo in "Merep_sbuilder" and then enable in "Merep_pd" in middleware. Then Sync from Client.

Hope this helps

Best Regards,

Lakshmi

Former Member
0 Kudos

Hi Erick,

To do this example you need to check with all the prerequisites :-

Refer the following link :- <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/21eba3a7-0601-0010-b982-92f1fca3258a">Prerequisites for the example.</a>

Check whether each of these components is there in your system or not.

1. table MDK_INVENTORY :- check if this table is there if not create it with the definition given. (but as you have said that it is present so no problem)

2. FUNCTION MODULES :- Check if all 5 function modules are present or not if not create them with the code given. Remember all the function modules have to be RFC enabled. (which i think also you have checked and are there but still confirm it.)

3. MESSAGE CLASS :- check if this message class is present else create it.

4. SYNCBO :- remember the syncbo is like the data model of your application. Go to transaction merep_sbuilder and check whether it is present or not. If not import it using the transaction merep_mig.

After all thic check in transaction "mi_mcd" if there exists an MCD of the name MDK_SMARTSYNC_INVENTORYJSP. mi_mcd -> Create Mobile Component -> enter this mcd name in "Mobile solution Name" -> Display MCD.

Let me know about your progress on this.

Cheers.

Former Member
0 Kudos

Hi All,

I check the SyncBo "YMDK_INVEN" with the Merep_pd"> Synchronizer tab> Search for SyncBo.

The SyncBo status is Green, it points to the RFC Destination: MEMGMT_MOBILE_CONTAINER_SYNC

This RFC is registered in the SAP Mobile Server (called <b>erick</b>) with this attributes:

TCP/IP Connection

Registered Server Program

Start Type of extenal program: Default Gateway Value

Gateway Host: <b>erick</b>

Gateway Service: sapgw01

Is important to say that we are using the same SAP Mobile Server as the "backend" system... should I have to use another System? Like a R/3 system or I can do tests with the same mobile system.

So all the tables and functions modules are in the SAP Mobile server.

1. table MDK_INVENTORY : Is Created, we add two rows (in this case two products, because it was empty).

2. FUNCTION MODULES :

MDK_INVENTORY_GETLIST -> Remote-Enabled

MDK_INVENTORY_GETDETAIL -> Remote-Enabled

MDK_INVENTORY_CREATE -> Normal Function <b>I changed</b> to Remote-Enabled

MDK_INVENTORY_MODIFY -> Normal Function <b>I changed</b> to Remote-Enabled

MDK_INVENTORY_DELETE -> Normal Function <b>I changed</b> to Remote-Enabled

3. MESSAGE CLASS: I can't see the Message Class, did you know how to search for It?

4. SYNCBO: Works fine.

I Create a new MCD version with all the normal especification plus the configuration of the YMDK_INVEN SyncBo under the SyncBO tab using the MCD Transaction. Then I installed a new Mobile Component Version, I downloaded it to my PDA, but again the program doesn't Displays Data, it give me an Empty table.

Here is the trace File when I do the Synchronization with the Mobile Server From my PDA

Trace

[20070607 18:22:34:033] I [MI/API/Logging ] ***** LOG / TRACE

SWITCHED ON [20070607 18:22:34:033] I [MI/API/Logging ] ***** Mobile

Infrastructure version: MI 70 SP 10 Patch 0 Build 200610241749

[20070607 18:22:34:033] I [MI/API/Logging ] ***** Current timezone:

PRT[20070607 18:22:34:033] I [MI/API/Logging ] ***** Current Trace

Level: 50 [20070607 18:23:13:888] E [MI/CCMS ] Config Info:

/Windows/StartUp/MIServer.lnk [20070607 18:23:13:893] E [MI/CCMS ]

java.io.FileNotFoundException: /Windows/StartUp/MIServer.lnk

java.io.FileNotFoundException: /Windows/StartUp/MIServer.lnk at

java.io.FileInputStream.<init>() at java.io.FileInputStream.<init>()

at java.io.FileReader.<init>() at

com.sap.ip.me.ccms.configinfo.ConfigInfoCollector.addMobileEngineLnk()

at com.sap.ip.me.ccms.configinfo.ConfigInfoCollector.addConfigInfoToContainer()

at com.sap.ip.me.ccms.configinfo.ConfigInfoCollector.createConfigInfoContainer()

at com.sap.ip.me.ccms.configinfo.ConfigInfoCheckerInboundProcessor.process()

at com.sap.ip.me.sync.SyncManagerImpl.processSingleContainer() at

com.sap.ip.me.sync.SyncManagerMerger.processInboundContainers() at

com.sap.ip.me.sync.SyncManagerImpl.processSyncCycle() at

com.sap.ip.me.sync.SyncManagerImpl.syncForUser() at

com.sap.ip.me.sync.SyncManagerImpl.processSynchronization() at

com.sap.ip.me.sync.SyncManagerImpl.synchronizeWithBackend() at

com.sap.ip.me.sync.SyncManagerImpl.synchronizeWithBackend() at

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

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

java.lang.Thread.run()

We search for this File: (java.io.FileNotFoundException:<b>/Windows/StartUp/MIServer.lnk</b>) in our HandHeld (Dell Axim X51v Windows Mobile 2005) And Since we are using the Spanish Version we have Windows/Inicio/MIServer.lnk Instead of Windows/StartUp/MIServer.lnk so we created the Folder /StartUp/ and after I copy the MIServer.lnk file into the new folder, now we do the Synchronization again the and the Trace File is <b>Clean</b> but the application still Display an empty table.

Best Regards,

Erick Ilarraza

Former Member
0 Kudos

Hi!

Here is more info:

I used the MEREP_MON transaction and i get this info:

You can see this information:

SyncBO ID: I-Waiting.......................O-Waiting

YMDK_INVEN: 6................................25

The others O-* J-* are in 0

Best Regards,

Erick Ilarraza

Former Member
0 Kudos

Hi,

This is my MobileEngine.config file, maybe there is some setting here that I should have to do.

#Thu Jun 07 15:39:30 GMT-04:00 2007

MobileEngine.Runtime.Host=127.0.0.1

CFS.Deploy.DeviceName=MOBILE_000026

MobileEngine.Sync.Gateway=http://erick:8001/sap/bc/MJC/mi_host?~sysid=ERI&

Runtime=tomcat

MI.ClientInstaller.StaticCommandLine=-Of -mi -classpath '%CI_HOME%/MICI.jar' com.sap.ip.mi.ci.ClientInstaller '-home:%CI_HOME%'

MobileEngine.Sync.Language=en

MobileEngine.AppLog.Enabled=true

MobileEngine.Reg.WinCE.ShortcutLocation=/Windows/Startup/MobileEngine.lnk

MobileEngine.Sync.Gateway.Protocol=http

MobileEngine.Sync.Proxyport=

MobileEngine.Sync.Proxyhost=

MobileEngine.Sync.Timezone=PRT

MobileEngine.Trace.MaxViewableSize=500

Init.UsingTomcatDirs=true

MobileEngine.Sync.LastSuccessfulSync=1181245170120

MobileEngine.Sync.Gateway.System=ERI

MI.Executable=%JAVA_EXE%

MI.StaticCommandLine=-mi -Of -cf MI/creme_listOfJars.txt com.sap.ip.me.core.Startup '-home:%MI_HOME%'

Init.OperatingSystem=WINCE

MobileEngine.Sync.Client=001

MobileEngine.MicroITS.Charset=UTF8

MobileEngine.Sync.Country=VE

MobileEngine.Sync.Deviceid=3E8658EC0A8696459964811409C7417C

MobileEngine.Sync.Gateway.Port=8001

MobileEngine.Sync.Gateway.Host=erick

MobileEngine.Reg.AlreadyInitialized=true

MobileEngine.Reg.WinCE.StartParams=-Of

MI.Sync.DataVersion=251300

Regards,

Erick

Former Member
0 Kudos

Hi Erick,

all the worklists with status "waiting" need to be changed to status "ignore".

Be acreful that you do so to for all the worklists for this syncBo since the day it was created. even if one worklist is left with status "waiting" it will not work.

After that again sync your client ad see if now the data comes or not. If it doesnt then again check the worklist monitor (merep_mon) and see what is the status now.

Cheers.

Former Member
0 Kudos

Hi Saurabh, Thanks a lot for your reply.

I followed your instructions

merep_mon -> F8 -> then i changed all the Worklist of all Mobile ID to the Ignore state (Using the Black/White flag the one like Formula 1) after that i make the SYNC and now i am unable to Synchronize, this is my trace file:

20070611 14:40:53:406] E [AppLog/MI/Sync ] Skip container with ID 938C64193AE0DC4E839F34B605F00964 because container has wrong sequence number 3 (expected 2)

[20070611 14:41:24:687] E [AppLog/MI/Sync ] Skip container with ID 938C64193AE0DC4E839F34B605F00964 because container has wrong sequence number 3 (expected 2)

On the other hand, I created a new user, then assign it to the same Hierarchy Group as the firts one, you can sychronized without problems but again the aplication doesn't display data.

Do I have to do a Deploy in the JAVA stack too?? in the NWA you can see this option:

NWA -> Administaration -> Mobile Infrastructure -> Data Carrier Sychronization -> Create Synchronization Archive ....

Maybe I should upload the ymdk_inven.txt file as a Synchronization Archive too.

Best Regards,

Erick Ilarraza

Former Member
0 Kudos

Hi Erick,

Try to replicate the data from backend to middle and check MEREP_207 tablle in the middleware.

Check if at all your backend tables have data in it.

Cheers,

Karthick

Former Member
0 Kudos

Hi Erick,

Kindly check if the MDK_INVENTORY table contains data or not.

Cheers.