CRM FieldApp Customizing

34
1 Overview Presentation: Operating and Customizing Field Applications in SAP CRM SAP CRM 5.0 – Field Applications

Transcript of CRM FieldApp Customizing

Page 1: CRM FieldApp Customizing

1

Overview Presentation:

Operating and Customizing Field Applications in SAP CRM

SAP CRM 5.0 – Field Applications

Page 2: CRM FieldApp Customizing

2

© SAP AG 2005, SAP CRM 5.0 – Field Applications, 2 of 34

Content

Field Applications in SAP CRM

Further Information

mySAP CRM Powered by SAP NetWeaver:Mobile Scenario

Operating Field Applications in SAP CRM

CRM Middleware and Mobile .NET Client

System Landscape

Data Distribution and Synchronization

System Administration and Monitoring

Customizing Field Applications in SAP CRMServer-Side Customizing Process

Client-Side Customizing Process

Software Logistics

Page 3: CRM FieldApp Customizing

3

© SAP AG 2005, SAP CRM 5.0 – Field Applications, 3 of 34

Field Applications in SAP CRM

Field applications is a key capability within SAP CRM, providingmarketing, sales, and service functionality in an offline environment on notebooks or PDA devices:

There are four SAP CRM standard applications:Mobile salesMobile serviceMobile sales for handheldMobile service for handheld

Mobile sales and mobile service are based on the following:CRM middlewareMobile .NET client

Mobile Sales / Mobile Service provide marketing, sales, and service functionality on a notebook (or Tablet PC).

CRM Middleware and Mobile .NET Client are the technologies supporting these notebook-based applications.

Mobile Sales for Handheld and Mobile Service for Handheld are supported by Mobile Infrastructure (Mobile Java Client), another technology provided by SAP, targetting handheld devices. This technology is not discussed in this presentation.

Page 4: CRM FieldApp Customizing

4

© SAP AG 2005, SAP CRM 5.0 – Field Applications, 4 of 34

Challenges in Field Applications

Comprehensive support of mobile users in their daily work

Offline availability of all relevant customer-related data

Seamless integration with other CRM components to guarantee integrated processes between in-house and field users

Information sharing between online and offline users by leveraging intelligent replication services

Easy deployment and automatic installation of laptops in the field

Page 5: CRM FieldApp Customizing

5

© SAP AG 2005, SAP CRM 5.0 – Field Applications, 5 of 34

Content

Field Applications in SAP CRM

Further Information

mySAP CRM Powered by SAP NetWeaver:Mobile Scenario

Operating Field Applications in SAP CRM

CRM Middleware and Mobile .NET Client

System Landscape

Data Distribution and Synchronization

System Administration and Monitoring

Customizing Field Applications in SAP CRMServer-Side Customizing Process

Client-Side Customizing Process

Software Logistics

Page 6: CRM FieldApp Customizing

6

© SAP AG 2005, SAP CRM 5.0 – Field Applications, 6 of 34

mySAP CRM Powered by SAP NetWeaver

SAP NetWeaver

SAP CRM

E-Commerce

Field Applications in SAP CRM

Mobile Sales: Laptop/Handheld/Online

Mobile Service: Laptop/Handheld

CRM Integration Services

Interaction Center

Channel Management

Analytics

Service

Sales

Marketing

People Integration

Information Integration

Process Integration

Application Platform

Mobile .Net Client (SAP CRM)

Mobile Browser Client

Mobile Java Client

SAP NetWeaver Mobile

As part of SAP NetWeaver Mobile, Mobile .NET Client (SAP CRM) is a client technology designed and optimized for Microsoft Windows-based, occasionally server-connected CRM field applications running on mobile devices with a large footprint, such as notebooks.

The CRM Integration Services (CRM Middelware) provide mobile client synchronization facilities to ensure seamless integration of business data and processes between inhouse- and field users.

Page 7: CRM FieldApp Customizing

7

© SAP AG 2005, SAP CRM 5.0 – Field Applications, 7 of 34

CRM Middleware: Facts

Mobile client synchronizationData replication using “publish and subscribe” conceptAutomatic redistribution of data upon changes

Value change in replication-relevant data fields (minor realignment)Changed data assignments for mobile sites (major realignment)

Automatic installation and upgrade of mobile clientsCentral backup and recovery of “mobile” data

Cross-component system administration and monitoring

Back-end integration

Groupware integration

The CRM Middleware provides the means to keep multiple offline, occationally connected, mobile clients in a consistent state „in sync“ with the CRM Server.

Data is replicated to mobile clients according to a replication model based on the „publish & subscribe“ concept. This means, a mobile client has to „subscribe“ to certain data in order to receive this data. The CRM Middleware takes care of re-distributing data in case of data changes (minor realignment) as well as subscription rule (major realignment) changes.

