Top 10 SD Userexits David Glessner Product Requirements Planning.

Slides:



Advertisements
Similar presentations
Topic: Sales Tax and 1099 Reporting
Advertisements

Creating and Submitting Orders Remy Order Management System.
ITSF STORE BUSINESS SOLUTION PRESENTATION. STORE MODULE INCLUDES: Material Management Purchasing Components Handling Shipments Receiving of parts Store.
SAP - Online Transaction Processing (OLTP)
Sales & Distribution (SD)
B ASIC P RODUCT M AINTENANCE Presenter: Bev Donnelly Recorded: February 2013 Skill Builders.
University of Southern California Introduction to Enterprise Wide Information Systems Configuring SAP Instructor: Richard W. Vawter.
Sales & Distribution Process
South Dakota Library Network ALEPH Acquisitions Overview South Dakota Library Network 1200 University, Unit 9672 Spearfish, SD © South.
Spillman Sentryx 6.0.
Workshop: Maintenance Work Orders May 9, Project Goals  Implement SAP Plant Maintenance system Provide integration with Finance, HR, and Materials.
Right Solution, Right Time, Right Price Pricing / Discount Conditions.
Customer Service Module Course Contents Table of Contents Enter A Request Search A Request Create Invoice (Funeral home request) Search Invoice Manage.
Third Party Order Processing
Creating Discount Prices for Variant Configurator Options in SD Documents James Durkin / Gleason Corporation.
1 Module 13 Setup Customers and Pricing. 2 SD Master Data  Three kinds of master data are critical to sales order processing: Customer - Shared with.
M ERP (Enterprise Resources Planning) M ERP (Enterprise Resources Planning) Session 5 Sales and Marketing Information System Ir. Ekananta Manalif,
SAP R/3 Materials Management Module
Objectives The primary objective of this discussion is to show how the SAP R/3 Implementation Guide (IMG) can be used to aid the project team in configuring.
Procurement Processes EGN 5620 Enterprise Systems Configuration Fall, 2012 Procurement Processes EGN 5620 Enterprise Systems Configuration Fall, 2012.
©2008 TTW Where “Lean” principles are considered common sense and are implemented with a passion! Product Training Sales Invoices.
Production Planning Processes Theories & Concepts
Sales and Distribution Overview
©2008 TTW Where “Lean” principles are considered common sense and are implemented with a passion! Product Training Suppliers.
Istanbul Kultur University Enterprise Wide Information Systems The Procurement Process.
©2008 TTW Where “Lean” principles are considered common sense and are implemented with a passion! Product Training Cash and Cash Management.
Sales and Distribution (SD)
Production Planning Processes EGN 5620 Enterprise Systems Configuration (Professional MSEM) Fall, 2012.
SAP TESTING. Double click on SAPLogon icon on your desktop Select the system and click Logon button.
© 2005 Avaya Inc. All rights reserved. Placing Orders via Avaya Solution Designer (ASD) Upload Method
©2008 TTW Where “Lean” principles are considered common sense and are implemented with a passion! Product Training Purchase Invoices.
University of Southern California Introduction to Enterprise Wide Information Systems Configuring SAP (cont.) Instructor: Richard W. Vawter.
Production Planning Processes EGN 5620 Enterprise Systems Configuration Spring, 2014.
 SAP AG 2003 Pricing Approval Procedure Batch Management Serial Number Management Contents: Cross-Functionalitiy.
Sales & Distribution Master Data SAP Implementation
In the next step you will enter some data records into the table. This can be done easily using the ‘Data Browser’. The data browser can be accessed via.
TSH User Group Meeting 2010 MDS Enhancements TSH User Group Meeting 2010.
 SAP AG CSU Chico 1 SAP Lecture 1 Copyright Raymond F. Boykin Contents of this file are for the exclusive use of the University of Missouri and.
Pieces of the Puzzle: Costing, Pricing and Contracts Presented by: Rachel Johnsen The Systems House 06/13/11.
Lesson 14: Incident and Other Issues. Copyright 2002 Sterling Commerce, Inc. All rights reserved. 2 Create Incident Issue.
Access Project 3 Notes. Introduction Maintaining the Database  Modifying the data to keep it up-to-date Restructure the Database  To change the database.
©2008 TTW Where “Lean” principles are considered common sense and are implemented with a passion! Product Training Sales Orders.
Quovera Confidential 1 ManagingCustomerConsignmentInventory.
Online Catalog Tutorial. Introduction Welcome to the Online Catalog Tutorial. This is the place to find answers to all of your online shopping questions.
University of Southern California Enterprise Wide Information Systems Customer Order Management Instructor: Richard W. Vawter.
Production Planning Processes EGN 5620 Enterprise Systems Configuration Fall, 2015.
Sales & Distribution Processes EGN 5620 Enterprise Systems Configuration Fall, 2015.
Purchase Order Creation Manually or automatically With or without reference to other documents Data Documents: Purchase requisition, Purchase order, RFQ,
Sales and Distribution Master Data EGS 5620 Enterprise Systems Configuration Spring, 2016.
 Andersen Consulting 2000 MM03 - Master Data in Purchasing & Contract November, 2000.
