January 31, 2012

ABAP Function Modules related to date Calculations

When we are creating queries in BI we always get requirements to display data based dates entered by user, fiscal year entered by user or cal month entered by user. 

We have function modules using which we can achieve most of these type of requirements.

have a look at the below link.

January 30, 2012

All about Inventory Management in SAP BI

As we all know it is difficult to work with Inventory Management in SAP BI. We nee to take a lot care while extracting data from ECC to BI system.
The below link gives you entire business content of inventory management.


we have below three LO data sources to extract Inventory data into BI system.
2LIS_03_BX 
2LIS_03_BF
2LIS_03_UM

The below articles explains each and every step need to follow while installing the above data sources and filling setup tables.



If you see in any project, Inventory info cubes will not be included in BIA. Why because BIA doesn't support exception aggregations if key figures are non-cumulative.


As we have non-cumulative key figures with exception aggregation, it is not possible to include Inventory info cubes in BIA. However if you don't have exception aggregation for non-cumulative key figures, then we can include inventory info cubes in BIA.

January 27, 2012

Two or more BW systems on one OLTP system

In real time scenarios, we will get a situation where we need to connect two or more BW systems to single OLTP(ECC) system.


when we get this scenario, the first thing we get in mind is how can we maintain delta queue for two BW systems in one ECC systems.


As we all know in ECC system, RSA7(Delta queue) will be based on target system, but again this is for LO data sources.


When it comes to data sources like FI, which will extract the data based on time stamp maintained in table  BWOM2_TIMEST, This table doesn't contain target system.

SAP has release note which will explain all these scenarios.


Have a look at SAP Note 844222 : Two OR more BW systems against one OLTP system

January 26, 2012

January 22, 2012

Step by Step Procedure to Implement Transport in SAP BI

In general transports will be implemented by Basis persons or we can automate the transports implementation by scheduling the job.
Sometimes we will be in situation where we have to implement the transports.

In this post, we will see how to implement the transport and the return codes we get and how to analyze the transport log.

When we release any transport in DEV system, it will move to the next system based transport path maintained(let's assume QA system).
We can see the transport in QA system through STMS t code.

1) go to STMS tcode
2) click on transport(truck) symbol.
3)In this screen double click on your QA system(you will have all the systems here).
4)Now you will see the transport requests present in your QA system queue.(this is called transport queue).
5)Just refresh the queue once to get the latest released transports.
6)Now place the cursor on the transport you want to implement or press F9.
7)On top you will find two trucks, one with full load and other with half load. Click on truck with half load.

We will get the below screen.


Select "Immediate" option.Now click on Execution tab.

Select "Asynchronous" option. Click on options tab.
In this screen, we have 7 options and by default first option will be checked. Please un check the first option and select last option, i.e "Ignore predecessor relations" and click on ok.

Now you can truck symbol in right side for you transport. If you want to monitor the job log of transport, go to SM37 and you can see RDDEXECL job with DDIC user.

8) You can refresh the import queue to get the latest status for your transport.
9)Once your transport is implemented, we can have 5 different results.(these are called return codes). They are.
RC0(Green) --- Transport is successful
RC4(Yellow) --- Transport is successful with warnings.(we can ignore this)
RC8(Red) --- Transport if failed due to errors.(we need to check the log take necessary actions).
RC12(red with thunder symbol) --- Unable to start the transport job in server. This is server issue, we can import after 10 mins.
RC16 --- This is also server issue, need to check with basis people.

If you want to re-import the failed transport after correcting the error or already successful transport, follow the below steps.

1) first we have to add the transport request again to queue.
2) copy the transport request and click on extras in menu bar --->Other requests ---> add


3) In the next screen give the transport number, target client and select "import again". Now click on OK.
4) You will able to see transport request in queue again.
5)select the transport request and in the options tab instead of selecting last option select 2,3,4 and last option as shown below.
6) click on OK.This will overwrite already existing objects.

We can check the transport log in SE01, or in import queue logs(we will have this option in import queue).

Hope it will be useful...

Difference between Display and Navigational attribute

We will see the differences in 2 areas.

1) Modelling:

Values of Display attributes will store in P and Q tables.

P -- Display time independent attributes.
Q -- Display time dependent attributes.


Values of Navigational attributes will store in X and Y tables.

X -- Navigational time independent attributes.
Y -- Navigational time dependent attributes. 

2) Reporting:

As we all know drill down in report is possible if the characteristic is navigational attribute and is not if it is display attribute.Now we will see this with some example data.

Lets consider we have objects Customer, country and sales amount. we have the below data.

Customer   country    Sales amount