Besides business data, also software or runtime data (installation packages, upgrades) can be distributed to mobile clients using the CRM Middleware.

In case e.g. a notebook has to be replaced, data can be recovered fast and easily. The Consolidated Database (CDB) on the CRM Server contains all data from all mobile clients, so that the CRM Middleware can extract any subset of data needed and make it available for any mobile client.

The CRM Middleware also provides various tools for system administration and monitoring.

Real-time data exchange between a CRM Server and a Groupware Servercan also be provided by the CRM Middleware. So, e.g. Business Partners in Mobile Sales can be integrated with contacts in Microsoft Outlook.

The CRM Middleware provides full Back-End integration of the CRM System into mySAP ERP as well as non-SAP Back-Ends using various adapters and plug-ins.

Page 8: CRM FieldApp Customizing

8

© SAP AG 2005, SAP CRM 5.0 – Field Applications, 8 of 34

Mobile .NET Client: Facts

Design-time environment: Mobile Application StudioIntegration with Microsoft Visual Studio .NETModifying and enhancing field applications in SAP CRM

Set of visual modeling tools

Source-code generationChange management and modification supportMultiuser developmentTranslation supportSoftware logistics

Runtime frameworksBusiness framework layerUser interface framework layer

Mobile .NET Client provides a runtime framework for CRM Field Applications as well as a design environment to customize these applications.

The design environment, Mobile Application Studio (MAS), is integrated with Microsoft Visual Studio .NET and provides a set of visual modeling tools to facilitate application development as well as a code generator to generate source code from the application meta-data which is stored in the Mobile Application Repository (MAR).

The MAS together with the MAR handles multiuser development and provides proper change management for development objects.

Multilanguage translations for labels and captions are handled

Software logistics, based on the standard R/3 transport system in conjunction with the CRM Middleware, exist for application meta-data as well as for generated runtime files (-> upgrades).

The runtime frameworks consist of a business framework layer and a user interface framework layer.

The business framework layer contains a logic layer which defines the interfaces exposed to application developers and a data access layer (DAL) which defines services for accessing the local user database.

The user interface framework layer consists of a „core“ layer which interacts with the logic layer of the business framework and which defines the core interaction components and their behaviour, and a „control“ layer which defines the actual controls that appear on the screen (all derived from .NET controls) and the interaction between the controls and the „core“ (-> peer layer).

Page 9: CRM FieldApp Customizing

9

© SAP AG 2005, SAP CRM 5.0 – Field Applications, 9 of 34

Content

Field Applications in SAP CRM

Further Information

mySAP CRM Powered by SAP NetWeaver:Mobile Scenario

Operating Field Applications in SAP CRM

CRM Middleware and Mobile .NET Client

System Landscape

Data Distribution and Synchronization

System Administration and Monitoring

Customizing Field Applications in SAP CRMServer-Side Customizing Process

Client-Side Customizing Process

Software Logistics

Page 10: CRM FieldApp Customizing

10

© SAP AG 2005, SAP CRM 5.0 – Field Applications, 10 of 34

mySAP ERP

OtherSystems

CRM Serverwith

CRM Middleware

CDB

Communication Station

Mobile Clients withCRM Field Application

Periodically, the mobile clientsdial up the communication

station to exchange data via the CRM Middleware.

Mobile RepositoryServer with Mobile

Application Repository (MAR)

Mobile Development Environment

ODBC

MAS

MAS

MAS

Mobile Development Workstations with Mobile Application Studio (MAS)

Permanent communication facilities

Temporary dial-up facilities

SAP CRM System Landscape: Mobile Scenario

MAR

UDBUDB

UDB

CRM ServerThe CRM Server is the „heart“ of the system landscape. Here the CRM Online application components as well as the CRM database reside. The CRM Middleware is a software component on the CRM Server providing, among others, various services to integrate mobile clients. The consolidated database (CDB) is part of the CRM database (certain set of tables) and contains the consolidated data from all mobile clients. This means that the local user database (UDB) on every mobile client is a subset of the CDB. In case of a crash or loss, it is very easy to replace every mobile client / UDB by just extracting the respective data from the CDB.Communication StationThe communication station acts a „switch site“ for mobile clients to connect to the CRM Server to exchange data. The data packages in the outbound queue of a mobile client are wrapped as BDoc messages in DCOM calls. These DCOM calls are transformed into remote function calls (RFCs) on the communication station to be further processed by the CRM Middleware. The similar way vice versa holds true for data packages that are received by mobile clients.Mobile ClientThe Mobile Clients are usually notebooks or Tablet PC‘s where the application component, e.g. SAP CRM Mobile Sales, isinstalled. The application works on a local user database (UDB) in offline mode and the user exchanges data on a regular basis with the CRM Server using the communication station (see above). Also software upgrades are sent to mobile clients using the same mechanism.Mobile Repository ServerThe Mobile Repository Server is part of the mobile development environment and hosts the Mobile Application Repository (MAR). In the MAR all application meta-data, like business objects, business queries, tiles, tile sets, etc. … are stored.Mobile Development WorkstationOn the Mobile Development Workstation (MDW) the Mobile Application Studio (MAS) is installed. The MAS is integrated with Microsoft Visual Studio .NET and acts as the design environment for mobile applications. The MAS connects to the MAR via ODBC and provides visual modeling tools as well as code generators to generate the application runtime files (e.g. , *.dat, *.vb, *.dll, etc. …) from the meta-data. Whenever new runtime files are created, an upgrade package can be sent to the CRM Server and distributed to the mobile clients using the CRM Middleware.

