Pages

Saturday, 14 July 2012

ASAP Methodology


ASAP stands for Accelerated SAP methodology which is used to implement and deliver the project efficiently.
The five stages of ASAP methodologies are-

 Project plan, Business Blue print, Realization, Final preparation & Go-Live - support.

1. Project Preparation: In this phase the system landscape will be set up.
2. Business Blueprint: It is a detailed documentation of your company's requirements. (I.e. what are the objects we need to develop are modified depending on the client's requirements).
3. Realization: In this only, the implementation of the project takes place (development of objects etc)
And we are involved in the project from here only.
4. Final Preparation: Final preparation before going live i.e. testing, conducting pre-go-live, end user training etc.
End user training is given that is in the client site you train them how to work with the new environment, as they are new to the technology.
5. Go-Live & support: The project has gone live and it is into production. The Project team will be supporting the end users.

The BW ASAP Methodology Implementation Project phases:
1.Project Preparation / Requirement Gathering
2 Business Blueprint
3 Realization
4 Final Preparation
5 GO Live & Support

1. Project Preparation / Requirement Gathering:

Collect requirement thru interviews with Business teams /Core users / Information Leaders.
Study & analyze KPI’s (key figures) of Business process.
Identify the measurement criteria's (Characteristics).
Understand the Drill down requirements if any.
Understand the Business process data flow if any.
Identify the needs for data staging layers in BW – (i.e need for ODS if any)
Understand the system landscape.
Prepare Final Requirements Documents in the form of Functional Specifications containing:
Report Owners,
Data flow,
KPI’s,
Measurement criteria’s,
Report format along with drilldown requirements.

2. Business Blueprint:

Check Business content against the requirements
Check for appropriate
Info Objects - Key figures & Characters
Check for Info cubes / ODS
Check for data sources & identify fields in source system
Identify Master data
Document all the information in a file – follow standard templates

Prepare final solution
Identify differences (Gaps) between Business Content & Functional
Specification, Propose new solutions/Developments & changes if required at different levels such as Info Objects, Info cube, Data source etc. Document the gaps & respective solutions proposed– follow standard templates
Design & Documentation
Design the ERD & MDM diagrams for each cube & related objects
Design the primary keys/data fields for intermediate Storage in ODS
Design the Data flow charts right from data source up to Cube .
Consider the performance parameters while designing data models
Prepare High level / Low level design documents for each data model. --- follow standard templates

Identify the Roles & Authorizations required and Document it – follow standard templates
 Final review of design with core BW users.
 Sign off the BBP documents

In this phase you create a blueprint using the Question & Answer database (Q&Adb), which documents your enterprise’s requirements and establishes how your business processes and organizational structure are to be represented in the SAP System. You also refine the original project goals and objectives and revise the overall project schedule in this phase.

Functional requirements should cover minimum of the below check list

Business Objectives and Benefits
Business Scope and Events
Business Process Scope
Future state process improvements
Business KPI s
Reporting Requirements
System/Client Strategy Interface Requirements
Source System Mapping
Field availability (Master data + Transaction data)
Transformation details
Data availability frequency
Data availability type
System availability and Outage window
Data load dependencies
History Data Load availability
Data Volume
Data Reconciliation
Data retention
Contingency Planning
Authorizations
Transport Strategy
Capacity /Resource Planning
Gap Analysis
Integration and Policy/SOX consideration
Support – Service Level support /Production support
Change Management

Technical requirements - Take a BI report ,translate functional requirements in to technical design.
Map KF, Characteristics, Free Char, RKF,CKF

3. Realization

Check & Apply Latest Patches/Packages ...in BW & R/3 systems.
Activate/Build & enhance the cubes/ODS as per data model designs...maintain the version documents.
Identify & activate Info objects / Master data info sources / attributes ,prepare update rules
Assign data sources .prepare transfer rules , prepare multi providers . prepare Info packages .
Perform the unit testing for data loads….both for master data & transaction data .
develop & test the end user queries .
Design the process chains ,schedule & test
create authorizations / Roles …assign to users ..and test
Apply necessary patches & Notes if any .
freeze & release the final objects to quality systems
perform quality tests .
Re design if required . (document changes, maintain versions)

