Quantcast
Channel: SCN : All Content - SAP CRM: Webclient UI - Framework
Viewing all 4552 articles
Browse latest View live

Context node binding

$
0
0

Hello Experts ,

 

I needed a small clarification ..

 

I have created a value node (attribute) in a context node in a view , then do i need to create the same attribute in the same context node (as the context node is binded to the context node in comp controller) present in the component controller .

 

Thanks ,

Vaibhav


Display Last Interactions After Account Identification Without Contact Person Confirm

$
0
0

Hello,

 

The question about, how we can to display last interactions  (ICCMP_BT_IRHIST/LastInteractions) after Account Identification,without contact person confirm.

We use CRM 7 EHP3, B2B scenario.

In customization we use Find Contact Person Automatically checked for search account by contact person data too.

What classes/methods must be enhanced?

 

Thank you,

Igor Spector

BADI or FM : To Maintain billing Due List from service Order

$
0
0

Hi Experts,

 

I have requirement for copy data in item to custom added field to Bill Due List.

 

I have custom added field branch code in Service order Item ,

Now i want to copy that field value to Bill Due List Table .

 

I added that same field to Bill Due List Also.

 

Please suggest me any FM or BADI to maintain that field in Bill Due List.

 

In advance Thanks.

 

Regards

Alok

Authentication on one hit navigation failing.

$
0
0

Hi

 

I am facing an issue with one hit navigation. It ia a new standard functionality from SAP, where if the search result contains a single item, it directly navigates to the item page.

 

But here its failing the authorization check for the user and navigates to the opportunity even if the user doesn't have any authorization to display.

 

Can somebody suggest me why is this happening?

Custom Global Data Context in SAP CRM

$
0
0

1st_page.png

 

 

Applies to:

SAP CRM 7.0, EHP1 , EHP2,EHP3

 

Summary

  This particular document illustrates as to how we can use global data context in SAP CRM framework.The GDC is a set of objects stored in the Global Memory of your session. Just illustrate the case of Inventory system where there are barrage of screens for saving inventory data and in some cases you may need Inventory data while venturing into different screens that’s where Global data context mechanism could be used to retrieve old saved data. In this document I’ll be basically showcasing the usage in terms of already existing Custom BOL component and then using that BOL component in global data context by fetching the data from the BOL and then encompassing it in global data context and then using the global data context to retrieve the data.


Author(s): Rajwin Singh Sood

Company: Atos

Created on: 19th Feb 2015

 

Author Bio

photo.jpg

 

Rajwin Singh Sood is currently working as Team lead/Solution Architect at Atos. He has got experience of more than 9 years in SAP ABAP and SAP CRM web UI. He is also a SAP CRM EHP2 Certified associate consultant. Prior to working with Atos he had worked with SAP India(SAP Global Delivery), Capgemini , Accenture and Infosys. He worked in SAP CRM Web UI areas like BSP enhancements, transaction launchers, BOL Programming, BRFPlus .




Scenario for Global data Context

We’ll be using the scenario where we’ll have the ZBOL already created(you can search SCN with key word Creating ZBOL in SAP CRM and you’ll find umpteen number of SCN WIKI blogs/Links) corresponding to the custom database table. Over here I already had a custom table with employee details:-

pic1.jpg

 

 

Containing 1 record:-

PIC2.jpg

 

 

 

We’ll be using the Global data context in order to save this data which will be done in the steps below and then will be showing the same in the overview page of quotation as assignment block.

  I also already had preexisting custom GENIL component created with the name ZEMP_D which has the BOL object ZEMP_DEMO associated with it using the path SPRO->Customer Relationship Management->Generic Interaction Layer/Object Layer->Basic  Settings as per below screenshots:-

PIC3.jpg

PIC4.jpg

The root ZBOL object ZEMP_Details from the object table ZEMP_DET_OBJ:-


PIC5.jpg



Creating global data context for the scenario

In this step we need to navigate to the user area menu using SPRO->Customer Relationship Management->Technical Role Definition->Define Global Data Context Parameters, after which it navigates to the Maintenance view for defining data context parameters and click on new entry ZEMP_DETAILS which is the Z BOL object created above. Please refer to the below screen shot:-

 

pic6.jpg

 

 

Preparing the BSP component for the scenario and testing in Webui

As I had specified above we’ll be using the new BSP component(ZEMP_DATA1) which will show the data from the Z BOL root object ZEMP_DETAILS in the view(ZEMPDETAILS). Hence:-

  1. As first step you would need to create new BSP component (ZEMP_DATA1) with model in the runtime repository editor as ZEMP_DEMO.
  2. Then create a form type View ZEMP_DATA1/ ZEMPDETAILS with the context model node as Zemp_details as per below screenshots:-

