Quantcast
Channel: Customer Relationship Management (SAP CRM)
Viewing all 228 articles
Browse latest View live

SAP CRM General Administration + Performance Tuning - BASIS Consultants

$
0
0

Below are few of my learnings

 

 

1. Operating System

2. Database

3. Application

4. Middleware

5. SAP BASIS Daily monitoring and checks

6. Oracle Advanced level Compression

 

 

Operating system referred to below is of HP UX and Database is Oracle.

 

 

OS level Parameters

 

 

HP-UX 11.31 Itanium and PA-RISC (HP-UX 11iv3)

 

 

1. Ensure you follow the OSS note.

 

 

SAP on HP-UX: OS Kernel Parameter Recommendations (SAP Note 172747)

 

 

2. Size the SGA based on the capacity (CPU and RAM) on Database servers

 

 

Oracle 11g - 1431798 - Oracle 11.2.0: Database Parameter Settings

 

 

Database SGA

 

 

SGA Max size                         

Shared pool size                 

DB Cache size                      

Log buffer                             

Db writer processes              

Redo log size                        

 

 

3. Application level parameters :

 

 

Schedule a SAP Technical Performance Optimization Service on solution manager and based on the report change the below parameters.

 

 

ICM Parameters

 

icm/traffic_control                                                             

icm/max_sockets                                                              

icm/max_conn                                                   

icm/server_port_1                                             

icm/server_port_2                                             

icm/HTTP/server_cache_0/max_entries      

icm/HTTP/server_cache_0/memory_size_MB           

icm/HTTP/server_cache_0/size_MB                             

icm/min_threads                                               

icm/host_name_full                                          

icm/server_port_0                                           

icm/keep_alive_timeout                                  

mpi/total_size_MB                                       

 

 

Buffers

 

rsdb/ntab/entrycount

rsdb/ntab/ftabsize

rsdb/ntab/sntabsize

ztta/parameter_area

ztta/roll_area

rdisp/ROLL_SHM

rdisp/ROLL_MAXFS

rdisp/PG_MAXFS

abap/heap_area_dia

abap/heap_area_nondia

abap/heap_area_total

ztta/roll_extension

rdisp/wp_ca_blk_no

rdisp/appc_ca_blk_no

abap/buffersize

rsdb/cua/buffersize

rsdb/ntab/irbdsize

rsdb/obj/buffersize

rsdb/obj/mutex_n

rsdb/obj/large_object_size

rsdb/obj/max_objects

rtbb/max_tables

rtbb/buffer_length

sap/bufdir_entries

zcsa/db_max_buftab

zcsa/presentation_buffer_area

zcsa/table_buffer_area

rsdb/esm/large_object_size

rsdb/esm/max_objects

rsdb/esm/buffersize_kb

rsdb/otr/mutex_n

rsdb/otr/max_objects

rsdb/otr/buffersize_kb

abap/heaplimit

em/blocksize_KB

ict/exclude_compression                                *.zip,*.rar,*.arj,*.z,*.gz,*.tar,*.lzh,*.cab,*.hqx,*.ace,*.jar,*.ear,*.war,*.gzip,*.uue

 

 

Daily Monitoring

 

 

Daily Checks

 

 

Database overview                                             DB02/DBACOCKPIT

Table space maintenance                                 DBACOCKPIT/BRTOOLS

Correcting ST22 dumps & SM21 errors          ST22/SM21

File system monitoring                                       DBACOCKPIT/OS level

Jobs Monitoring                                                   SM37

Creating missing indexes                                  DBACOCKPIT

Work Load Analysis                                            ST03

Database Alerts Check                                      ST04

Check TemSe Status                                          SP12

Check Spool Output Requests for Errors        SP01

Backup Log Overview                                        DB12

Database Locks Check                                      DB01

Backup Calendar                                                                DB13

SMLG                                                                     SMLG

Transport Management System                       STMS

ICM Status                                                            SMICM

Overview of Send Orders                                  SOST

Work Process Status                                           SM50

Running Jobs Status across all systems        SM66

SAP Server / Work Process Status                   SM51

Check Lock Entries                                             SM12

Update Requests List                                         SM13

Dump Analysis                                                    ST22

Operating System and FS Check                     ST06

System Log Analysis                                          SM21

Buffer Analysis and Status                                ST02

 

CRM Checks

 

 

CRM Middleware Monitoring Cockpit              SMWP

Analyze Object and Sub Object logs               SLG1

qRFC Outbound Queue Monitor                       SMQ1 or SMWP or  RZ20

QOUT Scheduler                                                                 SMQS

qRFC Inbound Queue monitor                         SMQ2

QIN Scheduler Status                                         SMQR or SMWP or RZ20

Message Flow Statistics                                     SMWMFLOW

BDoc Messages/Summary                                               SMW01/ SMW02/ SMW02A/ SMW03

Check Flow Definitions                                      SMO8FD

Monitor Load Status                                            R3AM1 or SMWP

Monitor Request                                                  R3AR3 or SMWP

Replication objects                                              SMOEAC

Check Object Types from Admin Console     SMOECK

Status of generation processes                        GENSTATUS

Trace Status                                                         SMWTAD

 

 

Housekeeping

 

 

General Housekeeping

 

 

SAP_REORG_JOBS

SAP_REORG_SPOOL

SAP_REORG_BATCHINPUT

SAP_REORG_ABAPDUMPS

SAP_REORG_JOBSTATISTIC

SAP_REORG_UPDATERECORDS

SAP_COLLECTOR_FOR_JOBSTATISTIC

SAP_COLLECTOR_FOR_PERFMONITOR

SAP_COLLECTOR_FOR_NONE_R3_STAT

SAP_REORG_PRIPARAMS

SAP_REORG_XMILOG

SAP_CCMS_MONI_BATCH_STARTUP_DP

SAP_SPOOL_CONSISTENCY_CHECK

SAP_REORG_ORPHANED_JOBLOGS

SAP_CHECK_ACTIVE_JOBS

SAP_DELETE_ORPHANED_IVARIS

SAP_REORG_ORPHANED_TEMSE_FILES

DBA:CLEANUPLOGS

DBA:UPDATESTATS

DBA:CHECKDB

 

 

 

 

CRM Specific

 

 

SAP_REORG_CRM_PRODUCTS_INACTIV

SAP_SOA_ARCHIVE_PLAN

SAP_SOA_DELETE_HISTORY

SAP_SOA_DELETE_MESSAGES

SAP_SOA_TABLE_SWITCH

SAP_SOAP_RUNTIME_MANAGEMENT

ZCRM_ICI_TRACE_DELETE

ZRESTART_INBOUND

SMWP_BATCH/MW_S_COCKPIT_COLLECTOR_DWY

GN_GENERATE_CHECK/MW_S_CHECK_P_DWY

GN_WORKLIST_GENERATE/MW_S_GENERATE_P_DWY

SMO6_REORG2/MW_S_SMO6_REORG2_DWY

RSRLDREL

RSRLDREL - Object Links

BSP_CLEAN_UP_SERVER_COOKIES

HRBCI_ATTRIBUTES_BUFFER_UPDATE

 

 

Application Log Size (BALHDR)

 

 

System-wide performance can be impacted due to the large size of the application log tables, BALHDR etc. Reduce the number of entries in table BALHDR on a regular basis. Use transaction SLG2 to delete entries out of table BALHDR as described in SAP Note 195157.

 

 

Middleware tables SMW*_BDOC* can grow very large

 

 

Depending on the load of your trace or middleware log, tables can grow larger than 100 MB. Consequently, it can often be observed that expensive insert and read operations take place on the SMW3_BDOC* tables. Take administrative actions to reduce the size of the tables according to SAP Note 206439. Only increase the trace level if necessary.

Furthermore SAP Note 835761 has to be implemented to remove the BDocs in status I04.

 

 

Schedule report SMO6_REORG2 on a daily basis.

 

 

If the table SRRELROLES contains many entries with the OBJTYPE TRANSID consider the SAP Note 1385766 to reduce them. If the table SRRELROLES contains too many entries with the OBJTYPE BUS* you have remove them by archiving the corresponding objects using the transaction SARA.

 

 

MIME Repository consistency check:

 

 

After each SP import, execute the report RSIR_MIME_EXPIRY_CLEANUP on node /SAP in order to avoid repetitive download of static mime objects from the server that otherwise may be stored in the browser’s cache. Make sure Z-style sheets have at least 1 week caching time defined in the P-System.

 

 

CRM Middleware (CRM MW) Alert Monitor

 

 

Based on the SAP CCMS alert monitoring infrastructure Use transaction RZ20. This is available under the monitor collection “SAP CRM Monitor Templates” with the name CRM Middleware.

 

 

The CRM MW Alert Monitor monitors the following:

 

 

CRM MW-specific qRFC queues in SAP CRM system

CRM MW-specific qRFC queues in SAP ERP back-end system

The qRFC QIN scheduler of the SAP CRM system

The qRFC QOUT scheduler of the SAP CRM system

The processing status of messages in the BDoc message

The replication and realignment queues and the R&R queue demon

Status of the Communication Station

 

 

Enqueue Server shows slow performance –

 

 

We can go ahead and set the profile parameters .

1.       Note : 1353668 - Locks are retained due to network instabilities

2.       Set the instance profile parameter in the ABAP application server:

3.       enque/sync_dequeall = 1.

4.       Also set the following parameter in the standalone enqueue server:

5.       enque/encni/set_so_keepalive = TRUE

 

 

 

 

Follow the recommendations in SAP Note 1791958 to reduce the lock time on table VARINUM and avoid scheduling several background jobs simultaneously for the same program. Correction is not delivered in a Support Package. If required, you can implement the attached correction in the note.

 

 

Application log is too large

 

 

Should delete the obsolete entries. Need business decision to delete these entries (specially on the time – from which date can we go ahead and delete the entries).

 

 