4. Final Preparations:
Prepare the final check list of objects to be released .identify the dependencies & sequence of release

Perform Go Live checks as recommended by SAP in production system

Keep up to date Patch Levels in Production system

Test for production scenarios in a pre-production system which is a replica of production system.

Do not encourage the changes at this stage.

Freeze the objects.

5. GO Live & Support:
Keep up to date Patch Levels
Release the objects to production system
Run the set ups in R/3 source system & Initialize Loads in BW
Schedule Batch jobs in R/3 system (Delta loads)
Schedule the process chains in BW.
Performance tuning – on going activity
Enhancements - if any

Sunday, 8 July 2012

0Record Mode



0recordmode is a field which is added in the DSO level. It helps in fetching the after & before images of data.
First: the 0recrodmode controls how data is posted into cubes or ODS (DSO) Objects.

N for new records
B for Pre Images
' ' for after images
R for Reverse Images
X for Storno
D for Deletion of a Key (only in ODS possible)
Y-Update image


You would see the significance of the 0RECORDMODE if you look at the change log table of the ODS. When the data is loaded for the first time the 0RECORDMODE would get assigned a value "N". Now if you reload the data after sometime and lets say 1 of the records were modified then there will be 2 additional records in the change log table with 0RECORDMODE "X" and "" where X corresponds to Before image and "" corresponds to After image.

So when you do a delta from the ODS the system automatically picks up the changed records from the ODS (using the change log table) based on the 0RECORDMODE value.

Multi providers


Multi providers (just a structure, not a physical data store object like cube or ODS) is the union of infoproviders namely Infocubes, ODS , master data tables.

This is just a union of more than one infoproviders, for example if you have a requirement that you need to compare plan data vs actual data OR last year data vs current year ...or similar scenarios. Then it may be easy hassle to create different cube and create a multiprovider then design your report out of multiprovider. Just keep in mind that you need to have at least one similar char in all the infoproviders which includes in your multiprovider.
You can create multprovider of any of the following:

  1. Infocube
  2. ODS
  3. InfoObject
  4. Infosets.

Identification Tab:

Identification tab is for system to identify which char. in multiprovider maps to which characteristic in the specific base providers.

The same characteristic may be present in more than one of the base InfoProviders of the multiprovider.

Also one characteristic in the multiprovider can be matched to another characteristic in one of the base providers which is of similar data type and length.

E.g. you could match 0CUSTOMER and 0SOLD_TO (because 0SOLD_TO has reference characteristic 0CUSTOMER), but it is not possible to match e.g. 0MATERIAL and 0MAT_SALES (because 0MAT_SALES is compounded to 0SALESORG etc.).

Eg: If you have 0VENDOR in ODS1 and ZVENDOR in ODS2 and you want to assign them to the same Multiprovider characteristic 0VENDOR, you need to have ZVENDOR created with reference to 0VENDOR.
If the ODSs are productive I'd suggest creating an ODS3 that is filled out of ODS2 but with 0VENDOR instead of ZVENDOR.

Variables

Variables are parameters of a query that you defined in the Query Designer and that are filled with values when you execute the query or Web application. They serve as a store for characteristic values, hierarchies, hierarchy nodes, texts and formula elements, and can be processed in different ways.

Variable Type /Processing Type
User Entry / Default Value
Replacement path
Customer Exit
SAP
Exit
Authorization
Characteristic
ß
ß
              ß
ß
Text
ß
ß
              ß

Hierarchy
ß

              ÃŸ

Hierarchy node
ß

              ß
ß
Formula
ß
ß
              ß



1.     Characteristic value variables represent characteristic values and can be used wherever characteristic values are used.
2.     Text variables represent a text and can be used in descriptions of queries, calculated key figures and structural components.
3.     Formula variables represent numerical values. You can use formula variables in formulas. Numerical values are also used for calculating exceptions and conditions.
4.     Hierarchy variables represent hierarchies and can be used wherever hierarchies can be selected.
5.     Hierarchy node variables represent a node in a hierarchy and can be used wherever hierarchy nodes are used.


