Monday, 11 July 2016

SAP BO Webi report development on HANA views

SAP BO Webi report development on HANA views:


This document explains step by step creation of Hana views, Universe in IDT and development of Webi report on top of the Hana views universes. This document will give understanding of the complete development/creation of end to end scenario from Hana views to report.

In this scenario we are considering Purchase application flow and analysis of report for purchase users assuming that Purchase related data extracted thru SLT from ECC system.

Applications & Versions used for this scenario:


SAP Hana Studio 2.0.7

Information Design Tool 4.1

SAP BO Webi 4.1

This Document explains below major topics:

1. Creation of Attribute View
2. Creation of Analytical View
3. Creation of calculation View
4. Creating and Publishing universe using IDT (Information Design Tool)
5. Creation of Webi Report

Extracted Purchase order header, Item and account assignment tables and also Material, Vendor, Company code and G/L account master data tables in to HANA from ECC using  SLT.

As a best practice need to follow the proper naming conventions for creating any views. (ex: Attribute view –starting with AT followed by table name)

1. Creation of Attribute View:


1.1. Select the respective package –>  Right click –->  New a Select Attribute View

SAP BusinessObjects Business Intelligence platform, SAP Live, SAP Tutorial and Material and Certifications, SAP HANA, SAP Guides, SAP HANA Live

SAP BusinessObjects Business Intelligence platform, SAP Live, SAP Tutorial and Material and Certifications, SAP HANA, SAP Guides, SAP HANA Live

1.2. Select the Mara table from the schema and drop it in Data Foundation in view and double click on the selected fields for output display.

SAP BusinessObjects Business Intelligence platform, SAP Live, SAP Tutorial and Material and Certifications, SAP HANA, SAP Guides, SAP HANA Live

Save and activate the view. Attribute view AT_MARA created on Material Master data table – Mara:

Similar way creates other attribute views and by selecting the respective master data tables from the schema, and enable the fields which we want to see in output in each view for below.

Vendor Master – LFA1 – Attribute View

Material Master – MARA – Attribute View

Company Code master – T001 – Attribute View

G/L Account master – SKB1 – Attribute view

Once all attribute views are created it displays as below:

SAP BusinessObjects Business Intelligence platform, SAP Live, SAP Tutorial and Material and Certifications, SAP HANA, SAP Guides, SAP HANA Live

2. Creation of Analytical View:


Below Purchase order tables are from ECC thru SLT.

EKKO : Purchase Document Header

EKPO : Purchase order Item

EKKN : Purchase Data (Account Assignment)

2.1. Right click on your package — Select New – Analytical View:

SAP BusinessObjects Business Intelligence platform, SAP Live, SAP Tutorial and Material and Certifications, SAP HANA, SAP Guides, SAP HANA Live

Enter the details

SAP BusinessObjects Business Intelligence platform, SAP Live, SAP Tutorial and Material and Certifications, SAP HANA, SAP Guides, SAP HANA Live

2.2. Drag the EKKO table in to data foundation and AT_LFA1 and AT_T001 attribute views in to star join.

SAP BusinessObjects Business Intelligence platform, SAP Live, SAP Tutorial and Material and Certifications, SAP HANA, SAP Guides, SAP HANA Live

Join the appropriate fields of EKKO table with both attribute views based on the requirements.

EKKO.company_code = AT_T001.Company_Code

EKKO.vendor = AT_LFA1.Vendor

SAP BusinessObjects Business Intelligence platform, SAP Live, SAP Tutorial and Material and Certifications, SAP HANA, SAP Guides, SAP HANA Live

2.3. In Semantics keep the Key fields, correct the Attributes and measures if required.

SAP BusinessObjects Business Intelligence platform, SAP Live, SAP Tutorial and Material and Certifications, SAP HANA, SAP Guides, SAP HANA Live

Save and activate the view.

Similarly create the other two Analytical views, all three analytical views will displays as below:

SAP BusinessObjects Business Intelligence platform, SAP Live, SAP Tutorial and Material and Certifications, SAP HANA, SAP Guides, SAP HANA Live

3. Creation of Calculation View:


3.1.  Right click on your package — Select New – Calculation View:

SAP BusinessObjects Business Intelligence platform, SAP Live, SAP Tutorial and Material and Certifications, SAP HANA, SAP Guides, SAP HANA Live

SAP BusinessObjects Business Intelligence platform, SAP Live, SAP Tutorial and Material and Certifications, SAP HANA, SAP Guides, SAP HANA Live

Drag two Aggregation nodes and select AN_EKKO and AN_EKPO analytical views in each node respectively.

