Date post: | 26-Sep-2015 |
Category: |
Documents |
Upload: | rakesh-musale |
View: | 227 times |
Download: | 0 times |
CLIENT Project
Enhancements
Enterprise Architecture Guidelines
Version:
Last Revision Date:
Print Date:
1.7
Friday, November 10, 2006
Tuesday, November 21, 2006
Document Statistics
Document Identification
The following is current information about the document: (Maintain all relevant section)
Title
CLIENT Project Enhancements Development Guidelines
Version
1.0
Creation Date
09-20-2006
Authors
Satya Narendrula, Jeff Mueller, Narendra Gupta & Patrick Stoneking
Development Type
Enhancements
Document Status
Revision History
The following is a history log of revisions to the document:
Version
Author Of Revision
Creation Date
Comments
1.1
Narendra Gupta
9-29-2006
Added in the contents in the EEW Section 2.5
1.2
Satya Narendrula
10-03-2006
Added content to SAP vs External Development section
1.3
Narendra Gupta
10-03-2006
Added/Modify the content in section 2.1,2.2,2.5 and 3.0
1.4
Satya Narendrula
10-04-2006
Decision trees are added for review by team
1.5
Narendra Gupta
10-06-2006
Add the content in the section 3.2
1.6
Mustafa Mustafa
11-09-2006
Added Recommendation Matrix (SAP vs. Ext Tools)
1.7
Michael Biel
11-10-2006
Changed title.
Added Enhancement Tool Recommendation Matrix.
Modified Java reference.
Approval
History
The following is a log of approvals:
Version
Approver
Approval Date
Comments
1.1
Name of the approver
mm-dd-yyyy
Initial version
Table of Contents
41.Purpose
2.Additional Data Elements4
2.1Extending existing tables vs. Creating new tables: Rules4
2.2Data Archival4
2.3EEW (Easy Enhancement Workbench)5
2.3.1Purpose5
2.3.2Features5
2.3.3Easy Enhancement Workbench for Business Partner6
2.3.4Easy Enhancement Workbench for Partner/Product Ranges6
2.3.5Adding New Fields in the PPR Standard Set Types6
2.3.6Easy Enhancement Workbench for Installed Base Management7
3.Additional Functionality in SAP7
3.1Users Exists / BADIs7
3.2Function Modules (BAPI)8
4.SAP CRM or R/3 vs External Development9
5.SAP Enhancement Tools14
1. Purpose
The purpose of this document is to provide guidelines in the development of enhancements of CLIENT Project. This document can be used by Project Managers, Team Leads, System Architects and Development/Support teams in making decisions about enhancements developments during the implementation and maintenance phases of the project.
The below sections in this document describes the identified enhancements categories and details of them.
2. Additional Data Elements
Additional Data Elements refers to the data elements which are not provided by SAP with in the standard SAP-CRM or R/3 solutions. However, based on business requirements additional data elements may need to be captured for transactional, report or interface purposes.
Refer to the decision tree (Extending existing tables and Creating Z-tables) to understand the strategy on additional data elements as enhancements.
Refer to data governance documents to find the additional data elements in CLIENT project.
2.1 Extending existing tables vs. Creating new tables: Rules
If a business requirement or function requires few additional data elements along with standard data elements then it is recommended to extend the existing tables. These additional data elements may satisfy a business transaction or reports or they can be used as place holders for indicator/statuses for future system processes.
New tables are generally created to support an additional business functions which do not exists as a standard function.
2.2 Data Archival
It is recommended that, for any additional data that may need to be captured and archived in the future using a tool such as DART, this data be captured by extending the appropriate table to include new fields. Archiving zTables is not straight forward and requires additional work.
2.3 EEW (Easy Enhancement Workbench)2.3.1 Purpose
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; databank tables, screens and application logic are created automatically. Finally the customer enhancement is included in the SAP standard.
This also allows users without ABAP knowledge the simple possibility of extending the SAP standard.
An extension created using the Easy Enhancement Workbench does not differ technically from one created manually. In both cases transportable ABAP objects are created and the same Customer Exits, Business Transaction Events or BADIs are implemented
The difference lies exclusively in the manner in which the required objects are created. The automation offered by the Easy Enhancement Workbench is achieved by template objects that are adapted to the extension definition and created by a generator.
The functionality of the Easy Enhancement Workbench is therefore only available for specially prepared Business Objects, mainly from the CRM environment.
The type of extension is also predefined. In most cases the customer is offered the possibility to add user-defined databank tables or fields.
In most cases the extension takes place system-wide. For example, when extending a Business Object in the CRM the data exchange to the connected R/3 system is extended and a new table is also created in the R/3.
The system landscape must be set up in order to be able to use system-wide generation.
2.3.2 Features
In the EEW, an assistant guides you through the enhancement process. The new fields in the ABAP Dictionary and on the user interface are then automatically generated by the system.
You can enhance objects from different CRM applications. You can find specific information about these objects in the following documentation.
2.3.3 Easy Enhancement Workbench for Business Partner
Using the Easy Enhancement Workbench (EEW) for business partner in SAPCRM you can easily extend the data model of business partner by new fields or tables and integrate them in the business processes.
You can also convert the extensions in the business partner data model, which you created using the BusinessDataToolset previous to SAPCRM 3.1 and which were limited to the SAPGUI user interface, to the People-Centric UI user interface.
2.3.4 Easy Enhancement Workbench for Partner/Product Ranges
Using the Easy Enhancement Workbench (EEW) for partner/product ranges (PPR) you can easily extend the standard set types by new fields. The new fields are available in the SAPGUI and People-CentricUI user interfaces and are also transferred to the CRM Field Applications. The EEW uses customization includes for extensions in the standard set types for PPRs.
The following standard set types can be extended for PPRs:
The standard set type for Consumer Products
The standard set type for Activity Management
The standard set type for Design Registration
The standard set type for Channel Management
2.3.5 Adding New Fields in the PPR Standard Set Types
With the Easy Enhancement Workbench, you can add new fields to the following PPR objects:
Organizational Data
Business Partner References
Product References
Validity Periods
SAP CRM supports you in the following functions:
Integration of new fields in the user interface (SAP GUI and People-Centric UI)
Transfer of new fields to the Mobile Bridge (interface for the CRM Field Applications)
For these functions, the system automatically generates all objects and table entries required.
2.3.6 Easy Enhancement Workbench for Installed Base Management
With the Easy Enhancement Workbench, you can add new fields to the data model of installed base management. SAP CRM supports the integration of these fields in the user interface of the People-Centric UI.
3. Additional Functionality in SAP
To support business requirements in User interfaces, System interfaces, Enhanced system functionality and reports, it is often require to develop the code in SAP business systems.
The categories of this code are explained in this section.
3.1 Users Exists / BADIs
User Exits allow us to add our own functionality to SAP standard program withoutmodifying it. These are implemented in the form of subroutines and hence are also known as FORM EXITs. The userexits are generally collected in includes and attached to the SAP program by the SAP.
The finding the correct userexit and how to find it if one exists for the purpose. Once the correct userexit is found the necessary customer code is inserted in the customer include starting with the z. n the form routine.
Types:
There are mainly six types of EXITs in sap which have been collected in the form of enhancement packages and attached to standard code in SAP. These are different from USEREXIT in the way that they are implemented in the form of Functions while in USEREXITS we use form routines for their implementation. These are also sometimes known as function exits.
These start from the word EXIT_ followed by the program name and then followed by a three digit number. (e.g. EXIT_SAPMV45A_002)
1) MENU EXITS
2) FUNCTION EXITS
3) TABLE EXITS
4) SCREEN EXITS
5) KEYWORD EXITS
6) FIELD EXITS
BADI: Business Add-Ins are a new SAP enhancement technique based on ABAP Objects. They can be inserted into the SAP System to accommodate user requirements too specific to be included in the standard delivery. Since specific industries often require special functions, SAP allows you to predefine these points in your software.
As with Customer Exists two different views are available:
In the definition view, an application programmer predefines exit points in a source that allow specific industry sectors, partners, and customers to attach additional software to standard SAP source code without having to modify the original object.
In the implementation view, the users of Business Add-Ins can customize the logic they need or use a standard logic if one is available.
In contrast to customer exits, Business Add-Ins no longer assume a two-level infrastructure (SAP and customer solutions), but instead allow for a multi-level system landscape (SAP, partner, and customer solutions, as well as country versions, industry solutions, and the like). Definitions and implementations of Business Add-Ins can be created at each level within such a system infrastructure.
BADI is just an object-oriented version of user-exit. Instead of entering program code into some function module (as in customer-exit), you define some class which has to implement predefined methods and those methods are fired at predefined points just like an old user-exit. Some BADI can have multiple independent implementations which is much better for software deployment as several developers can implement the same BADI independently.
3.2 Function Modules (BAPI)
Function modules are used to support user interfaces, forms, reports, workflow and interfaces. When RFC enabled attribute is set to enabled, such BAPI is called as RFC; these objects can be called from external systems (XI, Visual Composer, etc.)
BAPI (Business Application Programming Interface) is a set of interfaces to object-oriented programming methods that enable a programmer to integrate third-party software into the SAP system. For specific business tasks such as uploading transactional data, BAPIs are implemented and stored in the SAP system as remote function call (RFC) modules.
BAPIs are defined in the Business Object Repository (BOR) as methods of SAP business object types or SAP interface types and are implemented as function modules.
4. SAP CRM or R/3 vs External Development
Any custom development with in SAP CRM and R/3 requires the use of ABAP. Examples of this custom development include developing a User Exit or developing a new Function Module (or BAPI).
CLIENT uses Java development on Websphere for all non-SAP customizations. Java based web application development is used to develop one or more business functions that do not fit in SAP CRM or R/3 environments.
Additional Information - Pro-External
Pro - External
Decision Points
Pro - SAP
Additional Information Pro-SAP
There are no existing SAP transactions that fit the business scenario
Business Scenario does not fit within SAP's applications suite
Functional Fit
Business Scenario fits well within SAP's applications suite
Transaction documents are used for what they were intendedDocument Flow is unalteredFits with SAP's Development StrategyFields are used as the were intended to be
The external solution is mostly isolated from SAP from a data and process perspective and has very few touch points
Low Integration with SAP and Few SAP touch points
Integration with SAP
Tightly Integrated with SAP
Standard SAP Exists can be used for integration.Existing data and tables can be leveraged
SAP data is not the primary driver for this process and special versions of SAP Data is not required
Data Replication is minimal and data is not relavent to the SAP Landscape
Data Replication
Data Replication is minimal and is relavent to the SAP Landscape
Minimal amounts of data is replicated from external sources
Majority of the data is non-SAP centric.
Data Customization
Can leverage existing SAP constructs
Solution can leverage core data constructs
The opportunity for a custom solution leverages the flexablity of the external tool set
Custom Interface is meets or beats to SAP standard interface
User Experience
Leverages existing SAP user interface components
Existing user interface constructs can be used as a starting point. A user efficient interface can be developed
External development techniques are leveraged to improve performance
Significant performance gains can be achieved through external development
Performance
SAP's existing infrastructure provides acceptable performance
SAP's performance is not an issue that needs to be overcome
Insure that proper security measures are capable and we are NOT generating SOX related transaction data
Can leverage single signon and does not produce SOX related transactions or reports
Security & SOX Compliance
Leverages existing security authorizations - SAP is the system of record
Solution is understandable from a technical perspective easily learned by CLIENT Staff
No special staffing or resources are required
Staffing / Knowledge
No special staffing or resources are required
Solution is understandable from a technical perspective easily learned by CLIENT Staff
Solution can leverage existing development infrastructure
Cost effective over SAP
Initial Cost
Cost effective over External
Solution has little affect on SAP's upgrade and support strategy
Cost effective over SAP
On-Going Maintenance cost
Cost effective over External
Solution leverages standard user exits and data extensions. Reducing maintenance and testing cost of upgrades an support packs
Overall the development and maintenance cost are more cost effective than an SAP development
Cost effective over SAP
Total Cost
Cost effective over External
Overall the development and maintenance cost are more cost effective than an external development
Reasonable or No additional charges incurred
Licensing Use
Reasonable or No additional charges incurred
No support issues incurred
Licensing - Support
Does not affect SAP's Support License
The following decision tree should be used in consideration with the above decision points table.
Start
Review Business
Process / Function
Is Function related to
CRM (or R/3) ? (Apply
Due Dilligence)
Does SAP system
provide exact
functionality ?
YES
Review SAP
Business System
for identified
function
YES
Perform
Configuration
Activities in
SAP
NO
Does SAP has similar
functionality ?
NO
Evaluate required
customizations
(PRICEFW listing)
YES
Develop required
PRICEFW
component
NO
End
Decision Tree : SAP vs Java Custom Functionality
Evaluate a
Package Solution
Does the package
address the business
requirements?
NO
Develop the
functionality using
Java custom
development
Configure the
package to
address the
functionality
YES
Start
Identify Business
Functionality to be
developed in SAP
Identify the data
required to support
the functionality
Are Data fields exists
in SAP (standard)?
YES
Apply any
necessary
configuration to
finalize the data
fields
Can additional
fields be used?
NO
Does the data fit in the
existing SAP Table?
NO
Yes
Extend the existing
table to add
additional data
fields
YES
Create a new table
(Z-table) and
necessary fields
End
Decision Tree : Extending exiting tables and
Creating Z-tables
The following are factors to consider in choosing the SAP CRM or R/3 platform vs. an external development platform. The decision table and tree should also be referenced.
SAP vs. External Platform Consideration Matrix
CLIENT Project Considerations
Development Environment
SAP CRM or R/3 *
External Development
Fits Existing SAP Application
Data is SAP Relevant
Performance is Acceptable in SAP, not Java
Produces SOX Related Transaction
Total Cost is Reasonable in SAP, not Java
Enhancements to Core Modules
Must Modify SAP Code (not an enhancement)
Fits Existing Java Application
Data is Java Relevant
Performance is Acceptable in Java, not SAP
Produce no SOX Related Transactions
Total Cost is Reasonable in Java, not SAP
* Assumes SAP enhancement is possible
Preferred
5. SAP Enhancement Tools
The following table lists the decision points in choosing which Enhancement Tool should be used within SAP.
Enhancement Tool Recommendation Matrix
EEW
Source Code Plug-In
Parameter Interface
BADI
User Exit
Business Object Builder
CRM Business Partner Fields
CRM Business Partner Tables
CRM ABAP Source Code
CRM Function Module
R/3 and CRM Enhancement Option
R/3 ABAP Source Code
R/3 Function Module
BAPI
R/3 and CRM Business Object and Components
Preferred
Page: 5 of 14 Date: 11/21/2006 12:42 PM
Start
Review Business Process / Function
Is Function related to CRM (or R/3) ? (Apply Due Dilligence)
Does SAP system provide exact functionality ?
YES
Review SAP Business System for identified function
YES
Perform Configuration Activities in SAP
NO
Does SAP has similar functionality ?
NO
Evaluate required customizations (PRICEFW listing)
YES
Develop required PRICEFW component
NO
End
Decision Tree : SAP vs Java Custom Functionality
Evaluate a Package Solution
Does the package address the business requirements?
NO
Develop the functionality using Java custom development
Configure the package to address the functionality
YES
Start
Identify Business Functionality to be developed in SAP
Identify the data required to support the functionality
Are Data fields exists in SAP (standard)?
YES
Apply any necessary configuration to finalize the data fields
Can additional fields be used?
NO
Does the data fit in the existing SAP Table?
NO
Yes
Extend the existing table to add additional data fields
YES
Create a new table (Z-table) and necessary fields
End
Decision Tree : Extending exiting tables and Creating Z-tables