cancel
Showing results for 
Search instead for 
Did you mean: 

Configuration of MCD Settings

Former Member
0 Kudos

Hi All,

I have created a T51 SyncBO. And I have also created a MCD for it.

In the MCD

- Mapping between the SyncBO ID and the object ID used by the back end is mandatory.

I know the SyncBO ID, but I am not sure what exactly an Object ID is and where to find it for my SyncBO.

Kindly help,

Ankur

Accepted Solutions (1)

Accepted Solutions (1)

AjithC
Employee
Employee
0 Kudos

HIi Ankur,

The mapping between synBO ID and the backend object ID is stored in the table memsd_dep.

You can configure it using the transaction mi_mcd.

1. Create an MCD (if already there, then edit the mcd)

2. Add the syncBOs to the mcd

3. For T51 syncBO enter the object ID in the third column (SyncBO object value). This column is editable only for T51 syncBO.

4. Save the mcd.

Regards

Ajith

Former Member
0 Kudos

Hi Ajith,

Thanks for the reply.

Does the table Memsd_dep exist in the backend or the middleware?

I checked in the backend, Memsd_dep is empty. There are no values in it.

When is this mapping between the syncBO ID and backend object ID created?

Thanks, Ankur

AjithC
Employee
Employee
0 Kudos

The table is there in the middleware and not in the backend.

The whole idea behind this is to decouple the backend development from the middleware. i.e when backend pushing the information to MI, they can use any logical name. This logical name needs to be mapped to syncBO name in middleware..

This has to be done during initialization of application in MI. Data won't be replciated with out this setting..

Regards

Ajith

Former Member
0 Kudos

Hi Ajith,

Thanks for the reply.

I went into the MW and checked the MEMSD_DEP table, and there were three entries in it for my Mobile Component (which I think is stored in the NAME field).

I executed one report in the MW, Z_MAINTAIN_SERVER_DRIVEN_CUST, and now I have 5 more entries in the MEMSD_DEP table for my mobile component each with a different pair of TYPE and DEPENDENCY_NAME field values.

I still am not sure, where is the Object ID in this table which should be supposedly matched to the SyncBO ID (or name).

Is there a field which will store the Object ID (in MEMSD_DEP table)?

I am a lil confused here. Kindly help me out.

Thanks, Ankur

AjithC
Employee
Employee
0 Kudos

You should either run the ZMAINTAIN report or do it from mi_mcd transaction. Since you done both, check the following..

Go to memsd_dep table

enter the following

name = <MCD name>

type = OBJTYPE (don't use F4 as that will fill dependency_name filed also)

Execute

In the list chek for these two entries..

DEPENDENCY_NAME = OBJSYNCBO & DEPENDENCY_VALUE = <syncbo name>

DEPENDENCY_NAME = OBJVALUE & DEPENDENCY_VALUE = <object id>

TYPE_INDEX should be the same for both the entries..

Regards

Ajith

Former Member
0 Kudos

Hi Ajith,

Thanks for all these replies.

I did all that you said, and I am getting this:

DEPENDENCY_NAME = OBJSYNCBO & DEPENDENCY_VALUE = <syncbo name>

DEPENDENCY_NAME = OBJVALUE & DEPENDENCY_VALUE = <b>Blank</b>

TYPE_INDEX is same for both the entries.

Just to Clarify What all I have done:

1) I had run the ZMaintain Report With the values NAME: My Mobile Component

VERSION: 1

SYNCBO: My SyncBO name

VALUE: <b>Blank</b>

(I think when I am not filling any thing in this VALUE field, How will MEMSD_DEP will have anything in its DEPENDENCY_VALUE field)

The execution was successful.

2) In MCD, I still have <b>not</b> mapped the SyncBO name with the Object ID. (Coz I still dont know what that Object ID is)

Thanks, Ankur

Message was edited by:

ankur malhotra

AjithC
Employee
Employee
0 Kudos

If it is MAM syncBOs, the object ID is same as syncBO name....

Former Member
0 Kudos

Its not MAM, and I am still confused.

One more thing: Is the object ID created manually by the developer or it is created automatically by the system?

If it is the first scenario: The Question is Where and How?

If it is the second one: The Question is When does the system does that?

Thanks,

Ankur

AjithC
Employee
Employee
0 Kudos

Its created by the developer.. For the server driven syncBOs, the backend informs the changes of the business object (add/mod/del) via an RFC call MEREP_DELTABO to the MI server. The objectID is one of the parameter (OBJTYP) for the same FM.

In the MI system, the mapping is made between this objectid and the sycnBO name in the memsd_dep table..

Hope its clear..

Ajith

Reward if helpful....

Former Member
0 Kudos

I understood all that you said.

But what shall I pass in the Parameter - OBJTYP when I call the FM MEREP_DELTABO in the replication report?

CALL FUNCTION 'MEREP_DELTABO' DESTINATION 'NW2'

EXPORTING

  • EDIDC =

<b> objtyp = '???'</b>

TABLES

deltabo = it_dbo

  • RETURN =

If it is created by the developer, Can I pass anything like 'zxxxx..' ?

Thanks, Ankur

AjithC
Employee
Employee
0 Kudos

You can pass any thing as you like inlcuding your name Only restriction is the length of the field (char 40)..

As I told you, the whole idea is to decouple backend developent from MI sycnBO defenitions..

Regards

Ajith

Former Member
0 Kudos

That sounded real cool.

I get your idea, still the replication is not working for me. So I will be back with more queries or points, once I am sure of anything.

Thanks, Ankur

Former Member
0 Kudos

Hi Ankur,

I have suggestion to pin point wat the problem may be....

1. Put a break point when the call is made to the MEREP_DELTABO Function module.

2. Inside the MEREP_DELTABO Function Module, goto the perform Get_SyncBO_Name, here put a break point at both the select statements.

If the statement fails to fetch the records, then the entry as mentioned in the previous as not been done.

Thanks..

Preetham S

Answers (0)