Page 11: CRM FieldApp Customizing

11

© SAP AG 2005, SAP CRM 5.0 – Field Applications, 11 of 34

Content

Field Applications in SAP CRM

Further Information

mySAP CRM Powered by SAP NetWeaver:Mobile Scenario

Operating Field Applications in SAP CRM

CRM Middleware and Mobile .NET Client

System Landscape

Data Distribution and Synchronization

System Administration and Monitoring

Customizing Field Applications in SAP CRMServer-Side Customizing Process

Client-Side Customizing Process

Software Logistics

Page 12: CRM FieldApp Customizing

12

© SAP AG 2005, SAP CRM 5.0 – Field Applications, 12 of 34

Data Distribution: Publish and Subscribe Concept

Star-like data distribution to mobile sites Publish and subscribe concept:

Sites have to subscribe to publications to receive data

Predefined industry-specific patterns for data replication provided by SAPReplication model, which can be adapted to customer-specific needs

Mobile Sites / Clients

A

B

C

D

CRM Serverwith

CRM Middleware

CDB

Every mobile client has to be identified as a logical site within the system. Every site is a potential sender and receiver of data. The data on every mobile site is a subset of data present in the Consolidated Database (CDB) on the CRM Server.

The data distribution mechanism follows a „Publish & Subscribe“ approach. This means, the information HOW data can be distributed is by default already present in the system (Replication Objects and Publications); to determine which mobile site should actually receive which data requires the creation of Subscriptions. By creating a subscription and assigning it to a mobile site, the system „knows“ what data records have to be sent to this site.

SAP delivers predefined replication models, meaning Business Document (BDoc) Type definitions, Replication Objects and Publications. However, the replication model can be adapted to the specific needs of a customer. For more details refer to section „Server side customizing process“.

Page 13: CRM FieldApp Customizing

13

© SAP AG 2005, SAP CRM 5.0 – Field Applications, 13 of 34

CRM Server withCRM Middleware

CommunicationStation

Data Synchronization

Client Outbound Queue

Data Package(Business

Document – BDoc – Messages)

Client Inbound Queue

Data Package(BDoc Messages)

Server Inbound Queue

Data Package(BDoc Messages)

Server Outbound Queue

Data Package(BDoc Messages)

Mobile Client Adapter

.NET Connector from SAP

ConnTrans

Message Transfer Service

Data Access Layer

CDB

Mobile Clients

UDBUDB

UDB

Data synchronization between mobile clients and the CRM Server:

Every write operation on the mobile client user database which changes existing data, creates new data or deletes data, also places a respective BDoc message in the client outbound queue. A BDoc message contains the (delta) information about the data object (e.g. a sales order) along with the action performed on this data object (e.g. changed delivery date). Thus, the CRM Middleware later on „knows“what action(s) have to be executed when the BDoc message is received by the CRM Server.

To synchronize data with the CRM Server, the mobile user starts the synchronization process using the Connection and Transport Handler „ConnTrans“. ConnTrans establishes a dial-up connection and uses the „Message Transfer Service“ to send BDoc messages from the mobile client to the CRM Server and to receive BDoc messages from the CRM Server. On the Communication Station, the „SAP .NET Connector“ takes care of transforming the DCOM calls, in which the BDoc messages are wrapped, into RFC calls, which can be processed by the CRM Middleware. The „Mobile Client Adapter“ is the part of the CRM Middleware which takes care of processing BDoc messages from and to mobile clients.

Sending software upgrades to mobile clients uses the same mechanism. Upgrade packages are wrapped in a certain type of BDoc message to be sent to the mobile clients.

Page 14: CRM FieldApp Customizing

14

© SAP AG 2005, SAP CRM 5.0 – Field Applications, 14 of 34

