cancel
Showing results for 
Search instead for 
Did you mean: 

Association not working

Former Member
0 Kudos

Hello All,

I have created one dependency using association.

I have created two data objects DO1 (leading DO)and DO2 (Following DO) and linked them via association based on one field F1.

I performed the data load after completing the SWCV for DO1 and DO2.All data is downloaded but i am not getting data in my device queue. Then i checked the data for D01.i could see all the data except for AUTOMATED GENERATED ASSOCIATION SYNCKEY.

Can somebody suggest what could be the reason the association key is empty.

Thanks and Regards

Devendra

Accepted Solutions (1)

Accepted Solutions (1)

akila_sangili
Explorer
0 Kudos

Hi,

As Ananth has clarified the association key, here is the clarification on the data not available on the device queue.

Though the association key is empty, if the rule is on the leading data object then atleast the data for the leading object should be available on the device queue.

As you have mentioned that the data was not available on device queue, check in SMQR transaction whether the queue for your device (for EX MMW_Q*) is not blocked and its registered.

Regards,

Akila Sangili.

Former Member
0 Kudos

Hi Akila,

Yes that exactly the problem i have.

I am not sure why data is not coming on to the client.

After doing the data load for Following DO then leading DO. I can see the association synckey but data is still not coming in the queue.

SMQR is configured properly i think.Can you please check if the following settings are correct.

Scheduler Information

Scheduler Status : Inactv.

Last Update (Every 2 Minutes) : 27.07.2010 02:28:54

Name of AS Group (DEFAULT = All): DEFAULT

Number of Entries Displayed 5

Host ID : MI server

Number of Active Connections 0

Cl. Queue name Type Mode Max. Runtime Attempts Paus

100 MMW* R D 60 30 300

Also i cannot see the subscription data for my standard dataobjects in subscription device status.I can see the user details and user authorization in subscription option.

I have created one customized RMM and defined different device attributes and mapped it to the RMM data object.

Do you have any idea why this is not working.

Also can you please let me know how to map synchronization device user = user defined in RMM data object (like mesync user in NW2004).In Mobile RMM the sync user is defined as 'USER' but in my RMM data object it is defined as 'EMP_ID'.How to link both?

Thanks and Regards

Devendra

sivasatyaprasad_yerra
Active Contributor
0 Kudos

Please check the following link for more details:

[Receiver Generation DO|http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/60cb74ba-3480-2c10-e383-9fefe665af60]

rohith_deraje
Advisor
Advisor
0 Kudos

Hi Devendra,

1.Distribution rule not working. Please check the following

--- Right click on DO and Select Metadata Monitoring.

-- Select The Distribution Model tab.

-- Check your rules are active.

-- Check there are entries in the DRDS table.

If there are no entries, then no device is subscribed to your rule.. Please check the rule attributes matches the data in CDS.

If you can tell what type of rule you have created, I can suggest you better.

2.. Mapping sync user to RMM_USER

Create a rule , Select the Node, Select the field "EMP_ID" and operand "EQ".

Select "Device Attribute Mapping" "Reciever Category" = Mobile.

In the next screen, Select Device attribute Mapping and choose "USER".

i.e DO.NODE.EMP_ID = MOBILE.CATEGORY.USER

Note: EMP_ID field should be of same length as that of USER(CHAR12).

Regards

Rohith

AnanthNatarajan
Advisor
Advisor
0 Kudos

Hi Devendra,

Please check the followings,

1. Check whether all the rules are active.

2. Check the Association Table in the View Metadata option under the DM tab (i.e. whether it has any entries, if yes, check for the device id & extract keys in that table) elso do what Rohith as stated in the reply.

3. Then go to pending extract & check whether your DOs are in pending state. If yes, trigger the pending extract & then it will come to the Outbound queue.

Regards,

Ananth.

Former Member
0 Kudos

Hi Rohith,

Thanks!!

I am not able to see the data in DRDS table.

Actually i have created two SWCV's.One for data object and another one for DM.

When i check the DRDS table in DM SWCV i can see the table structure but the table is empty.Rules are active.

but when i check the dataobject SWCV and go to DRDS table from DO meta data i cannot see the DRDS table structure.

Could this be an issue?