pic7.jpg

 

 

3.     Create the new configuration and add the fields in that and then save the same. It should look like the one given below:-

pic8.jpg

 

 

 

Now after this is done we would need to code in such a way that we’ll first retrieve the data from the data base table ZEMP_PERS_DATA and then encapsulate it in Context node and then pass on that context node in the global data context which we created in above section. The code snippet is give below:-

 

Here we have written the code in Component controller method DO_INIT_CONTEXT so that the table retrieval logic is written only once when the component is loaded and not always:-

 

METHOD do_init_context.

CALL METHOD super->do_init_context

    .

DATA: lo_core TYPE REF TO cl_crm_bol_core,

lo_order TYPE REF TO cl_crm_bol_entity,

lo_temp TYPE REF TO if_bol_bo_property_access,

lt_params TYPE crmt_name_value_pair_tab,

ls_emp_det TYPE zemp_pers_data,

ls_params TYPE crmt_name_value_pair,

lo_factory TYPE REF TO cl_crm_bol_entity_factory.

DATA : lr_gdc TYPE REF TO if_crm_ui_data_context,

lr_entity TYPE REF TO cl_crm_bol_entity.

CLEAR: ls_params, lt_params, lo_order.

  FREE: lo_core,

        lo_order.

 

  lr_gdc ?= cl_crm_ui_data_context_srv=>get_instance( ).

lo_core = cl_crm_bol_core=>get_instance( ).

lo_factory = lo_core->get_entity_factory( 'ZEMP_Details' ).

****fetch the data from the data base table for data base DDIC structure please refer to the section above.

SELECT SINGLE * INTO ls_emp_det FROM zemp_pers_data WHERE emp_no EQ '1232'.

 

  IF ls_emp_det IS NOT INITIAL.

ls_params-name = 'MANDT'.                               "#EC NOTEXT

ls_params-value = ls_emp_det-mandt.

APPEND ls_params TO lt_params.

 

ls_params-name = 'EMP_NO'.                              "#EC NOTEXT

ls_params-value = ls_emp_det-emp_no.

    APPEND ls_params TO lt_params.

 

ls_params-name = 'EMP_NAME'.                            "#EC NOTEXT

ls_params-value = ls_emp_det-emp_name.

APPEND ls_params TO lt_params.

 

ls_params-name = 'EMP_LNAME'.                           "#EC NOTEXT

ls_params-value = ls_emp_det-emp_lname.

APPEND ls_params TO lt_params.

 

lo_order = lo_factory->create( lt_params ).

***the entity is created over here

lo_temp ?= lo_order.

****here we pass the entity to the global data context defined

lr_gdc->set_entity( name = 'ZEMP_DETAILS' value = lo_temp ).

ENDIF.

 

 

  1. ENDMETHOD.

 

Now from the above code we had already set the global data context. Now next code will be to use the global data context which have already set with the values above, we need to use the global data context in the current view ZEMP_DATA1/ ZEMPDETAILS  in order to automatically display the database values. For which again we’ll be coding it in method DO_INIT_CONTEXT with the below code snippet:-

 

METHOD do_init_context.

CALL METHOD super->do_init_context

    .

DATA: lr_gdc TYPE REF TO if_crm_ui_data_context,

lr_entity TYPE REF TO if_bol_bo_property_access.

lr_gdc ?= cl_crm_ui_data_context_srv=>get_instance( ).

***get the data populated in the global data context

lr_gdc->get_entity( EXPORTING name = 'ZEMP_DETAILS'

RECEIVING value = lr_entity ).

CHECK lr_entity IS BOUND.

*****now set the data in the view

me->typed_context->zempdetails->collection_wrapper->add( lr_entity ).

  1. ENDMETHOD.

 

4.     Now we’ll be using this view as an assignment block in the Quotation over view page(BSP component BT115QH_SLSQ/SQHOverView) via component usage. In order to expose this via component usage we need to first add the view ZEMP_DATA1/ ZEMPDETAILS into the interface window as per below screenshot in the BSP component ZEMP_DATA1 as per below screenshot:-

pic9.jpg

 

 

5.     Now once the step 4 is done now we’ll create component usage in BSP component BT115QH_SLSQ as per below screenshot:-

  

Pic10.jpg

 

 

 

 

 

 

 

 

6.     Now add this as the assignment block in the overview window:-

 

 

 

 

