Showing posts with label enterprise_data_warehousing. Show all posts
Showing posts with label enterprise_data_warehousing. Show all posts

· Added by Krish, last edited by Arun Varadarajan on Mar 16, 2009
InfoCube:
Definition
An object that can function as both a data target and an InfoProvider.
From a reporting point of view, an InfoCube describes a self-contained dataset, for example, of a business-orientated area. This dataset can be evaluated in a BEx query.        
An InfoCube is a quantity of relational tables arranged according to the star schema: A large fact table in the middle surrounded by several dimension tables.
Use
InfoCubes are supplied with data from one or more InfoSources or ODS objects (Basic InfoCube) or with data from a different system (RemoteCube, SAP RemoteCube, virtual InfoCube with Services, transactional InfoCube).
Structure There are various types of InfoCube:
1.      Physical data stores:
Basic InfoCubes
Transactional InfoCubes
2.      Virtual data stores:
RemoteCube
SAP RemoteCube
Virtual InfoCube with Services
Only Basic InfoCubes and transactional InfoCubes physically contain data in the database. Virtual InfoCubes are only logical views of a dataset. By definition, they are not data targets. However, the InfoCube type is of no importance from the reporting perspective, since an InfoCube is accessed as an InfoProvider.
Integration You can access the characteristics and key figures defined for an InfoCube in the Query Definition in the BEx Web or in the BEx Analyzer.

Basic InfoCube
Definition
A Basic InfoCube is a type of InfoCube that physically stores data. It is filled with data using BW Staging. Afterwards, it can be used as an InfoProvider in BEx Reporting.
Structure
As with other InfoCube types, the structure of a Basic InfoCube corresponds to the Star Schema.
For more information, see InfoCube
Integration
The Basic InfoCube is filled using the Scheduler, providing that Update Rules have been maintained.
It is then made available to Reporting as an InfoProvider. It can also be updated into additional data targets or build a MultiProvider together with other data targets.
Transactional InfoCubes
Definition
Transactional InfoCubes differ from Basic InfoCubes in their ability to support parallel write accesses. Basic InfoCubes are technically optimized for read accesses to the detriment of write accesses.
Use
Transactional InfoCubes are used in connection with the entry of planning data. See also Overview of Planning with BW-BPS. The data from this kind of InfoCube is accessed transactionally, meaning data is written to the InfoCube (possibly by several users at the same time). Basic InfoCubes are not suitable for this. You should use Basic InfoCubes for read-only access (for example, when reading reference data).
Structure
Transactional InfoCubes can be filled with data using two different methods: Using the transaction of BW-BPS to enter planning data and using BW staging, whereas planning data then cannot be loaded simultaneously. You have the option to convert a transactional Info Cube Select Convert Transactional InfoCube using the context menu in your transactional InfoCube in the InfoProvider tree. By default, Transaction Cube Can Be Planned, Data Loading Not Permitted is selected. Switch this setting to Transactional Cube Can Be Loaded With Data; Planning Not Permitted  if you want to fill the cube with data via BW Staging.
During entry of planning data, the data is written to a transactional InfoCube data request. As soon as the number of records in a data request exceeds a threshold value, the request is closed and a rollup is carried out for this request in defined aggregates (asynchronously).  You can still rollup and define aggregates, collapse, and so on, as before.
According to the database on which they are based, transactional InfoCubes differ from Basic InfoCubes in the way they are indexed and partitioned.  For an Oracle DBMS this means, for example, no bitmap index for the fact table and no partitioning (initiated by SAP BW) of the fact table according to the package dimensions.
Reduced read-only performance is accepted as a drawback of transactional InfoCubes, in the face of the parallel (transactional) writing option and improved write performance.
Creating a transactional InfoCube Select the Transactional indicator when creating a new (Basis) InfoCube in the Administrator Workbench.
Converting a basic InfoCube into a transactional InfoCube
InfoCube conversion: Removing transaction data
If the Basic InfoCube already contains transaction data that you no longer need (for example, test data from the implementation phase of the system), proceed as follows:
1.      In the InfoCube maintenance in the Administrator Workbench choose, from the main menu, InfoCube ® Delete Data Content. The transaction data is deleted and the InfoCube is set to "inactive".
2.      Continue with the same procedure as with creating a transactional InfoCube.
InfoCube conversion: retaining transaction data
If the Basic InfoCube already contains transaction data from the production operation you still need, proceed as follows:
Execute the SAP_CONVERT_TO_TRANSACTIONAL ABAP report under the name of the corresponding InfoCube. You should schedule this report as a background job for InfoCubes with more than 10,000 data records. This is to avoid a potentially long run-time.
Integration
The following typical scenarios arise for the use of transactional InfoCubes in BW-BPS.
1st Scenario:
Actual data (read-only access) and planned data (read-only and write access) have to be held in different InfoCubes. Therefore, use a Basic InfoCube for actual data and a transactional InfoCube for planned data. Data integration is achieved using a multi-planning area that contains the areas that are assigned to the InfoCubes. Access to the two different InfoCubes is controlled here by the characteristic "Planning area", which is added automatically.
2nd Scenario: In this scenario, the planned and actual data have to be together in one InfoCube. This is the case, for example, with special rolling forecast variants. Here you have to use a transactional InfoCube, since both read-only and write accesses take place. You can no longer load data directly that has already arrived in the InfoCube by means of an upload or import source. To be able to load data nevertheless, you have to make a copy of the transactional InfoCube that is identified as a Basic InfoCube and not as transactional. Data is loaded as usual here and subsequently updated to the transactional InfoCube.