Rebuilding the indexes – Run report RSORATD and check for the index storage quality and based on the requirement we can rebuild the indexes.

 

 

Please note that this report is very time and cpu consuming. So need to discuss on when we can run this report.

 

 

No reorg job scheduled to reduce size of tables SRRELROLES

 

 

706478 - Preventing Basis tables from increasing considerably

 

 

 

Growth of CRM_ICI_TRACES can slow IC

 

 

1712755 - Large ICI trace log affect the performance of IC function

 

 

It is recommended to keep the ICI trace log in a small size.

Delete the ICI trace on a regular basis.

To do this, you need to run program CRM_ICI_TRACE_DELETE to delete the old ICI trace log regularly.

 

 

 

 

By default, the program is pre-set to delete the ICI trace record log older than 14 days. You may set up your own delete trace age option according to the speed of the log growing in your system.

 

 

CRM WebClient performance related settings

 

 

Clear the inconsistent MIME objects. Refer to SAP Note 1277476 to clear out the inconsistent Mime objects and make the caching sufficient.

 

 

Adjust ICI trace parameter settings and remove out-of-date traces. Follow SAP Note 1712755 to adjust ICI trace settings and remove redundant ICI traces to improve the CTI integration performance.

 

 

To prevent a deadlock for IDoc update in parallel, you must configure at least number of dialog work processes >= n + rdisp/rfc_min_wait_dia_wp +1. Refer to SAP Note 565527 -Deadlock when using local update (IDocs). To avoid system hanging due to tRFC cascade, set rdisp/rfc_min_wait_dia_wp parameter >= 66% *(total number of DIA processes) per instance, refer to SAP Note 726148 -SAPLARFC occupies all work processes, RFC cascade.

 

 

Fragmented indexes

 

 

Based on the results of the Oracle Automatic Segment Advisor

(SQL: "Space_SegmentFragmentation_SegmentAdvisor"),the following indexes have allocated more than 100 MB of unused space and their storage quality is <= 50 %.

 

 

Rebuild the mentioned indexes as suggested by Oracle database in order to reduce fragmentation, and also regularly check for fragmented indexes. See SAP Note 771929 for more information regarding index fragmentation.

 

 

Database statistics for RFC-related tables

 

 

The statistics for RFC related Tables (ARFC*, TRFC*, etc.) are still generated through the standard BRCONNECT functionality. When the load is heavy and the RFC tables are inserted and deleted, the Cost Based Optimizer of Oracle may use the wrong access path. The transaction then takes a long time to execute.

 

 

Impact:

 

 

The Cost based Optimizer of Oracle may choose a sub optimal access path, resulting in expensive database access.

 

 

Recommended Task:

 

 

Follow the instructions of SAP Note 1020260 to generate the appropriate statistics.

 

 

 

ICM cache Configuration

 

 

Description:

 

 

The time recorded in Http Watch trace is longer than the time recorded in ST12 trace, which indicates that there is a lot of time spent on ICM.

 

 

The ICM cache was with default setting and was not tuned.Impact on Business:It will negatively affect the performance for HTTP request from BSP page to CRM backend.

 

 

Recommended Task:

 

 

Tune the following parameters as recommended.

 

 

Set icm/HTTP/server_cache_0/size_MB to 0 to disable the disk-level cache

Set icm/HTTP/server_cache_0/memory_size_MB to 1792

Set icm/HTTP/server_cache_0/max_entries to 25000

 

 

Refer the following documentation for more details: http://help.sap.com/saphelp_nw70ehp1/helpdata/en/48/405cbfca2331c3e10000000a42189d/frameset.htm

 

Please follow the sections from the SAP CRM Consultants Cook book.

 

http://scn.sap.com/docs/DOC-36041

 

 

 

Oracle Advanced level Compression

 

 

Compression for OLTP and OLAP.

 

 

Please refer to the below notes.

 

 

SAP note 740897 (Info about the Oracle license scope), Advanced Compression is an option contained in the Oracle database license offered by SAP

 

 

1289494 - FAQ Oracle compression

1436352 - Oracle Database 11g Advanced compression for SAP Systems.

 

 

 

Thanks for reading...

 

 

 

Ravi


Experience SAP Cloud for Customer

$
0
0

Customer Relationship Management (CRM) is a crucial element of any business. Whether it’s marketing, sales, or aftercare service, your customer must feel like they are number one on your priority list. If one of your existing or potential customers is presented with two almost identical products or services with similar cost, the key to winning the deal could be your customer engagement and commerce strategy. With an increased amount of competition in today’s business world, the difference between your company winning the deal over a competitor could be down to the opportunities you create and your customer service offering. You need to stay ahead and have the latest information available immediately. Life is busy and customers don’t want to wait on hold while you to find their details or previous notes. They want a smooth and fast resolution, whether it’s sales or aftercare.

This is why it’s a must for businesses to take their customer relationship management system to the cloud!openSAP_c4c1_image_picture.jpg

 

We are happy to announce a new openSAP course, Experience SAP Cloud for Customer, beginning September 9. SAP Cloud for Customer is SAP’s CRM cloud solutions offering, with a range of functions available such as account and management intelligence, knowledge base & customer support portal, opportunity management & insights, real-time actionable analytics, and much more. From a technical perspective, SAP Cloud for Customer offers APIs & SDK, back office integration, mobility & offline access, amongst other technical offerings.

 

This course was previously delivered as a classroom workshop for SAP Partners by the SAP Cloud for Customer product team. Due to high demand, the course has been created as an online offering and will be delivered on openSAP and will run for a three week period. There will be six areas covered in this course, starting with an overview of the SAP Cloud for Customer portfolio including the general consumer engagement and commerce strategy. Participants will get a functional overview of sales, service, marketing including mobility, collaboration, and analytics, along with industry solutions such as consumer products, insurance, retail, and others.

 

Participants will also get some hands-on experience to explore the new age of customer engagement and commerce solution with exercises on SAP Cloud for Customer. In the final week, the technical set up will be explained including integration scenarios, architecture, and extensibility including key user tools with SAP Cloud Applications Studio and SAP HANA Cloud Platform.

 

Experience SAP Cloud for Customer is aimed at the following groups:

  • Business decision makers in the area of sales, service, social media, and marketing
  • Application and technology consultants
  • Enterprise and IT architects
  • Application developers
  • All others interested in SAP Cloud for Customer

 

If you’re interested in learning more about SAP Cloud for Customer, sign up for this free course today. The course begins September 9 and is open to everyone interested in learning about SAP’s CRM cloud solutions. All you need to sign up is a valid email address.

 

We look forward to seeing you on board!

 

Other courses now open for enrollment on openSAP

Sustainability and Business Innovation (Repeat)

Software Development on SAP HANA (SPS 09)

One way to mass add BP role to business partners

$
0
0

In response to a post (Re: Mass add BP role to BP), here's how I worked out my LSMW to add a role to a list of Busines partners.

This post does not explain how LSMW works and how it should be done. Just some details of how you can do it. There are plenty of posts about LSMW.


I used a LSMW because I wasn't able to use the following alternatives (or find any other alternatives):

 

1. tcode MASS(D): could only modify, not able to add new records --> unsuitable.

2. BAPI_BUPA_ROLE_ADD_2:      (tcode se37) could only modify, not able to add new records --> unsuitable.

 

 

 

step 1 - Settings of transaction BP:

 

1.PNG

 

step 2 - create recording and configure LSMW steps and prepare file that needs to be processed (see attachment).

create LSMW recording: step by step opening transaction BP, put the BP in edit mode, select the role via the dropdown box, save the changes.

configure LSMW

prepare file that needs to be processed.

 

 

Hope this helps. Feedback is most welcome since I just started blogging.

 

 

Kindest regards,

 

Yee-Tee

Assign few BUSINESS ROLES to the user id in SAP CRM

$
0
0

Assign few(Two or more not for '*' or single) BUSINESS ROLES to the user id.

 

  • We have articles about how to assign single business role and all('*') business roles to particular user id so far.
  • We have have not yet how to assign 2 or more business roles to particular user id.

 

BUSINESS ROLE INTRODUCTION :

It is very clear that all employees of organisation need to handle different activities.

For example : Say there is one organisation called 'X'. It has number of departments likes sales, service, marketing....etc.

So employees in sales departments will have to do different activities when compared the employees in marketing department.

 

 

So what we do is we assign each employee a role(in indirect way) and they log into the CRM WEB CLIENT with this role.

So this is a key and like a container which can almost control everything that sees on the WEB CLIENT screen.

 

 

A user, who logged into the WEB UI with the role CRM CHANNEL MANAGER, can do all of his channel manager activities at the same time, another user who logged with another role can complete his won job related things.

 

 

If user is having more than business role, then he will be prompted to select any one role after user authentication is completed.

 

Kindly see the below screen shot of the user who has different roles. We can select one of them.

 


1.png

In SAP CRM, business role is little complex thing. SAP provides number of standard business roles and it's our responsibility to change or

enhance those roles according to our requirements.


Requirement  :How to assign two or more(not for '*' or Single) Business roles to one user id.

 

Step 1 :Go to transaction CRMC_UI_PROFILE or SAP reference IMG path :

            Customer Relationship Management >Business Roles > Define Business Roles.

 

2.png

 

Step 2 :  Select a suitable business roles which you want to displays in WEB UI and note the PFCG Role IDs.

            We can select any standard business roles and custom business roles.

                Here i want to display 2 business roles in WEB UI or more business roles to particular user id,

            if you want to...

 

3.png

 

Step 3 :  Go to transaction SU01 and provide user ID.

 

4.png

               Initial screen will be displayed with user details, shown below screen shot.

 

5.png

 

Step 4 :  Go to parameters tab.

                Observe here displaying all business roles to user id. So need to delete CRM_UI_PROFILE Set/Get

                parameter ID.

 