MM - Purchasing.
 Tata Consultancy Services  SAP AG FI - Accounts Receivable.
 TATA CONSULTANCY SERVICES MM - INVOICE VERIFICATION.
Workshop: Work Completion Process May 16, Project Goals  Implement SAP Plant Maintenance system Provide integration with Finance, HR, and Materials.
Credit Management 4.6fi_19.1 Chapter 19 Credit Management Credit Management is the process of establishing customer credit limits, establishing credit.
Overview Rental Quote Overview
Customer Order and Account Management Business Processes Chapter 7.
Chapter 22 Procurement Cycle and Documents
Sap sales & distribution
Billing.
Chapter 18 Automatic Account Assignment
Inventory Transactions庫存交易
MM03 - Master Data in Purchasing & Contract
SAP SD Overview Dylan Lin 林欣志
12 Product Configurator
09 Calculation
Cash and Cash Management
Product Training Purchase Invoices
SAP QM Prepared by Lavanya.M.
BASIC SETTINGS CONTENTS OF THE COURSE: Definition of Company
Presentation transcript:

Top 10 SD Userexits David Glessner Product Requirements Planning

What is a Userexit? A Userexit is a predefined point in the SAP standard code where the user can write code to influence processing. Code written in userexits is not overwritten during an upgrade. A list of most userexits can be found in the IMG. SD -> System Modification -> Userexits This list was significantly improved with Release 3.1G Code written in userexits is not supported by SAP.

TOP 10 SD Userexits 1. APPEND Structures 2. User Screens in Sales Order Processing 3. Determining Sales Orders Fields 4. Add New Fields for Pricing 5. Pricing Procedure Userexits 6. ATP Plant Selection 7. Partner for Customer/Material Info Record 8. Sales Document “Save” Userexits 9. Pricing Type with “New Pricing” 10. Influencing “New Pricing”

Number 1: Append Structures 1 Can I add a new field to the sales order? Release 3.0A APPEND STRUCTURES

Number 2: User Screens in Sales Order Entry 2 I just added a field to the sales order header. How can I maintain / display it in the sales order? HEADER SAPMV45A 8309 This is an include dynpro in SAPMV45A 309 ITEM SAPMV45A 8459 This is an include dynpro in SAPMV45A 459

Number 2: User Screens in Sales Order Entry 2 I just added a field to the sales order header. How can I maintain / display it in the sales order? User dynpros exist as part of the “additional data” screens at header/item level in 3.0. They have their own tabs in Release 4.0. Sales Installation Specific Data Definitions MV45ATZZ Sales Installation Specific PBO Modules MV45AOZZ Sales Installation Specific PAI Modules MV45AIZZ

Number 3: Determining Sales Order Fields 3a I just added a new field to the sales order header. How do I fill it with a value? 3b How can I determine the payment terms different from standard? MV45AFZZ Sales Order Header USEREXIT_MOVE_FIELD_TO_VBAK Sales Order Item USEREXIT_MOVE_FIELD_TO_VBAP MV45AFZB Sales Order Serial Numbers USEREXIT_MOVE_FIELD_TO_VBSN Sales Order Schedule Line USEREXIT_MOVE_FIELD_TO_VBEP Sales Order Business Data USEREXIT_MOVE_FIELD_TO_VBKD

Number 3: Determining Sales Order Fields MV45ATZZ Use for general data declarations TABLES: YYYY. Common Work Areas KUAGV - Sold-to Party Information KUWEV - Ship-to Party Information KURGV - Payer Information KUREV - Bill-to Party Information MAAPV - Material Master View: Sales Screen 1 MAEPV - Material Master View: Sales Screen 2

Number 3: Determining Sales Order Fields MV45AFZZ 3a FORM USEREXIT_MOVE_FIELD_TO_VBAK. IF SVBAK-TABIX = 0. VBAK-ZZFIELD = YYYY-ZZFIELD1. ENDIF. 3b FORM USEREXIT_MOVE_FIELD_TO_VBKD. IF SVBKD-TABIX = 0. VBKD-ZTERM = YYYY-ZZFIELD2.