RemoteCube
Definition
A RemoteCube is an InfoCube whose transaction data is not managed in the Business Information Warehouse but externally. Only the structure of the RemoteCube is defined in BW. The data is read for reporting using a BAPI from another system.
Use
Using a RemoteCube, you can carry out reporting using data in external systems without having to physically store transaction data in BW. You can, for example, include an external system from market data providers using a RemoteCube.
By doing this, you can reduce the administrative work on the BW side and also save memory space.
Structure
When reporting using a RemoteCube, the Data Manager, instead of using a BasicCube filled with data, calls the RemoteCube BAPI and transfers the parameters.
Selection
Characteristics
Key figures
As a result, the external system transfers the requested data to the OLAP Processor.
Integration
To report using a RemoteCube you have to carry out the following steps:
1.      In BW, create a source system for the external system that you want to use.
2.      Define the required InfoObjects.
3.      Load the master data:
Create a master data InfoSource for each characteristic Load texts and attributes
4.      Define the RemoteCube
5.      Define the queries based on the RemoteCube

SAP RemoteCube
Definition
An SAP RemoteCube is a RemoteCube that allows the definition of queries with direct access to transaction data in other SAP systems.
Use
Use SAP RemoteCubes if:
You need very up-to-date data from an SAP source system
You only access a small amount of data from time to time
Only a few users execute queries simultaneously on the database.
Do not use SAP RemoteCubes if:
You request a large amount of data in the first query navigation step, and no appropriate aggregates are available in the source system
A lot of users execute queries simultaneously
You frequently access the same data
Structure SAP RemoteCubes are defined based on an InfoSource with flexible updating. They copy the characteristics and key figures of the InfoSource. Master data and hierarchies are not read directly in the source system. They are already replicated in BW when you execute a query.
The transaction data is called during execution of a query in the source system. During this process, the selections are provided to the InfoObjects if the transformation is only simple mapping of the InfoObject. If you have specified a constant in the transfer rules, the data is transferred only if this constant can be fulfilled. With more complex transformations such as routines or formulas, the selections cannot be transferred. It takes longer to read the data in the source system because the amount of data is not limited. To prevent this you can create an inversion routine for every transfer routine. Inversion is not possible with formulas, which is why SAP recommends that you use formulas instead of routines.
Integration
To be assigned to an SAP RemoteCube, a source system must meet the following requirements:
BW Service API functions (contained in the SAP R/3 plug-in) are installed.
The Release status of the source system is at least 4.0B
In BW, a source system ID has been created for the source system
DataSources from the source system that are released for direct access are assigned to the InfoSource of the SAP RemoteCube. There are active transfer rules for these combinations.
Virtual InfoCubes with Services
Definition
A virtual InfoCube with services is an InfoCube that does not physically store its own data in BW. The data source is a user-defined function module. You have a number of options for defining the properties of the data source more precisely. Depending on these properties, the data manager provides services to convert the parameters and data.
Use
You use a virtual InfoCube with services if you want to display data from non-BW data sources in BW without having to copy the data set into the BW structures. The data can be local or remote. You can also use your own calculations to change the data before it is passed to the OLAP processor.
This function is used primarily in the SAP Strategic Enterprise Management (SEM) application.
In comparison to the RemoteCube, the virtual InfoCube with services is more generic. It offers more flexibility, but also requires more implementation effort.
Structure When you create an InfoCube you can specify the type. If you choose Virtual InfoCube with Services as the type for your InfoCube, an extra Detail pushbutton appears on the interface. This pushbutton opens an additional dialog box, in which you define the services.
1.      Enter the name of the function module that you want to use as the data source for the virtual InfoCube. There are different default variants for the interface of this function module. One method for defining the correct variant, together with the description of the interfaces, is given at the end of this documentation.
2.      The next step is to select options for converting/simplifying the selection conditions. You do this by selecting the Convert Restrictions option. These conversions only change the transfer table in the user-defined function module. The result of the query is not changed because the restrictions that are not processed by the function module are checked later in the OLAP processor.
Options:
No restrictions: If this option is selected, no restrictions are passed to the InfoCube.
Only global restrictions: If this option is selected, only global restrictions (FEMS = 0) are passed to the function module. Other restrictions (FEMS > 0) that are created, for example, by setting restrictions on columns in queries, are deleted.
Simplify selections: Currently this option is not yet implemented.
Expand hierarchy restrictions: If this option is selected, restrictions on hierarchy nodes are converted into the corresponding restrictions on the characteristic value.
3.      Pack RFC: This option packs the parameter tables in BAPI format before the function module is called and unpacks the data table that is returned by the function module after the call is performed. Since this option is only useful in conjunction with a remote function call, you have to define a logical system that is used to determine the target system for the remote function call, if you select this option.
4.      SID support: If the data source of the function module can process SIDs, you should select this option.
If this is not possible, the characteristic values are read from the data source and the data manager determines the SIDs dynamically. In this case, wherever possible, restrictions that are applied to SID values are converted automatically into the corresponding restrictions for the characteristic values.
5.      With navigation attributes: If this option is selected, navigation attributes and restrictions applied to navigation attributes are passed to the function module.
If this option is not selected, the navigation attributes are read in the data manager once the user-defined function module has been executed. In this case, in the query, you need to have selected the characteristics that correspond to these attributes. Restrictions applied to the navigation attributes are not passed to the function module in this case.
6.      Internal format (key figures): In SAP systems a separate format is often used to display currency key figures. The value in this internal format is different from the correct value in that the decimal places are shifted. You use the currency tables to determine the correct value for this internal representation.
If this option is selected, the OLAP processor incorporates this conversion during the calculation.
Dependencies
If you use a remote function call, SID support must be switched off and the hierarchy restrictions must be expanded.
Description of the interfaces for user-defined function modules
Variant 1: Variant 2:
Additional parameters for variant 2 for transferring hierarchy restrictions, if they are not expanded:
With hierarchy restrictions, an entry for the 'COMPOP' = 'HI' (for hierarchy) field is created at the appropriate place in table I_T_RANGE (for FEMS 0) or I_TX_RANGETAB (for FEMS > 0), and the 'LOW' field contains a number that can be used to read the corresponding hierarchy restriction from table I_TSX_HIER, using field 'POSIT' .  Table i_tsx_hier has the following type:
Variant 3:
SAP advises against using this interface.
The interface is intended for internal use only and only half of it is given here.
Note that SAP may change the structures used in the interface.
Method for determining the correct variant for the interface
The following list describes the procedure for determining the correct interface for the user-defined function module. Go through the list from top to the bottom. The first appropriate case is the variant that you should use:
If Pack RFC is activated: Variant 1
If SID Support is deactivated: Variant 2