SAP BusinessObjects Business Intelligence platform, SAP Live, SAP Tutorial and Material and Certifications, SAP HANA, SAP Guides, SAP HANA Live

Select required output fields in each Analytical view

SAP BusinessObjects Business Intelligence platform, SAP Live, SAP Tutorial and Material and Certifications, SAP HANA, SAP Guides, SAP HANA Live

3.2. Connect the two aggregation nodes to Join Node and connect the related common fields.

SAP BusinessObjects Business Intelligence platform, SAP Live, SAP Tutorial and Material and Certifications, SAP HANA, SAP Guides, SAP HANA Live

Drag the Projection node and select required fields.

SAP BusinessObjects Business Intelligence platform, SAP Live, SAP Tutorial and Material and Certifications, SAP HANA, SAP Guides, SAP HANA Live

3.3 Select the key fields and adjust the dimensions and measures.

SAP BusinessObjects Business Intelligence platform, SAP Live, SAP Tutorial and Material and Certifications, SAP HANA, SAP Guides, SAP HANA Live

Save and activate the view.

SAP BusinessObjects Business Intelligence platform, SAP Live, SAP Tutorial and Material and Certifications, SAP HANA, SAP Guides, SAP HANA Live

Right click on the view and select Data Preview, we can see the data output of calculation view CL_Purchase

SAP BusinessObjects Business Intelligence platform, SAP Live, SAP Tutorial and Material and Certifications, SAP HANA, SAP Guides, SAP HANA Live

Now Calculation view is ready need to create universe to expose this data thru webi report.

4. Creating universe using IDT (Information Design Tool)


4.1.  Logon to IDT, In Repository Resources under the respective system expand right on Connections Node.

Select ‘Insert Relational Connection’

SAP BusinessObjects Business Intelligence platform, SAP Live, SAP Tutorial and Material and Certifications, SAP HANA, SAP Guides, SAP HANA Live

Enter the connection name:

SAP BusinessObjects Business Intelligence platform, SAP Live, SAP Tutorial and Material and Certifications, SAP HANA, SAP Guides, SAP HANA Live

Click on Next, and then select the database middle ware drivers under SAP node

SAP BusinessObjects Business Intelligence platform, SAP Live, SAP Tutorial and Material and Certifications, SAP HANA, SAP Guides, SAP HANA Live

Click on Next, and then enter the User name, password details of Hana system and click on Test connection button.

SAP BusinessObjects Business Intelligence platform, SAP Live, SAP Tutorial and Material and Certifications, SAP HANA, SAP Guides, SAP HANA Live

Then click on Finish, Now connection established to Hana system.

Expand the Connections node there we can find the new connection ‘Purchase_Flow’.

SAP BusinessObjects Business Intelligence platform, SAP Live, SAP Tutorial and Material and Certifications, SAP HANA, SAP Guides, SAP HANA Live

4.2. Create project ‘Purchase_Flow’ by clicking on File à Newà Project and enter the project name.

SAP BusinessObjects Business Intelligence platform, SAP Live, SAP Tutorial and Material and Certifications, SAP HANA, SAP Guides, SAP HANA Live

SAP BusinessObjects Business Intelligence platform, SAP Live, SAP Tutorial and Material and Certifications, SAP HANA, SAP Guides, SAP HANA Live

Click on Finish. New project ‘Purchase_Flow’ created in Local Projects node.

4.3. Now select Purchase_Flow connection, right click and click on ‘Create Relational Connection Shortcut’.

SAP BusinessObjects Business Intelligence platform, SAP Live, SAP Tutorial and Material and Certifications, SAP HANA, SAP Guides, SAP HANA Live

It will popup Select a Local Project window; select our ‘Purchase_Flow project.

Relational Connection connected to project as shown below:

SAP BusinessObjects Business Intelligence platform, SAP Live, SAP Tutorial and Material and Certifications, SAP HANA, SAP Guides, SAP HANA Live

Select Project à right click à select New Click on ‘Data Foundation’

SAP BusinessObjects Business Intelligence platform, SAP Live, SAP Tutorial and Material and Certifications, SAP HANA, SAP Guides, SAP HANA Live

Enter the name of Data Foundation

SAP BusinessObjects Business Intelligence platform, SAP Live, SAP Tutorial and Material and Certifications, SAP HANA, SAP Guides, SAP HANA Live

Select Multi Source Enabled as IDT will support.

SAP BusinessObjects Business Intelligence platform, SAP Live, SAP Tutorial and Material and Certifications, SAP HANA, SAP Guides, SAP HANA Live