6.png

 

Step 5 :  Go to Roles tab for add our selected roles.

                Paste here earlier we noted  PFCG Role IDs for selected business roles and save the changes.

 

7.png

            We have successfully assigned the business roles to the user. Now its time test the roles.

            Logon to the web ui and give the user name and password and see our selected roles will be in

            the list and if it is only roles assigned to the user, roles will be directly loaded.

 

 

Step 6 : To go transaction WUI for access WEB UI.

 

8.png

 

          Enter user credentials over there and click on log on button.

 

9.png

         

          Successfully assigned selected business to particular user id, shown below screen shot.

 

10.png

Step by Step to create HANA live report in Webclient UI

$
0
0

1. Log on WebUI with role ANALYTICSPRO.

clipboard1.png

create a new HANA live report:

clipboard2.png

report type choose "SHL":

clipboard2.png

in popup window, you have to specify the following three attributes:

clipboard3.png

For field "SAP HANA Live Query",  You can choose from F4 value help:

clipboard4.png

In this example I just use standard HANA query delivered by SAP: OpportunityQuery.

 

2. Do not be confused by the id "OpportunityService" in previous screenshot. It is just an identifier defined in SPRO, but not the technical ID for a given HANA query view.

 

The 5 entries of the value help come from the below customizing:

clipboard5.png

So the query ID I choose, "OpportunityService", actually points to the HANA query OpportunityQuery.xsodata:

clipboard6.png

3. Now you are asked to specify value for mandatory parameters of the HANA query you select from step2.

clipboard7.png

The three mandatory parameters are defined in HANA studio:

clipboard4.png

You can find the example OpportunityQuery via the path in System perspective in HANA studio: sap->hba->crm->Calculation Views.

clipboard5.png

define an attribute for report ( Attributes are the individual non-measurable analytical elements). Here I choose "Analysis Phase".

clipboard6.png

Add measure ( Measures are measurable analytical elements ):

clipboard8.png

4. Now the report can be rendered - all the data comes from HANA database retrieved by HANA query efficiently:

clipboard9.png

In Chrome development tool, you can observe how analytic data is retrieved by HANA query:

clipboard10.png

response:

clipboard11.png

And the response data is also displayed in the bottom part of report:

clipboard12.png

You can switch to different stype of graph via the "Select Chart Type" drop down list.

clipboard13.png

Note: The prerequisite of using this solution in CRM Webui is the following configuration must be done for SAP Web Dispatcher.

  • URLs with the path /sap/hba/apps/crmhlq are routed to the OData port for the SAP HANA Extended Application Services in the SAP HANA database, which contains the SAP HANA Live Content with the query views used.
  • URLs with the path /sap/opu/odata/sap/ are routed to the message server for the CRM system.


SAP CRM Survey in BSP page using UI5

$
0
0

This blog will explains you the concept of Survey in BSP pages. As we know the survey contains questionnaires which in turns linked with activities. In this blog we will look into the following concepts:

  • Survey Determination
  • Create Survey in BSP pages

Let us start with some overview of Survey before starting the core concepts.

What is survey in activity?

The Survey will contains list of questionnaires which will be saved against that activity.

How to see the activity survey?

Here I have taken the Appointment which holds the survey like below,

Open the Activity in CRMD_ORDER, you can see the questionnaires of the survey.

1.PNG

How to do configuration for the survey?

In the CRM_SURVEY_SUITE (TX code), Here you can design the survey according to your requirement.

2.1.PNG

 

How to get the survey details for the Appointment?

In the CRM_ORDER_READ, you can get the ET_SURVEY table.

3.PNG

The above information are just the overview about the survey, now we will see the core concepts:

Survey Determination:

In activity we can have multiple survey linked to it. We should know which one is active.

We have survey determination table: CRMC_SVY_DET & also

We have survey determination FM: 'CRM_SURVEY_SEL_M_DET_FOR_TYPE'

Here you can pass the OBJECT TYPE and active Flag to get the list of active survey ids.

4.PNG

 

Creation of Survey with Appointment in BSP pages:

In crm_survey_suite we have done the configuration, SAP will generate the XML based on our configuration, we will get the XML from SAP and just render it in BSP pages.

Agenda:

  • Create the appointment
  • Create the survey
  • Map the survey
  • Show it in BSP pages.

Create the guid.

5.PNG

Get the Presentation from the SAP configuration.

Create the Survey object

6.PNG

Get the Presentation from SAP in format of XML.

7.PNG

Perform the Conversion

8.PNG

Show the Presentation in BSP page.

9.PNG

Event

10.PNG

Test Page:

11.PNG

On Click the SAVE button- We will send the Field Values to the Backend CRM and save the Appointment with Survey.

12.PNG

CRM logic to create the Appointment with Survey:

Guid Create:

13.PNG

Perform the Order maintain:

14.PNG

Generate the Survey answer string:

15.PNG

Generate the Value XML:

16.PNG

Link the survey to the Appointment:

17.PNG

Save the changes

18.PNG

Commit the work in Database

19.PNG

I have saved Appointment:1805 in BSP page, Same thing we can able to see in WEB UI also. Hence our Survey is working fine

20.PNG

SAP CRM Update: Q3, 2015

$
0
0

SAP CRM: Still Alive… and Better than Ever!

 

This is the first installment of a new quarterly update for SAP CRM (on-premise) customers, providing you with insight into what SAP is working on, what we've recently rolled out, and what we are planning.

 

It's no secret that SAP is aggressively investing in SaaS-based solution and that we want to become "The Cloud Company". That being said, SAP also recognizes that the Cloud may not always be an ideal match for every customer or every industry industry. We want to allow customers to choose the solution that best matches their needs -- whether it be the Cloud, on-premise, or a hybrid deployment.

 

In addition, SAP still has a huge installed base of customers running SAP CRM on-premise -- and we continue to add more customers every year!  Customers like yourselves, many of whom have just implemented SAP CRM or upgraded to the latest release, don't necessarily have any immediate plans to transition to the Cloud. Therefore, SAP has committed to protect your investment. To that end, SAP has extended mainstream maintenance of SAP CRM until 2025. In addition, SAP continues to enhance and improve SAP CRM with new features and enhancements via quarterly releases.

 

Analysts are also taking notice of the work SAP is doing with SAP CRM (on-premise). For example, last year Forrester ranked SAP the highest in its 2014 Forrester Wave: CRM Suites for Large Organizations. See the full report here. SAP CRM 7.0 was recognized for:

  • A well-rounded CRM supporting the end-to-end customer engagement experience
  • Large and broad set of industry-specific functionality
  • Very strong reporting and analytics tools
  • Strong marketing automation, customer service, and field service capabilities
  • A platform and architecture that is suitable for global deployment
  • Very strong application ownership experience and global strategy

 

 

SAP CRM: Quarterly Release Cycle

 

Although SAP has committed to maintain and support SAP CRM until at least 2025, we aren't just parking SAP CRM in a garage under a tarp like a classic automobile.  Nope, to the contrary, we are still under the hood tinkering every day: adding tweaks, performance improvements, and sweet new features via quarterly release cycles.

 

In Q2 we delivered EHP3 SP08, which introduced new features and enhancements such as: the ability to attach multiple PDF factsheets to a CRM business partner account, fast changes for ERP sales orders and sales quotes that have been downloaded to CRM, as well as various industry enhancements for Public Sector and Utilities.

 

We also recently just released EHP3 SP09, which provides additional enhancements such as mass-change mode for installed base (iBase) materials, creating and updating service contracts and service contract quotations from IBase components, as well as industry enhancements for Telco, Utilities, and Public Sector.

 

You can find more details about what was included in each release here. The next support package, EHP3 SP10, is planned for Q4.

 


SAP CRM: Continuous Innovation

 

