Saturday, May 22, 2010

Understanding Tcode : SM50( Workprocess overview)

Tcode SM50 is used to see the workprocess overview in application
server you are logged in.
There are several fields diplayed in the work
process overview screen.
Each of the field value is described in below
table.
Menu path for this tcode is
Tools –> Administration–> Monitor –>System monitoring –> Process –> overview
No This is the work process number and is unique to each work process.
Type This denotes the type of work process.
These are the possible values for type field
DIA: Dialog
UPD: Update
BGD: Background
ENQ: Enqueue
SPO: Spool
PID Process ID which is a unique no to identify the process at os level.
Status This shows the status of work process like PRIV mode etc..
Ended Work process has been terminated because of some error in SAP kernel. Running – work process is busy processing user request.
Waiting – work process is ready to accept user request.
PRIV – Work process running with heap memory (noramally basis admins terminate the dia wp if it enters priv mode).
Completed The work process has been terminated and they can not be restarted.
Reason If a work process status is stopped, this field gives the reason why it is stopped.
Start This field tells if the dispatcher can restart the work process if it gets terminated.
Err Err field gives the no of times the work process .
Sem Number of semaphore. With Green background =>Process is holding the semaphore.
With Red background => Process is waiting for the semaphore.
CPU The CPU Time utilization by each work process format minutes:seconds
Time The time that has been consumed processing the current request (in seconds).
Report The name of report which is being executed
Clie Client No.
User Name of user whose request is currently being executed.
Action For the work process with status “running”, this displays the current action.
Table The DB tables that is accessed previously by work process.

GAP Analysis

Gap means small cracks. In SAP world or in Information Technology world, gap analysis is the study of the differences between two different information systems or applications( ex; existing system or legacy system with Client and new is SAP), often for the purpose of determining how to get from one state to a new state. A gap is sometimes spoken of as "the space between where we are and where we want to be."

Gap Analysis is undertaken as a means of bridging that space. Actual Gap Analysis is time consuming and it plays vital role in Business Blueprint [AS IS Process] stage.

A through Gap Analysis will identify the gaps between how the business operates and its needs against what the package can can't do. For each gap there will be one of three outcomes which must be recorded and actioned,

1. GAP must be closed and customized software can be developed
2. GAP must be closed but software cannot be written therefore a workaround is required
3. GAP does not need to be closed.

A point worth mentioning here is that at time people confuse between user-exits and Gap Analysis. User exits are standard gate ways provided by SAP to exit the standard code and we can write our own code with the help of ABAP workbench, its not new functionality which we are trying to build in sap but its slight enhancement within the same code.

Gap analysis is start point of Realization and once business Blueprint is finished we have to find the realization of sap system for client requirement and there will be certain gaps when compared to system fit. Those gaps can be closed either by re-engineering of business process to fit with SAP or we have to use USER exits in case of small deviations or complete enhancements with the help of ABAP to fit with the SAP system.

The Gaps can differ from company to company. Most commonly, however, missing functionality is industry-specific.
Examples:

1. MGM Studios and Lycos sometime back worked with SAP to develop its new intellectual property management and media advertising management functionality, respectively.
2. A leading Oral care product company wanted the promotion of free-goods where they wanted 'Buy one get 2 different products free'.

customer Exit

The customer exit works at:
1. Extraction side
After enhancing datasource in RSA6 we need to populate those enhanced fields in that case we have to create a project in cmod transaction and select the Enhancement assignment RSAP0001 and select the appropriate FM and need to write the select statement in the appropriate include. EXIT_SAPLRSAP_001 - Transaction data EXIT_SAPLRSAP_002 - Master data EXIT_SAPLRSAP_003 - Text EXIT_SAPLRSAP_004 - Hierarchy The above things we need to do in Source System side Ex: R/3
2. Reporting side
We need to write the user-exit to populate Reporting related variables in the Enhancement assignment RSR00001 and select the FM EXIT_SAPLRRS0_001 and then in the include ZXRSRU01 we need to write the code. These are helpful especially we need to derive any varible.
Along with that:
BEx User Exit allows the creation and population of variables and calculations for key figures and variables on a runtime basis.
R/3 User Exit is found in R/3 under CMOD and contains additional programming that is needed to fill field additions to extract structures.                