Check for the user authentication details..

SAP BusinessObjects Business Intelligence platform, SAP Live, SAP Tutorial and Material and Certifications, SAP HANA, SAP Guides, SAP HANA Live

Click on Next and select the connection which was created earlier.

SAP BusinessObjects Business Intelligence platform, SAP Live, SAP Tutorial and Material and Certifications, SAP HANA, SAP Guides, SAP HANA Live

Click on Next, displays the connection parameters.

SAP BusinessObjects Business Intelligence platform, SAP Live, SAP Tutorial and Material and Certifications, SAP HANA, SAP Guides, SAP HANA Live

Click on Finish.

Open the Purchase_Flow_DF, expand the connection node, select _SYS_BIC  schema node where all Hana views columnar table will store. Select the CL_Purchase Calculation view table.

SAP BusinessObjects Business Intelligence platform, SAP Live, SAP Tutorial and Material and Certifications, SAP HANA, SAP Guides, SAP HANA Live

Save it.

4.4. Now create Business layer. Select Purchase_Flow project Right click à New à click on Business Layer.

It displays the below pop up screen

Select Relational Data Foundation and click on Next.

Enter the Name and click on Next

Select the respective data foundation and click on Finish. There is check box if system will create classes and objects, if you want to create on your own need to un check this.

Purchase_Flow_BL business layer created as below, review dimensions and measures change if required.

Select change the data type if necessary

Save the Business Layer. We can check the query output by clicking on Queries tab.

4.5. Click on Insert Query, it will add displays the classes and objects of Business layer

Drag and drop required fields to click on refresh to check the data in first instance.

Close the query.

4.6. To publish as universe Right click on Purchase_Flow_BL business layer à Publish à To a Repository

Click on Next

Click on Next

Click on Finish, Universe published successfully.

5. Creation of Webi Report :


Open BI Launch pad by entering the login credentials

Expand Application and select Web Intelligence

Click on New and select ‘Universe’ as data source.

Select our Universe from the list

Purcahse_Flow_BL universe will open in Query Panel as below:

Drag and drop required dimensions and measures in Result objects and if you want to filter any filed also.

Query filtered based on Vendor, Click on Run Query, pop up display to select Vendor to see the data.

Once required Vendors are selected click on Ok, report will display.

Change the Report Name as Purchase Data Flow Report

You can format the report with Refresh Date, page no, logo and chart as per requirement.

Monday, 20 June 2016

Enhancements in Web Dynpro ABAP- Part I

This document will help you to understand the concept of the Enhancement implementation in standard web Dynpro ABAP Component.

Basically there is no option to enhance the Web Dynpro ABAP component through BADI or User Exit, hence sap has provided a way to do that called “Enhancement Implementation”.

Using Enhancement Implementation we can do the following enhancements.
  • Enhancement of Component
    • Creating New view
    • Creating New window
    • Creating New Controller
    • Creating New Application
  • Enhancement of Window
    • Enhancing Embed views / Adding new views
    • Enhancing navigation link / Adding New links
  • Enhancement of View
    • Enhancing UI elements / Adding New UI elements
    • Enhancing Plugs / Adding New Plugs
  • Enhancement of Controller
    • Enhancing standard methods & Actions / Adding New methods & Actions
    • Enhancing standard Context / Adding New Context
    • Enhancing standard Attributes / Adding New Attributes
  • Deleting the Enhancement Implementation
And in this part we will be seeing about Enhancement of View and Window Controller.

Enhancement Implementation for View:


To create the enhancement implementation for view follow the steps.

1. Open the Web Dynpro Component using SE80.

2. Open the desired View to Enhance, in this given example I will take Standard Test component WDR_TEST_BG_BLEND.

SAP Module, SAP All Modules, SAP Tutorials and Materials, SAP UI Web Dynpro ABAP

3. Select the view and click on the Enhance button to enhance it and please provide Enhancement name in the next popup.

SAP Module, SAP All Modules, SAP Tutorials and Materials, SAP UI Web Dynpro ABAP

SAP Module, SAP All Modules, SAP Tutorials and Materials, SAP UI Web Dynpro ABAP

4. Now to view will be converted to Change mode as like this.

SAP Module, SAP All Modules, SAP Tutorials and Materials, SAP UI Web Dynpro ABAP

So now you will get an option to add new UI elements and remove the existing UI elements under the enhancement option that you have created.

Now I am going to add a new text view under the root container and give some text to that.

SAP Module, SAP All Modules, SAP Tutorials and Materials, SAP UI Web Dynpro ABAP