The first version of SAP CRM was introduced back in 1999, over 15 years ago. Since then SAP has rolled out numerous improvements via support packages, enhancement packs, and new releases. You might naturally assume that by now, with version CRM 7.0, the solution would finally be complete? But alas, the world never stands still. New business models and best practices are continually evolving, and SAP needs to adapt and respond to keep our solutions current and relevant. Here are some recent enhancements that we think you will find interesting:

 

  • Fiori User Interface for SAP CRM: SAP Fiori UX (User Experience) is SAP’s next-generation user interface based on HTML5 / SAP UI5 mobile and OData services. Fiori is optimized to run on mobile devices, but Fiori apps can actually run on any device including smartphones and tablets, as well as laptops and desktops. Over 360 Fiori apps are available from SAP including over a dozen Fiori apps for CRM targeted for the Sales Professional / Sales Manager role including things like: accounts, contacts, appointments, tasks, notes, leads, opportunities, and even sales pipeline tracking and simulation. The Fiori apps for CRM Sales were released in standard with EHP3 SP08 for CRM 7.0, though they can also be manually installed on any release of CRM 7.0 or higher. For more information, see my blog, “Seven Things You Should Know about Fiori for CRM”.

 

  • SAP Desktop Connection for CRM: SAP Desktop Connection is a new offering from SAP that allows end users to access and maintain SAP CRM data like accounts/contacts, emails, appointments, activities, and tasks directly from Microsoft Outlook or IBM (Lotus) Notes. While not a legal successor release to SAP’s existing client-side or server-side groupware offerings, Desktop Connection does provide similar capabilities.

    However, unlike SAP’s existing groupware offerings, Desktop Connection offers greater flexibility and extensibility. And Desktop Connection is not just limited to things like contacts and emails; with the optional Enterprise Edition of Desktop Connection you can synchronize any CRM object with Outlook or Notes, including things like Leads or Opportunities! For more information about the free Professional Edition of Desktop Connection or the optional extended Enterprise Edition (which requires an additional license fee) see my blog, “Desktop Connection for SAP CRM”.

 

  • SAP CRM Powered by HANA: With EHP3 for CRM 7.0, we have made adjustments to CRM On-Premise to run on SAP HANA including optimized access to all CRM objects, as well as fast and flexible search capabilities across CRM. By using HANA to remove database indices we were able to improve CRM search performance results dramatically, in some cases by up to a factor of 115X. In the Interaction Center for example, by reducing the time required for things like business partner lookup and account history search, we were able to deliver a 5X reduction in average interaction time.

    Of course, it’s not all just about performance. Using SAP HANA we are also able to quickly crunch big data, enabling exciting new capabilities like real-time reporting directly from live CRM data without the need for BI/BW. See the below bullet point for more details!

 

  • HANA Live Analytics: With EHP3 SP05 for CRM 7.0, SAP released an exciting new analytics offering for CRM On-Premise called HANA Live Analytics. Similar to the older existing CRM Live OLTP analytics option, HANA Live Analytics allows real-time reporting against CRM data without the need for BI/BW. But unlike the older CRM Live OLTP analytics, HANA Live Analytics takes things a step further by allowing you to create your own custom reports and dashboards and then embed them – not just in CRM homepages – but also directly in other CRM screens such as Account Overview screen, Lead, Opportunities, etc.

    And HANA Live Analytics don’t only work with the CRM WebClient user interface; they can also be embedded in Fiori apps, as well as in any of the SAP BusinessObjects tools such as BusinessObjects Explorer, SAP BusinessObjects Web Intelligence, or SAP Lumira. And, finally, HANA Live Analytics can pull data from not only from CRM, but also from ERP. This means you can leverage so called “cross virtual data models (cross VDMs)” that overlay e.g., CRM opportunities with ERP sales volumes to see what percentage of CRM opportunities where actually converted to ERP sales orders.

 

  • hybris Marketing (yMKT) integration with CRM:  SAP is also pleased to announce our enhanced integration of hybris Marketing with SAP CRM. This scenario enables a marketing professional to segment SAP CRM customer data via hybris Marketing Segmentation, replicate target groups to SAP CRM automatically via middleware, and assign the target groups to campaigns in CRM. You can find full details here. The scenario also enables automated call-list generation in SAP CRM, which is then executed from the Interaction Center. Additionally, Interaction Center agents can be informed via IC Alerts about relevant hybris product recommendations.

    A rapid deployment solution (RDS) package is available from SAP to help customers get up and running quickly with the hybris Marketing integration to CRM On-Premise. Interested customers can even take advantage of a trial of SAP hybris Marketing and SAP CRM.

 


Influence the SAP CRM Roadmap: SAP Customer Connection


SAP publishes detailed official roadmaps for the SAP Line of Business (LoB) Marketing, Sales, and Service. You can find those on the SAP Service Marketplace on the right-hand side of the page under the “Strategy and Roadmap” heading area. However, perhaps one of the best keep SAP secrets, at least until now, has been a program called SAP Customer Connection that allows SAP customers to influence the SAP product roadmap by suggesting incremental improvements and enhancements for existing products.

 

SAP CRM On-Premise has been participating in the Customer Connection program every year for all 5 years that the program has been available, and CRM has the highest Net Promoter Score and most number of downloaded notes of any product area participating in the program.

 

In the last round of the program, CRM 2015 (which wraps up next month), customers submitted over 171 improvement requests, many of which we have already been able to deliver. That’s the nice thing about the Customer Connection program: instead of having to wait for the next enhancement package to come out to take advantage of new features, when possible we deliver the enhancements via notes and support packages that can be taken advantage of immediately.

 

Check out my blog, “You Asked for it, SAP Delivers: Twenty-Four (24) Cool New CRM Enhancements” to get an overview of the program and the type of enhancements provided. Additionally, all of the enhancements delivered via the Customer Connection program can be found in the SAP Improvement Finder tool.  And if any one is interested in joining the program, the current round, CRM 2016, just kicked off on August 26, so you're just in time to join us!

sCRM ( Simple CRM ) - Point of View

$
0
0

Would sCRM (the name To-Be Decided) co deployed with S/4
HANA make paradigm shift in Enterprise software deployment and running it?

 

 

Simple answer would be yes. But that needs to become
reality, there are lot of aspects on the product to be made clear. The Roadmap
for sCRM is listed out below.  
 
S4 HANA CRM Roadmap.png 
Source: SAP Roadmap for S/4 HANA

 

Traditionally SAP CRM deployed as an independent unit having
separate schema ID. This gives a flexibility of deploying it standalone or
integrated with SAP ECC.This flexibility comes at cost of maintaining duplicate
maintenance of some master data ( Customer, Products etc.,) and interface
structure ( SAP CRM Middleware ) for data transfer among SAP CRM, SAP ECC and
SAP BW.

 

 

This duplicate master data maintenance brings in additional
confusion for deciding on leading system to create data (Customer Master).

 

 

Will the upcoming sCRM co deployment do away with this
bottleneck?

 

 

It is still not clear on the roadmap of sCRM. However the
hope is very high on Simple, Lean and Agile application which would excite both
customers as well as SI vendors. On that premise, Will the co deployment fuses
the common database tables mainly between CRM and ECC i.e., Customer Data
Model, Product (Material), Sales order Data model etc.? If the co deployment of
CRM and ECC achieves this and brings seamless interconnection between CRM
processes (Customer facing processes) and ECC Processes (Fulfilment processes),
this would greatly reduce the pain of CRM middleware monitoring and periodic
interventions.

 

 

SAP CRM depends on lot of other SAP Products to carry out
business transactions. i.e., Campaign Management or TPM needs Planning
application to maintain planning values. This Planning application reside in BW
and this has multitude of versions (BW-BPS, BI-IP, BPC & IBP (on HANA)). Moreover
the options available for single planning can be done in either BW-BPS or
BI-IP. Hope, this will get realigned and would be single application for
planning purposes common to CRM, APO and ECC.

 

 

Nowadays trend is towards customer experience with the help
of Omni channel. SAP CRM web channel is in distributed format at present. SAP
CRM is interfaced with Hybris which has separate schema. This distributed
format would need data exchange between these two systems to achieve near
customer experience in the Omni channel world. When sCRM is the Product, would
we expect CRM and Hybris would merge into single system?

 

 

On the User Experience front, there were different UIs for
CRM and ECC. Will sCRM along with S/4 HANA have harmonized uniform User
Experience?

 

 

If this co deployment would do away with duplicate data
maintenance and middleware tweaking, how this would help deploying sCRM as
standalone (without S/4 HANA as backend). So sCRM should address the deployment
options with great agility.


Step-by-Step use Gateway Client to Test Operation--Create

$
0
0

Then let us start the test process step-by-step.


Notes: we will create a new Task by copy a already one. 

In this case, I will use Task(guid'FA163EEF-573D-1EE5-9686-8E98F573FCA3') as a create sample.


Step1. We use get method receive the details of Task(guid'FA163EEF-573D-1EE5-9686-8E98F573FCA3').

HTTP method: GET

URI:/sap/opu/odata/sap/CRM_ODATA/TaskCollection(guid'FA163EEF-573D-1EE5-9686-8E98F573FCA3')

Action: F8

Result: You will get a HTTP Respond, show all the details of Task(guid'FA163EEF-573D-1EE5-9686-8E98F573FCA3').

 

Image.png

 

 

Step2. Click on [Use as Request], trans the HTTP Response to HTTP Request.


Image.png



 


Step3. For creating a new Task, we need change the values in the request body as required.

(1)One action is required.

field <d:guid> need change to as below.   For <d:guid> is the key of a Task and it's format is '00000000-0000-0000-0000-000000000000', and can be generated auto when a Task is created.


<d:guid>00000000-0000-0000-0000-000000000000</d:guid>


(2) In this case I will change some other fields for the new Task, I will change discription.

 


Step4: Change the URI to URI:/sap/opu/odata/sap/CRM_ODATA/TaskCollection.

           For when create a new Task, we do not need a guid in URI.



Step5:

Set HTTP method: POST



Image.png


Step6:

Click F8.

Result: If the HTTP Respond code is 201, then you create it successfully.

 

Result:

HTTP respond code: 201

New Task(guid'FA163EEF-573D-1ED5-968A-741ED0990906')  and with<d:description>Sara test for create demo</d:description> generated.

Image.png

 

 


Step7:

Do double check in DB.



Step8:

Do double check in Webpage.


CRM Interactive Reporting: Datasources replication error

$
0
0

After doing the interactive reporting configuration, we may get the errors like "BW: Datasource /CRMBW/****_VDM is not replicated" when running the transaction /CRMBW/CONFIG_WIZARD. Now I am writing this blog to share some information about this kind of errors.

 

Firstly, where are the errors from?

The errors are related to new report areas based on HANA.

 

Then, is there any pre-requisite to use the new report areas?

If you intend to use them, please check the pre-requisites in the below link:

http://help.sap.com/saphelp_crmhana/helpdata/en/e3/c9b45527384a46abb6d60e016a9fe2/content.htm

 

 

And what should you do if you don't want to use these new report areas?

If you don't want to use them, please ignore the errors and continue to use the classic interactive reporting in your system.

 

Finally, what should you do if you still want to resolve the errors even though we don't want to use these new report areas?

 

Please refer to this thread

http://scn.sap.com/thread/3782360

 

Hope my blog could help you.

Register now for the SAP Customer Value Network event - Fort Worth, TX - Oct 19-21 - It's Free!

$
0
0

You may have seen SAP's recent press release announcing the Simplified Front Office announcement and the Beyond CRM marketing campaign. And you probably have questions! Don't worry, you're not alone. Numerous SAP customers (and partners) have reached out to me in the past few days requesting clarification about what this means for existing SAP CRM customers. Is SAP CRM (on-premise) being replaced by hybris? Do customers need to migrate to this new SAP hybris Profile solution?

 

