You are on page 1of 7

1) Communication between BW and R/3 (IMP) IDOC: An intermediate document is a runtime component used for sending and receiving

data from sap to sap system. ALE: Application link enabler It is an technology used for generating , distributing and receiving the idocs from sender to receiver. BW and ECC exchange information in the form of IDOCS. BW execute infopackage. It sends request idoc RSRQST (Message type) to ALE. RSRQST contains reqid , infosource , update mode. Source system acknowledges this idoc by sending an info idoc (RSINFO) to BW system . status = 0 (O.K.) Status = 5 (failure) Source system receive req idoc , it start job BIREQ. Status = 53 (appln doc successfully posted) Transaction remote function call(tRFC) will transfer data into BW in form of datapackages. When data extraction is successful the status of RSINFO = 9 If no data found then status of RSINFO = 8

2) performance tuning of ODS


1) loading unique records: If we are loading only unique records into ODS then in DSO settings uncheck the option unique records. This improves the Load performance. 2) Creating SIDS;. For faster performance uncheck the option SID generation upon activation. 3) Create additional index(secondary) if the dso is used in reporting. Note that if key fields are specified then the existing primary key index is used.

4) Reduce the number of navigational attributes.

performance tuning is divided into 3 categories. a) DataLoad b)Query c) Extraction (R/3)

data load 1) How do I optimize infocube for better performance? Or better dataload.

(IBM)
a) Perform IC partition. b) Reduce data packet size. c) Perform IC compression d) Maintain LID. e) Check if dimension table exceeds 20% of fact table size. f) Create aggregates. g) Number range buffering. h) Maintain control parameters. i) Load master data first before loading transaction data. j) Apply change run after loading master data. k) Delete indexes before loading data in IC. l) Load flat file from application server.

A) IC Partition:
IC can be partitioned by using OCALYEAR OR OFISCPER Open IC In change mode additional functions Repartitioning Now why do we need to partition? Partition does not occupy disk space. It only improves performance. Assume my IC has 20 Million records. If partitioned , then the OLAP processor will fetch the data from the respective partition. So its advantageous to create partition. Note: when I create partition using OFISCPER then we need to set a constant for infoobject 0FISCVARNT i.e drag and drop OFISCPER and 0FISCVARNT into the Time dimensions folder .

So right click on 0FISCVARNT Provider specific properties Constant Note: Constant values are 01 (calendar year) , Q1(quarters) How to check the partitions? http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/404544e7-83c92e10-7b80-a24d5099ce3f?QuickLink=index&overridelayout=true&52316996712496

B) Reduce packet size & PSA partition. Note: Data package size specifies the number of records within a data packet that are delivered when u transfer data from source. Packet size: We set packet size in extraction tab of dtp screen. We can see the package size = 50.000 in extraction tab of dtp screen. Why do we set this option:? Some times the load fails because of memory leak. So we need to reduce the packet size to any value between 5000 to 20,000. PSA Partition: In latest version of BI , psa is automatically partitioned depending on the data load. So as told by sudhakar there is no need for us to create psa partition.

Note: Partition PSA using transaction RSCUSTV6(threshold value for data loading in BW) Package size = 1000 (By default) Partition(PSA) size = 1.000.000 (By default) So reduce the package size for better performance. C) Maintain LID and High cardinality. Why do I need a Line item dimension? ======================= In CTL project material number IO is handling a very large amount of data. So we model it as LID .

OR My client is using a website. So several users will be hitting the website every day. So the Infoobject USERID is modelled as a Line item dimension. If LID is checked then the SID key of the IO gets stored in the fact table instead of the dimension key. i.e BW does not create dimension table. We can use only one characteristic. Note: where do we set this option:? While creating IC OR while editing IC. rsa1 infoprovider edit IC right click dimension folder check the box Line Item Dimension

The maximum line item dimensions (LID) for IC = 6


How do decide which IO needs to be marked as LID/High cardinality? In BW system Se38 SAP_INFOCUBES_DESIGN When we execute this program, it shows list of all ICs along with their dimension tables and ratio of memory occupied by dimension to the memory occupied by F tables. The first column is IC , second column in dimension table starting with /BI0/D* , /BIO/E* for E Table , /BIO/F* for F table and last column shows ratio to F table. So if ratio of dimension table is 20 % more than F table, then we need to make the IO as LID. Now IC can contain only 6 LIDs. If we need to mark another IO as LID then we cannot do. So mark the IO has High cardinality. http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/005f3197-d3da2e10-1a94-a5c62342f2aa?QuickLink=index&overridelayout=true&52536040132616 C) Load master data first before loading transaction data When we load master data first , SIDS are generated so this makes the transaction load faster.

i.e if no SID tables exists then system has to create SID tables thus slowing down the transaction load. D) Apply attribute change run . When the attribute change run is applied all aggregates built on hierarchies / navigational attributes are realigned(rebuilt). C) Number range buffering. Tcode is SNRO. When loading large amounts of data into IC, number range buffering should be increased for dimensions having large amount of values. This is related to buffering of dimension IDs. The system fetches data from buffer instead of accessing dimension tables. snro identify the number range object edit go to setup buffering Main memory No. of numbers in buffer = < specify some value> It should be between 500 to 1000. To check whether Number range buffering is active or not for a IO, go to tcode RSRV. http://help.sap.com/saphelp_nw04/helpdata/en/7b/6eb2aa7aed44ea92ebb969e03081fb /frameset.htm D) Tcode is SBIW sbiw general settings Maintain control parameters for data transfer from source system. The various control parameters are as follows: Source system = Type the source system name supplying data to BW Maximum size of data package . The default is 10000KB Maximum no. of lines in data package = 100000 per data packet. Frequency , the default = 1 Maximum no. of parallel processes for data transfer Background job of target system.

Maximum no. of data packages in delta requests. Note: Tcode sbiw can also be used in generic extractor. But instead of it we can use tcode RSA6

D) Maintain aggregates: If aggregates are maintained then OLAP processor will read from the aggregated tables which results in better query performance.

2) Performance issues related to reports. A) Multiproviders: Several queries for infoproviders can be built on top of Multiprovider. Thus taking advantage of parallel processing and so query response time is faster. B) Cache : Cache is basically a buffer . So data is read from buffer instead of hitting the DB table or the infoprovider. tcode is rsrcache cache monitor Click button cache parameter Different cache persistent modes are : Inactive Flat file(BW OLAP cache) Cluster table Transparent table.

By default Persistence Mode = Inactive C) Query read mode : Read mode determines the manner in which data are returned by the OLAP processor when you execute a query. Tcode is rsrt enter query name click properties button Read mode = A query to read all data at once X query to read data during navigation H query when you navigate / expand hierarchies.

By default the read mode is H. How to check this modes:? Right click IC change environment Infoprovider properties display

3) performance tuning R/3 extractions (extractors) Make sure customer-exits in R/3 are coded properly. Choose appropriate delta queue settings i.e choose queued delta.

4) How do I optimize standard dso for better performance? (IBM) Create secondary indexes only if we are using reports based on dso. Use navigational attributes only if required.

5) I have created a 4 partitions on my infoprovider(say IC). I loaded data into it and then I applied compressions , aggregations etc. Now I realized that my partitions are inadequate(not enough).so I created some more partitions. Then how do I load data back into the IC? Ans: Partitions are to be created before we load data into the IC. Now take back up of IC1 i.e right click IC1 copy IC_backup. i.e copy the Transformations. Note: DTP cannot be copied. Now delete the partitions, then create new one , copy mappings from IC_backup to IC1 , load the data from datasource.

You might also like