Cust1          India          200
Cust2          India          300
Cust3          USA           500
Cust4          USA           400
Cust5          UK             600
Cust6          USA           100

Navigational Attribute:

Assume that Country is as navigation attribute to master data Customer. If we want to have an analysis about the sales based on country. Since 'Country' is navigational attribute we have an independent drill down of Country with out the support of Customer in report .

country   Sales amount

India             500
USA             1000
UK                 600

here country is an attribute of customer, as we made this as navigational attribute, it can be standalone in report with out customer.

Display Attribute:

We cannot go for individual drill down to country with out customer, i.e if we want country in our report then we have to drill down customer along with country. Report output will be as below.

Customer  country   Sales amount

Cust1        India           200
Cust2        India           300
Cust3        USA            500
Cust4        USA            400
Cust5        UK              600
Cust6        USA            100

Just observe the report in our first case is having only three records with aggregated value based on country but in the second we have 6 records.

Hope we get clear idea about display and navigational attributes.

Setup Tables filling without Locking Users in SAP BI

While filling setup tables, the first step we think about is locking the users.Why we think about locking users is we might miss the records posted by the users when we are filling setup tables. The next doubt we get is " Can't we fill without locking users..?".
Yes, we can fill the setup tables without locking users if data source supports that feature.

We can fill the setup tables and load the data to BI in 2 ways.

1) Init with data transfer option:

In this method we need to do the below steps.

i) Lock the users in R3 system
ii) Delete the data in setup tables for specific application component
iii) Fill the setup tables.
iv) Run the Info Package with option "Init with data transfer"
v) Unlock the users in R3 system.

This is very time consuming process, because we need to lock the users until the data reaches to BI system.This affects client business.

2) Init without data transfer and full repair:

In this method we need to do the below steps.

i) Lock the users in R3 system
ii) Delete the data in setup tables for specific application component
iii) Fill the setup tables.
iv) Run the Info package with option "init without data transfer".This sets the delta queue and timestamp for delta in R3 system.
v) Unlock the users in R3 system
vi) Load the data to BI system using Full repair Info Package.

In this method, after data is loaded to setup tables we can unlock the users in R3 system. This is better than the first option.

We have one more option in Info Package called "Early Delta Initialization"

Early Delta Initialization:

In this one we do the initialization before filling setup tables. So that users can post the records when we are performing setup tables filling. we will get the posted records in next delta run.

In this method we need to do the below steps.

i) Run the Info Package with option " early delta initialization". This will enable the delta queue and setup the timestamp for delta in system
ii) Delete the data in setup tables for specific application component
iii) Fill the setup tables.
iv) Load the setup tables data to BI using full repair IP.

How to check whether Data source supports for Early Delta Initialization?

We can check this in table ROOSOURCE.
i) Go to SE16 --> table name and enter
ii) In the next screen give the data source name and execute.
iii) If field ZDD_ABLE in the result has value X, then data supports for early delta initialization.
iv) If it has space, then it doesn't support.


Hope it will be useful.

Refer the below links for more details.

http://help.sap.com/saphelp_nw04/helpdata/en/80/1a65dce07211d2acb80000e829fbfe/frameset.htm
http://forums.sdn.sap.com/thread.jspa?threadID=2120981

You can also go through BW 350 -- Data Acquisition book.

DSO Activation Errors in SAP BI


Most of the cases we will face below errors in DSO Activation.

1) Activation of M records from Data Store object terminated.
    i) SQL Error while reading table in database.
    ii) No batch process available. Process terminated

2) Request not exist in DSO and DSO is inconsistent. You will get request number.

Now we will see the solutions for the above issue.

1) i) : a) Right click on your DSO in RSA1 and click on manage.Please check if you have any red request in request tab of DSO.
In request tab below, you will find option "Request Display: Date of Update From" change this date to one or two months back and click on refresh. you will get the old request now, now check if you have any red request.
b) If you find any red request, click on monitor tab and make the technical status to red. Now come back and make the request status red in request tab of DSO.Delete the request from request tab.
c) Activate the DSO now, it will get successful.

1) ii) : You will get this error, if you don't have enough background processes in your server.

a) check number of background processes maintained by going into tcode RSODSO_SETTINGS.

Please follow the below steps to rectify this error.

a) go to manage tab of DSO. now go to request tab and select the request and click on activate.
b) In the next screen select the request you want to activate.
c) Now click on parallel activation
  
d) In the next screen, you will get the no of parallel processes maintained for DSO activation. Make this to 1 and save it.(By default we will have 3)

e) Now click on activate, this time your DSO will get activate successfully.

for more details you can refer below thread as well.