The good news is that SAP CRM on-premise is not going away! As mentioned in my recent blog post, "SAP CRM Update: Q3, 2015", SAP CRM (on premise) is alive and better than ever. We're steadily adding new customers all the time, and we're continually enhacing the offering with new features and updates every quarter. So any investments you make in SAP CRM on premise are protected for the forseeable future.

 

However, in parallel, SAP recognizes that companies today increasingly require an integrated front-office solution that tightly ties together traditional CRM (SFA, Order Management, Customer Service), Marketing, and E-Commerce capabilties into one integrated offering. Stand-alone SFA and stand-alone CRM systems are quickly becoming obsolete. That's why SAP is moving "beyond CRM" and repositioning our SAP CRM on premise offering under the wider hybris Customer Engagement & Commerce product umbrella and brand. Makes sense, right?

 

If you'd like to find out more about how SAP CRM on premise and the rest of the SAP hybris solution portfolio work together to help you run better, please join us Oct 19 - 21 in Fort Worth, Texas for this free conference: SAP Customer Value Network  and hybris Americas' Customer Days. I'll be presenting in the afternoon on the second day of the conference, Tuesday, October 20, if you want to hear about the latest customer-driven innovations that we've rolled out for SAP CRM. Here's a link to the detailed agenda.

 

Register now for the SAP Customer Value Network event - Fort Worth, TX - Oct 19-21 - It's Free!

 

Dates:

Monday, October 19–Wednesday, October 21, 2015

 

Agenda Outline:

October 19 – Evening Reception

October 20 – Main Conference  - hybris Customer Days and CVN Sales & Service Sessions

October 21 – Customer Value Network Deep Dive Sessions

 

Location:

Omni Fort Worth Hotel

1300 Houston Street

Fort Worth, TX 76102

You Asked for It (Again), SAP Delivers: Fifty-Six (56) More CRM Enhancements!

$
0
0

Last year I wrote the blog post, "You Asked for it, SAP Delivers: Twenty Four (24) Cool New CRM Enhancements" introducing readers to the SAP Customer Connection program which allows customers to suggest new product enhnacements for SAP CRM. As I described in the blog post, SAP delivered two-dozen improvements to the CRM WebClient framework based on the ideas suggested and voted for by you -- our customers!

 

This year, in 2015, we had our biggest customer participation ever: Over 154 customers from 22 different countries submitted 171 enhancement requests! After the votes were tallied, SAP went to work, cranking out as many of the top-requested enhancements as possible. In the end, SAP was able to deliver over twice as many enhancements as last year!

 

Some of the enhnacement requests that SAP was able to deliver are generic usability tweaks to the CRM WebClient framework that will benefit all CRM processes, while other enhancements are more application specific (i.e., improvements to the CRM Service Order). You can have a look at all of new enhancements in the presentation here or you can use the http://www.sapimprovementfinder.com/

 

Some of the most popular new enhancements from the CRM2015 round of the Customer Connection program include:

 

  • Timeout notification and optional count-down clock
  • Open links in new browser tab
  • Drag and drop of email attachments in Interaction Center email editor
  • Search for archived documents in Interaction Center
  • Mass change of iBase components
  • View account search results visually on a map instead of a result list
  • And many more...

 

And as usual, enhancements from the Customer Connection program are available for immediate use (via SAP Notes) for select existing CRM versions! No need to wait for a future enhancement package.

 

So if you would like to get involved, hurry up and sign up for the CRM2016 round of the Customer Connection program which is still currently open. But hurry up, the submission period for new requests closes on October 31!

How To Impress! Pimp Your Mail Forms (with source code).

$
0
0

UI personalization is not a trend. It is an ever-growing feature of ERPs.

 

Today's SAP standard opportunities for personalization are not numerous, but it gets better. Maybe you have noticed that our favorite giant is trying very hard to adopt a more user-friendly and customizable approach through initiatives such as the SAP UX Explorer. And then, you probably also know that all of its biggest UI successes (Fiori UX, UI Theme Designer, etc.) are based on SAP UI5 - the SAP user interface for HTML5. Take SAP Personas, a drag-and-drop approach to modify SAP GUI screens, for example: although you can apply your personalized themes directly to SAP GUI Desktop, the only way to create or manage these is to work with SAP HTML (also known as the WebGUI).

 

Go talk to Webdesigners.

 

In the future, personalizing SAP systems will come from the Internet. But we are not quite there yet. The SAP "Simplification Process" takes time, and is not different to any other webdesigners' 5 steps process : 1) Assessing customers' needs; 2) "Wireframing", which is basically a skeletal framework of a website; 3) Choosing the right tools; 4) Designing a masterpiece; and 5) Customizing the website to help clients handling it properly.

plan_for_money.JPG(Source: "SAP Screen Personas is Part of a Broader UX Improvement Process")


What about today?


In the meantime some interesting tools tend to be undervalued, despite being excellent ways to play around with SAP and HTML5/CSS3. Do you frequently exchange e-mails with customers or partners? Do you have a standard ticketing service? Do you care about your corporate culture? Well, let's say you use ITSM-ChaRM and know about Mail Forms. If you already use them, let me say "Congrats!" because my guess is that not so many people do so.

 

However, there is still little chance that you've ever tried tweaking the source code of your forms. Why should you? I mean, it doesn't really seem like you have to, since SAP CRM comes with a "What You See Is What You Get" editor (WYSIWYG) that features Image/Link insertion, Fonts formatting, and Spellchecker. My point is, Mail Forms are the typical SAP Product: incredibly powerful, yet deceptivly ugly-looking. The World Wide Web is a visual medium, and customers now expect beautiful templates from anything that is browser-based.

 

screen_classic.png

(Click the orange button to see the source code)

 

We need a good example of that. So, let's say you and I are the founders of startup "MailFormTemp" (extra 10% shares for me, of course). We like our employees to be involved, and want to show off with Mail Forms being integrated into ITSM. We could go either with the previous standard template, which is okay by the way, or you could try sending something like this:


mailformtemp.JPG

