Wednesday, May 4, 2011

Influencing Recent Edits using customizing

Since CRM2007, users are able to see the recently shown objects in the lower left corner of the screen. This is known as the ‘recent edits’. The recent edits functionality is greatly appreciated by end-users.

In some cases though, the description of the object might not be what you would expect, for instance, phonecall activities (object BTOrder, type BT126_CALL) will not show a description in the recent edits, but shows the activitynumber (which seems less interesting from a user perspective).

If you want to influence (or overrule) what is shown in the recent edits, you can enter values in SM30-->CRMC_REC_OBJ_AC.

This table contains the following fields:
OBJECT_NAME
Name of the BOR object that is called, for instance BTOrder
OBJECT_TYPE
Name of the type that is called, for instance BT126_CALL
ACTION
ACTION to be performed when the item is clicked on. B (show) and C (edit) are supported.
DESCR_PATH1
BOL Path to the attribute you want to use in the description, for instance //BTOrderHeader/DESCRIPTION for the description of the activity.
DESCR_PATH2
Same as DESCR_PATH1, but this will de concatenated to DESCR_PATH1 separated by a space.
DESCR_PATH3
Same as DESCR_PATH1, but this will de concatenated to DESCR_PATH2 separated by a space.

The following example will make that in the recent items, a sales call is represented with the name of the customer followed by the description of the activity. If the description becomes too big, it will automatically be shortened, and the full description will be available in the tooltip.






OBJECT_NAME - BTOrder
OBJECT_TYPE - BT126_CALL
ACTION - B
DESCR_PATH1 - //BTOrderHeader/BTHeaderPartnerSet/BTPartnerAll/DESCRIPTION_NAME
DESCR_PATH2 - //BTOrderHeader/DESCRIPTION

3 comments:

  1. Very nice, Pieter.

    We had a related requirement to control the recent object’s tooltip. I did not see config for it, but there is a technical solution. It may help someone, or you may know of a better way, so I’ll summarize it here.

    Base class CL_CRM_BSP__RECENTOBJECT0_IMPL has two methods for getting the list of recent objects – one for previously persisted data and one for runtime(session) data. (They are DO_INITIAL_LOAD( ) and GET_DESCR( ) ). Each has a table of the recent objects, and it is there that you can override the tooltip text based on your requirements. Since the recent objects tables also have CRMT_UI_PROFILE information, you can also control tooltips at the user profile level.

    Thanks for your blogs – They are very well done and appreciated.

    …Mike McInerney

    ReplyDelete
  2. Great, Pieter!!

    Just in time for our requirements!
    Could you please describe how correctly get the path? Thank you.

    ReplyDelete
  3. :-) Good to hear :-)

    For the path, you can use the Genil Model Browser (GENIL_MODEL_BROWSER) to determine the path.
    Always start with //, followed by the main object of the component you are working on (i.e. BTOrderHeader in case of a oneorder item).
    After that, you can drill down into the related items (as found in the GENIL_MODEL_BROWSER) separating them with a '/'.
    The last component should be the attribute you want in the description.
    In case the relation you are using can contain multiple instances (for instance the BTPartnerAll), the first instance of the collection will be used.

    If you want examples, you can check the standard in table CRMC_REC_OBJ_A.

    Regards,
    Pieter

    ReplyDelete