Dimensions :
Perfect Order
Complete Order
Order Line Fill
Definitions
% Complete: % of number of orders fully dispatched at first dispatch
% Perfect Orders: % of orders on time and in full
% Value Fill: % of value/quantity dispatched at first dispatch
% On Time: % of orders dispatched on or before the requested delivery date
% Line Fill: % of number of lines fully dispatched at first dispatch
Possible solution
Build a new DSO to for the Metrics based on DSO of Orders,Sales Order Schedule Line . Deliveries using Shipment Info and Status with count as Key figure for each dimension.
Built an Cube over this DSO and built Query over this.
Friday, May 28, 2010
FOX Formula for Planning
Definition:
Formulas define how transaction data is to be processed in order to generate plan data. Formula functions enable you to use extended mathematical functions to calculate plan data. In addition to different calculation functions, which you can use for value assignment in formulas, there is also the possibility to model complex flow structures with the formula language FOX (FOrmula eXtensions).
How to specify a record in a formula:
- You use { }-operands to access transaction data. Syntax:
{field to be changed 1, field to be changed 2, …, field t.b.c. n}
- If "key figure name" is a field to be changed, then each key figure in
a record can be addressed individually.
- If "key figure name" is not in the fields to be changed, then all key
figures of the data record will be changed according to the formula.
- Use F4-help for entering { }-operands.
How to read and write data:
- To read data, put the { }-operand on the right hand side of equations.
- To write data, put the { }-operand on the left hand side of equations.
Do not forget the "." at the end of each statement.
Example 1:
Calculate sales amount from sales quantity and a fixed price
- Field(s) to be changed: Key figure name
- Formula: {0AMOUNT} = {0QUANTITY} * 100.
- Note: If key figure is the only field to be changed, you do not need
the { } brackets: 0AMOUNT = 0QUANTITY * 100.
Example 2:
For each product copy data from the current year (2005) to the
next year (2006)
- Field(s) to be changed: Fiscal Year
- Formula: {2006} = {2005}.
- Note: You do not have to care about the product because of the
subsets ("automatic FOREACH")!
FOX Formulas – Foreach Statement
You have to define a local variable:
DATA year TYPE 0fiscyear.
Use this variable in the Foreach Statement:
FOREACH year.
{year} = {2004} * 1.05.
ENDFOR.
The values for YEAR are taken from the records in the selection of
the planning package.
Assume we have data records for year 2005 and 2006.
First loop: YEAR is replaced with 2005, system calculates
{2005} = {2004} * 1.05.
Second loop: YEAR is replaced with 2006, system calculates
{2006} = {2004} * 1.05.
Variables
Example of formula using one planning area variable and three local
variables:
DATA ZCURPER TYPE 0FISCPER.
DATA ZFCPER TYPE 0FISCPER.
DATA COUNTER TYPE I.
* Copy current period to the next 5 forecast periods
ZCURPER = VARV('PERCUR').
DO.
COUNTER = COUNTER + 1.
ZFCPER = TMVL(ZCURPER,COUNTER).
{0COPASLQTY,ZFCPER,RFC} = {0COPASLQTY,ZCURPER,ACT}.
IF COUNTER = 5.
EXIT.
ENDIF.
ENDDO.
Standard Fox Statements
Using Time Characteristics TMLV( Characteristic, Offset )
- offset: to add for example one year you would select 1 as offset
IF … ELSEIF … ENDIF.
- ELSEIF if you want to integrate several alternatives
IF … ELSE … ENDIF.
- ELSE if no condition mentioned before works
Loop Constructs
DO … ENDDO.
- Needs explicit EXIT Condition
FOREACH … ENDFOR.
- Ending, if last selected characteristic value or key figure is reached
Formulas define how transaction data is to be processed in order to generate plan data. Formula functions enable you to use extended mathematical functions to calculate plan data. In addition to different calculation functions, which you can use for value assignment in formulas, there is also the possibility to model complex flow structures with the formula language FOX (FOrmula eXtensions).
How to specify a record in a formula:
- You use { }-operands to access transaction data. Syntax:
{field to be changed 1, field to be changed 2, …, field t.b.c. n}
- If "key figure name" is a field to be changed, then each key figure in
a record can be addressed individually.
- If "key figure name" is not in the fields to be changed, then all key
figures of the data record will be changed according to the formula.
- Use F4-help for entering { }-operands.
How to read and write data:
- To read data, put the { }-operand on the right hand side of equations.
- To write data, put the { }-operand on the left hand side of equations.
Do not forget the "." at the end of each statement.
Example 1:
Calculate sales amount from sales quantity and a fixed price
- Field(s) to be changed: Key figure name
- Formula: {0AMOUNT} = {0QUANTITY} * 100.
- Note: If key figure is the only field to be changed, you do not need
the { } brackets: 0AMOUNT = 0QUANTITY * 100.
Example 2:
For each product copy data from the current year (2005) to the
next year (2006)
- Field(s) to be changed: Fiscal Year
- Formula: {2006} = {2005}.
- Note: You do not have to care about the product because of the
subsets ("automatic FOREACH")!
FOX Formulas – Foreach Statement
You have to define a local variable:
DATA year TYPE 0fiscyear.
Use this variable in the Foreach Statement:
FOREACH year.
{year} = {2004} * 1.05.
ENDFOR.
The values for YEAR are taken from the records in the selection of
the planning package.
Assume we have data records for year 2005 and 2006.
First loop: YEAR is replaced with 2005, system calculates
{2005} = {2004} * 1.05.
Second loop: YEAR is replaced with 2006, system calculates
{2006} = {2004} * 1.05.
Variables
Example of formula using one planning area variable and three local
variables:
DATA ZCURPER TYPE 0FISCPER.
DATA ZFCPER TYPE 0FISCPER.
DATA COUNTER TYPE I.
* Copy current period to the next 5 forecast periods
ZCURPER = VARV('PERCUR').
DO.
COUNTER = COUNTER + 1.
ZFCPER = TMVL(ZCURPER,COUNTER).
{0COPASLQTY,ZFCPER,RFC} = {0COPASLQTY,ZCURPER,ACT}.
IF COUNTER = 5.
EXIT.
ENDIF.
ENDDO.
Standard Fox Statements
Using Time Characteristics TMLV( Characteristic, Offset )
- offset: to add for example one year you would select 1 as offset
IF … ELSEIF … ENDIF.
- ELSEIF if you want to integrate several alternatives
IF … ELSE … ENDIF.
- ELSE if no condition mentioned before works
Loop Constructs
DO … ENDDO.
- Needs explicit EXIT Condition
FOREACH … ENDFOR.
- Ending, if last selected characteristic value or key figure is reached
Tuesday, May 25, 2010
Master Data Classification
Master Data assigned to Multiple Characteristics for Classification
The standard Classification Functionality for Extracting the Master Data for Material/ Customer etc is not helpful when there are multiple characteristic values assigned to Master Data Object for example Check Boxes. The Standard Solution will extract only the first available Characteristic Values only. To get all the assigned Values for any given
Characteristic required Custom built extractor. Let us see that are the steps to be followed. This example guides you to bring in Customer Data for Ship To, where each Ship To Customer is assigned to different Groups for Reporting Purpose. The solution holds well for any Master Data Object, you can achieve this by restricting Class Type.
1. Create a class for Customer Class Type 011 using T. Code CL01 and
Create the Characteristics.
The Group Detail look like this
The associated values are stored in tables CAWN and CABN

