Académique Documents
Professionnel Documents
Culture Documents
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
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
LIPS
VBAK
VBAP
VBBE
VBEH
VBEP
VBFA
VBLB
VBLK
VBPA
VBRK
VBRP
VBUK
VBUP
VEKP
VEPO
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)
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.
Others
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
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
Module
MM
FI
CO/ MM
FI
PP/ MM
Module
MM
FI
MM
FI/ CO
PP/ MM
Module
FI/ CO
FI/ CO
FI/ CO
PS
Module
MM
FI
FI
FI
FI
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.
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.
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.
-
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.
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
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
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
Both the IMG settings are done in transaction OVF3, either with/without the order
reason.
- Requirement class
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
MWST
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.
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.
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
A schedule agreement contains details of a delivery schedule but a contract just contains
quantity and price information and no details of specific delivery dates
What's the difference between schedulling agreement with normal order?
What's the condition for us to choose schedule line or order?
Both of them contains schedule line, price, quantity.
There are a couple major differences:
(1) - Schedule agreements allow you to have 2 different sets of schedule lines (VBEPABART). Standard SAP you should have two sets of tabs - of schedule lines. One
Forecast & the other JIT. Forecast forwards the schedule lines to planning (seen in
MD04) and JIT passes them to shipping (VL10). They can be identical or different.
Typically these are used for component supplier customers (namely Automotive). The
customer will provide you 4-10 weekly buckets (usually a
Monday date) of future forecast qtys. Also send you 1-2 weeks of individual FIRM ship
dates - which are entered on the JIT. It comes down to the customer not knowing exactly
what they need next week, but they don't want to suprise you with a large order qty,
where your lead times are 5+ days. The forecasted qtys they sent last week should
account for this.
(2) Cumulative Quantities are tracked and influence how the schedule agreement passes
requirements to both forecasting and shipping. These qtys are sometimes requested by the
customer on ASNs. Cumulative qtys reset at year end unless you've got a customer
calendar or you've modified standard SAP userexits to not reset.
Schedule agreements are very nice when the customer sends EDI data (830s = forecast or
862s = JITs). Outside of that they can really cause trouble regarding daily maintenance,
missing requirements, cum qty corrections, year end processing, etc.
One alternative would be to use customer independent requirements - entering the
weekly, monthly forecasting qtys and entering standard sales orders (with or without
multiple schedule lines) to represent the true firm qtys.
Note: if you maintain the requirement coloumn with the requirement as 24 - the rebate
will be affected in the billing document and if you dont give the requirement as 24 your
rebate will be affected in the sales order.
The rebate process is completed when you have created a credit memo to the customer.
The document type for the partial settlement is R3.
Please make sure you open two screens SO THAT YOU CAN COMPARE THE NEW
ENTRIES WHAT EVER YOU'RE DEFINING WITH THAT OF THE STANDARDS or
first you try with the standard condition type boo1, boo2
boo3 boo4.
AFTER YOU HAVE FINISHED A COMPLETE SALES CYCLE OF CREATION
ORDER , DELIVERY AND BILLING.
GO TO THE CONDITION RECORD IN CHANGE MODE (VB02) AND SETTLE THE
ACCOUNT PARTIALLY.
I hope this will be of any help to you.
Praveen
In a simple way,
1. First you need to create a Rebate agreement.
2. Create condition record for rebate giving the rebate rate and accrual rate.
3. when the rebate relevent billing doc is generated, the rebate and accruals are
determined and posted in a seperate GL account as a noted item - amount to be settled.
Also it gets copied in the rebate agreement.
4. create settlement run using credit memo request and then credit memo to settle this
amount with the customer.
This is what the link says.
Rebate agreemnts is based on agreement types.Conditon records which are created like
B001 and B002 are linked to the rebate agreeements specifying the rebate rate + the
accrual rates.condition records specify the rebate rate and the accrual rates.
Consider an example..
You decided to give a rebate of 3% to a customer whose sales vol is $1000 for a
particular SO
Then the rebate value is $30..
Now when you make the rebate settlement by doiing the Credit memo and you decide to
pay $27, then the accounting will be generated saying 27$ paid towards rebate and 3$ is
the accrual which you owe to the customer
Procedure:
Rebate agreement: Transaction code: VB01
When you go to VB01, choose agreement type 0002 and then in conditions give
Material rebate
1
20
20
30
Now create a sales order with a material say M-11 for SOrg 1000 12 00 with QTY 6
Now check VB03 and see rebate agreemtent it will say Accruals 120 and payments 0
since your rebate is not settled still.
Rebate setllement
Go to VB02 enter ur sales deal no, and change the agreemetn status to B then enter
Shift+F12 and enter the amount to be paid for example u say $80
Then check in rebate payments rebate doc and partial setllemetn since you have not paid
in full.
View the credit memo request
Remove the Billing bloock Go to VA01 and put order type G2 ,,,go to create with ref and
enter ur Sales order no,,,save the doc now...
Then go to VF01 and enter the credit memo reqst no generated...save the doc no and go
to VF02 and say release to accounting
Now the final settlement will be this way
Accruals:120
Accrual reversed:80
Rebate pay:80
Amount payable:40
In schedule line category, your setting is 633 movement type, relevent for availability
check & TOR.
3. Consignment Return:
Customer found that some goods are damaged or he not able to sold the goods he want to
send it back. that you are creating this document.
Sales document type: KR
Item category: KRN
Shedule line category: D0
You will assign delivery document and billing to sales document. you will create return
order, return delivery, return billing.
Your setting item category relevent for billing, returns, pricing, special stock.
Your setting schedule line item category: 634 movement type, NO availability NO TOR.
4. Consignment Pick up:
Even if you create the consignment return the goods are not come to direct to your plant.
For that you need to create consignment pick up. here the owner ship is not changing so
you do not need to create billing.
Assign retrun delivery to sales document type.
Sales document: KA
Item category: KAN
schedule line category: F0 & F1
Your setting item category relevent for returns. any shedule line category relevent for 632
movement type, MRP, availability check, delivery.
Now you check your plant stock. Stock will increase.
8. Create free goods determination with transaction code /nvbn1 for FREE with Key
Csuomer Group
99 for exclusive
Give customer Group say 99 and from 34 to 34 free 12
IF sy-subrc = 0.
SCREEN-INPUT = 1.
else.
SCREEN-INPUT = 0.
ENDIF.
endif.
You place the authority check object in authorization profile in the role of the users, who
should have access to the field (in this case it is VBKD-ABSSC), and there assign the
corresponding fields that are to be accessed via this userexit.
Then Create a Batch for the particular plant and Stor Loc using MSC1N.Give the value of
the characteristics in this batch.
Then go to SPRO ->Logistics General ->Batch Management and maintain the Condition
Technique (Procedure, Strategy Types and assignment to sales docs etc).
Then Create the Batch Determination Record using VCH1.
Based on the values selected the variant pricing will happen using the condition type
VA00.
Possible questions you can expect are:
- What is variant configuration?
- What is characteristic?
- What is value?
- What is class?
- What is configuration profile?
- What is dependency and what are the types?
- What is a variant table?
- And the transaction codes for the above.
9000076000
9000076999
The Current Number field will be kept zero as you are proposing new number range and
no sales documents have been created on it , Obviously..
*1 is a Unique Two digit Alphanumeric Key, while proposing your key, you should
ensure that it should not be there in the system as existing.
If you propose a key that is there in the system or if the Number Range (Start and End
Series) is there in the system already, the system will throw a message that Interval
already already exists. So choose a key that is unique, and which is not there in the
system.
Here , by making this , you are assigning a Key to a Number Range Series.
All the symbols can be used along with numbers from 0 to 9 and Alphabets from A to Z
and in any order. For example: !1, ^A, BB,Z*,M2.........
Assigning - In Assigning, you assign the particular Sales Document to the Number Range
you have already proposed as above.
The Assigning Part is done as follows:
The Two digit Alpha Numeric Key is maintained or Assigned to the respective Sales
Document type in V0V8.
This can also be reached in IMG by:
Sales & Distribution-->Sales-->Sales Document Header-->Define Sales Document Types
Locate the particular Sales Doc Type, and double click on it to display it configuration.
Here you put the Two Digit Number key in the Field- "Number range External
Assignment"
Besides this:
If a new Shipping Point is created then Delivery Number ranges are required to be
maintained.
Similarly,
If a new Plant is created then Billing Number Ranges are required to be maintained.
5. You can block the credit or debit memo request from being billed in Customizing. Go
to Sales -> Sales Documents -> Sales document header -> Define sales document type
and select the billing block field in the billing section. This request can later be reviewed
along with similar ones, - if necessary, by another department. The request for a credit or
debit memo can then be approved or rejected.
When you post credit memos, the payment programmed processes them automatically. If
the credit memo is specifically related to a particular open invoice item, the payment
program automatically attempts to offset the credit memo against the open item. If it is
not possible to completely offset the credit memo against an invoice, you can post a debit
memo to the vendor, who is to reimburse the amount. Then you can apply a multilevel
dunning program.
Vendor master has to be created and assaign the supply source ( Delivering Plant).
Create a puchase order ME21N ---> Save
Delivery VL10 G ---> Calculation rule (appropriate) --> Assaign the purchase order
number here and execute.
Select the Delivery creation line and do the back ground process.
Start the log display and see the delivery document number by the documents button
Goto VL02N --> do picking and PGI --> Then do the MIGO with respect to the delivery
document.
Billing (Intercompany pricing conditions should be set).
2. Define Item Categories for Deliveries: If possible use Standard Item Categories for
Delivery Type. Incase if required to create new, copy as from standard & maintain New.
3. Define Number Ranges for Deliveries: Ensure to maintain number range.
Step 3:
IMG > Sales and Distribution > Billing >
1. Define Billing Types: If possible use Standard Billing Type. Incase if required to create
new, copy as from standard & maintain New.
2. Define Number Range For Billing Documents: Ensure to maintain number range.
3. Maintain Copying Control For Billing Documents: Maintain relevant copy controls
such as Sales Order to Billing, Deliver to Billing, etc.
The configuration differs from scenario to scenario & requirement of the client.
Storage loction determination in Sales order is only possible via a user exit. You cannot
configure storage location into sales order: you need to use user
exit MV45AFZB USEREXIT_SOURCE_DETERMIN
or
You can use userexit_save_document
Userexit_save_document_prepare
or
The relevant forms to be used are:
USEREXIT_MOVE_FIELD_TO_VBAK -- to default in Header.
USEREXIT_MOVE_FIELD_TO_VBAP -- to default in item.
User exit: MV45AFZZ
--Standard SAP can't determine storage location at sales order level. If required to give
manually. But at deliver it'll determine automatic.
Do the proper settings at Delivery level:
SPRO --> LOGISTICS EXECUTION --> SHIPPING --> PICKING --> DETERMINE
PICKING LOCATION --> Define Rules for Picking Location Determination.
If sales order level by default require, then you have to use user EXIT
In SAP SD, the document flow will summarize the status of each document. In order,
they are:
1. Sales order : once delivery has been created, the status of the order changes from
"open" to "completed".
2. Outbound delivery : when items are picked and posted for goods issue, the status
remains at "being processed"; the status becomes complete only when billing is done.
3. Billing document : when billing document is created and saved, and posted to
accounting, the status of the delivery becomes "complete"; the status of billing becomes
"complete" as well; an accounting document is created and the status is "not cleared".
4. Payments posting affects the status of the accounting document; hence, you look at
table BSEG. once payment is posted with reference to this accounting document, the
status becomes "cleared".
How can we know using data in tables whether a sales order is open or not?
Check in Transaction VA05 and in table the status filed will tell you the status of open
order.
Table VBAP / VBAK / VBUK (header) and VBUP (item)
Which table is updated when customer pays against an invoice?
Check table VBAK / VBAP / VBRK / VBRP and VBFA you can chk the document flow.
Can you tell if a sales order can be considered open if delivery has happened but
payment has not been done yet?
Yes, that sales order will be considered as complete order. not open order.
Delivery will be open against which billing is not happened.
How to close any open sales order?
Go to transaction VA05, here you can see list of all Sales order open for any particular
sales area.
You can either do mass maintenance to close all the open order by giving rejection
reason. Or you can check one by one order & reject the pending item.
Go to VA02, input the sale order and execute. Now select the line item and assign Reason
for Rejection which you will find on the right top side.
If you have not delivered any quantity, then you can delete the sales
order from the tcode VA02 - Enter your doc no- in the menu bar go to
sales document-then DELETE.
As long as you have not created subsequent document like delivery or invoice, you can
change the sold to party in sale order either in creation mode (VA01) or in change mode
(VA02). But once you created the subsequent document, you cannot change the sold to
party bocz, the said field will become uneditable.
---
Question:
In sales order we have profit center tab in line item --> account assignment. From
where does this profit center comes here? The source I mean.
Answer:
Sales order takes profit center from material master view Sales: Plant/General data.
Profit center is assigned in (material master record) MMR in sales orgn 2 view. If you
assign there automatically it will trigger in the sales order. In the item data -> account
assignment tab .
This profit center is used in MMR because, once you do OR- LF- F2 for that material this
material value has to trigger in the profit center in FI properly.
After doing F2 and when you save a the Invoice i.e., F2, automatically an accounting
document gets generated along with a profit center document also gets generated if you
have assigned profit center to your MMR.
In material master, I was created profit center PBB2K for part A but it is showing
different profit center when sales order created.
Advise why different profit center show in sales order?
Check 0KEM for any sales order substitution for profit center.
In general, the material master profit center defaults to profit center, but at sales order you
can change the profit center otherwise check 0KEM
It seems as though we have a FI setup in our system through which the Profit Center
on the Sales Order is NOT defaulted from the Material master, but is showing up
another value, could you please provide me the steps where I could look that up?
What configuration is it from the FI side that is preventing the standard material
PC to be over ridden?
Please check OKB9,
or
Simple,
It is in substitution,
Go to transaction GGB1 and see under the node profit center accounting.
You will see that you can substitute the profit center in the sales order using substitution.
You can define your own here.
How can I make the Field Profit Center in the line item level of the sales order to
mandatory?
You can do this by transaction variant.
Goto tcode SHD0, give t code as VA01. Make a transaction variant and make the fields
mandatory.
or
Please include the Field Profit Center (PRCTR) in incompletion Procedure of Sales Order
Item. So without Profit Center Entry Sales Order will be incomplete.
Goto T.code OVA2 copy the procedure you are now working with and add the field vbapPrctr.
In VUP2 you can assign your new procedure to your item category.
Division:
Customer Statistic Group: +
Statistics group for sales document type: 2
SPRO --> IMG --> Logistics-General -->Logistics Information System --> Logistics Data
Warehouse --> Updating --> Updating Control --> Settings: Sales --> Update Group -->
Assign Update Group at Item Level
Maintain following data, separately in two rows:
Sales Org:
DstCh:
Division:
Customer Statistic Group: +
Material Statistic Group: 1
Statistics group for sales document type: 1
Statistics group for the item category: 1
and
Sales Org:
DstCh:
Division:
Customer Statistic Group: +
Material Statistic Group: 1
Statistics group for sales document type: 2
Statistics group for the item category: 2
Note: Once, you will maintain Settings for LIS-Update, it will update onwards
transactions and will not update for already done transactions.
Defining Item Category -> Sales and Distribution -> Sales -> Sales Documents -> Sales
Document Item -> Define Item Categories
Item category TAS
Description 3rd party with SN CM
Item type Blank
Completion rule Blank
Special stock Blank
Relevant for billing B
Billing plan type Blank
Billing block Blank
Pricing X
Statistical value Blank
Revenue recognition Blank
Delimit. start date Blank
Business data item X
Sched. line allowed X
Item relev. for delivery Blank
Returns Blank
Weight/Vol.- relevant X
Credit active X
Determine cost X
Aut. batch determ. Blank
Rounding permitted Blank
Order qty = 1 Blank
Incomplete proced. 28
PartnerDetermProced T
TextDetermProcedure 01
Item cat. status group 1
Screen seq. group N
Status profile Blank
Create PO autom. Blank
Config. strategy Blank
Mat. variant action Blank
ATP material variant Blank
Structure scope Blank
Application Blank
Value contract material Blank
Contract release ctrl Blank
Repair procedure Blank
Billing form Blank
DIP profile Blank
Assigning Item Category
IMG -> Sales and Distribution -> Sales -> Sales Documents -> Sales Document Item ->
Assign Item categories
Creating Material
MM01
1. On the screen Create Material (Initial Screen) enter the material number if External.
2. Choose Select View(s). (Basic View 1&2, Sales Views, Purchasing views and
accounting views).
3. Enter the relevant data and save the material. Use material group BANS in the item
material group field.
Creating SD Pricing Conditions for material
VK11
Creating Vendor Master
XK01
This will resolve the issue for current Invoice; but if the same error is occurring for every
Invoice, maintain default values.
To get the default values for foreign trade data go to
1. IMG --> Sales and Distribution --> Foreign Trade/Customs --> Basic data for foreign
trade --> Define Business Transaction Types And Default Value -->
Define Default Business Type (SD)
In this step maintain assignments for country/sales org/dist channel / item category / and
transaction type combination.
2. IMG --> Sales and Distribution --> Foreign Trade/Customs --> Basic data for foreign
trade --> Define Procedures and Default Value --> Define procedure default
In this step maintain assignments with the combination of country/sales org/dist
channel/division/exp.imp group/item category/ procedure.
Apart from the above we need to maintain Comm./imp. code no./country of origin and
region of origin at material master
HINT:
Go to VTFL, select your billing type and delivery type and click on blue
magnifying lens on top left so that it will take you to a screen where
most probably, you would be maintaining "B" for "Determ.export data".
Maintain blank field there and save. Now system will not throw
incomplete error message.
Logistics
Sales and distribution
Master data
Products
Listing/Exclusion
VB01 Create
Specify the condition type for listing
Select the required key combination
Enter the required materials in listing and save it.
Material Exclusion: Whatever the materials that are placed in exclusion
for a customer he cannot access those materials.
Maintaining records for material Exclusion:
Logistics
Sales and distribution
Master data
Products
Listing/Exclusion
VB01 Create
Specify the condition type for exclusion
Select the required key combination
Enter the required materials in exclusion and save it.
Maintaining condition technique for listing and exclusion:
SPRO
Sales and distribution
Basic functions
Listing/Exclusion
Maintain condition tables for listing/exclusion
Maintain access sequence for listing/exclusion
Maintain listing/exclusion types
Go to new entries and define condition types one each for listing,
exclusion
Procedure for maintaining listing/exclusion
Define the procedure one each for listing and exclusion
Activate listing/exclusion by sales document type
Select the required sales document type and assign the procedure for
listing and exclusion
Note:
1. Listing type A001
2. Exclusion type B001
3. Procedure for listing A00001
4. Procedure for exclusion B00001
Explain me how to get partner determination for sales doc header level.
By: Micro Irrigation
First determine one account group ( Trans code OBD2 ) assign number range for acct
group ( Trans code OBAR ).
Define partner determination procedure:
IMG -> SD -> Basic Functions -> Partner Determination -> Setup Partner
Determination -> Partner Determination For Sales Doc Header
Click on Partner Type
Go To New Entries and Define Partner Types
Customer KU
Vendor LI
Contact Person AP
Sales Employ SE
Select Partner Type KU and Go To Details Icon and Maintain Partner
Functions
SP Sold To Party
SH Ship To Party
BP Bill To Party
PY Payer
Come Back and Click On
Assign Partner Type To Sales Doc Header
KU To TA
Assign Partner Functions To Account Group
SP To ACC GROUP
SH
BP
PY Same.
For Sales Doc Header The Partner Functions Can Be Determined From
Customer Master.
A) Partner Types.
1) Customer(KU)
He performs partner functions like Sp, Sh, Bp, Py.
2) Vendor(LI)
Partner Functions (FA- Forward Agent).
3) Contact Person (AP)
Partner Functions-CP.
4) Sales Employee(PE)
Partner Funcitons-SE
Authorized Partner to release the order
Contracts are release by raising sales orders.
In the business one specifies partner is authorized to enter and to release contracts.
At Header level( sales document) there is a control by which system carries out checks
against partner whether he is authorized to release the contract.
Partner type(KU) and Partner Functions( AA- Sold T party) to release the contracts.
Aw- ship to party to release the contracts and this partner functions assigned to partner
determination procedure (kab).
Partners to check credit limits:
We define partner functions
Km-credit Manager.
kb- credit representations both belongs to partner type pe(personal)
Configurations settings:
1) Define Account Group( OBD2)
2) Assign Number range key to Account Group (OBAR)
3) Define partner determination procedure for customer master.
a) Define partner functions
Path: Img -> sd -> basic functions -> partner determination -> set up partner
determination -> set up partner determination for customer master.
Click on partner function control button under dialog structure
Partner Function Name
Partner type error
sp
sold to party ku
07
sh
ship to party ku
07
bp
py
bill to party ku
payer
ku
partner type Pe
Km
credit manager pe
kb
credit represent pe
07
07
09
09
The type of processing used by the system is determined by the item category group that
you enter in the material master record for relevant materials.
Processing at Main Item Level
If you want the system to carry out pricing, inventory control, and delivery processing at
main item level, enter ERLA in the Item category group field of the Sales: sales org. 2
screen in the material master record of the finished product. This means that the
components only function as text items and are not relevant for delivery. The following
graphic shows how a bill of material is processed at main item level.
Processing at Component Level
If you want the system to carry out pricing, inventory control, and
delivery processing at the component level, enter LUMF in the Item
category group field of the Sales: sales org. 2 screen in the material
master record of the finished product. In this case, only the components
are relevant for delivery. During processing the system automatically
creates a delivery group. The latest delivery date among all the
components becomes the delivery date for the entire delivery group.
7. Also , what's the 'Structure scope' set as? Anything except C may be useful here? We
have that set to A, since our BOMs are all single-level. You could set it to B if BOM are
configured multi-level.
Those are probably main reasons why BOM shouldn't work. Apart from that, just recheck your whole config - the truth is out there somwhere.
ITCaGr
OR
OR
OR
OR
OR
OR
OR
ERLA
NORM
LUMF
NORM
NORM
NORM
NORM
NOTE:
Usg
TAQ
TAP
TAE
TAN
HLItCa
TAQ
TAE
TAP
TAN
TAN
TAE
TAE
DftItCa
2. Create Material Material Type as "Trading Goods". Item category group as "BANS".
3. Assign Item Category TAS to Order type that you are going to use.
4. A sale order is created and when saved a PR is generated at the background
5. With reference to SO a PO is created (ME21N). The company raises PO to the vendor.
6. Vendor delivers the goods and raises bill to company. MM receives the invoice MIRO
7. Goods receipt MIGO
8. Goods issue
9. The item cat TAS or Schedule line cat CS is not relevant for delivery which is evident
from the config and, therefore, there is no delivery process attached in the whole process
of Third party sales.
10. Billing
SD - 3rd party sales order Assign the PR to the vendor and create PO
ME57
Key in the PR number
Toggle the "Assigned Purchase Requisition"
Execute
Check the box next to the material
Assign Automatically button
Click on "Assignments" button
Click on "Process assignment"
The "Process Assignment Create PO" box , enter
Drag the PR and drop in the shopping basket
Save
SD - 3rd party sales order Receive Goods
MIGO_GR
PO Number
DN Number
Batch tab , click on classification
Serial Numbers tab
Date of Production
Flag Item OK
Check, just in case
Post
Save
SD - 3rd party sales order Create Invoice
MIRO
Invoice Date
Look for the PO , state the vendor and the Material
Check the box
Clilck on "Copy"
Purchase Order Number (bottom half of the screen)
Amount
State the baseline date
Simulate & Post
Invoice Number
*Invoice blocked due to date variance
SD - 3rd party sales order Create a delivery order
VL01N
In the order screen , go to the menu Sales Document , select "Deliver"
Go to "picking" tab
State the qty and save
SD VF01
S001 "Customer"
S002 "Sales office"
S003 "Sales organization"
S004 "Material"
These information structures form the data basis for the respective standard analysis of
the same name.
In addition to the above information structures, the standard shipment also includes
information structures that are used internally (S066/67 Credit Management, S060 rebate
processing and S009/14 sales support).
I am trying to see the standard analysis for the customer in MCTA transaction.
But it is not showing all the invoices which I done in a day. It shows only a latest
created invoice details.
MCTA is reading data in table S001, which will not give invoice details as this is a
summation of data based on the billing date. T-code MCVV will allow you to simulate
how a single invoice would update all SIS structures.
You would need to create a custom SIS structure and add the invoice as a characteristic.
Use S600 - S999 in the customer namespace then MCSI to execute any custom reports.
Run MC22 and re-generate your info-structure (make sure you play with S001).
Create new invoices and run MCTA again.
confirm the customers required date. If it falls in the past, SAP will then forward
schedule for todays date, plus the times listed above to get the date when the customer
can actually have it.
ATP is the single most complex part of the SD module, depending upon how PP and
MRP is set up.
MRP works semi-separately, depending on how it is set up. Basically, MRP looks at the
demand on the plant, and if it the stock does not meet expected sales orders and
deliveries, it will create a purchase requisition (outside purchase) or requirement or
planned order (for production) to cover the shortfall. When MRP is started, it will turn
the PR into a PO or the requirement into a production order.
Go To VB11 to create Material Determination (taking into consideration that all the
previous steps for material determiantion i.e. maintaining condition types,maintaining
procedures for material determination and assigning procedures to sales doc. types have
been done)
Create one material determination,dont forget to give the Subst reason on top and also on
the line.
Click the Variants Icon on top left-Sreen opens
Specify different materials you want to swap with the material you have enterd
Note that the subst reason is already copied on the screen
Remember materials should be of the same sales area,atleast Divisions should be same.
Backward scheduling is always carried out first. If the material availability date or
transportation scheduling date is calculated to be in the past, the system must then use
forward scheduling.
Forward scheduling is also done if no product is available on the material availability
date calculated by backward scheduling. The system does an availability check to
determine the first possible date when product will be available. This new material
availability date forms the starting point for scheduling the remaining activities. The
loading time, pick/pack time, transit time, and transportation lead time are added to the
new material availability date to calculate the confirmed delivery date.
13. These settings carry out control both for sales order and delivery as well. This is due
to the fact that you may want to include specific stock or incoming stock for the sales
order, yet at the time of the delivery only include physical stock on hand waiting to be
shipped.
14. It is possible to indicate to the system that you would like the availability check NOT
TO CHECK the stock at the storage location level. This indicator is used to set the scope
of the availability check.
15. It is used to switch off the check at storage location level. You create a reservation for
a particular storage location. However, the scope of the availability check is set in such a
way as to exclude the storage location. In this case, the system carries out the check at
plant level only and does not take the storage location into account that is specified in the
reservation.
16. Should you not want the system to automatically check RLT, you may indicate so
here. RLT is the time taken for a material to become available. It is only used when doing
an ATP check and is taken from MMR.
17. Defining the elements in the availability check entirely depends on
the business needs, but a few tips are given under
When controlling the Availability check at the time of the sales order,
a purchase requisition does not necessarily indicate by it is going to
come into the plant.
A shipping notification on the other hand - a confirmed purchase order
is a good indicator of receiving stock on a specified date.
It is always recommended not to select the shipping notifications for
the delivery requirements type as you may not actually receive the stock
into plant or warehouse for which you are creating a delivery.
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.
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.
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
-----------------------------------------------------------------------------------------
| Report header
| Cat.
----------------------------------------------------------------------------------------| STYPE
| Record type
000001 | 000000 |
| 0
| CHAR
| GROUP
| Group name
000012 | 000000 |
| BI Session Name
| CHAR
| MANDT
| Client
000003 | 000000 |
| Your client no
| CLNT
| USNAM
| User ID
000012 | 000000 |
| Queue user ID
| CHAR
| START
| Lock until:
000010 | 000000 |
| DATS
| XKEEP
| Keep indicator
000001 | 000000 |
| NODATA
| No batch input
000001 | 000000 |
| /
| CHAR
-----------------------------------------------------------------------------------------
| Report header
| Cat.
----------------------------------------------------------------------------------------| STYPE
| Record type
000001 | 000000 |
| 1
| CHAR
| TCODE
| Transaction code
000020 | 000000 |
| TCode = VK15
| CHAR
| KVEWE
| Usage
000001 | 000000 |
| U
| CHAR
| KOTABNR
| Table
000003 | 000000 |
| CHAR
| KAPPL
| Application
000002 | 000000 |
| App
e.g V
| KSCHL
| Condition type
000004 | 000000 |
| CHAR
| CHAR
-----------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------
| Report header
| Cat.
----------------------------------------------------------------------------------------| STYPE
| Record type
000001 | 000000 |
| 2
| CHAR
| VAKEY
| VarKey
000100 | 000000 |
| VarKey
| CHAR
| DATBI
| Valid to
000010 | 000000 |
| Valid to
| DATS
| DATAB
| Valid on
000010 | 000000 |
| Valid on
| DATS
| KBETR
| Amount
000015 | 000000 |
| Amount
| CHAR
| KONWA
| R/2 table
000005 | 000000 |
| R2tab
| CHAR
| KPEIN
| R/2 table
000005 | 000000 |
| R2tab
| CHAR
| KMEIN
|
000003 | 000000 |
| CHAR
| MWSK1
| Tax code
000002 | 000000 |
| Tx
| CHAR
| KONMS
| Scale UoM
000003 | 000000 |
| UoM
| UNIT
| MXWRT
| Amount
000015 | 000000 |
| Amount
| CHAR
| GKWRT
| Amount
000015 | 000000 |
| Amount
| CHAR
| STFKZ
| Scale type
000001 | 000000 |
| S
| CHAR
| KZNEP
| Exclusion
000001 | 000000 |
| CndEx
| CHAR
| LOEVM_KO
| Deletion indic.
000001 | 000000 |
| D
| CHAR
| SKONWA
| R/2 table
000005 | 000000 |
| R2tab
| CHAR
-----------------------------------------------------------------------------------------
| Report header
| Cat.
----------------------------------------------------------------------------------------| STYPE
| Record type
000001 | 000000 |
| 3
| CHAR
| KSTBM
| Quantity
000018 | 000000 |
| Quantity
| CHAR
| KONMS
| Scale UoM
000003 | 000000 |
| UoM
| UNIT
| KBETR
| Amount
000015 | 000000 |
| Amount
| CHAR
-----------------------------------------------------------------------------------------
*
* 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,
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.
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.
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.
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.
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
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.
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.
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
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
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
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.
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.
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.
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.
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.
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.
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
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),
youll 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), youll need to add it to the
include table KOMPAZ in table KOMP.
Lets 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.
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.
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
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
2.
3.
4.
5.
6.
7.
8.
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
Turbine
100,000
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
Value
10
30
30
30
..
10,000
30,000
30,000
30,000
..
Billing Block
x
x
x
x
Milestone
x
x
x
x
Network/Activities
Milestone
Assembly
Maintenance
Acceptance
Estimate
01-03-95
01-04-95
01-05-95
Actual
01-03-95
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
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
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.
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 = ............
It is used for sales reporting functionality based on the product hierarchy. It is used for
profitability analysis reporting.
Different material codes can have same product hierarchy (assigned to material
master in basic data view).
When a sales cycle happen then after billing document a PA (profitability analysis)
document is created in which product hierarchy is populated and used in CO-PA
reporting.
Explain the use of product hierarchy and the step by step procedure to define and
use it?
Product Hierarchy is used for Profitability analysis. You can have maximum of three
level in SAP for a product.
You have to give the product hierarchy in Material master Sales- Sales Org -2 view. You
can define the product hierarchy in IMG settings from the following path
Customizing is to be made in:
IMG -- Logistics General --> 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.
Its 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.
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.
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)
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
zche_sales_order
****************************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
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
p~audat IN date.
"ORGANISATION_ELSE
"CUS_ORGA
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)
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.
Print DDueList
SpK
SpW
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.