1.      If you choose User Entry/Default Value as the processing type for a variable, you can enter the required value for the variable manually in a dialog box when you execute the query. You enter a default value when you create the variable. This default value is then displayed for input-enabled variables in the input field of the variable screen. For fields that are not input-enabled, the default value is used as the variable value.
2.      The processing type Replacement Path enables you to specify the value that automatically replaces the variable when the query or Web application is executed. i.e., Characteristic value variables with the processing type Replacement Path are replaced by the results of a query.

3.      The Customer Exit processing type for variables enables you to determine values for variables by means of a function module exit. The function module used is EXIT_SAPLRRS0_001. (You create a project in transaction CMOD by selecting the SAP enhancement RSR00001 and assigning this to the enhancement project. Activate the project.)

4.      The SAP exit processing type is contained in variables that are delivered with SAP BW Business Content.

5.      If you choose Process with Authorization, the variable is automatically filled with the values of the user's authorization. When the user opens a query, the data is selected automatically according to his or her authorizations.

Variable offsets

To analyze key figures that have a fixed time-relationship to one another, you can use the variable offset. For example, you want to compare the sales volume from the current time period with that of the same time period in the previous year. In your report definition, you can use the same variable several times to restrict the key figures and determine a difference from the input value.
You can also use the variable offset to select an interval as a restriction with upper and lower limits that refer to the same variable.


1.      To do this, in the upper-left selection field, choose Value Range and between as the operator.
2.      On the Variables tab page, select the required variable and move this using Drag & Drop (or using the arrow key pointing to the right) into the right selection window.
3.      Now specify variable offsets for the upper and lower limits


Thursday, 28 June 2012

Replacement Path


Replacement path processing type is used in a variable when you wish to get a value from attributes of another character or from a query.

Example:- if you wish to display the age of a customer in your report which will not be in the cube. I mean Age is attribute of customer and not part of the cube. But each transaction record in the cube is assigned with a customer field. So if we want to get this value into our report .. we create a variable on customer with replacement path and use its attribute AGE . So when you use this variable in your query for any thing you get the age of the customer associated with that transaction data.


One use of the Replacement path variable is as highlighted by Riccardo (formula variable).

Other than that Replacement path variables of type Characteristic variable replace the results of a query in the variable ad are used in Result Set scenario queries. So if you have such a variable on material, Query1 will supply a list of Materials to Query2.

Replacement path variables are also used to enhance the column headings as Text variables. Eg, A text variable created that will put the text for each month on the column heading.

Characteristic Variable with Replacement Path on Query
While working for TOP-N Vendor Report I encountered the need of Replacement with Query
We already have Report to Calculate TOP-5 Vendors of the Year, and recently I got new requirement to update this report for analyzing the TOP-5 Vendors of the year over all the months of the given year. I tried simple approach by creating multiple selections for all the months individually in Columns, and created condition of TOP-5 for all the months. But it didn’t work in the way I was expecting. It included TOP-5 Vendors of each month individually, which added some new vendors to analyze in my report. Then I tried the same solution with the Replacement Path on TOP-5 Vendor Query (which I was already having in my system), and finally it worked fine for me.
Below is the detailed explanation of the scenario that I discussed and the problem I faced with the alternative approach, and how it solved with the approach of Replacement Path on Query:

Advantages Of BW Reporting Over R3 Reporting


1. Moves the workload off the R3 system. Most sites are trying to run is little reporting off of R3 to maintain server performance for the OLTP users. R3 is not optimized for reporting - it's a highly normalized DB design.

2. BW - better query performance. It's been optimized for that, the DB design, features like OLAP and web caching, reporting agent, aggregates, etc...

3. Many more formatting and distribution options - Excel, Web. Reports can be scheduled to run off hours and cached for very quick access during business hours or e-mailed to users.

4. Reports (queries) can be easily setup for variables to parameterize the report and users can save their different selection options as variants.

5. User can modify the report with drill downs, drill across, sorting, modifying selection criteria, change display of key, key and text, or just text.

6. Quicker changes to the queries, addition of fields in BW environment, don't need ABAP developer.

SAP BW/BI Interview Questions Part-2


1) How and where can I control whether a repeat delta is requested?
Ans: Via the status of the last delta in the BW Request Monitor. If the request is RED, the next load will be of type 'Repeat'. If you need to repeat the last load for certain reasons, set the request in the monitor to red manually. For the contents of the repeat see Question 14. Delta requests set to red despite of data being already updated lead to duplicate records in a subsequent repeat, if they have not been deleted from the data targets concerned before