Rule: I have created a normal rule using subscription and device attribute mapping.

I have SG data object with fields workcenter and region. Workcenter is device attribute mapped via RMM Mobile and region is mapped to my CUSTOMER data object via SuBGEN.

Also i have one RMM dataobject field attribute with field name as 'NAME' and in the standard RMM Mobile also we have one field with name 'NAME'.Could that be an issue.

Regards

Devendra

rohith_deraje
Advisor
Advisor
0 Kudos

Hi Devendra,

You can see the DRDS only for the SWCV where you have your DM. It is correct.

Your DRDS table is empty which tells that there is no device subscribed to your rule.

From your description I understand your rule as below.

SUBGEN.NODE.WORKCENTER = MOBILE.CUSTGROUP.WORKCENTER

SUBGEN.NODE.REGION = CUSTOMER.NODE.REGION.

MOBILE.CUSTGROUP = your custom group created in RMM.

NODE = node name given by you.

Once you create a cutom group in RMM and generate(generation is important), any new device created will have these custom attribute. Please make sure you set the value for this custom attribute.

You can try with the below sample data.

Subgen DO: WORKCENTER = 001

REGION = NRTH

CUSTOMER DO: CUST_NAME = AAA

REGION = NRTH

Set the WORKCENTER attribute (of your cust group) of device to "001". (NWMA>Device Admin> Device Detail-->Manage Attribute).

Assign the DMSCV to device.

If you are editing the attribute of existing device, where DMSCv is already assigned, please deactivate and activate the rule.

Check the DRDS table.

You should find entry for your device.

Check Txn "smq2" for any pending queus.

Check the pending extracts of Device.

Regarding the "NAME" field of cutom group,

Are you using Reciever generation DO to create devices?

If No: The NAME field in your RMM custom group should not cause any issues. This will be like any other custom attributes of your device.

If yes: You should map the field containing device name to standard "NAME" attribute of RMM. Not to the cutom group attribute. If your mapping is correct, then whenever you load the RecGen DO, new devices will be created with that name.

Please check Shiva's reply above for RMM details.

Regards

Rohith

Edited by: Rohith Deraje on Jul 27, 2010 5:22 PM

Former Member
0 Kudos

Hi Rohith,

Thanks again!!

When i manually set the workcenter attribute in NWA Device management as you mentioned.I could see the device queue and the data in pending extract.

I have regenerated the custom RMM again but still i am not getting the data in pending extract when i create a device.

Also the rule which you have mentioned is correct except i dont see custgroup in 'MOBILE.CUSTGROUP.WORKCENTER'.

SUBGEN.NODE.WORKCENTER = MOBILE.CUSTGROUP.WORKCENTER

SUBGEN.NODE.REGION = CUSTOMER.NODE.REGION.

In the device mapping TAB under rule i can see receiver category type as 'mobile', SWCV as SAP BASIS 7.10 and Dataobject name as 'WORKCENTER' and the following.

SUBGEN MAPPING SELECTED.

Receiver attribute = WORKCENTER_ID ;operation=EQ;subgennode = ROOTNODE; attribute low =WORKCENTER_IDl;

Under rule->criteria TAB i could see the following.

Valuetype Node Attribute Oper Value Low

SG CUSTOMER REGION EQ WORKCENTER.ROOTNODE.REGION .

I havent freeze the RMM Mobile yet but its status is Active. Would that be an issue?

Also we are manully creating the device not via Receiver generation DO.'Name' field i am using corresponds to Employee name.So that wont be an issue as you said.

Thanks & Regards

Devendra

AnanthNatarajan
Advisor
Advisor
0 Kudos

Hi Devendra,

Just a guess, there could some data issues as well. Please check whether the Subgen DO has exactly the same data which you have mapped against to your device attributes & Standard DO.

Regards,

Ananth.

rohith_deraje
Advisor
Advisor
0 Kudos

Hi Devendra,

1. You have mentioned that you could see data in the pending extract when you set the Device attribute WORKCENTER_ID manually.

So your rule is working correctly.

2. You do not get data when you create new device.

You have to assign SWCV to device and set the Device attribute WORKCENTER_ID. Then you will get the data.

When you create a new device it will have the attribute "WORKCENTER_ID".But you have to fill the value for it.