here is the process fllow of different modules!

SD Flow
You create a sales document to enter information about different sales transactions. R/3 provides a number of predefined sales document types. However , these can be customized to suit your company's needs when R/3 is installed.
Some examples of sales documents include:
• sales queries
• sales orders
• outline agreements
• complaints
You use sales queries to enter information about potential sales into R/3.Types of sales query documents include:
• inquiries
• quotations
• free-of-charge deliveries
An inquiry is used to record any general queries a customer may have about goods or services they
are thinking of buying from your company. An inquiry is one of the first possible documents you can
create in the customer order management cycle. An example of the type of information contained in an inquiry is whether your company stocks a certain product line. Along with entering general customer queries, you can use inquiries to record the goods or services that a customer is interested in. And you can enter descriptions of goods or services that your company should research in order to answer customer queries. You can carry out automatic pricing for any goods or services you enter in an inquiry. This will enter the price of goods or services into the inquiry for you. You can also check whether any goods you entered in the inquiry are available in your company's warehouse. The order probability function enables you to determine the likelihood that a customer will buy from you. To increase the probability of a sale, you can offer the customer alternative goods and services.
Quotations are sales query documents that you create when a customer requests specific information
about a product. For example, you can use a quotation if a customer makes a query regarding how much goods or services cost or you can use a query if a customer asks when goods will be available for shipping.
You can create quotations from scratch or you can create them by copying inquiries. If a customer is
interested in the products or services after they have made an inquiry, you can provide a quotation based on the original inquiry. R/3 allows you to copy the information directly from an inquiry to a quotation.
Let's say an inquiry was created when a customer inquired whether your company, could manufacture
twenty motorcycles. Assume a quotation was created by copying this inquiry when the customer called
back to inquire how much twenty motorcycles would cost. You can use quotations to enter information and descriptions for goods and services that are to be researched. You can also use them to carry out automatic pricing and to check goods availability. You can use quotations to calculate the probability that a customer will buy the goods or services entered on a quotation. This function is called order probability. You can also use quotations to enter details about alternative goods or services. These are goods or services that a customer did not inquire about but that you think they will consider purchasing. Once you have created a quotation for a query in R/3, you send the quotation to the customer who made the query. The quotation represents a binding offer made to the customer that includes quantity and cost details.
You create a free of charge delivery when you send free samples of any goods that your company
produces to customers. These contain information about the goods that are delivered but they don't
include the corresponding pricing information for them.
Let's look at the sales orders that exist in R/3.You create a sales order when a customer has ordered
goods or services from your company. They are a part of the customer order management cycle.
You can carry out automatic pricing in sales orders to enter the price of goods or services.
R/3 will also run a credit check on the customer to see if they will be exceeding their credit limit.
You can also check whether ordered goods will be available in your company's warehouse for delivery.
Examples of types of sales order include
• standard orders
• consignment orders
• cash orders
• rush orders
You create standard orders for goods and services that will be delivered or rendered according to
the standard R/3 sales cycle. This means that goods are ordered, picked from the warehouse, and
then shipped before customers are billed for them. Likewise, services are rendered before customers
are billed for them.
Your company may store its goods in its customers' warehouses. You create a consignment order when a customer is ready to retrieve stock from the warehouse.
SAP can propose the most suitable stock to retrieve, including third-party stock.
A consigment order is like a standard sales order for goods but it doesn't have any delivery
information.
You create cash orders and rush orders for the sale of goods only.
You create a cash order when a customer picks up and pays for a delivery as soon
as it is ordered. And you create a rush order when the customer picks up the goods on the
same day as the order is placed. In this case, the invoice is created later.
You can arrange to deliver goods or render services in installments. To do this, you create an
outline agreement. Examples of some types of outline agreement include :
• quantity and value contracts
• master contracts
• scheduling agreements
• service contracts
You create a quantity contract if a customer has agreed to order a certain quantity of goods from your company during a specified period.
And you create a value contract if a customer has agreed to order goods of a certain cumulative value from your company during a specified period.
Quantity and value contracts do not include delivery dates, so releases are made using a sales order.
You can unite multiple contracts in a single master contract.
Let's say you create a quantity contract because a customer has agreed to order 500 engines in the first six months of the current year. If the customer orders 100 of these engines in January, you create a sales order called a release order.You refer to a quantity contract in a release order. So you refer to the quantity contract created for the 500 engines in each release order created for these engines. R/3 will then update the quantity contract automatically so it contains the correct number of remaining engines to be ordered.
Scheduling agreements specify the installments in which goods will be delivered to a customer. They include the quantity of a product that will be delivered in each installment. And they include the delivery date of each installment. You process a delivery for each installment contained in the scheduling agreement in the same way that you process a delivery for a regular sales order.No sales documents, such as release orders, are created before the products included on a scheduling agreement are processed for delivery.
You create a service contract if a customer requests a service over a particular period of time. For example, you could create a service contract if a customer ordered five one-hour maintenance checks from your company's motorcycle repair department.
You create complaint sales documents if there has been a fault with any goods that have been delivered, or with any services rendered, by your company.
For example, you create complaint sales documents if customers have been billed
incorrectly for an item or service, or if goods are faulty.
Different types of complaint sales document include
• returns
• credit memo requests
• debit memo requests
You create a returns document if a customer returns goods they have purchased from you because they are not satisfied with them. You can create returns from scratch or you can create them by copying the sales order that was originally created for the returned delivery.
A returns document records that you expect stock to be returned to your warehouse.
You can create one or more credit memo requests if a customer has been overcharged for a quantity of goods or services. You can also create a credit memo request if goods were damaged during transit and you want to credit the customer for the goods damaged.
When you create a credit memo request, your Accounting department reviews it to confirm that it can be justified. If the credit memo request is approved, the Accounting department creates a credit memo based on the request. You can create credit memo requests by copying other sales documents such as the sales order where the overcharge occurred.
You create debit memo requests when customers have been undercharged for products or services. Your company’s Accounting department can then create an invoice to bill the undercharged customer.
This document is adopted from Smart Force Campus Course Material
____________ _________ _________ _____
MM Flow