SAP Module, SAP All Modules, SAP Tutorials and Materials, SAP UI Web Dynpro ABAP

Save the changes and activate the whole component along with your enhancement implementation and run the application.

SAP Module, SAP All Modules, SAP Tutorials and Materials, SAP UI Web Dynpro ABAP

Enhancement implementation for Window:


Here we are going to see about enhancing the Window and adding the new view,

In this example I am going to create a new view and call that view inside another view using view container and enhancing the window controller.

Enhance the View 1 and add the view container (VC_MAIN) at last to bind another view.

SAP Module, SAP All Modules, SAP Tutorials and Materials, SAP UI Web Dynpro ABAP

To add new view into the standard web Dynpro abap component right click on the view and select the option create as enhancement.

SAP Module, SAP All Modules, SAP Tutorials and Materials, SAP UI Web Dynpro ABAP

Then it will be asking for the enhancement implementation, then select the implementation that we have created.

SAP Module, SAP All Modules, SAP Tutorials and Materials, SAP UI Web Dynpro ABAP

After the selection of enhancement it will be like the process of normal view creation.

SAP Module, SAP All Modules, SAP Tutorials and Materials, SAP UI Web Dynpro ABAP

SAP Module, SAP All Modules, SAP Tutorials and Materials, SAP UI Web Dynpro ABAP

Enhance the window using same enhancement implementation, and bind the view for view container that we created.

SAP Module, SAP All Modules, SAP Tutorials and Materials, SAP UI Web Dynpro ABAP

SAP Module, SAP All Modules, SAP Tutorials and Materials, SAP UI Web Dynpro ABAP

Activate the whole component along with the enhancement implementation and execute the application.

SAP Module, SAP All Modules, SAP Tutorials and Materials, SAP UI Web Dynpro ABAP

Wednesday, 11 May 2016

Types of binding in Sap Ui5

This blog explains the basic concepts and demo of binding options in Sap UI5.

Tools used:

  • Eclipse Luna Service Release 1
  • Tomcat Apache (Server)
  • SAP UI5 Plug-in installed in Eclipse.
  • Google Chrome
Sap ui5 provides three binding options
  • Property binding
  • Aggregation binding
  • Element binding

Property Binding: To bind the properties of the control to the model.

Property Binding can be done by three ways.
  • Within curly brackets in the constructor
  • By bind property method
  • By path

Generic coding to achieve the property binding.


Within curly brackets in the constructor

var oControl = new sap.ui.commons.TextView({
controlProperty: “{modelProperty}”
});

By Bind Property Method
  • oControl.bindProperty(
“controlProperty”, “modelProperty”);

By Path

var oControl = new sap.ui.commons.TextView({
controlProperty: { path: “modelProperty” }
});

Property binding demo:

In this demo we are going to display the properties of the table by using all three options of property binding.

Step 1: Create the Sap UI5 Application project

In Eclipse, File–>New–>other and select “SAP UI5 Application Development” –>Application Project and click on next button.
Provide the project name and click on next button.

Step 2:  Implement the following code under the createcontent method.
var aGalaxy = [
                    {“Planet” : “Mercury”,“Diameter”:“5,100”,“Gravity”:0.40},
                       {“Planet” : “Venus”,“Diameter”:“12,600”,“Gravity”:0.90},
                       {“Planet” : “Earth”,“Diameter”:“12,800”,“Gravity” : 1.00},
                       {“Planet” : “Mars”,“Diameter”:“6,900”,“Gravity” : 0.40},
                       {“Planet” : “Jupiter”,“Diameter”:“143,600”,“Gravity”:2.70},
                       {“Planet” : “Saturn”,“Diameter”:“120,600”,“Gravity” : 1.20},
                       {“Planet” : “Uranus”,“Diameter”:“53,400”,“Gravity” : 1.00},
                       {“Planet” : “Pluto”,“Diameter” : “12,700”,“Gravity” : 1.40} ];
   
              var oModel = new sap.ui.model.json.JSONModel({
                     values : aGalaxy
              });
                 
            // Create instance of table control
var oTable = new sap.ui.table.Table({
               title : “Physical characteristics of planets”,
               visibleRowCount : 8,
               firstVisibleRow : 0,
               width : “500px”
});

SAP Modules, SAP Module, Tutorial and Certification, SAP UI5, SAP Guides, SAP Online Guides

// Bind model to table control

oTable.setModel(oModel);
oTable.bindRows(“/values”);
oTable.placeAt(“content”);