3. RMM Mobile is active.

--- Yes. The RMM will be active even you have not frozen your custom group. Once you have frozen the custom group, please regenerate the RMM.

Regards

Rohith

sivasatyaprasad_yerra
Active Contributor
0 Kudos

1. Check the value of device attribute which is used in Rule.

2. Check if there is any record in Subgen DO with this value.

If yes, then the attribute mapped with the Standard DO will be the subscription for the device. If no, then there will not be any subscription.

Former Member
0 Kudos

Hi Rohith,

Thanks..!!I have few queries and doubts.Can you please let me know.

1. You have mentioned that you could see data in the pending extract when you set the Device attribute WORKCENTER_ID manually.

So your rule is working correctly.

I can see the Device Attribute WORKCENTER_ID in NWA corresponding to device. I set the value of WORKCENTER_ID manually to say 200012, then i could see the data in pending extract? Is that what you mean when you say set the Device attribute manually. The field is already there..i only enter the field value there.

2. You do not get data when you create new device.

You have to assign SWCV to device and set the Device attribute WORKCENTER_ID. Then you will get the data.

When you create a new device it will have the attribute "WORKCENTER_ID".But you have to fill the value for it.

You mean i need to assign the Device Attribute' WORKCENTER_ID' field value like '200012' everytime i create a device? In my RMM data object (Employee) i have this WORKCENTER ID value already there. Do i need to mapp it everytime?

Thanks and Regards

Devendra

rohith_deraje
Advisor
Advisor
0 Kudos

Hi Devendra..

1-> Yes. Setting WORKCENTER_ID = 200012 manually should work only iff you have the below data in the CDS.

Subgen DO: WORKCENTER = 200012

REGION = NRTH

CUSTOMER DO: CUST_NAME = Anything

REGION = NRTH

With the above data pattern, your rule will be satisfied.

CUSTOMER.NODE.REGION = SUBGEN.NODE.REGION (= NRTH)

SUBGEN.NODE.WORKCENTER_ID = MOBILE.EMPLOYEE.WORKCENTER_ID (=200012).

2->By default the RMM "MOBILE" will have certain attributes like

NAME

USER

TYPE .., etc...

By creating a new cutom group, you add some more attributes to the list.(Ex: WORKCENTER_ID).

When you create a new device, you fill values for all these attributes. Similarly you need to fill valuel for the WORKCENTER_ID.

Regarding data Distribution.

Your rule says distribute CUSTOMERs of NRTH region to --> devices whose WORKCENTER is in the NRTH region.

If you have a common attribute "REGION" in your device and CUSTOMER DO, then you can directly distribute the data to device by simple rule CUSTOMER.NODE.REGION = MOBILE.CUSTOMGROUP.REGION . No need of SUBGEN group in this case.

Since you do not have a common attribute, you are using SUBGEN as a lookup. Your SUBGEN should have a list of Region mapped to WORKCENTERS in that region.

Example data would be as below.

SUBGEN_DO:

REGION WORKCENTER_ID

1. NRTH 200011

2. SOTH 200012

3. EAST 200013

4. NRTH 200014

CUSTOMER_DO:

CUST_NAME REGION

1. AAAA NRTH

2. BBBB SOTH

3. CCCC EAST

4. DDDD NRTH

DEVICES:

DEVICE_NAME WORKCENTER_ID

1. DEVICE_1 200011

2. DEVICE_2 200012

3. DEVICE_3 200013

4. DEVICE_4 200014

During rule evaluation,it look for the REGION in SUBGEN DO matching the region of CUSTOMER. (Ex: AAA and DDDD has region NRTH). It finds two entries with Region NRTH in SUBGEN.

Region NRTH in SUBGEN is mapped to workcenter 200011 and 20014.

So it searchs for the devices which has workcenter as 200011 and 200014 and finds "DEVICE_1" and "DEVICE_4".

Hence DEVICE_1 and 4 gets cutomer data "AAAA" and "DDDD".

Similarly DEVICE_2 gets only BBBB

DEVICE_3 gets CCCC

Hope this clarifies your doubt.

Regards

Rohith

Former Member
0 Kudos

Hi Rohith,

Thanks again for clarifying the issue very nicely!! Really appreciate your help!!

