Skip to end of metadata
Go to start of metadata


Navigation to the CRM UI Component from Mail Form or Smart Forms Hyper Link

 SAP CRM WEB UI version 6.0 and 7.0 or more  

This Wiki explains the prerequisite settings to navigation to the CRM UI Component from hyper link(i.e Click here to open the Request in Mail form or smart form). More focus is given to UI Component's Design layer Object Type and UI Action to give edit or display  authorization.

Business Scenario: Need to open the UI Component deirectly by clicling the hyper link in the Mail form or Smart Form. So we need to insert the URL script into the Mail form body or Smart Form body.

Company:     Kaar Technology
Created on:    13.3.2011
Author(s) Bio 

Chand Shaik is Techno Functional Consultant in the area of SAP CRM and SAP Portal. He have started with SAP in 2004 coming from a web development background (JAVA). His experience ranges from Web Dynpro Java, Enterprise Portal, CRM ABAP, CRM BSP and BOL, CR580 and to functional skills in SAP. In 2010 he was appointed as a SAP CRM Consultant with Saudi Aramco.






  



http://XYZ.com:<PortNo>/sap/bc/bsp/sap/crm_ui_start/default.htm?crm-object-type=ICCMP_BT_SVT&crm-object-action=C&saprole=ZHRC_AGN_GEN&crm-object-value=%SAP_ZMAIL_FORM_ATTR-GUID

Another example is:

http://xyz.com:<PortNo>/sap/bc/bsp/sap/crm_ui_start/default.htm?crm-object-type=BP_ACCOUNT&crm-object-action=B&crm-object-value=2&crm-object-keyname=PARTNER

VARIABLE1/sap/bc/bsp/sap/crm_ui_start/default.htm?VARIABLE2&VARIABLE3&VARIABLE4&VARIABLE5&VARIABLE6

Mandatory:

VARIABLE1 = System URL (http://dev.xyz.com:<PortNo> OR http://qual.xyz.com: <PortNo>  OR http://prod.xyzcom: <PortNo>)

VARIABLE2 = UI Component’s Design layer Object Type ( crm-object-type=ICCMP_BT_SVT)

Optional:

VARIABLE3 = UI Action to to give edit or display  authorization (crm-object-action=C). By dafault, it's "Display" (B).

VARIABLE4 =  Business Role (saprole=ZHRC_AGN_GEN). By default it's taken from the user, who use this URL.

VARIABLE5 = Request value (crm-object-value=%SAP_ZMAIL_FORM_ATTR-GUID).

VARIABLE6 = Request key name (crm-object-keyname=PARTNER). It's a key name for the query parameter, which takes the value from VARIABLE5.

1.        System URL 

2.        UI Component’s Design layer Object Type in Design Layer 

3.        Provide naviagation to UI component and provide UI Action(edit or display authorization) in Navigation Profile 

4.        Business Role 

5.        Request value (e.g. GUID)

6.        Request key name

Development Server : http://dev.xyz.com:8002
Quality Server          : http://qual.xyz.com:8002

Production Server    :  http://prod.xyz.com:8003

From ABAP code first part of the url (not to be confused with VARIABLE1) could be retrieved with the following code:

Make sure the Object Type entry is availbale for your CRM UI component in the view BSPDLCV_OBJ_TYPE. This is table for all the elements of crm-object-type (like CRM_SRQM_INCIDENT,BP_ACCOUNT, BT126_APPT,  BP_CONTACT etc) in SAP CRM

To find the exsitng design object or copy the existing design object to view BSPDLCV_OBJ_TYPE using SM30 transaction

Please use the SPRO configuration to edit the BSPDLCV_OBJ_TYPE view as shown below.

You can copy existing SAP design objects or create new entry in Customizing for Customer Relationship Management, at  UI Framework ->UI Framework Definition->Design Layer->Copy SAP Design Object .

Here you can see existing UI Oject Types mapped to SAP CRM design objects which is actually refers BOL Object Name and then BOL Attributes
To identify the UI Object Type of UI Component present or not. Please use the F2 pop-up on UI Component.  

Make sure the Object Type entry(which you have found in the F2 technical details for your UI Component) is available in the below table

If the Object Type entry is not available in the below table then you have to create UI Oject Type entry for your UI Component.

You have to create the new entry of UI Object Type for your UI Component with GenIL Component Name, BOL Object Name and BOR Object Type 

Open the Navigation Bar Profile

 Select the required Navigation Bar profile of the Business role and double click on the Define generic Mapping at left side.


If the entry is not available for the Object type in the below table. You have to create new entry for the UI Object Type with Target ID

Parameter crm-object-action, we can fill with A for search, B for Display C for Edit and D for Create. Same parameter value have to be pass to crm-object-action in the URL.

Find out the right Business Role.

You can see the Business Role name on WEB UI or using transaction code CRMC_UI_PROFILE 

For GUID attribute in the Mail Form, you can create your own Z structure with the fields that you want to use in the email forms. And you need to maintain this structure with ERMS attributes context at SPRO.

Customer Relationship Management->Marketing Marketing Planning and Campaign Management->Personalized Mail->Maintain Attribute Contexts for Mail Forms.

The request key name defines which parameter is used for query service of the object type. For example, it could be PARNER or PARTNER_GUID for object type BP_ACCOUNT. You can find appropriate parameter's name in transaction GENIL_BOL_BROWSER.

http://XYZ.com:<PortNo>/sap/bc/bsp/sap/crm_ui_start/default.htm?crm-object-type=ICCMP_BT_SVT&crm-object-action=C&saprole=ZHRC_AGN_GEN&crm-object-value=%SAP_ZMAIL_FORM_ATTR-GUID

Generated link to be ready to open the UI Component :-

http://xyz.com:<PortNo> /sap/bc/bsp/sap/crm_ui_start/default.htm?crm-object-type=ICCMP_BT_SVT&crm-object-action=C&saprole=ZHRC_AGN_GEN&crm-object-value=4ABC3BC03014017BE10080000A016970 

 This URL opens the service ticket

http://XYZ.com:<PortNo>/sap/bc/bsp/sap/crm_ui_start/default.htm?crm-object-type=BP_ACCOUNT&crm-object-action=B&crm-object-value=2&crm-object-keyname=PARTNER

This URL opens the partner with ID 2.

Even if paramater crm-object-keyname is optional, it's obligatory to use it for some objects. For example, for business partners.

  1. Guest

    Hi,

    It is something I look for quite some time. thanks for the info.

    I try to open the service request directly through the below link:
    http://xyz.com: <port number>/sap/bc/bsp/sap/crm_ui_start/default.htm?crm-object-type=CRM_SRQM_INCIDENT&crm-object-action=B&saprole=ZSS_SRVREQ&crm-object-value=9010000003&crm-key-name=OBJECT_ID

    where crm-object-value=9010000003 is the service request ID (object ID)

    However I kept having exception error:
    Exception Details
    CX_SY_REF_IS_INITIAL - Dereferencing of the NULL reference
    Method: CL_CRM_BT_WORKAREA_MAINWINDOW=>IP_OVERVIEW
    Source Text Row: 16

    Also, how this link can work in the Alert Category Message in Tcode ALRTCATDEF? When I try to put in, there is message "Closing symbol '&' expected (pos.103) in expression '&' ".

    Kindly please advise. Thanks.

  2. Hi Chand,
    Thanks for your post. It helped me to solve one of my issues.
    But still I have some further questions about the "Request key name". You mentioned in the Transaction GENIL_BOL_BROWSER we can find the suitable key for it. However if you check the t-code with component name "BT" you will find there are a lot of different Models in it. And I still could not figure out the way to link the model with the crm-object-type.
    For example, the URL http://xyz.com:<port-num>/sap/bc/bsp/sap/crm_ui_start/default.htm?crm-object-type=CRM_SRQM_INCIDENT&crm-object-action=B&saprole=ZSS_SRVREQ&crm-object-value=9010000003&crm-key-name=OBJECT_ID. Here we see the object type is CRM_SRQM_INCIDENT, and we check it in the view BSPDLCV_OBJ_TYPE, then we get the GenIL component name "BT" and BOL object name "BTOrder". 
    I went to t-code GENIL_BOL_BROWSER to check the component BT, and found there were so many different models in it (for example: BTQuery1O, BTQWecSrvReq, etc...). I could not understand when I navigate to the URL, which model would be called. And if this step is not determined, it would be difficult for me to decide which Key I should use.
    Of course normally we would use "GUID" or "OBJECT_ID" to search it out, but I just want to know how the link is built so that I could better understand next time what kind of key name could be used.
    Thanks with regards,
    Raymond

  3. Hi Chand,

    Your post is very helpful but could you please tell me how to navigate with in the same window(IE session), currently when i click on hyperlink in email body it is opening the transaction in a new window i.e new webui session, we wanted to navigate to the component with the same window, please help me if you know how to.

    Thanks

    Sriram

     

    1. Hi Sriram,

      We have exactly same requirement (using same window, instead of new).

      Are you able to achieve this?

      Best Regards,

      Pravin..

       

  4. Hi Praveen,

    We achieved it reading email body instead of going through URL link, we created a button and in onclick event we are reading the body of email and using service ticket number navigating to BT125_TASK by passing objectid.

    Thanks

    Sriram