2) I would like to display the date the data was uploaded on the report. Usually, we load the
transactional data nightly. Is there any easy way to include this information on the report for users so that they know the validity of the report?
Ans: If I understand your requirement correctly, you want to display the date on which data was loaded into the data target from which the report is being executed. If it is so, configure your workbook to display the text elements in the report. This displays the relevance of data field, which is the date on which the data load has taken place.

3) How many days can we keep the data in PSA?
Ans: In our project we delete the PSA tables and ChangeLog tables excluding recent 10 days tables.

4) How can u get the data from client if u r working on offshore projects? Through which network.
Ans: VPN (Virtual Private Network), VPN is nothing but one sort of network where we can connect to the client systems sitting in offshore through RAS (Remote access server).

5) In BW we need to write abap routines. I wish to know when and what type of abap routines we got to write. Also, are these routines written in update rules? I will be glad, if this is clarified with real-time scenarios and few examples?
Ans: Over here we write our routines in the start routines in the update rules or in the transfer structure (you can choose between writing them in the start routines or directly behind the different characteristics. In the transfer structure you just click on the yellow triangle behind a characteristic and choose "routine". In the update rules you can choose "start routine" or click on the triangle with the green square behind an individual characteristic. Usually we only use start routine when it does not concern one single characteristic (for example when you have to read the same table for 4 characteristics).

We used ABAP Routines for example:

a) To convert to Uppercase (transfer structure)

b)  To convert Values out of a third party tool with different keys into the same keys as our SAP System uses (transfer structure)

c) To select only a part of the data for from an infosource updating the Infocube (Start Routine) etc.

6) What does Infocube contains?
Ans: Each Infocube has a Fact Table and a maximum of 16 (13 userdefined+3 system defined, time, unit & data packet) dimensions.

7) What does FACT Table contain?
Ans: Fact Table consists of Keyfigures which hold the transaction data. Each Fact Table can contain a maximum of 233 key figures.
Note: One Dimension table can be assigned with 248 characteristics.

8) What does SID Table contain?
Ans: SID keys linked with dimension table & master data tables (attributes, texts, hierarchies)

9) What are the different master data tables in BW?
Ans:

10)Differences between STAR Schema & Extended Star Schema?
Ans: In STAR SCHEMA, A FACT Table in center, surrounded by dimensional tables and the dimension tables contains of master data. In Extended Schema the dimension tables does not contain master data, instead they are stored in Master data tables divided into attributes, text & hierarchy. These Master data & dimensional tables are linked with each other with SID keys. Master data tables are independent of Infocube & reusability in other InfoCubes.
 
11) When are Dimension ID's created?
Ans: When Transaction data is loaded into Infocube.

12) When are SID's generated?
Ans: When Master data loaded into Master Tables (Attribute, Text, Hierarchies).

13) How would we delete the data in ODS?
Ans: By request IDs, Selective deletion & change log entry deletion.

14) Partitioning possible for ODS?
Ans:  No, It is possible only for Infocube and PSA in BW

15) Different types of Attributes?
Ans: Navigational attribute, Display attributes, Time dependent attributes, Compounding attributes, Transitive attributes.

16) Transitive Attributes?
Ans: Navigational attributes having navigational attribute, these navigational attributes are called transitive attributes.

17) Compounding attribute?
Ans:

18) Time dependent attributes?
Ans:

19) Steps in LO are Extraction?
Ans:
Maintain extract structures. (R/3)
Maintain DataSources. (R/3)
Replicate DataSource in BW.
Assign InfoSources.
Maintain communication structures/transfer rules.
Maintain InfoCubes & Update rules.
Activate extract structures. (R/3)
Delete setup tables/setup extraction. (R/3)
InfoPackage for the Delta initialization.
Set-up periodic V3 update. (R/3)
InfoPackage for Delta uploads.


20) Different types delta update modes in  LO Extraction?
Ans: Direct Delta, Queued Delta, Serialized V3 update, Unserialized V3 Update.