I have exactly the same scenario as you have mentioned in point 2)

I created my rule exactly in the same way as you have explained but do i have to define the workcenter field value everytime in Device attribute in NWA.

I thought when i create the device say DEVICE_1 with workcenter id 200011 in EMPLOYEE RMM Data object data.( Data fetched from R/3) i should get the data in pending extract queue without performing any action. Not sure where i am missing.

Can you please suggest something?Shall i try to create again the whole scenario..

Thanks and Regards

Devendra

AnanthNatarajan
Advisor
Advisor
0 Kudos

Hi ,

Let me also try to give my thoughts, you needn't to define the workcenter field value everytime in Device attribute in NWA.

Defining it when you create the device, it is fine.

Please ensure the following,

1. Devices should be in enabled state

2. DMSCV should have been assinged

3. Rules should be active

Incase if you have not configured your DO as "SYNC_EXTRACT_ENABLED", then the data should come to the pending extract.

Hoping this might be also helpful for you.

Regards,

Ananth.

Former Member
0 Kudos

Hi Ananth,

I have checked the conditions as you have mentioned and all are already in place.

How to check the following which you have mentioned?

"Incase if you have not configured your DO as "SYNC_EXTRACT_ENABLED", then the data should come to the pending extract."

Also you have mentioned the following.

you needn't to define the workcenter field value everytime in Device attribute in NWA.

Defining it when you create the device, it is fine.

You mean i need to define it everytime i create a new Device? but thats not what we want.It should take the data from device attribute i believe.

My Scenario is as follows.

SUGEN DATAOBJECT

WORKCENTERID REGION

2001 AMSTE

2002 EINDH

2003 DENHA

RMM DATA OBJECT

Empid name workcenter

DPHATE DEVENDRA 2002

RMM DATA OBJECT CHILD NODE

Equiptype Equipbrand EMP ID

SCAN PHILP DPHATE

ORDER DATA OBJECT

Orderid Date Time Status EMPID

212138 13.02.2008 22:12:52 X DPHATE

ORDER DATA OBJECT CHILD NODE.

CUSTNAME CUSTID REGION

PMS 3001 AMSTE

EMC 3002 EINDH

ORDER DATA OBJECT CHILD NODE.

EQUIP TYPE BRAND SERIAL NO

XRAY PHILP 9876543210 212125

SCAN PHILP 9876543223 212138

Former Member
0 Kudos

Hi Ananth,

I have checked the conditions as you have mentioned and all are already in place.

How to check the following which you have mentioned?

"Incase if you have not configured your DO as "SYNC_EXTRACT_ENABLED", then the data should come to the pending extract."

Also you have mentioned the following.

you needn't to define the workcenter field value everytime in Device attribute in NWA.

Defining it when you create the device, it is fine.

You mean i need to define it everytime i create a new Device? but thats not what we want.It should take the data from device attribute i believe when ever i create a device.

My Scenario is as follows.

SUGEN DATAOBJECT

WORKCENTERID REGION

2001 AMSTE

2002 EINDH

2003 DENHA

RMM DATA OBJECT

Empid name workcenter

DPHATE DEVENDRA 2002

RMM DATA OBJECT CHILD NODE

Equiptype Equipbrand EMP ID

SCAN PHILP DPHATE

ORDER DATA OBJECT

Orderid Date Time Status EMPID

212138 13.02.2008 22:12:52 X DPHATE

ORDER DATA OBJECT CHILD NODE.

CUSTNAME CUSTID REGION

PMS 3001 AMSTE

EMC 3002 EINDH

ORDER DATA OBJECT CHILD NODE.

EQUIP TYPE BRAND SERIAL NO SO NUMBER

XRAY PHILP 9876543210 212125

SCAN PHILP 9876543223 212138

Thanks and Regards

Devendra

rohith_deraje
Advisor
Advisor
0 Kudos

Hi Devendra,

You can get the data directly on the device by using RECGEN for creating devices. Follow the below steps.

Step1. Create Backend tables with below fields.

TAB1: DEV_NAME (CHAR64)

DEV_TYPE(CHAR30)

WORKCENTER_ID(the TYPE you have defined in the RMM custom group for WORKCENTERID)

ENABLED(CHAR1)