(This takes less than 15min, once you've figured out how CSS works)

 

SAP CRM+CSS 101

 

First you need to understand that HTML and CSS are two different languages, and therefore linking the CSS content from an external file makes it maintenance friendly. However there is no way to work this way in SAP CRM, so you will have to embed your CSS directly into the HTML code <head> (between <style> and </style>). The browser Google Chrome is extremely helpful to modify templates, since the "Inspect element" option allows you to see directly on the screen what happens when changing the source code.

 

Customers matter. So does corporate culture.

 

The previous example shows you the possibility of sending beautiful e-mails to your employees (ie. developers), as well as your customers. I believe SAP is key to your clients's needs. But your clients also care about their image, and partners' image. The HTML and CSS languages are great opportunities to polish yours. You don't even have to code yourself, because the Internet is full of resources to help designing your very own Mail Form!


Proof of this is that you will find a free HTML/CSS mail source code as an attached file.

 

 

Good luck!

Serializing/De-serializing a flat internal table as an attachment

$
0
0

I did a bit of a fun thing of attaching a simple internal table with a flat structure as XML to a one order object and then reading it back. Below is some code if any one is interested.

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

FORM xml_exists USING         iv_filename     TYPE string
                          is_bo          
TYPE sibflporb
               
CHANGING   cs_access_info  TYPE skwf_cpprp
                          cv_exists      
TYPE abap_bool.

DATA: lt_access_info TYPE skwf_cpprps,
lt_bapiret2   
TYPE TABLE OF bapiret2.

CALL FUNCTION 'CRM_KW_DOC_GET_INFO'
EXPORTING
business_object     
= is_bo
IMPORTING
ios_file_access_info
= lt_access_info
TABLES
return               = lt_bapiret2.

READ TABLE lt_access_info INTO cs_access_info WITH KEY file_name = iv_filename.
IF sy-subrc EQ 0.
cv_exists
= abap_true.
ENDIF.

ENDFORM.

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

FUNCTION Z_TESTG_FM_WRITE .

*"----------------------------------------------------------------------

*"*"Local Interface:

*"  IMPORTING

*"     REFERENCE(IV_UPDATE_EXISTING) TYPE  BOOLEAN

*"     REFERENCE(IT_KEY_FIELDS) TYPE  CRMT_ATTR_NAME_VALUE_T

*"     REFERENCE(IT_TABLE_TO_ATTACH) TYPE  ANY TABLE

*"----------------------------------------------------------------------

 

 

   INCLUDE crm_object_types_con.

 

   DATA: ls_transaction_id  LIKE LINE OF it_key_fields,

         ls_filename        LIKE LINE OF it_key_fields,

         lv_xml_exists      TYPE abap_bool,

         ls_business_object TYPE sibflporb,

         ls_sdok_property   TYPE sdokpropty,

         lt_properties      TYPE sdokproptys,

         ls_file_info       TYPE sdokfilaci,

         lt_file_info       TYPE sdokfilacis,

         ls_error           TYPE skwf_error,

         lv_xml_length      TYPE int4,

         lt_xml_bin         TYPE sdokcntbins,

         lv_filename        TYPE c LENGTH 64,

         ls_phio            TYPE skwf_io,

         ls_access_info     TYPE skwf_cpprp,

         lv_filename_str    TYPE string,

         lv_xml             TYPE string,

         lv_xml_xstring     TYPE xstring,

         lv_guid            TYPE crmt_object_guid.

 

   "Check whether document can be locked

   CLEAR ls_transaction_id.

   READ TABLE it_key_fields INTO ls_transaction_id WITH KEY field_name = 'OBJECT_GUID'.

   CHECK sy-subrc EQ 0.

   CHECK ls_transaction_id IS NOT INITIAL.

 

   lv_guid = ls_transaction_id-field_value.

   CALL FUNCTION 'CRM_ORDER_ENQUEUE'

     EXPORTING

       iv_guid           = lv_guid

     EXCEPTIONS

       foreign_lock      = 1

       system_failure    = 2

       distributed_lock  = 3

       no_change_allowed = 4

       transferring      = 5

       OTHERS            = 6.

 

   IF sy-subrc NE 0.

     "Error Handling

   ENDIF.

 

   "Convert items table into an XML string

   CALL TRANSFORMATION id

       OPTIONS xml_header = 'without_encoding'

       SOURCE output = it_table_to_attach

       RESULT XML lv_xml.

 

   "Convert XML string to xstring

   CALL FUNCTION 'ECATT_CONV_STRING_TO_XSTRING'

     EXPORTING

       im_string  = lv_xml

     IMPORTING

       ex_xstring = lv_xml_xstring.

 

   IF sy-subrc NE 0.

     "Error Handling

   ELSE.

 

     "Convert xstring to binary

     CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'

       EXPORTING

         buffer        = lv_xml_xstring

       IMPORTING

         output_length = lv_xml_length

       TABLES

         binary_tab    = lt_xml_bin.

 

     "set attachment details

     ls_business_object-instid = lv_guid.

     ls_business_object-typeid = ''."gc_object_type-<<XXXXX>>.

     ls_business_object-catid  = 'BO'.

 

     "set dok properties

     CLEAR ls_filename.

     READ TABLE it_key_fields INTO ls_filename WITH KEY field_name = 'FILENAME'.

     CHECK sy-subrc EQ 0.

     IF ls_filename IS NOT INITIAL.

       lv_filename = ls_filename-field_value.

     ELSE.

       lv_filename = 'INTERNALTABLE.XML'.

     ENDIF.

     ls_sdok_property-name    = 'KW_RELATIVE_URL'.

     ls_sdok_property-value   = lv_filename.

     INSERT ls_sdok_property INTO TABLE  lt_properties.

 

     "Set file parameters

     ls_file_info-file_name  = lv_filename.

     ls_file_info-file_size lv_xml_length.

     ls_file_info-mimetype   = 'application/xml'.

     ls_file_info-binary_flg = abap_true.

     ls_file_info-first_line = 1.

     ls_file_info-last_line  = lines( lt_xml_bin ).

     APPEND ls_file_info TO lt_file_info.

 

 

     IF iv_update_existing EQ abap_true.

       lv_filename_str = lv_filename.

       lv_xml_exists = abap_false.

       PERFORM xml_exists USING lv_filename_str

                          ls_business_object

                          CHANGING ls_access_info

                                   lv_xml_exists.

       IF lv_xml_exists EQ abap_true.

         "Attach the document to the BO

 

         ls_phio-objtype = ls_access_info-objtype. "PHIO

         ls_phio-class = ls_access_info-class.

         ls_phio-objid = ls_access_info-objid.

 

         CALL METHOD cl_crm_documents=>create_version_with_table

           EXPORTING

             business_object      = ls_business_object

             file_access_info     = lt_file_info

*           properties           = lt_properties

             phio                 = ls_phio

             file_content_binary  = lt_xml_bin

             raw_mode             = abap_true

             iv_version_overwrite = abap_true

           IMPORTING

             error                = ls_error.

 

       ELSE.

         "Attach the document to the BO

         CALL METHOD cl_crm_documents=>create_with_table

           EXPORTING

             business_object     = ls_business_object

             properties          = lt_properties

             file_access_info    = lt_file_info

             file_content_binary = lt_xml_bin

           IMPORTING

             error               = ls_error.

       ENDIF.

     ELSE.

       "Attach the document to the BO

       CALL METHOD cl_crm_documents=>create_with_table

         EXPORTING

           business_object     = ls_business_object

           properties          = lt_properties

           file_access_info    = lt_file_info

           file_content_binary = lt_xml_bin

         IMPORTING

           error               = ls_error.

     ENDIF.

 

 

     IF ls_error-type EQ 'E'.

       "Error Handling

     ENDIF.

 

     CALL FUNCTION 'CRM_ORDER_DEQUEUE'

       EXPORTING

         iv_guid      = lv_guid

*       iv_collect   = ' '

*       iv_enqueue_mode = 'E'

         iv_from_init = abap_false.

 

   ENDIF.

 

ENDFUNCTION.

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

FUNCTION z_testg_fm_read.

*"----------------------------------------------------------------------

*"*"Local Interface:

*"  IMPORTING

*"     REFERENCE(IT_KEY_FIELDS) TYPE  CRMT_ATTR_NAME_VALUE_T

*"  EXPORTING

*"     REFERENCE(ET_TABLE_READ) TYPE  ANY TABLE

*"----------------------------------------------------------------------

 

   INCLUDE crm_object_types_con.

 

   DATA: ls_transaction_id        LIKE LINE OF it_key_fields,

         ls_filename              LIKE LINE OF it_key_fields,

         lt_properties            TYPE sdokproptys,

         lt_orig_io               TYPE skwf_ios,

         ls_orig_io               TYPE skwf_io,

         lt_bapiret               TYPE bapiret2_t,

         lt_access_info           TYPE skwf_cpprps,

         ls_access_info           LIKE LINE OF lt_access_info,

         lv_xml_xstring           TYPE xstring,

         lv_xml_string            TYPE string,

         lv_input_length          TYPE i,

         lv_filename              TYPE c LENGTH 64,

         ls_error                 TYPE bapiret2,

         lt_ios_properties_result TYPE crm_kw_propst,

         ls_sdokproptl            TYPE sdokproptl,

         lv_sdok_propv            TYPE sdok_propv,

         lv_doc_guid              TYPE sdok_docid.

 

   FIELD-SYMBOLS: <fs_ios_properties_result> TYPE crm_kw_props.

 

   CLEAR ls_transaction_id.

   READ TABLE it_key_fields INTO ls_transaction_id WITH KEY field_name = 'OBJECT_GUID'.

   CHECK sy-subrc EQ 0.

   CHECK ls_transaction_id IS NOT INITIAL.

 

   DATA(ls_bo) = VALUE sibflporb( instid  = ls_transaction_id-field_value

                                  objtype = 'BUS2000280'"gc_object_type-social_application

                                  catid   = 'BO' ).

 

   CLEAR ls_filename.

   READ TABLE it_key_fields INTO ls_filename WITH KEY field_name = 'FILENAME'.

   CHECK sy-subrc EQ 0.

   IF ls_filename IS NOT INITIAL.

     lv_filename = ls_filename-field_value.

   ELSE.

     lv_filename = 'INTERNALTABLE.XML'.

   ENDIF.

   DATA(ls_sdok_property) = VALUE sdokpropty( name    = 'KW_RELATIVE_URL'

                                              value   = lv_filename ).

   APPEND ls_sdok_property TO lt_properties.

 

   "Read the attachment properties from KM

   CALL FUNCTION 'CRM_KW_DOC_GET_INFO'

     EXPORTING

       business_object       = ls_bo

       newest_only           = 'X'

       properties_query      = lt_properties

     IMPORTING

       ios_file_access_info  = lt_access_info

       ios_properties_result = lt_ios_properties_result

     TABLES

       return                = lt_bapiret.

 

   READ TABLE lt_bapiret INTO ls_error WITH KEY type = zif_ndis_constants=>gc_type_error.

   IF sy-subrc EQ 0.

     "Error Handling

   ENDIF.

 

   IF lines( lt_access_info ) > 0.

     "Identify the latest attachment if there are multiple

     LOOP AT lt_ios_properties_result ASSIGNING <fs_ios_properties_result> WHERE objtype = zif_ndis_constants=>gc_phio.

       CLEAR ls_sdokproptl.

       READ TABLE <fs_ios_properties_result>-properties

         INTO ls_sdokproptl WITH KEY name = 'LAST_CHANGED_AT'.

 

       IF ls_sdokproptl-value > lv_sdok_propv.

         lv_sdok_propv = ls_sdokproptl-value.

         lv_doc_guid = <fs_ios_properties_result>-objid.

       ENDIF.

 

     ENDLOOP.

 

     READ TABLE lt_access_info INTO ls_access_info WITH KEY objid = lv_doc_guid.

 

     ls_orig_io = VALUE #( objtype = ls_access_info-objtype

                           class = ls_access_info-class

                           objid = ls_access_info-objid ).

     INSERT ls_orig_io INTO TABLE lt_orig_io.

 

     "Read the attachment in binary form

     cl_crm_documents=>get_document(

       EXPORTING

         io          = ls_orig_io

       IMPORTING

         content_bin = DATA(lt_orig_xml_bin) ).

 

     lv_input_length = ls_access_info-file_size.

 

     "Convert the attachment from binary to xstring

     CALL FUNCTION 'SCMS_BINARY_TO_XSTRING'

       EXPORTING

         input_length = lv_input_length

       IMPORTING

         buffer       = lv_xml_xstring

       TABLES

         binary_tab   = lt_orig_xml_bin

       EXCEPTIONS

         failed       = 1

         OTHERS       = 2.

 

     IF sy-subrc NE 0.

       "Error Handling

     ELSE.

       "Convert the attachment from xstring to string

       CALL FUNCTION 'ECATT_CONV_XSTRING_TO_STRING'

         EXPORTING

           im_xstring = lv_xml_xstring

         IMPORTING

           ex_string  = lv_xml_string.

 

       IF lv_xml_string IS NOT INITIAL.

         "Convert the XML string into an internal table

         CALL TRANSFORMATION id

           SOURCE XML lv_xml_string

           RESULT output = ET_TABLE_READ.

       ENDIF.

     ENDIF.

   ENDIF.

 

ENDFUNCTION.

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

REPORT ztest.

 

DATA: ls_wa         TYPE crmt_attr_name_value,

           lt_key_fields TYPE crmt_attr_name_value_t,

           lt_table      TYPE crmt_attr_name_value_t.

 

 

ls_wa-field_name = 'OBJECT_GUID'.

ls_wa-field_value = '0010568E5A181EE515A8811D9372791D'.

