Associated objects

I have looked at the documentation for the KeyAssociatedFilter, KeyAssociator etc but see some limitations with them (or perhaps I have missed something obvious)...
In our case we have some classes were the parent object contain keys to a number of children. Nor the child objects or the child keys are aware of who there parent is (In the database the situation is of course the opposite but in the data model we only need to traverse from parent to child and in order to avoid redundant storage/updates we only want that direction represented).
I belive the association feature would become more useful if it was possible to handle both parent / child & child / parent relations and if the associator had access to both the key and the object when extracting the parent or child keys.
Best Regards
Magnus

Hi Magnus,
Coincidentally, this was the topic of discussion here yesterday (brought up by the Partition Affinity doc that we just finished); there is a tracking issue (COH-433) on the topic. Unfortunately, at present, the easiest way to get access to parent and child information within a single context is to use an Invocable object (via InvocationService) to directly access the backing map.
The associator pattern unfortunately has to rely only on state in the key (as we don't have an explicit "const" attribute for state held in the value).
Jon Purdy
Tangosol, Inc.

Similar Messages

  • Error "Associated object BUS20001 cannot be opened"

    Dear Experts,
    I have workflow task group on home page of web client ( i.e. WEB UI )
    Whenever any customer fails a credit check, a workflow is triggered and a task is shown under this workflow task area on home page.
    On clicking the task, it opened the workflow overview page (component GSWIDET , view DetVS) where you see the workflow details view and other assignment blocks. There is execute button available on the toolbar. When i click the execute button, it should ideallly open the associated object (which ia sales order in my case ) but it gives me error as "Associated object BUS20001 cannot be opened;". This error is displayed in std. error display area on webclient.
    Also under Associated Objects Assignemnt block on this overview page, it corretly displays the associated Sales Order which triggered the work flow, but when i try to open it by clicking on the sales order number (hyperlinked), it does not open the same rather i get the same error as "Associated object BUS20001 cannot be opened;"
    When i checked in backend GUI ( transaction SBWP >>Inbox ) it works fine.
    While debugging i found that in Function Module "CRM_CT_CUST_IBWF_GET_OBJ_CUST"  , it find that for object type BUS2001 , no customization flag is set . and hence it gives the above error.
    Can anyone please guide me as how to resolve this error ?  What is the way to define Object customization ?
    Kindly help
    Immidiate help is higly appreiciated .
    Thanks A lot.
    Regards,
    Suchita
    Edited by: suchita P on Sep 2, 2008 5:50 PM

    Solved after implementing SAP NOTE 1250869

  • Why am I getting "Associated object cannot be opened"?

    I have created a task that utilizes method CRMSALESPROCESSEDIT of standard BOR object BUS2000115 on our CRM sandbox.  As a test, I launched the Webclient UI from transaction BSP_WD_CMPWB by clicking on the Test pushbutton for component CRM_UI_FRAME.  I can see my task in the CRM Task List.  However, when I try to execute the task I receive the message, "Associated object cannot be opened; contact your system administrator".
    According to the second edition of the text "Practical Workflow for SAP", I "can use every standard BOR object type that is enabled for dynamic navigation for your own workflow without further customizing and implementation effort".  Accordingly, I checked in table BSP_DLC_OBJ_TYPE and found object BUS2000115.  So why am I getting the error message?
    I tried maintaining Object Specific Navigation for this method in the IMG but it did not make a difference.  But I might not have maintained it properly.
    When I execute this task in the Business Workplace of the SAPGui it takes me to the "Search for Business Transactions" screen.
    I am on version 'SAP CRM ABAP 6.0', with SAP_ABA and SAP_BASIS = 700.  SAP_AP = 700.  PI_BASIS = 2006_1_700.  ST-PI = 2008_1_700.  BBPCRM = 600.
    Thanks for your help.

    Hi Lars,
    I will do what I can to help but I am going from memory.  Our sandbox has been rebuilt several times in the the last few years.  Plus we only use our SAP CRM system for channel managment now.
    I think that I instantiated an instance of the business object BUS2000115 in a previous step of the workflow with a custom task that utilized method 'GENERICINSTANTIATE' of object 'SYSTEM'.  I bound that instance to a workflow container object (probably called BUS2000115).
    In a subsequent step I think that I failed to explicitly bind BUS2000115 to &_WI_OBJECT_ID&.  This was in the definition of the step.  In other words, from the workflow builder (transaction PFTC_CHG) I clicked on the "Workflow Builder" pushbutton.  Then I double clicked on the step where I wanted to change the sales transaction.  I entered the appropriate task and step name for changing the sales transaction.  Then I clicked on the Binding pushbutton just below the "Step Name".  In the top table control on the popup I entered &BUS2000115& on the left and &_WI_OBJECT_ID& on the right.
    Once I did that then the error message was resolved.  Hope that helps.
    Cheers,
    Paul

  • Indexing on associated objects

    Greetings,
    I've been doing some performance testing of a cache based query vs vanilla sql queries. In order to accurately compare a cache query to an indexed sql query, I've been attempting to create an index... For example, a Vehicle with an associated Account with an associated Address. I would like to be able to index the Vehicle so that I can find all Vehicles in a given state. In the process of creating this index (which may need to load an Account and/or Address from the database for each Vehicle) I've managed to deadlock the cluster before the indexing operation completes. This happens whether or not I try to index as I'm loading Vehicles or by applying the index after the cache is already loaded.
    I assume I am probably doing something wrong in my ValueExtractor which results in the deadlock. More generally, is there a recommended approach to indexing fields on associated objects?

    Thanks for your quick response Jon.
    Yes, my ValueExtractor does make a call back into the cache service... either realizing the account out of the cache or loading it from the database. I bet that's why I'm deadlocking..
    As far as the two patterns go...
    1.) is a little scary to me with stale data, plus the amount of storage overhead it would impose on the cluster.
    2.) is interesting, I'll have to work up a test with something like this. One issue is that I intentionally didn't preload the other caches. We would probably overflow our heap if we loaded all of the Addresses in our db. So I would have to be doing a combination of sql and cache queries.
    Thanks for the pointers, I'll try it out.

  • Dropping schema and associated objects

    I have just had a request to drop a particular schema with the associated objects...how do i go about it

    Hi,
    Its simple, use the follow sintaxe:
    DROP USER <schema> CASCADE;
    I hope help you!
    Jonathan Ferreira - Brazil
    http://www.ebs11i.com.br

  • Problem on attaching a object that associated object is new

    HI,
    I have problem that when attach a existing 'A' instance but some new
    instances are added on the associated object of the 'A' instance. Kodo
    throws exception as below when I attach the object. Please help.
    Exception
    ========
    [java] Caused by: kodo.util.ObjectNotFoundException:
    kodo.util.ObjectNotFoundException: The instance of type
    "com.infocast.shk.server.core.domain.data.AuditLog" with oid
    "com.infocast.shk.server.core.domain.data.AuditLog-1085022477351"
    no longer exists in the data store. This may mean that you deleted the
    instance in a separate persistence manager, but this persistence manager
    still has a cached version.
    [java]
    FailedObject:com.infocast.shk.server.core.domain.data.AuditLog@de8a94
    [java]
    FailedObject:com.infocast.shk.server.core.domain.data.AuditLog-085022477351
    [java] at
    kodo.util.ObjectNotFoundException.writeReplace(ObjectNotFoundException.java:
    55)
    [java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
    Method)
    [java] at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
    [java] at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
    ..java:25)
    [java] at java.lang.reflect.Method.invoke(Method.java:324)

    The "javax.servlet.ServletContextListener" receives notification that a context in your application server becomes initialized. This would be your best bet. Though in order to start a Thread in a J2EE web application, you will have to edit your application server's policy file.
    To use a ServletContextListener, you first implement its interface (see the J2EE API), and add a listener section to your web.xml file:
    <listener>
         <listener-class>your.ContextListenerImpl</listener-class>
       </listener>

  • Viewing associated objects in a 10g Container

    Hello again - another question about migrated Designer 6 content in Designer 10g.
    If I open a migrated application system via the RON - now a Container - I can see the kinds of objects that were created in it, such as Business Functions, Datastores, Entities, Table Definitions, etc. where at least one of these exists.
    However, if I create a new Container, I don't see options to create Entities (and things the next level down like Attributes, Sub-Entities, etc.) and Table Definitions (and the things below like Columns). I recall in Designer 6 that I could right-click on these to create the appropriate object - they appeared as an option even if I hadn't created any before, and this provided an idea of all the kinds of object you could create.
    Looks like this is no longer the case in Designer 10g which seems unintuitive to me. Am I missing something?
    Thanks, Antony

    Its not a big thing.
    In the RON just select the application and right click. then you can list out all of the new items that you desire.
    they removed the default of entity and other stuff just to unclutter the navigator. It is all still there.
    Michael

  • Are there two type of associations between objects or are there just different representations?

    I've been spending some time on 're-tuning' some of my OOP understanding, and I've come up against a concept that is confusing me.
    Lets say I have two objects. A user object
    and an account object.
    Back to basics here, but each object has state, behaviour and identity (often referred to as an entity object).
    The user object
    manages behaviour purely associated with a user, for example we could have a login(credentials) method
    that returns if successfully logged in or throws exception if not.
    The account object
    manages behaviour purely associated with a users account. For example we could have a method checkActive() that checks if the account is active. The account object checks if the account has an up-to-date subscription, checks if there are any admin flags added
    which would make it inactive. It returns if checks pass, or throws exception if not.
    Now here lies my problem. There is clearly a relationship between user and account,
    but I feel that there are actually two TYPES of association to consider. One that is data driven (exists only in the data/state of the objects and the database) and one that is behaviour driven (represents an object call to methods of the associated object).
    Data Driven Association
    In the example I have presented, there is clearly a data association between user and account.
    In a database schema we could have the following table:
    USER_ACCOUNTS
    id
    user_id
    When we instantiate the account and
    load the database data into it, there will be a class variable containing user_id.
    In essence, the account object
    holds an integer representation of user through user_id
    Behaviour Driven Association
    Behaviour driven associations are really the dependencies of an object. If object A calls methods on object B there is an association going from A to B. A holds an object representation of B.
    In my example case, neither the user object
    nor the account object
    depend on each other to perform their tasks i.e. neither object calls methods on the other object. There is therefore no behaviour driven association between the two and neither object holds an object reference to the other.
    Question
    Is the case I presented purely a case of entity representation? The association between user and account is
    always present, but its being represented in different ways?
    ie. the user entity
    has an identity that can be represented in different forms. It can be represented as an object (the instantiated user object)
    or as a unique integer from the users table in the databases.
    Is this a formalised way of recognising different implementations of associations or have I completely lost my mind?
    One thing that bugs me is how would I describe the differences in UML or similar? Or is it just an implementation detail?

    It s a bit hard to fully understand what is problem actually in :). I think you are a bit mixing some concepts.
    Entities representation
    At first, all models we are implementing is just a simplification of some real-world objects and environment. Your conceptual entity user corresponds to some real user and contains some attributes we are intresteing in according to application needs. Thus there
    are some models we have to implement.
    Thus, all user defined by DB schema, user defined by class, and probably user defined by some presentation logic is normally present some real-world user. It is only about implementation purposes, we have to store, view and manipulate with user.
    On the other hand let's take a look on Single Responsibility Principle. It tells us to use every class or program unit just for certain needs. Using single user (class or program unit) for storage and presentation needs violates this principles.
    the user entity has an identity that can be represented in different forms. It can be represented as an object (the instantiated user object) or as a unique integer from the users table in the
    databases.
    So, the answer is yes.
    Associations and dependencies
    I think it is more about terminology than about nature of problem. But in general you are right - there are different types of object realtions (especially, I will use other terms to list it). For example "referencing", "creation", "using",
    "coordinating", "storing", "inheriting" (!) ....
    According to this, user instance references account instance. And A instance uses B instance.
    For most cases it is good enough to distinguish just "referencing" and "using". It is what you've just written. It's enough common and abstract to be understood by other person when talking about domain, e.g.
    But sometimes, to emphasize some aspects you should describe relations in a way like "A dispatches ensemble of Bs" or "R stores X to database". It's more applicable for specification and modelling.
    Is this a formalised way of recognising different implementations of associations or have I completely lost my mind?
    To call something formalized I suggest to look at UML.
    UML and other modelling instruments
    One thing that bugs me is how would I describe the differences in UML or similar? Or is it just an implementation detail?
    There are a lot of UML models (diagrams). Let's take a look at most well-known - Classes and Objects Diagram.
    It's interesting that UML allows to present all type of object relations, and moreover allows to decide "is it just an implementation detail".
    Martin Fowler describes 3 levels (or point of views) of understanding of Classes Diagram.
    Conceptual. Diagram is considered as high-level domain model, independent from implementation.
    Specification. Diagram is considered as high-level realization model containing of interfaces.
    Implementation. Diagram is considered as low-level technical paper containing interfaces, classes, references, other types of relations.
    Is this a formalised way of recognising different implementations of associations or have I completely lost my mind?
    Yes, you have to fix some point of view and choose appropriate relations set.
    For example, let's take a look at Classes Diagram and consider it from an implementation point of view. UML defines 3 type of relations (and propose corresponding means to its designation):
    Association
    Association corresponds "referencing" between instances.
    Dependency
    Dependency combines all types of relations such as "using", "creating", "storing", etc.
    Inheritance.
    Inheritances as a fundamental OOP instrument is presented by UML in a distinct way. It's more about classes than about instances, but also one can say that A instance inherit attributes of B instance. So, that's ok.
    First and second points of view on Class Diagram, as I remember uses only one type of relation unifying both associations and dependencies and is designated like association (no inheritance, of course).
    Also, UML proposes Objects Diagram which is same to Classes Diagram, but fits better for runtime modelling needs.
    Finally, a choice of a set of relations taken into consideration depends on a context and point of view. UML provides some ones.

  • Custom object in work flow not opening in CRM webclient ui

    Hi,
    I have designed a workflow in SAP Ecc 6.0 CRM.
    There are some work items and a single custom popup screen in this workflow.
    This popup screen is used to get data and pass to the subsequent workitem.
    This screen opens in SAP CRM in the workflow inbox (SBWP) , and works as expected.
    Also, mails are sent to the SAP user IDs of the concerned people through the workflow (as per process).
    At this stage, we have done all settings reqd in SWU3.
    However, when this entire workflow process is trigerred using the CRM WEBCLIENT UI, the following problems occur:
    1) There are no mails received at any stage in the workflow inbox.
    2) When the work item for the popup screen appears in the WebUI workflow inbox, and it is clicked, there is an error.
    "Associated object cannot be opened. Contact your system administrator"
    So, the customised pop-up does not open in this CRM WEBUI workflow inbox at all.
    Question:
    1) How do we ensure that the mails are received in the CRM WEBUI workflow inbox? Are there any settings to be done for that?
    2) How can we make the custom popup open in the CRM WEBUI workflow inbox?
    Regards,
    Sachin

    Hi,
    Please check IMG path.
    The path CRM->Basic functions->Worklists->Define Alert Inbox and Workflow Inbox->Define Object-Specific Navigation
    Input like
    BOR   Your_Object   Your_Method  BT_XXX  OPEN
    Hope it work.
    Deripmav

  • Custom object in work flow not opening in CRM webui

    Hi,
    I have designed a workflow in SAP Ecc 6.0 CRM.
    There are some work items and a single custom popup screen in this workflow.
    This popup screen is used to get data and pass to the subsequent workitem.
    This screen opens in SAP CRM in the workflow inbox (SBWP) , and works as expected.
    Also, mails are sent to the SAP user IDs of the concerned people through the workflow (as per process).
    At this stage, we have done all settings  reqd in SWU3.
    However, when this entire workflow process is trigerred using the CRM WEBUI, the following problems occur:
    1)  There are no mails received at any stage in the workflow inbox.
    2)  When the  work item for the popup screen appears in the WebUI workflow inbox, and it is clicked, there is an error.
    "Associated object cannot be opened. Contact your system administrator"
    So, the customised pop-up does not open in this CRM WEBUI workflow inbox at all.
    Question:
    1) How do we ensure that the mails are received in the CRM WEBUI workflow inbox? Are there any settings to be done for that?
    2) How can we make the custom popup open in the CRM WEBUI workflow inbox?
    Regards,
    Sachin

    Hi,
    Please check IMG path.
    The path CRM->Basic functions->Worklists->Define Alert Inbox and Workflow Inbox->Define Object-Specific Navigation
    Input like
    BOR   Your_Object   Your_Method  BT_XXX  OPEN
    Hope it work.
    Deripmav

  • Why use key-partitioning and key-associator features?

    Why use key-partitioning and key-associator features?
    What kind of applications are suitable for using key-associator and key-partitioning features?
    Could you give me some example?
    Thank you

    So the typical way is to use KeyAssociation. This is a single interface that uses a method
    public Object getAssociatedKey();
    I believe this works on the ClusterService level (rather than say the Cache). So, say you have a Client and an Account cache where a Client can have multiple Accounts. Now both the Client and the Account object will implement KeyAssociation and return the client object as the AssociatedKey. This will cause these associated objects to live on the same partition.
    Now you can do some clever tricks since you know these are on the same partition. These include using the BackingMap and EntryProcessors / InvocationService / Aggregators to return all the AccountIds associated with a client account (essentially a join).
    Unfortunately, these are pretty advanced Coherence features so it is worth building them in a testcase first and getting them to work before you integrate them into your application.
    Best, Andrew.
    PS. You could also use the KeyPartitioningStrategy, but I prefer the KeyAssociation (as do most people).

  • Traverse object tree from the middle with reflection

    Hi.
    I am new to using reflection in more complex scenarios, and would like some advice.
    If I get back a partial object tree, from an ORM layer for example, where I have a series of associated objects, for example Employee, which has a Department attribute, linking it to its parent department, and a collection of child address objects, is it possible to traverse all objects attached to Employee, calling a given method on them, if they extend a certain class?
    Could someone show an example of doing this, or describe how it could be done?
    Thanks for your help.

    You have an arbritrarily complex hierarchial collection whith a unknown structure.
    You wish to apply a method to all references in the tree.
    There are only two basic storage mechanisms in java; reference or array.
    Setup: Keep a hashtable/dictionary of each visited reference to avoid endless recursion.
    Method, called Doit() which takes an Object 'n'
    - If n is null return
    - if n is already in hashtable return
    - Add to hashtable
    - if n is of type base class then call target method (might want to decide about thrown exception.)
    - reflect through n for members which are either Object or array (base type Object)
    - If single member is Object then call Doit
    - If array recurse through each item and call Doit()

  • Differences Between Object And System Privileges

    Hi,
    Whats the difference between object and system privileges in oracle?
    Cheers
    Paul

    System Privileges
    A system privilege is the right to perform a particular action, or to perform an action on any schema objects of a particular type. For example, the privileges to create tablespaces and to delete the rows of any table in a database are system privileges.
    Schema Object Privileges
    A schema object privilege is a privilege or right to perform a particular action on a specific schema object:
    For example, the privilege to delete rows from the departments table is an object privilege.
    Some schema objects, such as clusters, indexes, triggers, and database links, do not have associated object privileges. Their use is controlled with system privileges. For example, to alter a cluster, a user must own the cluster or have the ALTER ANY CLUSTER system privilege.
    A schema object and its synonym are equivalent with respect to privileges. That is, the object privileges granted for a table, view, sequence, procedure, function, or package apply whether referencing the base object by name or using a synonym.
    Granting object privileges on a table, view, sequence, procedure, function, or package to a synonym for the object has the same effect as if no synonym were used. When a synonym is dropped, all grants for the underlying schema object remain in effect, even if the privileges were granted by specifying the dropped synonym.

  • Modifying Object type

    Hi
    How do I modify object type without droping table containing that object?
    Thanks a lot

    You haven't given a great deal of information about which version of Oracle you're talking about.
    However the simple answer is if it's not version 9i then you're going to have huge problems with object evolution, no version prior to 9i has allowed you to easily modify an object and maintain any data in associated object tables (there ARE horrendous workarounds but if you can move to 9i it WILL save you a tremendous amount of headaches/hacks).
    John.

  • Getting "Method" objects

    hi, i'm trying to encapulate a method in an Object and utilize the methods in the Method Class.
    eg:
    void AMethod() {
    I want to get associated object for AMethod() and call methods in the Method Class with it. ie:
    object = AMethod.invoke();
    thanks

    http://java.sun.com/docs/books/tutorial/reflect/object/invoke.html

Maybe you are looking for

  • Unable to initialize HDV deck.   Please make sure a deck is connected....

    Ok, this is driving me nuts. I've done this before. I have a Canon HV20. I spent HOURS and HOURS on Sunday (two days ago) capturing 1.5 hours of video (DV, not HD) from my HV20 using iMovie09. Then spent more hours burning a DVD using iDVD09. Results

  • How do you have the bottom stroke of a table show up using Table Styles and Cell Styles only?

    I am using InDesign CS6, and I want to create a Table Style that has the bottom stroke show up, but does not have a table border, such as: However, whenever I try to change the Table or Cell strokes so that the last stroke shows up, I get the entire

  • HT202157 ATV3: How to set audio out to SPDIF?

    After updating the Apple TV3 to software version 5.2.1 my amplifier no longer plays the music that should be coming from the Apple TV. I did nothing with the wiring or cables, the only thing that changed is the software update, everything worked fine

  • Log File Lost

    Hi I am in the middle of the upgrade. Forgot to make the recovery to simple. Log file grew upto 15 gigs. Ran out of space and the upgrade errored out. I was finding a way to get rid of the log file to create more space. Unfortunately, I went through

  • Premiere Pro CS6 still much faster than Premiere Pro CC

    I am currently editing videos that were captured using screen recording software. The files have subsequently been converted to .WMV clips with a data rate of exactly 4.4 MB/sec (that's Megabytes/second). This data rate includes both video and audio.