Content

Field Applications in SAP CRM

Further Information

mySAP CRM Powered by SAP NetWeaver:Mobile Scenario

Operating Field Applications in SAP CRM

CRM Middleware and Mobile .NET Client

System Landscape

Data Distribution and Synchronization

System Administration and Monitoring

Customizing Field Applications in SAP CRMServer-Side Customizing Process

Client-Side Customizing Process

Software Logistics

Page 15: CRM FieldApp Customizing

15

© SAP AG 2005, SAP CRM 5.0 – Field Applications, 15 of 34

System Administration: Administration Console

Centralized administration using the administration console

Management of the following:

SubscriptionsSitesDevice users

Automated generationof the following:

SubscriptionsSites

The central tool for mobile system administration is the „Administration Console“on the CRM Server.

Mobile sites are maintained with the Administration Console as well as subscriptions and other organizational data.

Site and subscription maintenance can be automated using generation facilities.

The other entities relevant to the replication model, replication objects and publications, are also maintained in the Administration Console. Further details are explained in section „Server side customizing process“.

Page 16: CRM FieldApp Customizing

16

© SAP AG 2005, SAP CRM 5.0 – Field Applications, 16 of 34

System Monitoring: CRM Middleware Monitoring Cockpit

Displays status and information about the following:

GenerationBDoc typesReplication objectsPublications

RuntimeMessage processing and trackingInbound and outbound queues Replication and realignment services

Data synchronizationPerformance statisticsSystem settingsBackground jobs

Centralized monitoring using the CRM middleware monitoring cockpit

The central tool for mobile system monitoring is the „CRM Middleware Monitoring Cockpit“ on the CRM Server.

This tool provides a comprehensive overview of the whole system status.

It displays generation information for various meta-data, like BDoc Types, runtime information, like queue statuses and adapter statuses, and other relevant system information.

Page 17: CRM FieldApp Customizing

17

© SAP AG 2005, SAP CRM 5.0 – Field Applications, 17 of 34

System Monitoring: Alerts

Integrated proactive alert monitoringIf an alert is raised, the alert monitoring framework (CCMS) does the following:

Sends an e-mail or pager message to notify an administrator Executes a program that takes corrective measures

Situations that raise alerts include the following:Messages in error state Messages for which a back-end feedback exceeds a certain timeQueues in error state (for example, broken connection to back end, queues not registered, queues on hold, queue demon stopped)Amount of queue entries exceeding a certain threshold (for example, if mobile users do not synchronize regularly)

The Computing Center Management System (CCMS) is used to handle alerts.

The system administrator can define what actions should be performed in different alert cases.

Situations that will raise alerts are e.g. BDoc messages in an error state or exceeded time limits.

Page 18: CRM FieldApp Customizing

18

© SAP AG 2005, SAP CRM 5.0 – Field Applications, 18 of 34

System Monitoring: CRM Data Integrity Manager

Cross-component comparison and synchronization of business objects at the following levels:

Object instanceField

CRM internal data comparison between the following:

CRM application databaseConsolidated database (CDB)

Ensuring data consistency using the CRM data integrity manager

SAP CRM mySAP ERP Back End

Compare

Synchronize

In order to ensure data consistency accross the various involved systems and databases in the distributed landscape, the CRM Server provides a tool called CRM Data Integrity Manager (DIMA).

With the DIMA two databases can be compared and synchronized in case the data have become „out of sync“.

Page 19: CRM FieldApp Customizing

19

© SAP AG 2005, SAP CRM 5.0 – Field Applications, 19 of 34

Content

Field Applications in SAP CRM

Further Information

mySAP CRM Powered by SAP NetWeaver:Mobile Scenario

Operating Field Applications in SAP CRM

CRM Middleware and Mobile .NET Client

System Landscape

Data Distribution and Synchronization

System Administration and Monitoring

Customizing Field Applications in SAP CRMServer-Side Customizing Process

Client-Side Customizing Process

Software Logistics

Page 20: CRM FieldApp Customizing

20

© SAP AG 2005, SAP CRM 5.0 – Field Applications, 20 of 34

Server-Side Customizing Process: Facilities

The CRM server provides tools that allow you to model the following:

Mobile data distribution (replication model)Based on publish and subscribeFully declarative (100% code free)

Definition of replication criteriaDefinition of complex object dependencies (1:n, n:m relations)

Predefined industry-specific patterns available

Mobile persistence and synchronization layerMobile client schema definitionsBusiness document (BDoc) type definitions

The CRM adapter framework provides user exits that allow the following:

Customizing the default data exchange between CRM server and mobile clients

For example, new/changed business objects, properties, and so on

Implementation of new business processes