Remember to include the library “sap.ui.table” in the index.html

  <script src=”resources/sap-ui-core.js”
         id=”sap-ui-bootstrap”
         data-sap-ui-libs=”sap.ui.commons,sap.ui.table”
         data-sap-ui-theme=”sap_bluecrystal”>
        </script

Result:

Right click on the index.html and select the option run on server.

SAP Modules, SAP Module, Tutorial and Certification, SAP UI5, SAP Guides, SAP Online Guides

Aggregation Binding


The control element is binded by collection of values. The control element then acts as a data container and also represents a template of the data to be displayed.

Aggregation Binding Demo:

In this demo we are going to display the error log from the local json model using the aggregation binding.

Step 1: Create the Sap UI5 Application project

In Eclipse, File–>New–>other and select “SAP UI5 Application Development” –>Application Project and click on next button.
Provide the project name and click on next button.

Step 2:  Implement the following code under the createcontent method.
      
 // Create instance of JSON Model
              var oModel = new sap.ui.model.json.JSONModel({
                     Value:
                           [{“index”: “0”,“level”:“Success”,“description”: “Performance is good”},
                           {“index”: “1”,“level”:“Warning”,“description”: “Service not available.”},
                           {“index”: “2”,“level”:“Error”,“description”: “Record not found”}]
              });
              // Bind Model to core
       sap.ui.getCore().setModel(oModel);
              // Create template of message type
              var oRowTemplate = new sap.ui.commons.Message({
                     text : “{description}”,
                     type : “{level}”
              });
              // Create RowRepeater and bind message template
              var oRowRepeater = new sap.ui.commons.RowRepeater();
              oRowRepeater.bindRows(“/Value”, oRowTemplate);
              oRowRepeater.placeAt(“content”);
Result:

Right click on the index.html and select the option run on server.

SAP Modules, SAP Module, Tutorial and Certification, SAP UI5, SAP Guides, SAP Online Guides

Element Binding


An element to be bound to an object in the Model can be achieved by Element binding. The context of the relative binding to a control is represented by the Element control. In order to display a detailed list for the selected header information you need to have this parent-child binding.

Element Binding Demo:

In this demo we are going to displaying the menu from the parent table weekdays from the local json model and based on the selection in the parent table values are changed in the child table meals by element binding.


Step 1: Create the Sap UI5 Application project

In Eclipse, File–>New–>other and select “SAP UI5 Application Development” –>Application Project and click on next button.

Provide the project name and click on next button

Step 2: Implement the following code under the createcontent method.

var oModel = new sap.ui.model.json.JSONModel({
                     weekdays:
                           [{“day”: “Monday”,“no_meals”:“2”,“id”: “1”},
                            {“day”: “Tuesday”,“no_meals”:“1”,“id”: “2”},
                            {“day”: “Wednesday”,“no_meals”:“2”,“id”: “3”},
                            {“day”: “Thursday”,“no_meals”:“2”,“id”: “4”},
                            {“day”: “Friday”,“no_meals”:“1”,“id”: “5”}], 
                     meals:
                     [{“MealNo”: “1”,“dayId”: “1”,“items”: “French fries”},
                      {“MealNo”: “2”,“dayId”: “1”,“items”: “French toast”},
                      {“MealNo”: “3”,“dayId”: “2”,“items”: “French fries with Burger”},
                      {“MealNo”: “4”,“dayId”: “3”,“items”: “Hot Dog”},
                      {“MealNo”: “5”,“dayId”: “3”,“items”: “French Fries”},
                      {“MealNo”: “6”,“dayId”: “4”,“items”: “Donut”},
                      {“MealNo”: “7”,“dayId”: “4”,“items”: “Hot Dog”},
                      {“MealNo”: “8”,“dayId”: “5”,“items”: “French toast”},
              
                      ]
              });
              sap.ui.getCore().setModel(oModel);      
              // Table with weekdays
              var oTable = new sap.ui.table.Table({
              width : “100%”,
              title : “Weekdays”,
              visibleRowCount : 5,
              selectionMode : sap.ui.table.SelectionMode.Single,
              });
              oTable.addColumn(new sap.ui.table.Column({
              label: new sap.ui.commons.Label({text: “Weekday”}),
              template: new sap.ui.commons.TextField({value:“{day}”})
              }));
              oTable.addColumn(new sap.ui.table.Column({
                     label: new sap.ui.commons.Label({text: “No Meals”}),
                     template: new sap.ui.commons.TextField({value:“{no_meals}”})
                     }));
             
              oTable.bindRows(“/weekdays”);
              oTable.placeAt(“parent”);        
             