Number 4: Add New Fields for Pricing 4 How can I price off of the new field I added to the sales order header? Add new field to: KOMKAZ - User header fields for pricing KOMPAZ - User item fields for pricing Add to pricing field catalog and create necessary pricing tables, access sequences. Next slide ….

Number 4: Add New Fields for Pricing 4 How can I price off of the new field I added to the sales order header? Fill value during order entry and billing. MV45AFZZ - Sales Order USEREXIT_PRICING_PREPARE_TKOMK TKOMK-ZZABC = VBAK-ZZABC. USEREXIT_PRICING_PREPARE_TKOMP TKOMP-ZZABC = VBAP-ZZABC. RV60AFZZ - Billing Document USEREXIT_PRICING_PREPARE_TKOMK USEREXIT_PRICING_PREPARE_TKOMP

Number 5: Pricing Procedure Userexits 5 What are all of the formulas, requirements, etc. in the pricing procedure for? Pricing Procedure Requirement Access Sequence Requirement Scale Base Formula Condition Base Formula Condition Value Formula

Number 5: Pricing Procedure Userexits Formulas Requirements Pricing procedure 1 5 4 Step Condition type Name Requirement Calc.type Base value 1 10 15 16 17 100 XXX1 XXX2 XXX3 XXX4 Price Gross value Sales deal % discount Value discount Net value 2 6 8 17 14 12 2 Access Sequence Access Table Requirement 10 20 Sales Org / Customer / Material Sales Org / Material 14 There are some additional routines in pricing: Requirements in the access sequence, determining whether an access of the access sequence has to be performed or not. Formula for determining the scale base value in the condition type. Routine for building a grouping key for group conditions. 3 Condition Type XXX4 Scale Base Formula: 15

Number 5: Pricing Procedure Userexits Account determination Material determination Listing / Exclusion Scale base Condition base Condition base value Output Control Structure of group key Requirements Formulas Pricing Rounding rule Statistics VOFM Copying Requirements Data transfer Sales Activities Sales Orders Since release 2.2 there are additional requirements in the system that can not be maintained via VOFM. Those are: Creation of delivery due index Relevant for picking Relevant for goods issue Passing on of requirements Creation of purchase requisition These requirements can be maintained directly from the customizing function. However the technique used for those requirements is the same as that described subsequently for the ones to be maintained via VOFM. There will be even more routines in 3.0, e.g. for batch determination, shipping elements ... Billing Documents Deliveries Texts

Number 5: Pricing Procedure Userexits General Notes Requirements are available to aid performance by eliminating unnecessary accesses to the database. Formulas are available to calculate values differently from the way they are calculated in the standard system or to set certain values. In formulas, the field XKWERT always stands for the number being determined. Important work areas: KOMK - Sales header communication structure KOMP - Sales item communication structure XKOMV - Internal pricing table There are some additional routines in pricing: Requirements in the access sequence, determining whether an access of the access sequence has to be performed or not. Formula for determining the scale base value in the condition type. Routine for building a grouping key for group conditions.

Number 5: Pricing Procedure Userexits Requirements Definable at the pricing procedure and access sequence level. The requirement routine defines the circumstances under which the access should be made. Examples Requirement ‘6’: Only perform the access if condition exclusion is not active. CHECK: KOMP-KZNEP NE ‘X’. New Requirement: Discount is only relevant for items with material group ‘ABC’. CHECK: KOMP-MATKL EQ ‘ABC’. There are some additional routines in pricing: Requirements in the access sequence, determining whether an access of the access sequence has to be performed or not. Formula for determining the scale base value in the condition type. Routine for building a grouping key for group conditions.

Number 5: Pricing Procedure Userexits Formulas Scale Base Formula This formula alters the value that the system uses to read the scales in the condition record. Standard delivered formula “023” is used with condition type KP03 to compute the incremental surcharge for not ordering in full pallets. If 24.30 pallets are ordered, scale base formula “023” changes XKWERT to 0.30 which is then used to read the scales to determine the appropriate surcharge. Scale Base There are some additional routines in pricing: Requirements in the access sequence, determining whether an access of the access sequence has to be performed or not. Formula for determining the scale base value in the condition type. Routine for building a grouping key for group conditions.