http://forums.sdn.sap.com/thread.jspa?threadID=1285217

2) : You will get this error if someone is wrongly deleted the request from manage of DSO. wrongly means properly making the request red and deleting from manage tab. If request is deleted from manage tab but still present in back end tables then you will get this error.
The request loaded to the DSO will be stored in the following back end tables.
RSICCONT, RSMONICDP, RSODSACTUPDTYPE and RSODSACTREQ.

If we have any discrepancy between these four tables, we will get the above error.
Apart from this error we will get the request number in error log. We need to delete that request number from these four tables if it exist.

please check the note 868391 for details.

Hope this will be useful...

January 19, 2012

Process Chain errors in SAP BI

The below blog covers the following process chain errors which we get when we are working in support project.

1) Job BI_PROCESS_LOADING could not be scheduled. Termination with return code 8
2) Process Chain stops at intermediate point and does not execute further
3) You ran a process chain mostly it is in green, one is in yellow error
4) Object .................... of type ‘Info package' is not available in version ‘D'
5) Activation of DSO through Process Chain gets failed

check the below blog for details.

http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/8284

All about Info Object in SAP BI -- Conceptual and Technical Details

January 11, 2012

Program to convert full load to repair full request

As we all know If we want to load any selective to the target which is already loading using daily delta, Then we need to go for repair full request loading.

Lets's assume you forgot to check the repair full flag and loaded the data successfully to the target. Now definitely your next day delta will fail with the message " selection dosn't meet with intialization". This is caused because we should not run full load when the target has successful intialization.

In such senarios the below program is useful to change the already loaded request from full to repair full request.

1) Execute the program RSSM_SET_REPAIR_FULL_FLAG using SE38
2) give the Info cube name, data source name and soure system
3) Execute it


 

How many users are logged into the system at present

Using the below T-code AL08, we can find how many users are logged in to the system ate present.
 
Same this can be seen in table USR4.

We can try the below transactions as well

SM04, AL08 or RSUSR200.

Error During the retrieval of the logon data stored in secure storage in SAP BI

We get this type of error in different situation.

1) While importing any transports in BW system
2) Activating any Object in BW system
3) Accessing RSA1 --> data sources related to any particular source system.

In this situation, have a look at the below notes
538052 and 644015

All about Extractors in SAP BI

As we all know we have different types of Extractors in SAP BI as mentioned below
1) Application Soecific
  a) BW Content Extractors
  b) Customer Generated Extractors
2) Cross APllication Extractors
  a) Generic Extractors.

Gr though the below two blogs, you will get entire information about all the extractors in SAP BI

One stage stop to know all about BW Extractors-Part1 

One stage stop to know all about BW Extractors-Part2 

January 10, 2012

SD and FI Application Tables


FI/CO :
FI :
Master data:
SKA1 Accounts
BNKA    Bank master record
Accounting documents // indices:
BKPF    Accounting documents
BSEG    item level
BSID    Accounting: Secondary index for customers 
BSIK    Accounting: Secondary index for vendors 
BSIM    Secondary Index, Documents for Material 
BSIP    Index for vendor validation of double documents 
BSIS    Accounting: Secondary index for G/L accounts
BSAD   Accounting: Index for customers (cleared items) 
BSAK   Accounting: Index for vendors (cleared items) 
BSAS   Accounting: Index for G/L accounts (cleared items)
Payment run:
REGUH Settlement data from payment program
REGUP Processed items from payment program
CO :
TKA01    Controlling areas
TKA02    Controlling area assignment
KEKO      Product-costing header
KEPH      Cost components for cost of goods manuf.
KALO      Costing objects
KANZ      Sales order items - costing objects
Cost center master data:
CSKS      Cost Center Master Data
CSKT      Cost center texts
CRCO      Assignment of Work Center to Cost Center
Cost center accounting:
COSP      CO Object: Cost Totals for External Postings
COEP      CO Object: Line Items (by Period)
COBK      CO Object: Document header
COST      CO Object: Price Totals
Sales and Distribution (SD) :
VBFA   Document flow (alg.)
VTFA   Flow shipping documents
Sales order :
VBAK   Header data
VBAP   Item data
VBPA   Partners in sales order
VBKD   Sales district data
VBEP   Data related to line items, delivery lines
Billing document :
VBRK   header data
VBRP   Item data
Shipping :
VTTK   Shipment header
VTTP   Shipment item
VTTS   Stage in transport
VTSP   Stage in transport per shipment item
VTPA   Shipment partners
VEKP   Handling Unit - Header Table
VEPO   Packing: Handling Unit Item (Contents)
Delivery :
LIKP  Delivery header
LIPS  Delivery item
Pricing :
KONH    Conditions header
KONP     Conditions items
KONV     Procedure ( billing doc or sales order)
contracts :
VEDA Contract data