// Display of meals
              var oTable2 = new sap.ui.table.Table({
              title : “Meals”,
              visibleRowCount : 3,
              width : “100%”,
              selectionMode : sap.ui.table.SelectionMode.Single,
              editable : false
              });
              oTable2.addColumn(new sap.ui.table.Column({
              label: new sap.ui.commons.Label({text: “Meal”}),
              template: new sap.ui.commons.TextField({value:“{MealNo}”})
              }));
      
              oTable2.addColumn(new sap.ui.table.Column({
              label: new sap.ui.commons.Label({text: “Description”}),
              template: new sap.ui.commons.TextField({value:“{items}”})
              }));
              oTable2.bindRows(“/meals”);
              oTable2.placeAt(“child”);

SAP Modules, SAP Module, Tutorial and Certification, SAP UI5, SAP Guides, SAP Online Guides

Remember to include the library “sap.ui.table” in the index.html

  <script src=”resources/sap-ui-core.js”
         id=”sap-ui-bootstrap”
         data-sap-ui-libs=”sap.ui.commons,sap.ui.table”
         data-sap-ui-theme=”sap_bluecrystal”>
        </script

Result:

Right click on the index.html and select the option run on server.

SAP Modules, SAP Module, Tutorial and Certification, SAP UI5, SAP Guides, SAP Online Guides

Saturday, 16 April 2016

SRM Milestone Plan

What is a Milestone Plan?


A written acquisition plan reflecting the major activities (Milestone Events) to be accomplished in processing the acquisition.

Brief overview of functionality


◉ Procurement Milestones are standard for all contracting writing systems – satisfies U.S. Federal requirements (DoD and Civilian) to track PALT – Procurement Action Lead Time
◉ Milestone Plans are used to track dates related to a particular event / events in the Procurement life cycle(which could take several months to complete)
◉ Enables management to track Procurement in progress and Identify Bottle-necks

Milestone Plan Business Object –  Milestone Plan is represented using the new business object BUS2214 in SRM.

Milestone Plan Template – A template is selected as a starting point for the Milestone Plan. It is a list of Milestone Events with dependencies and mapped standard and customer defined date fields and Alerts.

Milestone Event – An individual event within the Milestone Plan. It is possible to have standard and custom events.

Milestone Plan features


◉ Customizable Milestone Plan Templates and Events
◉ Automatic update of Milestone Plan Event Actual dates*
◉ Integration to SRM Business Objects(SC, RFx, PO, CTR) and Sourcing Cockpit
◉ Alerts for Milestone Plan Events
◉ Approval workflow
◉ POWL report
◉ BI extractor

Sample Milestone Plan(Simplified Procurement with Synopsis)

SAP SRM, SAP Module, SAP Learning, SAP Live, SAP Tutorial, SAP Material, SAP Guides

Customizing settings

1. Activate Business function SRM_MP_1 (sfw5)

2. Maintain the customizing in spro under SAP IMG -> Supplier Relationship Management -> SRM Server -> Milestone Plan

   ◉  Activate/Deactivate Milestone Plan (sm30: /sapsrm/v_sw_act)

   ◉ Define Alert Notification Schema (sm30: BBPV_MP_NOTIF)

   ◉ Define Condition Schema    (sm30: BBPV_MP_CND_SCHM)

   ◉ Define Events (sm34: BBPVC_MP_EVENT)

   ◉ Define Templates (sm34: BBPVC_MP_TEMPL)

3. Assign the portal role ‘Strategic Purchaser (EhP4)’ to the portal user

4. Assign the new SRM role ‘/SAPSRM/ST_PURCHASER_EHP4’ to the Strategic Purchaser user(or copy to your custom role).

For custom roles, add authorization object ‘BBP_PD_MP’ with the permitted activities.

5. Configure the Milestone Approval using Process Controlled Workflow

Milestone Plan creation

MILESTONE PLAN CREATION STEPS

1) Log onto the portal with your strategic purchaser

2) Click on Strategic Purchasing Tab

3) Click on Strategic Sourcing

4) Click on Milestone Plan under Services/Create Documents area.

SAP SRM, SAP Module, SAP Learning, SAP Live, SAP Tutorial, SAP Material, SAP Guides

SAP SRM, SAP Module, SAP Learning, SAP Live, SAP Tutorial, SAP Material, SAP Guides

SAP SRM, SAP Module, SAP Learning, SAP Live, SAP Tutorial, SAP Material, SAP Guides

SAP SRM, SAP Module, SAP Learning, SAP Live, SAP Tutorial, SAP Material, SAP Guides

Assignment of Milestone Plan to Shopping cart