TAB2: DEV_NAME (CHAR64)

DEV_DMSCV(CHAR32)

DEV_USER(CHAR12)

Step2: Import these tables as Reciever Generation DO in DOE with ROOTnode mapping to TAB1 and CHILD node to TAB2.

Step3: Go to RMM cutom group you have created and define a Data Object Association with the reciever generation DO

mapping the fields as below.

Single Value Attributes

DEV_NAME --> STANDARD.NAME

DEV_TYPE ---> CATEGORY.DEVICE_TYPE

WORKCENTER_ID --> CUSTOMGROU.WORKCENTER_ID

ENABLED --- STANDARD.ENABLED

MultiValued Attribute.

DEV_DMSCV --->CATEGORY.DMSCV

DEV_USER --> CATEGORY.USER

I assume that your WORKCENTER_ID is single value attribute. If not move it to TAB2 in step 1.

REGENERATE the RMM.* (important)

Step4: Fill the BE tables with the below sample data.

TAB1: DEV_NAME (CHAR64) == DEVICE_10

DEV_TYPE(CHAR30) == LAPTOP

WORKCENTER_ID == 12001

ENABLED(CHAR1) = X

TAB2: DEV_NAME (CHAR64) == == DEVICE_10

DEV_DMSCV(CHAR32) === "32 bit GUID of DMSCV". (from SDOE_WB, go to SWCV details, GOTO--> Object Directory entry and copy the 32 bit GUID)

DEV_USER(CHAR12) == your user.

Step5: Trigger the load.

Result: A new device should be ctreated automatically with the data you have given with DMSCV assigned and WORKCENTER_ID value filled. Hence you get the data directly on the pending extract.

Alternate Way: Create a device profile and assign DMSCV to it. Set the "WORKCENTER_ID" at device profile.

Assign the device profile to your manually cretaed device.

Note: The device data given above are sample data. Please use the proper workcentrr_id from your data.

Regards

Rohith

akila_sangili
Explorer
0 Kudos

Hi,

To check whether the object is DO_Synchronous _Extract enabled or not, follow the below steps.

Use Data Orchestration Admin and Monitoring portal.

Go to Configuration -> DOE Configuration

Select the Parameter DO_SYNC_EXTRACT

DO_SYNC_EXTRACT is enabled by specifying the SWCV name , data object and by specifying X for the text value.

If DO_SYNC_EXTRACT is enabled and if the rules and devices are active, then the data is made available in the device queues.

If not , then the data is in the pending extract state and extract has to be triggered.

Regards,

Akila Sangili.

Answers (3)

Answers (3)

VikasLamba
Advisor
Advisor
0 Kudos

Hi,

There are a lot of responses here but I will still try to explain the funda to you.

Looks like you are using a complete association. In a complete association we define mapping between two types of keys.

1. Backend Keys: The actual key used for this node in the backend system

2. Synckyes;

The mapping has to be done as follows:

Let's say you have Customer and Order Data Objects

Let's say you have a node in order which should store details of the customer in this order.

Thus your association will be like this

In order data object's cust node you will need to have fields that can refere to

1. The actual BE key of the customer as stored in the Customer data object's cust node.

2. The SYNCKEY for the same customer record.

Therefore your mapping will look as follows:

ORDER.CUST.CUST_ID = CUSTOMER.CUST.CUST_ID and

ORDER.CUST.REFER_SYNCKEY = CUSTOMER.CUST.SYNCKEY_MMW.

Noow the fields to store references for BE keys will ideally be available in your nodes because you will be having the same reference in your backend tables too. But the field to store the reference of the Customer.Cust.SYNCKYE_MMW will not be available in the order's cust node. Thsu at the time of creation of the association DOE generates such a field for you.

Now coming down to the reason why data is not flowing. Most probably the references b/w the two data objects should be properly maintained in your BE else the relation b/w them at the runtime will not be established.

Also if you use a complete association its not important if you load Data Object 1 or 2 first as DOE will maintain the mapping.

Regards,

Vikas

Former Member
0 Kudos

Hi Vikas,

I cannot see the subscription data for my dataobjects in subscription device status.I can see the user details and user authorization dataobject details in subscription option.

I have created one customized RMM and defined different device attributes and mapped it to the RMM data object.