PR >Release the PR>RFQ>Quotation>Quotation Comparison>PO>Release the PO>GR>Invoice Verification
MM Process flow:
Process Flow
The typical procurement cycle for a service or material consists of the following phases:
1. Determination of Requirements
Materials requirements are identified either in the user departments or via materials planning and control. (This can cover both MRP proper and the demand-based approach to inventory control. The regular checking of stock levels of materials defined by master records, use of the order-point method, and forecasting on the basis of past usage are important aspects of the latter.) You can enter purchase requisitions yourself, or they can be generated automatically by the materials planning and control system.
2. Source Determination
The Purchasing component helps you identify potential sources of supply based on past orders and existing longer-term purchase agreements. This speeds the process of creating requests for quotation (RFQs), which can be sent to vendors electronically via SAP EDI, if desired.
3. Vendor Selection and Comparison of Quotations
The system is capable of simulating pricing scenarios, allowing you to compare a number of different quotations. Rejection letters can be sent automatically.
4. Purchase Order Processing
The Purchasing system adopts information from the requisition and the quotation to help you create a purchase order. As with purchase requisitions, you can generate Pos yourself or have the system generate them automatically. Vendor scheduling agreements and contracts (in the SAP System, types of longer-term purchase agreement) are also supported.
5. Purchase Order Follow-Up
The system checks the reminder periods you have specified and - if necessary - automatically prints reminders or expediters at the predefined intervals. It also provides you with an up-to-date status of all purchase requisitions, quotations, and purchase orders.
6. Goods Receiving and Inventory Management
Goods Receiving personnel can confirm the receipt of goods simply by entering the Po number. By specifying permissible tolerances, buyers can limit over- and under deliveries of ordered goods.
7. Invoice Verification
The system supports the checking and matching of invoices. The accounts payable clerk is notified of quantity and price variances because the system has access to PO and goods receipt data. This speeds the process of auditing and clearing invoices for payment.

