Mostly SAP related…
Posts tagged IC WebClient
15 Years of SMS and SAP CRM still does not support it
Oct 19th
This marks the 15th year of Democracy and Commercial Mobile Phone Networks in South Africa. It seems that SAP has been oblivious to the development of the mobile phone and the proliferation of the humble SMS as a means of communication with customers.
SAP CRM has been around for about 10 years now, and is marketed as a best of breed CRM solution. Why then is there no support for sending or receiving of SMS’s in the Interaction Centre?
Atleast they still support Letters…
Passing Custom Fields to Lean Order API
Mar 31st
I recently started working on the ERP Sales Order functionality in the CRM 5.0 WebClient. This is essentially a WebClient view which uses the ERP 6.0 Lean Order API(LORD) to perform all sales order functionality directly in the backend. The benefit is no messy replication of CRM Sales Orders, Config, Pricing and Enhancements.
The problem is that as with all ERP systems customers enhance VA01 over time and the Lean API does not cater for all scenarios, such as additional fields appended to VBAK which must be filled by the user. (UPDATE – See Note 1078575 for restrictions)
The problem is that there seems no(to my knowledge) way to extend the structures of the API to carry these from CRM to ERP in any traditional(i.e. passing parameters) way.
Then this SDN thread prompted me to investigate the innovative implementation of the Lean Order API and I learned something new: Global variables in SAP Programs are externally accessible!
So all you need to do is create a Remote Function module like the one below in ERP.
FUNCTION ZZ_ERPORDER_TRANSFER_FIELD.
*"----------------------------------------------------------------------
*"*"Local Interface:
*" IMPORTING
*" VALUE(IV_CONTACT_NAME) TYPE ZZCONTACT DEFAULT 'My Abap Test'
*"----------------------------------------------------------------------
field-symbols: <fs_vbak> type vbak.
assign ('(SAPLSLS_LORD)VBAK') to <fs_vbak>.
if sy-subrc = 0.
<fs_vbak>-ZZCONTACT = IV_CONTACT_NAME.
endif.
ENDFUNCTION.The function module above accesses the global VBAK structure in Function Group SLS_LORD and updates it. This is riding rough shod over any concept of variable scope, so please think carefully before implementing this.
Now, all you need is to call the RFC Function Module from CRM. I used an implementation of BADI CRM_IC_ERP_BADI to accomplish this.
method IF_EX_CRM_IC_ERP_BADI~AFTER_CREATION.
call function 'ZZ_ERPORDER_TRANSFER_FIELD'
destination cl_crm_erp_il=>gv_rfc
EXPORTING
IV_CONTACT_NAME = 'Contact Name'.
endmethod.Browser Support and SAP CRM
Jun 26th
My default Web Browser is still Internet Explorer 6.0. Not that I particularly like IE 6, I happen to have Firefox, Opera and Safari installed as well.
But, most of my customers still use IE6 and some of their(woefully unpatched) SAP CRM 4.0 and 5.0 IC WebClient Systems still require IE6.
A quick run down on IC WebClient browser support(all the versions support IE6) from the PAM:
- CRM 4.0 – IE7 has been released(11 July 2007) conditionally to the implementation of notes 986254, 1005093 and 981710.
- SAP CRM 5.0 – IE7 is supported with CRM 5.0 Support Pack 10 since 29 July 2007. Also note that the WebClient on IE7 with Vista will only be supported by 30 September 2008!
- SAP CRM 2007 – IE7 support came standard. Also, there is limited support for Firefox 2(This really works, except for the bloody ActiveX controls).
Bottom line, IE6 is still the most trusted and reliable browser to use with the WebClient.
Microsoft released IE7 in October 2006 and it took SAP 9 months to get the WebClient to work with it. It seems IE8 is in beta on its way later this year. Time will tell if the final version 8 will fix the bugs and be as standards compliant as promised.
I don’t think there was anything wrong with SAP developing the IC WebClient(and most of its other BSP Applications) only for IE6 as that was what 99% of its customers were using at the time(I have never seen anything other than IE on a corporate network). However, I imagine SAP spent a truck load of money to make its 3 supported CRM versions work with IE7. Now, IE8 is coming and I wonder how much it will cost SAP to provide IE8 support.
My hope is that SAP realizes that by chasing compatibility for individual browser editions is inefficient. Developing to a standard such as XHTML, wasn’t feasible 2 years ago, but it surely must become the development direction now.
And there is no reason why you shouldn’t be able to display SAP Notes(also a BSP application) with a relatively standards compliant browser such as Opera. By the way, Opera is not supported for any HTMLB based BSP applications, so this is not a CRM specific issue.
A final thought relating to the screenshot above. Why should SAP completely bomb me out if I use an unsupported browser? Why not just run the page and see what happens? Its not as if I am going to log a message about it as the PAM clearly omits Opera as a supported platform.
Triggering a Broadcast
May 29th
The SAP CRM system allows a manager to send broadcasts to agents via the broadcast manager. This is useful to notify agents immediately of any important information.
The BSP Application CRM_BM can be used to send broadcast messages. Below is a screenshot.
When you click send, the user will immediately receive a scrolling message at the bottom of their screen.
However, in some case you may want to send an automated message. Maybe you want to notify a processor that a service ticket is outside SLA or a customer must be phoned?
It is possible to send broadcasts automatically from background jobs or actions using the following code.
data: lt_users type crmt_bm_key_value_tab,
ls_user type crmt_bm_key_value_line,
lv_message type string.
data: supervisor type ref to cl_crm_bm_broadcast_sup.
lv_message = 'This is a demo message'.
ls_user-key = 'AUSERNAME'.
ls_user-value = 'AUSERNAME'.
append ls_user to lt_users.
create object supervisor.
try.
supervisor->send_message(
exporting text_value = lv_message
priority_value = '0'
duration_h_value = '0'
duration_m_value = '1'
dl_members = lt_users ).
* importing
* et_success = et_success
* et_fail = et_fail
catch cx_crm_bm_exception .
endtry.Determine the current WebClient Profile
Apr 8th
Sometimes you need to determine the WebClient Profile of the logged in user. The code below you allows you to accomplish this.
In CRM 4.0:
data: lv_profile type crmc_ic_profile .
lv_profile = cl_crm_ic_services=>get_customizing_profiles( ).
In CRM 5.0 and beyond:
data: lr_prof type ref to if_ic_profile,
lv_prof type string.
lr_prof = cl_ic_profile_service=>get_instance( ).
lv_prof = lr_prof->get_profile( ).