Do you have any idea why this is not working.

Also can you please let me know how to map synchronization device user = user defined in RMM data object (like mesync user in NW2004).In Mobile RMM the sync user is defined as 'USER' but in my RMM data object it is defined as 'EMP_ID'.How to link both?

Thanks and Regards

Devendra

VikasLamba
Advisor
Advisor
0 Kudos

Hi,

As you don't see the information in the subscription status its a clear issue with your DM.

Since you have created a custom group you need to be sure of the following.

The attributes in the receiver generation data object that you want to map to standard receiver attributes need to have same data type. e.g. EM_IS needs to be CHAR12 if you want it to be mapped to USER attribute.

Once your EMP_ID has been mapped to the user attribute you can create a rule where in the device attribute mapping you can map the DataObject.Node.USerFieldto MobileRMM.USER field which will ensure that on activation of the rule all the object instances which contain this user value in the field will be sent to the associated device's outbound queue.

REgards,

Vikas

Former Member
0 Kudos

Hi Vikas,

Thanks!!

I have created a RMM Data object 'EMPLOYEE' and then created a CUSTOM RMM group and defined the fields in CONFIGURATION tab for which i want to define device attribute mapping. In CUSTOM RMM Group i have defined one single value filed attribute 'WORKCENTER ID '. Then i defined the 'data object association tab' under Custom RMM group for device attribute and datobject 'EMPLOYEE' field 'WORKCENTER ID' mapping.

Afterwards generated the custom RMM group.The datatype is defined correctly for above mapping.

I want to filter the data based on WORKCENTER ID defined in RMM employee data object corresponding to my user say 'DEVENDRA'.

Do i need to perform some more step? When i create a device i assume it should check for WORKCENTER ID defined corresponding to my userid in RMM data object.(userid=middleware logon userid) and filter the data further via SUBGEN etc?

Do i need to map my USERID also? or it is not needed?

Thanks and Regards

Devendra

sivasatyaprasad_yerra
Active Contributor
0 Kudos

Data object association concept used only for Receiver Generation DO's. This can't be used in Rule definition. This will be used to prefill the values for the device while downloading Receiver Generation DO.

Subgen DO always works like this:

1. Atleast One of the attribute (ATTR1) should be mapped to Device attribute. (In your case, it is WORKCENTRE_ID)

2. One of the attribute should be mapped to Standard DO.

At runtime,

Based on the device value for attribute WORKCENTER_ID, corresponding record will be picked from Subgen DO (Based on 1st condition) and subscription value will be picked from the attribute of Subgen DO based on 2nd condition.

So, Please check whether you have modelled in this way.

VikasLamba
Advisor
Advisor
0 Kudos

Well Devendra,

fro your description I understand that your receiver generation object has EMPLOYEE field defined and you have additionally defined a WORKCENTRE_ID fieldas a new device attribute using RMM custom groups. Also you have done the association between these two fields.

But now to use this at runtime you need to do two more steps.

1. Your Receivers have to be created now using the receiver generation data object EMPLOYEE. Thus the BAPI wrappers that supply data to this object need to fill the value i the EMPLOYEE field properly.. This will ensure that your devices have a proper value in the attribute WORKCENTRE_ID.

2. In your Distribution Model you now need a rule which makes use of this WORKCENTRE_ID attribute on the device. The actual standard data object should ideally be having some field which will contain the information about the workcentre and your rule should use this field in the standard object to map it to the device attribute workcentre id.

If the above two pre-requisistes are working then on rule activation your device should get data.

Regards,

Vikas

AnanthNatarajan
Advisor
Advisor
0 Kudos

Hi Devendra,

Please check the data maintained in the backend. In Backend you should have maintained the referential integrity between these two data objects (i.e. in backend F1 field should be present in both the DO1 & DO2 backend tables & should have the same values as well). Then only it will fill the Association key in the CDS table.

Regards,

Ananth.

rohith_deraje
Advisor
Advisor
0 Kudos

Hi,

Can you please try cleanup and loading again.

Please load the associated DO first.(i.e DO2) and then DO1. this should solve your problem of filling ASSOCIATION sync keys.

After loading deactivate and activate the rule from NWMA portal to get data on device.

Regards

Rohith