Thursday, May 6, 2010

Loading plan and actual data into the same InfoCube

Today, I had a discussion with my colleagues, about loading plan and actual financial data into the same InfoCube. The process seems to be easy, but update mode and aggregation issues make me consider different way of loading such a data.

The actual data need to be loaded with delta update mode, plan data (e.g., 0VTYPE 20) can only use full update and the previous load need to be deleted to avoid duplicated data. I consider 3 loading options:

1. Automatic removal of the previous load after data loading using InfoPackage.

To use this option we need to modify the InfoPakage that is used to load data. In the DataTarget tab we choose Automatic Loading of Similar/Identical Requests from the InfoCube and then Delete Existing Requests, Full or Initial Requests, Same or More Comprehensive.


Now we can schedule the job or add the load to a process chain. After the update, Same or More Comprehensive requests will be deleted.

2. Delete previous load in the process chain.

The second option is to build a process chain (TCode: RSPC) to load data and add deletion of the previous load of plan data using Delete Overlapping Requests from InfoCube option.


3. Remove previous data via ABAP program using DELETE_FACTS.

This option requires including in a process chain an ABAP program that performs selective deletion of the data (TCode to generate the program: DELETE_FACTS).

I must also take into consideration data aggregation. If I have both actual and plan data in one InfoCube I can not aggregate the Cube. One of the option is to create two InfoCubes, the first for actual data (delta update) and the second for plan data (full update), and aggregate the first one. The second option is to remove plan data from our InfoCube before aggregating the InfoCube. I think I will choose the option with two InfoProviders because it appears to be more flexible to maintain.

What is your experience with loading plan and actual data? Which loading option do you prefer and how do you solve the aggregation issue? Feel free to comment the post and share your opinion with us.

Note: The overall issue is related not only with plan values but also with down payments, overall plan values, variances and accrual calculations. For these values only a full update is possible.

Cost of Business Intelligence Solutions


If we look at the full costs of business intelligence solutions we must include:
  • Database Technology - such as additional data warehouse software and tool licenses, OLAP engines, specialized ETL tools.
  • BI Software License Costs - analytics, modeling software, advanced reporting, graphics, and dashboard technology. You must also include any integration to desktop software or additional “per seat” costs related to the BI stack.
  • Software Update/Upgrade Costs - of both the BI software and any additional software as well as additional charges not included in the original purchase of annual maintenance.
  • Software Maintenance Calculation - generall based on purchase price or an annual price.
  • Hardware & Operational Environment Costs - costs related to the hardware and processing platform dedicated to running database and BI software. This must also include backup and archival costs.
  • Staffing Costs - FTE salaries and accomodation costs to manage, design, develop and support of the BI program.

The Roles In Business Intelligence

The BI Project Roles include:
  • BI Strategist: Defines the BI Program, the BI Policy, BI Governance, Data Governance and BI Portfolio. This is done in partnership with the business.
  • Business Users: Explore all 5 styles of BI — Scorecards and Dashboards, Enterprise Reporting, OLAP Analysis, Advanced and Predictive Analysis, and Alerts and Proactive Notification — integrated into a seamless reporting, analysis, and monitoring experience for fact-based decisions. Understand how to use BI applications to drive strategy and operational efficiency.
  • BI Project or Application Managers: Turn business users’ requirements into insightful BI applications, while maintaining the lowest total cost of ownership (TCO).
  • Analysts: Investigate enterprise data with easy to use analytical techniques such as pivot, drill, sort, prompting, on-the-fly metric creation, report filtering, ad hoc report creation, and more.
  • Report Authors: Design and refine scorecards, dashboards, enterprise reports, and OLAP reports — with what-you-see-is-what-you-get (WYSIWYG) ease.
  • BI Developers: Create the crucial and reusable report building blocks that business users, analysts, and report authors use: KPIs, metrics, data filters, prompts, time series calculations and many more.
  • BI Architects: Model the business into easy to understand objects such as business dimensions, business attributes, and facts to eliminate database table, schema, and naming complexity.
  • Administrators: Manage enterprise BI applications for thousands of users using real-time system monitoring, historical operating information, and comprehensive security.

BW -useful FMs and Programs