APPEND ls_wa TO lt_key_fields.

 

ls_wa-field_name = 'FILENAME'.

ls_wa-field_value = 'TESTG.XML'.

APPEND ls_wa TO lt_key_fields.

 

CALL FUNCTION 'Z_TESTG_FM_WRITE'

   EXPORTING

     iv_update_existing = abap_true

     it_key_fields      = lt_key_fields

     it_table_to_attach = lt_key_fields.

 

CALL FUNCTION 'Z_TESTG_FM_READ'

   EXPORTING

     it_key_fields = lt_key_fields

   IMPORTING

     et_table_read = lt_table.

 

WRITE 'Ok'.


SAP CRM Order to Cash Process with integration to SAP ECC

$
0
0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SAP CRM Order to Cash process can be completed with integration to the SAP ECC system and specifically to the SAP SD module.

 

Following are the steps to be followed for a very basic straight forward order to cash business scenario in a retail environment:

 

 

1) Master data:

 

• Organisation Structure – The Organisation structure is maintained in the SAP ECC system and is replicated to the SAP CRM system.

 

• Customer Master – Generally in a green-field implementation, the master system for Business Partners (Customers) is the SAP CRM system.

   This is the best proposed route as SAP CRM provides a holistic 360 degree view of the Customer.

 

• Product Master – Product master will normally be the SAP ECC system which has a more complex product/material management setup but SAP CRM

  can also be maintained as the Product master in business scenario’s which require this.       

 

 

2) Customising data:

 

The customising data needs to be replicated from the SAP ECC to SAP CRM system for the condition technique and usages for the following:

 

• Pricing

• Free Goods

• Product Determination

 

(Middleware is used to replicate data between the SAP ECC and SAP CRM systems)

 

 

3) Configuration of Transactional and Master Data:

 

All the necessary configuration is maintained within the SAP CRM and SAP ECC system along with any additional BADI implementation depending on the requirement of the business process to be implemented.

 

 

4) Following is the standard order to cash business process in a Retail environment:

 

• Sales Order is created in SAP CRM and replicated to the SAP ECC system using Middleware.

 

• The SAP CRM system also creates a dependent item in the billing due list, containing billing information from the sales in situations where billing is carried

  out from the SAP CRM system.

 

• A delivery is created in the SAP ECC system from the Sales Order.

 

• The delivery status is also updated in the Sales order present in the SAP CRM system with the transaction history (document flow) updated.

 

• Goods issue is posted in the SAP ECC system which relates to the reduction in stock level as material is picked from the plant or delivery unit for shipment

  to the Customer.

 

• The delivered quantity and status is also updated to the sales order within the SAP CRM system with the transaction history (document flow) updated.

 

• Based on the delivered items the previously created dependent item in the billing due list is updated.

 

• A billing document is created in the SAP CRM system and deletes the corresponding billing due list item.

 

• After verifying the invoices which were created, they are further released and replicated to the SAP FI-CA module within the SAP ECC system for further

  processing of the payment.

 

Please feel free to read this post and others on my website: kamleshpillai.com


Achieve a customer-oriented CRM strategy: SAP CRM: Business Processes and Configuration explains it all!

$
0
0

I am pleased to announce that SAP PRESS has published SAP CRM: Business Processes and Configuration, a book authored by myself with a contribution from Ginger Gatling on SAP Cloud for Customer chapter. This title is comprehensive guide to SAP CRM and highlights:

 

-SAP CRM Introduction

-Master Data Concept

-Middleware Concept

-CRM Marketing

-CRM Sales

-CRM Service

-Web Client UI

-Web Channel

-Interaction Center

-CRM Cloud for Customer

-CRM Mobility

-Analytics

-Tips for Performance Measurement

...and more!

 

1039.jpg

 

The book is a one-stop shop to SAP CRM processes and configuration with real time SAP CRM functionality examples. It covers each and every aspect of my SAP CRM project experience, delving into CRM functionalities and helping you in your SAP CRM project implementation. It provides a good understanding on SAP CRM process flows within each area and also gives you a broad horizon into CRM space.

 

The purpose of this book is to synchronize CRM business processes and functionality into one guide. The target audience is CRM consultants, implementation team members, project leads, business analysts and all key decision makers in customer facing industries.

 

Read more on the SAP PRESS website and order your copy today. Enjoy reading!!!

CRM HANA-Live Analytics or CRM Interactive (OLTP) Reporting?

$
0
0

If you're an SAP CRM (on-premise) customer interested in real-time reporting and analytics then there's a good chance that you've struggled with the question about which approach to choose to enable real-time reporting in CRM. In this blog post I'll walk you through the two options including the older CRM Interactive OLTP Reporting option as well as the new HANA Live Analytics approach. Spoiler alert: I'm recommend HANA Live Analtyics... at least in most situations. But please, read on.

 


Introducing CRM Interactive (OLTP) Reporting

 

Long-time SAP CRM aficionados may recall that SAP introduced CRM Interactive (OLTP) Reporting back in 2006 with CRM 5.2. The concept was simple, yet powerful. Instead of going through the hassle of exporting live CRM data to SAP BI systems just to be able do real-time CRM reporting, you could instead create a dedicated BI client in your existing SAP CRM system. You can read more about CRM Interactive Reporting in theFAQs OLTP Reporting document here.

 

With this approach, no separate SAP BI system was required for basic operational / transactional CRM reporting. Instead, the SAP NetWeaver stack that comes with SAP CRM could be used in order to run real-time operational CRM reports directly on the CRM implementation. Customers would of course still rely on SAP BI for analytical (OLAP) reporting, advanced analyses, and/or historic reporting. But simple CRM transactional (OLTP) reporting could be done directly in CRM.

 

While CRM Interactive reporting was a sound concept and a solid offering for its time (almost 10 years ago), customers did sometimes struggle with the complex set up and configuration process. In addition, the CRM Interactive reports were limited to certain predefined SAP business objects and the solution offered limited options for project-based customizations or enhancements.

 

 

Introducing CRM Hana Live Analytics

 

Thankfully SAP was able to address many of the challenges presented by CRM Interactive Reporting with the new SAP CRM Hana Live Reporting available as of SAP CRM 7.0 Enhancement Package 2 (EHP2) Support Package 05 (SP05). For example, while the CRM Interactive reporting was limited to selected optimized areas due to scalability and performance reasons, the new Hana Live Reporting covers more operational respoting areas across Marketing, Sales and Service.

 

In addition, with the old CRM Interactive Reporting it was not possible for customers to define their own new reporting areas without modifying the standard code; only field extensions were supported in standard. However with the new CRM Hana Live Analytics customers can easily define their own new reporting areas by building their own new Hana views and registering the OData services in the backend CRM system.

 

More than 40 virtual data models (VDMs) are delivered standard out of the box with CRM Hana Live Analytics to allow reporting against almost any CRM business object including those shown below. You can find a full list of the default Hana Live Virtual Data Models and Query Views in the SAP online help.

  • Business Partner
  • Products
  • Activity
  • Interaction Record
  • Leads
  • Campaigns
  • Contract Tracking
  • Opportunity
  • Sales Order
  • Sales Quotation
  • Sales Contract
  • Sales Performance Management
  • Complaint
  • Service Problem
  • Service Request
  • Service Order and Service Confirmation

 

Please note that SAP Hana Live Cross-Analytics requires SAP CRM 7.0 EHP1 (SP12) or higher and SAP ERP 6.0 EHP4 (SP00) or higher.

 

 

Combining CRM / ERP data with CRM Hana Live Cross-Analtyics

 

One of the other benefits of CRM Hana Live Analytics is that it allows you to combine CRM and ERP data in order to do consolidated "Cross-Analytics" reporting. SAP delivers three sample cross-virtual data models out of the box including:

 

  • ERP Sales Orders and CRM Opportunities: This query view enables you to use SAP CRM master data to analyze your opportunities and sales orders. The query view is designed as an example for answering questions such as:
    • What is the expected net amount of the opportunities and the total net amount of sales orders at the sales organization level or at the account level?
    • What is the total net amount of the sales orders for the current year and the previous year at the sales organization level or at the account level?
    • What is the net amount of opportunities for the current year at the sales organization level or at the account level?
    • What is the projected amount for the current year at the sales organization level or at the account level?
    • How many opportunities and sales orders exist at the sales organization level or at the account level?


  • ERP Customer Invoices (Billing Net Amount / Quantity by CRM Account, Product, or Sales Org): SAP delivers two standard query views for Invoices including one for the Customer Invoice Header and another for Customer Invoice Items. These query views help answer business questions such as:
    • What is the header total net amount and tax amount at the sales organization level or at the account level?
    • How many customer invoice headers exist at the sales organization level or at the account level?
    • What is the item net amount, tax amount, and billing quantity at the sales organization level or at the account level?
    • How many customer invoice items exist at the sales organization level or at the account level?


  • ERP Credit Memos by CRM Account, Product, or Sales Org: SAP delivers two standard query views for Credit Memos including one for the Credit Memo Header and another for the Credit Memo Items. These query views help answer business questions such as:
    • What is the header total net amount and tax amount at the sales organization level or at the account level?
    • How many credit memo headers exist at the sales organization level or at the account level?
    • What is the item net amount, tax amount, and billing quantity at the sales organization level or at the account level?
    • How many credit memo items exist at the sales organization level or at the account level?

 

 

Extending SAP Hana Live Virtual Data Models (VDMs)

 

You find details in the How-to-Guide for creating new VDMs and Reports.However, the high level steps are as follows:

  1. Hana Expert (Developer): Extend or model new SAP HANA Live Query Views in Hana Studio by reusing the SAP shipped reuse views or by defining new ones.
  2. Key User: Create SAP CRM HANA Live Reports in CRM WebUI
  3. Business User: Usage of published reports in CRMWebUI or Fiori