In order to tailor CRM Field Applications to the special needs in a certain customer case, various adaptations might have to be made.

The facilities on the CRM Server are the following:Customizing the replication model

Following the „publish & subscribe“ concept, every customer can adapt the data distribution logic within his CRM system according to his special requirements.

Although SAP delivers predefined replication patterns, the customer can make changes to these patterns or add own patterns.

All these customizing steps a pure modeling and require NO coding.

Customizing mobile client schema- and BDoc Type definitions

The CRM Field Applications come with a standard data structure (tables, BDocs, mappings), which can be adapted by the customer.

Implementing user exits

The CRM Adapter framework provides various user exits which allow the customer to change or enhance the standard business logic of the CRM system.

Besides the adaptations on server side, it might be neccesary tocustomize the application, running on the mobile clients, also. Please refer to section „Client side customizing process“ for more details.

Page 21: CRM FieldApp Customizing

21

© SAP AG 2005, SAP CRM 5.0 – Field Applications, 21 of 34

Assign a replication object (including replication type) to a BDoc type

Determine and assign possible criteria fields

Model publications by specifying certain combinations of criteria fields (including operators)

Model or generate subscriptions by specifying actual values for each criteria field used in the publication

Assign subscriptions to sites

BDocType

1:1 relation

Subscription

SiteID SiteID

Replication Object

PublicationPublication

SiteID

Subscription Subscription

1

2

3

4

Server-Side Customizing Process: Replication Model

Steps to define the replication for a certain business object (BDoc type, e.g. businesspartners):

Step 1: Create a replication object for a BDoc type and specify the replication type, e.g. bulk, intelligent, dependent, etc. … For an intelligent replication object, you also have to specify potential criteria fields for distribution.

Step 2: Create one or more publications for a replication object. For a publication you can specify which criteria fields from the replication object can be used and with which operators (e.g. “country” with operator “=“ and “ZIP code” with operator “between”, meaning a range of zip codes). Dependent replication objects need to be assigned to a dedicated publication only if they have additional criteria fields (-> intelligent dependent replication), otherwise they are distributed with their “parent”replication object.

Step 3: Create (or generate) subscriptions from publications by specifying actual values for the criteria fields defined in the used publication.

Step 4: Assign a subscription to one or more sites. Such a “subscription – site assignment” clearly defines what data sets have to be distributed to a certain site.

Page 22: CRM FieldApp Customizing

22

© SAP AG 2005, SAP CRM 5.0 – Field Applications, 22 of 34

Server-Side Customizing Process: Administration Console

Example publication:

Customer BDoc type:CAPGEN_OBJECT_WRITE

Replication object:CAPGEN_OBJ_WRITE

Criteria fields:COUNTRY (Operator “EQ”)POST_CODE1 (Operator “BT”)

Intelligent replication

Some dependent replication objects

This example shows the publication „Customer & Prospects (by Country + ZIP Code)“

It‘s a publication for distributing Business Partners.

The underlying BDoc Type is „CAPGEN_OBJECT_WRITE“, the respective meta description of a business partner in the CRM system.

The choosen criteria fields for this publication are „COUNTRY“ and „POST_CODE1“. Both criteria fields are part of the Address Segment, „BPADDRESS_OBJECT“, of BDoc „CAPGEN_OBJECT_WRITE“.

Business Partners are distributed by „intelligent replication“, because the corresponding replication object „CAPGEN_OBJ_WRITE“ is of type „intelligent“, meaning it has defined replication criteria fields. Two of them are the choosen ones (country and post_code1) for this special publication.

Business Partners have some dependent objects which follow in distribution (e.g. CUST_MAT_INFO).

Page 23: CRM FieldApp Customizing

23

© SAP AG 2005, SAP CRM 5.0 – Field Applications, 23 of 34

Server-Side Customizing Process: BDoc Modeler

Example BDoc type:

Customer BDoc type:CAPGEN_OBJECT_WRITE

Root segment:CAPGEN_OBJECT

Associated table:(SMO)KNA1

Address segment:BPADDRESS_OBJECT

Associated table:(SMO)ADRC

Segment field containing, for example, the customer number:KUNNR

This example shows the definition of the meta data for business partners, the BDoc Type „CAPGEN_OBJECT_WRITE“, in the BDoc Modeler.

The tree structure on the left hand side shows the BDoc structure with all segments and associated tables.

On the right hand side the choosen view displays the segment fields for the address segment „BPADDRESS_OBJECT“. The primary key field, e.g., is SFAADRC. The field containing the customer number is KUNNR.

Page 24: CRM FieldApp Customizing

24

© SAP AG 2005, SAP CRM 5.0 – Field Applications, 24 of 34

Server-Side Customizing Process: Summary

