Attribute categorization in the category modeler - IC WebClient

Hi,
in a customer project, I have created customer-specific categorizations in SAP CRM 5.0 (catalog, code groups and codes).
The first level contains in the category modeler the car brands (e.g. FIAT, BMW, AUDI; they are also assigned as subject codes).
The second level contains the parts (e.g. seats, enginges; they are also assigned as subject codes).
The last level contains the specific configuration of the parts in level 2.
Example:
Level 1: FIAT
Level 2: SEATS
Level 3: LEATHER
Level 1: BMW
Level 2: SEATS
Level 3: LEATHER
General settings are maintained on the tab General Data:
Identifier: AUTOMOBILE
Name: Automobile categories
Description: Automobile categories
Status: Draft
Logical Structure: Attributive categorization
Authorization Mode: AND combination
Remark: In the CRM customizing following settings are in subject profile:
Catalog: Y1 Car brands          Level 1
Catalog: Y2 Parts               Level 2
Catalog: Y3 Config               Level 3
In the category modeler I can’t assign a duplicate entry. What must I do to make attributive categorization?
Thanx and regards
Alex

Hi,
I think you will have to maintain the same attributes at each level for duplicate selection .
Main Node if say is Product>subnode>seat--->Leather
Adjacent Node        Product 2 -->subnode >seat>Leather
Status release and save (24hrs)
with this you will be able to select seat and leather in both product categories
Hope this helps
Cheers!
Raj

