Archive

Archive for the ‘SAP CRM’ Category

SAP CRM Portal Integration

December 14th, 2010 2 comments

There are many companies utilize the SAP portal as the central access of company-wise business applications. If company launches the SAP CRM, it also needs to be integrated into the portal landscape.

SAP deliveries predefined content bundled as business packages for completing business tasks. In essence, the business packages provide out-of-the-box portal applications that can be easily modified to suit a customer’s needs. SAP provides business packages for CRM from version 5.0 to 7.0.

In general, the business packages are downloaded and installable via SAP Solution Manager. In exceptional cases, the business packages can also be downloaded from the Service Marketplace, but it require approval before download.

Another way to integrate the CRM into portal environment is to create BSP iViews directly in the portal content. This is the easiest way to integrate the CRM into portal if you just want to have a simple integration, for example, allow certain groups have the capability to search CRM opportunities.

Below are the detailed procedures:

1. Configure SSO between portal and CRM server.

Generally there are two methods to configure SSO. One is user mapping, the other is using logon ticket.

2. Create the BSP iView.

Create the BSP iView with below attributes:

BSP Definition Type Alias
BSP Alias sap/crm_logon
Name <iView Name>
Start Page default.htm
System <CRM System Alias>
Application Parameters something like: crm-object-type=BT111_OPPT&crm-object-action=B&crm-object-value=22&crm-object-keyname=OBJECT_ID

There are some other parameter patterns you can use to view other CRM objects:

http://<serverhost>:<port>/sap/crm_logon/default.htm?crm-object-type=BT126_APPT&crm-object-action=B&crm-object-value=<guid>

http://<serverhost>:<port>/sap/crm_logon/default.htm?crm-object-type=BP_ACCOUNT&crm-object-action=B&crm-object-keyname=PARTNER&crm-object-value=<partner_id>

http://<serverhost>:<port>/sap/crm_logon/default.htm?crm-object-type=BP_CONTACT&crm-object-action=B&crm-object-keyname=CONP_NUMBER&crm-object-value=<contact_id>

Other object types can be found in CRM view BSPDLCV_OBJ_TYPE.

3. Create portal pages, role and assign role to users or groups.

Below screenshot shows the result of CRM and portal integration.

portal crm integration

SAP CRM – Service Order to Invoice

April 28th, 2010 No comments

SAP CRM service functionality enables you to manage your service cycles, starting with managing service contracts and warranties, through service requests to service orders, complaints, returns and service confirmations. This post describes a typical service process in SAP CRM from receiving customer incoming call to billing the customer for the service performed.

1. Service Interaction Center

The service agent receives the customer call. The customer can automatically identified using the phone number. The service agent can also use search function to identify customers in the system. Then agent chooses the corresponding insalled base component according to the conversation. After completing the account identification, all the following business transactions are based on theses selected information.

If agent decides a service technician must check the issue on-site, he creates a service order.

image

Read more…

Price Analysis in CRM

December 16th, 2009 No comments

Question: When I look at conditions on the line item, press ‘Access’ button, I get the message ‘No price determination analysis available’. How can I analysis price determination in CRM?

Answer: Go to SU01. Enter your user id. Click parameter tab, add parameter ‘PRC_TRACE’ and value ‘X’. This will solve your problem.

SAP CRM Web Channel BADI

November 15th, 2009 No comments

Here I listed some useful BADIs for CRM web channel development, especially for b2b applications. All the function modules for web channel one order functionality is located in function group CRM_ISALES_ORDER(CRM Internet Sales Basket & Order).

This function group contains all the function modules for crm basket. It contains all the basket/order related data at runtime in the memory. Each time, user choose update or simulate button at frontend. The order will be save to the backend and rebuild it in the java side.

CRM_ISA_BASKET_HEAD       BADI for Customer-Specific Enhancement of Basket Headers

CRM_ISA_BASKET_ITEMS      BADI for Customer-Specific Enhancement of Basket Items

CRM_ISA_BASKET_TEXT        Text Maintenance in ISA

CRM_ISA_GEN_DOC_SEL       ISA: Generic Document Search

CRM_ISA_STAT_DETAIL        Filling the Extension Tables of _BASKET_STATUS_ENH

Function group CRM_ISALES_SHOP(WebAPI Internet Sales: Shop).This function group is used for shop processing. Function module ‘CRM_ISA_SHOP_DATA_GET’ is for reading the detail shop data. But there is no BADI for reading extension data of the shop. You must copy this function module out and add your custom extension in it.

Other BADIs which are also important in CRM.

CRM_SHIPPING_BADI              BAdI to Process SHIPPING

CRM_DATAEXCHG_BADI        CRM_DATAEXCH_AFTER_BAPI_FILL

CRM Web Channel – FM Listener

October 29th, 2009 No comments

In CRM Web Channel, there are several enhancement concept. One of the most tricky one is function module listener. Using function module listener concept, you can intercept function calls to the SAP system. A Java listener can be registered and is notified before and after calling a function module. You can use this listener to manipulate input/output parameters. You also have access to the Backend Context.

This is an example to show how to use function module listener.

Step 1. Create listener class.

Listener class must implement interface ‘com.sap.isa.core.eai.sp.jco.JCoConnectionEventListener‘.

/*
 * Created on 2009-10-23
 *
 * To change the template for this generated file go to
 * Window>;Preferences>;Java>;Code Generation>;Code and Comments
 */
package com.yourcompany.isa.event;
 
import com.honeywell.isa.businessobject.bobpricing.Z_BobPricingConstants;
import com.sap.isa.businessobject.Shop;
import com.sap.isa.core.eai.sp.jco.JCoConnectionEvent;
import com.sap.isa.core.eai.sp.jco.JCoConnectionEventListener;
import com.sap.mw.jco.JCO;
 