SAP SD Tables

Sales and Distribution:
Customers:
Table  Description
KNA1   General Data
KNB1   Customer Master – Co. Code Data (payment method, reconciliation acct)
KNB4   Customer Payment History
KNB5   Customer Master – Dunning info
KNBK   Customer Master Bank Data
KNKA   Customer Master Credit Mgmt.
KNKK   Customer Master Credit Control Area Data (credit limits)
KNVV   Sales Area Data (terms, order probability)
KNVI   Customer Master Tax Indicator
KNVP   Partner Function key
KNVD   Output type
KNVS   Customer Master Ship Data
KLPA   Customer/Vendor Link
Sales Documents
VBUK   Header Status and Administrative Data
VBAK   Sales Document - Header Data
VBKD   Sales Document - Business Data
VBUP   Item Status
VBAP   Sales Document - Item Data
VBPA   Partners
VBFA   Document Flow
VBEP   Sales Document Schedule Line
VBBE   Sales Requirements: Individual Records
SD Delivery Document
LIPS   Delivery Document item data, includes referencing PO
LIKP   Delivery Document Header data
Billing Document  
VBRK   Billing Document Header
VBRP   Billing Document Item
SD Shipping Unit  
VEKP   Shipping Unit Item (Content)
VEPO   Shipping Unit Header

Table to find Info Package associated to Data Source

Most of the times, we will get requirement to find out Info Package which is loading data to a particular Data Source.

1) Goto SE16
2) Give the table name :RSLDPIO
3) Give your Data Source name in field OLTPSOURCE and execute.

LOGDPID field gives you the Info Package associate to the Data Source.

January 9, 2012

How to fill the InfoCube using ABAP program in SAP BW

This will explain about the step by step procedure to fill the Info Cube with random data using an ABAP program. This is very useful if you don't have data model for your info cube and if you want to show the business model to your customer in short span.

Program to use for this purpose : CUBE_SAMPLE_CREATE.

1) goto SE38, give the program CUBE_SAMPLE_CREATE and execute.

















2) Now you will get the below screen.
--> give the info cube name.
--> select how many records has to update to the Info Cube.
You will find 3 options at bottom:

a) generated values : for all the fields(characteristics and key figures) system will generate random values and update to the Info Cube.

b) Vals from master data tables: values for characteristics will be picked from master data tables (If you have data in master data tables of characteristics) and system will generate the default values for key figures. both will be updated to the Info Cube.

c) Ready for Input ALV: If you want to enter the data into cube manuallt then you have to choose this option. One more advantage of this is, it works like simulation mode, you can see the data before it gets update to the cube.

click on option "excute directly".

In this example I have slected 3 option, and taken 10 records.


















3) Now you will get the below screen.













this is the data generated by the system. If you want to write this data to your cube, just click on save.


Lest take a scenario where you want to enter all the data manually or you have data with you, then to fill that into Info Cube follow the below steps.

4) In the second step instead of selecting 10 records, select 0(zero) and click on execute. You will get below screen.









To add the new record, click on Insert row and enter values for fields.









follow the same steps untill you are done with all you records. then click on save to update the data to your Info cube.

Hope it helps...!!!!

January 2, 2012

BEST Books for SAP BI

Hi Everyone,

The below 3 books are the best books for SAP BI.

1) A Practical guide to SAP Netweaver Business Warehouse(BW) 7.0 By Bharat Patel, Amol Palekar and Shreekant Shiralkar
This books will give you give complete overview of SAP BI 7.0. It covers complete reporting(Query Designer, Bex Analyzer and WAD). Everything is explained clearly.

2) Data Warehousing With Sap Bw7: Bi In Sap Netweaver 2004s : Architecture, Concepts, And Implementation By Christian Mehrwald and Sabine Morlock
This book doesn't cover reporting part, but very good book for complete modelling and about the issues we get realtime.

3) SAP Business Information Warehouse Reporting By Peter Jones

This covers entire reporting.

This 3 books are enough for SAP BI.

January 1, 2012

Exception aggregation in query designer in SAP BI

This explains about the exception aggregation in propeties of key figures(Basic, CKF and RKF) with some example data. documents includes step by step information.

Exception Aggregation in Business Explorer

Key figures aggregation in query designer

When we create calculated key figures in query designer or for basic key figures, in properties tab we will find aggregations tab.

This document explains about the options available in aggregation tab and how to use them.

Aggregation of Key Figures