Similar Messages

  • Problem with naming of FK attribute when generating the relational model

    I'm usign Data Modeler 4.0 and I have a problem when I engineer from Logical model to Relational model.
    I have a table SUBJECTS with an unique identifier called ID (pk) and a table BOOKS related to SUBJECTS with a relation named FK_SUBJECT_BOOK and FK attribute named ID_SUBJECT.
    When I engineer to Relational Model, it transforms the original FK attribute ID_SUBJECT of the Logical model into an attribute called SUBJECTS_ID in the Relational model.
    How can I mantain the name defined in the Logical model also in the Relational model, without using abbrevation and without applying name translation when generating the relational model?
    Thank you

    I have already tried it. The problem is that if I check the option you mention, then it uses the pk as it is in the related table creating attributes like ID1, ID2, ID3 and so on for all the relations you have.

  • Service Desk with IC WebClient: Category Modeler not available

    Hello,
    We are currently implementing a Service Desk Application based on SAP Solution Manager. Therefore we are using the article "Implement an ITIL Employee Service Desk with IC WebClient" of "www.CRMExpertOnline".
    One of the steps, which are described in the article describes how to Categorize incidents with the Category Modeler. It says that the Category Modeler is available trough BSP Application CRMM_ERM_CAT.
    Unfortunately this SAP-Application is not available on our system.
    Our System Data:
    SOFTWARE COMPONENT               RELEASE                    LEVEL               HIGHEST SUPPORT PACKAGE          DESCRIPTION
    SAP_BASIS                                        700                              0012               SAPKB70012                                        SAP Basis Component
    SAP_ABA                                             700                              0012               SAPKA70012                                        Cross-Application Component
    PI_BASIS                                        2005_1_700          0012               SAPKIPYJ7C                                        PI_BASIS 2005_1_700
    ST-PI                                                  2005_1_700          0005               SAPKITLQI5                                        SAP Solution Tools Plug-In
    SAP_BW                                             700                              0014               SAPKW70014                                        SAP NetWeaver BI 7.0
    SAP_AP                                             700                              0009               SAPKNA7009                                        SAP Application Platform
    BBPCRM                                             500                              0009               SAPKU50009                                        BBPCRM
    CPRXRPM                                             400                              0009               SAPK-40009INCPRXRPM                    SAP xRPM/cProjects/cFolders 4.00 (ABAP)
    BI_CONT                                             703                              0005               SAPKIBIIP5                                        Business Intelligence Content                    
    ST                                                       400                              0012               SAPKITL422                                        SAP Solution Manager Tool                            
    ST-A/PI                                             01I_CRM500          0000         -                                                                 Application Servicetools for CRM 500         
    ST-ICO                                             150_700                    0009               SAPK-15079INSTPL                         SAP Solution Manager Implementation Cont
    ST-SER                                             700_2006_2          0003               SAPKITLOK3                                        SAP Solution Manager Service Tools
    Does anybody know where I can find/download the category modeler-application?
    Thanks in advance,
    Andreas

    Hello Andreas,
    The question is that  CRMM_ERM_CAT is an application, also a transaction but this is not the name of the associated BSP I think, this belongs to component CRM-PCF more than Solution Manager.
    I have seent some messages speakin about to call:
    http://server:port/sap/bc/bsp/sap/crm_bsp_frame/entrypoint.do?
    appl=CRMM_ERM_CAT
    Sorry! I can not tell you more about this, regards,
    Dolores

  • USAGE of Logical structure and authorization mode in CATEGORY MODELER

    Hi,
    I am trying to figure out the relevance and usage of the logical structure in the category modeler i.e. hierarchial or attributive. As per the description the hierarchial categorization should not allow duplictae categories but we are able  to create more than one category with same codes i.e. duplicate categories. Please let me know the difference in the functionality of the two category - logical structures.
    Secondly I also want to know what is the usage of the authorizatio mode i.e. either OR or AND.
    Thanks and Regards,
    Jai Mishra

    Hi Andrez,
    Welcome to SDN. This is the standard way LO Cockpit works. The data source will be able to extract the load only from setup tables and then the deltas are based on the init based on the setup tables. I have not tried this. I am sure that you can extract data from R/3 into other datawarehouse systems (other than BW).
    Instead of this standard LO way of extraction, what I would do is to write an interface program (RFC FM or BAPI) from R/3 which would read the data directly from the database tables and put them in a queue or put it in a common area as a file. The other DW system would pick up this and post them. If you have a middleware between your R/3 and the third part (dw) system, this becomes even simpler as the data transfer will be handled by the middleware. The deltas can be handled programatically based on the date and the time stamp. Think about this solution. Hope it helps.
    Thanks and Regards
    Subray Hegde

  • Categorization schema - Update category codes in old transactions

    Hello all,
    How can I update older CRM cases to reflect category codes belonging to an Active categorization schema? Any custom development needed?
    Thanks
    JD

    Hi JD
    Very simple...just cannot be done (or should I say shouldn't be done).
    The Category Modeler is ruled by version control.
    Effectively it says, when was this Transaction Created (Date & Time), therefore what Category Modeler version was active at this Date & Time. For the Active version then only allow the values which made up the Category Modeler.
    However, there is a way to trick the system. In Transaction CRMD_ORDER you can view your transactions and you'll be able to select the required values you seek as their is no version control logic present in this function.
    HOWEVER...certainly in our case we have serious issues with our BW Uploads when this is done. As our Category Modeler extractor cannot determine how to match the Category selected to the actual Category Modeler.
    My advice...DO NOT TRICK THE SYSTEM...stick with the way it was designed.
    Regards
    Arden

  • Can we update the Category attribute values of a file

    Can we update the Category attibute values of a file with out checkout the file?
    I have set the version configuration to folder and try to update the category attribute values of a file under that folder,
    It is asking to checkout the file before modifying the category attibute values.
    Is it required to checkout the file before modifying the category attribute values of that file?
    Is there any way to update the category attribute values without checkout the file?
    Please help on this

    One of the ways i can think of is using Batch Loader script for large number of files. Mention such files in Batch Loader script, and it will update category and all meta-data required in terms of next revision.
    In case number of files are less manual checkout and check-in will help.

  • Modifying Category Attributes without bumping the version of a versioned do

    Hi,
    I was wondering if anybody knows how I can make a change to a document's category attributes without having the document bump up a version.
    I have an Event Handler that detects specific events where I am required to change a couple of attribute values.
    The document itself could have versioning turned on explicitly or it could have inherited the feature via the folder. Either way, I'd like to shut down the versioning for a moment, make the change and re-set it to normal operation.
    Thanks
    Winston

    Hi Winston,
    Once the file is under version control and checked-in, there is no way to make a subsequent change(s) without causing a new version to be created.
    One option you could do from your event handler after changing the metadata (which causes a new version to be created), is to remove the old version, then look to update the new version's creator/lastmodifier with the old version's details.
    As the code above may likely re-trigger your event handler, you may need to some how flag the file (using metadata) so as to be able to determine whether the new version resulted from the event handler rather than end-user so as to be able to skip processing.

  • Associating attribute dimensions with the standard dimension in EIS

    Hi... we need to bring 2 attribute dimensions in to the Metaoutline of EIS.These 2 attribute dimensions must be associated with lev 0 member of the standard dimension.how to achieve in EIS?
    The current status: we did the olap model by mapping all the dimensional tables with the fact table and we are struck up how to bring the 2 attribute dimensions in to the model screen and association with standard dimesnion.
    The table structure for the standard dimension is
    column1/Gen-1     column2/Gen-2-Alis     consolidation     col3(Attr)     colu 4(Attri)
    Reason-1     Reason-1-extension               
    Reason-2     Reason-2-extension               
    Reason-3     Reason-3-extension          
    col3 and col4 are attributes to be associated with column2.
    Pls guide us the approach to be done in EIS..

    Graham,
    This is definitely a supported feature in EIS/9.3.1/ASO. I have many models with this type of structure. How you set it up can vary. Usually my Attribute Hierarchies are not that deep, only two to three levels, maybe four in a rare case, so I don't usually use a parent child table to set up the hierarchy (I'm not saying that it won't work, it might, I haven't tried, but same steps should apply). In a typical model I will have my stock table which has a buyer field. Then in another table I will have my attribute structure which will have columns for buyer, teams, and categories.
    In EIS OLAP model, you add your attribute hierarchy table and use a join to link it to the main stock table, joining on the buyer field (you are now going from a "star" schema to a "snowflake". Go into the properties and make sure you define all the columns as "Attributes".
    Then in Metadata model, drag your categories attribute onto the outline, then drag the teams and set it as a child of categories and finally drag buyer and set as child of teams. You only set the attribute association for the buyer back to the base dimension.
    When you run your dim build it will set up your attribute dimension correctly.
    Some things to keep in mind, make sure you have a process that ensures for every stock code you have in the main table, you have a matching one in your attribute dim table.
    Sometimes, depending on how much manipulation I need to do, instead of joining the tables in EIS I will go back to relational source and create a view that joins the two tables together, then in my OLAP model, I have one table that has three attribute columns, one column for the buyer and then the other two for team and category, from that point setting up in metadata model is the same.
    Good luck, let me know if you run into trouble.

  • Applications in category modeler

    Dear experts,
    So far, I haven't seen any restrictions when using the same category modeler schema for 2 different applications (such as case management and service order).
    It just means that we use the same categories.
    Do you know if it is allowed? Are you aware of any issues if we use the same schema for different applications?
    Thanks in advance
    Stephanie

    HI Stephanie,
    Once you design a Schema there is a categorisation Logic behind that and if you want the same Logic to be applicable in other documents also for eg : Service Ticket,Interaction record,compliant...etc you can assign them in the Categorization contexts.
    The Schema is used to categorize a CAll so that we have a better idea about the further flow of the call .SAP has given the flexibility of either using the same schema for all docs OR customized schemas as desired for every doc.
    IMG>CRM>ICWEB>Business Transactions>Define Catgeorization Profile
    Hope this answer's yur call
    Please reward if it helps
    Cheers!

  • Attribute Categorization ???

    Hi Experts,
    We have to create 5 level categorization for our complaints. Can someone provide experts inputs on how to create Attribute Categorization, so that we can reuse the codes (Category/Code Group/Codes).
    Thanks in anticipation.....
    Regards,
    Sajan

    Hi Taner and Sajan
    Categorization can be of Two types
    1.Heirarchial
    2.Attributive
    first one is strictly heirarchial and has unique code for every categorial node.
    whereas the attributive categorisation may not be strictly heirarchial For eg :
    Foodstuffs
    ¡        Packaging
    Stable
    Unstable
    ¡        Taste
      Tasteful
    Not enjoyable

  • Powerpivot Error on Refresh -- "We couldn't get data from the data model..."

    I'm using Excel 2013 and Windows 8.1.  I have a spreadsheet I've been using for over a year, and I've just started getting this error message when I try to refresh the data.
    "We couldn't get data from the Data Model.  Here's the error message we got:
    The 'attributeRelationship' with 'AttributeID' - 'PuttDistCat9' doesn't exist in the collection"
    Any idea how I can fix this problem?  I haven't changed anything related to that particular attribute.  All the data is contained in separate sheets in the workbook, so there are no external sources of data.
    Thanks.
    Jean

    Thanks for all the suggestions.
    I found a slightly older version of the spreadsheet that still refreshes properly, so I don't think I have any issues with the version of Excel or Power Query.  (I've had this same error before, and I believe I applied the hotfix at that time.)
    I think this problem started after I updated a number of the date filters in the pivot tables.  I haven't made any changes to the data model, and the only updates I've made were to add data (which I do all the time), and to change the date filters on
    the pivot tables.
    As suggested, I added a new pivot table querying one table (the table with the attribute that shows up in the error message), and it worked fine.  I can also refresh this pivot table.
    Then I tried adding a pivot table which went against several tables in the data model (including the table in question).  The pivot table seemed to return that data properly.  However, when I tried to refresh it, I got the same error message ("we
    couldn't get data from the data model..."). 
    Dany also suggested running the queries one at a time to see which one is in error.  Without checking all the pivot tables, it appears that any which use the table "HolePlayedStrokes" generate the error (this is the table with the attribute
    mentioned in the error message).  Pivot Tables without that particular table seem to refresh OK.  Unfortunately, that is the main table in my data model, so most of the pivot tables use it.
    Any other suggestions?  I'd be happy to send a copy of the spreadsheet.
    Thanks for all the help.
    Jean

  • Paradigm Shift: the WDP Model & the Power to Bind

    As a developer coming from an OO/java background, I recently started to study and use the Java Web Dynpro framework for creating enterprise portal applications.
    Up to this point, I've developped 2 or 3 WDP projects - and in so doing, I've tried to reconciliate my java-influenced development methods with the SAP way of doing things. I'd say for the most part it was rather painless. I did, however, find a serious problem as far as I'm concerned in the way SAP has promoted the use of the java bean model importer.
    <a href="https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/u/251697223">david Beisert</a> created this tool and presented it to the SDN community in 2004 in his <a href="/people/david.beisert/blog/2004/10/26/webdynpro-importing-java-classes-as-model The same year (don't know if it was before or after), SAP published '<a href="https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/1f5f3366-0401-0010-d6b0-e85a49e93a5c">Using EJBs in Web Dynpro Applications</a>'. Both of these works presented simplified examples of invoking remote functions on EJB backends (an add() function in the case of David Beisert's example, and a calculateBonus() function in the case of the SAP publication). Accordingly, they both recommended the use of the Command Bean pattern as an implementation strategy for their respective examples. Which I don't totally disagree with, in these particular circumstances. A simple execute() method is perfectly suitable if one needs to EXECUTE a remote function call - whether it be a calculate() method invoked on a EJB Session Bean or an RFC call made to some remote ABAP system.
    Problem is, not everything in life is a function call ! To me, it makes very little sense to model everything as a command if it doesn't match your business model. The needs of your application should dictate the architecture of your model and not the other way around.
    This unjustifiable fixation on the Command Bean pattern is probably to blame for the fact that very little up to this point seems to have been written on the subject of the power of the binding mecanism as a most powerful tool in the arsenal of the Web Dynpro developer.
    What's this ?
    Binding can make it possible to abstract away most of the nitty gritty context node navigation and manipulation logic and replace it with more intuitive and more developer-friendly model manipulation logic.
    There was a time when programs that needed persistence were peppered with database calls and resultset manipulation logic. Hardly anyone codes like that anymore.. and with good reason. The abstraction power of Object Oriented technologies have made it possible to devise human friendly models that make it possible for developers to concentrate on business logic, and not have to waste time dealing with the low-level idiosyncrasies of database programming. Whether it be EJBs, JDO, Hibernate... whatever the flavour... most serious projects today utilize some sort of persistence framework and have little place for hand-coding database access logic.
    I feel that the WD javabean model offers the same kind of abstraction possibilities to the Web Dynpro developer. If you see to it that your WD Context and javabean model(s) mirror each other adequately, the power of binding will make it possible for you to implement most of your processing directly on the model - while behind the scenes, your context and UI Elements stay magically synchronized with your user's actions:
    +-------------+        +-------------------+         +--------------+        +------------+
    |    Model    |<-bound-| Component Context |<-mapped-| View Context |<-bound-| UI Element |
    +-------------+        +-------------------+         +--------------+        +------------+
                           o Context Root                o Context Root
                           |                             |
    ShoppingCartBean <---- +-o ShoppingCart Node <------ +-o ShoppingCart Node
    {                        |                             |
      Collection items <---- +-o CartItems Node <--------- +-o CartItems Node <-- ItemsTable
      {                        |                             |
        String code; <-------- +- Code <-------------------- +- Code <----------- CodeTextView
        String descrip; <----- +- Description <------------- +- Description <---- DescTextView
    Let's examine an example of this concept. I propose a simple but illustrative example consisting of a shopping cart application that presents the user with a collection of catalog items, and a shopping cart in which catalog items may arbitrarily be added and/or removed.
    The Component and View contexts will be structured as follows:
       o Context Root
       |
       +--o ProductCatalog       (cardinality=1..1, singleton=true)
       |  |
       |  +--o CatalogItems      (cardinality=0..n, singleton=true)
       |     |
       |     +-- Code
       |     +-- Description
       |
       +--o ShoppingCart         (cardinality=1..1, singleton=true)
          |
          +--o ShoppingCartItems (cardinality=0..n, singleton=true)
             |
             +-- Code
             +-- Description
    Let's examine how a conventional Command Bean implementation of this component could be coded. Later on, I'll present a more object-oriented model-based approach. We can then compare the differences.
    public class ProductCatalogCommandBean
       // collection of catalog items
       Collection items = new ArrayList();
       public void execute_getItems()
          // initialize catalog items collection
          items = new ProductCatalogBusinessDelegate().getItems();
    This command bean will serve as a model to which the ProductCatalog node will be bound. This happens in the supply function for that node in the component controller:
    public supplyProductCatalog(IProductCatalogNode node, ...)
       // create model
       model = new ProductCatalogCommandBean();
       // load items collection
       model.execute_getItems();
       // bind node to model
       node.bind(model);
    No supply function is needed for the ShoppingCart node, since it is empty in its initial state. Its contents will only change based on the user adding to or removing items from the cart. These operations are implemented by the following two event handlers in the view controller:
    public void onActionAddItemsToCart()
       // loop through catalog items
       for (int i = 0; i < wdContext.nodeCatalogItems().size(); i++)
          // current catalog item selected ?
          if (wdContext.nodeCatalogItems().isMultiSelected(i))
             // get current selected catalog item
             ICatalogItemsElement catalogItem = wdContext.nodeCatalogItems().getElementAt(i);
             // create new element for ShoppingCartItem node
             IShoppingCartItemsElement cartItem = wdContext.createShoppingCartItemsElement();
             // initialize cart item with catalog item
             cartItem.setCode       (catalogItem.getCode());
             cartItem.setDescription(catalogItem.getDescription());
             // add item to shopping cart
             wdContext.nodeShoppingCartItems().addElement(cartItem);
    public void onActionRemoveItemsFromCart()
       // loop through cart items
       for (int i = 0; i < wdContext.nodeShoppingCartItems().size();)
          // current shopping cart item selected ?
          if (wdContext.nodeShoppingCartItems().isMultiSelected(i))
             // get current selected item
             IShoppingCartItemsElement item = wdContext.nodeShoppingCartItems().getElementAt(i);
             // remove item from collection
             wdContext.nodeShoppingCartItems().removeElement(item);
          else
             // process next element
             i++;
    From what I understand, I believe this is the typical way SAP recommends using Command Beans as a model in order to implement this type of simple component.
    Let's see how the two same event handlers could be written with a more comprehensive object model at its disposal. One whose role is not limited to data access, but also capable of adequately presenting and manipulating the data that it encapsulates. (The actual code for these model beans will follow)
    // I like to declare shortcut aliases for convenience...
    private ProductCatalogBean catalog;
    private ShoppingCartBean   cart;
    // and initialize them in the wdDoInit() method...
    public wdDoInit(...)
       if (firstTime)
          catalog = wdContext.currentNodeProductCatalog().modelObject();
          cart    = wdContext.currentNodeShoppingCart  ().modelObject();
    Now the code for the event handlers:
    public void onActionAddItemsToCart()
       // add selected catalog items to shopping cart items collection
       cart.addItems(catalog.getSelectedItems());
    public void onActionRemoveItemsFromCart()
       // remove selected shopping cart items from their collection
       cart.removeItems(cart.getSelectedItems());
    I feel these two lines of code are cleaner and easier to maintain than the two previous context-manipulation-ridden versions that accompany the command bean version.
    Here's where the models are bound to their respective context nodes, in the Component Controller.
    public supplyProductCatalogNode(IProductCatalogNode node, ...)
       node.bind(new ProductCatalogBean(wdContext.getContext()));
    public supplyShoppingCartNode(IShoppingCartNode node, ...)
       node.bind(new ShoppingCartBean(wdContext.getContext()));
    Notice that a context is provided in the constructors of both models (a generic context of type IWDContext). We saw earlier that our model needs to be able to respond to such requests as: catalog.getSelectedItem(). The user doesn't interact directly with the model, but with the Web Dynpro UI Elements. They in turn update the context... which is where our model will fetch the information it requires to do its job.
    Also note that a model is provided for the shopping cart here, even though it has no need to access or execute anything on the back-end. Again, the model here is not being used as a command bean, but rather as a classic object model. We simply take advantage of the power of binding to make ourselves a clean and simple little helper that will update for us all the relevant context structures behind the scenes when we tell it to.
    Here are the ShoppingCartBean and ProductCatalogBean classes (I've omitted a few getter/setter methods in order to reduce unnecessary clutter):
    public class ShoppingCartBean
       Collection items = new ArrayList();
       IWDNode    itemsNode;
       public ShoppingCartBean(IWDContext context)
          // initialize shortcut alias for ShoppingCartItems node
          itemsNode = context.getRootNode()
                             .getChildNode("ShoppingCart", 0)
                             .getChildNode("ShoppingCartItems", 0);
       public void addItems(Collection items)
          this.items.addAll(items);
       public void removeItems(Collection items)
          this.items.removeAll(items);
       public Collection getSelectedItems()
          return ItemDTO.getSelectedItems(itemsNode);
    public class ProductCatalogBean
       Collection items;
       IWDNode    itemsNode;
       public ProductCatalogBean(IWDContext context)
          // fetch catalog content from back-end
          items = new ProductCatalogBusinessDelegate().getItems();
          // initialize shortcut alias for CatalogItems node
          itemsNode = context.getRootNode()
                             .getChildNode("ProductCatalog", 0)
                             .getChildNode("CatalogItems", 0);
       public Collection getSelectedItems()
          return ItemDTO.getSelectedItems(itemsNode);
    Notice that both classes delegate their getSelectedItems() implementation to a common version that's been placed in the ItemDTO class. It seems like a good place to put this type generic ItemDTO-related utility.
    This DTO class could also have been used by the Command Bean version of the event handlers.. would reduce somewhat the number of loops. At any rate, the ItemDTO class shouldn't be viewed as an "overhead" to the model-based version, since it usually will have been created in the J2EE layer,for the marshalling of EJB data (see <a href="http://java.sun.com/blueprints/corej2eepatterns/Patterns/TransferObject.html">Data Transfer Object Pattern</a>). We just take advantage of what's there, and extend it to our benefit for packaging some common ItemDTO-related code we require.
    // DTO made available by the EJB layer
    import com.mycompany.shoppingcart.dto.ItemDTO;
    public class ItemDTO extends com.mycompany.shoppingcart.dto.ItemDTO
       String code;
       String description;
       public ItemDTO()
       public ItemDTO(String code, String description)
          this.code = code;
          this.description = description;
       // returns ItemDTOs collection of currently selected node elements
       public static Collection getSelectedItems(IWDNode node)
          // create collection to be returned
          Collection selectedItems = new ArrayList();
          // loop through item node elements
          for (i = 0; i < node.size(); i++)
             // current item element selected ?
             if (node.isMultiSelected(i))
                 // fetch selected item
                 IWDNodeElement item = node.getElementAt(i);
                 // transform item node element into ItemDTO
                 ItemDTO itemDTO = new ItemDTO(item.getAttributeAsText("Code"),
                                               item.getAttributeAsText("Description"));
                 // add selected item to the selectedItems collection
                 selectedItems.add(itemDTO);
          return selectedItems;
    Notice that the getSelectedItem() method is the only place in our model where context node navigation and manipulation actually takes place. It's unavoidable here, given that we need to query these structures in order to correctly react to user actions. But where possible, the business logic - like adding items and removing items from the cart - has been implemented by standard java constructs instead of by manipulating context nodes and attributes.
    To me, using a java bean model as an abstraction for the Context is much like using EJBs as abstractions of database tables and columns:
                         abstracts away
               EJB model --------------> database tables & columns
                         abstracts away
      WDP javabean model --------------> context  nodes  & attributes
    Except that a javabean model (residing in the same JVM) is much more lightweight and easy to code an maintain than an EJB...
    Before concluding, it might be worth pointing out that this alternative vision of the Web Dynpro Model in no way limits the possibility of implementing a Command Bean - if that happens to suit your business needs. You will of course always be able to implement an execute() method in your WDP Model if and when you feel the need to do so. Except that now, by breaking free of the mandatory Command Bean directive, you are allowed the freedom to ditch the execute() method if you don't need such a thing... and instead, replace it with a few well-chosen operations like getItems(), addItems(), removeItems(), getSelectedItems()... which, as we've just seen can add significant value to the javabean model made available to your WDP component.
    Comments would be appreciated on this issue (if anyone has had the time/courage/patience to read this far...;). Am I alone here intrigued by the potential of this (up until now) scarcely mentionned design strategy ?
    Romeo Guastaferri

    Hi Romeo,
    thanks for sharing this with the community. I am little bit surprised that the command pattern was understood as the only way on how to use the Javabean model in conjunction with EJBs. The command pattern blog of mine was just a very simplified example of how a functional call can be translated to a Java Bean model. Actually it was to show how the paradigm of a model works. I personally use a similar approach to yours. It seldomly makes sense to map an EJB method one to one to a model, but the javabean model must be driven by the Userinterface and represents a bridge between the business service layer and the ui. I personally even think that often it does not make sense to map RFC function like they are to the Web Dynpro Context. Most often you end up writing ZBAPIs that return structures like they are used in the UI. But if you use a java bean model as a layer in between your service layer, you are more flexible in evolving the application. Anyways design patterns for the java bean model need to be discussed more on SDN as they really add very valuable possibilities you would never have when working with value nodes alone. With the Javabean model we are back in the real OO world where things like inheritance work, things that are really not too well supported by the native WD features. I encapsulate every context of mine as javabeans. This has nothing to do with EJBs (which I am personally not a fan of) but only with the fact that I want to work with the power of the OO world.
    rgds
    David

  • How can i do different colors for the category in business graphics

    Hi everybody,
    i have a business graphics and i need different colors for the category. my business graphics is a gantt.
    for example
    category1
    category2
    category2
    and so on.
    Is there a solution for this? How can i do it?
    Best regards,
    Markus

    Sorry.
    In my opinion, this requirement can not be resolved.
    Generally, we use Business Graphic with Category, we just follow:
    DATA:lr_graph TYPE REF TO cl_wd_business_graphics.
    lr_graph = cl_wd_business_graphics=>new_business_graphics(
        bind_series_source = 'NODE_DYN'
        chart_type = cl_wd_business_graphics=>e_chart_type-BARS
        height = 340
        width = 750
    *     BIND_TOOLTIP = 'GRAPH.TT'
        id = 'GRAPH' ).
    DATA: lr_bgr_cs TYPE REF TO cl_wd_category.
    lr_bgr_cs = cl_wd_category=>new_category(
    view = wd_this->mr_view
    bind_description = 'NODE_DYN.CATEGORY').
    lr_graph->set_category( lr_bgr_cs ).
    If we go to SE24, to check  the class "CL_WD_CATEGORY", we cannot find any method  or attribute about how to manipulate  the "Category Font Color"...
    Maybe,any other expert can give you fantastic solution, hope. Best wishes.

  • How to search to files based on the metadata of the category in CS

    Hi,
    Can any one tell me how to search the files in the content services based on the metadata of the Category,I know how to search based on the Category using
    public static void attributSearch(String searchString)
    throws FdkException, RemoteException, Exception
    // get the Manager instances
    SearchManager sem = s_WsCon.getSearchManager();
    CategoryManager cat = s_WsCon.getCategoryManager();
    CommonManager cm = s_WsCon.getCommonManager();
    FileManager fm = s_WsCon.getFileManager();
    Item folder = fm.resolvePath("/idc/workspaces/BoardMembersProject", null);
    AttributeRequest[] catAttr =
    WsUtility.newAttributeRequestArray("ProjectCategory");
    // create AttributeRequest to retrieve CATEGORIES attribute
    AttributeRequest[] catClassAttr = WsUtility.newAttributeRequestArray(
    Attributes.CATEGORIES, catAttr);
    // define search options
    NamedValue[] nv = WsUtility.newNamedValueArray(new Object[][] {            
    { Options.SEARCH_VERSION_HISTORY, Boolean.TRUE },
    { Options.RETURN_COUNT, new Integer(100)
    // get search expresiion
    SearchExpression seExp = new SearchExpression();
    // searchString ="ProjectCategory";
    Item[] item = cat.getRequiredCategories(folder.getId(),catClassAttr);
    seExp = new SearchExpression();
    NamedValue[] attributes = item[0].getRequestedAttributes();
    seExp.setOperator(FdkConstants.OPERATOR_HAS_CATEGORY);
    seExp.setRightOperand("["+item[0].getName()+"]");
    // search documents
    NamedValue[] result = sem.search(seExp, nv, null);
    // search result display
    for (int i = 0; i < result.length; i++)
    if (result.getName().equals(Options.SEARCH_RESULTS))
    Item[] resulItem = (Item[]) result[i].getValue();
    WsUtility.log("Kveni",resulItem);
    if (resulItem != null)
    for (int j = 0; j < resulItem.length; j++)
    WsUtility.log("File " +resulItem[j].getName());
    But how do one search Based on the attributes of the category??
    thanks
    kveni

    Download the PM accelerator kit appropriate to your environment, and check out the TestSearch2.java example.
    http://www.oracle.com/technology/products/cs/developer/contentservicesdev/contenservicesdevkit.html
    Essentially you need to lookup the internal names of your category attributes, as well as have the internal name of your category class.
    categoryClassName = ...; // e.g. AHC_XXX
    attribute1name = ....; // e.g. CUSTOM_MYBOOLATTR
    you then create a normal search expression such as
    String attribute1Operand = "[" + categoryClassName + FdkConstants.SEPARATOR + attribute1name + "]";
    SearchExpression expr1 = new SearchExpression();
    expr1.setOperator(FdkConstants.OPERATOR_EQUAL);
    expr1.setLeftOperand(attribute1Operand);
    expr1.setRightOperand(Boolean.TRUE);
    Matt.

  • Can we change the category name in oim 11g

    Hi All,
    Can we change Category name of default categories present in OIM 11.1.1.5 User Attribute Form.For Eg:-
    Provisioning Dates to Important Dates.
    We looked for it and found one link :-http://docs.oracle.com/cd/E21764_01/doc.1111/e14308/conf_mangmnt.htm
    But did'nt found anything in the properties file as mentioned.
    Please help us out with this issue.
    TIA

    I think I saw the category names somewhere, check Agent.properties inside oracle/iam/configservice/agentry/resources in OIMUI.jar and see if it's there. This prop files has labels for user attributes and so categories should be there, if not there was some jar which has properties file which has those label listed out. Don't have access to any env now myself but you can try searching urself too, may be you will find it.
    -Bikash

Maybe you are looking for

  • Getting an error in oracle

    Hello every one , I am trying to create a procedure in my oracle databas and i am getting error like this ORA- 01031 Insufficient Privilages I have chcked the roles and righit of that user account and i didn't find any problem there. I don't know how

  • Adding more RAM to MacBook Pro Help!

    Dear Apple Support Community, Ok so first of all don't tell me to go search for older discussions >:( Here are my system specs: MacBook Pro 15", Mid 2010 Processor - 2.66 GHz Intel Core i7 Memory    - 4GB 1067 MHz DDR3 Graphics   - NVIDIA GeForce GT

  • Applications showing up as folders and cannot be launched

    I have a set of applications that no longer show up as icons now that I have installed snow leopard. the applicaitons show up as folders and not icons for applications. This did not happen in Leopard, but now that I have a new computer(s) in snow leo

  • IPhone 3GS Will Not Activate After Restore

    Hello, Full story: I purchased an iPhone 3GS 3 years ago locked to the O2 network UK. Throughout the years this phone has been jailbroke and unlocked on numerous ios versions. I have decided to fully restore my phone so I can take advantage of the 6.

  • Mac Speaker Problems???

    My Macbook Pro Built-in speaker at least one of then doesn't work