Important Tables for SAP SD Sales and Distribution: Table
KNA1 General Data KNB1 Customer Master – Co. Code Data (payment method, reconciliation acct) KNB4 Customer Payment History KNB5 Customer Master – Dunning info KNBK Customer Master Bank Data KNKA Customer Master Credit Mgmt. KNKK Customer Master Credit Control Area Data (credit limits) KNVV Sales Area Data (terms, order probability) KNVI Customer Master Tax Indicator KNVP Partner Function key KNVD Output type KNVS Customer Master Ship Data KLPA Customer/Vendor Link Sales Documents
VBAKUK VBUK VBAK VBKD VBUP VBAP VBPA VBFA VBEP VBBE
VBAK + VBUK Header Status and Administrative Data Sales Document - Header Data Sales Document - Business Data Item Status Sales Document - Item Data Partners Document Flow Sales Document Schedule Line Sales Requirements: Individual Records
SD Delivery DocumeLIPS referencing PO LIKP
Delivery Document item data, includes
Billing Document Header Billing Document Item
SD Shipping Unit
Shipping Unit Item (Content) Shipping Unit Header
Delivery Document Header data
SD Master Records ——————————————————— Business Partners XD01/VD01 Create Customer Master Centrally XD02/VD02 Change Customer Master Centrally XD04/VD04 Display Changes to the Customer Master Centrally XD05/VD05 Block or Unblock a Customer
OV50 Display of Changes for Customer V-07/VD01 Create One-Time Customer (Sales) V-08/VD01 Create Payer (Centrally) V-09/VD01 Create Ordering Party (Centrally) Item Proposal VA51 Create Item Proposal VA52 Change Item Proposal Conditions VK11 Create Condition VK12 Change Condition VK14 Create Condition with Reference SD Sales Process ——————————————————— Sales Inquiry VA11 Create Inquiry VA12 Change Inquiry VA15 List of Inquiries Sales Quotation VA21 Create Quotation VA22 Change Quotation VA25 List of Quotations SDQ1 Expiring Quotations SDQ2 Expired Quotation SDQ3 Completed Quotations V.04 Display Incomplete Quotations Scheduling Agreement VA31 Create Scheduling Agreement VA32 Change Scheduling Agreement VA35 List of Scheduling Agreements V.05 Display Incomplete Scheduling Agreements Contracts VA41 Create a Contract VA42 Change a Contract VA45 List of Contracts V.06 Display Incomplete Contracts SDV1 Display Expiring Contracts SDV2 Display Expired Contracts SDV3 Display Completed Contracts
Sales Order VA01 Create a Sales Order VA02 Change a Sales Order VA05 List of Sales Orders V.02 Display Incomplete Sales Orders (Sales Order Error Log) V.14 Display Blocked Orders SDO1 Display a List of Orders Within Time Period Debit Memo Request Processing VA01 Create a Debit Memo Request VA02 Change a Debit Memo Request VA05 List of Debit Memo Requests V.14 Display Blocked Debit Memo Requests SDO1 Display a List of Orders Within Time Period Credit Memo Request Processing VA01 Create a Credit Memo Request VA02 Change a Credit Memo Request VA05 List of Credit Memo Requests V.14 Display Blocked Credit Memo Requests SDO1 Display a List of Orders Within Time Period Returns VA01 Returns Order VL01N Returns Delivery VF01 Credit for Returns Shipping and Transportation ——————————————————— Delivery VL01N Create Delivery VL02N Change Outbound Delivery VL22 Display Delivery Change Documents VL71 Output from Deliveries VL10A Process Delivery Due List Picking VL06O Sel. Outbound Deliveries for Picking Post Goods Issue VL06G Deliveries for Goods Issue VL09 Cancel Goods Issue for Delivery Note VL23 Goods Issue (Background)
SD Billing ——————————————————— VF01 Create Billing Document VF02 Change Billing Document VF04 Process Billing Due List VF05 List Billing Documents VFX3 Release Billing Documents VF31 Output from Billing VF11 Cancel Billing Document VKM1 Blocked SD Documents VKM2 Released SD Documents Sales Information System ——————————————————— MCTA SIS: Customer Analysis – Selection MCTC SIS: Material Analysis – Selection MCTE SIS: Sales Org. Analysis – Selection V/LD Execute Pricing Report
SAP SD Transaction codes List I found a way to know hidden customizing Tcodes. Before executing customizing task you desire, point it and go to Edit-Display IMG Activity. Then mark activity. Go to T.Code se16 and type in CUS_IMGACH table. Execute. Paste IMG Activity and run. You will see Tcode that belongs to IMG Activity.
Where do we maintain "Item Category Usage" at the master level? Spro --> Sales and Distribution --> Sales --> Sales Documents --> Sales Document Item --> Define Item Category Usage Item Category Usage: item category usages which control the usage of an item. Item category usage controls, for example, the system response if during document processing an item does not refer to a material but to a text item. Item category usage can also be maintained via the item categories
In contracts we are creating quantity contract and value contracts in that we only put the validity period after validity period that contract will close,but customer want before one month closing the period system should alert with popup box like this contract is going to close, for this sales manager can follow up the customer for renual the contract. Getting a pop-up when the Contract is going to expire is not a Standard SAP thing. For this you need to do some programming. Instead of this the Std system has a reminder system where in the open Contracts and Quotaions are popped up when you about to create a sales order. This setting is in the Sales order header , Goto -- VOV8 --- Quotation and Outline agreement messages If you want to have different number range for different sales area where the settings to be done. Number Rage are use to define what number to be assign to sales document type. Number range can be assign Internal or external. In internal number range system automatically assign a number to sales document according to number range define in system. In External number range user manually assign number to sales document. For Assigning Number Range use T-Code VN01 Choose Intervals ---- Define your number range
Task Specifc SD Transaction Codes 1 How to configure tax? Use the following Tcodes: OBQ1 --- CONDITION TABLE OBQ2 --- ACCESS OBQ3 --- TAX PROCEDURE CAL
OBBG --- ASSIGN COUNTRY TO TAX PROC OVK3 --- CUSTOMER TAX CATEGORY OVK4 --- MATERIAL TAX CATEGORY OVK1 --- TAX DETERMINATION RULES OVK6 --- ASSIGN DELIVERY PLANTS and thenVK11 to maintain the condition record for the tax rate. I raise a sales order and is getting a error stating that "sales area is not defined". 1) At SPRO-->SD-->Sales header-->Assign Sales area to Sales document - Combine your Sales Organisations, Distribution Channels & Divisons 2) At VOPA-->Assign Partner Determination procedure to your Account Group of Customer Master you are using. 3) At VOPA--> Assign Partner Functions to your Account Group & Partner Determination procedure Steps to create a Vendor Master Data at the client level and how do we extend it to different company codes? Follow the following steps: 1. Create a vendor account group OBD3 2. Define no. range for vendor account group XKN1 3. Assign number range to Vendor account group OBAS 4. Define tolerance Group for vendor OBA3 5. Create 2 GL accounts FS00 a) Purchases A/c b) S. creditors A/c 6. Create Vendor master data XK01 7. change/block vendor master data XK02/XK05 8. Define document type and no. range OBA7 a) KA b) KG c) KR d) KZ *-- Vandna How to find the strategy group in sap sd? Menu path for Strategy Group is: Spro --> Production --> Production Planning --> Demand Management --> Planned Independent Requirements --> Planning Strategy --> Define Strategy Group. OPPT -- Maintain Starategy Group
We can see Strategy Group in Material Master Record - MRP 3 - Planning -- Strategy Group. 10 - For Make to Order 20 - For Make to Stock
SAP SD Tips by: Javier The most frequently used transaction codes are as follows: 1. VS00 - Master data 2. VC00 - Sales Support 3. VA00 - Sales 4. VL00 - Shipping 5. VT00 - Transportation 6. VF00 - Billing Others as follows: At Configuration: 1. VOV8 - Define Sales documents type (header) 2. OVAZ - Assigning Sales area to sales documents type 3. OVAU - Order reasons 4. VOV4 - Assign Item categoreies(Item cat determination) 5. VOV6 - Scedule line categories 6. OVAL - To assign blocks to relevant sales documents type 7. OVLK - Define delivery types 8. V/06 - Pricing 9. V/08 - Maintain pricing procedure 10.OVKP - Pricing proc determination 11.V/07 - Access sequence Enduser: 1. Customer Master Creation-VD01 and XD01 (for full inclu company code) VD02 - Change Customer VD03 - Display Customer VD04 - Customer Account Changes VD06 - Flag for Deletion Customer XD01 - Create Customer XD02 - Modify Customer XD03 - Display Customer 2. Create Other material ----MM00 3. VB11- To create material determination condition record
4. CO09- Material availability Overview 5. VL01 - Create outbound delivery with ref sales order 6. VL04 - Collective processing of delivery 7. VA11 - Create Inquiry VA12 - Change Inquiry VA13 - Display Inquiry Sales & Distribution Sales order / Quote / Sched Agreement / Contract · VA01 - Create Order · VA02 - Change Order · VA03 - Display Order · VA02 - Sales order change · VA05 - List of sales orders · VA32 - Scheduling agreement change · VA42 - Contract change · VA21 - Create Quotation · VA22 - Change Quotation · VA23 - Display Quotation Billing · VF02 - Change billing document · VF11 - Cancel Billing document · VF04 - Billing due list · FBL5N - Display Customer invoices by line · FBL1N - Display Vendor invoices by line Delivery · VL02N - Change delivery document · VL04 - Delivery due list · VKM5 - List of deliveries · VL06G - List of outbound deliveries for goods issue · VL06P - List of outbound deliveries for picking · VL09 - Cancel goods issue · VT02N - Change shipment · VT70 - Output for shipments General · VKM3, VKM4 - List of sales documents · VKM1 - List of blocked SD documents · VD52 - Material Determination
KONV Conditions for Transaction Data KONP Conditions for Items LIKP
Delivery Header Data
Delivery: Item data
Sales Document: Header Data
Sales Document: Item Data
Sales Requirements: Individual Records
Schedule line history
Sales Document: Schedule Line Data
Sales Document Flow
Sales document: Release order data
SD Document: Delivery Note Header
Sales Document: Partner
Billing: Header Data
Billing: Item Data
Sales Document: Header Status and Administrative Data
Sales Document: Item Status
Handling Unit - Header Table
Packing: Handling Unit Item (Contents)
VEPVG Delivery Due Index
Transaction Action: J1I2 - Prepare a sales tax register J1I3 - Create outgoing excise invoices in batches J1I5 - Update the RG 1 and Part I registers J1IEX - Incoming Excise Invoices (central transaction) J1IEX_C - Capture an incoming excise invoice (excise clerk) J1IEX_P - Post an incoming excise invoice (excise supervisor) J1IF01 - Create a subcontracting challana
J1IF11 - Change a subcontracting challan J1IF12 - Display a subcontracting challan J1IF13 - Complete, reverse, or recredit a subcontracting challan J1IFQ - Reconcile quantities for subcontracting challans J1IFR - List subcontracting challans J1IH - Make a CENVAT adjustment posting J1IIN - Create an outgoing excise invoice J1IJ - Assign excise invoices to a delivery for sales from depots J1INJV - Adjust withholding tax Item J1INREP - Reprint a withholding tax certificate for a vendor J1IQ - Year-End Income Tax Depreciation Report J1IR - Download register data J1IS - Process an excise invoice (outgoing) for other movements J1IU - Process exemption forms J1IW - Verify and post an incoming excise invoice J1IX - Create an incoming excise invoice (without reference to purchase order) J2I8 - Transfer excise duty to CENVAT account J2IU - Remit excise duty fortnightly J2I9 - Monthly CENVAT return J1IG - Excise invoice entry at depot J1IGA - Create additional excise entry at depot J2I5 - Extract data for excise registers J2I6 - Print excise registers
Standard SAP SD Reports Reports in Sales and Distribution modules (LIS-SIS): Sales summary - VC/2 Display Customer Hierarchy - VDH2 Display Condition record report - V/I6 Pricing Report - V/LD Create Net Price List - V_NL List customer material info - VD59 List of sales order - VA05 List of Billing documents - VF05 Inquiries list - VA15 Quotation List - VA25 Incomplete Sales orders - V.02 Backorders - V.15 Outbound Delivery Monitor - VL06o Incomplete delivery - V_UC Customer Returns-Analysis - MC+A Customer Analysis- Sales - MC+E Customer Analysis- Cr. Memo - MC+I
Deliveries-Due list - VL04 Billing due list - VF04 Incomplete Billing documents - MCV9 Customer Analysis-Basic List - MCTA Material Analysis(SIS) - MCTC Sales org analysis - MCTE Sales org analysis-Invoiced sales - MC+2 Material Analysis-Incoming orders - MC(E General- List of Outbound deliveries - VL06f Material Returns-Analysis - MC+M Material Analysis- Invoiced Sales - MC+Q Variant configuration Analysis - MC(B Sales org analysis-Incoming orders - MC(I Sales org analysis-Returns - MC+Y Sales office Analysis- Invoiced Sales - MC-E Sales office Analysis- Returns - MC-A Shipping point Analysis - MC(U Shipping point Analysis-Returns - MC-O Blocked orders - V.14 Order Within time period - SD01 Duplicate Sales orders in period - SDD1 Display Delivery Changes - VL22
SAP Sales and Distribution Frequently Asked Question Master Data Q: Some materials have been blocked for procurement and production. Even though deletion flag is set for a material/plant level, the order can be still entered ( with a warning message). Is there a way to block such transactions for a material flagged for deletion? A: Sales Status field in the sales organization view of the material master may be used to block any transaction for the material. Q: We can define our own exchange rate types and use them instead of the defaulted types, 'M', 'B' and 'G'. How can we overwrite default types in SD? A: Exchange rate gets copied from the customer master record. Exchange rate types are to be maintained for the customer in the sales screen of the customer master record.
Shipping Q: The PL00 condition is fine in delivery. But when we try to print to either the screen or printer, an error V1032 occurs. Why? A: In order to use the Packing list PL00 (packing slip in delivery) you must do 'Packing' in the delivery note (edit->packing) Q: we have to enter a shipping point while creating a delivery. Is it possible to create delivery without shipping points? A: When you are releasing a sales order, choose Sales document -> Subsequent functions-> Create delivery, then the shipping point will be brought in from the sales order. In all other scenarios you have to key in the shipping point. The above described scenario will only work if all items on the sales order are to be shipped from the same shipping point.
Billing Q: SAP allows a non-inventory item and an inventory item to be in the same document till delivery but splits at the time of creation of billing document. Can we combine a noninventory item with an inventory item in one invoice? Can we treat it as a value item in sales order so that it is priced and then make it as a text item in delivery documents so that it appears in the same invoice and does not split? A1: Make the non-stock material deliverable, but not pickable. Both items will carry into the delivery, and therefore appear on the same invoice. A2: Change the copy rule for orders->invoices and deliveries->invoices to specify that invoice combination is permitted. However note that for system to create combined invoices, PO number, payment terms, sales organization, and distribution channel must be identical. Else undesirable combinations may be created by the system.
Pricing Conditions Q: It is impossible to price at the material level (matnr) , when a material has a pricing reference (mvke-pmatn) set up against it in the master data. Pricing always look for the pref, even if a price is set up against the material and not the pref. How can we price by material and pref?
A: The field used to look up at the price is defined in Access sequence. You may find a step with PMATN as material number. If you insert a step with MATNR then the system will first look for the material, if not found (use the exclusion tick box) it will look for the pref.
Customizing Q: We generated a new condition table. Assigned the condition to access sequence. Created a condition record. Access sequence is assigned to the output type. But when we create a billing document, output screen comes up blank for the output type. When we look up Determination Analysis, we get an error "Note 524 Access not made (Initialized Field)". What else is required to be done? A: Assign output determination procedure to the header of the document and the output type. Q: How can we set up to have the VAT# be accepted in the Ship-To Master File Data Control screen? A: IMG->Fin. Acct.->AR and AP ->Customer acct->Master Record -> Prepare to Create Customer-> Define Acct. Group. Q: We want to explode Bill of Material automatically at time of Order entry and explode an Equipment BOM in the sales order. What are the setting required? A: Use an item category that is configured for bills of material for having a sales BOM to explode automatically. Standard SAP item categories are : TAQ - Pricing and inventory control take place at the BOM header level TAP - Pricing and inventory control take place at the BOM item level These can be automatically derived using the item category groups ERLA and LUMF, respectively. Q: How can we make the Customer Group 1 (or 2, 3, 4, 5) a mandatory field? A: Logistic General-> Logistics Basic Data: Business Partners -> Customers -> Control -> Define account groups and field selection for customer Choose Customer Acct. GR. (double-click). -> Field Status: Sales data (double click) -> sales (double click) .Check the radio button against Customer Gr as REQ. ENTRY. Save the settings to make customer GR entry mandatory . Q: Is there an user exit to copy the data into planning table? A: Use user exit MCP20001 and include ZXSOPU01.
Q: We get a report screen: "Goods issue: Problem Log" during the delivery process when activating Post Goods Issue button. We want to include our own error message to this list if the selected batch is not on a customer defined table. What is the best way? A: Try User exit - USEREXIT_SAVE_DOCUMENT_PREPARE
Link Between SAP SD, MM & FI 1. In SAP you will always get integration with other modules. SD will interact with FI, MM will interact with SD :1a. Looking at MM and SD interaction first, take the scenario of a third party order process. This process uses a purchase order (which is sent to your vendor). Also invoice verification is used further along the process to check that the invoice you send to your customer is the same material and quantity as that which the vendor sends to you (but obviously shipped directly to your customer). 1b. Billing is an SD function. But SAP needs to know, when processing a customer's payment, to which GL account the payment has to be processed. For instance payment of a UK based material would be placed in a different GL account to that of a non-UK based material. Furthermore, a UK based customer may have a different GL account to that of an Export customer. This is configured in Account Determination. 2. ABAPers are there to essential do some bespoke development. Your integration, or interaction, with them would be when specifying the tables, fields, input fields, a simple process explanation, data mapping (if doing an interface from one system to another) etc. *-- Shahee The link between SD and MM :1. When you create sales order in SD, all the details of the items are copied from Material master of MM. 2. MRP and availibility check related data is also taken from MM although you control this data in SD also. 3. While you create inbound/outbound delivery with reference to a sales order,the shipping point determination takes place with the help of the loading group, plant data, shipping conditions etc. This also refers to Material Master.
4. The material which you are entering in a sales order must be extended to the sales area of your sales order/customer otherwise you cannot transact with this material. There are many such links between SD and MM. Now the link between SD and FI :1. Whenever you create a delivery with reference to a sales order, goods movement takes place in the bacgground. eg. In case of standard sales order, you create an outbound goods delivery to the customer. Here movement 601 takes place. This movement is configured in MM. Also, this movement hits some G/L account in FI. Every such movement of good s hits some G/L account. 2. The accounts posting in FI is done with reference to the billing documents (invoice, debit note, credit note etc) created in SD. Thus this is a link between SD and FI 3. Tax determination: In case of a tax determination also, there is a direct link between SD and MM
SD Integration points with other modules SD module is highly integrated with the other modules in SAP. Sales Order – Integration Points •Availability Check •Credit Check •Costing •Tax Determination •Transfer of Requirements
Module MM FI CO/ MM FI PP/ MM
Delivery & Goods Issue – Integration Points •Availability Check •Credit Check •Reduces stock •Reduces Inventory $ •Requirement Eliminated
Module MM FI MM FI/ CO PP/ MM
Billing Integration Points •Debit A/R •Credit Revenue •Updates G/ L (Tax, discounts, surcharges, etc.) •Milestone Billing Return Delivery & Credit Memo Integration Points •Increases Inventory -
Module FI/ CO FI/ CO FI/ CO PS Module MM
•Updates G/ L •Credit Memo •Adjustment to A/R •Reduces Revenue
FI FI FI FI
Tips by: Subha
SD Transaction Code Flow: Inquiry / Document type IN Tcode for creation VA11,VA12,VA13. tables VBAK,VBAP Quotation / QT Tcode for creation VA21,VA22,VA23. tables VBAK,VBAP Purchase Order PO Tcode for creation ME21,ME22,ME23. tables EKKO,EKPO. Sales Order OR Tcode for creation VA01,VA02,VA03. tables VBAK,VBAP Delivery LF Tcode for creation VL01,VL02,VL03. tables LIKP,LIPS Billing MN Tcode for creation VF01,VF02,VF03. tables VBRK,VBRP To create a sales order we need purchase order number and custmer number. Before that, to create a purchase order we need to have material no, vendor no. To create vendor tcode is xk01(create), xk02(change) , xk03(display) Tables are lfa1. To create custmer tcode is xd01, xd02, xd03. Table is kna1. After creating sales order using this no we can create delivery note tcode is vl01.
Why Do We Assign Division to Sales Organisation In SAP, why do we assign division to Sales organisation not to distribution channel? In SAP Business Process Sales Area= Sales Org.+Dist.Channel+Division.
Its Triangular intraction Sales organization / \ / \ Dist.ChannelDivision Sales Org controls Distribution Channel and Division Distribution Channel: The channel that is choosen the organization to make their product reach the end customer.(Network) Division: Ex: HLL--------> Detergents, Out of Home,Food Products,Health Care Sectors/Departments TATA Motars: Trucks/Bus,Cars,Heavy Vechiles Etc... Please note it is not: Sales organization | | Dist.Channel | | Division Division is an Oragaizational Unit. The Division in the Material Master is not an Organizational Unit that can be used to maintain related fields. It is a field which is used to uniquely assign a material to a Division.
How To Do Master Record Mass Maintenance Which master records mass maintenance can be done? What do you mean by mass maintenance? Mass maintainance in MM1. Mass Maintainance means to change a master data or transactional data in mass 2. SAP has provided Mass Maintainance for many objects
Examples:Material masters, BOMs, Routings, Workcenters in PP In MM --> Inforecords, PO,s Preqs etc To do master record mass maintenance You can use tcode MASS and then select your Object type or there is few specific mass maint. Tcode is available like for PO = MEMASSPO etc. but you can use MASS also for that you need to select the object type for PO Tips for mass modification: Use object type BUS1001 and generate. Then you have to know the tables where the field you want to modify is. Pick the fields in their folder and generate again. Then in selection pick the materials or use other selection criteria. Generate again. In the upper side of the screen insert the data and click the button 'carry out a mass change'. Save and leave. Master records mass maintenance can be done: Material master, info record, vendor, PO, PR, etc. What do you mean by mass maintenance? MASS maintenance means - suppose you want to change prticaulr field of material for all the mateirl of certian plant or all the plant you can do using mass like wise for certian PO value if you want to cahnge you can use mass. There a lot of transactions for specific mass changes. MASS is also one of the transactions among them. - Mass Change in material master. MM17 - Mass change in BOM. CS20 - Mass change in work center. CA85 - Mass change in Reference opn set. CA95 - Mass change in PRT. CA75 - SU10 Mass changes to User Master. - SU12 Mass Changes to User Master Records. - CO44 Mass processing of orders. - F.80 Mass reversal of documents. - FOFO Mass release.
- FOVX Mass processing of offers. - IMAM Mass maintenance of approp.requests. - KE55 Mass Maintenance PrCtr Master Data. - XD99 Customer master mass maintenance. - XK99 Mass maintenance, vendor master.
Serial Number Management In SAP SD By: Rob I am following the below step: 1. Serial number profile is created. 2. Assigned sales order procedure (SDAU) and delivery proceedure to serial number (SDLS). 3. Profile is assigned in material master record 4. Assume there is a stock of 10 quantity without serial number (you can do 561 for initial stock posting ) 5. IQ01 created serial number for all the 10 stock. 6. VA01 created sales order for one quantiy 7. Assigned one serial number for this material 8. Sales order is saved and delivery and PGI is done for the same serial number and material 9. MMBE stock is reduced with one quantity 10. MB51 if check the material document in serial number TAB i can see a message that "The material is managed in serial numbers" So now my question is why I can't see serial number in material document? How can able to see that? what is the configuration required? Whatever settings you have maintained is correct. I shall share as to what happens in our business process. VA01- Sales order Vl03 - Delivery LT03- Transfer Order After transfer order there is a transaction used ZL02 where in the delivery number is entered and on executing, a screen pops up asking for the serial number. Here we enter the serial number maintained for the material and is got from MMBE. And the serial number is captured for the material.
Pls check for the serial numbers in MMBE and I suppose a program needs to be created by an ABAPer for the serial number to be fetched and a transaction to be created and associated with the program. I need Serial Number Profile tables as soon as possible. T377P - Serial Number Management Profiles T377P_T Texts for Serial Number Management Profiles T377X Documents Allowed for Serial Number Management T377X_T Texts for Serial Number Management Documents T5KSN ROE Serial Number SERI Serial Numbers EQBS Serial Number Stock Segment EQSE Serial Number Records IQ09 - Check Material Serial No In outbound delivery, post goods issue failed because of serial number, but this serial number was not assigned to any other material. Check the serial number and material with IQ03. Serial number is material specific. When I looked at the IQ03, for the serial no "#162559019S.", I realized that the status is still remain as EDEL and ESTO. Supposingly, the status should only has ESTO. Is there a way to remove the status "EDEL"? Go to IQ02, do the following steps: 1. Go to edit -> Special serial number function -> manual transaction 2. Choose "to stock" The status should be ESTO now. Try it. EDEL status shows that it is assigned to a delivery. Change it by going into IQ02 --> Edit --> Sp.Serial number Functions --> Manual Transaction and make it 'to stock' If the serial number has status EDEL ESTO that means the serial number is assigned to the Delivery, reversal PGI has not been completely performed. Once you do that then only this will come as ESTO. Please check your SD document flow if all the documents have been reversed. Click the Status of Serial Number Master record.
ESTO status In the warehouse. means .. open.. - EDEL (Assigned in delivery note). According to this status, transaction 'Goods issues' is not allowed. - ECUS At customer site
Sales Office Address, Change and Assignment SAP Functional ==> SD In SAP Where to change the ADRNR field for a particular sales office? SPRO --> Enterprise Structure --> Definition --> Sales & Distribution --> Sales Office --> Define Sales Office. Here go to the address & change the address & the new address will reflect in the output. Table in which sales office data is stored. In which table name address of the sales office (SD ) is stored. Also tell in which table, description of the sales office is stored. table TVBUR-vkbur is the sales office table tvbur it contains a field called address number. ADRNR take that field(ADRNR) and compare with table ADRC-ADRNR. in table ADRC you will find name, description, address and all other data. table TVKBT -- description of sales office. Assignment of Single sales office to multiple sales organizations. We have a scenario where we need to Assign single sales office to multiple sales organizations in CRM. When I am trying to assign sales office to more than one sales organization 1st assignment between Sales office and Sales Org is getting deleted, and only the 2nd assignment is available. At sales office level in Function tab, it is showing only the assigned sales Organization (only one sales org), how to assign one more sales org to this sales office here.
The assignments are on the lower node. Which means you will go to Sales office, go to function TAB and assign multiple sales organizations there. In the change form click New entry and assign the new sales organization and distribution channela and division combination. You can assign as many combinations as needed here. 1. There are 2 version in CRM Org Model. a) SBIV (Standard Backend Integration Version) b) EBIV (Enhanced Backend Integration Version) 2. EBIV is used to handle multiple assignments in CRM system. 3. As you know we have 3 Org Units as far as Sales is concerned i.e. Sales Org, Sales Office, Sales Group. 4. In R/3 there is a standard way to maintain multiple assignments among these org units. Ex: Sales Group 'X' works (assigned) for 2 Sales Offices 'North' and 'South' simultaneously. 5. But in CRM this assignment is not as common as in R/3 and is not supported thru SBIV. 6. If you would like to have these multiple assignments made in R/3 available in CRM as well you may want to go thru EBIV. 7. Once you run EBIV you cannot go back to SBIV. 8. In EBIV divisions and distribution channels can only be assigned to sales units (sales organizations, sales offices, and sales groups). If they are assigned to any other neutral Org Units (Org Units without any Org Attributes), those assignments would be deleted once you shift from SBIV to EBIV.
What are the steps to create a sales order? To create a standard sales order, proceed as follows: In the initial screen, choose Logistics - Sales and distribution - Sales. Choose Order Create (VA01).
Enter the order type and, if necessary, the organizational data. The values for sales organization, for distribution channel and the division are usually proposed from user-defined parameters. Entries for the sales office and the sales group are optional. The sales areas (sales organization, distribution channel, division) are derived from the sold-to or ship-to parties. This means that you do not have to enter the sales area when you create a sales document. If you do not specify a sales area in the initial screen, the system uses the sold-to or shipto parties, which you entered in the overview screen, to derive the sales area. If there are several sales areas for that particular sold-to or ship-to party, you can choose the right sales area in the following dialog box. The system then copies the selected sales area into the entry screen. Choose Enter. Enter the following data: - Sold-to party or ship-to party If you only enter a ship-to party, the system uses this to determine the sold-to party and if necessary, the sales area. If there are several sold-to parties or sales areas for one ship-to party, a dialog box appears where you can choose the one you require. An error message appears in the status bar to inform you if the system is not able to determine a sold-to party. If you enter a sold-to party that is also a unique ship-to party, the system automatically copies it as such and informs you in the status bar. - Customer purchase order number - Material numbers - Order quantities for the materials - Choose Enter. If, for example, you defined several unloading points or several ship-to parties in the customer master record of the sold-to party, the system displays the alternatives in a dialog box. The system can display alternatives for any or all of the following data: – - Unloading point - Ship-to party - Payer - Bill-to party Select the valid data from these proposals by positioning the cursor on the line and choosing Choose.
As soon as you have selected this data, the material data that you have entered is displayed. If the system carries out an availability check and finds that there is insufficient stock for an order item to be delivered on the requested date, it displays a screen on which you can choose between several delivery proposals. You can find more information about this in Reactions to the Availability Check in Sales Documents. If you want to enter further data for the header or items, choose the corresponding menu entry. If you want to change data for the items, select the items before you choose a menu entry. Enter all necessary data. Save your document.
Duplicate customer purchase order If you are facing a problem with duplicate customer purchase order as your company does not allowed a same customer purchase order with the same sales order type. You can activated the check for duplicate purchase order with "VOV8". In the General Control Section, look for the field Check Purchase Order No and put
Default First Date is not Today When end user created a new sales order with VA01, default First Date wasn't today, why? Note: 1. Before today, default First Date was always today. 2. Nobody change system configuration. Although you mention that nobody change the system configuration, it is very unlikely that the system will mis-behaved after one day. Usually, after checking, you will find that someone have actually change the configuration as it could not be a software bug since you have been using it for quite sometime without any problems. The date is control by each Sales Order Type for each Sales Document type whether is it a
- OR - Standard Order, - RE - Returns etc. Verify the Sales order type configuration with the following path: IMG: Sales and Distribution --> Sales --> Sales Docs --> Sales Doc Hdr --> Define Sales Doc Types (transaction vov8) will let you control this by sales document type. There is one field (Lead time in days) which "specify the number of days after the current date that the proposal for the requested delivery date in the sales document should be". This should be blank if you want the system to propose current day for delivery date.
SAP SD User Ticket: Confirm quantity date is next day. I have created a sales order for 6 Tons.I have a stock of 10 Tons which is not reserved for any Sales order. I mean it is unrestricted stock. After creating sales order system should show as Doc date for confirming quantity for dispatch but it is showing the next day in the schedule line. What could be the reason? The reason could be there should be processing times configured in the system like..pick/pack times, transit time. Please check the shipping point and also the route for different lead times. The other possibility could be holidays. First check what the requested delivery date you have put in the order. Next check the lead times, for that you can go to the schedule line of the item and click on the Procurement tab. Check in OVLZ ---> In Pick/pack time wrkdys, any value is maintained there. For example, if 5 is given in this field, even if stock is available on the same day of order creation, system will allow to do PGI only after 5 days from the date of order created. Also go to VOV8, select your sale order type and check the Field "Lead Time in Days". I'm using service material in my sales order and I need the schedule line to confirm the quantity always in the actual day (not depending on the delivery date). T. Code: VOV8 Select your Sales Doc. type and Double-Click.
In Tab: Shipping, Check Box: Immediate Delivery (press F1 to read more about this functionality). Note: There are few more settings that you may check: 1. T. Code: OVLZ Field: Pick/pack time wrkdys whether you have maintained any value. It should have been blank 2. T. Code: VOV8 Check how many days mentioned in Lead time in Days. If it is mentioned any days, remove it. 3. T. Code: OVZ9 Checked the Box: Check without RLT . 4. Check in material master MRP2 view how many days are maintained for the fields InHouse production and GR Processing Time.
Auto proposed all the dates when creating Sales Order How can I make the system auto create all the Sales Order date during creation? Each Sales Order can have different date proposal settings. Follows this step to set the default Sales Order Type proposal date: - Goto VOV8, double click on sales order type. - Look and tick the fields Propose delivery date and Propose PO date. After making the necessary IMG changes, you need to input the Delivery Plant field for each Materials that you want the system to propose the default date. To change the Materials field Delivery Plant: Goto MM02, Select the View Sales: Sales Org. Data 1 and fill in the Delivery Plant. Testing:
Now, try creating a new sales order for the material and SAP will auto proposed all the dates in the sales order.
Define whether the Material can be used at which Sales and Distribution process Here you define how the system responds when entering a sales and distribution document with this material in the differenet Sales and Distribution Process Flow.. You can use the material status, for example, to prevent orders from being entered for parts to be discontinued. OR To temporary block the creation of Sales Order for a certain materials. Set the material status parameters in transaction SM30, Table Views V_TVMS. Click Maintain and double click into the Materials Status code. You can set three types of reponse for each Sales and Distribution process :1. no dialog 2. warning when entering the document 3. error message (that is, the sales and distribution document cannot be entered on the basis of the material status)
Assign a Cost Center manually in a Sales Order (VBAK-KOSTL) The Cost Center Determination settings is in OVF3 - but there are some cases where the Cost Center must be exceptionally changed. If the document category for order type in IMG VOV8 is defined to be "I" which belong to order type FD - Deliv.Free of Charge, then the field cost center is active for input during transaction VA01.
Alternatively, you can specify an order reason and assign a cost center to an order reason. However the standard SAP works only at the header level though, so it would not work if cost center is needed on the line item. The cost center are assign for such business transactions as : - Free deliveries - Returns - Deliveries of advertising materials You can also make cost center allocation dependent on the order reason, for example: Order reason: Damage in transit Order reason: Free sample Both the IMG settings are done in transaction OVF3, either with/without the order reason.
Sales and Distribution - Transfer of Requirements The MRP department is informed about the quantities and deadlines by which incoming orders should be delivered. The system checks the availability of the goods based on the requested delivery date of the customer and creates MRP records which contain all necessary information for passing on to planning. It ensures that the goods are available in time for the delivery. Materials planning transfers the reported requirements and creates orders or purchase requisitions from them etc. For controlling transfer of requirements, you have to carry out the following steps: 1. Each requirement type has to be allocated to one requirement class only. 2. The transfer of requirements must be switched on at requirements class level, the sales documents at schedule line level. 3. You must define a check group. It is possible to have this check group proposed for the initial creation of a material master record. 4. Note that a plant must exist for transfer of requirements to be carried out at document
item level. OVZG
- Requirement class
It specifies the following points: - whether an availability check and a transfer of requirements is carried out for a transaction (for sales documents, fine tuning using the schedule line category is possible), - whether the requirements are relevant for MRP, - the allocation indicator from the sales view which controls the settlement of customer requirements with requirements - whether an item is to be settled to an auxiliary account assignment, - the settlement profile, - the results analysis key. (Use transaction SM30 for V_* configuration) OVZH - Requirements type V_TVEPZ_V - Assignment of requirement type to Transaction V_TVEP_V - Schedule line category OVZ2 - Define Checking Group V_TMVFU - Define the checking group that the system proposes when you create a new material master record. You can overwrite the default value for the checking group in the material master record.
Explain transfer of requirement? How it works and how to configure? It specifies the following points: 1. Whether an availability check and a transfer of requirements is carried out for a transaction (for sales documents, fine tuning using the schedule line category is possible), 2. Whether the requirements are relevant for MRP, 3. The allocation indicator from the sales view which controls the settlement of customer requirements with requirements, 4. Whether an item is to be settled to an auxiliary account assignment, 5. The settlement profile, 6. The results analysis key.
When a sales order is raised, then the system check for availability of goods. If the availability of goods is not there, then the system creates a TOR for the supply of goods to PP. Then PP can do procure or produce the goods. This can be configured by creating requirement class and requirement type and in the corresponding schedule line category requirement had to be checked. The MRP department is informed about the quantities and deadlines by which incoming orders should be delivered. The system checks the availability of the goods based on the requested delivery date of the customer and creates MRP records which contain all necessary information for passing on to planning. It ensures that the goods are available in time for the delivery. Materials planning transfers the reported requirements and creates orders or purchase requisitions from them etc. The following sections on the transfer of requirements describe how to control the transfer of requirements. The transfer of requirements is basically dependent upon the following factors: - requirements type - requirement class - check group - schedule line category The transfer of requirements is controlled globally using the requirements class which is derived from the requirements type for all sales document types. For the sales document types, fine tuning is also possible at schedule line level. This fine tuning is described in the section "Defining the procedure for each schedule line category". Note that the requirements classes are also used in production so you should coordinate any changes to the requirements classes with production. The requirements type and, eventually, requirements class are determined in the strategy group so all changes made there should also be coordinated with production. For performing transfer of requirements, you have to carry out the following steps: 1. Each requirement type has to be allocated to one requirement class only. 2. The transfer of requirements must be switched on at requirements class level, the sales documents at schedule line level.
3. You must define a check group. It is possible to have this check group proposed for the initial creation of a material master record. 4. Note that a plant must exist for transfer of requirements to be carried out at document item level. Requirements transferred to planning are further processed in the module MM. You must, therefore, coordinate the transfer of requirements with the module MM.
Define Tax Determination Rules You specify the valid tax types in transaction OVK1. More than one tax type can be defined for a country by defining the sequence. The SAP System determines the taxes automatically within pricing. In the standard SAP R/3 System, the elements of tax calculation are predefined (for example, tax condition type "MWST" for taxes on sales and purchases). Assign the plant for Tax Determination in OX10, using the country key, the SAP System recognizes which tax type is valid for a plant and thus which taxes are relevant when creating an SD document. Define the Customer Taxes in OVK3, you will maintain the tax code in Customer Master. Define the Material Taxes in OVK4, which will then be maintain in Material Master. For example :MWST GST MWST GST
0 Tax Exempt 1 Liable for Taxes
Now, you define the Tax Determination in VK12. VK12 - Domestic Taxes/Export Taxes Condition Type
Customer Taxes 0 0 1 1
Material Taxes 0 1 0 1
Rate Taxes 0% 0% 0% 9%
In this example, if both the Customer Master and Material Master Tax code is 1, Tax will be included when you create the Sales Order.
Tax Code in Customer Master / Sales Order How can we maintain the Tax Code (Tax code - which we maintain in MWST Condtion Records) in Customer Master or in Sales Order? There are few points which I would like to remind you: 1) MWST is a tax condition which is applied to customer to whom we are selling. The rate of tax is depend on various parameteres, whether is fully liable for tax or expemted (in case of Defence Customer) 2) There are few parameteres which we apply tax condition. Whether customer is tax liable? Whether material is tax exempted? For example, if you are selling a goods which are free for tax to any customer, put the Tax Indicator (at MMR as '0'). If your material is tax liable pur the Tax Indicator (at MMR as 1). If your customer is not liable for tax at all (like the case of Indian Defence organisations) put the Tax Indicator (at CMR as 0) or 1 in case fully tax liable. 3) Now, at VK11 you need to mainatain your pricning conditions with all the combinations like: 10 11 01 00 4) While maintaining your Material Master Records or Cusotmer Master Records, you must identify, which are tax liable and which are tax exempeted. 5) In anycase, as a SAP standard Best Practises, while processing a sales order, you must retrieve a Tax condition record from SAP database only and not entered Manually. Accordingly, at V/06, the MWST condition Defintions, the field for 'Manual Entries', it would be marked as - D (Not possible to process Manually). Due to this setting, normally, you cannot maintain Condition tax code during sales order processing. And in Cusotmer Master, you can only maintain Tax Indicator and not Tax Code. 6) In case your client insists for Manual entry of Tax code during Sales Order processing, you can change the field at point 5) above to C-Manual entry is priority instead of D.
Taxation Explain with an example I'm assuming that, the country is India and based on its requirement: Sales tax is a state government revenue. There are two types of sales taxes, Local sales tax & central sales tax. Local sales tax is intra state whereas CST is inter state. Example of LST : Point of sale i.e. delivering plant & ship to party are within the same state. The rates are defined by the respective state governments. Example of CST : The Delivering plant & Ship to party geographic locations are 2 different states. At the point of sales from one state, the ST goes to that state govt. & consignment is despatched to the Ship to party. Once that consignment is received at the ship to party state, sales tax will be levied once the sales is registered there. For this case, the LST that is applicable by the Ship to party further will not be applicable in all probability to be captured in SAP. Stock transfer : This does not attract any sales tax. The consignment is transferred from one D plant to another D plant irrespective of inter/intra state sales. The invoice that is accompanied with the consignment thus shall not have any final value. It's a zero value invoice, but the basic prices needed to be mentioned. The selling organisations normally needs to register with the sales tax authority of the respective state to have a warehouse or D plant to avoid the double taxation for their dealers/distributors. Now, the pricing procedure that is there in 4.7 is Factory sale with formula-JFACT, in which the CST condition type is JIN1 & the LST is probably JIN2. There may be surcharge cond types as well which will calculate the amount on either JIN1 or JIN2. For config : 1.SPRO > S&D > Basic fn. > Pricing > Pricing control > Define & assign Pric. procedure > Maintain Pric proc. 2. The tax rates are normally driven from the Tax classification of Customer & Material access. To do this config, S&D >Basic fn. > Taxes. You need to include the condition type for country IN in 'Define tax determin rule'. 3. Same path : But go to Tax relevancy of master records where you configure the condition type & options of rates that will flow to these masters. One needs to understand here properly as u need to have unique combinations for picking the sales tax rates. I will try to demonstrate the smallest example. Let's say, the LST rates are 2%,4% & 0%. I will have two options for material master here. 1 for taxable & 2 for not taxable.
For customer master, I will have 1-LST 2%, 2-LST4% & 3-LST0%. When I create master records for LST thru VK11 for JIN2, I will chose the access where the combinations of customer & material tax classifications are available. If this access does not exist create it under an access sequence. But normally this is standard. The condition records will look like, Cust-Tax classi. Material tax claasi. Rate Tax code 1 1 2% A1 2 1 4% A1 3 1 0% A1 Remember, rates are flown from the tax codes. Tax codes can be created thru T code FTXP. This is normally a FI job
SPRO Material management Purchasing Purchase order Set up stock transport order Create checking rule Scope of availability check SPRO Sales and distribution Basic functions Availability check and transfer of requirements Availability check Availability check with ATP planning or against planning Carry out control for availability check Go to New Entries and define the scope of check in the combination of checking group and checking rule. The following elements can be involved in the availability check STOCKS: Include safety stocks: Minimum stock at plant/ware house Stock in transfer Include quality inspection stock Include Inward movement Purchase orders Purchase requisitions Planned orders Production orders
Out ward movement Sales requirements Deliveries Release orders etc.
If we do not check the field  ‘check without RLT’ the system considers RLT while checking the availability of the material Note: Blocking the material for availability check SPRO
Sales and distribution Basic functions Availability check and transfer of requirements Availability check Availability check with ATP planning or against planning Define material block for other users If we check the field Block  during the availability check of a material the users cannot make changes in the Material Master, cannot create PO, cannot create sales orders. Note: During the Material Master creation the system automatically proposes the checking group. Further the following setting is required. SPRO Sales and distribution Basic functions Availability check and transfer of requirements Availability check Availability check with ATP planning or against planning Define checking groups default values. We need to assign the checking group to the combination of material type and plant.
Settlement Downpayment with Installment payment Term Scenario :- Problem with Down payment settlement using installment payment term. 1. When we create Sales order, (sales item value = 100) use payment term : 0009 (Installment Payment term, 30%, 40%, 30%). In the Billing Plan, I specify 2 records, 1st record is Downpayment request 30% of Order value, billing type is FAZ . the 2nd record is Final invoice 100%, billing type is F2. 2. Create Billing type Down payment request , it will document as Noted item in the accounting document. 3. Receive Downpayment from customer via FI screen , at this stage the asccounting document is created as following Dr. Cash/Bank 30 Cr. Advance from customer 30 4. When I create Billing document for the sales item, the down payment value will be proposed for settlement at Billing Creation, I then accept the default value of down payment clearing. The accounting document is as below
Dr. AR 30 (*split AR by installment payment term) AR 40 AR 30 Cr. Sales 100 Dr. Advance from customer 30 Cr. AR 9 (DP. 30% * 30) Cr AR 12 (DP. 30% * 40) Cr AR 9 (DP. 30% * 30) It seems SAP settlement Down payment by Installment Payment term. I was wondering that is there are alternative or an option to setup the Down payment settlement independent of Installment term. I meant, I don't want to have the last 3 Credit item as above, I want only 1 line item of credit, the accounting should be Dr. AR 30 (*split AR by installment payment term) AR 40 AR 30 Cr. Sales 100 Dr. Advance from customer 30 Cr. AR 30 (Not separate by Installment payment term) Solutions : Suggesstions on how I could proceed? Your problem with Down payment settlement is common. Many users object to the down payment or security lodgement mechanism. In our case we often park and apply the advance manually to final invoice. However, following the above case we sometimes use this with our PS orders: 1. Create Sales order, (sales item value = 100) with billing plan with three steps 30% down payment,30% std billiing on order completion and 70% on delivery. A little different to your original Billing Plan, but 1st record is Downpayment request 30% of Order value, billing type is FAZ . the 2nd & 3rd records are std F2 invoices 30% ,70%. 2. Create Billing type Down payment request , it will document as Noted item in the accounting document. 3. Receive Downpayment from customer via FI screen , at this stage the accounting document is created as following :Dr. Cash/Bank 30 Cr. Security deposit payment 30 ( In many countries this may be subject to TAX laws) 4. Create the First Billing documents , the down payment value will be proposed for settlement at Billing Creation, then
accept the default value of down payment clearing as these equal each other. The accounting document is as below Dr. AR 30 Cr. Sales 30 Dr. Advance from customer 30 Cr. AR 30 5. Create the Second Billing document ( down payment value has expired and will not be proposed) The accounting document is as below is then standard for the last installement. Dr. AR 60 Cr. Sales 60 This alternative provides a cleaner option with the Downpayment.
Sales and Distribution - Upload Condition Pricing RV14BTCI - Batch Input for Uploading Condition Pricing After executing the program, you have to use SM35 to process the update program. Envirionment : 4.6x Require flat file :ROW 1 BGR00 ROW 2 BKOND1 ROW 3 BKOND2 - no scale ROW 4 BKOND2 - no scale ROW 5 BKOND3 - with scale ROW 6 BKOND2 - no scale Sample flat file for uploading table A305 - Customer/Material with release status :0BIPRICE 123SAPABAP X 1VK15 A305V PR00 2ALL 990000123456SAP8204142100 2002043020020401 50USD 100PC 2ALL 990000123456SAP8217168100 2002043020020401 50USD 100PC 3 100PC 2 3 200PC 1 2ALL 990000123456SAP8220133910
There a total of 4 flat file format :BGR00 - Session Header Record
----------------------------------------------------------------------------------------| Field name | Description Length | Dec. |
| Report header
----------------------------------------------------------------------------------------| STYPE | Record type 000001 | 000000 |
| GROUP | Group name 000012 | 000000 |
| BI Session Name
| MANDT | Client 000003 | 000000 |
| Your client no
| USNAM | User ID 000012 | 000000 |
| Queue user ID
| START | Lock until: 000010 | 000000 |
| Queue start date
| XKEEP | Keep indicator 000001 | 000000 |
| X - don't delete SESS| CHAR
| NODATA | No batch input 000001 | 000000 |
BKOND1 - Header Record
----------------------------------------------------------------------------------------| Field name | Description Length | Dec. |
| Report header
----------------------------------------------------------------------------------------| STYPE | Record type 000001 | 000000 |
| TCODE | Transaction code 000020 | 000000 |
| TCode = VK15
| KVEWE | Usage 000001 | 000000 |
| KOTABNR | Table 000003 | 000000 |
| Table e.g. 305
| KAPPL | Application 000002 | 000000 |
| KSCHL | Condition type 000004 | 000000 |
| CTyp e.g PR00
BKOND2 - Main Data Record
| Field name | Description Length | Dec. |
| Report header
----------------------------------------------------------------------------------------| STYPE | Record type 000001 | 000000 |
| VAKEY | VarKey 000100 | 000000 |
| DATBI | Valid to 000010 | 000000 |
| Valid to
| DATAB | Valid on 000010 | 000000 |
| Valid on
| KBETR | Amount 000015 | 000000 |
| KONWA | R/2 table 000005 | 000000 |
| KPEIN | R/2 table 000005 | 000000 |
| KMEIN | 000003 | 000000 |
| MWSK1 | Tax code 000002 | 000000 |
| KONMS | Scale UoM 000003 | 000000 |
| MXWRT | Amount 000015 | 000000 |
| GKWRT | Amount 000015 | 000000 |
| STFKZ | Scale type 000001 | 000000 |
| KZNEP | Exclusion 000001 | 000000 |
| LOEVM_KO | Deletion indic. 000001 | 000000 |
| SKONWA | R/2 table 000005 | 000000 |
BKOND3 - Scale Data Record
----------------------------------------------------------------------------------------| Field name | Description Length | Dec. |
| Report header
----------------------------------------------------------------------------------------| STYPE | Record type 000001 | 000000 |
| KSTBM | Quantity 000018 | 000000 |
| KONMS | Scale UoM 000003 | 000000 |
| KBETR | Amount 000015 | 000000 |
Sales Order Changed History Display
* * Sales Order Changed History Display * * You can execute the report by : * 1. Change Date * 2. User Name * 3. Sales Order Number * * Submitted by : SAP Basis, ABAP Programming and Other IMG Stuff * http://www.sap-img.com * REPORT ZSDCHANGE LINE-SIZE 132 NO STANDARD PAGE HEADING LINE-COUNT 065(001) MESSAGE-ID VR. TABLES: DD04T, CDHDR, CDPOS, DD03L, DD41V, T685T, VBPA, TPART, KONVC, VBUK. DATA: BEGIN OF ICDHDR OCCURS 50. INCLUDE STRUCTURE CDHDR. DATA: END OF ICDHDR. SELECT-OPTIONS: XUDATE FOR ICDHDR-UDATE, XNAME FOR ICDHDR-USERNAME, XVBELN FOR VBUK-VBELN. SELECTION-SCREEN SKIP. SELECTION-SCREEN BEGIN OF BLOCK BLK1 PARAMETERS: SUDATE RADIOBUTTON GROUP SNAME RADIOBUTTON GROUP SOBID RADIOBUTTON GROUP SELECTION-SCREEN END OF BLOCK BLK1. DATA: WFLAG, WCHANGENR LIKE CDHDR-CHANGENR, WUDATE LIKE CDHDR-UDATE, WNAME LIKE CDHDR-USERNAME, WVBELN LIKE VBUK-VBELN, WDEC1 TYPE P DECIMALS 3, WDEC2 TYPE P DECIMALS 3,
WITH FRAME TITLE TEXT-001. R1, R1, R1.
WDEC3 TYPE P DECIMALS 3, WDEC4 TYPE P DECIMALS 3. DATA: UTEXT(16) VALUE 'has been changed', ITEXT(16) VALUE 'has been created', DTEXT(16) VALUE 'has been deleted'. DATA: BEGIN OF ICDSHW OCCURS 50. INCLUDE STRUCTURE CDSHW. DATA: END OF ICDSHW. DATA: BEGIN OF ITAB OCCURS 10. INCLUDE STRUCTURE CDSHW. DATA: UDATE LIKE CDHDR-UDATE, USERNAME LIKE CDHDR-USERNAME, CHANGENR LIKE CDHDR-CHANGENR, VBELN(10), POSNR(6), ETENR(4), INDTEXT(200), END OF ITAB. SELECT * FROM VBUK WHERE VBELN IN XVBELN. CLEAR CDHDR. CLEAR CDPOS. CDHDR-OBJECTCLAS = 'VERKBELEG'. CDHDR-OBJECTID = VBUK-VBELN. PERFORM READHEADER. PERFORM READPOS. LOOP AT ITAB. CASE ITAB-TABNAME. WHEN 'VBPA'. IF ITAB-FNAME = 'KUNNR' OR ITAB-FNAME = 'LIFNR' OR ITAB-FNAME = 'PARNR' OR ITAB-FNAME = 'PERNR' OR ITAB-FNAME IS INITIAL. MOVE ITAB-TABKEY TO VBPA. SELECT SINGLE * FROM TPART WHERE SPRAS = SY-LANGU AND PARVW = VBPA-PARVW. IF SY-SUBRC = 0. REPLACE '&' WITH TPART-VTEXT INTO ITAB-INDTEXT. ENDIF. ENDIF. WHEN 'VBAP'. IF ITAB-FNAME IS INITIAL. REPLACE '&' WITH 'Item' INTO ITAB-INDTEXT. ENDIF. WHEN 'KONVC'. MOVE ITAB-TABKEY TO KONVC. SELECT SINGLE * FROM T685T WHERE SPRAS = SY-LANGU AND KVEWE = 'A' AND KAPPL = 'V' AND KSCHL = KONVC-KSCHL. IF SY-SUBRC = 0. REPLACE '&' WITH T685T-VTEXT INTO ITAB-INDTEXT. ENDIF.
ENDCASE. IF ITAB-INDTEXT(1) EQ '&'. REPLACE '&' WITH ITAB-FTEXT(40) INTO ITAB-INDTEXT. ENDIF. IF ITAB-CHNGIND = 'I'. REPLACE '%' WITH ITEXT INTO ITAB-INDTEXT. ELSEIF ITAB-CHNGIND = 'U'. REPLACE '%' WITH UTEXT INTO ITAB-INDTEXT. ELSE. REPLACE '%' WITH DTEXT INTO ITAB-INDTEXT. ENDIF. CONDENSE ITAB-INDTEXT. MODIFY ITAB. ENDLOOP. ENDSELECT. IF SUDATE = 'X'. SORT ITAB BY UDATE VBELN POSNR ETENR. ELSEIF SOBID = 'X'. SORT ITAB BY VBELN POSNR ETENR UDATE. ELSE. SORT ITAB BY USERNAME VBELN POSNR ETENR UDATE. ENDIF. LOOP AT ITAB. CLEAR WFLAG. IF SUDATE = 'X'. IF WUDATE NE ITAB-UDATE. SKIP. WRITE:/001 ITAB-UDATE, 023 ITAB-USERNAME, 037(10) ITAB-VBELN. WFLAG = 'X'. WUDATE = ITAB-UDATE. WCHANGENR = ITAB-CHANGENR. ENDIF. ELSEIF SOBID NE 'X'. IF WVBELN NE ITAB-VBELN. SKIP. WRITE:/001 ITAB-VBELN. WVBELN = ITAB-VBELN. ENDIF. ELSE. IF WNAME NE ITAB-USERNAME. SKIP. WRITE:/001 ITAB-USERNAME. WNAME = ITAB-USERNAME. ENDIF. ENDIF. IF WCHANGENR NE ITAB-CHANGENR. WRITE:/023 ITAB-USERNAME, 037(10) ITAB-VBELN. WFLAG = 'X'. WCHANGENR = ITAB-CHANGENR. ENDIF. IF WFLAG = 'X'. WRITE: 013 ITAB-CHNGIND,
049 ITAB-POSNR, 057 ITAB-ETENR, 065 ITAB-INDTEXT(60).
ELSE. WRITE: /013 ITAB-CHNGIND, 049 ITAB-POSNR, 057 ITAB-ETENR, 065 ITAB-INDTEXT(60). ENDIF. WRITE:/065 ITAB-F_OLD. WRITE:/065 ITAB-F_NEW. ENDLOOP. FORM READHEADER. CALL FUNCTION 'CHANGEDOCUMENT_READ_HEADERS' EXPORTING DATE_OF_CHANGE = CDHDR-UDATE OBJECTCLASS = CDHDR-OBJECTCLAS OBJECTID = CDHDR-OBJECTID TIME_OF_CHANGE = CDHDR-UTIME USERNAME = CDHDR-USERNAME TABLES I_CDHDR = ICDHDR EXCEPTIONS NO_POSITION_FOUND = 1 OTHERS = 2. CASE SY-SUBRC. WHEN '0000'. WHEN '0001'. MESSAGE S311. LEAVE. WHEN '0002'. MESSAGE S311. LEAVE. ENDCASE. ENDFORM. FORM READPOS. LOOP AT ICDHDR. CHECK ICDHDR-UDATE
IN XUDATE. CHECK ICDHDR-USERNAME IN XNAME. CALL FUNCTION 'CHANGEDOCUMENT_READ_POSITIONS' EXPORTING CHANGENUMBER = ICDHDR-CHANGENR TABLEKEY = CDPOS-TABKEY TABLENAME = CDPOS-TABNAME IMPORTING HEADER = CDHDR TABLES EDITPOS = ICDSHW EXCEPTIONS NO_POSITION_FOUND = 1 OTHERS = 2. CASE SY-SUBRC.
WHEN '0000'. LOOP AT ICDSHW. CHECK ICDSHW-CHNGIND NE 'E'. CLEAR ITAB. MOVE-CORRESPONDING ICDHDR TO ITAB. MOVE-CORRESPONDING ICDSHW TO ITAB. CASE ITAB-TABNAME. WHEN 'KONVC'. MOVE ICDHDR-OBJECTID TO ITAB-VBELN. MOVE ICDSHW-TABKEY(6) TO ITAB-POSNR. WHEN OTHERS. MOVE ICDSHW-TABKEY+3(10) TO ITAB-VBELN. MOVE ICDSHW-TABKEY+13(6) TO ITAB-POSNR. MOVE ICDSHW-TABKEY+19(4) TO ITAB-ETENR. ENDCASE. MOVE '& %' TO ITAB-INDTEXT. APPEND ITAB. CLEAR ITAB. ENDLOOP. WHEN OTHERS. MESSAGE S311. LEAVE. ENDCASE. ENDLOOP. ENDFORM. TOP-OF-PAGE. WRITE:/ SY-DATUM,SY-UZEIT, 50 'SALES ORDER CHANGE HISTORY', 120 'Page', SY-PAGNO. WRITE: / SY-REPID, 60 'SALES ORDERS STATISTICS'. SKIP. ULINE. IF SUDATE = 'X'. WRITE:/001 'Change Date', 013 'Time', 023 'User Name', 037 'Sale Order', 049 'Line', 057 'Sch No', 065 'Changes'. ELSEIF SOBID = 'X'. WRITE:/001 'Sale Order', 013 'Line', 021 'Sch No', 029 'Change Date', 041 'Time', 051 'User Name', 065 'Comment'. ELSE. WRITE:/001 'User Name', 015 'Time', 025 'Change Date', 037 'Sale Order', 049 'Line',
057 'Sch No', 065 'Changes'. ENDIF. ULINE. *--- End of Program
User Exits on Sales and Distribution Where to find the User Exits on Sales and Distribution along with functionality? To see the detail go to SPRO --- Sales and Distribution ---- System Modifications --- User Exits There you will find all the details by checking IMG Activity Documentation. You will have User exit for - Sales Document Processing. This IMG step describes additional installation-specific processing in sales document processing. In particular, the required INCLUDES and user exits are described. Involved program components System modifications for sales document processing affect different areas. Depending on the modification, you make the changes in the program components provided: - MV45ATZZ For entering metadata for sales document processing. User-specific metadata must start with "ZZ". - MV45AOZZ For entering additional installation-specific modules for sales document processing which are called up by the screen and run under PBO (Process Before Output) prior to output of the screen. The modules must start with "ZZ". - MV45AIZZ For entering additional installation-specific modules for sales document processing. These are called up by the screen and run under PAI (Process After Input) after data input (for example, data validation). The modules must start with "ZZ". - MV45AFZZ and MV45EFZ1
For entering installation-specific FORM routines and for using user exits, which may be required and can be used if necessary. These program components are called up by the modules in MV45AOZZ or MV45AIZZ. You will find all User Exits on Sales and Distribution along with functionality.
Basic Process of how Packing Works Let's say you want to pack a material shirt_jai in test_pack. Using MM01, create material type=packaging test_pack [SPRO] IMG-Logistics Execution-Shipping-PackingDefine Packaging Material Types Let's say JPAC. The settings that I chose: Plant determ. - Plant is entered manually in handling unit Pack. matl. cat. - Packaging materials Generate Dlv. Items - blank Number assignment - Number range interval 'HU_VEKP' IMG-Logistics Execution-Shipping-PackingDefine material group for packaging material Let's say JGRP IMG-Logistics Execution-Shipping-PackingDefine allowed packaging materials JGRP - JPAC MM02: Check settings for the materials First, test_pack Sales:General/Plant -> Matl. Grp. Pack. Matls: JGRP (Note) Sales:General/Plant -> Packaging Mat. Type: JPAC (Note) Basic Data 1 -> Material: JMAT Then, shirt_jai Sales:General/Plant -> Matl. Grp. Pack. Matls: JGRP Sales:General/Plant -> Packaging Mat. Type: Basic Data 1 -> Material: JMAT
VL01N Outbound Delivery -> Packing Enter the materials at top and at bottom (Select shirt_jai and Edit - Pack) This is how the basic process of packing works.
The "Packing Process" with an Example Example: You created a order for a material(R-1160 - hard disks) for a qty - 120 pieces. You need to create a delivery and A)pack 40 pieces each of the material are grouped together into larger cardboard boxes (PK-100 - shipping/packing material) and B)these 3 cardboard boxes are put into pallet (PK-095). Solution: A)Packing 40 pieces each of material (40 x 3 = 120 pieces) 1)Goto [VL02N] to change the delivery, you already created. Or you can do the following steps while you are creating a delivery also. 2)Go to "pack" icon. 3)In the upper section, enter the "packing material" (PK-100) 4)In the lower section, change the "partial quantity" to 40 of material R-1160. 5)Select both the lines of upper section and lower section and click the green ok. It generates a shipping unit/handling unit number. 6)Now, select both lines of upper & lower section & click the button "per part. qty" (New HU per part qty of material) Check: click "General Overview" icon to see whether it packed 40 pieces of material in 3 cartons. B)Packing all 3 cartons in one big carton(PK-095) 1) from above screen, click "pack HUs" (pack shipping unit) 2)enter the packaging material (PK-095) in the upper section and select this line. 3)select 3 lines of PK-100 in lower section since you want to pack them in PK-095. 4)selecting both lines, click "pack" icon. 5)Now all the 3 cartons(PK-100 with 40 pieces each of material) are packed in one big carton (PK-095). Check: "General overview" icon. Then "save" the delivery.
Difference between Condition Type Please explain the difference between Ek01 ( Actual Cost) and EK02 Calculated Cost. These are the condition type that will display the results of the unit costing for certain type of sales document. EK01 : If you use this condition type, the result of unit costing is issued to the first position on the conditions screen for the item. The value can be used as a basis for price determination. EK02: If you use this condition type, the result of unit costing is simply a statistical value which you can compare with the price. Please note the following points : 1) The condition type must have condition category 'Q' (costing). 2) The condition type must agree with the condition type defined for unit costing in the pricing procedure. I have a customer who is being offered two discounts ie k007 and k005, now I want to exclude k007 for the next 2 orders or so? I have set the exclusion indicator for the condition type,but still the condition is being accepted when I create a sales order. Am I missing something, how do I do it? I think u need to change the validity of the condition record for the condition type K007 defining it not valid for that particular 2 months. And also the settings of the Requirements as it is correct that it overrules the exclusion.
Accumulate the amount of condition types in accounting document To accumulate the amount of condition types in accounting document without affecting the pricing display in billing document. As an illustration :-
ZPXX 3500 ZDXX 1000ZWXX 500(all condition types are shown separately in pricing view) Journal: Dr Vendor 2000 Cr Sales 2000 (ZPXX - ZDXX - ZWXX) One way to do it is :Mark the condition types you want to group as statistical and remove the account assignment key. Create a subtotal in your pricing procedure that will add them together and put in the account assignment key for it. This way the individual components will still display on your pricing screen but FI will only get one posting.
Hiding Price Condition Types on a Sales Document Up to now you, you still cannot exclude certain condition types and subtotal lines from being processed or displayed in the condition screen by restricting the authorizations. You have to implement SAP Note No. 105621 - Authorization check for the condition screen
Creating New Pricing Procedure What is the transaction code for creating new pricing procedure and how to attach it to specific plant? You create PP in spro > Sales and Distribution > Basic Functions > Pricing > Pricing Control > Define and Assign Pricing Procedures > Maintain Pricing Procedures You can't attach PP to specific plant. Pricing Procedure is determined thru trx OVKK. The defining parameters for pricing procedure determination are: 1. SalesOrg 2. Distribution Channel 3. Division
4. Document Procedure (defined in Sales doc\Billing doc maintenance) 5. Pricing procedure assigned to customer (defined in customer master) Hope this helps. Sabir Reg pricing procedure. 1. Use transaction code v/07 to create a access sequence and assign tables based on which you want to carry on pricing as accesses. 2. Use transaction code v/06 to define condition type. It can be for base price, discount, freight etc., (Do assign relevant access sequence) 3. Use transaction code v/08 to define pricing procedure. 4. Assign this to your relevant sales area+ dpp+cupp. While specifying requirement, we can give reqt no.22 which specifies that plant has to be set. This is generally done for output taxes since output taxes depend upon the delivering plant. But directly there is no assignment between plant and pricing procedure. Hope this helps,
What is "alt cal type" & "alt base value" & "Requirement field" in the Pricing Procedure Can any one explain exactly what is "alt cal type" & "alt base value" and also " Requirement field" in the pricing procedure? The alternate base value is used as the calculation basis only, while the alternate calculation is used to modify the final value. For example, imagine you have a condition type ZZ01, with a condition record maintained (master data) for $100. Now, condition ZZ02 also exists lower in the schema, but with a rate of 10%. The standard calculation would result in a final value of $110. The alternate base value could say, "don't use $100 as the basis -- use the original price PR00 only, which was $90." Then, the final value would be $100 + (10% of $90) = $109.
The alternate calculation routine says, "ignore the 10% altogether. Instead, use an externally calculated 20%." Then, you end up with a final value of $100 + (20% of $100) = $120. Put them both together, and you could end up with $100 + (20% of $90) = $118. Now once again, Alternative Calculation Type: Normally if you want to calculate a value you have to use a calculation type for determinating the value. This calculation type is either addition, subtraction or multiplication. Similarly SAP also has got a default calculation type in the control data of the condition type. There you have the options of either Qty based , Fixed Amount Based or Percentage based. Here what happens is suppose if you define Your condition type that calculates the base price of a material on Qty based. Then the calculation will be done based on the quantity of the material. If the customer orders 10 Nos and you have maintained a unit price of 100 Rs for each material then the value determined is 1000 INR. Similarly if the discount condition type , you maintain the calculation type as %. This means if you maintain the value of 10 % in the condition record. Then this percentage is taken as the calculation type and the condition value is determined. In some cases you have to forego the default calculation types and use the customer specific method for calculating a value. For ex if you are calculating the Freight charges for a Material . it depends on so many criteria like, the weight, volume and also the minimum amount etc etc, in those cases, you forego the default value and then use the alternative calculation type in calculating the condition value against the particular condition. Alternative Condition Base value : If you have to calculate any value then you have to have a base value for it. For ex if you want to calculate the discount of 10 % for a material then you have to have a base value on which this 10% is calculated. Normally you take the condition value of the base price of the material to calculate the value. Now you don't want to take the base value and take other values as base value which are derived on some formulae. So you create a routine which will do the mathematical operations in the routine and derive you a value which is now used as the base value for calculating the condition value for a particular condition type. Requirement: A factor in the condition technique that restricts access to a condition table. The system
only accesses a condition table to determine the price if the requirement specified has been met. Example: The system uses an access sequence to determine the price of a material. One of the accesses in the sequence contains the requirement "in foreign currency." The system only uses the table behind this access if the sales order for which the price must be calculated is in a foreign currency.
Re-pricing in a Quotation How can I, or am I able to find anything on a way of RE-Pricing be done in a QUOTATION? You can always 'Update" pricing manually in a quotation the same way you do in a sales order, either in create or change modes. Menu path Edit --> New Pricing or press the 'Update pricing' button on the item conditions tab. If you are asking how to reprice a quotation when it converts into a sales order, that can be done with the copy controls of the Item Category. IMG: Sales & Dist --> Sales --> --> Maintain Copy Control for Sales Docs --> Sales Doc to Sales Doc (transaction vtaa). Just choose the combination of documents and the respective item category. The field you need to be concerned with is "Pricing type". However, from a business process perspective it makes absolutely NO sense to reprice a quotation when converting to a sales order. After all, the entire point of using quotations is to firm up details like pricing before creating the sales order
Quantity Based Discounts in Bulk Quantities Sales You're looking to implement quantity based discounts in 4.6c. You are trying to sell items in specific bulk quantities, and only give the discount for specific quantity intervals. For example, if a customer orders 1 piece, 2 pieces, 3, etc. of part ABC, the price is $100. If the customer orders 10 pieces of part ABC, the price is $50. However, this is not only a standard minimum quantity discount. If the customer tries to order 11 pieces, 12, 13, etc. it should return $100 again. The only values for which $50 should apply are 10, 20, 30, etc. - multiples of the bulk quantity 10.
You have discussed changing your part number to reflect a bulk qty of 10, however you have in house consumption that is allowed to consume only 1 part at a time. You would vastly prefer to keep one part number that you order from the supplier, consume internally and ship externally. You are fairly certain there is basic functionality that covers this, but you're just not sure where to start. Taking your requirements literally. Standard SAP scale pricing will not do it in that you only want the reduced price to come into effect when the order quantity is multiple of some bulk factor. It is agreed with that creating a separate material number is not a good idea. You can try this :1. Define/Select a UOM for selling in bulk (i.e. cas, pallet, box whatever) 2. Maintain UOM conversion between your base UOM and this new UOM 3. Configure you bulk pricing condition type by usual means (it should be a base price rather than discount). 4. Place this new bulk price behind your normal "PR00" price in the pricing procedure 5. Create a new condition base value routine via VOFM where you check XKWERT to see if it is a whole number. If it is not then set XKWERT to zero. 6. Assign this new routine to your bulk price condition in your pricing procedure in ALT condition base value column. 7. Maintain bulk price conditon record in the Bulk UOM. That should do it.
Determine Sales Price with Shipping Point You are trying to use shipping point as a key field (with sales org. distribution channel and ship-to party together) to determine the sales price. You created a condition table with the above key fields, and maintained the relevant setting (access sequence, condition type and pricing procedure). There is an error message in the sales order pricing analysis ("access not made" in the shipping point field). In the access sequence, you found that the shipping point field's document structure is KOMK. Can you put to item level field in the condition table and access sequence? Structure KOMK refers to header of the sales order, but shipping point of course is on item level.
You'll have to do some settings to reach your goal, it is possible. Step 1 Append structure KOMP. Do this by changing through SE11 the table KOMPAZ. This is the include for structure KOMP. Add a component e.g. ZZVSTEL with component type VSTEL. Save, activate. If you want to make more points, assign search help H_TVST to the component. Ask a programmer if you don't understand this part. Step 2 Change user exit MV45AFZZ. Say there that field ZVSTEL should be filled with information from your shipping point. Do this under part FORM USEREXIT_PRICING_PREPARE_TKOMP. The coding should be like tkomp-zzvstel = vbap-vstel. Save, generate. Step 3 Make a new table as you did before, but first maintain your new field in Condition: allowed fields. When you create your new table you will see you have two shipping points. With the button technical view you can check which one ZZVSTEL or VSTEL. Step 4 Finish with the steps you did before. That was ok. Now, you will see in your sales order that the shipping point is filled with information.
Pricing date based on delivery date Used transaction VOV8. This configuration is by order type. There is a field called proposal for pricing date. There you can select pricing date as requested delivery date. A - Proposed pricing date based on the requested dlv.date (Header) This control is set at the document level as oppose to the condition type level (PR00). That means your other condition types such as surcharges and discounts are also determined using the requested delivery date.
If your requirement is for PR00 to alone to be priced at delivery date then this will not work.
Pricing date based on delivery date Used transaction VOV8. This configuration is by order type. There is a field called proposal for pricing date. There you can select pricing date as requested delivery date. A - Proposed pricing date based on the requested dlv.date (Header) This control is set at the document level as oppose to the condition type level (PR00). That means your other condition types such as surcharges and discounts are also determined using the requested delivery date. If your requirement is for PR00 to alone to be priced at delivery date then this will not work.
How pricing date is determine in the sales order and billing document? Where is the setting? The pricing date is proposed based on the setting you make in the Sales document configuration. ( T code : VOV8) You have a field" Prop.f.pricing date " in the Requested delivery date / pricing date / purchase order date segment. Then you can choose the follwoing options: Blank - Indicates the current date as the pricing date A - Indicates the date based on the requested delivery date B - Indicates the date based on the order validity start from date And the pricing in the billing document is copied from thte sales order / Delivery document.. It again depends on the setting u have in the copy control from order - billng or delivery billing. In the copy control, in the item settings you have two fields relavant for this. One is pricing source and the other is pricing type.
The pricing sources are generally the order. But if you want you can change it to other values mentioned in the drop down, but this values have no effect if the pricing type is B. Any other value other than B in the pricing type will take the reference document price mentioned in the pricing source field. but for the pricing type B. The new price is determined in the billing order.
Report to Check the Entered Pricing Condition Price Which is the best transaction code to check the Pricing condition price entered in "VK11"? Other than "VK13", to display the price, you can use V/LD - Execute Pricing Report to check the prices entered into the Pricing Master. Normally Pricing Report - "07 Cust.-specific Prices with Scale Display" will do. Other Pricing Reports you can tried are these: -------------------------------------------------------------------------|LR|Report title | ------------------------------------------------------------------------|01|Comparison of Price Lists Without Scale Display | |02|Comparison of Price Groups Without Scale Display | |03|Incoterms with Scale Display | |04|Incoterms Without Scale Display | |05|Price List Types Without Scale Display | |06|Price List Types with Scale Display | |07|Cust.-specific Prices with Scale Display | |08|Cust.-specific Prices W/out Scale Display | |09|Material List/Material Pricing Group with Scale Display | |10|List Mat./Mat.Pricing Groups Without Scale Display | |11|Price Groups With Scale Display | |14|Taxes |
|15|Material Price | |16|Individual Prices | |17|Discounts and Surcharges by Customer | |18|Discounts and Surcharges by Material | |19|Discounts and Surcharges by Price Group | |20|Discounts and Surcharges by Material Group | |21|Discounts and Surcharges by Customer/Material | |22|Discounts and Surcharges by Customer/Material Group | |23|Discounts and Surcharges by Price Group/Material | |24|Discounts and Surcharges by Price Group/Material Group | |25|VAT/ATX1 | |26|Canada/USA | |27|I.E.P.S Mexico | |28|Conditions by Customer | |30|Conditions by Customer Hierarchy | |31|Price List with Release Status | |AC| | |AD| | -------------------------------------------------------------------------Fast Links:
Mass Update of condition pricing You can update the condition pricing for a range of sales order. For e.g. if you create sales order for 15 months or so, and at the beginning of each year, you have to update the prices for lots of sales orders. Other than using VA02 and make an Update of the conditions at item level which is a big work because you will have lots of open sales order after so many months. Use VA05, select your Orders and on the result screen :-
click Edit- > Mass Change -> New Pricing (menu). or if you don't want to do that Online, write your own abap report and use Function SD_BULK_CHANGE (check where-Used at SE37, Trace VA05 on how to fill the parameters, Function MPRF => New Pricing)
Make Material Master Price of a material as sales price automatically The first method is not to set the pricing condition VPRS as statistical. Simply remove PR00 and it will work fine if you always use VPRS as your pricing base inside the pricing procedure. VPRS will reads both prices based on the price control in the material master. Price control S for standard price. Price control V for moving average price. It is this simple if you do not have any other "Prices" in the price procedure. However, if you are using one pricing procedure where for some items you price using VPRS and some others using PR00, then you should use requirement routines to enable the correct price condition type at the right time. The second method involves more work as you need to write a formula (VOFM) to get that information. This is how it goes :1. Set VPRS to be the first step in the pricing procedure and to be subtotal B (as standard). 2. Set PR00 with alt. calc. type formula, which sets the value of PR00 to be equal to the subtotal B. The routine (created with transaction VOFM) is: RV64A901 FORM FRM_KONDI_WERT_600. XKWERT = KOMP-WAVWR. ENDFORM.
The pricing procedure than looks like that: Step 1 VPRS statistical, subtotal B, reqt 4 Step 2 PR00 Altcty 600
Customer discounts on effort only -----Original Message----Subject: Customer discounts on effort only Hi All, We have a requirement of giving a discount to customer based on the total amount invoiced so far (across financial years). Where do we set this up? We have seen so far the discounts are calculated based on the value of the current invoice. The discount should be on a graduated scale basis for example 0 - 100000 No discount 100000 - 200000 5% 200000 - and above 10% This means that discount would only start after the customer's net sale value crosses 100000. For example, if the customer has been billed for 99000 and the current invoice is for 3000, a discount of 5% should be given on 2000 i.e. 100. Another complication is that, the discount is not based on the total amount billed so far, but only on the effort billed and not on reimbursements (like airfares, living expenses, visa charges, beeper charges etc). The discount applies only to the effort and not to the reimbursements. In the above example (invoice of 3000) say the effort billed is only 1500, the rest being reimbursements. The discount is only on the 500. (the rest being taken up by the lower limit for eligibility of 100000) For example the customer might have been billed say 150000 so far but actual effort billed might be only 90000, the rest being reimbursements of actual costs and hence the customer is not eligible for the discount. Kindly help, -----Reply Message----Subject: RE: Customer discounts on effort only Hi,
The solution for this is Using rebate condition types and suitable condition records. Of this to handle your first problem that is the rebate has to be applied only on the "effort" you have to set up a line in the pricing procedure which gives the rebate basis i.e the value to be used for rebate cond types. This I believe solves your problem of rebate only on effort. Your second problem i.e the discount should start getting applied automatically when it reaches the first scale for which the values span few financial years. This I am not really sure whether it can be made possible in the invoice itself. But a work around is not giving the discount directly in the invoice but settling it against the rebate agreements by Credit notes periodically. Hope it helps. Thanks -----Reply Message----Subject: RE: Customer discounts on effort only Hi Arent we looking at rebate agreeement. That appears to be a straightaway solution to your problem. You activate the sales organization and the payer for that Regards -----Reply Message----Subject: RE: Customer discounts on effort only I am in SAP R/3 rel.30F. We have 2 options to meet your requirement. 1. Using scale in condition type ( tcode V/06 ), choose scale basis G.Scale based on a formula ( be: your based amount is invoice ). Define scale formula. You need ABAPER to define it. 2. Using routine in Alt.calc.type ( tcode V/08 , Maintain Pricing Procedure ). Here, you also need ABAPER to create routine. hope this help
Steps to Create Commission for Agent For creating commission agent, you have to follow below steps.
1) Establish Partner Functions for the Commissionee(s) Menu Path: TOOLS ->; BUSINESS ENGINEER ->; CUSTOMIZING ->; SALES AND DISTRIBUTION ->; BASIC FUNCTIONS ->; PARTNER DETERMINATION ->; DEFINE PARTNER FUNCTIONS Transaction Code: VOPA 2) Assign the Partner Functions to Partner Procedures Menu Path: TOOLS ->; BUSINESS ENGINEER ->; CUSTOMIZING ->; SALES AND DISTRIBUTION ->; BASIC FUNCTIONS ->; PARTNER DETERMINATION ->; DEFINE PARTNER FUNCTIONS Transaction Code: VOPA 3) Create a Partner Procedure for the Commissionees Menu Path: TOOLS ->; BUSINESS ENGINEER ->; CUSTOMIZING ->; SALES AND DISTRIBUTION ->; BASIC FUNCTIONS ->; PARTNER DETERMINATION ->; DEFINE PARTNER FUNCTIONS Transaction Code: VOPA 4) Create New Customer Account Group(s) for Commission Agents Menu Path: TOOLS ->; BUSINESS ENGINEER ->; CUSTOMIZING ->; LOGISTICS GENERAL ->; LOGISTICS BASIC DATA: BUSINESS PARTNERS ->; CUSTOMERS ->; CONTROL ->; DEFINE ACCOUNT GROUPS AND FIELD SELECTION FOR CUSTOMER Transaction Code: OVT0 5) Assign the Partner Functions to the Customer Account Group(s) Menu Path: TOOLS ->; BUSINESS ENGINEER ->; CUSTOMIZING ->; SALES AND DISTRIBUTION ->; BASIC FUNCTIONS ->; PARTNER DETERMINATION ->; DEFINE PARTNER FUNCTIONS ->; GOTO ->; PARTNER FUNCTIONS ->; ENVIRONMENT ->; ACCOUNT GROUP ASSIGNMENT Transaction Code: VOPA 6) Assign the Partner Functions to the Partner Procedure for the Sales Document Header Menu Path: Tools ->; Business Engineer ->; Customizing ->; Sales and Distribution ->; Basic Functions ->; Partner Determination ->; Define Partner Functions Transaction Code: VOPA 7) Assign the Partner Functions to the Partner Procedure for the Sales Document Item (OPTIONAL) Menu Path: TOOLS ->; BUSINESS ENGINEER ->; CUSTOMIZING ->; SALES AND DISTRIBUTION ->; BASIC FUNCTIONS ->; PARTNER DETERMINATION ->; DEFINE PARTNER FUNCTIONS Transaction Code: VOPA 8) Edit the Pricing Communication Structure (KOMKAZ) to Hold the New Functions (Client Independent)
Menu Path: Menu Path: TOOLS ->; ABAP WORKBENCH ->; DEVELOPMENT ->; DICTIONARY Transaction Code: SE11 9) Edit MV45AFZZ – userexit_pricing_prepare_tkomk (Client Independent) Menu Path: TOOLS ->; ABAP WORKBENCH ->; DEVELOPMENT ->; ABAP EDITOR Transaction Code: SE38 10) Edit RV60AFZZ - userexit_pricing_prepare_tkomk (Client Independent) Menu Path: TOOLS ->; ABAP WORKBENCH ->; DEVELOPMENT ->; ABAP EDITOR Transaction Code: SE38 11) Edit MV45AFZB - userexit_new_pricing_vbkd changing new_pricing (Client Independent) Menu Path: TOOLS ->; ABAP WORKBENCH ->; DEVELOPMENT ->; ABAP EDITOR Transaction Code: SE38 The following code should be inserted into program MV45AFZZ to allow the system to re-execute pricing if the user makes a change to the relevant partner function (alteration, addition, deletion). 13) Add the KOMKAZ Fields to the Pricing Field Catalog (Client Independent) Menu Path: TOOLS ->; BUSINESS ENGINEER ->; CUSTOMIZING ->; SALES AND DISTRIBUTION ->; BASIC FUNCTIONS ->; PRICING ->; PRICING CONTROL ->; DEFINE ACCESS SEQUENCES ->; MAINTAIN ACCESS SEQUENCES Transaction Code: OV24 14) Create Condition Tables (Client Independent) Menu Path: TOOLS ->; BUSINESS ENGINEER ->; CUSTOMIZING ->; SALES AND DISTRIBUTION ->; BASIC FUNCTIONS ->; PRICING ->; PRICING CONTROL ->; DEFINE ACCESS SEQUENCES ->; MAINTAIN ACCESS SEQUENCES Transaction Code: V/03 15) Create an access sequence containing the new tables (Client Independent) Menu Path: TOOLS ->; BUSINESS ENGINEER ->; CUSTOMIZING ->; SALES AND DISTRIBUTION ->; BASIC FUNCTIONS ->; PRICING ->; PRICING CONTROL ->; DEFINE ACCESS SEQUENCES ->; MAINTAIN ACCESS SEQUENCES Transaction Code: V/07 16) Create a new condition type Menu Path: TOOLS ->; BUSINESS ENGINEER ->; CUSTOMIZING ->; SALES AND DISTRIBUTION ->; BASIC FUNCTIONS ->; PRICING ->; PRICING CONTROL ->;
DEFINE CONDITION TYPES ->; MAINTAIN CONDITION TYPES Transaction Code: V/06 17) Add the Condition Type to the Pricing Procedure Menu Path: TOOLS ->; BUSINESS ENGINEER ->; CUSTOMIZING ->; SALES AND DISTRIBUTION ->; BASIC FUNCTIONS ->; PRICING ->; PRICING CONTROL ->; DEFINE AND ASSIGN PRICING PROCEDURES ->; MAINTAIN PRICING PROCEDURES Transaction Code: V/08 11) Create Commsission Report ZZCOMMISSION (Client Independent) Menu Path: TOOLS ->; ABAP WORKBENCH ->; DEVELOPMENT ->; ABAP EDITOR Transaction Code: SE38
SD Questions About Pricing Condition The Most Important Tips in Pricing For SAP SD Module to crack interviews... Whenever we define our pricing procedures, we remain least interested in creating our own Condition Types,Condition Tables & Access Sequences. What we do is, we just define our own pricing procedures by using the existing condition types (i.e: PR00, K004, K007, KA02, KF00 etc.) & then assign that Pricing Procedure with " Sales Area, Document Pricing Procedure & Customer Pricing Procedure " . After that we put the values against each Condition Types, mentioned in our Pricing Procedure by using the T-Code "VK11". But we also need to know about the Condition Tables, Condition Types & Access Sequence Creation. So for that purpose we have to use the following T-Codes respectively : "V/05", "V/06" & "V/07". Now it will become easy to create the same. Also to inform that, using T-Codes is more smarter than following paths through IMG screen. Utsav Mukherjee - [email protected]
What is the difference of VK11 and VK31 (condition records)? My condition type is PR00 and Access sequence is PR02. And in this access sequence table 304 is available. Now when I was entering the PR00 in VK31 it shows error Table 304 is not defining for the condition type PR02. But when I was entering the PR00 at VK11 it is accepting it. Difference between VK11 and VK31 - if you go through the menu path you will get the vk 31 as condition record from the tamplets whereas vk11 as simple condition record. In
VK11 you can store condition record for more than one condition type. This means you can have same condition record for different condition types.This feature is given to enhance the system's performane and not to create the duplcation of the work for each condition type. Again system is not allowing to store the record in the vk31 for the condition type pr00 and access sequence pr02.This is because if you see this ac seq cointains two accessses 20 and 30 having the same table no.But you see there is the difference between the technical view of it for transfering the data from document field and condition field,so you can not maintain the data at VK31. What is the difference between Header condition and Item condition? I know item condition applies to each item in a sales document. Header condition can only be applied to an entire document. Difference between header and item condition - as YOU CORRECTLY SAID HEADER CONDITION IS APPLICABLE FOR THE WHOLE DOCUMENT where as item is for item.Ex-Say fright is dependent on the total weight of all the items in the documents then header condition adds on weights of all items and calculates the record accordingly. You have two different types of the header conditions. a) In one you can duplicate the same value throughout the document for each item.Say discount 2% at header level which is also applicable to all the items b)Second is the accumulation of the values of all the item at the header level,as earlier explained for the weight/fright. These differenes are controlled through the indicator of group condition in the cond.type configuration. And so obviously header condition can not have the condition record and hence access sequence. SAP SD Tips by : Vishwajit Disallowing Condition Types - How I can accomplish the following: Be able to DISALLOW Z0BP Condition type to be negative ( Invoice Block) You can modify condition type from customising; Sales and Distribution->Basic Functions->Pricing->Pricing Control->Define Condition Types->Maintain Condition Types Change condition type ZOBP's plus/minus indicator to "A" which means only positive is allowed. *-- Arvind Rana
In pricing procedure there are column such as requirement, sub total altclty, altbv, accurals. What are these and where we calculate all these values which we put. 1. Requirement: Denoted by nos and maintained in VOFM, this is a condition required for a particular condition type to be executed. Eg. PR00: req 2 ie item relevant for pricing VPRS/EKO1: req 4 ie cost Rebate BAO1 Req 24/Req 25 etc 2. Subtotal: this represents where a which table a value is stored, which can be processed for further calculation. Eg. for PR00, if this value is to be used for credt check of a customer, we mark the subtotal as A. 3 Alternate Calculation type: this is also denoted by numbers and maintained in VOFM. Eg. Suppose for 45 units , each unit is charged $100 per unit, the order value comes out to be $4500, that is calculation is done as per unit price, if the client wants calculation type to be based on volume or wieght, alternate calculation type can be configured. 4. Alternate base value: Denoted by no. and maintained in VOFM. Eg, if the pricing scale is maintained and pricing for 45 units comes under the scale of $100 per unit., the base value is 45 units, but if the client wants a standard base value in some casesto be assumed inspite of maintaining the scale, an alternate base value is confihured, that is the base value based on which the order value is to be calculated changes. 5. Accruals: Accruals are maintained for rebate agreements, it constitutes the total accumulated value which customer has earned through rebate, one the rebate for certain amount is settled the amount from the accruals get deducted. *-- Nitin
Add a Field To New Condition Table in Pricing Add a field to a new condition table in Pricing (Condition Technique):I will explain you the process with below example...Please follow steps in below sequenceTry to add the filed from the field catalog. In case the required combination field is not there, you can add the field through the following process to filed catalog and create the condition table. It is most common that one or other time we need to use this function while configuring multi tasking & complex Pricing Architecture.
Here I'm giving a simple guide to add fields to the Pricing Field Catalogues: For example you want to use field PSTYV ('Sales document item category') that is included in structure KOMP ('Pricing Communication Item') as a key for a condition table. When you create a condition table (Transaction V/03), however, the system does not propose the field in the field catalog. Condition access, field catalog, allowed fields, KOMG, KOMK, KOMP, KOMPAZ, KOMKAZ, PSTYV are the other terms which we need to know about, to add Fields. Reason and Prerequisites: For technical reasons, field PSTYV was included in structure KOMP, however, not in structure KOMG ('Allowed Fields for Condition Structures'). Proceed as follows: 1. Call up the ABAP Dictionary (Transaction SE11) and create data type ZZPSTYV. Choose PSTYV as a domain.As a short text, you can use, for example, 'ZZ - sales document item category' and as a field label, you can use the field labels of PSTYV.Save, check and activate your entries. 2. Call up structure KOMPAZ in the ABAP Dictionary (Transaction SE11) in the change mode and make the following entry: Component Component type: ZZPSTYV ZZPSTYV Save, check and activate the change you made. 3. Note:Because of the change in structure KOMPAZ, field ZZPSTYV is now known in structures KOMG and KOMP because structure KOMPAZ is included in both structures. 4. Call up Transaction SPRO. Navigate to 'Sales and Distribution -> Basic Functions -> Pricing -> Pricing Control' and execute 'Define Condition Tables'. Choose 'Conditions: Allowed fields' and include ZZPSTYV as a new entry. 5. Note:Now you can use field ZZPSTYV as a key field when you create a condition table Axxx. 6. Supply the new field you defined by including the following source code line in USEREXIT_PRICING_PREPARE_TKOMP: MOVE xxxx-PSTYV TO TKOMP-ZZPSTYV. In order processing you find the user exit in Include MV45AFZZ, and in billing document processing you find it in Include RV60AFZZ. Consider that you can also use this note as a help if you want to use other customerspecific fields as key fields in a condition table.
For header fields, use structure KOMKAZ instead of structure KOMPAZ and USEREXIT_PRICING_PREPARE_TKOMK instead of USEREXIT_PRICING_PREPARE_TKOMP. For more information, see Transaction SPRO via the path 'Sales and Distribution -> System Modifications -> Create New Fields (Using Condition Technique) -> New Fields for Pricing' and OSS Note 21040.
Header Condition and Group Condition What are header conditions? Header conditions are those which appear in the header level of any sales order. these conditions are to be entered manually and get distributed automatically and the basis for distribution are taken from the NET VALUE of items mentioned at item level. When we go to the conditions section in a sales order, where the details of pricing is mentioned, here we add these conditions. Whenever any Header Condition is used, it overrides the PR00 condition type. Examples of header condition. - HA00 - % Based Header Condition. - RB00 - Absolute or numeric value which applies to all items. - HB00 - Numeric value or Absolute value.
*-- Vivek Chokshi
What is the difference between group condition and header condition? Group Condition: You can use this is feature of a condition type to apply price or discount for a material based on common property. Header Condition: This is a manual condition which you apply to header (Condition screen) of a sales document. This amount is applicable to all items. Usage of this feature is to apply price / discount for a specific group of materials. 1. You maintained a discount based condition record fbased on material group ( = 01 for example). You maintained scales also. Qty 1 - 10 11 - 50 51 - 150
Discount Rs. 100.00 Rs. 105.00 Rs. 110.00 etc.
2. You are creating a sales order for a customer with five different items with different quantities as below ITEM 1 - 25 No's ITEM 2 - 3 No's ITEM 3 - 12 No's ITEM 4 - 27 No's ITEM 5 - 62 No's All the material is having the material group = 01. 3. While calculating the discount, because of this group condition, system add the quantities of items which have material group = 01. In the above example total quantity is = 109. System apply a discount of Rs. 110.00 to each item irrespective of the individual quantities. 4. If you have not activated the group condition feature, system determines the discount value based on individual item quantity which is as below. Discount ITEM 1 - 25 No's Rs. 105.00 ITEM 2 - 3 No's Rs. 100.00 ITEM 3 - 12 No's Rs. 105.00 ITEM 4 - 27 No's Rs. 105.00 ITEM 5 - 62 No's Rs. 115.00 5. Is it clear now. Just try a sales order and see the out come Procedure to Test: 1. Create 3 materials. Maintain Material Group of each item is same. 2. Activate the condition type as a group condition. 3. Create a condition record for this condition type with scales. 4. Process a sales order for a customer with these three material with different quantities.
Steps Involved In Condition Technique What are the 8 steps involved in condition technique? By: Rohit Joshi It starts with an understanding of the factors that influences the Price. Lets say it depends on Customer and Material. With this understanding now we will start with the Table where we will pass the above parameters. There is a table 5 which already has Customer and Material so we can now copy and rename it or use the same table in our Pricing Procedure. T Code VOK0
Step 1. Define/Choose your Table (with the requirement parameters that influence the price) Step 2. Define your Access Sequence and include the above Table in your Access Sequence Step 3. Define your Condition Type (There are four Price Types Basic Price, Discount, Freight and Tax) and include your Access Seq. Its always better to copy the Price Types provided by SAP. Step 4. Now comes your Pricing Procedure where you include include Condition Types and format. Step 5. Now comes Procedure Determination where you specify the Document Pricing Procedure and Customer Pricing Procedure along with Sales Organisation, Distribution Channel. Step 6. Maintain Condition Records for your Condition Types I guess you can make it 8 Steps by dividing some of the main steps. Few important things to note is following.. 1. XD01 - Create Customer - Always ensure that you pick the right Customer Pricing Procedure from here. 2. VA01 - Sales Order - Ensure that you have the right Document Pricing Procedure from here 3. While Creating Access Sequence, check your Fields and ensure that they appear with any warning (Highlighted in Red) 4. Do not forget to mention your Access Sequence while defining your Condition Type 5. Always remember that your Procedure Determination has only Basic Price as Condition Type 6. Do not forget to mention the Range (From To) while creating your Pricing Procedure. I made most of the mistakes that appear above. Hope it helps.
Sales Order Freight Condition In Header Condition ERP SAP ==> SD SAP Common questions: We are using the Freight in Header Condition. I maintained two line items in the Sales Order. So the Header freight is splitting irregularly for two line items (in item conditions) . How it is happening? Any formula is there? Header Conditions - Automatic pricing does not take header conditions into account; you can not create condition records for them in the standard system.
Header conditions are entered manually in order processing. R/3 includes the following header conditions: - Percent discount (HA00) - Absolute discount (HB00) - Freight (HD00) - Order value (HM00) Header Condition: If this condition is marked as a header condition, it is possible to enter the condition type in the header condition screen. Checks for changing the condition manually are unaffected by this. Group Condition: Group conditions are helpfull incase of discounts. If group condition is selected then the discount percentage or quantity is applicable for the total sum of the quantity in the PO for those materials belonging to the same material group. Suppose if two materials of same matl grp have discounts for 100 qty and above but in PO if the two matls are bieng procured for 50 qty then they cant avail discounts but if group condition is selected then the sum of the quantity of both matl of same matl group is considered (50 + 50) and discount can be availed for 100 qty. Further Group condition: Indicates whether the system calculates the basis for the scale value from more than one item in the document. The nature of header condition is that whatever value you are giving in sale order / billing, line item wise, it will be distributed proportionately. If you access V/06 and the header condition type, you can see that the condition type - does not have any access sequence - field Group condition is selected Normally Freight Header condition like condition type "HD00" is calculated on the basis of weight. This is a Manual condition and you have to enter it in the header screen. It will be proportionately distributed on each item on the basis of weight. If you will uncheck the group condition field, the same freight amount will be copied to each item, possibly irrespective of different weight which may not be logical. That is the standard behaviour of the header condition type. Based on whether the group condition field is ticked on or off, it will either split the header condition value to the items on pro-rata basis or it will just duplicate the header value to all the items. What you are experiencing with Fixed Amount Header conditions is standard behaviour. Please see below Notes: - 876617 FAQ: Header conditions / Header condition screen - 317112 Behavior of conditions w/ calculation rule B changed - 485740 Conditions with fixed amount in copy activities
To achieve what you wish (absolute amount), solution is in the below Notes: - 84605 Transfer absolute amount condition to billing doc. - 25020 Value changes during over/underdelivery - 25144 Freight conditions during milestone billing
How To Use Condition Exclusion Type In SO What is meant by condition exclusion for Condition types and records? Condition Exclusion The system can exclude conditions so that they are not taken into account during pricing in sales documents. Material 4711 costs 150 USD. Some customers receive a discount of 10 USD per 100 pieces. However, a specific customer can buy the material for 100 USD. Since this is a particularly good price, the customer should not also have a discount of 10 USD per 100 pieces. Therefore, this discount is to be excluded from pricing. To do this, you must follow two steps: You must set a condition exclusion indicator for the price. You can do this in two ways: If you want to set the condition exclusion indicator a follows then you specify it: - for all condition records of a condition type (e.g. with condition type PR00) when defining a condition type in SD Customizing - for an individual condition record (e.g. only for material 4711) in the detail screen of a condition record (in the Condition exclusion field) You must set a condition for the discount in the pricing procedure in Customizing for sales. If this condition is set, the discount is not valid if the condition exclusion indicator is set. Condition 2 is available in the standard R/3 System. The condition exclusion indicator is not valid for condition supplements. This means that if a condition record contains condition supplements they will be taken into account during pricing. Condition Exclusion Group –
In any normal situation there could be more than one condition type in a pricing procedure offering a discount to a customer. Should the discounts be automatically determined, there is the risk that the customer will receive all the relevant discounts and thus purchase the product for a lower price than he should. By using ‘condition exclusion groups’ you can ensure that the customer does not receive all the discounts, but instead only receives the best of the available discount condition types. Menu path – IMG - Sales & Distribution - Basic functions – pricing – condition exclusion – condition exclusion for groups of conditions (OV31). A condition exclusion group is merely a grouping of condition types that are compared to each other during pricing and result in the exclusion of particular condition types within a group or entire groups. It is important to note that the condition types you want the system to compare must exist in the pricing procedure and must have valid condition records created for them. If for example, a sales order is created using the pricing procedure that the exclusion group is assigned to, you can see that the condition offering the most favorable discount to the customer is represented in the pricing procedure. For instance, condition type K007 has offered a discount of 10% off the sale price or a real value of $30, while another condition type K005 has offered a real value discount of $10. The system then takes the best discount for the customer between the two, which is K007 and makes the other discount K005 inactive. This can be seen by double clicking on the condition type K005, where you can find a entry saying ‘Inactive A condition exclusion item’. There are four possible methods of using condition exclusion groups – A – best condition between the condition types B – best condition within the condition types C – best condition between the two exclusion groups D – exclusive E – least favorable within the condition type F – least favorable within the two exclusion groups Configuring ‘Condition Exclusion Groups’
First step is to define a ‘condition exclusion group’ by using a four character alpha numeric key. Next step is to assign the relevant condition types to the exclusion groups such as discount condition types, freight condition types. After completing the assignment of the condition types to the exclusion group, proceed with assigning the condition exclusion group to the relevant pricing procedure. After selecting the pricing procedure for which you want the condition exclusion to be active, select the folder ‘Exclusion’ where you can assign the relevant condition exclusion procedure to the relevant condition exclusion group. When using the condition exclusion group to find the best condition record in a condition type – only use one condition type per exclusion group. The most important thing to remember here is to “deactivate” the Exclusive Indicator on the access sequence assigned to that condition type. Otherwise, the system will merely find the first condition record and stop searching for other records.
Pricing Report & Condition Index What is difference between pricing report & condition index? Pricing Report: A Pricing report basically helps to get the list of all the pricing details which we have maintained in the system. We can get details of all the condition types including the scales. We can get the details as per our requirement i.e., Sales org/Dc/Division/Plant /material etc wise. The selection criteria would be as per the Key combination which you select in the IMG screen You get following information from pricing report. 1. It informs you about the customer specific price agreements that were made within a certain period 2. From pricing report you can know which condition records exist for freight charges 3. Which condition records exist for customers in a particular region or country You can create your own pricing reports with V/LA. Also V/LD is very useful. This can be customized. The sales personnel use it to
1. get information for price (discounts) that existed at previous period (Say June 200X) 2. Inform potential buyer about the current price (and discounts) 3. Review price and discounts. Though all the above T Codes and there are many More standard SAP Reports have very high utility, it is not widely used. Clients prefer customized reports when it comes to pricing reports - all Z programs and Transactions. These kind of reports are generally required by the Top Management for periodical review // Finance team for price control // Master data team for record purposes // Process audits by Internal/external agency // Of late, for every SOX audit done in the company...especially the change records for prices. Condition Index Condition index is very useful for searching the condition record for a customer. It becomes easier and faster to search for condition records for a customer or material just like it become easier to search a topics in the book with help of index. You have to mark the "condition index" check box in the condition type and you have to activate the index in customization. You can set the discount for fast ten orders through "condition update". First, in your discount condition type(V/06) activate the "condition update" check box. Second, in the condition record, in additional data put "maximum number of orders" as 10. You may also create the condition record for discount through VK31. Now go to change(VK32), scroll to the right, you will find a column "N". This is maximum number of order field. Here you can put value 10 and save it. Now, system will give the discount to the first 10 orders.
What Is Condition Base Value? Where does the standard condition base value (Default one) is determined for a Condition type? First check the Material Master UOM Conversion - Additional Data - Units of Measure.
Condition base value is a concept used in pricing procedure and actual term used is alternate condition base value. This is a formula assigned to a condition type in order to promote an alternate base value for the calculation of the value. If you have to calculate price of a material then you have to have a base value for it. For e.g. if you want to calculate the discount of 10 % for a material then you have to have a base value on which this 10% is calculated. Normally you take the condition value of the base price of the material to calculate the value. Now, you don't want to take the base value and take other value as base value which are derived on some formula. So you create a routine which will do the mathematical operations in the routine and derive you a value which is now used as the base value for calculating the condition value for a particular condition type. As per my understanding there is Alternative Condition Base Value, It is a routine which is assigned to the condition type in the pricing procedure. Go to transaction V/08 here you select pricing procedure then go in to the control data of the pricing procedure here you can find Alter native Condition Base Value in the 14th column of the pricing procedure control data. What is the difference between: 1. Conditional base value 2. Conditional value. 3. Conditional amount 1. Conditional base value When a value is derived for a condition type, based on certain calculation this value is taken as base. 2. Conditional value. For the number of units ordered depending on the condition amount mentioned this value is derived. 3. Conditional amount This is nothing but the unit list price what you are mentioning for the line item. 1) What is the role of alternative calculation type, condition base value, requirement in pricing procedure?
2) Where do we define value for alternative condition base value and alternative calculation type so that system picks up different value, when the value for alternative condition base value and alternative calculation type is mention in pricing procedure? **Alternative Calculation Type:** This function allows you use a formula as an alternative in finding the value of the condition type, instead of standard condition technique. this can be used to calculate complex tax structures. Alternative condition base value The alternative condition base value is a formula assigned to a condition type in order to promote an alternative base value for the calculation of a value. Example An absolute header discount is, for example, distributed in the standard system according to the cumulative value of the items. If the system distributes the absolute header discount according to volume based on the Alternative formula for condition base value , a header discount of $30 results in the following discounts: Item Value Volume . 1 $1000 2 cbm 2 $500 4 cbm Stand. disc. Volume disc.(With Formula) $20 $10 $10 $20 Condition formula for alternative calculation type Alternative formula to the formula in the standard system that determines a condition. Requirement This function is used to assign a requirement to the condition type. This requirement can be used to exclude the system from accessing the condition type and trying to determine
the value. This can be used to specify that the condition type should only be accessed if the customer has a low risk credit.
Rounding Off Condition Not Appearing In Sales Order In sales order Diff condition type is not coming, when checked in analysis it says requirement 013 is not fulfilled, but in pricing procedure I've assigned the requirement as 013, alt.cal type-16, alt CBV-4. Please refer to the following documentation for requirement 013: RE LV61A013 Title Rounding as per Table T001R Purpose This is an example of a pricing requirement. This requirement is met if an entry has been made in the 'Unit to be rounded up to' field in Table T001R. Table T001R stores the rounding rules for company code and currency combinations. This requirement can be assigned to the condition type in the pricing procedure that is used to calculate the difference when rounding. Using this requirement, the difference is only calculated when necessary. Example A company has the requirement to carry out rounding for certain company code and currency combinations. This information is stored in Table T001R. In the document pricing procedure, the user has configured the SAP delivered condition type DIFF to calculate the difference when rounding occurs. The user also assigns pricing requirement '13' to the condition type DIFF in the pricing procedure so that the condition is only calculated when a corresponding entry has been maintained in the table T001R. Please check the customizing table T001R. or try this go to IMG path --> SAP Netweaver --> General Settings --> Currencies --> Define rounding rules for currencies. Here maintain the rounding unit which will be stored in Table T001R. then in the t-code ob90 you can maintain that.
Go to v/08 maintain in condition base value 16 routine. Purpose This is an example of a condition value formula. This type of formula can be used to influence the value shown for the condition in pricing. A condition value formula is assigned to a condition type or value line in the pricing procedure. Formula '16' was delivered along with condition type DIFF to support the rounding unit rules that can be defined in T001R for company code / currency combinations. Condition type DIFF was delivered to perform the rounding at the end of the pricing procedure with the total value. Using formula '16', the system computes the rounded value and assigns the difference to the condition type DIFF. In-17 c.base value Round according to T001R Purpose This is an example of a condition value formula. This type of formula can be used to influence the value shown for the condition in pricing. A condition value formula is assigned to a condition type or value line in the pricing procedure. Formula '17' was delivered so that a condition value could be rounded off according to the rounding unit rules (e.g. plus 5 or 10 or 100 units) that can be defined in T001R for company code / currency combinations. When formula '17' is assigned to a condition type, the condition value will always be rounded using T001R. Where I can do setting of rounding profile for a new created condition type? 1) Create Rounding rule ( Unit of measure rounding rules ) Path : Materials --> SPRO Quantity Optimizing and Allowed --> Order Optimizing --> Purchasing --> Management Unit of Measure Rounding Rules --> Logistics Units of Measure Here give new rounding rule and % rounding up and down values 2) Create Unit of measure groups Path : Order Optimizing --> Purchasing --> Materials Management --> SPRO Unit of Measure --> Quantity Optimizing and Allowed Logistics Units of Measure Groups
Create new group for YD and ROL 3) Dynamic rounding profile Path : Order Optimizing --> Purchasing --> Materials Management --> SPRO Maintain Rounding --> Quantity Optimizing and Allowed Logistics Units of Measure Profile Here give Rounding profile name and plant and click on Dynamic to create new profile In next screen give desc. For rounding profile, rounding off method as 2, and rounding rule which you have created. Assign created Rounding profile in info record also UOM group Maintain minimum order qty as 1 Rol and Order unit as ROL in Info record In material master maintain conversion as 1 Rol = 3500 yards
How To Create Field in KOMP, KOMG New Fields in Pricing To use a field in pricing, one creates a condition table. This condition table is created using the allowed fields from the field catalog. Should the fields one requires not be included in the list of allowed fields, one can add the fields from the list of available fields. However, one may find that a new field may not be in the list of available fields. For this reason, one must create new fields for pricing. The document and item data in SD is stored in data tables, such as VBAK and VBAP (for the order transaction). Many of the fields from these tables are available in the field catalog. The field catalog is a structure (KOMG) that consists of two tables (KOMK and KOMP). These tables contain the header and item data for pricing respectively. They are called KOM “x” because they are communications structures used to communicate the transaction data with the pricing procedure. Table KOMG contains the fields of tables KOMK and KOMP. If you require a field that is not in KOMG, it means that it is not in KOMK or KOMP. This means that the field you require cannot be used in pricing because there is no communication of this field from the transaction to the pricing procedure via the communication structures.
To use a field not defined in the field catalog, you need to add this field to the KOMK or KOMP structures, and then write the ABAP code to transfer the data in the field from the transaction tables to the communication structure. Follow these steps: 1. Create the field in the KOMK (header data) and KOMP (item data) tables using the standard includes provided for this requirement. 2. Write the code in the user exit to read the transaction data and transfer it to the KOM “x” structures. Menu Path The menu path here is IMG, Sales and distribution, System modification, Create new fields (using the condition technique), New fields for pricing. Adding the Field to KOMK and KOMP This process requires some knowledge of the ABAP dictionary and how to use the ABAP dictionary to create and change fields and tables. You may have to use an ABAP skill to assist you. If the field is from the header table (for example, the order table VBAK), you’ll need to add it to the include table KOMKAZ in table KOMK. If the field is from the item table (for example, the order item table VBAP), you’ll need to add it to the include table KOMPAZ in table KOMP. Let’s say you need to use the “base material” to define a price and the base material is not in the pricing field catalog. The base material is a field on the material master basic data screen and is defined as MARA-WRKST. Since this relates to the material, it is at the item level, so you would add the field to the KOMPAZ include table. Note When you add a field to these tables, it must start with “ZZ.” Therefore, the field you add would be ZZWRKST. In ABAP, when you add the field, use the same domain as in the field in the original table MARAWRKST. After adding the field, generate the structure KOMP. This field is not available in the field catalog and can be used in condition tables. Writing the ABAP Code The field in the communications structure will be blank unless the ABAP code transfers the data from the material master to the field KOMPZZWRKST. Pricing occurs in the order and in the invoice, so you need to put this code in both places. For the order transaction, write the ABAP code in user exit USEREXIT_PRICING_PREPARE_TKOMP in include program MV45AFZZ. For the billing transaction, write the ABAP code in user exit USEREXIT_PRICING_PREPARE_TKOMP in RV60AFZZ. Note : The TKOMP is for the item level. If you are writing the code for a field at the header level, you would use the user exits that end with
TKOMK. The ABAP code would select the Base material field from the material master table using the material from table VBAP/VBRP. It would then transfer this field to the structure TKOMP from MOVE MARAWRKST to TKOMP-ZZWRKST.
Billing cannot be Release to Accounting This SAP message will appear if the system is unable to find the G/L codes match from the configuration in transaction VKOA No account is specified in item 0000001001 Message no. F5 670 Diagnosis No account was specified for account type "S" in item "0000001001" of the FI/CO document. System Response The Financial Accounting program cannot process the document. Procedure A system error has probably occurred in the application you called up. Check the data transferred to item "0000001001" of the FI/CO document. Assuming that one of the key combination is Account Assignment Group, you will have to check whether have the Account Assignment Group been input in the Customer Master (Billing tabstrips - Accounting sections - Field name: Acct assgmt group). The Account Assignment Group will be copied automatically into the sales order. Check whether the configuration in transaction VKOA have been done correctly. Check whether the sales order (VA03 - Goto - Header - Financial Accounting - Field name: AcctAssgGr) have been filled in automatically. Check whether the billing document (VF03 - Goto - Header - Header - Field name: AcctAssgGr) have been filled in automatically. If the customer master have not been maintained and the user have already input the sales order, then the user will have to maintained the Account Assignment Group manually either in the sales order or the billing documents. Take note for One Time Customer, the user have to input the Account Assignment Group manually into the sales order. One Time Customer can be used by many customer, therefore, the system will not be able to determine the Account Assignment Group manually.
Default Start Variant for VF04 There are two types of variant in VF04. One is the selection variant before clicking the Display Billing List Button. You can set the start variant via SE93 using the Change mode. The second variant is the Billing Layout display variant. This is after clicking the Display Billing List Button. After creating your layout display variant, you can set it by clicking :Settings -> Display Variant -> Administration Select the layout display variant you want and click :Edit -> Define default settings
Condition Exclusion which will be determined in the billing document The system can exclude conditions so that they are not taken into account during pricing. For example: Material 4711 costs 150 USD. Some customers receive a discount of 10 USD per 100 pieces. However, a specific customer can buy the material for 100 USD. Since this is a particularly good price, the customer should not also have a discount of 10 USD per 100 pieces. Therefore, this discount is to be excluded from pricing. To create a condition exclusion procedure which will be determined in the billing document. Assign the procedure to the pricing schema, and maintain copy control so that pricing is not copied from Sales Order.
To achieve this, copy the standard pricing to a ZXXXX Pricing. Define new document pricing procedure in SM30 - V_TVKV for billing. Assign new document pricing procedures to billing types in SM30 - V_TVFK_PR Define the Condition Exclusion Groups in OV31. Assign the Condition type for the Condition Exclusion Groups in OV32. Assign the Billing Pricing Procedure in VOK8 for the Condition Exclusion Groups. When billing document is being created just enter manually your new price and the pricing program logic will include only the higher price one, excluding the rest that are lower price.
Steps for creating a new or changing an existing Billing Document Types Create/Change your Billing types configuration in VOFA. Some of the IMG stuff are :1) To block automatic transfer of the billing document to accounting, mark the field. Indicates whether the system blocks automatic transfer of the billing document to accounting. During document processing, you can manually transfer blocked billing documents to accounting by selecting: Billing -> Change -> Release accounting 2) Account determination procedure 3) Output determination procedure etc. ... After customizing, use transaction VCHECKVOFA to check your configuration :1) Proforma billing types: If it is a proforma billing type, (VBTYP = U), the field must be blank and the account determination procedure must be empty. 2) Cancellation billing document types: : A check is made to see if the cancellation billing document type has the right VBTYP. An F2 invoice, for example, (VBTYP 'M')
can only be canceled with billing type S1 with VBTYP 'N' . A billing type with VBTYP '5' can only be canceled with the VBTYP '6' and vice versa. 3) Cancellation billing document type partner functions A check is made to see if the cancellation billing document type partner functions are empty or if those that correspond to the billing type used are empty. Next, make sure that you maintain the copy control for the Billing Types: Sales documents in VTFA Target e.g. F1 - Invoice F1 - Invoice
Source OR - Standard Sales Order ZOR - Your Sales Order
Billing documents in VTFF e.g. G2 - Debit Memo F1 - Invoice G2 - Debit Memo F2 - Invoice Deliveries in VTFL e.g. F1 - Invoice LF - Delivery F1 - Invoice ZOR - Your Delivery Usually for copy control, you let the rest of the settings remains as SAP defaults. You only assign the new Billing Document Types. After that use transaction VCHECKTVCPF to check your Copy control customizing.
Billing Block will not worked if you did not assign it Define the possible block indicators in SM30 - V_TVFS and allocate them to the billing types concerned in SM30 - V_TVFSP. Your Billing Block will not worked if you did not assigned it to the desired billing types. You can auto block by :-
1. sales document type in transaction VOV8, fields Billing Block, or 2. item categories in SM30 - V_TVAP, by filling the fields Billing Block.
Billing Plan for Milestone Billing Milestone billing means distributing the total amount to be billed over multiple billing dates in the billing plan. As each milestone is successfully reached, the customer is billed either a percentage of the entire project cost or simply a pre-defined amount. During sales order processing, the system determines from the item category whether a billing plan is required and, if so, which type of plan The type of billing plan that is determined at this point is set up in Customizing and cannot be changed in the sales document. Billing plans for periodic billing and milestone billing plans for project-related milestone billing have different overview screens so that you can enter data relevant to your processing. For example, for milestone billing, you must be able to enter data to identify the individual milestones. IMG configuration requires :1.
Maintain billing plan types for milestone billing in OVBO.
Define date description in SM30 - V_TVTB.
Maintain Date Category for Billing Plan Type IN OVBJ.
Allocate date category in SM30 - V_TFPLA_TY.
Maintain date proposal for Billing Plan Type in OVBM.
Assign Billing Plan Type to Sales Documents Type in OVBP.
Assign Billing Plan Type to Item Categories in OVBR.
Define rules for determining the date in OVBS.
Milestone billing is typically used for billing projects, such as plant engineering and construction projects. Such projects often include a series of milestones that mark the completion of different stages of the work. In the SAP R/3 System, milestones are defined in a network along with planned and actual dates for the completion of work. The milestones are also assigned to the billing dates in the billing plan. Each milestone-related billing date is blocked for processing until the Project System confirms that the milestone is completed. Delivery-relevant order items for which a milestone billing plan applies are billed on the basis of the requested delivery quantity and not on the total of the confirmed quantities. The connection between the project and the sales document item is made in the individual schedule lines of the item. Each schedule item can be assigned to a network in a project. To display the project-related data for a schedule line, proceed as follows: In one of the overview screens of the sales document, select 1. 2.
Item -> Schedule lines. Mark the schedule line and select Procurement details.
The following figure shows an example of milestone billing where only the Contract have been billed : Order
Billing Plan Billing date Description Billing Status 01-10-94 Contract 01-03-95 Assembly 01-04-95 Maintenance 01-05-95 Acceptance 01-06-95 Final invoice
10 30 30 30 ..
10,000 30,000 30,000 30,000 ..
Network/Activities Milestone Assembly Maintenance
Estimate 01-03-95 01-04-95
Billing Block x x x x
Milestone x x x x
For each billing date in a milestone billing plan, you can specify whether the billing date is: 1. fixed 2. always updated with the actual date of the milestone 3. updated with the actual date of the milestone, if the date is earlier than the planned billing date for the date
Billing Plan Function and Processing Explain what is Billing Plan. Billing plan processing includes the following functions:
Automatic creation of billing plan dates Pricing Billing block Billing index Billing status Billing rule for milestone billing Fixed dates in milestone billing Document flow Creating with reference Exchange rate determination Automatic Creation of Billing Plan Dates
In Customizing for Sales, you control how the system automatically creates the schedule of dates in a billing plan. The system determines the schedule of individual dates based on general date information, such as the start and end dates. This general date information is copied either from contract header data or from proposals in the billing plan type. Pricing Sales document items are billed as each billing date in the plan becomes due. The system determines the amount to be billed either from the condition records that are applicable to the item or from the values that are explicitly entered in the billing plan for a particular billing date. In milestone billing, for example, you can specify a percentage to be billed or an actual amount. Billing block A billing block can be set for each date in a billing plan. The block prevents processing for a particular billing date but does not necessarily affect any of the other dates in the plan. In milestone billing, the system automatically sets a billing block for each billing date. This block remains in effect until the project system reports back that the milestone
in the corresponding network has been successfully completed. At this point the system removes the block. Billing index For every billing date in a plan, the system creates and updates a billing index. If a billing date is blocked for billing, the system copies this information into the index. Billing status The system assigns a billing status to each billing date in the plan. The status indicates to what extent the billing has been processed for that particular date. After billing has been carried out successfully, the billing status is automatically set to ‘C’. This prevents a billed date from being billed again. Billing Rule for Milestone Billing For every date in the milestone billing plan, you can specify a billing rule. The rule determines how the billing amount for the particular date is calculated. For example, you can specify whether the billing amount is a percentage of the total amount or whether it is a fixed amount. In addition, you can specify that the amount to be billed is a final settlement that takes into account billing that has not yet been processed. For example, price changes may take place after billing dates in the plan have already been processed. The price differences can be taken into account during final settlement. Final settlement is not automatically proposed in the billing plan by the system; you must enter it manually during processing. Fixed dates in milestone billing You can control for each date in a billing plan, whether the date is fixed or whether the system copies the date from the planned or actual milestone dates in a project. Document flow After a particular date in a billing plan is processed for billing, the system updates the document flow for the corresponding sales document item. The document flow for the sales document displays the following data:
Creation date Billing date Billed value
Creating with reference When you define a billing plan type in Customizing for Sales, you can enter the number of an existing billing plan to serve as a reference during subsequent billing plan creation. During sales order processing for items that require billing plans, the system automatically proposes the reference plan and, if necessary, re-determines the billing dates (based on the current date rules) for inclusion in the new billing plan. Exchange rate determination In the billing plan with partial billing, you can store a certain exchange rate for each date. The amount billed is the amount determined after using this exchange rate to convert from the local currency into the document currency. An exchange rate can also be stored at item level for the sales document (field: Exchange rate for FI on the Billing tab page. This fixed rate is valid for all dates in the item billing plan for which no rate is specified in the billing plan. If an exchange rate is entered both for the date in the billing plan and at item level in the exchange rate field, then the system uses the rate specified for the date during billing. If no exchange rate is entered for the the date or at item level, then the system uses the exchange rate used for invoice creation and it is forwarded to FI. When using a header billing plan, all billing plans linked to this header billing plan are automatically updated. If, for example, you enter an exchange rate manually for the first date in the header billing plan, this is automatically copied to the corresponding dates for the item billing plans.
SAP Billing - Combine Billing for deliveries with different date When using transaction VF04 or Billing (background), the date of the billing document (e.g. the current date) must be entered (In VF04 : settings, default data.) In VF06 or background: variant with parametrization) to avoid an unwanted split due to the billing date. This OSS notes is very helpful :11162 - Invoice split criteria in billing document 36832 - Invoice split in fields from the sales order
Billing Spilt by Item Category
Is it possible to split invoice Item category wise. I mean If in sales order there is TAN and TANN then the invoice should split,is it possible? Naina Yes, it is possible. Create a modification of copy control routine for billing and use VBAP-PSTYV as an additional split criteria there. Martishev Sabir Thank you for your reply. Can you please tell me the exact steps what should I add under that(additional split criteria). Naina In trx VTFA (if your billing is sales order based) choose your billing type and SO type, there select your item categories and there select the field VBRK/VBRP data. In that field you will see the currently used routine. With the help of your ABAP guy create a copy of that routine under a different number and add your lines of code. Let's say you use routine 001. FORM DATEN_KOPIEREN_001. * Header data * VBRK-xxxxx = ............ * Item data * VBRP-xxxxx = ............ * Additional split criteria DATA: BEGIN OF ZUK, MODUL(3) VALUE '001', VTWEG LIKE VBAK-VTWEG, SPART LIKE VBAK-SPART, END OF ZUK. ZUK-SPART = VBAK-SPART. ZUK-VTWEG = VBAK-VTWEG. VBRK-ZUKRI = ZUK. ENDFORM. This is how it should look after modification: * Header data
* VBRK-xxxxx = ............ * Item data * VBRP-xxxxx = ............ * Additional split criteria DATA: BEGIN OF ZUK, MODUL(3) VALUE '001', VTWEG LIKE VBAK-VTWEG, SPART LIKE VBAK-SPART, PSTYV LIKE VBAP-PSTYV, Material Master --> Settings for Key Fields --> Data Relevant to Sales and Distribution --> Define Product Hierarchies --> Maintain Product Hierarchy
Product hierarchies can be created using code OVSV. A product hierarchy is assigned to the material master record. The hierarchy is broken down into specific levels, each level containing its own characteristics. A product hierarchy is recorded by the sequence of digits within a hierarchy number. The hierarchy number can have a maximum of 18 digits with a maximum number of nine levels. Thus by assigning the hierarchy number to the material, one can determine a classification of the material. This hierarchy can be used in pricing with each level being used as field in the condition technique. It’s like if you are having category CAR. In that many cars come into picture. CAR>>MARUTI>>SX4, Swift, zen, alto. B>> 01 >>01 Then from above example B0101 is the hierarchy for SX4. So in that hierarchy many cars come, like variants and all the things. In this way you can take e.g. of wood products also. It shows the next level of the product. How many levels that product are having.
How To Configure Product Hierarchy Product Hierarchy: Product hierarchies are the domain of materials management. A product hierarchy is assigned to the material master record. This hierarchy is broken down into specific levels, each level containing its own characteristics. A product hierarchy is recorded by the sequence of digits within a hierarchy number. This hierarchy number may have a maximum of 18 digits with a maximum of 9 levels. The custom Product hierarchies can be maintained in V/76. Product Hierarchy Number of chars at Various level: In the standard system, the product hierarchy consists of up to 3 levels. The first and second levels have 5 digits and the third level has 8. The maximum number of digits is 18 and the maximum number of levels is 9. You can define hierarchy nodes at the individual levels of the product hierarchy.
The product hierarchy can be structured via DDIC structure PRODHS. In the standard system, a product hierarchy can be created with up to three levels. The individual levels can contain the following number of digits: Level number of allowed digits: 15 25 38 This can be changed as of Release 3.0, where it is possible to extend the maximum number of levels to 9. If you want to change the standard setting of PRODHS, e.g. you want to change the number of levels, proceed as follows: 1. Create an appropriate domain in the Data Dictionary (type CHAR with the required length). 2. Assign these domains to the standard data elements PRODH1, PRODH2, ..., PRODH9. Please note that you should use these standard data elements. 3. Change the structure PRODHS by creating or deleting fields with reference to the data elements. Choose ZZPRODHN as field name, where n is the position of the field in the structure PRODHS. You want to change the structure of the product hierarchy from 5/5/8 digits to 5/5/5/3. Proceed as follows: Create the following domains: ZPRODH3 with length 5, category CHAR, ZPRODH4 with length 3, category CHAR, Change structure PRODHS: Structure PRODHS in the standard system: Structure Fields Data element Category Length PRODHS -> PRODH1 PRODH1 CHAR 5
PRODH2 PRODH2 CHAR 5 PRODH3 PRODH3 CHAR 8 Changes according to example: Structure Fields Data element Category Length PRODHS -> PRODH1 PRODH1 CHAR 5 PRODH2 PRODH2 CHAR 5 PRODH3 PRODH3 CHAR 5 ZZPRODH4 PRODH4 CHAR 3 Please take help of ABAPER in extending the levels of Product hierarchy. Configure for Product hierarchy at : SPRO-> IMG-> Logistics - General-> Material Master-> Settings for Key Fields-> Data Relevant to Sales and Distribution-> Define Product Hierarchies
Implement the Product Allocation Functionality We are required to implement product allocation functionality in SAP R/3 (Enterprise Version). We tried to do the elaborate steps as per the implementation guide but are not successful. Can you kindly help by giving the simple steps for implementation. Please see if the following helps: Configuration Overview; Allocation Specific Usage 1.Allocation Procedure (OV1Z) The product allocation procedure is the parent of the entire allocation process. All materials that are to be included in the allocation scheme are required to have an allocation procedure assigned to it in the material master. In addition, as of release 4.0, it is in the procedure that the method of allocation is defined. The user has the opportunity to set an indicator to identify their choice of two different methods (discrete and cumulative allocation) to evaluate the quantities to be considered for product allocation. 2.Allocation Object (OV2Z) The allocation object is the root level of the allocation process where actual data is entered and planned in LIS. The object allows the user to
further break down a procedure into smaller parts for future validation of components comprising a specific material 3.Allocation Hierarchy Mapping (OV3Z) Primarily, this transaction permits the assignment of an allocation procedure to an LIS information structure. Secondly, a character is assigned to the information structure to permit collective planning. Finally, the user can assign a step level to the procedure and information structure to sequence the order in which allocation quantities are checked. This functionality allows the user the opportunity to check product allocation against several product allocation scenarios, before the required quantity is confirmed 4.Define Consumption Periods (OV5Z) The allocation consumption periods functionality is only valid if the allocation method flag has been set (OV1Z). If you have de-selected the method field, this functionality is not available. The consumption window indicates the number of past and future periods to be used in the allocation check. 5.Control Product Allocation (OV4Z) In order for the allocation process to function properly, allocation control records are created primarily to map allocation procedure steps to their corresponding objects so that the allocation data records can be located for validation. Secondly, validity periods must be established to indicate when the allocation control records are active. Finally, the user has the option of establishing a conversion factor per allocation control record to accommodate BOM listings of constrained materials 6.Activate Allocation for Requirement Class (OVZ0) In order to turn on allocation in the standard order processing functionality, the requirements class must have a flag indicating that allocation is relevant. 7.Activate Allocation for Schedule Line Category (OVZ8) In order to turn on allocation in the standard order processing functionality, the schedule line must have a flag indicating that allocation is relevant 8.Create Planning Hierarchy (MC61) In order to adequately establish allocation quantities, the user must initially determine the level at which the allocation is to take place and the aggregation factor of the allocation quantities. In this step, the levels for the collective allocation search procedure are also identified. 9.Generate Masking Character (OV7Z) Upon completion of the level determination for the planning hierarchy, the collective allocation masking character must be generated to allow aggregation indicators to be established. This transaction simply reads the hierarchy established in the planning table and then generates a collective mask character for each level of the hierarchy 10.Modify Planning Hierarchy (MC62) This step is a repeat of MC61 where the initial hierarchy was established. In order to complete the hierarchical set up, the collective
allocation (mask character) hierarchy must now be maintained with the appropriate aggregation factors 11.Allocation Procedure Assignment to Material Master (MM02) At the root level of the allocation process are the materials. Each material that is to be considered in allocation scenario must be mapped to an allocation procedure. In order entry, then, when a material is entered with a valid allocation procedure in the material master, the allocation data is verified prior to confirming the line item ordered 12.List of Suitable Structures (OV9Z) This report is used to identify potential LIS information structures that can be used in the product allocation process. This report simply reads through the data dictionary and selects all the active information structures that contain the field product allocation object (KONOB) as the first field. This data can then be utilized in the mapping transaction (OV3Z) to link the allocation procedure step to an information structure (previous step).
Sending a billing document by e-mail First, your SAP system must be configure by the basis people in order for you to send an external mail. Whether it can send pdf or other file format will depends on the Mail Server you are using. The basis people must also maintain the conversion parameters so that SAP knows how to convert the billing documents to be send as a pdf file or other desired format specified by your company. Finally, you have define the IMG in Maintain Output Determination for Billing Documents (Output type MAIL)
SAP Customizing Picking Output From Release 4.5A, the system does no longer display the actions for SD picking in the implementation guide. If you want to use the picking list according to the "old" procedure, you can maintain the list as follows: o Carry out Transaction V/38 to maintain the output types. o Carry out Transaction OVLT to assign the picking list types to the shipping points. o
Carry out Transaction V/53 to assign the picking lists to own forms and programs.
Program for Sales Order by Customer, Date, Sales Sales Order by Organisation, Customer - To create the Sales Order by More no of Date's User's can easily take the Report from this by selecting Different kinds like Customer Specific [And/Or] Sales Organisation Specific [And/Or] duration of date but Here Date is Mandatory Fields user must have to give date as a selection criteria In Second level this report will interact with user where they can select date to see the full Details of Sales Order Selection - Sales Organisation - Date - Customer this will be usefull when Selecting the Checkbox Standard Variants - Output - Sales Order Example Date SalesOrderNo Material Amount Currency 10.01.2007 8530 732 1000 INR *&---------------------------------------------------------------------* *& Report ZCHE_SALES_ORDER *&--------Done by V.Chellavelu on 11.01.2007 --------------------------* REPORT
****************************Declarations******************************** TABLES: vbkd,vepvg.",vbak,vbap,vbpa,vakpa, vapma. DATA: BEGIN OF sal OCCURS 0, ch TYPE checkbox, vbeln LIKE vbak-vbeln, netwr LIKE vbak-netwr, matnr LIKE vbap-matnr, waerk LIKE vbak-waerk, dat LIKE vbak-erdat, END OF sal. DATA: newsal LIKE sal OCCURS
" sales document "Net Value of the SalesOrder "material no. "curr. "date. 0 WITH HEADER LINE.
DATA: amount LIKE vbak-netwr, date2(15),date3(8),date4(1), date5(2),date6(2). DATA: lin LIKE sy-curow VALUE 1,"Screens, vertical cursor position at "PAI available in SYST struc. checkbox TYPE c ,
dat LIKE vbak-erdat. *******************Selection**Screen**Design**************************** SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001. PARAMETERS: vkorg LIKE vepvg-vkorg, vtweg LIKE vepvg-vtweg, spart LIKE vepvg-spart. SELECT-OPTIONS date FOR vbkd-bstdk DEFAULT sy-datum TO sy-datum OBLIGATORY. SELECTION-SCREEN END OF BLOCK blk1. SELECTION-SCREEN BEGIN OF BLOCK blk2 WITH FRAME TITLE text-002. SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN POSITION 10. PARAMETERS: chk1 AS CHECKBOX. SELECTION-SCREEN POSITION 20. PARAMETERS: kunnr1 LIKE vbpa-kunnr. SELECTION-SCREEN END OF LINE. SELECTION-SCREEN END OF BLOCK blk2. ********************First**Level**Operation***************************** IF chk1 'X'. IF vkorg ''. PERFORM organisation. ELSE. PERFORM organisation_else. ENDIF. ELSE. IF vkorg ''. PERFORM cus_orga. ELSE. PERFORM cus_orga_else. ENDIF. ENDIF. * Displaying the contents which is selected from table by * -selection conditions SORT sal BY dat. LOOP AT sal. ON CHANGE OF sal-dat. * FORMAT HOTSPOT ON. IF sy-tabix = 1. WRITE: sy-vline, sal-ch AS CHECKBOX,sal-dat . CLEAR amount. ELSE. WRITE:sy-vline, amount,/ sy-vline, sal-ch AS CHECKBOX,sal-dat. CLEAR amount. ENDIF. ENDON. amount = amount + sal-netwr. AT LAST. WRITE:sy-vline, amount. ULINE. SUM.
FORMAT HOTSPOT OFF. FORMAT COLOR = 3. WRITE:/ ' Total Amount:', sal-netwr UNDER amount. ENDAT. ENDLOOP. **********************Interaction with report************************** SET PF-STATUS 'BANU'. " To create Application ToolBar for Display Button * To verify Double click on BANU AT USER-COMMAND. " This will execute after pressing Display Button CASE sy-ucomm. WHEN 'DISP'. free newsal. DO. READ LINE lin FIELD VALUE sal-ch INTO checkbox. IF sy-subrc NE 0. EXIT. ENDIF. IF checkbox = 'X'. PERFORM datecon. PERFORM process. ENDIF. lin = lin + 1. ENDDO. PERFORM selection. ENDCASE. ************************ SUB ROUTINE Area ****************************** *This Process SubRoutine will assign the values from current * -InternalTable (sal) into other IT(newsal), by date which is * - selected by CheckBox FORM process. LOOP AT sal WHERE dat = dat. newsal-ch = 'X'. newsal-vbeln = sal-vbeln. newsal-netwr = sal-netwr. newsal-matnr = sal-matnr. newsal-waerk = sal-waerk. newsal-dat = sal-dat. APPEND newsal. ENDLOOP. ENDFORM. "process *&---------This will display the values for selected dates from new --* *---------------------internal Table (newsal)-------------------------* *& Form SELECTION *&--------------------------------------------------------------------* *---------------------------------------------------------------------* FORM selection. ULINE. FORMAT COLOR = 1. WRITE:sy-vline,'Date',AT 14 sy-vline, 'Order NO', AT 27 sy-vline, 'Order Material', AT 48 sy-vline,'Order Value(AMT) Currency '. FORMAT COLOR OFF. ULINE.
LOOP AT newsal. ON CHANGE OF newsal-dat. IF sy-tabix 1. WRITE:/ sy-vline, AT 14 sy-vline,AT 27 sy-vline,AT 48 sy-vline. WRITE:/ sy-vline,newsal-dat,sy-vline,AT 27 sy-vline,AT 48 sy-vline. ELSE. WRITE: sy-vline,newsal-dat,sy-vline,AT 27 sy-vline,AT 48 sy-vline. ENDIF. ENDON. WRITE:/ sy-vline, AT 14 sy-vline,newsal-vbeln,sy-vline, newsal-matnr, sy-vline, newsal-netwr, newsal-waerk. AT LAST. SUM. ULINE. FORMAT COLOR = 3. WRITE:/ sy-vline, AT 15 'Total Amount for selected month:', newsal-netwr UNDER newsal-netwr. FORMAT COLOR OFF. ULINE. ENDAT. ENDLOOP. lin = 1. FREE newsal. ENDFORM. "SELECTION * This Date convertion is must for pick the particular Date from the * -displayed line, and here we are reversing the Date like YYYY/MM/DD * -because to Check or assign the date we need to give in reverse order *&--------------------------------------------------------------------* *& Form DATECON *&--------------------------------------------------------------------* * text *---------------------------------------------------------------------* FORM datecon. date2 = sy-lisel(17). SHIFT date2 LEFT BY 4 PLACES. WHILE date2 ''. SHIFT date2 RIGHT. date4 = date2+11. IF date4 '.'. CONCATENATE date4 date3 INTO date3. ENDIF. ENDWHILE. date5 = date3(2). date6 = date3+2. date3 = date3+4. CONCATENATE date3 date6 date5 INTO date3. dat = date3. * SORT dat BY dat. * DELETE ADJACENT DUPLICATES FROM dat COMPARING dat. ENDFORM. "DATECON * Here we are doing different kinds of selections by the EndUser's
needs *&---------When user selectiong an Sales Organisation-----------------* *& Form ORGANISATION *&--------------------------------------------------------------------* * text *---------------------------------------------------------------------* FORM organisation. SELECT f~vbeln p~matnr c~netwr c~waerk p~audat INTO (sal-vbeln, sal-matnr, sal-netwr,sal-waerk, sal-dat) FROM ( vakpa AS f INNER JOIN vbak AS c ON f~vbeln = c~vbeln ) INNER JOIN vapma AS p ON f~vbeln = p~vbeln WHERE p~audat IN date AND p~vkorg = vkorg. APPEND sal. ENDSELECT. ENDFORM. "ORGANISATION *&---------Without Sales Organisation i.e All Organisation------------* *& Form ORGANISATION_ELSE *&--------------------------------------------------------------------* * text *---------------------------------------------------------------------* FORM organisation_else. SELECT f~vbeln p~matnr c~netwr c~waerk p~audat INTO (sal-vbeln, sal-matnr, sal-netwr,sal-waerk, sal-dat) FROM ( vakpa AS f INNER JOIN vbak AS c ON f~vbeln = c~vbeln ) INNER JOIN vapma AS p ON f~vbeln = p~vbeln WHERE p~audat IN date. APPEND sal. ENDSELECT. ENDFORM.
*&------------When Selecting Customer by choosing CheckBox------------* *& Form CUS_ORGA *&--------------------------------------------------------------------* * text *---------------------------------------------------------------------* FORM cus_orga. SELECT f~vbeln p~matnr c~netwr c~waerk p~audat INTO (sal-vbeln, sal-matnr, sal-netwr,sal-waerk, sal-dat) FROM ( vakpa AS f INNER JOIN vbak AS c ON f~vbeln = c~vbeln ) INNER JOIN vapma AS p ON f~vbeln = p~vbeln WHERE p~audat IN date AND p~vkorg = vkorg AND p~kunnr = kunnr1. APPEND sal. ENDSELECT. ENDFORM.
*&------------Without Customer by without choosing CheckBox-----------* *& Form CUS_ORGA_ELSE *&--------------------------------------------------------------------* * text *---------------------------------------------------------------------* FORM cus_orga_else. SELECT f~vbeln p~matnr c~netwr c~waerk p~audat INTO (sal-vbeln, sal-matnr, sal-netwr,sal-waerk, sal-dat) FROM ( vakpa AS f INNER JOIN vbak AS c ON f~vbeln = c~vbeln ) INNER JOIN vapma AS p ON
f~vbeln = p~vbeln WHERE p~audat IN date AND p~kunnr = kunnr1. APPEND sal. ENDSELECT.
How To Maintain Output Types in SD ERP SAP ==> SD SAP When I am creating a bill and saving it and then giving issue output to and then header preview, the system does not respond. Should I maintain condition records? Where and how to maintain? For getting any output either by print, Fax, or any media you have to do output determination. output determination is also carried by Condition techniques. The detail procedure for Output Determination is : OutPut Determintaion : Output is a form of media from your business to one of its business partners or it can be within the organization. The output can be sent to any of the partners defined in the document. Outputs are usually in the form of Order Confirmations, Freight List, Delivery Notes, Invoices & Shipping Notifications. Determining form of output is output determination. Types of Output: Print Output, Fax, Telex, E-Mail & EDI (Electronic Data Interchange) --> PRINT OUTPUT: Configuration path: ( following are the steps) 1) SPRO-> IMG-> Basic Functions-> Output Control-> Output Determination-> Output Determination using Condition Technique- >Output Determination for Sales Documents (or you can use output determination for billing documents depending on your requirement). 2) Create Condition Table: select the field Sales Doc Type from field catalog & Save 3) Maintain Access Sequence: 4-digits code & description. 4) Assign condition table to access sequence. Select Accesses line item and Go To Fields. Fields will display the fields we have selected in the condition table i.e. sales doc type.
Maintain Output Types: AF00: Inquiry AN00: Quotation BA00: Order Confirmation LD00: Delivery RD00: Invoice Select BA00 & Copy & Rename. Give the same 4-digit code as given to access sequence. You Can Maintain: Languages of Output Partners (to whom you need to send output) Print Program- print specification Sap Script- layout Assign Output Types to Partner Functions: go to new entries & assign your output type to partner functions. Maintain Output Determination Procedure: V10000 (Standard Procedure). Go to new entries and create your own 6-digit code with description. Select the procedure, go to Control Data. Here mention the output type i.e. condition type and leave requirement and manual only columns as blank. Determination Rule: link the 6-digit procedure code to doc types. Create Condition Records: VV11. Select document type and click on Communication. Mention partner function, medium, time. Output device: LP01, Spool request Name: SD_003, Suffix 2: order_confir & flag on print immediately. Once you press enter you will come across 2 key combinations: Sales organisation/ Customer Number: fill SO, Customer No, Partner Function Abbreviation, Partner to whom the output should be sent, time, medium, language. It contains: Sales Orgnisation, Customer, Partner Function (The abbreviated form of the name that identifies the Partner) (During output determination, the system determines the recipient of the output from the master record for the specified partner function. In this
field, you can explicitly specify a recipient that will override the standard partner. There must also be a master record for the partner that is specified explicitly.), Medium, Time & Language.} Order Type: Document Type, Partner Function (abbreviation), Partner, Medium, Time & Language. Path For Output Determination For Sales Documents: Logistics -> Sales/distribution -> Master data -> Output -> Sales Document -> Create (t-code VV11) Path for Output Determination for Delivery Documents : Logistics -> Sales/distribution -> Master data -> Output -> shipping -> Create ( t-ode VV21) Path for Output Determination for Billing Documents : Logistics -> Sales/distribution -> Master data -> Output -> Billing Document -> Create ( t- code VV31)
Printing Block For Credit Block SO Can we get the print if the order /delivery is blocked after static credit limit check? Please follow the below path: IMG - Logistics Execution - Shipping - Deliveries - Define Reasons for Blocking in Shipping - Execute - Define Reasons for Blocking in Shipping Here select the delivery block that is blocking your order/delivery, and uncheck if the option Print is checked. Display View "Deliveries: Blocking Reasons/Criteria": Overview DB Delivery block descr Order Conf. 01 Credit limit 02 Political reasons 03 Bottleneck material 04 Export papers missng 05 Check free of ch.dlv
06 No printing 07 Quantity Change 08 Kanban Delivery Printing block field: Indicates whether the system automatically blocks output for sales documents that are blocked for delivery. Example : In the case of sales orders that are blocked for delivery because of credit reasons, you may want to block the printing of order confirmations. Note: The particular output that is affected by a delivery block is determined in output control. PS: If the document is exceeds by the credit limit output type will not determine and as well as we should not give the output type in sales order. We have to assign the routine 2 to sales order output types and 3 routine to delivery output types to restrict from output if the docuement exceeds by credit limit.