SAP SRM, SAP Module, SAP Learning, SAP Live, SAP Tutorial, SAP Material, SAP Guides

Display Milestone Plan

SAP SRM, SAP Module, SAP Learning, SAP Live, SAP Tutorial, SAP Material, SAP Guides

Assign Milestone Plan during Sourcing

SAP SRM, SAP Module, SAP Learning, SAP Live, SAP Tutorial, SAP Material, SAP Guides

Milestone Plan POWL query

SAP SRM, SAP Module, SAP Learning, SAP Live, SAP Tutorial, SAP Material, SAP Guides

Sample email from Milestone Plan monitoring program /SAPSRM/MP_MON

SAP SRM, SAP Module, SAP Learning, SAP Live, SAP Tutorial, SAP Material, SAP Guides

Saturday, 12 March 2016

MM-FI integration: A conceptual understanding

Most of us are comfortable with SD-FI-COPA integration concepts as it is easy to correlate and understand. But, when it comes to MM-FI integration, many of us find difficulties in understanding the concepts and account determination process. When I was trying to analyze my first issue related to how a stock account is determined in a valuated transaction, I was lost in OBYC. Let us try to understand few terminology used in MM-FI integration concepts. Once we are familiar with the concepts, we will further discuss account determination process in a stock movement related transaction.

Valuation area:

Stock of a material owned by a company is an asset to the company. Valuation area defines the organization level at which materials are valuated.

SAP has provided two options for valuation.

1.Valuation at plant level: All materials are valuated at plant level.

2.Valuation at company code level: All materials in all plants of a company are valuated at company code level.

This setting is defined in t-code OX14.

SAP MM-FI, SAP FIN(Finance), SAP Module, SAP Modules, SAP Certifications, SAP Tutorial and Material, SAP Learning, SAP Live, SAP Guides

Valuated stock:

Total valuated stock = Stock in unrestricted use + Stock in transit between storage locations/warehouses of a plant + Stock in quality inspection.

Material type:

This defines the type of material.

EG: Raw material, Finished goods etc.

Material type is defined during material master data creation.

Movement type:

This defines the type of material movement from one place to other. Movement type enables the system to find predefined posting rules determining how the stock and consumption accounts are to be posted. All possible goods movements are already defined by standard SAP

EG: Movement type 101 refers goods receipt

Movement type is entered while posting stock movement related transactions. Most of the time, standard SAP automatically derives the movement type based on transaction code.

EG: If we go to MIGO, default movement type 101 is displayed by system.

SAP MM-FI, SAP FIN(Finance), SAP Module, SAP Modules, SAP Certifications, SAP Tutorial and Material, SAP Learning, SAP Live, SAP Guides

Valuation class:

Valuation class is defined for the combination of plant and material (In Accounting 1 view of material master).

SAP MM-FI, SAP FIN(Finance), SAP Module, SAP Modules, SAP Certifications, SAP Tutorial and Material, SAP Learning, SAP Live, SAP Guides

Valuation class allows posting of stock values of

1. Materials of same material type to different G/L account (Different valuation class is assigned in different plants for the same material)

2. Materials of different material type to same G/L account (Same valuation class is assigned to materials of different material type)

Note: G/L accounts can be defined at valuation class level along with other parameters.

Valuation grouping code:

Valuation grouping code combines the valuation areas having same business properties for the account determination. This reduces number of entries to be created for automatic account determination for the stock postings.

EG: Valuation area 1 and 2 are required to be posted to same G/L account, these are grouped to valuation grouping code ABC and G/L is determined based on valuation grouping code and valuation class.

Before using valuation grouping code, it needs to be activated in OMWM.

SAP MM-FI, SAP FIN(Finance), SAP Module, SAP Modules, SAP Certifications, SAP Tutorial and Material, SAP Learning, SAP Live, SAP Guides

Valuation grouping code is assigned to valuation area in t-code OMWD.

In below example, five valuation areas are assigned to same valuation grouping code.

SAP MM-FI, SAP FIN(Finance), SAP Module, SAP Modules, SAP Certifications, SAP Tutorial and Material, SAP Learning, SAP Live, SAP Guides

Account modification/General modification:

This key is used to determine different G/L account for the same kind of goods movement based on origin and target.

EG: During Goods issue, offsetting G/L is determined from transaction key GBB. If business wants to post to different G/Ls for goods issue for cost centers (Movement type 201) and good issues to orders (Movement type 261) for the same material and plant, Account modifier can help here. To understand this better, let us go to t-code OMWN where we define the transaction key and account modification for the movement type.