Direct Delta: - With every document posted in R/3, the extraction data is transferred directly into the BW delta queue. Each document posting with delta extraction becomes exactly one LUW in the corresponding Delta queue.
Queued Delta: - The extraction data from the application is collected in extraction queue instead of as update data and can be transferred to the BW delta queue by an update collection run, as in the V3 update.
Serialized V3 update:-

Unserialized V3 Update:-
 
21) Some important T Codes?
Ans:
  RSA6 -- Post processing of data sources
  RSA7-- Delta Queue (allows you to monitor the current status of the delta attribute)
  RSA3-- Extract checker.
  LBWG -- Delete set-up tables in LO's.
  OLI*BW-- Fill Set-up tables.
  LBWE – T-Code for Logistics extractors.
  RSO2 -- Maintaining Generic DataSources.
  PFCG -- Role maintenance, assign users to these roles.
  RSDCUBEM -- For Delete, Change or Delete the Infocube.
  RSMO -- Monitoring of  Dataloads.
  RSCUSTV6 -- Partitioning of PSA.
  RSRT -- Query monitor.
  RSRV -- Analysis and Repair of BW Objects
  RRMX -- BEx Analyzer
  RSBBS -- Report to Report interface (RRI).
  SPRO -- IMG (To make configurations in BW).
  RSDDV -- Maintaining Aggregates.
  RSKC -- Permit Special characteristics.
  ST22 -- Checking Short Dump.
  SM37 -- Scheduling Background jobs.
  RSBOH1 - Open Hub Service: Create Infospoke.
  ROOSOURCE - Table to find out details of Datasources.
  SMOD - SAP Exits
  CMOD - Customer Exits
  SE11 - ABAP Dictionary – Create tables views and other objects.
  SE16 - To see the data in tables, views and structures.
  SE09 - Transport Organizer (workbench organizer) - Transport requests will be released
  SE10 - Transport Organizer (Extended View)
  SBIW - T-code used in LO Extraction for various aspects

22) What are Process Types & Process variant in process chain maintenance?
Ans: Process types are General services, Load Process & subsequent processing, Data Target
Administration, reporting agent & Other BW services. Process variant (start variant) is the place the process type knows when & where to start.

23) What is the T-Code to delete BEx query in production system?
 Ans: RSZDELETE

24) What is the T-code for Copying Queries from one infoprovider to another infoprovider?
Ans: RSZC

25) How much time does it take to extract 1 million (10 lackhs) of records into an infocube?
Ans: This depends, if you have complex coding in update rules it will take longer time, or else it will take less than 30 minutes.

66) How to know in which table (SAP BW) contains Technical Name / Description and creation data of a particular Reports. Reports that are created using BEx Analyzer?
Ans: There is no such table in BW if you want to know such details while you are opening a particular query press properties button you will come to know all the details that you wanted. You will find your information about technical names and description about queries in the following tables. Directory of all reports (Table RSRREPDIR) and Directory of the reporting component elements (Table RSZELTDIR) for workbooks and the connections to queries check Where- used list for reports in workbooks (Table RSRWORKBOOK) Titles of Excel Workbooks in InfoCatalog (Table RSRWBINDEXT)
 
27) What is a LUW in the delta queue?
Ans: A LUW from the point of view of the delta queue can be an individual document, a group of documents from a collective run or a whole data packet of an application extractor.

28) Difference between Calculated Key Figure & Formula?
 Ans: Calculated keyfigure is the virtual keyfigure which is created based on physical keyfigures and some functions.CKF is global across all the queries on the same infoprovider. New same as CKF but its local to the query where it is created.

29) When does a transfer structure contain more fields than the communication structure of an Infosource?
Ans: If we use a routine to enhance a field in the communication from several fields in the transfer structure, the communication structure may contain more fields.

30) Why we use this RSRP0001 Enhancement?
Ans: For enhancing the Customer Exit in reporting.

31) What is the use of Filters?
Ans: It Restricts Data.

32) What is the use of Conditioning?
Ans: To retrieve data based on particular conditions like less than, greater than, less than or equal etc.,

33) What is NODIM?
Ans: For example it converts 5lts + 5kgs = 10. NODIM will be available in the functions set in BEX and this is used to remove the dimensions.