Design Time

BDoc Modeler-> Modeling BDocs

Administration Console-> Modeling replication objects,

publications, subscriptions

Generator

Runtime

CRM Adapter Framework

RealignmentServices

Persistence Services

CRM Applications

Message Flow

ABAP Workbench-> Defining tables

-> Implementing user exits

Consolidated Database

(CDB)

Metadata Repository(BDoc types, replication

objects, publications, subscriptions, message flow

definitions)

Summary of the server side customizing process

The ABAP Workbench, the BDoc Modeler and the Administration Console are the main tools to model meta data which is stored in a repository. With the ABAP Workbench, tables can be maintained and user exits can be implemented. BDoc Types are modeled with the BDoc Modeler while the Administration Console is used to model the entities of the replication model.

Runtime data is generated using the repository meta data. The definitions of the replication model are e.g. used to generate the realignment services.

The CRM Adapter framework handles the initial data load and data requests from the CRM application database to the consolidated database (CDB) for „mobile“ data. Additional components are:

The Mobile Bridge, which transforms CRM business data into a mobile specific format.

The CRM Validation Service, which stores data sent from the mobile devices in the CRM application database.

All adapter framework components contain user exits that allow to enhance the existing data exchange between CRM and the CRM field applications.

Page 25: CRM FieldApp Customizing

25

© SAP AG 2005, SAP CRM 5.0 – Field Applications, 25 of 34

Content

Field Applications in SAP CRM

Further Information

mySAP CRM Powered by SAP NetWeaver:Mobile Scenario

Operating Field Applications in SAP CRM

CRM Middleware and Mobile .NET Client

System Landscape

Data Distribution and Synchronization

System Administration and Monitoring

Customizing Field Applications in SAP CRMServer-Side Customizing Process

Client-Side Customizing Process

Software Logistics

Page 26: CRM FieldApp Customizing

26

© SAP AG 2005, SAP CRM 5.0 – Field Applications, 26 of 34

Client-Side Customizing Process: Facilities

The Mobile Application Studio allows you to model:

Presentation layerScreen elements

TilesTile setsBusiness componentsApplications

Business logic layerBusiness objects and relationshipsBusiness queriesCombo enginesBusiness rules

ResourcesString resourcesCustom resources

Splash imagesButton imagesCustomer logosOther custom resources

Besides adaptations on the CRM Server in order to tailor CRM Field Applications according to customer‘s needs, also adaptations of the application itself, running on the mobile clients, can be done.

The tool which accomplishes this task is the Mobile Application Studio (MAS).

The MAS provides the tools to model the screen elements of the application and the application business logic.

Page 27: CRM FieldApp Customizing

27

© SAP AG 2005, SAP CRM 5.0 – Field Applications, 27 of 34

UserDatabase

Client-Side Customizing Process: Architecture

CRM Field Application

Runtime

Design Time

MAR

Mobile Development Workstation

withMobile Application

Studio (MAS)

Mobile Repository Server with Mobile

Application Repository (MAR)

Presentation Layer

Business Logic Layer

Persistence and Synchronization Layer

The Mobile Application Studio (MAS) which is integrated with Microsoft Visual Studio .NET is the design environment to customize CRM field applications.

CRM field applications, like e.g. SAP CRM Mobile Sales, are build in three layers, the User Interface Layer (UIL), which is the presentation layer for user in-and output, the Business Object Layer (BOL), which contains the application business logic and the Business Document (BDoc) Layer, which is the persistence and synchronization layer.

All elements (development objects) of the UIL and BOL are stored in the Mobile Application Repository (MAR) on the Mobile Repository Server. The MAS connects to the MAR and allows the user to model UIL and BOL elements using the various designers provided by the MAS. This means a user can change, add or delete screen elements, parts of the business logic, like e.g. business rules or object relationships, and so on.

After the modeling step(s) the MAS user can generate source code using the build-in generators and other runtime objects in order to make the new modeled application behaviour available for application users.

BDocs are not modeled using the MAS but using the BDoc Modeler on the CRM Server. Also the database table structures are modeled on the CRM Server. However, the correct table structures as well as the BDoc information have to be available on every mobile client to allow the application to run properly.

Page 28: CRM FieldApp Customizing

28

© SAP AG 2005, SAP CRM 5.0 – Field Applications, 28 of 34

Design Time Runtime

Client-Side Customizing Process: Summary

Mobile Application Studio

Set of visual modeling toolsto model, for example, screenelements and business objects

ApplicationRepositoryInterface

Generator

Screen ElementsScreen Elements Business ObjectsBusiness Objects

Source code (*.vb)Executables ( *.dll)

Runtimemeta-

information (*.dat)etc. …

CRM Field Application