Transaction key which we see in OBYC is determined based on the movement type. In below screenshot, you can see all parameters are same for movement type 201 and 261 except account modification.

Please read F1 help on different fields in this screen to know more about functionality of each field.

T-code OMWN:

SAP MM-FI, SAP FIN(Finance), SAP Module, SAP Modules, SAP Certifications, SAP Tutorial and Material, SAP Learning, SAP Live, SAP Guides

When material document is posted with these movement types, offsetting account is determined from transaction key GBB based on account modifier and valuation class.

From below screenshot, you can see that, different offsetting G/L account can be determined for the same transaction key and valuation class.

SAP MM-FI, SAP FIN(Finance), SAP Module, SAP Modules, SAP Certifications, SAP Tutorial and Material, SAP Learning, SAP Live, SAP Guides

By Default, Standard SAP defines account modification keys for below transaction keys. User defined keys can also be defined and respective account determination settings can be maintained.

◉ GBB (offsetting entry for inventory posting)
◉ PRD (price differences)
◉ KON (consignment liabilities)

Below are the modification keys defined by SAP (Extracted from F1 help).

Modifiers for GBB

For the transaction/event GBB (offsetting entry for inventory posting), the following account groupings have already been assigned to the relevant movement types:

◉ AUF: for goods receipts for production orders with account assignment
◉ BSA: for initial entries of stock balances
◉ INV: for expense/revenue from inventory differences
◉ VAX: for goods issues for sales orders without account assignment object
◉ VAY: for goods issues for sales orders with account assignment object
◉ VBO: for consumption from stock of material provided to vendor
◉ VBR: for internal goods issues (e.g., for cost center)
◉ VKA: for consumption for sales order without SD
◉ VNG: for scrapping/destruction
◉ VQP: for sampling
◉ ZOB: for goods receipts without purchase orders
◉ ZOF: for goods receipts without production orders

Modifiers for PRD

If you also activate account grouping for transaction/event PRD (price differences) when you make the settings for automatic postings, the following account groupings are already assigned to the relevant movement types in the standard:

◉ none for goods receipts and invoice receipts for purchase orders
◉ PRF: for goods receipts for production orders
◉ PRA: for goods issues and other goods movements

Modifiers for KON

If you also activate account grouping for transaction/event KON (consignment liabilities) when you make the settings for automatic postings, the following account groupings are already assigned to the relevant movement types in the standard:

◉ none for consignment liabilities
◉ PIP: for pipeline liabilities

How are the account determination attributes determined for each transaction key/event?

Did you observe different set of fields appears for different transaction keys in OBYC while maintaining G/L account? Yes. This is defined in Rules for the transaction key.

EG: Select transaction key AUM in OBYC and click on “Rules” in toolbar.

SAP MM-FI, SAP FIN(Finance), SAP Module, SAP Modules, SAP Certifications, SAP Tutorial and Material, SAP Learning, SAP Live, SAP Guides

You can see that general modification and valuation modifier is active.

SAP MM-FI, SAP FIN(Finance), SAP Module, SAP Modules, SAP Certifications, SAP Tutorial and Material, SAP Learning, SAP Live, SAP Guides

If you go to G/L account maintenance for this key, you would see the same fields.

SAP MM-FI, SAP FIN(Finance), SAP Module, SAP Modules, SAP Certifications, SAP Tutorial and Material, SAP Learning, SAP Live, SAP Guides

Quick snap of MM-FI Integration process:

When we do material posting for a valuated material, below flow happens.

1. Movement type and other attributes like special stock indicator, movement indicator etc are determined based on business transaction like goods receipt for PO, production order etc.(OMWN). This is defined by standard SAP.

2. Transaction key/event and account modifier is identified based on movement type and other standard attributes in step 1 (OMWN)

3. Valuation grouping code activation is checked from OMWM

4. If active, for the given valuation area, valuation grouping code is identified from OMWD

5. For the identified transaction or event, check if valuation grouping code is active or not in OBYC (Click the rules button for the transaction key)

6. Valuation class is determined from material master.

7. Based on the above identified attributes, select the G/L account from OBYC.

If system can’t find any account for the found attributes, stock posting can’t be done and system through clear error stating for which combination of attributes, G/L account is missing. Such errors are mostly seen during go live/while posting to new materials due to missing G/L account maintenance or due to incorrect valuation class in material master data.

Now you know the process, here is the short cut to find out G/L.

Account determination details are stored in table T030. If you want to know based on what details XXX account is determined, simply give that G/L in T030 table in field KONTS. This gives the possible combination of entries where this G/L is assigned. We can further drill down based on the filtered entries.