on 09-03-2007 1:29 PM
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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
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
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
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
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....
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
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
User | Count |
---|---|
87 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.