User Interface Layer

Business Object Layer

BDoc LayerCRM Server

with CRM Middleware

OtherSystems

Synchro-nization

UDB CDBMobile

Application Repository

Summary of the client side customizing process

Design Time:

The Mobile Application Studio (MAS) integrated with Microsoft Visual Studio .NET provides the design environment to model development objects, like e.g. screen elements, which are stored in the Mobile Application Repository (MAR).

The Application Repository Interface provides the interface to the MAR and defines the MAS logic and rules.

A generator which is integrated in the MAS generates the various runtime files from the meta-data in the MAR. Some important runtime files are:

UIL: MS<X>.dll (e.g. MSA.dll): application user interface behaviour

*.dat files: runtime meta-information of all interaction components

*.loc files: language specific texts for interaction components, controls and framework messages

BOL: sfabol.dll: application business logic

ArsRep.dat: runtime meta-information of all BOL entities and BDocs

MsgInfo<language>.dat: language specific information of all string resources

Runtime:

The CRM field application consists of three layers, the User Interface Layer (UIL), the Business Object Layer (BOL) and the BDoc Layer (BDL). The UIL contains the graphical user interface, the BOL contains the application business logic and the BDL, in connection with the data access layer (DAL) part of the BOL, provides read / write access to the user database and synchronizes data with the CRM Server via the CRM Middleware.

Page 29: CRM FieldApp Customizing

29

© SAP AG 2005, SAP CRM 5.0 – Field Applications, 29 of 34

Content

Field Applications in SAP CRM

Further Information

mySAP CRM Powered by SAP NetWeaver:Mobile Scenario

Operating Field Applications in SAP CRM

CRM Middleware and Mobile .NET Client

System Landscape

Data Distribution and Synchronization

System Administration and Monitoring

Customizing Field Applications in SAP CRMServer-Side Customizing Process

Client-Side Customizing Process

Software Logistics

Page 30: CRM FieldApp Customizing

30

© SAP AG 2005, SAP CRM 5.0 – Field Applications, 30 of 34

Transport of Metadata / Development Objects

Quality Assurance ProductionDevelopment

CRM ServerDEV

CRM ServerQUAL

CRM ServerPROD

Change Listwith

Development Objects

Import Change

ListChange List

with Development

Objects

Attach Change List to Transport Order Import

Change List

Change Listwith

Development Objects

Middleware Metadata;User Exit

Implementations

Transport Order

MAR DEV

TransportAgent

MAR QUAL MAR PROD

TransportAgent

TransportAgent

Middleware Metadata;User Exit

Implementations

Transport Order

Transport Order

Change Listwith Development

Objects

Transport Order

Change Listwith Development

Objects

Software logistics for Middleware Meta Data and source code, like user exit implementations, is accomplished by using the standard ABAP WebAS correction and transport system (CTS). The import of the Middleware Meta Data triggers the generation of the runtime components automatically within the target system. Subscriptions are not transported, but have to be created in every system.

Software logistics of development objects which are stored in the Mobile Application Repository (MAR), meaning transport of change lists from one systemto another (e.g. DEV to QUAL), is also accomplished using the CTS.

The MAS user works on certain development objects in the context of a changelist. When the development is finished, the changes have to be transported to thequality assurance system in order to test them. Therefore, the change list isattached to a transport order and released. The Transport Agent running on theDEV Mobile Repository Server sends the change list from the DEV MAR to theDEV CRM Server. From there the change list is transported to the QUAL CRM Server and imported into the QUAL MAR. In a similar way, the change list istransported to the PROD CRM Server and imported into the PROD MAR.

The application runtime objects, however, have to be generated in each of thethree systems (DEV, QUAL, PROD) seperately and distributed to the mobile clients (see next slide).

Page 31: CRM FieldApp Customizing

31

© SAP AG 2005, SAP CRM 5.0 – Field Applications, 31 of 34

CRM Server withCRM Middleware

Mobile Clients CommunicationStation

Mobile Upgrade Console

Software Deployment

Mobile Application Studio (MAS)

Mobile Development Workstation

Mobile Repository Server

Transport Agent

Generator

Upgrade Script(*.rbn)

Runtime Objects

Runtime Object

Change List

Mobile Upgrade Package(*.mup)

Runtime Object

Change List

Mobile Upgrade Package(*.mup)

Client Outbound

Queue

Data Package

Mobile Upgrade Package(*.mup)

Mobile Upgrade Package(*.mup)Data Package

Client Upgrade Service

MAR

UDBUDB

UDB

The upgrade process for mobile clients is similar in all three systems (Development, Quality Assurance and Production).

In the first step all necessary application runtime files must be generated from the meta-data in the Mobile Application Repository (MAR) and must be present on the (Master) Mobile Development Workstation (MDW).