34) Why SAPLRSAP is used?
Ans: We use these function modules for enhancing the datasources in r/3. We have four EXITS –

SAPLRSAP_EXIT_001- Transaction datasources
SAPLRSAP_EXIT_002- Master Data Attribute
SAPLRSAP_EXIT_003- Master Data Text
SAPLRSAP_EXIT_004- Master Data Hierarchy

35) What are workbooks & uses?
Ans: Saved output of a query is called workbook

36) Where are workbooks saved?
Ans: Workbooks are saved in favorites.

37) Can Favorites accessed by other users?
Ans: No, they need authorization.

38) What is Business Content?
Ans: Business Content is the umbrella term for the preconfigured BW objects delivered by SAP. These objects provide ready-made solutions to basic business information requirements and are used to accelerate the implementation of a BW. TCODE RSOR (BW), RSA5(R/3)

Business Content includes:

R/3 extractor programs, DataSources, InfoObjects, InfoSources, InfoCubes, Queries, Roles, and Workbooks. From the Grouping menu, choose the additional Business Content objects that you want to include. Groupings gather together all of the objects from a single area:

Only Necessary Objects: Only those additional objects that are needed to activate the objects that you have selected are included (minimum selection).
In Data Flow Before: All the objects that pass data on to another object are collected.
In Data Flow Afterwards: All the objects that receive data from another object are collected. In Data Flow Before and Afterwards: All the objects that both deliver and receive data are collected.
Backup for System Copy: You use this setting to collect some of the objects into a transport
Request

39) If you update data from ODS to data target. System will generate InfoSource with one prefix name?
Ans: It will generate with prefix name starting with 8 along with InfoSource name.

40) What is an aggregate?
Ans: Aggregates are small or baby cubes. A subset of InfoCube.
Flat Aggregate --when u have more than 15 characteristics for aggregate system will generate that aggregate as flat aggregate to increase performance.
Roll-up--when the data is loaded for second time into cube, we have to roll-up to make that data available in aggregate.

41) What is Line-Item Data, in which scenario u use line item dimension?
Ans: A line item dimension in a fact table does not have the dimension table; it connects directly with the SID table at its sole characteristic. When there is only one characteristic in a dimension, it will eliminate the dimension table. Fact table directly linked to the SID table. When the size of the dimension table is more than 20% size of the fact table we will go for line item dimension

42) You can convert currencies at 2 places?
Ans: One is at update rule level & one at the front-end

43) How can we stop loading data into infocube?
Ans: First you have to find out what is the job name from the monitor screen for this load
In Header Tabstrip in monitor screen. Go to  SM37 (job monitoring) in R/3 select this job and from the menu you can delete the job. Job cancellation is not suggestible for delta load.
 
44) What's the difference between R3 drill down reporting and BW reporting?
These two reporting seem to function similarly with slice and dice. If they function similarly, then that means we don't have to implement BW, just use R3 Drill down reporting tool, am I right?
Ans: The major benefits of reporting with BW over R/3 are in terms of performance and analysis.
1. Performance -- Heavy reporting along with regular OLTP transactions can produce a lot of load both on the R/3 and the database (cpu, memory, disks, etc). Just take a look at the load put on your system during a month end, quarter end, or year-end -- now imagine that occurring even more frequently.
2. Data analysis -- BW uses a Data Warehouse and OLAP concepts for storing and analyzing data, where R/3 was designed for transaction processing. With a lot of work you can get the same analysis out of R/3 but most likely would be easier from a BW

45) What is the Difference between Transfer Rules and Update Rules?
Ans:
Transfer Rules : Which specifies how the mapping between the Data Source fields with the Infosource fields (So called Communication Structure).
Update Rules : Which specifies how data will be updated into the Data Targets (ODS or InfoCube). (Which internally does some techinical name mapping)

46) In update rules for key figures, what are the return table options for?
Ans: Usually the update rule sends one record to the data target; using this option you can send multiple records to the data target eg. If you get 1 record from the
communication structure using this option you can create multiple records into the data target. For exa mple if we are getting total telephone expenses for the cost center, you can use this to return telephone expenses for each employee (by dividing the total expenses by the number of employees in the cost center) and creating cost record for each employee using ABAP code.