Pur info record is nothing but a master data like thing which will be maintained for different materials to determine the prices etc.It Specifies the number that uniquely identifies a record.
For Example: an info record is based on Plant Vendor and Material Based on these three the Material Prices will be calculated for different combinations different values are taken into consideration.
During pricing it brings these values automatically based on this info record.
Use ME11 Tcode to create this record.

Common Tables used by SAP MM
Below are few important Common Tables used in Materials Management Modules:
EINA Purchasing Info Record- General Data
EINE Purchasing Info Record- Purchasing Organization Data
MAKT Material Descriptions
MARA General Material Data
MARC Plant Data for Material
MARD Storage Location Data for Material
MAST Material to BOM Link
MBEW Material Valuation
MKPF Header- Material Document
MSEG Document Segment- Material
MVER Material Consumption
MVKE Sales Data for materials
RKPF Document Header- Reservation
T023 Mat. groups
T024 Purchasing Groups
T156 Movement Type
T157H Help Texts for Movement Types
MOFF Lists what views have not been created
A501 Plant/Material
EBAN Purchase Requisition
EBKN Purchase Requisition Account Assignment
EKAB Release Documentation
EKBE History per Purchasing Document
EKET Scheduling Agreement Schedule Lines
EKKN Account Assignment in Purchasing Document
EKKO Purchasing Document Header
EKPO Purchasing Document Item
IKPF Header- Physical Inventory Document
ISEG Physical Inventory Document Items
LFA1 Vendor Master (General section)
LFB1 Vendor Master (Company Code)
NRIV Number range intervals
RESB Reservation/ dependent requirements
T161T Texts for Purchasing Document Types