Please note:


  • After extending transactional apps with new fields you also need to extend the Hana Live Views (VDM) in order to reflect those extensions.
  • There is currently no single tool which helps extending both in one step. The good news is that if you extend a VDM which is exposed as OData and is being used in a SHL Reports or Fiori Customer Reports those new attributes will automatically appear also in the Reports which use the OData service



Conclusions


As you probably expected, SAP Hana Live Analytics are a better choice for most new analytics projects where real-time CRM reporting and analytics are required. First of all, HANA Live Reprting is built on a newer platform that offers greater performance over the old CRM Interactive Reporting. In addition, HANA Live Analytics provide more out of the box reporting areas and coverage than CRM Interactive Reporting. And finally, whereas the old CRM Interactive Reporting provided limited ability for extension (without making coding modifications), the new Hana Live Analytics can be freely and easily extended.

 

That being said, the old CRM Interactive Reporting may still be sufficient for some customers. If the standard out-of-the-box reporting areas cover your requirements and you aren't looking to make a financial investment in SAP HANA quite just yet, then CRM Interactive Reporting may be a perfect stop-gap solution for you! Either way, you can't really go wrong .

 

 

Don't miss a post! Follow my blog at john.burton.



Related SAP Notes

 

 

Other Useful Resources

One order document application log read optimization

$
0
0

Recently I am responsible for the performance optimization of one API which retrieves application logs of the given one order documents.

 

API Requirement

 

The input is an internal table containing document guids, and output are all the application logs belonging to those documents, with type "Error" and priority "Very important" and "Important".

 

For the application logs of a single document, you can view them via tcode SLG1 as below:

clipboard1.png

clipboard2.png

The application logs would be displayed in WebUI as below:

clipboard3.png

The signature of API:

clipboard4.png

The structure of table type CRMT_ODATA_TASK_LOGST could be found below:

clipboard5.png

Original implementation ( has performance issue )

The idea of original implementation is:

 

...
LOOP AT it_order_guid_tab.        " get all of the message handles of the current order by its guid and stores to variable lt_message_handles        LOOP AT lt_message_handles.              " get the detail of each message according to its handle        ENDLOOP.
ENDLOOP.

As you see there are nested loop, so the algorithm complexity is o(n2).


The optimized implementation

 

The idea is to avoid the nested LOOP.

 

...
" get all message handles belonging to all orders in a single method call
lt_all_message_handlers = get_all( it_order_guid_tab ).
LOOP AT lt_all_message_handlers.       " get the detail of each message according to its handle
ENDLOOP.

The algorithm complexity is reduced to o(n).

 

The original implementation could be found from method GET_ORDER_ERROR_MESSAGE of the class CL_CRM_ORDER_MESSAGE_TOOL in the attachment. The optimized version is in method GET_ORDER_ERROR_MESSAGE_OPT.

 

Performance comparison

 

I do the performance measurement based on the following three scenarios. We can see the performance is improved a lot after nested LOOP is removed.

The idea of original implementation is:

 

clipboard6.png

Unit Test

 

In order to guarantee that the optimized implementation does return exactly the same data as the original one, I write the following report to do unit test. The design is quite simple, retrieve the application log for the same input twice, one using the original implementation and the other one using the optimized version, and eASSERT lt_result1 = lt_result2.

 

The report source code is attached here:

 

REPORT tool_display_log_compare.
CLASS lcl_test DEFINITION.  PUBLIC SECTION.    METHODS: test_all_oppt, test_created_by_jerry, test_oppt_jerry,      constructor.  PRIVATE SECTION.    METHODS:       get_oppt_guid, compare, get_created_by, get_oppt_jerry.    DATA: mt_guid_tab   TYPE crmt_object_guid_tab,          mt_msg_origin TYPE crmt_odata_task_logst,          mt_msg_opt    LIKE mt_msg_origin,          mo_tool       TYPE REF TO cl_crm_order_message_tool.
ENDCLASS.
CLASS lcl_test IMPLEMENTATION.  METHOD: test_oppt_jerry.     get_oppt_jerry( ).     compare( ).     WRITE: / 'lines of message: ' , lines( mt_msg_origin ).     WRITE: / 'test on all Opportunity with type OPPT and created by Jerry passed.' COLOR COL_NEGATIVE.  ENDMETHOD.  METHOD: test_created_by_jerry.     get_created_by( ).     compare( ).     WRITE: / 'lines of message: ' , lines( mt_msg_origin ).     WRITE: / 'test on all Opportunity created by Jerry passed.' COLOR COL_NEGATIVE.  ENDMETHOD.  METHOD: test_all_oppt.     get_oppt_guid( ).     compare( ).     WRITE: / 'lines of message: ' , lines( mt_msg_origin ).     WRITE: / 'test on all Opportunity with type OPPT passed.' COLOR COL_NEGATIVE.  ENDMETHOD.
METHOD: get_created_by.    CLEAR: mt_guid_tab.    SELECT guid INTO TABLE mt_guid_tab FROM crmd_orderadm_h WHERE created_by = 'WANGJER'.  ENDMETHOD.   METHOD: get_oppt_jerry.    CLEAR: mt_guid_tab.    SELECT guid INTO TABLE mt_guid_tab FROM crmd_orderadm_h WHERE process_type = 'OPPT' AND created_by = 'WANGJER'.  ENDMETHOD.  METHOD: get_oppt_guid.    CLEAR: mt_guid_tab.    SELECT guid INTO TABLE mt_guid_tab FROM crmd_orderadm_h WHERE process_type = 'OPPT'.  ENDMETHOD.  METHOD: compare.    CLEAR: mt_msg_origin, mt_msg_opt.    mt_msg_origin = mo_tool->get_order_error_message_opt( mt_guid_tab ).    CALL FUNCTION 'CRM_MESSAGES_INIT'      EXPORTING        it_docnumber = mt_guid_tab.    mt_msg_opt = mo_tool->get_order_error_message( mt_guid_tab ).    SORT mt_msg_origin BY header_guid log_msg.    SORT mt_msg_opt BY header_guid log_msg.    ASSERT mt_msg_origin = mt_msg_opt.  ENDMETHOD.  METHOD: constructor.    mo_tool = NEW cl_crm_order_message_tool( ).  ENDMETHOD.
ENDCLASS.
START-OF-SELECTION.
DATA: lo_test TYPE REF TO lcl_test.
lo_test = new lcl_test( ).
lo_test->test_all_oppt( ).
lo_test->test_created_by_jerry( ).
lo_test->test_oppt_jerry( ).

Why does the navigation after clicking email hyperlink not happen in Account search result

$
0
0

Issue description

 

In Account search result view, by clicking the email hyperlink,

clipboard1.png


we expected that there is a navigation to email creation view:

clipboard2.png

However in some system, after clicking email hyperlink, nothing happens.

 

Issue Analysis

 

1. Select one row in search result, click F2 to review technical information, and get the UI component name BP_HEAD_SEARCH.

 

2. Open the component via tcode BSP_WD_CMPWB, check the email hyperlink implementation by double clicking GET_P_EMAIL

clipboard3.png

3. From the p getter implementation, we get to know the logic that once it is clicked, the event handler and the outbound plug TOEMAIL will be triggered.

clipboard4.png

4. Then we can double click on OP_TOEMAIL and set breakpoint there to start debug.

clipboard5.png

I launch two debuggers separately in system AG3 ( where navigation works ) and K9E ( where navigation fails ) to compare the execution logic.

 

4.1 The navigation execution in K9E terminates due to the failure of check in line 37. So I have to check why lt_proc is empty after line 34.

clipboard6.png


4.2 When I debug into the method in 4.1, it is because is_navigation_supported returns false for process type 0005.

clipboard7.png

4.3 Within method IS_NAVIGATION_SUPPORTED, first the UI object type is determined in method 38.

clipboard8.png

In system AG3, the result is BT126_MAIL, and for K9E it is CRM_ICM_EMAIL. This difference is caused by the different business switch status as displayed in line 183 and 184 below.

clipboard9.png

The reason why the navigation works in AG3: it successfully finds a navigation target from internal table gt_map_infos for UI object type BT126_MAIL.

clipboard10.png

The found navigation target:

clipboard11.png

This target is maintained in customizing below:

clipboard12.png

clipboard13.png

But in system K9E, the different UI object type CRM_ICM_EMAIL is used, and the corresponding customizing for its navigation target is missing, so the navigation does not work.

clipboard14.png

After the necessary navigation customizing is added, the navigation in K9E also works.

Help.sap... Documentation oh Man!!!

$
0
0

When I first started with SAP CRM I used to struggle for the latest document on each module of SAP CRM like Sale ,Services Marketing , Interaction canter , mobile clients ,middleware etc  these goes on..,

 

Unfortunately we have everything here in help.sap for all modules of SAP business suite one can download and kept it for later reference or can go through in one shot.

 

SAP CRM 10.png

 

Expand /Click on customer Relationship mgmt options trust me we are done for the decades to come there are so many document which needs to be taken care.

 

SAP CRM 11.png

 

By selecting the SAP Customer Relationship Management options one can able to follow the documents within based on the latest releases from SAP. Sometimes you may hear more outside but reflecting here takes some time in preparing these docs off course!

 

SAP CRM 12.png

Once getting inside the versions vice option in the main page we have below mentioned options available in one stop.

 

SAP Notes with new release and SAP installation and upgrade information:

 

SAP CRM 13.png

 

Configuration and Deployment Information and SAP security info:

 

 

 

SAP CRM 14.png

 

 

System Administration and Maintenance Information /Application Help/SAP Fiori for SAP CRM :

 

SAP CRM 15.png

SAP CRM 16.png

 

SAP CRM 17.png

 

Note : This will be helpful for new beginners in SAP irrespective of SAP module.

 

Happy Learning / Sharing!!!

Viewing all 228 articles
Browse latest View live