Name
Description
Function Module
RSPC_MIGRATE_EVENT_CHAIN
Event chain –> Process chain
RSPC_MIGRATE_INFOPACKAGE_GROUP
Package group –> process chain
RSZW_WEBOBJECTS_30_UPGRADE
conversion web object 2.x –> 3.0
RSZW_OLD_BDS_ENTRIES_DELETE
delete the web object in the old storagedelete the web object in the old storage
Function Module
RSDU_INFOCUBE_INDEXES_DROP
Function Module
RSDU_INFOCUBE_INDEXES_CREATE
PROGRAM
SAP_UPDATE_DBDIFF
NOTES : 157918
PROGRAM
SAP_INFOCUBE_INDEXES_REPAIR
Function Module
RSDDCVER_RFC_BW_STATISTICS
PROGRAM
RSDDK_AGGREGATES_ROLLUP
SAP_RSADMIN_MAINTAIN
RSDDS_CHANGERUN_MONITOR
RSDDS_AGGREGATES_MAINTAIN
RRHI_HIERARCHY_ACTIVATE
Function Module
RSPC_API_CHAIN_START
Call Process chain start process
Function Module
RSDRI_INFOPROV_READ
Transactional infocube (APO interface)
Function Module
RSDRI_INFOPROV_READ_RFC
Function Module
RSDRI_CUBE_WRITE_PACKAGE
Function Module
RSDRI_CUBE_WRITE_PACKAGE_RFC
Function Module
RSAPO_SWITCH_TRANS_TO_BATCH
Switching data load
Function Module
RSAPO_SWITCH_BATCH_TO_TRANS
Function ModuleFunction Module
RSAPO_CLOSE_TRANS_REQUEST
Closing of a open request
Function Module
RSDRI_ODSO_INSERT
Writing into Transactional ODS
Function Module
RSDRI_ODSO_INSERT_RFC
Function Module
RSDRI_ODSO_MODIFY
Function Module
RSDRI_ODSO_MODIFY_RFC
Function Module
RSDRI_ODSO_UPDATE
Function Module
RSDRI_ODSO_UPDATE_RFC
Function Module
RSDRI_ODSO_DELETE_RFC
Function Module
BAPI_ODSO_READ_DATA
Reading from Transactional ODS
Function Module
RSD_IOBJ_GET
Get Master number range
Function Module
RSD_CUBE_GET
Get Dimension number Range
Program
SAP_RSADMIN_MAINTAIN
Function Module
RREX_VARIABLE_EXIT
Coding of SAP Variable Exit
Program
RSDDS_CHANGERUN_MONITOR
Program
RSDDS_AGGREGATES_MAINTAIN
Program
RRHI_HIERACRHY_ACTIVATE
hierarchy
Program
RS_ERRORLOG_EXAMPLE
Automate error handling
Program
BW_IGS_CHART_TEST
test BW chart request
GRAPHICS_IGS_CHART_TEST
stress test IGS
BW_IGS_ADMIN
Program
RSPC_WATCHDOG
enable theMonitoring in the Process ChainBWCCMS
Function Module
BX_READ_USER_MENU
Read Role Menu

BW related prefixes for background jobs

Name
Description
BI_BATCH
Data Request Data Request
BI_PROCESS
Job Chains Job Chains
BIREQU_
Extraction in Source System (flat file, DN, BAPI -> Job runs in BW)
BI_PSAD
Deletion from PSA Deletion from PSA
BI_ODSA
Activation of ODS data Activation of ODS data
BI_EVEN
Event Collector Event Collector
BI_INDEX
Creation of Index Creation of Index
BI_HIER
Hierarchies Post Processing
BI_STAT
Calculation of Statistics for InfoCube
BI_NEW_
Rebuild of InfoCube
BI_COMP
Compress of InfoCube
BI_STOR
Removal of Request Removal of Request
BI_SAGR
Initial Fill of Aggregate Initial Fill of Aggregate
BI_AGGR
Roll-up
BI_STRU
Change Run Change Run
BI_REQD
Pre-Process checks if request needs to be deleted
BI_BOOK
Data Upload from PSA to InfoCube
BI_DELR
Deletion of Request out of InfoCube
RA
Reporting Agent Packages