pic11.jpg

pic12.jpg


Now add the assignment block in the configuration of the over view page BT115QH_SLSQ/SQHOverView as per below screenshot:-

Pic13.jpg





Now go to Web UI and search for any quotation and then open it in the over view page where you can see the data flowing from the global data context:-


Pic14.jpg


populating the dropdown fields based on other dropdown fields

$
0
0

Hi experts,

 

I have requirement to populate the dropdown field based on other dropdown field for this i followed below steps

 

As two fields coming from different context nodes.

 

1. attached event to the 1st attribute at get_p level to read the dropdown filed of attribute1

2.created attribute of type static in implementation class to read the dropdown field (attribute 1)

 

Now i want to read or filter the dropdown(attribute2) based on the attribute1 and populate the fields based the custom attribute as it holds the field of attribute1.

 

Please help me on this.

 

Thanks.

incorrect BP( doesn't have Calling hours maintained) getting in call list...

$
0
0

Hi,

 

Custom report to fetch the Planned call list from BP call list but in call list  getting incorrect BP which doesn't have Calling hours maintained. how to filter which BP /CP doesn't maintained calling hours no need to maintained in call list.

 

how these BP's are maintained in call list. is there any Rule id / Target group setting is missing ?

 

CRMM_BUT_FRG0061 in this table BP guid and calling hours maintained. is there any FM to fetch.

 

Generally for BP need maintained Call day and Calling hours then we can see in Call list ?

 

Please provide some suggestion.

 

 

Jimmi

Business Server Page (BSP) error while calling the ICCMP_SURVEY/SurveyDetailSet Component on CRM web client UI

$
0
0

Hi,

We are working on SAP CRM 7.0 ehp1. While in Lead creation screen, we are trying to access the attached or new questionnaire, we are getting an error saying:

 

An Exception:


Cannot display view ICCMP_SURVEY/SurveyDetailSet of UI Component ICCMP_SURVEY
An exception has occurred

Exception Class

CX_BSP_ELEMENT_EXCEPTION - : (BEE XML) BSP extension <:*> is unknown

Method:

CL_BSP_ELEMENT=>IF_BSP_ELEMENT~RAISE_ERROR

Source Text Row:

3

 

Dump error:


What happened?

Calling the BSP page was terminated due to an error.

 

SAP Note

  • The following error text was processed in the system:
    <bsp:bee>: (BEE XML) BSP extension <:*> is unknown

 

Exception Class

CX_BSP_ELEMENT_EXCEPTION

Error Name

Program

CL_BSP_ELEMENT================CP

Include

CL_BSP_ELEMENT================CM007

ABAP Class

CL_BSP_ELEMENT

Method

IF_BSP_ELEMENT~RAISE_ERROR

Line

3

Long text

-

 

Error type: Exception

Your SAP Business Server Pages Team

 

 

Regards,

Kavita Chaudhary

Mob:8800222151


User session locked for 30 minutes on timeout

$
0
0

Dear Experts,

CRM User Session is timedout after 8 hours and User Objects such as Opportunities and cases which the User is working on prior to logout are locked for 30 minutes.The System displays a message stating 'case is currently locked by the user' and the lock holds for 30 minutes until which no operation can be performed.

Could you please let me know which timeout parameter to check and if the timeout cannot be avoided is there any way to avoid the locking of Objects or reduce the time of the Lock.

 

I have checked the below parameters in the Customer System and the values are as follows.

 

HTTP Plugin Timeout

rdisp/plugin_auto_logout =1800 secs

 

Work process Time out

rdisp/max_wprun_time=600 secs

 

GUI Logout Time if session Inactive

rdisp/gui_auto_logout= 0 secs

 

icm/server_port_0  = PROT=HTTP,PORT=8036,TIMEOUT=600,PROCTIMEOUT=600

 

icm/conn_timeout = 5000

 

rdisp/autothtime = 60

 

rdisp/keepalive_timeout = 60

 

rdisp/keepalive = 1200


Please help.


Regards,

Akash

code to read bp extension tables and display it in assignment blocks

$
0
0

Hi all I have to read the data present in bp extension tables by passing bp number and display it in an assignment block.pls guide

 

thanks

luxmi

How to check Price Routine in CRM

$
0
0

Hi,

 

I have a requirement to skip round off value for a particular order type.

I am new to this sales process. I heard from my functional, there are already a price routine running in system which has been developed using Java price routine.I am not aware where to check.

 

Please help.

 

 

Thanks,

Gunasekaran.

BAdI CRM_MKT_MODIFY_ORDER and Method MODIFY_ACTIVITY_OBJ to Assign dynamic Employee on Activity

$
0
0

Hi Experts


I am using BAdI CRM_MKT_MODIFY_ORDER and Method MODIFY_ACTIVITY_OBJ to Assign dynamic Employee during Campaign Creation based on some employee criteria.


Can anybody have implemented this badi for dynamic employee assignment on Activities. Please share the basic code to achieve this?


Regards

Hamid

ERMS Auto Acknowledgement mail Issue .

$
0
0

Hi Guys ,

 

 

We have set up an auto acknowledgement mail scenario . Acknowledgement mail is triggered , but the subject line and mail content are empty.

 

We are using email forms here .

 

If anyone has faced the same challenge , please let me know .

 

 

Thanks

Vinayak

batch job is getting failed related to report RSPPFPROCESS

$
0
0

Hi All,

 

Batch is getting failed in Production server, its related to Program RSPPFPROCESS and done implicit enhancement for this BADI :CL_METHODCALL_PPF .

 

for the failed jobs we are getting error : No more storage space available for extending an internal table.You attempted to extend an internal table, but the required space was not available.


Runtime Errors         TSV_TNEW_PAGE_ALLOC_FAILED

 

I am able to do run time analysis but not able to find out root cause where its getting failed because of storage space in the program.

 

could you please suggest where exactly i can check in terms of performance point of view.

 

 

Thanks,

Jimmi

In transaction launcher file downloding is not working

$
0
0

Hi
friends,


           I have created a ALV report and integrated it to webui using transaction launcher . 

But when i tried to download to local  file- local I only get the widow to select  file type

after that nothing happening. 

This report is working fine in GUI.How to make download work from WEB-UI ?

 

 

Thanks,

Jose


Time out clock and notification does not work for IC

$
0
0

Dear All,

 

Sap has provided new feature to show a countdown clock on the header region of the web ui. like below

 

2-20-2015 3-22-13 PM.png

 

In the above picture u can see the notes implemented to use the feature they are as below.\

2092893 - Session Time Out Notification
2096030 - Session Time Out Enhancement
2097954 - OTR text length for the session timeout feature is limited to english

2098586 - fixes side effects of note 2097954 - OTR text length

 

Now If you check the first note SAP has suggested that in order to use this for IC Webclient business roles we need to implement the below notes

which we have implemented

1946450implemented
1877120 - CRM-IC: session timeout issue with CRM 7 EHP1 and higher implemented
1955366 - follow up note to 1877120 implemented
1977631 - follow up note II to 1877120 implemented

 

But Still this feature is not available for IC Roles , Can you please help me get this feature on IC roles , even if it has some development effort?

 

This is really a cool feature and I personally think this is the best used in IC roles Hoping to get some help soon

 

Regards,

Dhruvin

Ho w to copy the Inbound email attachaments to servie request Transaction History?

$
0
0

Hi,

once we have inbound mail which having some attachemnts. now i need to copy those attachaments into Service request Transaction History.

 

any suggestions pls.

 

Regards,

Venkat

BADI : for change split logic of billing document

$
0
0

Hi Experts,

 

I have requirement for adding logic for split criteria in Billing Document.

 

I have added a custom field in billing due list , my requirement is to change spilt logic

of billing document  based on that custom field value.

 

Is this badi : /BEA/BDCPREQ help ?

How to add spiting criteria based on custom field .

 

Pls suggest me .

 

Thanks in advance.

 

Regards

Alok

Unexplored methods of IMPL class

$
0
0

Hello Experts,

 

  I came across methods in implementation class _IMPL cllass of view which i have not used. Can any one tell me what is the exact use of following methods ? Explanation with some sample code is always helpful. Thank you.

 

     DO_REQUEST

     DO_HANDLE_DATA

     DO_CONTEXT_NODE_BINDING

     DO_CLEANUP_CONTEXT

     DO_SERVICE_REQUEST

     DO_BEFORE_VA_REOCCUPATION

     DO_REPLACE_INITIAL_VIEW

     DO_VIEW_INIT_ON_RESTORE

 

BR,

Nikhil Kulkarni

HCM to CRM distribution - IT0105, ST0020 not updating in CRM

$
0
0

Hi guys,

 

I have a problem in that when distributing an employee from HCM to CRM communication infotype 0105, subtype 0020  is not being transferred in to CRM. I am also creating ST0010 which is updating in CRM successfully. I don't appear to be receiving any error message. Can anyone advise?

Viewing all 4552 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>