The Mobile Upgrade Console, installed on the MDW, is then used to create a Mobile Upgrade Package using an Upgrade Script. An Upgrade Script contains a complete description of an upgrade and consists of Upgrade Units. Upgrade Units contain information about files, folders and commands that need to be executed on mobile clients when changes have been made to the mobile client application.

The Mobile Upgrade Package is stored in a change list on the MAR and is transported, as are other change lists containing meta-data, to the CRM Server.

Mobile Clients must subscribe to a specific publication, similar to subscribing to business data, in order to receive the Mobile Upgrade Package. The Mobile Upgrade Package is „wrapped“ in a special type of BDoc Message and transferred to the Mobile Clients when they connect to the CRM Server via the Communication Station.

The Client Upgrade Service running on the Mobile Client automatically executes the Upgrade immediately upon receipt.

If there is only a low-bandwidth network available, such as a telephone line, the Mobile Upgrade Package can be shipped on a CD. In this case, only a trigger to execute the upgrade is sent via the CRM Middleware / BDoc mechanism.

Page 32: CRM FieldApp Customizing

32

© SAP AG 2005, SAP CRM 5.0 – Field Applications, 32 of 34

Content

Further Information

Field Applications in SAP CRM

mySAP CRM Powered by SAP NetWeaver:Mobile Scenario

Operating Field Applications in SAP CRM

CRM Middleware and Mobile .NET Client

System Landscape

Data Distribution and Synchronization

System Administration and Monitoring

Customizing Field Applications in SAP CRMServer-Side Customizing Process

Client-Side Customizing Process

Software Logistics

Page 33: CRM FieldApp Customizing

33

© SAP AG 2005, SAP CRM 5.0 – Field Applications, 33 of 34

Further Information

SAP CRM 2005 Learning MapsSAP Service Marketplace http://service.sap.com/rkt-crm> SAP CRM 2005

Online DocumentationHelp Portal http://help.sap.com/ > Documentation > mySAP Business Suite > SAP Customer Relationship Management

Online Knowledge ProductsSAP Service Marketplace http://service.sap.com/okp

Important areas in the online documentation:Help Portal http://help.sap.com/ > Documentation > mySAP Business Suite > SAP Customer Relationship Management

Field Applications

SAP CRM Powered by SAP NetWeaver > Process Integration > CRM Integration Services > CRM Middleware

SAP CRM Powered by SAP NetWeaver > Application Platform > CRM Mobile Technology

Further helpful quick-links on the SAP Service Marketplace:\CRM-FIELD-APPLICATIONS

\CRM-MW

\NW-MOBILE > Mobile Client Technology (mySAP CRM)

Page 34: CRM FieldApp Customizing

34

© SAP AG 2005, SAP CRM 5.0 – Field Applications, 34 of 34

No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice.Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors.Microsoft, Windows, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation. IBM, DB2, DB2 Universal Database, OS/2, Parallel Sysplex, MVS/ESA, AIX, S/390, AS/400, OS/390, OS/400, iSeries, pSeries, xSeries, zSeries, z/OS, AFP, Intelligent Miner, WebSphere, Netfinity, Tivoli, and Informix are trademarks or registered trademarks of IBM Corporation in the United States and/or other countries.Oracle is a registered trademark of Oracle Corporation.UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group.Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc.HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C®, World Wide Web Consortium, Massachusetts Institute of Technology. Java is a registered trademark of Sun Microsystems, Inc.JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape. MaxDB is a trademark of MySQL AB, Sweden.SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary.

The information in this document is proprietary to SAP. No part of this document may be reproduced, copied, or transmitted in any form or for any purpose without the express prior written permission of SAP AG.This document is a preliminary version and not subject to your license agreement or any other agreement with SAP. This document contains only intended strategies, developments, and functionalities of the SAP® product and is not intended to be binding upon SAP to any particular course of business, product strategy, and/or development. Please note that this document is subject to change and may be changed by SAP at any time without notice.SAP assumes no responsibility for errors or omissions in this document. SAP does not warrant the accuracy or completeness of the information, text, graphics, links, or other items contained within this material. This document is provided without a warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability, fitness for a particular purpose, or non-infringement.SAP shall have no liability for damages of any kind including without limitation direct, special, indirect, or consequential damages that may result from the use of these materials. This limitation shall not apply in cases of intent or gross negligence.The statutory liability for personal injury and defective products is not affected. SAP has no control over the information that you may access through the use of hot links contained in these materials and does not endorse your use of third-party Web pages nor provide any warranty whatsoever relating to third-party Web pages.

Copyright 2005 SAP AG. All Rights Reserved