Number 5: Pricing Procedure Userexits Formulas Condition Base Formula After the condition record has been read and the scale value retrieved, it is possible to influence the condition basis to which the scale value will be applied. Standard delivered formula “022” is used with condition type KP00 to compute the discount based on full pallets ordered. If 24.30 pallets are ordered, condition base formula “022” changes XKWERT to 24 which is then multiplied by the scale rate. Condition Base Formula There are some additional routines in pricing: Requirements in the access sequence, determining whether an access of the access sequence has to be performed or not. Formula for determining the scale base value in the condition type. Routine for building a grouping key for group conditions.

Number 5: Pricing Procedure Userexits Formulas Condition Value Formula After the system has found the correct scale rate from the condition record and the condition basis for the calculation, the condition value is calculated. Scale Rate Condition Basis Condition Value 5- USD per CS X 5 CS = 25- USD 10- % X 1500 USD = 150- USD It is possible to influence the condition value calculated by the system using the condition value formula. It is also possible to use the formula to do comparisons and set flags. There are some additional routines in pricing: Requirements in the access sequence, determining whether an access of the access sequence has to be performed or not. Formula for determining the scale base value in the condition type. Routine for building a grouping key for group conditions.

Number 5: Pricing Procedure Userexits Formulas Condition Value Formula - Examples Under certain circumstances, the condition value should be set to zero. IF XXX = YYY. XKWERT = 0. ENDIF. Standard formulas “8” and “9” are used with customer expected price to compare the expected value / price with the net value of the sales order item. Based on the result, the “pricing ok” flag is used to block the line item. There are some additional routines in pricing: Requirements in the access sequence, determining whether an access of the access sequence has to be performed or not. Formula for determining the scale base value in the condition type. Routine for building a grouping key for group conditions.

Number 6: ATP Plant Selection 6a My primary sourcing plant is determined by zip code and shipping conditions. Can I do this in SAP? 6b How can I automate the selection of plants on the “Other Plants” push button screen? MV45AFZB Selection of primary sourcing plant USEREXIT_SOURCE_DETERMINATION RV03VFZZ Selection of secondary sourcing plant USEREXIT_PLANT_SELECTION

Number 6: ATP Plant Selection 6a My primary sourcing plant is determined by zip code and shipping conditions. Can I do this in SAP? Define new table (ZZSOURCE) in data dictionary: ZIPCD Zip code (full or partial length) LPRIO Delivery priority PLNT1 Plant 1 PLNT2 Plant 2, 3, 4, etc. MV45AFZB FORM USEREXIT_SOURCE_DETERMINATION SELECT SINGLE * FROM ZZSOURCE WHERE ZIPCD EQ KUWEV-PSTLZ AND LPRIO EQ KUWEV-VSBED. VBAP-WERKS = ZZSOURCE-PLNT1.

Number 6: ATP Plant Selection 6b How can I automate the selection of plants on the “Other Plants” push button? RV03VFZZ FORM USEREXIT_PLANT_SELECTION SELECT SINGLE * FROM ZZSOURCE WHERE ZIPCD EQ KUWEV-PSTLZ AND LPRIO EQ KUWEV-VSBED. (Mark SELKZ field in PLANTS internal table for the plant(s) that should be checked or rearrange plants to show secondary, tertiary, etc. selections).

Number 7: Partner for Cust/Mat Info Record 7 SAP uses the sold-to party to read the customer/ material info record. Can I use the ship-to party or some level of the customer hierarchy? MV45AFZB USEREXIT_CUST_MATERIAL_READ US_KUNNR = KUWEV-KUNNR (ship-to party) (or read any partner out of the table XVBPA)

Number 8: Sales Document “Save” Userexits 8a I have some special checks to perform before a sales order can be saved. Where can I specify them? 8b I have some user tables to update when a sales order is saved. Where can I do that? MV45AFZZ 8a USEREXIT_SAVE_DOCUMENT_PREPARE (Look at Note 64876 if you want to return the user to the transaction.) 8b USEREXIT_SAVE_DOCUMENT

Number 9: Pricing Type with New Pricing 9 When I use “new pricing” in the sales order, I lose all manually entered conditions. Can I do anything about this? MV61AFZA USEREXIT_CHANGE_PRICING_RULE PRICING_RULE = ‘C’. Release 4.0C allows the pricing rule to be specified in a pop up window with “New Pricing”. Refer to note 24832 for more examples.

Number 10: Influencing “New Pricing” 10 When I change the value of field XXX, the system does not automatically reprice the document. How can I accomplish this? MV45AFZB USEREXIT_NEW_PRICING_VBAP (document item) Example: New pricing if the “route” is changed. IF VBAP-ROUTE NE *VBAP-ROUTE. NEW_PRICING = 'B'. ENDIF. USEREXIT_NEW_PRICING_VBKD (business data)