/**
 * @author Andy
 *
 * This class will be called when calling the function module 'CRM_ISA_BASKET_GETTEXT'.
 * This function module will use the same text id for both header and item text, so we need to copy this
 * function module out to add some more logic.
 */
public class Z_TextGetEventListener implements JCoConnectionEventListener {
 
	/* (non-Javadoc)
	 * @see com.sap.isa.core.eai.sp.jco.JCoConnectionEventListener#connectionEvent(com.sap.isa.core.eai.sp.jco.JCoConnectionEvent)
	 */
	public void connectionEvent(JCoConnectionEvent event) {
 
		if(event.getId() == JCoConnectionEvent.BEFORE_JCO_FUNCTION_CALL){
 
			//check whether the item text id is maintained in the shop administrator
			Shop shop = (Shop)event.getBackendContext().getAttribute(Z_BobPricingConstants.SHOP);
 
			if(shop == null){
				return;
			}
 
			String itemTextId = (String)shop.getExtensionData("ZZ_ITEM_TDID");
			String headerTextId = (String)shop.getExtensionData("ZZ_HEADER_TDID");
 
			if(itemTextId == null || itemTextId.equals("")){
				return;
			}
 
			if(headerTextId == null || headerTextId.equals("")){
				return;
			}
 
			JCO.Function function = event.getJCoFunction();
 
			JCO.Table textTable = function.getTableParameterList().getTable("TEXT_LINE");
 
			//append a new line for the seperate header and item text id
			textTable.appendRow();
			textTable.setValue((headerTextId + "||" + itemTextId) , "TDLINE");
		}
		else{
			return;
		}
 
	}
 
}

Step 2. Register the class into file ‘modification-config.xml’.

<function-module-listener>
<param name=”fmevent:CRM_ISA_BASKET_GETTEXT” value=”com.honeywell.isa.event.Z_TextGetEventListener”/>
</function-module-listener>

SAP CRM – EEW(Easy Enhancement Workbench)

October 29th, 2009 No comments

The Easy Enhancement Workbench is a development tool with which SAP applications (called Business Objects in the following document) can be extended in a simple manner. Customer enhancements to a Business Object are defined via wizards. The Workbench then does all development work for the user: database tables, screens and application logic are created automatically. Finally the customer enhancement is included in the SAP standard. This post will show you how to enhance SAP business transaction step by step.

Step 1.Create a new project.

Go to transaction code EEWB and choose ‘Create Project’. Enter project name and package name.

eewb_1

Step 2.Assign the transport to the project.

So that the extension objects generated by the Easy Enhancement Workbench can be used in the productive system, the Easy Enhancement Workbench is connected to the Change and Transport System. To include the objects in requests, transport requests must be assigned to the transportable projects of the Easy Enhancement Workbench.

Step 3.Create A new Extension

eewb_2

Step 4. Follow the extension wizard to add new fields

In the wizard, you can choose which business transaction categories do you want to enhance. Then you can define new added fields with data type and length. Once you finish the definition of extension,  the EEWB will automatic generate everything for you.

Read more…

SAP CRM – Event Handler

October 28th, 2009 1 comment

The event handler is a standard tool in the processing of a business transaction, for communication between the different objects that influence each other. It is used to call function modules, named callbacks that are accessed when triggering an event at a certain time.Lots of SAP standard functionalities are implemented using SAP CRM event handler.

Use transaction code: CRMV_EVENT to view or create event handler.

For example, if there is a requirement that the program needs to populate a zfield in structure orderadm_i after calculating the price using IPC.

Step 1. We can define an event as showed in below image.

event_handler

Object: PRIDOC,Event: AFTET_CHANGE means if the pricing document has been changed, the callback function module will be called automatically.

The callback function module needs to be added in table CRMC_FUNC_ASSIGN. There is no maintenance view for this table, but you can directly add a new entry in SE16.

Step 2. Define the call back function module.

The function module interface is fixed and slight different according to the call back setting in event handler definition. You can copy the interface of standard function module which has the same technical setting.

Step 3. Test your custom event handler

Set a session break point in your event handler function. When changing the order product, quantity, If the price document changed, the function module should be called accordingly.

Read more…

SAP CRM Pricing Enhancement Overview

September 23rd, 2009 2 comments

crm_pricing

Naming SAP E-Commerce / SAP CRM Web Channel

September 19th, 2009 2 comments

SAP product names always make me confused. I have been working on ECO for ERP and CRM for about one yeaer. But I still confused by it’s offical name in differernt document. Finally, I found an SAP note 817119 to clarify my question. Below is cited from the SAP note.

Read more…

An introduction about IPC

September 19th, 2009 2 comments

SAP Internet Pricing and Configurator (SAP IPC) is used in numerous SAP applications to configure products through the Internet. SAP IPC belongs, technically speaking, to SAP Customer Relationship Management (SAP CRM), but it can also be installed separately on its own database (“standalone”).

As of SAP CRM 5.0 the SAP IPC 7.0 is a component of the Application Platform (AP). Compared to the previous release that is SAP IPC 4.0, the technology has been switched to SAP Virtual Machine Container (VMC), which is part of the SAP Web Application Server (SAP Web AS) and SAP NetWeaver 2004s. Installation of a separate database is not required as SAP IPC 7.0 is moved to the SAP Web AS. This was done in order to use VMC.

IPC supports the same functionality like R/3 pricing and VC(variant configuration) and it is the first Java applicaiton that runs in the VMC(virtual machine container). It comprises below parts:

  • SCE Sales Configuration Engine
  • SPE Sales Pricing Engine
  • PME Product modeling Environment

IPC also contains an JSP application that is integrated into ERP ECO and CRM web channel. Use this JSP application, internet customer can easy configure an configurable material in the browser.