2. Assign the above created groups to Ship using T.Code XD02 .
3. These Values are stored in table AUSP. This table stores all the classification data related to any Master Data objects by Class Type.
4. Create the Data source based on this table for BW Extraction
5. Test the Extractor using RSA3.
6. Create Info object to hold Classification Assignments as Master Data. Since a customer can be assigned more than one Group 0SHIP-TO is compounded with Group. Group and its assigned Values, Ship To are added as attributes. Ship to be added two times here as we plan to create an Infoset as compounded object does not allow for Join with other object from any source. Need to create a new Ship-To with reference to 0SHIP_TO.
7 Create Transformation and DTP for the same.
8. Create Infoset between the Master data object, Billing Cubes by linking Ship To. Choose only required Objects for reporting.
9. Built a Query on the Info Set and here is the sample result.
The standard Classification Functionality for Extracting the Master Data for Material/ Customer etc is not helpful when there are multiple characteristic values assigned to Master Data Object for example Check Boxes. The Standard Solution will extract only the first available Characteristic Values only. To get all the assigned Values for any given
Characteristic required Custom built extractor. Let us see that are the steps to be followed. This example guides you to bring in Customer Data for Ship To, where each Ship To Customer is assigned to different Groups for Reporting Purpose. The solution holds well for any Master Data Object, you can achieve this by restricting Class Type.
1. Create a class for Customer Class Type 011 using T. Code CL01 and
Create the Characteristics.
The Group Detail look like this
The associated values are stored in tables CAWN and CABN
2. Assign the above created groups to Ship using T.Code XD02 .
3. These Values are stored in table AUSP. This table stores all the classification data related to any Master Data objects by Class Type.
4. Create the Data source based on this table for BW Extraction
5. Test the Extractor using RSA3.
6. Create Info object to hold Classification Assignments as Master Data. Since a customer can be assigned more than one Group 0SHIP-TO is compounded with Group. Group and its assigned Values, Ship To are added as attributes. Ship to be added two times here as we plan to create an Infoset as compounded object does not allow for Join with other object from any source. Need to create a new Ship-To with reference to 0SHIP_TO.
7 Create Transformation and DTP for the same.
8. Create Infoset between the Master data object, Billing Cubes by linking Ship To. Choose only required Objects for reporting.
9. Built a Query on the Info Set and here is the sample result.
Wednesday, May 19, 2010
Subscribe to:
Posts (Atom)