cancel
Showing results for 
Search instead for 
Did you mean: 

Dump in Middleware after Synchronization

Former Member
0 Kudos

Hello,

I have a Problem with Smart Synchronization (MI 2.5 SP09).

I developed a smart sync application (type twoWay), which allows modifying of item values in syncbo.

The application itself seems to be ok. If I modify a value, I don't get any errors and if i read the SyncBo again (after modifying)

it shows the correct data. The Problem occurs if I try to synchronize with the middleware.

The client trace file doesn't show any errors but the Log Monitor gives the following output:


1          1 I        03.04.2006 15:31:43 
MEREP_ARECEIVER has started for run number 0000002170 and runtime counter 1                                                                                
2          1 D        03.04.2006 15:31:43 
Return code 0 (RECEIVER ENABLED)                                                                                
3          1 I        03.04.2006 15:31:43 
Forced correction of XML document encoding from UTF-8 to sap*                                                                                
4          1 A        03.04.2006 15:31:43 Unknown error                                                                                
5          1 E        03.04.2006 15:31:43 
<Dump>Dereferenzierung der NULL-Referenz.</Dump>                                                                                
6          1 E        03.04.2006 15:31:43 <Dump><?xml version="1.0" encoding="sap*"?>
<Message xmlns="" clientID="" id="wSBPpTNwEbPTyzLSCZ71P7jVswLMoxsL" schemaVersion="2.0"
 synchronous="false"><Delta action="modify" objectID="0001001594" objectType</Dump>       
7          1 E        03.04.2006 15:31:43 
<Dump>="ZMSC_ORD03"><pre><code>7CD0DC76B9CF4F499FE5C1B325107389
</code></pre>
<PostStateIDtype="changedID">
wSBPpTNwEbPTyzLSCZ71P7jVswLMoxsL</PostStateID><F pos="1">000004000020</F><Delta ac</Dump>        
8          1 E        03.04.2006 15:31:43
 <Dump>tion="modify" objectID="0001001598" objectType="030"><F pos="1">000004000020</F>
<F pos="2">0010</F><F pos="3">AD-S-E1</F><F pos="4">0001</F><F pos="5">Sichtprüfung aussen</F>
<F pos="6"></F><F pos="7"></Dump>       
9          1 E        03.04.2006 15:31:43 
<Dump>1.000</F><F pos="8">SEZ</F><F pos="9">0.2</F>
<F pos="10">H</F><F pos="11">HUR</F>
<F pos="12">H</F><Fpos="13">HUR</F><F pos="14">1.000</F></Delta></Delta></Message></Dump>                                            
10          1 I        03.04.2006 15:31:43 
MEREP_ARECEIVER has finished for run number 0000002170 and runtime counter 1

I have no clue what this error means.

After modifying and synchronizing the modified syncbo instances an the client always have the following status:

PositionStatus: G

ProcessingStatus: IN_SYNC

Status: S

The Processing Status is always "IN_SYNC" and doesn't change any more.

So it's obvious that the syncbo instances are not processed correctly by middleware. It seems to me that the data the middleware

receives is not correct or not as expected. So the middleware tries to process or transform the data and at this moment an error occurs.

I would be very glad if somebody has a hint or a solution for this problem.

Regards,

Andreas

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

hello andreas,

could you please check.

your xml has two

<F pos="1">000004000020</F>

entries. this could

be one reason.

if this is just a typo error, try avoiding the umlaut

in the data: "Sichtprüfung aussen".

regards

jo

Former Member
0 Kudos

Hi Jo,

the dump has indeed two Entrys with

<F pos="1">000004000020</F> (I uploaded the whole log as html <a href="http://people.freenet.de/boristheblade/SAP/dump.html">here</a>)

This Number is the <b>"ORDERID"</b>. This field is listed in TopStructure and in every ChildStructure (see below).

<SyncBO id="ZMSC_ORD03" version="4" type="twoWay" allowCreate="false" allowModify="true" allowDelete="false" reqDirectSync="true">

<TopStructure name="TOP">

<Field name="SYNC_KEY" type="N" length="10" decimalLength="0" signed="false" isKey="true" isIndex="true">

<Input type="create">false</Input>

<Input type="modify">false</Input>

</Field>

<b><Field name="ORDERID" type="C" length="12" decimalLength="0" signed="false" isKey="false" isIndex="false">

<Input type="create">false</Input>

</Field></b>

<ChildStructure name="010">

<Field name="SYNC_KEY" type="N" length="10" decimalLength="0" signed="false" isKey="true" isIndex="true">

<Input type="create">false</Input>

<Input type="modify">false</Input>

</Field>

<b><Field name="ORDERID" type="C" length="12" decimalLength="0" signed="false" isKey="false" isIndex="false">

<Input type="create">false</Input>

</Field></b>

[...]

But the entry I have changed ist this one

<F pos="14">1.000</F>

This entry is an entry in

<ChildStructure name="030">

[...]

<Field name="WORK_ACTUAL" type="P" length="14" decimalLength="3" signed="false" isKey="false" isIndex="false">

<Input type="create">false</Input>

</Field>

Do you think the Umlaut could cause some problems in middleware?

Regards,

Andreas

Former Member
0 Kudos

I guess I know the reason for my problem. I deployed my application again and synchronized <b>before</b> changing an entry. And it worked.

I've always started the MI from Developer Studio, changed some entrys and synchronized afterwards and this did not work. So the error occurs every time if I change a value before I've have synchronized.

Former Member
0 Kudos

hello andreas,

great that you had it worked out right.

first, having two

<F pos="1">000004000020</F>

elements in the message is already a malformed smartsync

message. im wondering how this had happened.

regarding the aumlaut, this is dependent on your system.

some non-unicode middleware system doesn't support this

and parsers do usually throw some exceptions.

now, looking in the dump, the download requests were also

not properly parsed. this might have something to do with

the code page on your client. might be worth checking as

well.

regards

jo

Former Member
0 Kudos

Hello Jo,

thanks for your hints. I will check them out.

I let you some points.

regards,

Andreas