Tcodes:

RFQ to Vendor - ME41
Raising Quotation - ME47
Comparison of Price - ME49
Creation of PO - ME21N
Goods Receipt - MIGO
Invoice (Bill PAssing) - MIRO
Goods Issue - MB1A
Physical Inventory - MI01( Create doc)
MI04 (Enter Count)
MI07 (Post)
____________ _________ _
FICO

The FI module has 8 sub modules:
FI-GL: General Ledger Accounting
FI-LC: Consolidation
FI-AP : Accounts Payable
FI-AR : Accounts Receivable
FI-BL : Bank Accounting
FI-AA :Asset Accounting
FI-SL : Special Purpose Ledger
FI-FM : Funds Management
CO Controlling
represents the company's flow of cost and revenue. It is a management instrument for organizational decisions. It too is automatically updated as events occur.
The CO module has following sub modules:
CO-OM : Overhead Costing (Cost Centers, Activity Based Costing, Internal Order Costing)
CO-PA : Profitability Analysis
CO-PC : Product Cost Controlling

Scenario faced by someone.

Platform: BW3.5

Scenario:

ODS ZA was updated by 3 other source ODSs, ZB, ZC, ZD using delta for about a year. ZA, ZB, ZC, ZD are in the process chain loading daily.

ODS ZE was newly added to be updated from ZB. Init was done on the weekend for ZE. Delta was added to the same process chain.

The process chain stopped with error at ZA activation on Monday with the following message.

ODS object ZA was built incorrectly. Cannot update request REQU_[xxxxxxxxxxxxxxxxx](88,109)
Message no. RSM1147

Diagnosis
Request 87,880 has still not been uploaded.

I checked 88,109, it’s a request from ZB. I couldn’t see anything missing in between ZB and ZA.

So, what is 87,880? Where can I find the reference of Request ID?

The answer is in table RSICCONT. It provides the request ID and which data target the request was loaded.

As it turned out, 87,880 was updated to ZE. It is the init request. So BW thinks the init done on ZE should also be done on ZA. However, that’s not what I intended to do. My intention was to bring ZE up to the current data and delta ZA and ZE at the same time. Looks like I missed a step. I should have also init ZA without data transfer so that both ZA and ZE are ready for delta. At this point, the delta is not acceptable by ZA. I can either full load ZA or make sure ZA data is current and do an init without data transfer on both ZA and ZE.

I looked into PSA for change logs of 8ZB. Luckily, I can load by order ID.

So I deleted the error delta in ZA

Then I did a full repair load from ZB to ZA for the same order ID range as the delta.

Then init without data transfer on both ZA and ZE.

The problem was fixed.

It would not be an easy fix if no pattern to be found for repair full load with range, which means, you might have to do full load without range. So lesson learned:

If multiple delta exists from the same source, and if they are not init at the same time. Make sure to do an init without data transfer for all data targets if the new one is aded.