Anda di halaman 1dari 179

Duplicate customer purchase order

If you are facing a problem with duplicate customer purchase order as your company
does not allowed a same customer purchase order with the same sales order type.
You can activated the check for duplicate purchase order with "VOV8".
In the General Control Section, look for the field Check Purchase Order No and put

Default First Date is not Today


When end user created a new sales order with VA01, default First Date wasn't
today, why?
Note:
1. Before today, default First Date was always today.
2. Nobody change system configuration.
Although you mention that nobody change the system configuration, it is very unlikely
that the system will mis-behaved after one day.
Usually, after checking, you will find that someone have actually change the
configuration as it could not be a software bug since you have been using it for quite
sometime without any problems.
The date is control by each Sales Order Type for each Sales Document type whether is it
a
- OR - Standard Order,
- RE - Returns etc.
Verify the Sales order type configuration with the following path:
IMG: Sales and Distribution --> Sales --> Sales Docs --> Sales Doc Hdr --> Define Sales
Doc Types (transaction vov8) will let you control this by sales document type.
There is one field (Lead time in days) which "specify the number of days after the current
date that the proposal for the requested delivery date in the sales document should be".
This should be blank if you want the system to propose current day for delivery date.

SAP SD User Ticket:


Confirm quantity date is next day. I have created a sales order for 6 Tons.I have a
stock of 10 Tons which is not reserved for any Sales order. I mean it is unrestricted
stock. After creating sales order system should show as Doc date for confirming
quantity for dispatch but it is showing the next day in the schedule line. What could
be the reason?
The reason could be there should be processing times configured in the system
like..pick/pack times, transit time. Please check the shipping point and also the route for
different lead times.
The other possibility could be holidays.
First check what the requested delivery date you have put in the order. Next check the
lead times, for that you can go to the schedule line of the item and click on the
Procurement tab.
Check in OVLZ ---> In Pick/pack time wrkdys, any value is maintained there. For
example, if 5 is given in this field, even if stock is available on the same day of order
creation, system will allow to do PGI only after 5 days from the date of order created.
Also go to VOV8, select your sale order type and check the Field "Lead Time in Days".
I'm using service material in my sales order and I need the schedule line to confirm
the quantity always in the actual day (not depending on the delivery date).
T. Code: VOV8
Select your Sales Doc. type and Double-Click.
In Tab: Shipping,
Check Box: Immediate Delivery (press F1 to read more about this functionality).
Note: There are few more settings that you may check:
1. T. Code: OVLZ
Field: Pick/pack time wrkdys whether you have maintained any value. It should have
been blank
2. T. Code: VOV8

Check how many days mentioned in Lead time in Days. If it is mentioned any days,
remove it.
3. T. Code: OVZ9
Checked the Box: Check without RLT .
4. Check in material master MRP2 view how many days are maintained for the fields InHouse production and GR Processing Time.

Auto proposed all the dates when creating Sales Order


How can I make the system auto create all the Sales Order date during creation?
Each Sales Order can have different date proposal settings.
Follows this step to set the default Sales Order Type proposal date:
- Goto VOV8, double click on sales order type.
- Look and tick the fields Propose delivery date and Propose PO date.
After making the necessary IMG changes, you need to input the Delivery Plant field for
each Materials that you want the system to propose the default date.
To change the Materials field Delivery Plant:
Goto MM02, Select the View Sales: Sales Org. Data 1 and fill in the Delivery Plant.
Testing:
Now, try creating a new sales order for the material and SAP will auto proposed all the
dates in the sales order.

Define whether the Material can be used at which Sales and Distribution
process
Here you define how the system responds when entering a sales and distribution
document
with this material in the differenet Sales and Distribution Process Flow..

You can use the material status, for example, to prevent orders from being entered for
parts to be discontinued.
OR
To temporary block the creation of Sales Order for a certain materials.
Set the material status parameters in transaction SM30, Table Views V_TVMS.
Click Maintain and double click into the Materials Status code.
You can set three types of reponse for each Sales and Distribution process :1. no dialog
2. warning when entering the document
3. error message (that is, the sales and distribution document cannot be entered on
the basis of the material status)

Assign a Cost Center manually in a Sales Order


(VBAK-KOSTL)
The Cost Center Determination settings is in OVF3 - but there are some cases where the
Cost Center must be exceptionally changed.
If the document category for order type in IMG VOV8 is defined to be "I" which belong
to order type FD - Deliv.Free of Charge, then the field cost center is active for input
during transaction VA01.
Alternatively, you can specify an order reason and assign a cost center to an order
reason.
However the standard SAP works only at the header level though, so it would not work if
cost center is needed on the line item.
The cost center are assign for such business transactions as :
- Free deliveries
- Returns
- Deliveries of advertising materials

You can also make cost center allocation dependent on the order reason, for example:
Order reason: Damage in transit
Order reason: Free sample
Both the IMG settings are done in transaction OVF3, either with/without the order
reason.

Sales and Distribution - Transfer of


Requirements
The MRP department is informed about the quantities and deadlines by
which incoming orders
should be delivered. The system checks the availability of the goods
based on the requested
delivery date of the customer and creates MRP records which contain all
necessary information
for passing on to planning. It ensures that the goods are available in
time for the delivery.
Materials planning transfers the reported requirements and creates
orders or purchase
requisitions from them etc.
For controlling transfer of requirements, you have to carry out the
following steps:
1. Each requirement type has to be allocated to one requirement class
only.
2. The transfer of requirements must be switched on at requirements
class level, the sales
documents at schedule line level.
3. You must define a check group. It is possible to have this check
group proposed for the
initial creation of a material master record.
4. Note that a plant must exist for transfer of requirements to be
carried out at document
item level.
OVZG

- Requirement class

It specifies the following points:


- whether an availability check and a transfer of requirements is
carried out for a
transaction (for sales documents, fine tuning using the schedule line
category is possible),
- whether the requirements are relevant for MRP,
- the allocation indicator from the sales view which controls the
settlement of customer
requirements with requirements

- whether an item is to be settled to an auxiliary account assignment,


- the settlement profile,
- the results analysis key.
(Use transaction SM30 for V_* configuration)
OVZH
- Requirements type
V_TVEPZ_V - Assignment of requirement type to Transaction
V_TVEP_V - Schedule line category
OVZ2
- Define Checking Group
V_TMVFU
- Define the checking group that the system proposes when you
create a new material
master record. You can overwrite the default value for the
checking group in the
material master record.

Explain transfer of requirement? How it works and how to configure?


It specifies the following points:
1. Whether an availability check and a transfer of requirements is carried out for a
transaction (for sales documents, fine tuning using the schedule line category is possible),
2. Whether the requirements are relevant for MRP,
3. The allocation indicator from the sales view which controls the settlement of customer
requirements with requirements,
4. Whether an item is to be settled to an auxiliary account assignment,
5. The settlement profile,
6. The results analysis key.
When a sales order is raised, then the system check for availability of goods. If the
availability of goods is not there, then the system creates a TOR for the supply of goods
to PP. Then PP can do procure or produce the goods. This can be configured by creating
requirement class and requirement type and in the corresponding schedule line category
requirement had to be checked.
The MRP department is informed about the quantities and deadlines by which incoming
orders should be delivered. The system checks the availability of the goods based on the
requested delivery date of the customer and creates MRP records which contain all
necessary information for passing on to planning. It ensures that the goods are available
in time for the delivery.

Materials planning transfers the reported requirements and creates orders or purchase
requisitions from them etc.
The following sections on the transfer of requirements describe how to control the
transfer of requirements.
The transfer of requirements is basically dependent upon the following factors:
- requirements type
- requirement class
- check group
- schedule line category
The transfer of requirements is controlled globally using the requirements class which is
derived from the requirements type for all sales document types.
For the sales document types, fine tuning is also possible at schedule line level. This fine
tuning is described in the section "Defining the procedure for each schedule line
category".
Note that the requirements classes are also used in production so you should coordinate
any changes to the requirements classes with production. The requirements type and,
eventually, requirements class are determined in the strategy group so all changes made
there should also be coordinated with production.
For performing transfer of requirements, you have to carry out the following steps:
1. Each requirement type has to be allocated to one requirement class only.
2. The transfer of requirements must be switched on at requirements class level, the sales
documents at schedule line level.
3. You must define a check group. It is possible to have this check group proposed for the
initial creation of a material master record.
4. Note that a plant must exist for transfer of requirements to be carried out at document
item level.
Requirements transferred to planning are further processed in the module MM. You must,
therefore, coordinate the transfer of requirements with the module MM.

Define Tax Determination Rules


You specify the valid tax types in transaction OVK1. More than one tax type can be
defined for a country by defining the sequence.
The SAP System determines the taxes automatically within pricing.
In the standard SAP R/3 System, the elements of tax calculation are predefined (for
example, tax condition type "MWST" for taxes on sales and purchases).
Assign the plant for Tax Determination in OX10, using the country key, the SAP System
recognizes which tax type is valid for a plant and thus which taxes are relevant when
creating an SD document.
Define the Customer Taxes in OVK3, you will maintain the tax code in Customer Master.
Define the Material Taxes in OVK4, which will then be maintain in Material Master.
For example :MWST GST
MWST GST

0 Tax Exempt
1 Liable for Taxes

Now, you define the Tax Determination in VK12.


VK12 - Domestic Taxes/Export Taxes
Condition Type

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.

Tax Code in Customer Master / Sales Order


How can we maintain the Tax Code (Tax code - which we maintain in MWST
Condtion Records) in Customer Master or in Sales Order?
There are few points which I would like to remind you:

1) MWST is a tax condition which is applied to customer to whom we are selling. The
rate of tax is depend on various parameteres, whether is fully liable for tax or expemted
(in case of Defence Customer)
2) There are few parameteres which we apply tax condition. Whether customer is tax
liable? Whether material is tax exempted?
For example, if you are selling a goods which are free for tax to any customer, put the
Tax Indicator (at MMR as '0'). If your
material is tax liable pur the Tax Indicator (at MMR as 1). If your customer is not liable
for tax at all (like the case of Indian
Defence organisations) put the Tax Indicator (at CMR as 0) or 1 in case fully tax liable.
3) Now, at VK11 you need to mainatain your pricning conditions with all the
combinations like:
10
11
01
00
4) While maintaining your Material Master Records or Cusotmer Master Records, you
must identify, which are tax liable and which are tax exempeted.
5) In anycase, as a SAP standard Best Practises, while processing a sales order, you must
retrieve a Tax condition record from SAP database only and not entered Manually.
Accordingly, at V/06, the MWST condition Defintions, the field for 'Manual Entries', it
would be marked as - D (Not possible to process Manually).
Due to this setting, normally, you cannot maintain Condition tax code during sales order
processing. And in Cusotmer Master, you can only maintain Tax Indicator and not Tax
Code.
6) In case your client insists for Manual entry of Tax code during Sales Order processing,
you can change the field at point 5) above to C-Manual entry is priority instead of D.

Taxation Explain with an example


I'm assuming that, the country is India and based on its requirement:
Sales tax is a state government revenue. There are two types of sales taxes, Local sales
tax & central sales tax. Local sales tax is intra state whereas CST is inter state.

Example of LST : Point of sale i.e. delivering plant & ship to party are within the same
state. The rates are defined by the respective state governments.
Example of CST : The Delivering plant & Ship to party geographic locations are 2
different states. At the point of sales from one state, the ST goes to that state govt. &
consignment is despatched to the Ship to party. Once that consignment is received at the
ship to party state, sales tax will be levied once the sales is registered there. For this case,
the LST that is applicable by the Ship to party further will not be applicable in all
probability to be captured in SAP.
Stock transfer : This does not attract any sales tax. The consignment is transferred from
one D plant to another D plant irrespective of inter/intra state sales. The invoice that is
accompanied with the consignment thus shall not have any final value. It's a zero value
invoice, but the basic prices needed to be mentioned.
The selling organisations normally needs to register with the sales tax authority of the
respective state to have a warehouse or D plant to avoid the double taxation for their
dealers/distributors.
Now, the pricing procedure that is there in 4.7 is Factory sale with formula-JFACT, in
which the CST condition type is JIN1 & the LST is probably JIN2. There may be
surcharge cond types as well which will calculate the amount on either JIN1 or JIN2.
For config :
1.SPRO > S&D > Basic fn. > Pricing > Pricing control > Define & assign Pric. procedure
> Maintain Pric proc.
2. The tax rates are normally driven from the Tax classification of Customer & Material
access. To do this config, S&D >Basic fn. > Taxes. You need to include the condition
type for country IN in 'Define tax determin rule'.
3. Same path : But go to Tax relevancy of master records where you configure the
condition type & options of rates that will flow to these masters. One needs to understand
here properly as u need to have unique combinations for picking the sales tax rates. I will
try to demonstrate the smallest example. Let's say, the LST rates are 2%,4% & 0%. I will
have two options for material master here. 1 for taxable & 2 for not taxable.
For customer master, I will have 1-LST 2%, 2-LST4% & 3-LST0%. When I create
master records for LST thru VK11 for JIN2, I will chose the access where the
combinations of customer & material tax classifications are available. If this access does
not exist create it under an access sequence. But normally this is standard. The condition
records will look like,
Cust-Tax classi.
Material tax claasi.
Rate
Tax code
1
1
2%
A1

2
3

1
1

4%
0%

A1
A1

Remember, rates are flown from the tax codes. Tax codes can be created thru T code
FTXP. This is normally a FI job

SAP SD: Scheduling Agreement Vs Contract


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.

Sales Order Mass Change


I am a SAP SD consultant and recently faced with two new terms, mass order
change and ALV , I also need to know about the transaction code.
There is transaction MASS which can be used to carry out mass changes in the sales
order and other objects.
Mass Maintenance: (Use to change multiple fields in multiple documents at the same
time). I have done mass change for customers; and orders should work the same way too.
1) Try t-code [MASS] and select sales orders & execute
2) Choose the table or tables for your selection criteria and also for fields you want to
change.
Then execute. (suppose your selection criteria fields are from "sales order header data"
table and the field you want to change, is in "item data" table)
3) Put in the sales documents(21000000, 21000001) you want to change and also the
items(10) you want to change.
- click on " choose selection fields" button
- From the Pool, move the fields you want to the "select fields" using arrows.
4)From mass maintenace menu, click on "Enter new field values"
-click on "sales order item data" tab and choose the field you want to change.
(for example. I want to change plant for item 10)
-enter the new value (of the plant to be)
-click on "Adopt" and execute
5)In "sales order item data" tab, you see the new value of the plant you entered at the top
and the old values of item 10 are below.
-click on "change field values" button. you see all the old values are changed to new
values.
-save
Note: it will take some time depending on how many records you have.
Check: Go to [SM37] and see the status of the job you are running and once finished,
export the spool file to a spreadsheet.
Before you do mass maintenance, go to the particular table in [se16] and get the results.
Then do the mass maintenance and compare the results with this one. If they match, then
you are good to go.
Note: If you have any user exits that affect the results, ask them to deactivate the
MODCHECKS still you are done with mass maintenance & activate them again.
Is there a way to change the billing date on a ton of sales orders with same old
billing date to a same new billing date?

This can be done using the mass transaction:


Transaction: MASS
Object Type: BUS2032
Tables: SD Document: Business item data
Sel Field: Billing Date (MASSSDHE and MASSSDPO)
- Or you can just select by document numbers (May be more efficient)
Execute - List will be provide for changes
Sel Chg Fld: Billing Date
Set new billing date value in the New Values field
Click on lower billing date column
Click on Carry out a Mass Change button
Click on Save button
Suggestion is to test this on a few orders in your development system to get a feel on how
this works before applying this to any production data. MASS is a very powerful tool.
I have 100000 sales orders whith an incorrect price and I would like to do a massive
condition update with pricing type "B" (Carry out new pricing). Is there a
transaction or program for this?
Go to VA05 execute the report. Select all sales orders you want to update the price, Go to
the Menu EDIT --> MASS Change ---> New Pricing. System will display all the repricing options. Select B. It will re-price all the sales orders.
You can try for one or two order initially check the results and if it is OK, then you can
do for others

Release strategy for Sales order


Is it possible to have release strategy for sales order?
Satish C Jha
As such SAP standard does not provide release strategy for sales orders similar to
purchase orders. However this requirement of your can be satisfied through
authorisation profiles; what I mean to say is that the sale order to be kept incomplete by
the person who does not have the required authorisation & the person with proper
authorisation will complete
it for further processing. This is only one way of meeting your requirement.
Balraj G Saigal
In order to emulate a release strategy similar to purchase orders you can use the status
profile in sales documents (BS02). IMG-Sales and distribution-Sales-Sales documentsDefine and assign status profile.

How to do rebate processing


Rebates Processs in SAP is divided into three components
1) Configuring Rebates
2) Setting Up Rebates
3) Managing rebate agreeeements and payments
Pre-requsiistes- Check the following:
1.The payer partner needs toi have the rebate field checked in the customer master on the
sales area-billing doc tab.
2.The Billing type must be marked as relevant for rebates.
3.The Sales Organisation must be marked as relevant for rebates.
Condition Technique :
Rebates, use the condition technique, but distinguish themselves from pricing in applying
to transactions over time, versus on a transaction basis. Rebates have their wn field
catalog and their own condition table naming convention.So you could have two
condition table "001" one for pricing and one for rebates, which could have different key
fields. You need to use the technical names A001 For pricing and KOTe001 for rebates
when you use the query type using transaction SE 16..
Use create access sequence (AS). Enter 1 in field category for rebate specific. AS after
going thru the right path of maintaining access sequence for rebates.
The big difference between the rebate and the pricing access sequence is that there is no
exclsuion flag available for rebate related AS. This means multiple tables for an access
sequence can be aplied at the same time.
Rebate related condition types are identified by codnition class -C.
After defining and creating condition types for rebated include them in the pricing
proceedure. The requirement should be 24 here which implies that the accruals are
calculated on the basis of invoice/bill.
The other fields- alctyp and altcbv does not allow you to manipulate how a rebate is
calculated. Also, remove the requiremnt 24, if u want to see reabtes at order time.
Now payment of rebates:
Payments can be maunal or in full settlement. When you do manual payments, it defines
how much can be paid out during a partial settlemetn. You use partial settlement only
when rebate agreement is defined for a full year but the paoyouts are supposed to happen
on a monthly, quarterly or anyother specified period.

These accurals are based on sales volume and when they are posted billing is created int
eh follwoing manner. Provision for accruals is debited and Sales revenue is credited.
When rebate credit memo is created
Customer account/ is debited and
Accrual provision account is credited.
Also, please note that when rebates are created without dependent ona material but on
customer/material you need to refer to a material for settlement.
With Compliment: Srini
I have this same problem found in:
http://www.sap-img.com/sap-sd/rebate-process-with-ref-to-so.htm
However, can somebody explain it as I have problem in understanding the link.
What exactly do you wish to know in Rebates? The total outline of the Rebate process or
each and every step in the SAP system?
First of all rebates are more or less discounts which are offered to customers. The rebates
are based on the volume of the business the customer does with you within a specified
time. for eg if the customer agrees for Rs.1 Crore worth of business with u in 1 year, then
you activate your rebate porocess. if at the end of the year the customer DOES achieve
the target u offer him say 2/3/4 % whatever is decided. The rebates are passed on to the
customer in the form of Credit notes.
The rebate can be given to the customer at one time or in installments also.
This is broadly the outline of the rebate process.
R.Sreeram
Note : I recomend you to study the theory part of why rebate and why not a discount.
This will help you understand better.
May be I can help you with rebate process.(IN -IMG)
1. define a rebate agreement type
2. define a condition type group
3. define a condition type and place this condition
Type in the pricing procedure.(REQUIREMENT=24)
ALSO IN THE PROCEDURE- ACCRUAL KEY = ERU
YOU ALSO HAVE TO DO THE ACCOUNT DETERMINATION FOR REBATES.
Once you have defined all the 3 and assignment starts.

Assign the agreement type to the condition type group


Assign the cond type group to the condition type.
Condition technique is also used in rebates.
REBATE ACTIVATION- IN CUSTOMER MASTER, SALES ORGANISATION AND
FOR THE BILLING DOCUMENT.
After having done this please proceed to maintain the condition record for the rebates
(transaction code-vbo1)
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 Process with Ref. to SO


If I need to make a rebate for a customer what is the process involved.
I am providing some info on rebates which I know.
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
So the balance 40 is still the accrual
This is an example how a rebate will be processed with ref to a SO with an example.
SAP SD Tips by: Priyam

How to do a rebate agreement for a specific customers


with settings details?
1. Create a condition by copying a a standard condition like BO03 in V/06
2. Assign this condition in the std pricing procedure with acct key as ERB and accural
key as ERU - V/08
3.Create a Rebate Agreement in VBO1 (It is O = Owl and not zero). No will be
generated
choose 003 - Customer rebates, enter the customer code, the validity and check for the
status shld be in Open, click on the conditions enter the percentage and accrual amount.
You also can have scales in this. Also you need to maintain the material for the settlement
4. Create a sales order for that customer and check the rebate agreement.
5. You can see the rebate condition in the invoice only.
6. Once you have posted the invoices, then go to rebate agrrement no. clicl on verficayion
and it will show the order details.
7. For settlement change the status of the rebate to B - release for the settlement.
8. Credit memo request will b generated copy the no. and go to VA02, remove the blocks
if any and create an invoice (credit memo).this will show u the accrual amount.
9. In both the invoice and the credit memo check the posting - accounting document it
will show u the accrual as negative.
10. Again go to rebate aggreement and check the status it will show you D - Final
settlement of agreement already carried out

Consignment Sales Process in SAP


The consignment process in SAP standard consist of four small processes:

Consignment fillup (send materials to customer consignment).


Here you have a consignment fillup order and a consignment fillup delivery.
Consignment issue (issue materials from customer consignment to the customer).
Here you have a consignment issue order, consignment issue delivery and a consignment
issue invoice. (the flow is very similar to a normal OR flow, but the materials are issued
from the consignment stock instead of plant stock unrestricted).
Consignment return (return materials from customer ownership to customer
consignment).
Here you have a consignment return order, consignment return delivery and a
consignment return invoice. (the flow is very similar to a normal RE flow, but the
materials are returned to the consignment stock instead of plant stock returns).
Consignment pickup (pickup consignment stock and move it to plant stock).
Here you have a consignment pickup order and a consignment pickup delivery.
Note that in consignment fillup and consignment pickup there are no invoices since there
is no change of ownership for the materials.
How to perform a consignment order?
In consignment orders you are allowing the stock to sit in your customer location. Once
he informs that he used the stock you will invoice him. If he returns the stock you will
accept the stock to take it back.
It is defined in 4 steps.
1. Consignment fill up:
Sales document type is KB
Item category KBN
shedule line category E1
In this step, you are not invoicing the customer. document flow is sales order ---- delivery
item category. It will not be relevent for billing and pricing because you are not charging
money for these goods in this step.
In schedule line category, you will set movement type 631 & set for availability check
and TOR.
2. Consignment Issue.
Once the customer informed you that he used all the goods or partial goods then you will
create consignment issue for used goods.

Sales document: KE
Item category: KEN
shedule line category: C0 or C1
Here you are invoicing the customer(because he used the goods). you are assigning the
delivery documnt and billing document to the sales document.
In item category, you are setting relevent for billing, pricing, special stock.
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.

Issue free goods to selected Customers


Client wants to issue free goods to selected customers after the said customer buys a
specified quantity of a good during the festive season starting 02 December to mid

January. for example customer A buys 34 cartons of Corn Ice-cream, we offer him
12 free corns. this should then reflect as cost in our accounts. the rest of the system is
already up and running and should not be inconvinienced. How do I set it up?
1.Run trans. VBN2 to first create master record for free goods as follows:
Enter following information in selection screen:
- Free goods type: NA00
- Sales org, distribution channel, customer # and execute.
Now in next screen create the record as follows:
- First select the exclusive button and verify that you are in exclusive view.
(that is if you want exclusive)
- Material#, Min qty - Say 34 cartons. (check in what units you want to manage)
From: 34 cartons
unit of measure:
Free goods: 12 Pcs
Unit of measure: Pcs
Calcualtion type: 1 or try the other options
Deliver control: Blank or any of the other options suitable to you.
Now save and exit.
Now run VA01 for 34 cartons and press enter. The system will automatically propose the
free goods
item at no additional charge. Try higher order qtys and see if the free goods qty are
scaling up.
If not adjust the calculation parameters in the master record screen
It should be transaction VBN1. Sorry for the error.
VBN2 is to change the record. VBN1 creates it.
Kris J
If you want to give free goods to some of the customers than
1. create a customer group say 99 for FREE GOODS
In Free Goods Menu:
2. add a feild catalog for CUSTOMER GROUP
3. create a condition table (free goods) say 555 only for customer group
4. create a sequence say FREE with condition table 555

5. create a condition type say FREE with


6. maintain pricing procedure say ZFREE with condition type FREE
Now assign:
7. Active Free goods Determination or Assign with your sales organisation this procedure
ZFREE
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

Supressing Fields in Sale Order


To make optional / mandatory you can use in IMG - S&D-> Basic > Functions-> Log of
incomplete Procedures => select the fields > from the tables and the system will check
for them (OVA2/VUA2)
To make a filed entry enabled or grey (non-entry allowed):
User exits in the program MV45AFZZ-USEREXIT_FIELD_MODIFICATION
This user exit can be used to modify the attributes of the screen fields.
To do this, the screen fields are allocated to so-called modification groups 1 - 4 and can
be edited together during a modification in ABAP.
If a field has no field name, it cannot be allocated to a group. The usage of the field
groups (modification group 1-4) is as follows:
Modification group 1: Automatic modification with transaction MFAW
Modification group 2: It contains 'LOO' for step loop fields
Modification group 3: For modifications which depend on check tables or on other fixed
information
Modification group 4: is not used
The FORM routine is called up for every field of a screen. If you require changes to be
made, you must make them in this user exit. This FORM routine is called up by the
module FELDAUSWAHL.

With Compliments by: Taner Yuksel


Actually suppressing fielding sales orders userwise is quite easy. We are doing it in our
company. For this we use userexit FORM USEREXIT_FIELD_MODIFICATION in
MV45AFZZ.
Below is the sample code
IF SCREEN-NAME = 'VBKD-ABSSC'.
AUTHORITY-CHECK OBJECT 'ZMV45AFZZ' ID 'SCRFNAME' FIELD SCREENNAME.

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.

Some Light on Batch Determination


On batch determination, the whole process, how it is determined automatically in
the order.
A1) Normaly we use batch determination at delivery level, because at the time of order
material may or may not be created.for this material should be configured with batch and
batch determination should be checked in sales views of material.
A2) Batch Determination during order Creation.
For this you need to maintain a Classes d for you Material. Depending on the
Manufacturing process you can define the characteristics for your material.
Ex: Purity for Medicines, Resistance for Electric Items.
You need to create a class (You might have to create a new class type) which incorporates
the characteristic.

First Create the Characteristic Using Ct04 and then using Cl02 create the Class including
this characteristic.
Then in your material master Classification View Enter this class.
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.

Difference between Item Proposal and Material


Determination
What is the difference between the item proposal and material determination
product proposal?
Item proposal and product proposal are the same.
Item proposal is the list of materials and order quantities that can be copied into the sales
order from the customer master data.
We use VA51 to create the item proposal. Here we get a number.This number is then
linked to the customer master data in the sales view. This is very commonly used.
Material determination is very closely related to item proposal /product proposal and is
used to swap one material for another in the sales order using the condition technique. I
have not seen Material determination procedures used in the projects I have worked.
SAP Tips by: Prashanth Harish
Item Proposal or Product proposal:
"Item proposal is same as product proposal & SAP uses the two terms interchangeably.
"An item proposal is a list of materials and order quantities that can be copied into the
sales order. Items can also be selected from a list and copied into a sales order."
1) Use transaction [VOV8] to configure the document type ("MS" for product proposal).
2) Use transaction [VA51] to create a proposal.
3) Enter the item proposal on the sales area data (sales tab) of the customer master record.

4) In [VA01] to create a sales order, Select Edit & propose items."


Material determination:
"Material determination uses the condition technique to swap one material for another
when certain conditions apply. Material
determination is triggered by the material entered in the line item of the sales order.
Use transaction [VB11] to create a material determination condition record. And [OV12]
for configuration of material determination.
Material determination is useful when old product is becoming obsolete or a new product
is released by the company at specific date."

Steps for SD Variant Configuration


Some light on Variant Configuration in Detail.
The procedure is as follows:

Create a Material - KMAT type with Item category (002)


Create Charateristics in CT04 - Zbike, where in values mention the Color of the
bile like Red, Blue etc
Create another characteristics in CT04 - ZPrice, where directly go the additional
data tab and maintain the table SDCOM and field VKOND (ABAP Dictionary it
will ask for)
Assign these two characteristics to a Class in CL01 - ZBikeclass ( Type 300) in
characteristics tab page.
Then go to CU41 Configuration profile select the material and enter the
description click on the class assignment ie assign Zbikclass.
Now go back to CT04 - enter Zbike -go to values- select Red- go to extras - Other
Dependencies - Select Procedure enter in front 10 write - $self.ZPrice='Red' and
save
Now go back go to extras - Other Dependencies - assignments and assign
relationship ( by default it will come just save)
Now select Blue- go to extras - Other Dependencies - Editor - Select Procedure
enter in front of 10 write - $self.ZPrice='Blue' and save
Now go back go to extras - Other Dependencies - assignments and assign
relationship ( by default it will come just save)
Now go to VK11 - Enter VA00 (Condition)(For Std RVA001 Pricing Procedure) enter variant Red and Blue give the rates accordingly and create the sales
order.
*-- Shaik Zaheeruddin

Tell me about variant configaration?


What are the type of questions we can expect in that?

Variant configuration is used where you have a configurable material like computer
(made up of components like processor, monitor, keyboard, mouse etc). These
components are called as characteristics in variant config. Again this will be having
values like processor can be either P4 or P3, monitor can be 15" or 17" etc.
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.

Number Ranges In Sales Order


This is regarding number ranges defining and assigning tips which you can follow as
below:
Whenever there is a new Sales Org being created, you will be required to maintain
Number Ranges for Sales Documents which are allowed for your New Sales Area.
Number Ranges can be maintained Internally by the system, however it can be
maintained externally also if you customize it accordingly.
In Standard SAP the Transaction code for Maintaiing Number ranges externally is VN01.
Defining - The same can be reached through in IMG as : Sales & Distribution-->Sales->Sales Document Header-->Define Number Ranges for Sales Documents.
Here you provide the system a specific Number range as follows:
Number range Key +Start Number range+ End Number Range+Current Number
For Example: If you want to propose the following Number Range
*1

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.

What is Debit note and Credit note


What is Debit note and Credit note? What is the purpose? How we create?

1. A transaction that reduces Amounts Receivable from a customer is a credit memo. For
eg. The customer could return damaged goods. A debit memo is a transaction that
reduces Amounts Payable to a vendor because, you send damaged goods back to your
vendor.
2. Credit memo request is a sales document used in complaints processing to request a
credit memo for a customer. If the price calculated for the customer is too high, for
example, because the wrong scale prices were used or a discount was forgotten, you can
create a credit memo request. The credit memo request is blocked for further processing
so that it can be checked. If the request is approved, you can remove the block. The
system uses the credit memo request to create a credit memo.
You can use credit memos in Sales and Distribution (SD) for assigning credit memo
requests to the open invoices and in Financial Accounting (FI) for assigning credit
memos and payments to the open invoices and carry out clearing with them. If you use
both Financial Accounting (FI) and Sales and Distribution (SD), there is a 1:1
relationship between the credit memo request and the credit memo item posted in
Financial Accounting (FI). As soon as you bill the credit memo request together with
other sales orders, or distribute the items of one credit memo request to several billing
documents, the assignment is no longer valid and the system will not process it.
For credit memos, credit memo requests, and payments, you have the following
assignment options:
- Assignment to a single invoice
- Assignment of a partial amount to an invoice
- Assignment to several invoices
When you post credit memos, the payment programme 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.
3. Debit memo request is a sales document used in complaints processing to request a
debit memo for a customer. If the prices calculated for the customer were too low, for
example, calculated with the wrong scaled prices, you can create a debit memo request.
The debit memo request can be blocked so that it can be checked. When it has been
approved, you can remove the block. It is like a standard order. The system uses the debit
memo request to create a debit memo.
4. As mentioned above, creating a credit or debit memo request enables you to create
credit or debit memos based on a complaint. For this first create a sales document with
the order type for a credit or debit memo request. You can create the debit or credit
memo requests in the following ways:
Without reference to an order

With reference to an existing order


Here you enter which order the complaint refers to.
With reference to an invoice
Here you enter which invoice the complaint refers to.
In all cases, you specify the value or quantity that should be in the credit or debit memo
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.

Explain What Is Credit and Debit Memo


1. A transaction that reduces Amounts Receivable from a customer is a
credit memo. For eg. The customer could return damaged goods. A debit memo is a
transaction that reduces Amounts Payable to a vendor because, you send damaged goods
back to your vendor.
2. Credit memo request is a sales document used in complaints processing to request a
credit memo for a customer. If the price calculated for the customer is too high, for
example, because the wrong scale prices were used or a discount was forgotten, you can
create a credit memo request. The credit memo request is blocked for further processing
so that it can be checked. If the request is approved, you can remove the block. The
system uses the credit memo request to create a credit memo.
You can use credit memos in Sales and Distribution (SD) for assigning credit memo
requests to the open invoices and in Financial Accounting (FI) for assigning credit
memos and payments to the open invoices and carry out clearing with them. If you use
both Financial Accounting (FI) and Sales and Distribution (SD), there is a 1:1
relationship between the credit memo request and the credit memo item posted in
Financial Accounting (FI). As soon as you bill the credit memo request together with
other sales orders, or distribute the items of one credit memo request to several billing
documents, the assignment is no longer valid and the system will not process it.
For credit memos, credit memo requests, and payments, you have the following
assignment options:

Assignment to a single invoice


Assignment of a partial amount to an invoice
Assignment to several invoices

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.
3. Debit memo request is a sales document used in complaints processing to request a
debit memo for a customer. If the prices calculated for the customer were too low, for
example, calculated with the wrong scaled prices, you can create a debit memo request.
The debit memo request can be blocked so that it can be checked. When it has been
approved, you can remove the block. It is like a standard order. The system uses the debit
memo request to create a debit memo.
4. As mentioned above, creating a credit or debit memo request enables you to create
credit or debit memos based on a complaint. For this first create a sales document with
the order type for a credit or debit memo request. You can create the debit or credit memo
requests in the following ways:

Without reference to an order


With reference to an existing order

Here you enter which order the complaint refers to.


With reference to an invoice
Here you enter which invoice the complaint refers to.
In all cases, you specify the value or quantity that should be in the credit or debit memo.
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.
Use the same Invoice Script/smartform for Credit/debit memo's
INVOICE
Output type : RD00
ScriptForm Name : RVINVOICE01
Driver Program Name : RVADIN01
smartform name : LB_BIL_INVOICE
Smartform Driver Pgm: RLB_INVOICE

Configure Intercompany Stock Transport Order


Explain STO.
STO is Stock Transport order. It is used for inter company transfer of goods. Plant to
plant transfer and even transferring raw material to Third party contractors (Job Work).
The Process is you create a STO do delivery against the STO and create a Billing
Document against the STO.
How to configure the inter-company Stock Transport Order? - Prassee
Material should exist in both the plants (Delivering & Ordering),
Internal customer should be assigned to the ordering plant ( MM -> Purchasing ->
Purchase Order -> Setup stock transport order -> assign the internal customer to the
ordering plant and assign the Sales area of the internal customer.
Tcode : OMGN

Assign its Sales area to the delivering plant


Assign the document type and Delivery type NB and NLCC

Assign the Supplying plant --> Receiving Plant --> NB


Take the delivering plant and assign the sales area.
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).

Inter Company Sales Process


Explain the Inter Company Sales Process.
In SAP sales & distribution module, an intercompany sales occurs when the selling
organization belongs to a different company code than the delivering plant. The
transaction path for accessing intercompany sales billing is:
IMG >> Sales and distribution >> Billing >> Intercompany billing
Let us take an example to understand intercompany sales better. Suppose there are two
company codes namely 1000 and 2000. A customer may place an order for goods in sales
organization belonging to company code 3000. However, the goods may be manufactured
by a delivering plant belonging the company code 1000. A sales order is created
indicating delivering plant of company code 1000. The sales organization then invoices
the customer for the materials purchased. SAP R/3 automatically creates an intercompany
billing document at the same time as the customers billing document is created. This
intercompany invoice is sent from the delivering plant to the selling sales organization.
As a rule of thumb, when dealing with different company codes, one may find a need to
transfer stock between two different company codes. However, if the stock be transferred
within the same company code, there is no need for an intercompany transaction. But in

case the stock is transferred between different company codes, a transfer of value occurs
and is an intercompany sale.
--In inter- company sales process, no PO will raise.
While creating sales order, if the end user knows there is no stock on their plant, they
request for their sister concern company to deliver these ordered goods to the customer
directly, after delivery they will receive intercompany invoice from the delivering
company code, thats the reason you enter delivering plant while creating sales order.
Below is the inter-company check list:
Check all your settings once again for creating inter-company billing:
- Material should exist in both plants.
- Stock will be maintained in D-Plant (Delivering).
- Now Plant - R (Receiving) become the customer of Plant-D. So create a dummy
customer in Plant-D's company code and sales area.
- Assign this customer number to Plant -R's details & its selling sales area.
- Maintain the intercomapny billing type (IV) in ur sales doc type (OR).
- Assign the Plant-D to selling sales org+ dbt channel.
- Maintain relevant copy controls between documents.
- Determine pricing procedure for Standard (RVAA01) as well as Intercompany
(ICAA01)
(Note: Dummy customer's CPP, IV doc's DPP along with Delivering plant's sales area)
- Maintain the condition records for Condition type PI01- VK11
(Note: In ICAA01, you won't find any PI01 Ctype, but you'll find IV01-, if you observe
the details of IV01 C.type in V/06, it has the ref Ctype as "PI01" , through which the
condition record of PI01 is shared to IV01 also..)
- Now create VA01, enter the required fields, in delivering plant -enter Plant-D, @ item
level as well as @ header level, and save,
- Create Delivery VL01n, with ref to SO,
- Create Billing VF01 (with ref to DEL)--- observe bill type-F2,

- Create Billing VF01 (with ref to DEL again)--observe the bill type-IV.

Normal Sales Order Cycle Configuration


What are those initial sales order config?
By: Anuradha
Normal Sales Order Cycle:Step 1: Sales Document Type
IMG > Sales and Distribution > Sales > Sales Documents > Sales Document Header:
1. Sales Document Type: The sales document types represent the different business
transactions, such as Inquiry, Quotation, Sales Order, etc. To create new sales order type,
always copy as with reference to similar sales order. If possible use standard sales order.
2. Define Number Ranges For Sales Documents: Maintain number range with discussion
with core team.
3. Assign Sales Area To Sales Document Types:
A. Combine sales organizations / Combine distribution channels / Combine
divisions: Ensure to maintain these, else Sales Order creation will give error.
B. Assign sales order types permitted for sales areas: Assign only required Sales Order
Types to required Sales Area. This will minimize selection of Sales Order Type as per
sales area.
Sales Document Item:
1. Define Item Categories: If possible use Standard Item Category. Incase if required to
create new, copy as from standard & maintain New.
2. Assign Item Categories: If possible, use standard. Formula for deriving item category:
Sales Document Type + Item Category Group + Usage + Higher Level Item Category =
Item Category
Schedule Line:
1. Define Schedule Line Categories: If possible use Standard Schedule Lines. Incase if
required to create new, copy as from standard & maintain New.
2. Assign Schedule Line Categories: If possible, use standard. Formula for deriving
Schedule Line: Item Category + MRP Type / No MRP Type.

Step 2:
IMG > Logistic Execution > Shipping > Deliveries >
1. Define Delivery Types: If possible use Standard Delivery Type. Incase if required to
create new, copy as from standard & maintain New.
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.

Default Storage Location In Sales Order


Where to maintain settings if we want to make storage location
appear by default at the time of creating the sales order?
There is No storage location determination at Sales order level.. Only we can enter
manually.
Storage location will be determined at Delivery level only..
System does not determine storage location at sales order level. User has to indicate it at
time of creating sales order. The storage location entered in the order item is copied into
the outbound delivery. If no storage location for picking is specified in the order item,
the system determines the storage location when it creates the outbound delivery and
copies it into the delivery item. The system determines the picking location based on a
MALA, RETA, MARA rule defined in the delivery type.
This functionality is not available in the standard SAP. If you want the system to check
the stock at a specific storage location, the storage location has to be entered manually at
item level or you have to go for development so that it will be defaulted under the
specific conditions specified. You have to create a Z-table and maintain the table with
data under which that specific storage location has to be determined.

A userexit has to be used so that it will default the appropriate storage location after
checking the table.
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

Explain The Meaning Of An Open Sales Order


What is an open sales order?
An open sales order is where the order has not been delivered (physical goods).
Open Sales order : I will explain taking an example, suppose there is an order for 100 qty
and against this order, only 50 are being delivered till its delivery date . i.e. it is partially
delivered. then its status will be open . because it is not fully delivered.

You can check the open order status in VA02 in status tab. (double click on item and at
item level chk the status) or check in transaction VA05 all the open orders.
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.

Sold To Party In Sales Order Screen


After entering sales order (va01) screen, system giving default sold
to party. How to disable this?
This is due to activation of userexit V45A0002. You need to deactivate this. Take the help
from ABAPer to find the project which is assigned to the userexit and deactivate the
same.
or
Can you also check in your SU3 Parameters whether there is any entry with Parameter ID
- VAU?
If some value is set for this parameter , it will be copied by default in SOLD-TO-PARTY
during creation of the Sales Document (VA01)
You can remove this ID or clear the Value.
You can also check if there is any Transaction Variant associated with your Transaction in
SHD0 through which the default sold-to-party can come.
---

Change sold to party in sales order


We have the below requirement of changing sold to party after creation of sales
order:
Once sales order is created, purchase requisition is created automatically and
purchase order is created with reference to the purchase requisition. So when Goods
receipt is done, the respective stock is getting reserved for that sales order.
We wanted to change the sold to party option.
After creation of purchase order, sold to party option in sales order is display only.

How to make it changeable?


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.
---

Effect of sold to party in sales order


What is the effect of sold to party in sales order?
Suppose we are creating the sales order with customer '11' and material 'abc', but
before saving the sales order document we changed the customer and new customer
is '21', so after this change which is redetermined in the sales order.
These will get redetermine
-->Tax
-->Price
-->Frieght
-->Payment terms
-->Shipping conditions
-->Partner (Ship to party, bill to party and Payer).
-->Route.
If the Sold to party is changed from 11 to 21, then the new SP (21) may be valid for some
other Sales Area, may have different SH,PY &BP. So accordingly those data will change.
If different SP, then Price may vary, Shipping condition may vary. So those data may
change.
As different SH may be different, then Route may be different, Plant may be different,
and as Tax is mostly Plant dependent, so Tax may change.
If SP is different PY may be different, so Payment Term, Incoterm &
Credit limit may be different, so those data will be
changed/redetermined accordingly.

Profit Center Default In Sales Order


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.

Check Whether The Entries Is Maintain in LIS Update


or Not
Path:
SPRO --> IMG --> Logistics-General -->Logistics Information System --> Logistics Data
Warehouse --> Updating --> Updating Control --> Settings: Sales --> Update Group -->
Assign Update Group at Header Level
Maintain following data, separately in two rows:
Sales Org: say,1234
DstCh:
Division:
Customer Statistic Group: +
Statistics group for sales document type: 1

and
Sales Org:
DstCh:
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.

3PL Purchase Order Link To Sales Order


For third party order, either you can create the material master with
item category group as BANS, so the system will automatically pick TAS in the sales
order for the material or you can change the item category manually to TAS in the order.
This will trigger a PR, based on the PR a PO will be generated.
Defining Item Category Group

IMG -> Sales and Distribution -> Sales -> Sales Documents -> Sales Document Item ->
Define Item category groups
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

What is the Foreign trade data required in SO for doing


Exports
I am doing export sale but while creating billing document system
give error that "Missing export data" hence accounting document has not created.
Trouble Shooting and Problem Solving :
Go to VF02, input the billing document and execute.
From top menu bar, click on "Goto -- Header -- Foreign Trade/Customs".
There again click on "Incompleteness analysis" which will be below to "Head.text" tab so
that it will take you to the areas where you need to fill in the required datas.
Once you gave all the data and save, you can check the log as "Document complete".
Solution :

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.

Material To Be Added or Excluded To a Customer


How to setup material exclusion for customer during sales order
creation?
If you want specific material to be added or excluded to a customer, you can do it in
"Listing and Exclusion".
Here is a small note on listing and exclusion, it may be helpful.
Material listing and exclusion:
Material listing: Whatever the materials that are placed in the listing
for a customer he can access to those materials only.
Maintaining records for material listing:

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

Partner Determination For Sales Doc

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.

Setup Partner Determination Procedure


How to customize the Partner Determination Procedure?
We can determine partner determination procedure by using the transaction code VOPA.
In the business different people interacts to make a transaction with the business while
making transactions with the business every partner performs certain roles those are
called as a partner functions.
Depending on the partner type every partner fulfill certain mandatory partner functions.
SAP determines relevant partner functions automatically to relevant partner object type.
Flow: Customer master, Sales, Delivery, Billing, Document header and items.

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

b) Define partner determination procedure.


c) Assign partner functions to partner determination procedure.
d) Assign partner determination determination procedure to account group.
e) Assign partner functions to account group.
For sales document.
a) Define Partner functions to sales document header
1) Define partner functions
img -> sd -> basic functions -> partner determination -> setup partner determination ->
set up partner determination for sales document header
2) Define partner determination procedure.
3) Assign partner functions to partner determination procedure
4) Partner Determination procedure assignment.

Sales BOM Implementation


A bill of material (BOM) describes the different components that together create a
product. A BOM for a bicycle, for example, consists of all the parts that make up the
bicycle: the frame, the saddle, wheels, and so on.
Process Flow
When you enter the material number of a bill of materials that is relevant for sales order
processing, the system displays the material that describes the whole bill of materials as a
main item. The individual components are displayed as lower-level items.
There are two ways to process a bill of materials in Sales. Once you have entered a bill of
material in a sales order, the system runs pricing, inventory control, and delivery
processing at:
- Main item level if the material is assembled, or
- Component level if the material is not assembled

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.

How to Know that Sales BOM is working or not?


I have set up a sales BOM. How do I know or test that is is working or not?
Once you enter a material (for whch you have created a BOM thru CS01) in the sales doc
another material pops under the main material line item as a sub-item (s). If it doesn't
then your BOM isn't working.
In my experience BOMs work if all maintenance has been done properly.
A number of things to check is:
1. The bom hasn't been defined for the plant used, or you haven't defined the plant in SO.
2. Main item category - has BOM application SD01 been assigned to it?
3. Item categories for main items and sub-items have not been mainteined properly.
4. Sales items maintenance - You should assign item categories for BOM header items
and sub-items to a specific sales doc.
5. Has the BOM itself been configured properly (i.e. right plant, BOM usage '5')?
6. Are you trying it out on an order created after all BOM maintenance was done?

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.

What Is BOM Referring to SAP SD


What is bill of material?
By: Mike
BILL OF MATERIALS
We need to maintain Material master records for the BOM Item and for the components
also.
The item category group of the BOM items is ERLA/LUMF and the item category is
NORM.
Creating BOM item:
- Logistics
- Sales and distribution
- Master data
- Products
- Bills of material
- Material BOM
CS01 create
Specify the data for the following fields.
Material: Specify the material for which components are to be maintained.
Plant: Specify the plant of BOM item.
BOM usage: Specify the application in which BOM is maintained (5 for SD).
Alternative BOM: Specifies the sequence of a BOM within a group of BOMs.
(L = stock item
N = Non-stock item)
In the overview screen specify the components which makes the main item and the
corresponding quantities and save it.
Note: During sales document processing if we enter the BOM item the system

automatically determines corresponding components.


1) For the BOM to be exploded in the sales document the following customizing setting
is required.
A) If the item category group is ERLA the item category of the BOM is TAQ, in the
definition of which we have to specify the value A (Explode single level BOM) in the
structure scope.
B) If the item category group is LUMF the item category of the BOM item is TAP in the
definition of which we have to specify the value A in the field structure scope.
2) If the item category group is LUMF the system shows price for the components but not
for the BOM item. For this the following customizing setting is required.
A) The item category of the BOM item is TAP which is not relevant for pricing, so the
BOM item is not Priced.
B) The item category of the components is TAN which is relevant for pricing, so the
components are priced
3) If the item category group is ERLA the system shows price for the BOM item but not
for components. For this following customizing setting is required.
A) The item category of BOM item is TAQ, which is relevant for pricing, so the BOM is
priced.
B) The item category of components is TAE which is not relevant for pricing, so the
components are not priced.
While creating sales document to get the list of alternative BOMs in the definition item
category of BOM item we have to check the field Manual Alternative
24-07-2007
ITEM CATEGORY DETERMINATION FOR BOM ITEM
SD type

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

A Explode single level BOM item


B Explode multi level BOM item

DftItCa

CS01 Transaction code for creating BOM Item


Statistical value x or y
Make TAP relevant for pricing but values for statistical only.

Pricing Customization For Sales BOM


What are the steps of customization to pricing for header level or item level then?
By: John
You can create a sales bom, and price it at header level or sub level.
If you want to assemble the products and depending upon the assemblies you want to
price. For eg. if the customer asks for a certain combinationa of Material A, B and C
respectively, then you create a Material Master record Material D with item category
group as LUMF. While the Materials A, B and C are created with standared item
category groups NORM only.
Then create a sales BOM using Tcode CS01 and enter the following details:
Material : Material D
Plant : Plant in which you created the material.
BOM Usage : 5 (Sales and Distribution)
then give the Materials A, B, and C and give their respective quantities.
Before you have to create pricing condition records for Materials A, B, and C.
Then configure the item categories ( T - code : VOV4).
When processing the sales order, just give the Material D and the system will pick up the
corresponding assemblies for that material and populate in the order.
The item category for the header item will be TAP and the item cateory for the items will
be TAN.
In this cas the Material D is called as the higher level Item , and all the assemblies are
called as the sub items. Here the subitems are relevant for pricing and delivery where as
the header item is not relevant for neither pricing nor delivery. It just acts as a text item.
This type of configaration of BOM is known as pricing at item level. This is used
when you dont know what quantities of assemblies the customer is going to order and if
the price of the assembly keeps varies.
There is another way of configaring BOM which is pricing at header level. The
difference is that the Material Master D has to be confugured using the item category
group ERLA.

Creation of BOM is same.


But you need to maintain the pricing condition record for the header item.
The item categories in this case would be
Header item : TAQ
Sub item TAE;
Where the header item is relevant for pricing and delivery. and subitems are not relevant
for neither the pricing nor the delivery. Depending upon your requirement you configure
accordingly.
In Summary:
-->Befor going to create sales BOM you need to create:
Master data for that Header Material and Components in the MM01 transaction.
-->If you want Header price you create Header Materil with ERLA Itemcategory group.
-->If you want pricing at item level you create header material with LUMF Itemcategory
group.
-->To create Sales BOM go to the transaction CS01 there you give enter the data
Header Material which you have created in the MM01 transaction.
Delivering Plant.
BOM Usage as '5' (Sales and Distribution)
***Then proceed with enter system will take you the BOM detail screen here you
maintain the details of the components (How many components you need to make a
Header material)
-->Check the item category determinetion settings in the transaction VOV4.
-->Maintain the Pricing procedure according to that.
-->Now you can create sales order with the BOM material

Process Flow for 3rd Party Sales


Customize the third party sales in summary:
1. Create Vendor XK01

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

*-- Seema Dhar

SD - 3rd party sales order Create Sales Order


VA01
Order Type
Sales org, distr chnl, div
Enter
Sold to
PO #
Material
Quantity
Enter
Save
SD - 3rd party sales order View the PR that is created with a third party sales order
VA01
Order Number
Goto Item Overview
Item ->Schedule Item
SD - 3rd party sales order View the PR that is created
ME52N
Key in the PR number
Save

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

3rd party sales order Create a billing document


Ensure that the delivery document is correct in the
Enter
Go to edit -> Log
Save

Cross Selling : How To Configure


(1) Cross Selling: How to configure and the menu path details.
(2) While creating individual order I face one error 'Plant not assigned to
Controlling Area': How to configure controlling area and menu path.
(3) Menu of path of subsequent Delivery Free of Charge.
By : Ahmednsp
Cross selling is a concept by which the business can improve the sales. By using this
concept the business can offer combination material for ordered material.
Ex: If the customer placed for the order for computer then computer stand can be
suggested as a combination material. It can be mapped by using cross selling concept that
uses condition technique.
When the user raises the sales order and specifies ordered material then system
automatically pup-up a box in which system displays suggested material
Configuration settings:
1) Define determination procedure for cross selling:
Path:
- IMG
- SD
- Basic function
- Cross selling
- Define determination procedure for cross selling
a) Create condition table:
Here we define condition table ex: - material
b) Maintain access sequence:
Here we define access sequence ex: C001 and assign condition table ex:011 that we
define in previous step.

c) Define condition type:


Here we define condition type C001 and assign it to access sequence C001 that we define
in previous step.
d) Maintain procedure:
Go to new entries and define cross selling profile Ex: CS0001 and assign our condition
type C001 that we define in
the previous step.
2) Maintain customer/document procedures for cross selling:
a) Define customer procedure for cross selling:
Here we define customer cross selling profile Ex: "B" -- cross selling
b) Define documents procedure for cross selling:
Here we define document cross selling procedure ex: `B"- cross selling
c) Assign document procedure for cross selling to sales document:
Choose sales document type "OR" and assign document cross selling procedure ex: "B"
3) Define and assign cross selling profile:
a) Define cross selling profile:
Go to new entries, specify cross selling profile key with description
- Specify cross selling pricing procedure (CS0001)
- Assign the pricing procedure (RVA001)
- Specify cross selling dialog box indicator W
If it is "A" dialog box appears only in request.
It is blank dialog box appears in request and after date is released
Check cross selling ATP indicator: If you check it , system carry out ATP check for cross
selling product.
b) Assign cross selling profile:
- Go to new entries, specify sales area
- Specify customer cross selling procedure B
- Specify document cross selling procedure B
- Assign cross selling profile -- CS0001
Maintain condition record for cross selling (VB41):
Path:
- Logistics
- SD
- Master data
- Products
- Cross selling
- VB41

Specify condition type C001


Specify the order material, select condition line item
Click on alternative material icon and maintain alternative material with cross selling
delivery conditions options
Blank Out bond delivery takes place regardless of main item
"A" -- Out bond delivery only if main item has been partially delivered
Go to VD02, sales area section of sales tab
Assign customer procedure for product proposal - B
Save it and exit
Go to VA01; raise the sales order with order material check the effect.
4) Path to created controlling area:
Img-->Ent Str-->Defintio-->Controlling-->Maintain Controlling Area ,
here you can create controlling area

An Example Of Third Party Sales


Scenario:
2 companies are created in system - India & Singapore Customer places sales order
for particular material on Singapore. Singapore is not able to produce the same.
They pass on the order to India for processing. After processing India ships the
material directly to the customer along with necessary documentation. Invoice copy
is passed on to Singapore. Final Commercial Invoice will be raised by Singapore.
How can the above scenario handled?
By: Balaji
You can do this using third party sales.
The third party sales process is as under.
1) Singapore company creates an order for the singapore customer.
2) Because of the configuration settings of the sales document type, item category &
schedule line category, as soon as the order is saved a PR (purchase requisition) is
automatically generated. This is converted into PO (purchase order) and sent to the indan
company.
3) Indian company supplies the material directly to the singapore customer.
4) Indian company sends the invoice to the singapore company.

5) Singapore company does the invoice verification in MM using tcode MIRO.


6) Singapore company raises the invoice to the singapore customer.
In standard SAP, item category TAS is used for this. The schedule line category is CS.
Here you can see a field 'order type' with value 'NB'. This triggers the automatic creation
of the PR.
Plus in the material master also you need to do certain settings.
1) If you are always following a third party process for a material then you have to create
the material using item category group BANS. The procurement type should be marked
as external procurement (F) in MRP 2 view of the material master record.
2) If you are not always allowing third party order processing then you can create a
material master record with item category group as NORM and the procurement type
should be marked as (X) meaning both types of procurement (in house manufacturing
and external procurement).
In the item category the billing relevance should be 'F'.

What is the Difference/Similarities between LIS and SIS


The Logistics Information System (LIS) is made up of the
following information systems:

Sales Information System


Purchasing Information System
Inventory Controlling
Shop Floor Information System
Plant Maintenance Information System
Quality Management Information System
Retail Information System (RIS)
Transport Information System (TIS)

Out of this SIS (sales information system ) is one.


In the standard system, the following information structures are available in the Sales
Information System:

S001 "Customer"
S002 "Sales office"
S003 "Sales organization"
S004 "Material"

S005 "Shipping point"


S006 "Sales employee "

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.

Availability Check on Quotation


SAP standard does not do an availability check on the quotation, as it is not a
definite order, usually just a pricing quote.
When it is converted to an order, the first availability check is carried out, as well as
credit checks. The system will check stock in the plant, plus what is contained in the
availability checking rule (scope of check) eg: can add POs for replenishment, purchase
reqs, different planned orders, and subtract sales orders, deliveries etc already created
against that material in that plant (and possibly Storage location).
If there is enough stock in the plant/SLoc, the system will give you a confirmed date, or
give you a date based on the production time or purchasing time from the material
master. The date the system proposes is based on the customer's requested delivery date.
SAP first backward schedules looking at the required delivery date, less transportation
time, less transportation lead time, less pick and pack time, less production/purchase time
if applicable. If the date it calculates is equal or later than todays date, then it will

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.

SD material Determination based on availability check


For SD material Determination you can create a Substitution reason and on the
Strategy field, the following info. is available:
Product selection in the background is performed on the basis of the availability
check.
We want to have the material determination only in case on material shortage. We
expect the Substitution reason to give us this functionallity. It does not hovever
take the availabilty into account before substitution.
We thought the worse case is to create a ABAP which is linked to the "requirement"
field in the Procedure (OV13).
Has anyone had the same requirement? Is this a bug or just incorrectly
documented?
I also encountered this abnormally recently using material determination. In order to
combat the problem, the first product substitution should be for the original material. I've
illustrated this below:
Original Product: ABC
Substitutes: DEF, XYZ
In order to perform product substitution ONLY in the case of ATP failure for product
ABC, structure the Material Determination record as follows:

Material Entered: ABC Substitutes: ABC


DEF
XYZ
There seems to be a devaition at availability check and or on a conceptual note still.
Availability check can be configured both at requiremnt class and at the schedule line
categories level.
Whilst the availabilty check at the requirement class level via global and mandatory
configuration the schedule line catgry availability check deals with the order.
It is mandatory that the reqmnt class is flagged off for avlblty check and the schdelu line
cat need not be.
The following are the mandatory for Availability check to happen-1. Must be swithced on at the requirment class level and at the schedule line level.
2. Reqmnt type must exist by which a requiremnt class can be found
3. There must exist a plant and is defined
4.Checking group must be defined in Material Master records(it controls whthr the
system is to create individual or collective reqmnt)
A combination of checking gropup and checking rule will determine the scope of
availbaility check.

Creating Multiple Materials in Material Determination


Material Determination is used to swap one material for another.It is possible to get a list
of materials for substituiton,but remember you can substitue only one material from the
list.
This can be done through substituiton reason T Code [OVRQ]
See the substitution reason number for Manual Material Selection
- check the Entry box
- check the Warning box
- select A for Stategy
- save.

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 and Forward Scheduling


Backward scheduling is the calculation of deadline dates: the arrival time at the customer
site is calculated as the earliest possible goods receipt time at the customers unloading
point on the requested delivery date. All four of the delivery and transportation
scheduling lead times are subtracted from the customer's requested delivery date to
determine if this date can be met.
The transit time, loading time, and pick/pack time are subtracted from the customers
requested delivery date to calculate the required material availability date.
The system calculates backward scheduling as follows:
Requested delivery date minus transit time = Goods issue date
Goods issue date minus loading time = Loading date
Loading date minus transportation lead time = Transportation scheduling date
Loading date minus pick/pack time = Material availability date
By default, the system will calculate delivery dates the closest day, taking into
consideration the working days of the shipping point and a rounding profile. In this case
the system assumes a 24 hour work day and lead times can be entered in days up to 2
decimal points. This is referred to as daily scheduling.
Precise scheduling calculated down to the day, hour and minute is supported. This allows
the scheduling of a delivery within a single day. It is activated by maintaining the
working hours for a particular shipping point.

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.

Configuring Availability Check Through Checking


Groups
1. The checking group + checking rule determine how the availability
check is to be performed.
2. The checking group determines whether and how the system checks the stock
availability and generates requirements for material planning. The checking group defines
what type of requirements will be passed on i.e. summarized requirements (daily/weekly)
or individual requirements for each sales order.
3. The checking rule applies to how the availability check is to be carried out at the
transaction level. Note that you must define checking rules for each individual
application such as for production orders for example. In Sales and Distribution, the
checking rule is specified internally within the system and cannot be changed.
4. The checking rule, in conjunction with the checking group, determines the scope of the
availability check for every business operation; that is, which stocks, receipts and issues
are to be included in the availability check and whether the check is to be carried out with
or without the replenishment lead time.
5. Briefly explaining the above checking group determines which type of requirement
to be passed on to MRP whether it be individual or summarized and checking rule which
is at the transaction level and can be configured independently for each application
module, determines which stocks, receipts and issues to be taken into account. For
performing an availability check checking group has to work in conjunction with
checking rule.
6. Advantages of individual processing over summarized processing
Backorder processing is possible.
You can access (MD04) order, line and schedule line individually which gives a greater
control on available stock and requirements placed on stock.
The system automatically uses individual requirements in case of special stock items.

7. Required data for the Availability check to be carried out


The Availability check must be switched on at the requirement class level.
The Availability check must be set at the schedule line level.
A requirements type must exist by which the requirements class can be found.
A plant must be defined in the sales order for each schedule line item (in other words
plant must be defined for every material in MMR).
A checking group must be defined in the material master record in the MRP3 screen in
the availability check field.
8. Configuring Availability check and defining Checking Groups
Checking groups are introduced into the sales order based on the setting in the material
master record.
SAP standard checking groups are 01 summarized requirements and 02 individual
requirements or you can create your own by copying the standard ones.
Total sales and total deliveries columns are there to configure a checking rule to sum up
requirements to post to MRP either individually or by day or week.
Block quantity required can be set if you want several users to be able to process the
material simultaneously in different transactions without blocking each other.
The no check indicator is CHECKED when you DO NOT want the system to carry out
ATP check.
9. Defining material block for other users the block check box is an indicator that
enables you to block material master records of a particular material during the
availability check and restrict other users from accessing same master record and reserve
the material. If the block is not set, two users can confirm the same material at the same
time for two different orders, not knowing if the stock is available or not. If you select
this field, the material is blocked during the availability check and other users cannot: a)
Make changes in the material master record. b) Create purchase orders for the material.
C) Create orders for the material.
10. Defining default values for checking groups - Checking groups are introduced into
the sales order based on the setting in the material master record.
However if there is no entry present in the material master record for the checking group,
a default value can be set here, depending on material type and plant.
This default value will be used by the system depending on the material type mentioned
in MMR and plant in sales order.
If an entry exists, this default value is over written by MMR.
11. Controlling Availability Check in this section, you tell the system what stock on
hand and what inward and outward movements of stock it must take into account when
performing the availability check in addition to whether or not to consider the
replenishment lead time.
12. These settings are based on the checking group that is assigned to the material master
record and the checking rule that is predefined and assigned to the sales and distribution
transaction.

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.

Back Order Processing Using CO06 and V_V2


What are the difference between CO06 and V_V2 ? Both seem to
be backorder rescheduling transactions.
CO06 - Material - Back order Processing (rescheduling program SAPLATP4)
V_RA - SD Document - Backorder Processing (rescheduling program SAPMV75B)
V_V2 - Execute Rescheduling/ Rescheduling Sales and Stock Transfer Documents: by
material
The rescheduling program (SDV03V02) behind the V_V2.

CO06 confirmed qty can't be change


I want to change the confirmed qty in orders and use tcode CO06, but it prompt "
please select a line that can be changed". I selected the blue line ... can someone tell
me why the confirmed qty can't be changed, any restrict condition if I want to
change it?
Run the report SDRQCR21 for the said material/plant and then check if its confirmation
from CO09 goes out or not.
This report is basically is run in case of inconsistency of stock, removal of confirmation
of stock and if some stock is blocked under some unwanted processes like old SO's,
deliveries, STO's etc then that stock can be released via this report.
Confirm quantity in schedule line
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).
"Purchase requisition with delivery scheduling" is not checked and still the quantity
is not confirmed on the sales order date (todays date).
What I need is:
- Create a sales order with todays date: 29-09-2009
- Schedule line: quantity confirmed on todays date 29-09-2009
But my quantity is confirmed for the next day. I'm using service material.
To solve your issue:
T. Code: VOV8
Select your Sales Doc. type and Double-Click.
In Tab: Shipping,
Check Box: Immediate Delivery (press F1 to read more about this functionality).
Note: There are few more settings that you may check:
1. T. Code: OVLZ
Field: Pick/pack time wrkdys whether you have maintained any value. It should have
been blank.
2. T. Code: VOV8

Check how many days mentioned in Lead time in Days. If it is mentioned any days,
remove it.
3. T. Code: OVZ9
Checked the Box: Check without RLT .
4. Check in material master MRP2 view how many days are maintained for the fields InHouse production and GR Processing Time.

See The Scope of ATP Check


How to see the scope of ATP check?
When we creat a sales order, we can only confirm the delivery of goods, for the required
delivery date if the goods are available for all the necessary processing activities which
take place before delivery.
Types of availability check:
There are 3 types of availability checks in sales document processing:
1. Check on the basis of ATP quantities (Available To Promise)
2. Check against Product Allocation
3. Check against planning.
Check on the basis of ATP Quantities
The ATP quantity is calculated from the ware house stock,
The planned inward movements of stocks (purchase orders, planned orders, production
orders, etc) and
The planned out ward movements of stock (Sales orders, delivery documents, etc.)
This type of check is performed dynamically for each transaction with or without
replenishment lead time (RLT).
RLT : It is the time that is needed to order or produce the requested material, the system
determines the RLT according to specific times maintained in the material master record.
Depending on the material type RLT can be calculated according to various time periods.
For ex: In the case of trading goods it is determined according to the planned delivery
time, purchase processing time and the goods receipt processing time.
Availability check including RLT:

Availability is checked up to the end of Replenishment Lead Time. If the material


availability data is calculated on the basis of current date to lie after the RLT, item it self
can be confirmed despite insufficient stock being available. In this case the system
assumes that any quantity requested by the customer can be procured by the material
availability date and consider the goods to be available.
Controlling availability check in sales document processing.
We need to customize SD Specific settings and General Settings
General Control Features: The following control elements need to be maintained in
customizing and in the material master record.
1. Strategy group: The allowed planning strategies i.e. the main strategy and further
possible strategies are combined in a strategy group. It is specified in the Material Master
Record in MRP3 view.
Note: In customizing, the strategy groups are assigned to MRP groups depending on the
Plant so that the strategy group is automatically proposed in the Material Master.
2. MRP group: The MRP group combines the material from the point of
material requirements planning which is specified on the MRP1 view in
the Material Master Data.
SD Specific Control Features:
1. Requirements class: It controls all control features for planning and
is also specifies whether the availability check is to take place for
materials in the SD documents on the basis of ATP quantities and whether
the requirements are to be passed on.
SPRO
Sales and distribution
Basic functions
Availability check and transfer of requirements
Availability check
Availability check with ATP planning or against planning
Define procedure by requirement class
Checking groups:
Checking group controls whether the system is to create individual or
collective requirements in sales and shipping process. In addition a
material block for the availability check with transfer of requirements
can be set here. The checking group can also be used to deactivate the
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 checking groups

Checking rule: We use the checking rule to control the scope of


availability check for each transaction the SD process.
Checking rule in the combination of checking group determines the scope
of availability check
Creating checking rule
SPRO
Material management
Purchasing
Purchase order
Set up stock transport order
Create checking rule
Scope of availability check
SPRO
Sales and distribution
Basic functions
Availability check and transfer of requirements
Availability check
Availability check with ATP planning or against planning
Carry out control for availability check
Go to New Entries and define the scope of check in the combination of
checking group and checking rule.
The following elements can be involved in the availability check
STOCKS:
[]Include safety stocks: Minimum stock at plant/ware house
[]Stock in transfer
[]Include quality inspection stock
[]Include
Inward movement
Purchase orders
Purchase requisitions
Planned orders
Production orders

Out ward movement


Sales requirements
Deliveries
Release orders etc.

If we do not check the field [] check without RLT the system considers
RLT while checking the availability of the material
Note: Blocking the material for availability check
SPRO
Sales and distribution
Basic functions
Availability check and transfer of requirements
Availability check
Availability check with ATP planning or against planning
Define material block for other users
If we check the field Block [] during the availability check of a
material the users cannot make changes in the Material Master, cannot
create PO, cannot create sales orders.

Note: During the Material Master creation the system automatically


proposes the checking group. Further the following setting is required.
SPRO
Sales and distribution
Basic functions
Availability check and transfer of requirements
Availability check
Availability check with ATP planning or against planning
Define checking groups default values.
We need to assign the checking group to the combination of material type
and plant.

Settlement Downpayment with Installment payment


Term
Scenario :- Problem with Down payment settlement using installment payment term.
1. When we create Sales order, (sales item value = 100) use payment term :
0009 (Installment Payment term, 30%, 40%, 30%). In the Billing Plan, I specify 2
records, 1st record is
Downpayment request 30% of Order value, billing type is FAZ . the 2nd record is
Final invoice 100%, billing
type is F2.
2. Create Billing type Down payment request , it will document as Noted item in the
accounting document.
3. Receive Downpayment from customer via FI screen , at this stage the asccounting
document is created as following
Dr. Cash/Bank 30
Cr. Advance from customer 30
4. When I create Billing document for the sales item, the down payment value will be
proposed for settlement at Billing
Creation, I then accept the default value of down payment clearing. The accounting
document is as below
Dr. AR 30 (*split AR by installment payment term)
AR 40
AR 30
Cr. Sales 100
Dr. Advance from customer 30
Cr. AR 9 (DP. 30% * 30)
Cr AR 12 (DP. 30% * 40)
Cr AR 9 (DP. 30% * 30)

It seems SAP settlement Down payment by Installment Payment term. I was wondering
that is there are alternative or an option to setup the Down payment settlement
independent of Installment term. I meant, I don't want to have the last 3 Credit item as
above, I want only 1 line item of credit, the accounting should be
Dr. AR 30 (*split AR by installment payment term)
AR 40
AR 30
Cr. Sales 100
Dr. Advance from customer 30
Cr. AR 30 (Not separate by Installment payment term)
Solutions : Suggesstions on how I could proceed?
Your problem with Down payment settlement is common. Many users object to the down
payment or security lodgement mechanism. In our case we often park and apply the
advance manually to final invoice.
However, following the above case we sometimes use this with our PS orders:
1. Create Sales order, (sales item value = 100) with billing plan with three steps 30%
down payment,30% std billiing on
order completion and 70% on delivery. A little different to your original Billing Plan,
but 1st record is Downpayment
request 30% of Order value, billing type is FAZ . the 2nd & 3rd records are std F2
invoices 30% ,70%.
2. Create Billing type Down payment request , it will document as Noted item in the
accounting document.
3. Receive Downpayment from customer via FI screen , at this stage the accounting
document is created as following :Dr. Cash/Bank 30
Cr. Security deposit payment 30 ( In many countries this may be subject to TAX
laws)
4. Create the First Billing documents , the down payment value will be proposed for
settlement at Billing Creation, then
accept the default value of down payment clearing as these equal each other. The
accounting document is as below
Dr. AR 30
Cr. Sales 30
Dr. Advance from customer 30
Cr. AR 30
5. Create the Second Billing document ( down payment value has expired and will not be
proposed) The accounting

document is as below is then standard for the last installement.


Dr. AR 60
Cr. Sales 60
This alternative provides a cleaner option with the Downpayment.

Sales and Distribution - Upload Condition Pricing


RV14BTCI - Batch Input for Uploading Condition Pricing
After executing the program, you have to use SM35 to process the update program.
Envirionment : 4.6x
Require flat file :ROW 1 BGR00
ROW 2 BKOND1
ROW 3 BKOND2 - no scale
ROW 4 BKOND2 - no scale
ROW 5 BKOND3 - with scale
ROW 6 BKOND2 - no scale
Sample flat file for uploading table A305 - Customer/Material with release status :0BIPRICE 123SAPABAP
X
1VK15
A305V PR00
2ALL 990000123456SAP8204142100
2002043020020401
50USD 100PC
2ALL 990000123456SAP8217168100
2002043020020401
50USD 100PC
3
100PC
2
3
200PC
1
2ALL 990000123456SAP8220133910
There a total of 4 flat file format :BGR00 - Session Header Record

-----------------------------------------------------------------------------------------

| Field name | Description


Length | Dec.
|

| Report header

| 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 |

| Queue start date

| DATS

| XKEEP
| Keep indicator
000001 | 000000 |

| X - don't delete SESS| CHAR

| NODATA
| No batch input
000001 | 000000 |

| /

| CHAR

-----------------------------------------------------------------------------------------

BKOND1 - Header Record

----------------------------------------------------------------------------------------| Field name | Description


Length | Dec.
|

| 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 |

| Table e.g. 305

| CHAR

| KAPPL
| Application
000002 | 000000 |

| App

e.g V

| KSCHL
| Condition type
000004 | 000000 |

| CTyp e.g PR00

| CHAR

| CHAR

-----------------------------------------------------------------------------------------

BKOND2 - Main Data Record

-----------------------------------------------------------------------------------------

| Field name | Description


Length | Dec.
|

| 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

-----------------------------------------------------------------------------------------

BKOND3 - Scale Data Record

----------------------------------------------------------------------------------------| Field name | Description


Length | Dec.
|

| 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

*
* 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.

WITH FRAME TITLE TEXT-001.


R1,
R1,
R1.

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.

DATA: END OF ICDSHW.


DATA: BEGIN OF ITAB OCCURS 10.
INCLUDE STRUCTURE CDSHW.
DATA:
UDATE LIKE CDHDR-UDATE,
USERNAME LIKE CDHDR-USERNAME,
CHANGENR LIKE CDHDR-CHANGENR,
VBELN(10),
POSNR(6),
ETENR(4),
INDTEXT(200),
END OF ITAB.
SELECT * FROM VBUK WHERE VBELN IN XVBELN.
CLEAR CDHDR.
CLEAR CDPOS.
CDHDR-OBJECTCLAS = 'VERKBELEG'.
CDHDR-OBJECTID
= VBUK-VBELN.
PERFORM READHEADER.
PERFORM READPOS.
LOOP AT ITAB.
CASE ITAB-TABNAME.
WHEN 'VBPA'.
IF ITAB-FNAME = 'KUNNR' OR
ITAB-FNAME = 'LIFNR' OR
ITAB-FNAME = 'PARNR' OR
ITAB-FNAME = 'PERNR' OR
ITAB-FNAME IS INITIAL.
MOVE ITAB-TABKEY TO VBPA.
SELECT SINGLE * FROM TPART WHERE SPRAS = SY-LANGU
AND
PARVW = VBPA-PARVW.
IF SY-SUBRC = 0.
REPLACE '&' WITH TPART-VTEXT INTO ITAB-INDTEXT.
ENDIF.
ENDIF.
WHEN 'VBAP'.
IF ITAB-FNAME IS INITIAL.
REPLACE '&' WITH 'Item' INTO ITAB-INDTEXT.
ENDIF.
WHEN 'KONVC'.
MOVE ITAB-TABKEY TO KONVC.
SELECT SINGLE * FROM T685T WHERE SPRAS = SY-LANGU
AND
KVEWE = 'A'
AND
KAPPL = 'V'
AND
KSCHL = KONVC-KSCHL.
IF SY-SUBRC = 0.
REPLACE '&' WITH T685T-VTEXT INTO ITAB-INDTEXT.
ENDIF.
ENDCASE.
IF ITAB-INDTEXT(1) EQ '&'.
REPLACE '&' WITH ITAB-FTEXT(40) INTO ITAB-INDTEXT.
ENDIF.
IF ITAB-CHNGIND = 'I'.
REPLACE '%' WITH ITEXT INTO ITAB-INDTEXT.
ELSEIF ITAB-CHNGIND = 'U'.
REPLACE '%' WITH UTEXT INTO ITAB-INDTEXT.
ELSE.

REPLACE '%' WITH DTEXT INTO ITAB-INDTEXT.


ENDIF.
CONDENSE ITAB-INDTEXT.
MODIFY ITAB.
ENDLOOP.
ENDSELECT.
IF SUDATE = 'X'.
SORT ITAB BY UDATE VBELN POSNR ETENR.
ELSEIF SOBID = 'X'.
SORT ITAB BY VBELN POSNR ETENR UDATE.
ELSE.
SORT ITAB BY USERNAME VBELN POSNR ETENR UDATE.
ENDIF.
LOOP AT ITAB.
CLEAR WFLAG.
IF SUDATE = 'X'.
IF WUDATE NE ITAB-UDATE.
SKIP.
WRITE:/001 ITAB-UDATE,
023 ITAB-USERNAME,
037(10) ITAB-VBELN.
WFLAG = 'X'.
WUDATE = ITAB-UDATE.
WCHANGENR = ITAB-CHANGENR.
ENDIF.
ELSEIF SOBID NE 'X'.
IF WVBELN NE ITAB-VBELN.
SKIP.
WRITE:/001 ITAB-VBELN.
WVBELN = ITAB-VBELN.
ENDIF.
ELSE.
IF WNAME NE ITAB-USERNAME.
SKIP.
WRITE:/001 ITAB-USERNAME.
WNAME = ITAB-USERNAME.
ENDIF.
ENDIF.
IF WCHANGENR NE ITAB-CHANGENR.
WRITE:/023 ITAB-USERNAME,
037(10) ITAB-VBELN.
WFLAG = 'X'.
WCHANGENR = ITAB-CHANGENR.
ENDIF.
IF WFLAG = 'X'.
WRITE: 013 ITAB-CHNGIND,
049 ITAB-POSNR,
057 ITAB-ETENR,
065 ITAB-INDTEXT(60).
ELSE.
WRITE: /013 ITAB-CHNGIND,
049 ITAB-POSNR,
057 ITAB-ETENR,
065 ITAB-INDTEXT(60).
ENDIF.

WRITE:/065 ITAB-F_OLD.
WRITE:/065 ITAB-F_NEW.
ENDLOOP.
FORM READHEADER.
CALL FUNCTION 'CHANGEDOCUMENT_READ_HEADERS'
EXPORTING
DATE_OF_CHANGE
= CDHDR-UDATE
OBJECTCLASS
= CDHDR-OBJECTCLAS
OBJECTID
= CDHDR-OBJECTID
TIME_OF_CHANGE
= CDHDR-UTIME
USERNAME
= CDHDR-USERNAME
TABLES
I_CDHDR
= ICDHDR
EXCEPTIONS
NO_POSITION_FOUND = 1
OTHERS
= 2.
CASE SY-SUBRC.
WHEN '0000'.
WHEN '0001'.
MESSAGE S311.
LEAVE.
WHEN '0002'.
MESSAGE S311.
LEAVE.
ENDCASE.
ENDFORM.
FORM READPOS.
LOOP AT ICDHDR.
CHECK ICDHDR-UDATE
IN XUDATE.
CHECK ICDHDR-USERNAME
IN XNAME.
CALL FUNCTION 'CHANGEDOCUMENT_READ_POSITIONS'
EXPORTING
CHANGENUMBER
= ICDHDR-CHANGENR
TABLEKEY
= CDPOS-TABKEY
TABLENAME
= CDPOS-TABNAME
IMPORTING
HEADER
= CDHDR
TABLES
EDITPOS
= ICDSHW
EXCEPTIONS
NO_POSITION_FOUND = 1
OTHERS
= 2.
CASE SY-SUBRC.
WHEN '0000'.
LOOP AT ICDSHW.
CHECK ICDSHW-CHNGIND NE 'E'.
CLEAR ITAB.
MOVE-CORRESPONDING ICDHDR TO ITAB.
MOVE-CORRESPONDING ICDSHW TO ITAB.
CASE ITAB-TABNAME.
WHEN 'KONVC'.
MOVE ICDHDR-OBJECTID TO ITAB-VBELN.

MOVE ICDSHW-TABKEY(6) TO ITAB-POSNR.


WHEN OTHERS.
MOVE ICDSHW-TABKEY+3(10) TO ITAB-VBELN.
MOVE ICDSHW-TABKEY+13(6) TO ITAB-POSNR.
MOVE ICDSHW-TABKEY+19(4) TO ITAB-ETENR.
ENDCASE.
MOVE '& %' TO ITAB-INDTEXT.
APPEND ITAB.
CLEAR ITAB.
ENDLOOP.
WHEN OTHERS.
MESSAGE S311.
LEAVE.
ENDCASE.
ENDLOOP.
ENDFORM.
TOP-OF-PAGE.
WRITE:/ SY-DATUM,SY-UZEIT,
50 'SALES ORDER CHANGE HISTORY',
120 'Page', SY-PAGNO.
WRITE: / SY-REPID,
60 'SALES ORDERS STATISTICS'.
SKIP.
ULINE.
IF SUDATE = 'X'.
WRITE:/001 'Change Date',
013 'Time',
023 'User Name',
037 'Sale Order',
049 'Line',
057 'Sch No',
065 'Changes'.
ELSEIF SOBID = 'X'.
WRITE:/001 'Sale Order',
013 'Line',
021 'Sch No',
029 'Change Date',
041 'Time',
051 'User Name',
065 'Comment'.
ELSE.
WRITE:/001 'User Name',
015 'Time',
025 'Change Date',
037 'Sale Order',
049 'Line',
057 'Sch No',
065 'Changes'.
ENDIF.
ULINE.
*--- End of Program

User Exits on Sales and Distribution


Where to find the User Exits on Sales and Distribution along with
functionality?
To see the detail go to SPRO --- Sales and Distribution ---- System Modifications --- User
Exits
There you will find all the details by checking IMG Activity Documentation. You will
have User exit for - Sales Document Processing.
This IMG step describes additional installation-specific processing in sales document
processing. In particular, the required INCLUDES and user exits are described.
Involved program components
System modifications for sales document processing affect different areas. Depending on
the modification, you make the changes in the program components provided:
- MV45ATZZ
For entering metadata for sales document processing. User-specific metadata must start
with "ZZ".
- MV45AOZZ
For entering additional installation-specific modules for sales document processing which
are called up by the screen and run under PBO (Process Before Output) prior to output of
the screen. The modules must start with "ZZ".
- MV45AIZZ
For entering additional installation-specific modules for sales document processing.
These are called up by the screen and run under PAI (Process After Input) after data input
(for example, data validation). The modules must start with "ZZ".
- MV45AFZZ and MV45EFZ1
For entering installation-specific FORM routines and for using user exits, which may be
required and can be used if necessary. These program components are called up by the
modules in MV45AOZZ or MV45AIZZ.
You will find all User Exits on Sales and Distribution along with
functionality.

Basic Process of how Packing Works


Let's say you want to pack a material shirt_jai in test_pack.
Using MM01, create material type=packaging test_pack
[SPRO]
IMG-Logistics Execution-Shipping-PackingDefine Packaging Material Types
Let's say JPAC. The settings that I chose:
Plant determ. - Plant is entered manually in handling unit
Pack. matl. cat. - Packaging materials
Generate Dlv. Items - blank
Number assignment - Number range interval 'HU_VEKP'
IMG-Logistics Execution-Shipping-PackingDefine material group for packaging material
Let's say JGRP
IMG-Logistics Execution-Shipping-PackingDefine allowed packaging materials
JGRP - JPAC
MM02: Check settings for the materials
First, test_pack
Sales:General/Plant -> Matl. Grp. Pack. Matls: JGRP (Note)
Sales:General/Plant -> Packaging Mat. Type: JPAC (Note)
Basic Data 1 -> Material: JMAT
Then, shirt_jai
Sales:General/Plant -> Matl. Grp. Pack. Matls: JGRP
Sales:General/Plant -> Packaging Mat. Type: Basic Data 1 -> Material: JMAT
VL01N Outbound Delivery -> Packing
Enter the materials at top and at bottom
(Select shirt_jai and
Edit - Pack)
This is how the basic process of packing works.

The "Packing Process" with an Example


Example:
You created a order for a material(R-1160 - hard disks) for a qty - 120 pieces.
You need to create a delivery and
A)pack 40 pieces each of the material are grouped together into larger cardboard boxes
(PK-100 - shipping/packing material) and
B)these 3 cardboard boxes are put into pallet (PK-095).
Solution:
A)Packing 40 pieces each of material (40 x 3 = 120 pieces)
1)Goto [VL02N] to change the delivery, you already created.
Or you can do the following steps while you are creating a delivery also.
2)Go to "pack" icon.
3)In the upper section, enter the "packing material" (PK-100)
4)In the lower section, change the "partial quantity" to 40 of material R-1160.
5)Select both the lines of upper section and lower section and click the green ok. It
generates a shipping unit/handling unit number.
6)Now, select both lines of upper & lower section & click the button "per part. qty" (New
HU per part qty of material)
Check: click "General Overview" icon to see whether it packed 40 pieces of material in 3
cartons.
B)Packing all 3 cartons in one big carton(PK-095)
1) from above screen, click "pack HUs" (pack shipping unit)
2)enter the packaging material (PK-095) in the upper section and select this line.
3)select 3 lines of PK-100 in lower section since you want to pack them in PK-095.
4)selecting both lines, click "pack" icon.
5)Now all the 3 cartons(PK-100 with 40 pieces each of material) are packed in one big
carton (PK-095).
Check: "General overview" icon.
Then "save" the delivery.

Difference between Condition Type


Please explain the difference between Ek01 ( Actual Cost) and EK02 Calculated
Cost.

These are the condition type that will display the results of the unit costing for certain
type of sales document.
EK01 :
If you use this condition type, the result of unit costing is issued to the first position on
the conditions screen for the item. The value can be used as a basis for price
determination.
EK02:
If you use this condition type, the result of unit costing is simply a statistical value which
you can compare with the price.
Please note the following points :
1) The condition type must have condition category 'Q' (costing).
2) The condition type must agree with the condition type defined for unit costing in the
pricing procedure.
I have a customer who is being offered two discounts ie k007 and k005, now I want
to exclude k007 for the next 2
orders or so? I have set the exclusion indicator for the condition type,but still the
condition is being accepted when I create a sales order. Am I missing something,
how do I do it?
I think u need to change the validity of the condition record for the condition type K007
defining it not valid for that particular 2 months. And also the settings of the
Requirements as it is correct that it overrules the exclusion.

Accumulate the amount of condition types in


accounting document
To accumulate the amount of condition types in accounting document without affecting
the pricing display in billing document.
As an illustration :ZPXX 3500
ZDXX 1000ZWXX 500(all condition types are shown separately in pricing view)

Journal:
Dr Vendor 2000
Cr Sales 2000 (ZPXX - ZDXX - ZWXX)
One way to do it is :Mark the condition types you want to group as statistical and remove the account
assignment key.
Create a subtotal in your pricing procedure that will add them together and put in the
account assignment key for it. This way the individual components will still display on
your pricing screen but FI will only get one posting.

Hiding Price Condition Types on a Sales Document


Up to now you, you still cannot exclude certain condition types and subtotal lines from
being processed or displayed in the condition screen by restricting the authorizations.
You have to implement SAP Note No. 105621 - Authorization check for the condition
screen

Creating New Pricing Procedure


What is the transaction code for creating new pricing procedure and how to attach
it to specific plant?
You create PP in spro > Sales and Distribution > Basic Functions > Pricing > Pricing
Control > Define and Assign Pricing Procedures > Maintain Pricing Procedures
You can't attach PP to specific plant. Pricing Procedure is determined thru trx OVKK.
The defining parameters for pricing procedure determination are:
1. SalesOrg
2. Distribution Channel
3. Division
4. Document Procedure (defined in Sales doc\Billing doc maintenance)
5. Pricing procedure assigned to customer (defined in customer master)
Hope this helps.
Sabir

Reg pricing procedure.


1. Use transaction code v/07 to create a access sequence and assign tables based on which
you want to carry on
pricing as accesses.
2. Use transaction code v/06 to define condition type. It can be for base price, discount,
freight etc.,
(Do assign relevant access sequence)
3. Use transaction code v/08 to define pricing procedure.
4. Assign this to your relevant sales area+ dpp+cupp.
While specifying requirement, we can give reqt no.22 which specifies that plant has to be
set. This is generally done for output taxes since output taxes depend upon the delivering
plant. But directly there is no assignment between plant and pricing procedure.
Hope this helps,

What is "alt cal type" & "alt base value" &


"Requirement field" in the Pricing Procedure
Can any one explain exactly what is "alt cal type" & "alt base value" and also "
Requirement field" in the pricing procedure?
The alternate base value is used as the calculation basis only, while the alternate
calculation is used to modify the final value.
For example, imagine you have a condition type ZZ01, with a condition record
maintained (master data) for $100. Now, condition ZZ02 also exists lower in the schema,
but with a rate of 10%. The standard calculation would result in a final value of $110.
The alternate base value could say, "don't use $100 as the basis -- use the original price
PR00 only, which was $90." Then, the final value would be $100 + (10% of $90) =
$109.
The alternate calculation routine says, "ignore the 10% altogether. Instead, use an
externally calculated 20%." Then, you end up with a final value of $100 + (20% of $100)
= $120.
Put them both together, and you could end up with $100 + (20% of $90) = $118.
Now once again,

Alternative Calculation Type:


Normally if you want to calculate a value you have to use a calculation type for
determinating the value. This calculation type is either addition, subtraction or
multiplication. Similarly SAP also has got a default calculation type in the control data of
the condition type. There you have the options of either Qty based , Fixed Amount Based
or Percentage based.
Here what happens is suppose if you define Your condition type that calculates the base
price of a material on Qty based. Then the calculation will be done based on the quantity
of the material. If the customer orders 10 Nos and you have maintained a unit price of
100 Rs for each material then the value determined is 1000 INR. Similarly if the discount
condition type , you maintain the calculation type as %. This means if you maintain the
value of 10 % in the condition record. Then this percentage is taken as the calculation
type and the condition value is determined.
In some cases you have to forego the default calculation types and use the customer
specific method for calculating a value. For ex if you are calculating the Freight charges
for a Material . it depends on so many criteria like, the weight, volume and also the
minimum amount etc etc, in those cases, you forego the default value and then use the
alternative calculation type in calculating the condition value against the particular
condition.
Alternative Condition Base value :
If you have to calculate any value then you have to have a base value for it. For ex if you
want to calculate the discount of 10 % for a material then you have to have a base value
on which this 10% is calculated. Normally you take the condition value of the base price
of the material to calculate the value.
Now you don't want to take the base value and take other values as base value which are
derived on some formulae. So you create a routine which will do the mathematical
operations in the routine and derive you a value which is now used as the base value for
calculating the condition value for a particular condition type.
Requirement:
A factor in the condition technique that restricts access to a condition table. The system
only accesses a condition table to determine the price if the requirement specified has
been met.
Example:
The system uses an access sequence to determine the price of a material. One of the
accesses in the sequence contains the requirement "in foreign currency." The system only
uses the table behind this access if the sales order for which the price must be calculated
is in a foreign currency.

Re-pricing in a Quotation
How can I, or am I able to find anything on a way of RE-Pricing be done in a
QUOTATION?
You can always 'Update" pricing manually in a quotation the same way you do in a sales
order, either in create or change modes. Menu path Edit --> New Pricing or press the
'Update pricing' button on the item conditions tab.
If you are asking how to reprice a quotation when it converts into a sales order, that can
be done with the copy controls of the Item Category. IMG: Sales & Dist --> Sales --> -->
Maintain Copy Control for Sales Docs --> Sales Doc to Sales Doc (transaction vtaa). Just
choose the combination of documents and the respective item category. The field you
need to be concerned with is "Pricing type".
However, from a business process perspective it makes absolutely NO sense to reprice a
quotation when converting to a sales order. After all, the entire point of using quotations
is to firm up details like pricing before creating the sales order

Quantity Based Discounts in Bulk Quantities Sales


You're looking to implement quantity based discounts in 4.6c. You are trying to sell
items in specific bulk quantities, and only give the discount for specific quantity
intervals.
For example, if a customer orders 1 piece, 2 pieces, 3, etc. of part ABC, the price is
$100.
If the customer orders 10 pieces of part ABC, the price is $50.
However, this is not only a standard minimum quantity discount. If the customer
tries to order 11 pieces, 12, 13, etc. it should return $100 again.
The only values for which $50 should apply are 10, 20, 30, etc. - multiples of the bulk
quantity 10.
You have discussed changing your part number to reflect a bulk qty of 10, however
you have in house consumption that is allowed to consume only 1 part at a time. You
would vastly prefer to keep one part number that you order from the supplier,
consume internally and ship externally.
You are fairly certain there is basic functionality that covers this, but you're just not
sure where to start.

Taking your requirements literally. Standard SAP scale pricing will not do it in that you
only want the reduced price to come into effect when the order quantity is multiple of
some bulk factor.
It is agreed with that creating a separate material number is not a good idea.
You can try this :1. Define/Select a UOM for selling in bulk (i.e. cas, pallet, box whatever)
2. Maintain UOM conversion between your base UOM and this new UOM
3. Configure you bulk pricing condition type by usual means (it should be a base price
rather than discount).
4. Place this new bulk price behind your normal "PR00" price in the pricing procedure
5. Create a new condition base value routine via VOFM where you check XKWERT to
see if it is a whole number. If it is not then set XKWERT to zero.
6. Assign this new routine to your bulk price condition in your pricing procedure in ALT
condition base value column.
7. Maintain bulk price conditon record in the Bulk UOM.
That should do it.

Determine Sales Price with Shipping Point


You are trying to use shipping point as a key field (with sales org. distribution
channel and ship-to party together) to determine the sales price. You created a
condition table with the above key fields, and maintained the relevant setting (access
sequence, condition type and pricing procedure).
There is an error message in the sales order pricing analysis ("access not made" in
the shipping point field).
In the access sequence, you found that the shipping point field's document structure
is KOMK.
Can you put to item level field in the condition table and access sequence?
Structure KOMK refers to header of the sales order, but shipping point of course is on
item level.
You'll have to do some settings to reach your goal, it is possible.
Step 1
Append structure KOMP. Do this by changing through SE11 the table KOMPAZ.
This is the include for structure KOMP.
Add a component e.g. ZZVSTEL with component type VSTEL.
Save, activate.
If you want to make more points, assign search help H_TVST to the component.
Ask a programmer if you don't understand this part.

Step 2
Change user exit MV45AFZZ. Say there that field ZVSTEL should be filled with
information from your shipping point.
Do this under part FORM USEREXIT_PRICING_PREPARE_TKOMP.
The coding should be like tkomp-zzvstel = vbap-vstel.
Save, generate.
Step 3
Make a new table as you did before, but first maintain your new field in Condition:
allowed fields.
When you create your new table you will see you have two shipping points.
With the button technical view you can check which one ZZVSTEL or VSTEL.
Step 4
Finish with the steps you did before. That was ok.
Now, you will see in your sales order that the shipping point is filled with information.

Pricing date based on delivery date


Used transaction VOV8.
This configuration is by order type.
There is a field called proposal for pricing date.
There you can select pricing date as requested delivery date.
A - Proposed pricing date based on the requested dlv.date (Header)
This control is set at the document level as oppose to the condition type level (PR00).
That means your other condition types such as surcharges and discounts are also
determined using the requested delivery date.
If your requirement is for PR00 to alone to be priced at delivery date then this will not
work.

Pricing date based on delivery date


Used transaction VOV8.
This configuration is by order type.

There is a field called proposal for pricing date.


There you can select pricing date as requested delivery date.
A - Proposed pricing date based on the requested dlv.date (Header)
This control is set at the document level as oppose to the condition type level (PR00).
That means your other condition types such as surcharges and discounts are also
determined using the requested delivery date.
If your requirement is for PR00 to alone to be priced at delivery date then this will not
work.

How pricing date is determine in the sales order and


billing document? Where is the setting?
The pricing date is proposed based on the setting you make in the Sales document
configuration. ( T code : VOV8)
You have a field" Prop.f.pricing date " in the Requested delivery date / pricing date /
purchase order date segment.
Then you can choose the follwoing options:
Blank - Indicates the current date as the pricing date
A - Indicates the date based on the requested delivery date
B - Indicates the date based on the order validity start from date
And the pricing in the billing document is copied from thte sales order / Delivery
document..
It again depends on the setting u have in the copy control from order - billng or delivery billing.
In the copy control, in the item settings you have two fields relavant for this.
One is pricing source and the other is pricing type.
The pricing sources are generally the order. But if you want you can change it to other
values mentioned in the drop down,
but this values have no effect if the pricing type is B.
Any other value other than B in the pricing type will take the reference document price
mentioned in the pricing source field.
but for the pricing type B. The new price is determined in the billing order.

Report to Check the Entered Pricing Condition Price


Which is the best transaction code to check the Pricing condition price entered in
"VK11"?
Other than "VK13", to display the price, you can use V/LD - Execute Pricing Report to
check the prices entered into the Pricing Master.
Normally Pricing Report - "07 Cust.-specific Prices with Scale Display" will do.
Other Pricing Reports you can tried are these:
-------------------------------------------------------------------------|LR|Report
title
|
------------------------------------------------------------------------|01|Comparison of Price Lists Without Scale
Display
|
|02|Comparison of Price Groups Without Scale
Display
|
|03|Incoterms with Scale
Display
|
|04|Incoterms Without Scale
Display
|
|05|Price List Types Without Scale
Display
|
|06|Price List Types with Scale
Display
|
|07|Cust.-specific Prices with Scale
Display
|
|08|Cust.-specific Prices W/out Scale
Display
|
|09|Material List/Material Pricing Group with Scale
Display
|
|10|List Mat./Mat.Pricing Groups Without Scale
Display
|
|11|Price Groups With Scale
Display
|
|14|Taxes
|
|15|Material
Price
|
|16|Individual
Prices
|
|17|Discounts and Surcharges by
Customer
|
|18|Discounts and Surcharges by
Material
|
|19|Discounts and Surcharges by Price
Group
|

|20|Discounts and Surcharges by Material


Group
|
|21|Discounts and Surcharges by
Customer/Material
|
|22|Discounts and Surcharges by Customer/Material
Group
|
|23|Discounts and Surcharges by Price
Group/Material
|
|24|Discounts and Surcharges by Price Group/Material
Group
|
|25|VAT/ATX1
|
|26|Canada/USA
|
|27|I.E.P.S
Mexico
|
|28|Conditions by
Customer
|
|30|Conditions by Customer
Hierarchy
|
|31|Price List with Release
Status
|
|AC|
|
|AD|
|
-------------------------------------------------------------------------Fast Links:

Mass Update of condition pricing


You can update the condition pricing for a range of sales order.
For e.g. if you create sales order for 15 months or so, and at the beginning of each year,
you have to update the prices for lots of sales orders.
Other than using VA02 and make an Update of the conditions at item level which is a big
work because you will have lots of open sales order after so many months.
Use VA05, select your Orders and on the result screen :click Edit- > Mass Change -> New Pricing (menu).
or
if you don't want to do that Online, write your own abap report and use Function
SD_BULK_CHANGE (check where-Used at SE37, Trace VA05 on how to fill the
parameters, Function MPRF => New Pricing)

Make Material Master Price of a material as sales price


automatically
The first method is not to set the pricing condition VPRS as statistical.
Simply remove PR00 and it will work fine if you always use VPRS as your pricing base
inside the pricing procedure.
VPRS will reads both prices based on the price control in the material master.
Price control S for standard price.
Price control V for moving average price.
It is this simple if you do not have any other "Prices" in the price procedure.
However, if you are using one pricing procedure where for some items you price using
VPRS and some others using PR00, then you should use requirement routines to enable
the correct price condition type at the right time.
The second method involves more work as you need to write a formula (VOFM) to get
that information.
This is how it goes :1. Set VPRS to be the first step in the pricing procedure and to be subtotal B (as
standard).
2. Set PR00 with alt. calc. type formula, which sets the value of PR00 to be equal to the
subtotal B.
The routine (created with transaction VOFM) is:
RV64A901
FORM FRM_KONDI_WERT_600.
XKWERT = KOMP-WAVWR.
ENDFORM.
The pricing procedure than looks like that:
Step 1 VPRS statistical, subtotal B, reqt 4
Step 2 PR00 Altcty 600

Customer discounts on effort only

-----Original Message----Subject: Customer discounts on effort only


Hi All,
We have a requirement of giving a discount to customer based on the total
amount invoiced so far (across financial years).
Where do we set this up? We have seen so far the discounts are calculated
based on the value of the current invoice.
The discount should be on a graduated scale basis for example
0 - 100000 No discount
100000 - 200000 5%
200000 - and above 10%
This means that discount would only start after the customer's net sale
value crosses 100000.
For example, if the customer has been billed for 99000 and the current
invoice is for 3000, a discount of 5% should be given on 2000 i.e. 100.
Another complication is that, the discount is not based on the total amount
billed so far, but only on the effort billed and not on reimbursements (like
airfares, living expenses, visa charges, beeper charges etc). The discount
applies only to the effort and not to the reimbursements. In the above
example (invoice of 3000) say the effort billed is only 1500, the rest being
reimbursements. The discount is only on the 500. (the rest being taken up by
the lower limit for eligibility of 100000)
For example the customer might have been billed say 150000 so far but actual
effort billed might be only 90000, the rest being reimbursements of actual
costs and hence the customer is not eligible for the discount.
Kindly help,
-----Reply Message----Subject: RE: Customer discounts on effort only
Hi,
The solution for this is Using rebate condition types and suitable condition
records.
Of this to handle your first problem that is the rebate has to be applied
only on the "effort" you have to set up a line in the pricing procedure
which gives the rebate basis i.e the value to be used for rebate cond types.
This I believe solves your problem of rebate only on effort.

Your second problem i.e the discount should start getting applied
automatically when it reaches the first scale for which the values span few
financial years. This I am not really sure whether it can be made possible
in the invoice itself. But a work around is not giving the discount directly
in the invoice but settling it against the rebate agreements by Credit notes
periodically.
Hope it helps.
Thanks
-----Reply Message----Subject: RE: Customer discounts on effort only
Hi
Arent we looking at rebate agreeement. That appears to be a straightaway
solution to your problem. You activate the sales organization and the
payer for that
Regards
-----Reply Message----Subject: RE: Customer discounts on effort only
I am in SAP R/3 rel.30F.
We have 2 options to meet your requirement.
1. Using scale in condition type ( tcode V/06 ), choose scale basis
G.Scale based on a formula ( be: your based amount is invoice ). Define
scale formula. You need ABAPER to define it.
2. Using routine in Alt.calc.type ( tcode V/08 , Maintain Pricing
Procedure ). Here, you also need ABAPER to create routine.
hope this help

Steps to Create Commission for Agent


For creating commission agent, you have to follow below steps.
1) Establish Partner Functions for the Commissionee(s)
Menu Path: TOOLS ->; BUSINESS ENGINEER ->; CUSTOMIZING ->; SALES AND
DISTRIBUTION ->; BASIC FUNCTIONS ->; PARTNER DETERMINATION ->;
DEFINE PARTNER FUNCTIONS
Transaction Code: VOPA

2) Assign the Partner Functions to Partner Procedures


Menu Path: TOOLS ->; BUSINESS ENGINEER ->; CUSTOMIZING ->; SALES AND
DISTRIBUTION ->; BASIC FUNCTIONS ->; PARTNER DETERMINATION ->;
DEFINE PARTNER FUNCTIONS
Transaction Code: VOPA
3) Create a Partner Procedure for the Commissionees
Menu Path: TOOLS ->; BUSINESS ENGINEER ->; CUSTOMIZING ->; SALES AND
DISTRIBUTION ->; BASIC FUNCTIONS ->; PARTNER DETERMINATION ->;
DEFINE PARTNER FUNCTIONS
Transaction Code: VOPA
4) Create New Customer Account Group(s) for Commission Agents
Menu Path: TOOLS ->; BUSINESS ENGINEER ->; CUSTOMIZING ->; LOGISTICS
GENERAL ->; LOGISTICS BASIC DATA: BUSINESS PARTNERS ->; CUSTOMERS
->; CONTROL ->; DEFINE ACCOUNT GROUPS AND FIELD SELECTION FOR
CUSTOMER
Transaction Code: OVT0
5) Assign the Partner Functions to the Customer Account Group(s)
Menu Path: TOOLS ->; BUSINESS ENGINEER ->; CUSTOMIZING ->; SALES AND
DISTRIBUTION ->; BASIC FUNCTIONS ->; PARTNER DETERMINATION ->;
DEFINE PARTNER FUNCTIONS ->; GOTO ->; PARTNER FUNCTIONS ->;
ENVIRONMENT ->; ACCOUNT GROUP ASSIGNMENT
Transaction Code: VOPA
6) Assign the Partner Functions to the Partner Procedure for the Sales Document Header
Menu Path: Tools ->; Business Engineer ->; Customizing ->; Sales and Distribution ->;
Basic Functions ->; Partner Determination ->; Define Partner Functions
Transaction Code: VOPA
7) Assign the Partner Functions to the Partner Procedure for the Sales Document Item
(OPTIONAL)
Menu Path: TOOLS ->; BUSINESS ENGINEER ->; CUSTOMIZING ->; SALES AND
DISTRIBUTION ->; BASIC FUNCTIONS ->; PARTNER DETERMINATION ->;
DEFINE PARTNER FUNCTIONS
Transaction Code: VOPA
8) Edit the Pricing Communication Structure (KOMKAZ) to Hold the New Functions
(Client Independent)
Menu Path: Menu Path: TOOLS ->; ABAP WORKBENCH ->; DEVELOPMENT ->;
DICTIONARY
Transaction Code: SE11
9) Edit MV45AFZZ userexit_pricing_prepare_tkomk (Client Independent)
Menu Path: TOOLS ->; ABAP WORKBENCH ->; DEVELOPMENT ->; ABAP

EDITOR
Transaction Code: SE38
10) Edit RV60AFZZ - userexit_pricing_prepare_tkomk (Client Independent)
Menu Path: TOOLS ->; ABAP WORKBENCH ->; DEVELOPMENT ->; ABAP
EDITOR
Transaction Code: SE38
11) Edit MV45AFZB - userexit_new_pricing_vbkd changing new_pricing (Client
Independent)
Menu Path: TOOLS ->; ABAP WORKBENCH ->; DEVELOPMENT ->; ABAP
EDITOR
Transaction Code: SE38
The following code should be inserted into program MV45AFZZ to allow the system to
re-execute pricing if the user makes a change to the relevant partner function (alteration,
addition, deletion).
13) Add the KOMKAZ Fields to the Pricing Field Catalog (Client Independent)
Menu Path: TOOLS ->; BUSINESS ENGINEER ->; CUSTOMIZING ->; SALES AND
DISTRIBUTION ->; BASIC FUNCTIONS ->; PRICING ->; PRICING CONTROL ->;
DEFINE ACCESS SEQUENCES ->; MAINTAIN ACCESS SEQUENCES
Transaction Code: OV24
14) Create Condition Tables (Client Independent)
Menu Path: TOOLS ->; BUSINESS ENGINEER ->; CUSTOMIZING ->; SALES AND
DISTRIBUTION ->; BASIC FUNCTIONS ->; PRICING ->; PRICING CONTROL ->;
DEFINE ACCESS SEQUENCES ->; MAINTAIN ACCESS SEQUENCES
Transaction Code: V/03
15) Create an access sequence containing the new tables (Client Independent)
Menu Path: TOOLS ->; BUSINESS ENGINEER ->; CUSTOMIZING ->; SALES AND
DISTRIBUTION ->; BASIC FUNCTIONS ->; PRICING ->; PRICING CONTROL ->;
DEFINE ACCESS SEQUENCES ->; MAINTAIN ACCESS SEQUENCES
Transaction Code: V/07
16) Create a new condition type
Menu Path: TOOLS ->; BUSINESS ENGINEER ->; CUSTOMIZING ->; SALES AND
DISTRIBUTION ->; BASIC FUNCTIONS ->; PRICING ->; PRICING CONTROL ->;
DEFINE CONDITION TYPES ->; MAINTAIN CONDITION TYPES
Transaction Code: V/06
17) Add the Condition Type to the Pricing Procedure
Menu Path: TOOLS ->; BUSINESS ENGINEER ->; CUSTOMIZING ->; SALES AND
DISTRIBUTION ->; BASIC FUNCTIONS ->; PRICING ->; PRICING CONTROL ->;
DEFINE AND ASSIGN PRICING PROCEDURES ->; MAINTAIN PRICING

PROCEDURES
Transaction Code: V/08
11) Create Commsission Report ZZCOMMISSION (Client Independent)
Menu Path: TOOLS ->; ABAP WORKBENCH ->; DEVELOPMENT ->; ABAP
EDITOR
Transaction Code: SE38

SD Questions About Pricing Condition


The Most Important Tips in Pricing For SAP SD Module to crack interviews...
Whenever we define our pricing procedures, we remain least interested in creating our
own Condition Types,Condition
Tables & Access Sequences. What we do is, we just define our own pricing procedures
by using the existing condition types (i.e: PR00, K004, K007, KA02, KF00 etc.) & then
assign that Pricing Procedure with " Sales Area, Document Pricing Procedure &
Customer Pricing Procedure " .
After that we put the values against each Condition Types, mentioned in our Pricing
Procedure by using the T-Code "VK11". But we also need to know about the Condition
Tables, Condition Types & Access Sequence Creation. So for that purpose we have to use
the following T-Codes respectively : "V/05", "V/06" & "V/07". Now it will become easy
to create the same.
Also to inform that, using T-Codes is more smarter than following paths through IMG
screen.
Utsav Mukherjee - utsavmukherjee143@hotmail.
What is the difference of VK11 and VK31 (condition records)?
My condition type is PR00 and Access sequence is PR02. And in this access
sequence table 304 is available. Now when I was entering the PR00 in VK31 it
shows error Table 304 is not defining for the condition type PR02. But when I was
entering the PR00 at VK11 it is accepting it.
Difference between VK11 and VK31 - if you go through the menu path you will get the
vk 31 as condition record from the tamplets whereas vk11 as simple condition record. In
VK11 you can store condition record for more than one condition
type. This means you can have same condition record for different condition types.This
feature is given to enhance the system's performane and not to create the duplcation of
the work for each condition type.
Again system is not allowing to store the record in the vk31 for the condition type pr00
and access sequence pr02.This is because if you see this ac seq cointains two accessses
20 and 30 having the same table no.But you see there is the difference between the

technical view of it for transfering the data from document field and condition field,so
you can not maintain the data at VK31.
What is the difference between Header condition and Item condition? I know item
condition applies to each item in a sales document. Header condition can only be
applied to an entire document.
Difference between header and item condition - as YOU CORRECTLY SAID HEADER
CONDITION IS APPLICABLE FOR THE WHOLE DOCUMENT where as item is for
item.Ex-Say fright is dependent on the total weight of all the items in the documents then
header condition adds on weights of all items and calculates the record accordingly.
You have two different types of the header conditions.
a) In one you can duplicate the same value throughout the document for each item.Say
discount 2% at header level which is also applicable to all the items
b)Second is the accumulation of the values of all the item at the header level,as earlier
explained for the weight/fright.
These differenes are controlled through the indicator of group condition in the cond.type
configuration.
And so obviously header condition can not have the condition record and hence access
sequence.
SAP SD Tips by : Vishwajit
Disallowing Condition Types - How I can accomplish the following:
Be able to DISALLOW Z0BP Condition type to be negative ( Invoice Block)
You can modify condition type from customising;
Sales and Distribution->Basic Functions->Pricing->Pricing Control->Define Condition
Types->Maintain Condition Types
Change condition type ZOBP's plus/minus indicator to "A" which means only positive is
allowed. *-- Arvind Rana
In pricing procedure there are column such as requirement, sub total altclty, altbv,
accurals. What are these and where we calculate all these values which we put.
1. Requirement: Denoted by nos and maintained in VOFM, this is a condition required
for a particular condition type to be executed. Eg. PR00: req 2 ie item relevant for
pricing
VPRS/EKO1: req 4 ie cost
Rebate BAO1 Req 24/Req 25 etc

2. Subtotal: this represents where a which table a value is stored, which can be processed
for further calculation.
Eg. for PR00, if this value is to be used for credt check of a customer, we mark the
subtotal as A.
3 Alternate Calculation type: this is also denoted by numbers and maintained in VOFM.
Eg. Suppose for 45 units , each unit is charged $100 per unit, the order value comes out
to be $4500, that is calculation is done as per unit price, if the client wants calculation
type to be based on volume or wieght, alternate calculation type can be configured.
4. Alternate base value: Denoted by no. and maintained in VOFM.
Eg, if the pricing scale is maintained and pricing for 45 units comes under the scale of
$100 per unit., the base value is 45 units, but if the client wants a standard base value in
some casesto be assumed inspite of maintaining the scale, an alternate base value is
confihured, that is the base value based on which the order value is to be calculated
changes.
5. Accruals: Accruals are maintained for rebate agreements, it constitutes the total
accumulated value which customer has earned through rebate, one the rebate for certain
amount is settled the amount from the accruals get deducted.
*-- Nitin

Add a Field To New Condition Table in Pricing


Add a field to a new condition table in Pricing (Condition Technique):I will explain you the process with below example...Please follow steps in below
sequenceTry to add the filed from the field catalog. In case the required combination field is not
there, you can add the field through the following process to filed catalog and create the
condition table. It is most common that one or other time we need to use this function
while configuring multi tasking & complex Pricing Architecture.
Here I'm giving a simple guide to add fields to the Pricing Field Catalogues:
For example you want to use field PSTYV ('Sales document item category') that is
included in structure KOMP ('Pricing Communication Item') as a key for a condition
table.
When you create a condition table (Transaction V/03), however, the system does not
propose the field in the field catalog.

Condition access, field catalog, allowed fields, KOMG, KOMK, KOMP, KOMPAZ,
KOMKAZ, PSTYV are the other terms which we need to know about, to add Fields.
Reason and Prerequisites:
For technical reasons, field PSTYV was included in structure KOMP, however, not in
structure KOMG ('Allowed Fields for Condition Structures').
Proceed as follows:
1. Call up the ABAP Dictionary (Transaction SE11) and create data type ZZPSTYV.
Choose PSTYV as a domain.As a short text, you can use, for example, 'ZZ - sales
document item category' and as a field label, you can use the field labels of PSTYV.Save,
check and activate your entries.
2. Call up structure KOMPAZ in the ABAP Dictionary (Transaction SE11) in the change
mode and make the following entry:
Component Component type:
ZZPSTYV ZZPSTYV
Save, check and activate the change you made.
3. Note:Because of the change in structure KOMPAZ, field ZZPSTYV is now known in
structures KOMG and KOMP because structure KOMPAZ is included in both structures.
4. Call up Transaction SPRO. Navigate to 'Sales and Distribution -> Basic Functions ->
Pricing -> Pricing Control' and execute 'Define Condition Tables'.
Choose 'Conditions: Allowed fields' and include ZZPSTYV as a new entry.
5. Note:Now you can use field ZZPSTYV as a key field when you create a condition
table Axxx.
6. Supply the new field you defined by including the following source code line in
USEREXIT_PRICING_PREPARE_TKOMP:
MOVE xxxx-PSTYV TO TKOMP-ZZPSTYV.
In order processing you find the user exit in Include MV45AFZZ, and in billing
document processing you find it in Include RV60AFZZ.
Consider that you can also use this note as a help if you want to use other customerspecific fields as key fields in a condition table.
For header fields, use structure KOMKAZ instead of structure KOMPAZ and
USEREXIT_PRICING_PREPARE_TKOMK instead of
USEREXIT_PRICING_PREPARE_TKOMP.
For more information, see Transaction SPRO via the path 'Sales and Distribution ->
System Modifications -> Create New Fields (Using Condition Technique) -> New Fields
for Pricing' and OSS Note 21040.

Header Condition and Group Condition


What are header conditions?
Header conditions are those which appear in the header level of any sales order. these
conditions are to be entered manually and get distributed automatically and the basis for
distribution are taken from the NET VALUE of items mentioned at item level.
When we go to the conditions section in a sales order, where the details of pricing is
mentioned, here we add these conditions.
Whenever any Header Condition is used, it overrides the PR00 condition type.
Examples of header condition.
- HA00 - % Based Header Condition.
- RB00 - Absolute or numeric value which applies to all items.
- HB00 - Numeric value or Absolute value.

*-- Vivek Chokshi

What is the difference between group condition and header condition?


Group Condition: You can use this is feature of a condition type to apply price or
discount for a material based on common property.
Header Condition: This is a manual condition which you apply to header (Condition
screen) of a sales document. This amount is applicable to all items.
Usage of this feature is to apply price / discount for a specific group of materials.
1. You maintained a discount based condition record fbased on material group ( = 01 for
example). You maintained scales also.
Qty
1 - 10
11 - 50
51 - 150

Discount
Rs. 100.00
Rs. 105.00
Rs. 110.00 etc.

2. You are creating a sales order for a customer with five different items with different
quantities as below
ITEM 1 - 25 No's
ITEM 2 - 3 No's
ITEM 3 - 12 No's

ITEM 4 - 27 No's
ITEM 5 - 62 No's
All the material is having the material group = 01.
3. While calculating the discount, because of this group condition, system add the
quantities of items which have material group = 01. In the above example total quantity is
= 109. System apply a discount of Rs. 110.00 to each item irrespective of the individual
quantities.
4. If you have not activated the group condition feature, system determines the discount
value based on individual item quantity which is as below.
Discount
ITEM 1 - 25 No's
Rs. 105.00
ITEM 2 - 3 No's
Rs. 100.00
ITEM 3 - 12 No's
Rs. 105.00
ITEM 4 - 27 No's
Rs. 105.00
ITEM 5 - 62 No's
Rs. 115.00
5. Is it clear now. Just try a sales order and see the out come
Procedure to Test:
1. Create 3 materials. Maintain Material Group of each item is same.
2. Activate the condition type as a group condition.
3. Create a condition record for this condition type with scales.
4. Process a sales order for a customer with these three material with different quantities.

Steps Involved In Condition Technique


What are the 8 steps involved in condition technique?
By: Rohit Joshi
It starts with an understanding of the factors that influences the Price. Lets say it depends
on Customer and Material. With this understanding now we will start with the Table
where we will pass the above parameters. There is a table 5 which already has Customer
and Material so we can now copy and rename it or use the same table in our Pricing
Procedure.
T Code VOK0
Step 1. Define/Choose your Table (with the requirement parameters that influence the
price)
Step 2. Define your Access Sequence and include the above Table in your Access
Sequence
Step 3. Define your Condition Type (There are four Price Types Basic Price, Discount,

Freight and Tax) and include your Access Seq. Its always better to copy the Price Types
provided by SAP.
Step 4. Now comes your Pricing Procedure where you include include Condition Types
and format.
Step 5. Now comes Procedure Determination where you specify the Document Pricing
Procedure and Customer Pricing Procedure along with Sales Organisation, Distribution
Channel.
Step 6. Maintain Condition Records for your Condition Types
I guess you can make it 8 Steps by dividing some of the main steps. Few important things
to note is following..
1. XD01 - Create Customer - Always ensure that you pick the right Customer Pricing
Procedure from here.
2. VA01 - Sales Order - Ensure that you have the right Document Pricing Procedure from
here
3. While Creating Access Sequence, check your Fields and ensure that they appear with
any warning (Highlighted in Red)
4. Do not forget to mention your Access Sequence while defining your Condition Type
5. Always remember that your Procedure Determination has only Basic Price as
Condition Type
6. Do not forget to mention the Range (From To) while creating your Pricing Procedure.
I made most of the mistakes that appear above. Hope it helps.

Sales Order Freight Condition In Header Condition


ERP SAP ==> SD SAP
Common questions:
We are using the Freight in Header Condition. I maintained two line items in the
Sales Order. So the Header freight is splitting irregularly for two line items (in item
conditions) . How it is happening? Any formula is there?
Header Conditions - Automatic pricing does not take header conditions into account; you
can not create condition records for them in the standard system.
Header conditions are entered manually in order processing. R/3 includes the following
header conditions:
- Percent discount (HA00)
- Absolute discount (HB00)
- Freight (HD00)
- Order value (HM00)

Header Condition: If this condition is marked as a header condition, it is possible to enter


the condition type in the header condition screen. Checks for changing the condition
manually are unaffected by this.
Group Condition: Group conditions are helpfull incase of discounts. If group condition is
selected then the discount percentage or quantity is applicable for the total sum of the
quantity in the PO for those materials belonging to the same material group. Suppose if
two materials of same matl grp have discounts for 100 qty and above but in PO if the two
matls are bieng procured for 50 qty then they cant avail discounts but if group condition
is selected then the sum of the quantity of both matl of same matl group is considered (50
+ 50) and discount can be availed for 100 qty.
Further Group condition: Indicates whether the system calculates the basis for the scale
value from more than one item in the document.
The nature of header condition is that whatever value you are giving in sale order /
billing, line item wise, it will be distributed proportionately.
If you access V/06 and the header condition type, you can see that the condition type
- does not have any access sequence
- field Group condition is selected
Normally Freight Header condition like condition type "HD00" is calculated on the basis
of weight. This is a Manual condition and you have to enter it in the header screen. It
will be proportionately distributed on each item on the basis of weight. If you will
uncheck the group condition field, the same freight amount will be copied to each item,
possibly irrespective of different weight which may not be logical.
That is the standard behaviour of the header condition type.
Based on whether the group condition field is ticked on or off, it will either split the
header condition value to the items on pro-rata basis or it will just duplicate the header
value to all the items.
What you are experiencing with Fixed Amount Header conditions is standard behaviour.
Please see below Notes:
- 876617 FAQ: Header conditions / Header condition screen
- 317112 Behavior of conditions w/ calculation rule B changed
- 485740 Conditions with fixed amount in copy activities
To achieve what you wish (absolute amount), solution is in the below
Notes:
- 84605 Transfer absolute amount condition to billing doc.
- 25020 Value changes during over/underdelivery
- 25144 Freight conditions during milestone billing

How To Use Condition Exclusion Type In SO


What is meant by condition exclusion for Condition types and
records?
Condition Exclusion
The system can exclude conditions so that they are not taken into account during pricing
in sales documents.
Material 4711 costs 150 USD. Some customers receive a discount of 10 USD per 100
pieces.
However, a specific customer can buy the material for 100 USD. Since this is a
particularly good price, the customer should not also have a discount of 10 USD per 100
pieces. Therefore, this discount is to be excluded from pricing.
To do this, you must follow two steps:
You must set a condition exclusion indicator for the price. You can do this in two ways: If
you want to set the condition exclusion indicator a follows then you specify it:
- for all condition records of a condition type (e.g. with condition type PR00) when
defining a condition type in SD Customizing
- for an individual condition record (e.g. only for material 4711) in the detail screen of a
condition record (in the Condition exclusion field)
You must set a condition for the discount in the pricing procedure in Customizing for
sales. If this condition is set, the discount is not valid if the condition exclusion indicator
is set. Condition 2 is available in the standard R/3 System.
The condition exclusion indicator is not valid for condition supplements.
This means that if a condition record contains condition supplements they will be taken
into account during pricing.
Condition Exclusion Group
In any normal situation there could be more than one condition type in a pricing
procedure offering a discount to a customer. Should the discounts be automatically
determined, there is the risk that the customer will receive all the relevant discounts and
thus purchase the product for a lower price than he should.

By using condition exclusion groups you can ensure that the customer does not receive
all the discounts, but instead only receives the best of the available discount condition
types.
Menu path IMG - Sales & Distribution - Basic functions pricing condition
exclusion condition exclusion for groups of conditions (OV31).
A condition exclusion group is merely a grouping of condition types that are compared to
each other during pricing and result in the exclusion of particular condition types within a
group or entire groups. It is important to note that the condition types you want the
system to compare must exist in the pricing procedure and must have valid condition
records created for them.
If for example, a sales order is created using the pricing procedure that the exclusion
group is assigned to, you can see that the condition offering the most favorable discount
to the customer is represented in the pricing procedure.
For instance, condition type K007 has offered a discount of 10% off the sale price or a
real value of $30, while another condition type K005 has offered a real value discount of
$10. The system then takes the best discount for the customer between the two, which is
K007 and makes the other discount K005 inactive. This can be seen by double clicking
on the condition type K005, where you can find a entry saying Inactive A condition
exclusion item.
There are four possible methods of using condition exclusion groups
A best condition between the condition types
B best condition within the condition types
C best condition between the two exclusion groups
D exclusive
E least favorable within the condition type
F least favorable within the two exclusion groups
Configuring Condition Exclusion Groups
First step is to define a condition exclusion group by using a four character alpha
numeric key.
Next step is to assign the relevant condition types to the exclusion groups such as
discount condition types, freight condition types.

After completing the assignment of the condition types to the exclusion group, proceed
with assigning the condition exclusion group to the relevant pricing procedure.
After selecting the pricing procedure for which you want the condition exclusion to be
active, select the folder Exclusion where you can assign the relevant condition exclusion
procedure to the relevant condition exclusion group.
When using the condition exclusion group to find the best condition record in a condition
type only use one condition type per exclusion group. The most important thing to
remember here is to deactivate the Exclusive Indicator on the access sequence assigned
to that condition type. Otherwise, the system will merely find the first condition record
and stop searching for other records.

Pricing Report & Condition Index


What is difference between pricing report & condition index?
Pricing Report:
A Pricing report basically helps to get the list of all the pricing details which we have
maintained in the system. We can get details of all the condition types including the
scales. We can get the details as per our requirement i.e., Sales org/Dc/Division/Plant
/material etc wise. The selection criteria would be as per the Key combination which you
select in the IMG screen
You get following information from pricing report.
1. It informs you about the customer specific price agreements that were made within a
certain period
2. From pricing report you can know which condition records exist for freight charges
3. Which condition records exist for customers in a particular region or country
You can create your own pricing reports with V/LA.
Also
V/LD is very useful. This can be customized.
The sales personnel use it to
1. get information for price (discounts) that existed at previous period (Say June 200X)
2. Inform potential buyer about the current price (and discounts)
3. Review price and discounts.

Though all the above T Codes and there are many More standard SAP Reports have very
high utility, it is not widely used. Clients prefer customized reports when it comes to
pricing reports - all Z programs and Transactions.
These kind of reports are generally required by the Top Management for periodical
review // Finance team for price control // Master data team for record purposes // Process
audits by Internal/external agency // Of late, for every SOX audit done in the
company...especially the change records for prices.
Condition Index
Condition index is very useful for searching the condition record for a customer.
It becomes easier and faster to search for condition records for a customer or material just
like it become easier to search a topics in the book with help of index.
You have to mark the "condition index" check box in the condition type and you have to
activate the index in customization.
You can set the discount for fast ten orders through "condition update".
First, in your discount condition type(V/06) activate the "condition update" check box.
Second, in the condition record, in additional data put "maximum number of orders" as
10.
You may also create the condition record for discount through VK31. Now go to
change(VK32), scroll to the right, you will find a column "N". This is maximum number
of order field. Here you can put value 10 and save it.
Now, system will give the discount to the first 10 orders.

What Is Condition Base Value?


Where does the standard condition base value (Default one) is
determined for a Condition type?
First check the Material Master UOM Conversion - Additional Data - Units of Measure.
Condition base value is a concept used in pricing procedure and actual term used is
alternate condition base value. This is a formula assigned to a condition type in order to
promote an alternate base value for the calculation of the value.
If you have to calculate price of a material then you have to have a base value for it. For
e.g. if you want to calculate the discount of 10 % for a material then you have to have a

base value on which this 10% is calculated. Normally you take the condition value of the
base price of the material to calculate the value.
Now, you don't want to take the base value and take other value as base value which are
derived on some formula. So you create a routine which will do the mathematical
operations in the routine and derive you a value which is now used as the base value for
calculating the condition value for a particular condition type.
As per my understanding there is Alternative Condition Base Value, It is a routine which
is assigned to the condition type in the pricing procedure.
Go to transaction V/08 here you select pricing procedure then go in to the control data of
the pricing procedure here you can find Alter native Condition
Base Value in the 14th column of the pricing procedure control data.
What is the difference between:
1. Conditional base value
2. Conditional value.
3. Conditional amount
1. Conditional base value
When a value is derived for a condition type, based on certain calculation this value is
taken as base.
2. Conditional value.
For the number of units ordered depending on the condition amount mentioned this value
is derived.
3. Conditional amount
This is nothing but the unit list price what you are mentioning for the line item.
1) What is the role of alternative calculation type, condition base value, requirement
in pricing procedure?
2) Where do we define value for alternative condition base value and alternative
calculation type so that system picks up different value, when the value for
alternative condition base value and alternative calculation type is mention in
pricing procedure?
**Alternative Calculation Type:**

This function allows you use a formula as an alternative in finding the value of the
condition type, instead of standard condition technique. this can be used to calculate
complex tax structures.
Alternative condition base value
The alternative condition base value is a formula assigned to a condition type in order to
promote an alternative base value for the calculation of a value.
Example
An absolute header discount is, for example, distributed in the standard system according
to the cumulative value of the items.
If the system distributes the absolute header discount according to volume based on the
Alternative formula for condition base value , a header discount of $30 results in the
following discounts:
Item Value Volume .
1 $1000 2 cbm
2 $500 4 cbm
Stand. disc. Volume disc.(With Formula)
$20 $10
$10 $20
Condition formula for alternative calculation type
Alternative formula to the formula in the standard system that determines a condition.
Requirement
This function is used to assign a requirement to the condition type. This requirement can
be used to exclude the system from accessing the condition type and trying to determine
the value. This can be used to specify that the condition type should only be accessed if
the customer has a low risk credit.

Rounding Off Condition Not Appearing In Sales


Order

In sales order Diff condition type is not coming, when checked in


analysis it says requirement 013 is not fulfilled, but in pricing procedure I've
assigned the requirement as 013, alt.cal type-16, alt CBV-4.
Please refer to the following documentation for requirement 013:
RE LV61A013
Title
Rounding as per Table T001R
Purpose
This is an example of a pricing requirement. This requirement is met if an entry has been
made in the 'Unit to be rounded up to' field in Table T001R. Table T001R stores the
rounding rules for company code and currency combinations. This requirement can be
assigned to the condition type in the pricing procedure that is used to calculate the
difference when rounding. Using this requirement, the difference is only calculated when
necessary.
Example
A company has the requirement to carry out rounding for certain company code and
currency combinations. This information is stored in Table T001R. In the document
pricing procedure, the user has configured the SAP delivered condition type DIFF to
calculate the difference when rounding occurs. The user also assigns pricing requirement
'13' to the condition type DIFF in the pricing procedure so that the condition is only
calculated when a corresponding entry has been maintained in the table T001R.
Please check the customizing table T001R.
or try this go to IMG path --> SAP Netweaver --> General Settings --> Currencies -->
Define rounding rules for currencies. Here maintain the rounding unit which will be
stored in Table T001R.
then in the t-code ob90 you can maintain that.
Go to v/08 maintain in condition base value 16 routine.
Purpose
This is an example of a condition value formula. This type of formula can be used to
influence the value shown for the condition in pricing. A condition value formula is
assigned to a condition type or value line in the pricing procedure.

Formula '16' was delivered along with condition type DIFF to support the rounding unit
rules that can be defined in T001R for company code / currency combinations. Condition
type DIFF was delivered to perform the rounding at the end of the pricing procedure with
the total value. Using formula '16', the system computes the rounded value and assigns
the difference to the condition type DIFF.
In-17 c.base value
Round according to T001R
Purpose
This is an example of a condition value formula. This type of formula can be used to
influence the value shown for the condition in pricing. A condition value formula is
assigned to a condition type or value line in the pricing procedure.
Formula '17' was delivered so that a condition value could be rounded off according to
the rounding unit rules (e.g. plus 5 or 10 or 100 units) that can be defined in T001R for
company code / currency combinations. When formula '17' is assigned to a condition
type, the condition value will always be rounded using T001R.
Where I can do setting of rounding profile for a new created condition type?
1) Create Rounding rule ( Unit of measure rounding rules )
Path :
Materials --> SPRO Quantity Optimizing and Allowed --> Order Optimizing -->
Purchasing --> Management Unit of Measure Rounding Rules --> Logistics Units of
Measure
Here give new rounding rule and % rounding up and down values
2) Create Unit of measure groups
Path :
Order Optimizing --> Purchasing --> Materials Management --> SPRO Unit of Measure
--> Quantity Optimizing and Allowed Logistics Units of Measure Groups
Create new group for YD and ROL
3) Dynamic rounding profile
Path :
Order Optimizing --> Purchasing --> Materials Management --> SPRO Maintain
Rounding --> Quantity Optimizing and Allowed Logistics Units of Measure Profile

Here give Rounding profile name and plant and click on Dynamic to create new profile
In next screen give desc. For rounding profile, rounding off method as 2, and rounding
rule which you have created.
Assign created Rounding profile in info record also UOM group
Maintain minimum order qty as 1 Rol and Order unit as ROL in Info record
In material master maintain conversion as 1 Rol = 3500 yards

How To Create Field in KOMP, KOMG


New Fields in Pricing
To use a field in pricing, one creates a condition table. This condition table is created
using the allowed fields from the field catalog. Should the fields one requires not be
included in the list of allowed fields, one can add the fields from the list of available
fields. However, one may find that a new field may not be in the list of available fields.
For this reason, one must create new fields for pricing. The document and item data in
SD is stored in data tables, such as VBAK and VBAP (for the order transaction). Many of
the fields from these tables are available in the field catalog.
The field catalog is a structure (KOMG) that consists of two tables (KOMK and KOMP).
These tables contain the header and item data for pricing respectively. They are called
KOM x because they are communications structures used to communicate the
transaction data with the pricing procedure. Table KOMG contains the fields of tables
KOMK and KOMP.
If you require a field that is not in KOMG, it means that it is not in KOMK or KOMP.
This means that the field you require cannot be used in pricing because there is no
communication of this field from the transaction to the pricing procedure via the
communication structures.
To use a field not defined in the field catalog, you need to add this field to the KOMK or
KOMP structures, and then write the ABAP code to transfer the data in the field from the
transaction tables to the communication structure. Follow these steps:
1. Create the field in the KOMK (header data) and KOMP (item data) tables using the
standard includes provided for this requirement.
2. Write the code in the user exit to read the transaction data and transfer it to the KOM
x structures.

Menu Path
The menu path here is IMG, Sales and distribution, System modification, Create new
fields (using the condition technique), New fields for pricing.
Adding the Field to KOMK and KOMP
This process requires some knowledge of the ABAP dictionary and how to use the ABAP
dictionary to create and change fields and tables. You may have to use an ABAP skill to
assist you. If the field is from the header table (for example, the order table VBAK),
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.

Billing cannot be Release to Accounting

This SAP message will appear if the system is unable to find the G/L codes match from
the configuration in transaction VKOA
No account is specified in item 0000001001
Message no. F5 670
Diagnosis
No account was specified for account type "S" in item "0000001001" of the FI/CO
document.
System Response
The Financial Accounting program cannot process the document.
Procedure
A system error has probably occurred in the application you called up. Check the data
transferred to item "0000001001" of the FI/CO document.
Assuming that one of the key combination is Account Assignment Group, you will have
to check whether have the Account Assignment Group been input in the Customer Master
(Billing tabstrips - Accounting sections - Field name: Acct assgmt group).
The Account Assignment Group will be copied automatically into the sales order.
Check whether the configuration in transaction VKOA have been done correctly.
Check whether the sales order (VA03 - Goto - Header - Financial Accounting - Field
name: AcctAssgGr) have been filled in automatically.
Check whether the billing document (VF03 - Goto - Header - Header - Field name:
AcctAssgGr) have been filled in automatically.
If the customer master have not been maintained and the user have already input the sales
order, then the user will have to maintained the Account Assignment Group manually
either in the sales order or the billing documents.
Take note for One Time Customer, the user have to input the Account Assignment Group
manually into the sales order. One Time Customer can be used by many customer,
therefore, the system will not be able to determine the Account Assignment Group
manually.

Default Start Variant for VF04


There are two types of variant in VF04.
One is the selection variant before clicking the Display Billing List Button.

You can set the start variant via SE93 using the Change mode.
The second variant is the Billing Layout display variant.
This is after clicking the Display Billing List Button.
After creating your layout display variant, you can set it by clicking :Settings ->
Display Variant
-> Administration
Select the layout display variant you want and click :Edit ->
Define default settings

Condition Exclusion which will be


determined in the billing document
The system can exclude conditions so that they are not taken into account during
pricing.
For example:
Material 4711 costs 150 USD. Some customers receive a discount of 10 USD per 100
pieces.
However, a specific customer can buy the material for 100 USD. Since this is a
particularly good price, the customer should not also have a discount of 10 USD per
100 pieces. Therefore, this discount is to be excluded from pricing.
To create a condition exclusion procedure which will be determined in the billing
document.
Assign the procedure to the pricing schema, and maintain copy control so that pricing is
not copied from Sales Order.
To achieve this, copy the standard pricing to a ZXXXX Pricing.
Define new document pricing procedure in SM30 - V_TVKV for billing.

Assign new document pricing procedures to billing types in SM30 - V_TVFK_PR


Define the Condition Exclusion Groups in OV31.
Assign the Condition type for the Condition Exclusion Groups in OV32.
Assign the Billing Pricing Procedure in VOK8 for the Condition Exclusion Groups.
When billing document is being created just enter manually your new
price and the pricing program logic will include only the higher price
one, excluding the rest that are lower price.

Steps for creating a new or changing an existing Billing


Document Types
Create/Change your Billing types configuration in VOFA.
Some of the IMG stuff are :1) To block automatic transfer of the billing document to accounting, mark the field.
Indicates whether the system blocks automatic transfer of the billing document to
accounting.
During document processing, you can manually transfer blocked billing documents to
accounting by selecting:
Billing -> Change -> Release accounting
2) Account determination procedure
3) Output determination procedure etc. ...
After customizing, use transaction VCHECKVOFA to check your configuration :1) Proforma billing types: If it is a proforma billing type, (VBTYP = U), the field must
be blank and the account determination procedure must be empty.
2) Cancellation billing document types: : A check is made to see if the cancellation
billing document type has the right VBTYP. An F2 invoice, for example, (VBTYP 'M')
can only be canceled with billing type S1 with VBTYP 'N' . A billing type with
VBTYP '5' can only be canceled with the VBTYP '6' and vice versa.

3) Cancellation billing document type partner functions A check is made to see if the
cancellation billing document type partner functions are empty or if those that
correspond to the billing type used are empty.
Next, make sure that you maintain the copy control for the Billing Types:
Sales documents in VTFA
Target
e.g. F1 - Invoice
F1 - Invoice

Source
OR - Standard Sales Order
ZOR - Your Sales Order

Billing documents in VTFF


e.g. G2 - Debit Memo F1 - Invoice
G2 - Debit Memo F2 - Invoice
Deliveries in VTFL
e.g. F1 - Invoice
LF - Delivery
F1 - Invoice
ZOR - Your Delivery
Usually for copy control, you let the rest of the settings remains as SAP defaults.
You only assign the new Billing Document Types.
After that use transaction VCHECKTVCPF to check your Copy control customizing.

Billing Block will not worked if you did not assign it


Define the possible block indicators in SM30 - V_TVFS
and
allocate them to the billing types concerned in SM30 - V_TVFSP.
Your Billing Block will not worked if you did not assigned it to the desired billing types.
You can auto block by :1. sales document type in transaction VOV8, fields Billing Block,
or

2. item categories in SM30 - V_TVAP, by filling the fields Billing Block.

Billing Plan for Milestone Billing


Milestone billing means distributing the total amount to be billed over
multiple billing
dates in the billing plan.
As each milestone is successfully reached, the customer is billed either
a percentage of
the entire project cost or simply a pre-defined amount.
During sales order processing, the system determines from the item
category whether a
billing plan is required and, if so, which type of plan
The type of billing plan that is determined at this point is set up in
Customizing and
cannot be changed in the sales document.
Billing plans for periodic billing and milestone billing plans for
project-related milestone
billing have different overview screens so that you can enter data
relevant to your
processing.
For example, for milestone billing, you must be able to enter data to
identify the
individual milestones.
IMG configuration requires :1.

Maintain billing plan types for milestone billing in OVBO.

2.

Define date description in SM30 - V_TVTB.

3.

Maintain Date Category for Billing Plan Type IN OVBJ.

4.

Allocate date category in SM30 - V_TFPLA_TY.

5.

Maintain date proposal for Billing Plan Type in OVBM.

6.

Assign Billing Plan Type to Sales Documents Type in OVBP.

7.

Assign Billing Plan Type to Item Categories in OVBR.

8.

Define rules for determining the date in OVBS.

Milestone billing is typically used for billing projects, such as plant


engineering and
construction projects. Such projects often include a series of
milestones that mark the
completion of different stages of the work. In the SAP R/3 System,
milestones are defined

in a network along with planned and actual dates for the completion of
work. The milestones
are also assigned to the billing dates in the billing plan.
Each milestone-related billing date is blocked for processing until the
Project System
confirms that the milestone is completed.
Delivery-relevant order items for which a milestone billing plan applies
are billed on the
basis of the requested delivery quantity and not on the total of the
confirmed quantities.
The connection between the project and the sales document item is made
in the individual
schedule lines of the item. Each schedule item can be assigned to a
network in a project.
To display the project-related data for a schedule line, proceed as
follows:
In one of the overview screens of the sales document, select
1.
2.

Item -> Schedule lines.


Mark the schedule line and select Procurement details.

The following figure shows an example of milestone billing where only


the Contract have
been billed :
Order

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

Billing Plan Function and Processing


Explain what is Billing Plan.
Billing plan processing includes the following functions:

Automatic creation of billing plan dates


Pricing
Billing block
Billing index
Billing status
Billing rule for milestone billing
Fixed dates in milestone billing
Document flow
Creating with reference
Exchange rate determination
Automatic Creation of Billing Plan Dates

In Customizing for Sales, you control how the system automatically creates the schedule
of dates in a billing plan. The system determines the schedule of individual dates based
on general date information, such as the start and end dates. This general date information
is copied either from contract header data or from proposals in the billing plan type.
Pricing
Sales document items are billed as each billing date in the plan becomes due. The system
determines the amount to be billed either from the condition records that are applicable to
the item or from the values that are explicitly entered in the billing plan for a particular
billing date. In milestone billing, for example, you can specify a percentage to be billed
or an actual amount.
Billing block
A billing block can be set for each date in a billing plan. The block prevents processing
for a particular billing date but does not necessarily affect any of the other dates in the
plan. In milestone billing, the system automatically sets a billing block for each billing
date. This block remains in effect until the project system reports back that the milestone
in the corresponding network has been successfully completed. At this point the system
removes the block.
Billing index

For every billing date in a plan, the system creates and updates a billing index. If a billing
date is blocked for billing, the system copies this information into the index.
Billing status
The system assigns a billing status to each billing date in the plan. The status indicates to
what extent the billing has been processed for that particular date. After billing has been
carried out successfully, the billing status is automatically set to C. This prevents a
billed date from being billed again.
Billing Rule for Milestone Billing
For every date in the milestone billing plan, you can specify a billing rule. The rule
determines how the billing amount for the particular date is calculated. For example, you
can specify whether the billing amount is a percentage of the total amount or whether it is
a fixed amount.
In addition, you can specify that the amount to be billed is a final settlement that takes
into account billing that has not yet been processed. For example, price changes may take
place after billing dates in the plan have already been processed. The price differences
can be taken into account during final settlement.
Final settlement is not automatically proposed in the billing plan by the system; you must
enter it manually during processing.
Fixed dates in milestone billing
You can control for each date in a billing plan, whether the date is fixed or whether the
system copies the date from the planned or actual milestone dates in a project.
Document flow
After a particular date in a billing plan is processed for billing, the system updates the
document flow for the corresponding sales document item.
The document flow for the sales document displays the following data:

Creation date
Billing date
Billed value

Creating with reference


When you define a billing plan type in Customizing for Sales, you can enter the number
of an existing billing plan to serve as a reference during subsequent billing plan creation.

During sales order processing for items that require billing plans, the system
automatically proposes the reference plan and, if necessary, re-determines the billing
dates (based on the current date rules) for inclusion in the new billing plan.
Exchange rate determination
In the billing plan with partial billing, you can store a certain exchange rate for each date.
The amount billed is the amount determined after using this exchange rate to convert
from the local currency into the document currency.
An exchange rate can also be stored at item level for the sales document (field: Exchange
rate for FI on the Billing tab page. This fixed rate is valid for all dates in the item billing
plan for which no rate is specified in the billing plan. If an exchange rate is entered both
for the date in the billing plan and at item level in the exchange rate field, then the system
uses the rate specified for the date during billing.
If no exchange rate is entered for the the date or at item level, then the system uses the
exchange rate used for invoice creation and it is forwarded to FI.
When using a header billing plan, all billing plans linked to this
header billing plan are automatically updated. If, for example, you
enter an exchange rate manually for the first date in the header billing
plan, this is automatically copied to the corresponding dates for the
item billing plans.

SAP Billing - Combine Billing for deliveries with


different date
When using transaction VF04 or Billing (background), the date of the billing document
(e.g. the current date) must be entered (In VF04 : settings, default data.)
In VF06 or background: variant with parametrization) to avoid an unwanted split due to
the billing date.
This OSS notes is very helpful :11162 - Invoice split criteria in billing document
36832 - Invoice split in fields from the sales order

Billing Spilt by Item Category


Is it possible to split invoice Item category wise. I mean If in sales order there is
TAN and TANN then the invoice should split,is it possible?

Naina
Yes, it is possible. Create a modification of copy control routine for billing and use
VBAP-PSTYV as an additional split criteria there.
Martishev Sabir
Thank you for your reply. Can you please tell me the exact steps what should I add
under that(additional split criteria).
Naina
In trx VTFA (if your billing is sales order based) choose your billing type and SO type,
there select your item categories and there select the field VBRK/VBRP data. In that field
you will see the currently used routine. With the help of your ABAP guy create a copy of
that routine under a different number and add your lines of code. Let's say you use
routine 001.
FORM DATEN_KOPIEREN_001.
* Header data
* VBRK-xxxxx = ............
* Item data
* VBRP-xxxxx = ............
* Additional split criteria
DATA: BEGIN OF ZUK,
MODUL(3) VALUE '001',
VTWEG LIKE VBAK-VTWEG,
SPART LIKE VBAK-SPART,
END OF ZUK.
ZUK-SPART = VBAK-SPART.
ZUK-VTWEG = VBAK-VTWEG.
VBRK-ZUKRI = ZUK.
ENDFORM.
This is how it should look after modification:
* Header data
* VBRK-xxxxx = ............
* Item data

* VBRP-xxxxx = ............
* Additional split criteria
DATA: BEGIN OF ZUK,
MODUL(3) VALUE '001',
VTWEG LIKE VBAK-VTWEG,
SPART LIKE VBAK-SPART,
PSTYV LIKE VBAP-PSTYV, <- New line
END OF ZUK.
ZUK-SPART = VBAK-SPART.
ZUK-VTWEG = VBAK-VTWEG.
ZUK-PSTYV = VBAP-PSTYV. <- New line
VBRK-ZUKRI = ZUK.
ENDFORM.
After this routine is created and activated place it as the default copy control routine
instead of the old ones.

Maximum number of items in FI reached Message no.


F5 727
If you hit the above erros when you create an invoice in SD, the corresponding
accounting document is not created.
The error is as follows:
Maximum number of items in FI reached Message no. F5 727
Diagnosis
The maximum number of items for an FI document ('999') has been exceeded.
System response
FI documents have a 3-digit item counter that limits the number of items permitted per
document.
Procedure
If the documents with an excessive number of items come from another application area
(e.g. sales, logistics, order accounting), you can configure the system to the effect that
these documents are summarized in FI. "
How could this error be solved as none of your invoices are getting accounted in FI?

To overcome this, the only way was to break the accounting invoices, 1 with 950 items
and the other with the rest.

Prepaid process possible


-----Original Message----Subject: Prepaid process possible
I am looking for information on how we could implement a prepaid process. By "prepaid
process" I mean:
- Customer sends to us his order
- If customer is set as "prepaid", we produce an invoice for him to pay
- Once we have received his payment, we release the sales order for delivery
- no further billing document is produced.
I found information in online documentation about "down payments" (I imagine that our
prepaid process could be a 100% required down payment) but it does not seem that it
would work. From what I understood it looks like the billing plan is handled based upon
the
item category, which implies the processing is "material" specific not "customer"
specific.
What we do now:
- We have defined a risk category "prepaid" which is assigned to our prepaid customer.
This risk category automatically block the sales order for delivery.
- We receive the sales orders and produce a Pro Forma invoice from it, and send it to
customer
- Once we receive the payment, we release the sales order for delivery and produce the
invoices.
- We post the payment we received earlier against this last invoice.
As you see, this requires a lot of manual work and a lot of time is wasted to match all
documents together. There most be a more efficient way to handle this, anybody have any
hints?
-----Reply Message----Subject: RE: Prepaid process possible
Hi again!
You are right! However, if you create a new item category for the prepaid scenario, you
can
select what item category (and process) to use at order entry. It is also possible to code a
user exit so that only certain customers will get the prepaid process. This can be done also

with item category groups (can be used to determine what default item category that
should appear). This would mean that you either have different materialnumbers for the
different processes or use different distribution channels in the sales order. DC 10 could
be
the normal process and DC 20 the prepaid process. Then you need to create the sales
views in material master for DC 20 for all materials that should be possible to run in the
prepaid scenario, and enter the "prepaid item category group in the sales item category
group field in material master.
Here is a proposal of customizing activities to achieve this:
1. Create a new item category as a copy of the normal item category used for non-prepaid
sales. (Change the billing in the item category to order related billing with no billing
plan)
2. Create a new item category group "ZXXX" or something of your choice with the
description "Prepaid" or something like that.
3. In item category assignment, add or check entries so that you have the order type used,
and item category group defaulting the new item category.
4. Check copy control from sales document to billing document for the new item
category.
Also delivery copy control could be good to check.
5. Create a new distribution channel and assign it to the company structure (plant, sales
org etc)
6. Extend your material(s) with views for the new distribution channel and enter the
"ZXXX"
item category group in the field for sales item category group (I think it is on sales 2
screen
but I am not sure, can't access a system right now).
Now you should be able to create a sales order with the new distribution channel where
the new item category is defaulted. Check that the sales order is completed when both
billing and goods issue for the delivery is posted. If not check the completion rule in the
new item category.

Restricting Number Of Items In Billing Doc


How I can restrict number of items in an invoice?
If I enter more than 8 items in a sales order and those items get copied into delivery
doc then to billing doc. But our client want to restrict number items to 8 (max) in an
invoice.
You can restrict delivery with delivery tolerance, thereby causing invoicing of the
desired.
or

Go to SPRO>>>IMG>>>Sales & Distribution>>>Billing>>>Billing


Documents>>>Country-specific features>>>Maintain Maximum No. Of Billing Items.
This is where you can define a maximum number of items allowed for all billing
documents within a given sales organization.
However, maintaining data here is not enough alone to bring about a billing split by
number of billing items.
You must also go to copying control for order/delivery to billing document at item level
under "Data VBRK/VBRP" and maintain routine 006 "individual invoice limited" or a
similar routine that accesses the data maintained here

Document Not Relevant For Billing


How to resolve "Document not relevant for billing" error message?
Check the detailed error log in VF01 screen. We may get more information on error.
Then, check have you completed the PGI for the delivery document or not.
Next, go to that Item Category functionality VOV7 and find if it is order or delivery
related billing.
And after that go and check in the particular Sales order document type whether billing
document types are maintained in the sales document or not.
If every thing is correct go and find with copy controls
If it order related, go VTFA
If it Delivery related, go VTFL and check in your document type combination is
maintained or not, if they are maintained item category is available or not.
After delivery while creating billing document system showing error that no billing
document is generated for material no 395. So how I can solve this issue.
Check if Item Category is checked for Billing or not.
Normal Sales Order Cycle:Step 1: Sales Document Type
IMG > Sales and Distribution > Sales > Sales Documents >
Sales Document Header:
1. Sales Document Type:The sales document types represent the different business
transactions, such as Inquiry, Quotation, Sales Order, etc. To create new sales order type,
always copy as with reference to similar sales order. If possible use standard sales order.

2. Define Number Ranges For Sales Documents: Maintain number range with discussion
with core team.
3. Assign Sales Area To Sales Document Types:
A. Combine sales organizations / Combine distribution channels / Combine divisions:
Ensure to maintain these, else Sales Order creation will give error.
B. Assign sales order types permitted for sales areas: Assign only required Sales Order
Types to required Sales Area. This will minimize selection of Sales Order Type as per
sales area.
Sales Document Item:
*1. Define Item Categories: If possible use Standard Item Category. Incase if required to
create new, copy as from standard & maintain New.
*2. Assign Item Categories: If possible, use standard. Formula for deriving item category:
Sales Document Type + Item Category Group + Usage + Higher Level Item Category =
Item Category
Schedule Line:
1. Define Schedule Line Categories: If possible use Standard Schedule Lines. Incase if
required to create new, copy as from standard & maintain New.
2. Assign Schedule Line Categories: If possible, use standard. Formula for deriving
Schedule Line: Item Category + MRP Type / No MRP Type.
Step 2:
IMG > Logistic Execution > Shipping > Deliveries >
*1. Define Delivery Types: If possible use Standard Delivery Type. Incase if required to
create new, copy as from standard & maintain New.
*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.
Note: Ensure that Copy Control settings are done
Sales Order to Sales Order (QT --> OR): VTAA
Sales Order to Delivery (OR --> LF): VTLA
Sales Order to Billing (OR --> F1): VTFA
Delivery to Billing(LF --> F2): VTFL
Billing to Sales Order (F2 --> RE): VTAF
The configuration differs from scenario to scenario & requirement of the
client.

Procedure To Cancel Billing Documents


ERP SAP ==> SD SAP
Tickets from users:
After the following process: Sales Order --> Outbound Delivery (Goods issue) -->
Billing, what happens if there is a cancellation?
How to perform cancellation for this process: Billing --> Goods receipt --> Sales
Order ? (Is this the correct reversal to perform in order for cancellation?)
After performing the process Sales Order --> Outbound Delivery (Goods issue) -->
Billing, the billing document will be passed on to the FI consultants. But if there is a
cancellation then, this billing doc. which will have a accounting document also that will
also get cancelled. In the FI customer open line items.
Cancellation of billing - VF11
Cancellation of delivery - VL09
Then go to VL02N and remove the picking qty and make it blank then
Goto VA02 and cancel the order.
You can delete the Sales Order if transaction have been done:
In VA02 , just enter into the sales order goto menu path -> Files-> Cancel or delete option
will be there will be there.
After deletion / cancellation of that sales order that order doesn't exist in the database.
For example , if your sales order number is 1055 and you have deleted or cancelled that
sales order, then that sales order number doesn't exist in the database and you cant create
another sales order with the same order number 1055. When you create another sales
order the number will skip to the next one i.e, 1056.
You can only reject the Sales order if there are existing transations:
1. First you need to cancel the billing document using T-code VF11, so it will reverse all
the updated accounting entries.
2. Now you need to cancel the Post goods Issue using VL09, once it is reversed, the
delete the delivery using VL02N.
3. Once the delivery is deleted, the sales order will be open. Now put a reason for
rejection in the line item/s, and reject the order, the order will get closed. It is not
advicable delete a sales order.

Match Billing Cancel Document


How to find out the link between the original and cancelled billing documents?
Goto to tcode SE16
Table: VBRK
Field: VBRK-ZUONR - Assignment (this field link the original and cancelled billing
documents)
Cancel billing documents must be successfuly released to accounting. Usually it failed
when user tried to cancelled current period with previous date.

Schedule VF04 For Individual Billing Run


SAP Functional ==> SD In SAP
How to schedule billing to be run automatically?
You can create individual Billing documents in VF04, with out any saving of each and
every billing document.
Select all the deliveries which you want to create billing documents, using Cntr Button,
and click on individual billing. Then all the deliveries will go for billing individually in a
single run. And you can also see all the billing documents numbers, which are created.
No need to select single delivery each time.
If you want to do a batch job for billing, proceed for the following process
1. goto VF04, in the selection screen Delivery document range, for which you want to
create billing documents e.g., in SD Document field, give delivery 1 to 10.
2.Now Click on GOTO -> Variant -> Save as Variant, then it will take you to another
screen, give the variant name, e.g., test, and save it.
3. goto SM36, this is used to do batch job, if you dont know any thing also, you can do
the entire process, using JOB WIZARD, click on Job Wizard which is on the screen.
4. It will take you to different steps, just you need to give your variant name, (in job name
field) (in the first screen) the continue for further steps, In the ABAP Progamme Name
give SDBILLDL, (this is the programme used to create billing documents) continue to
give the specified time which you want to run this batch job, like immediate, after an
hour, or a specific day like so.

5. Continue further to complete the task, now you batch job will run at a specified time
which you mentioned, if you mentioned as immediately, then once you comple this
process, your vairant will run, and billing documents will be created.
6. Plese ensure that all the deliveries are perfect, meaning there is no billing block or any
thing.
You can check the status of your batch job using t. code SM37.
Difference between the RSNAST00 and SDBILLDL program.
RSNAST00 is a program which is related to output related activities. Using this program,
we can schedule the creation of outputs (PDFs, email etc) in total for any document
created in any of the applications. The details are read and stored in the database table
NAST. The same program is customised for each applications using programs like
SD70AV1A which are also used for the same purpose but only for sales orders.
SDBILLDL is the program for Billing due list. This program finds out all the orders or
deliveries or both which are due for billing and it will trigger the billing creation. It reads
tables like VBAK, VBAP, VBUK, VBUP, LIKP, LIPS etc and the created billing
documents are stored in tables VBRK, VBRP.

Explain The Concept of Resource Related Billing


Please explain to me the concept of resource related billing and its
different between periodic and milestone. In what kind of business scenario do we
use it? and what are the settings required to use it?
Periodic billing is used when you want to bill the customer at different points of time
based on the periodicity or progress of the work.
Milestone billing can be used for this type of billing purposes when you want to have
billing control from the project.
Resource billing is based on the resource consumption for the particular activities.
Dynamic Item Processor (DIP) profile is used for the resource related billing.
Steps to be followed:
1) Configure DIP Profile (T.code ODP1)
2) Specify the usage (i) Billing & Result Analysis (RRB)
(ii) Request Quotation (Sales Pricing)

3) Specify (i) Sales Document Type (PS2)


(ii) SD Doc Type CMR
4) In Sales Order Type --> Sales Order Category - "L" (Debit Memo Request)
5) Document Pricing Procedure --> PS (Customer Project)
6) Select the billing usage and click on characteristics. eg--> Activity Type
7) Then define sources. Select "Actual Cost" as we use actual cost for RRB. Define%
8) Sources --> Selection Criteria: This would display all characteristics. Now in Activity
Type --> Mention the activity type
9) If more activity type are being used then create set of activity type using T.code GS01
10) Material Determination --> Initially create material with "Material Type = Service"
11) The service material should be mentioned in the material determination
12) Criteria -- In criteria allocate the activity type for the specific material. (We can also
use cost element, cost center, which we have defined in characteristics)
13) Create Project (T.code CJ20N)
14) Create Sales Order (T.code VA01)
15) Book CATS
16) Execute DP91 to view Sales Pricing
Common Errors:
AD01-155: Error during material determination for sales document item. Material
Origin field was not checked in the Costing tab of the material master.
IX-057: No cost management is provided for sales document (contract) item. This is
usually because there is no requirements type assigned to the contract item (see
procurement tab).
No material appears in DMR/CMR. In the material master costing view, set the
"Material Origin" checkbox (see OSS note 174382)
No expenditure item found.
Go back to the service order and check there are actual costs

Check your DIP Profile; specifically the sources section to ensure you are not filtering
out any dynamic items.
CO Configuration:
KL03: Check activity type validity dates
KA03: Check cost element validity dates
KA03: For labour, check cost element category is 43
KA03: Check if Record qty flag is set on Indicators tab
KA03: Check cost element assigned to your controlling area
KP26: Check that activity type is linked to cost centre
KP26: Check that there is a rate for the activity type/cost centre
KP26: Check are you using the correct version

Cancelled Billing Document Has No Accounting


Document
Real SD Support Question:
I have cancelled a billing document through vf11. That means the cancellation
billing document did not generate accounting document. Where to checked?
When you cancel a billing document, you are actually creating a cancellation document.
The cancellation document copies data from the billing document and transfers an
offsetting entry to the accounting department.
So once you cancel the billing document it will create one cancellation Document and
one reversal Accounting Document.
There is no need to cancel Accounting document which is created after cancel a billing
document.
Lets handle it phase by phase.
First Scenario
Your accounting document not generated,
1. VF02 Mode Click Release to Accounting" the Accounting documents not generated.

2. If yes, then OK Else


3. Check Whether you have assigned Accounting keys to the relevant condition types.
4. Check Account assignment Procedure VKOA and check G/L account has been
assigned.
5. If error found correct it Else
6. Check with FI Consultant whether Accounting entries has been posted with reference
to customer and Invoice.
Second Scenario
If accounting documents gets generated and you use VF11 to Cancel the invoice, then
automatically the posting document gets reversed and separate number will be assigned
for those documents. This you can see in the document flow. Check with FI Consultant.
Please Check this :
SPRO--->Sales and Distribution-->Billing Documents-->Define Billing Types
Select Billing type S1.
Then check Posting Block, it should be unchecked.
Check whether for the S1 billing document type Posting block has been checked or not. If
it has been checked then uncheck it and secondly also check in the F2 billing document
type whether S1 cancellation billing document type has been assigned or not.
Finally check whether the billing document which you were cancelling
that billing document generated accounting document or not. If it has
not generated the accounting document then check the settings in OBA7

How To Do Configuration For Credit Management


Credit and risk management takes place in the credit control area. According to your
corporate requirements, you can implement credit management that is centralized,
decentralized, or somewhere in between.
An organizational unit that represents the area where customer credit is awarded and
monitored. This organizational unit can either be a single or several company codes, if
credit control is performed across several company codes. One credit control area
contains credit control information for each customer.

For example, if your credit management is centralized, you can define one credit control
area for all of your company codes.
If, on the other hand, your credit policy requires decentralized credit management, you
can define credit control areas for each company code or each group of company codes.
Credit limits and credit exposure are managed at both credit control area and customer
level. You set up credit control areas and other data related to credit management in
Customizing for Financial Accounting. The implementation guide is under Enterprise
Structure -> Definition or Assignment -> Financial Accounting and then Maintain credit
control area. You assign customers to specific credit control areas and specify the
appropriate credit limits in the customer master record.
Tips by : Kapilaa
Settings for determining the credit control area of a document. The settings of items 1 - 4
are taken into account according to their priority. The credit control area found is stored
in field VBAK-KKBER.
1. Transaction OB38
Check which credit control area is assigned to the company code.
Company code:
Credit control area:
2. Transaction OVFL
Check which credit control area is assigned to the sales area.
Sales area:
Credit control area:
3. Transaction XD02 or VD02
Check which credit control area is assigned to the payer.
Payer:
Credit control area:
4. Transaction SE37
Is user exit EXIT_SAPV45K_001 being used?
5. Transaction OBZK
For the settings under items 2 - 4, field "All company codes" must be marked in
Transaction
OB45, or the credit control area must be entered under the relevant company code in
table
T001CM of the credit control areas allowed.
Company code:
Credit control areas allowed:

6. Settings for the credit checks


7. Transaction OVAK
Which settings do exist for the sales document type used?
Sales document:
Check credit:
Credit group:
8. Transaction OVAD
Which settings do exist for the delivery type used?
Delivery type:
Credit group for delivery:
Credit group for goods issue:
9. Transaction OB01
Credit management/Change risk category
Definition of the risk category for each credit control area. This risk category can be
assigned to a credit account by using Transaction FD32.
10. Transaction OVA8
Here, the individual credit checks for key fields
o credit control area
o risk category
o credit group are set. Take these key fields from the above settings and go to the detail
screen. In particular, check whether fields "Reaction" and "Status/block" are set
correctly. To carry out follow-up actions in case of a credit block, the credit check
status must be set (field "Status/block").
11. Transaction FD32
Credit master data for the payer of the relevant document.
Credit account:
Credit limit:
Risk category:
Currency:
12. Settings for updating the credit values Update of the credit values is required for the
limit
check (static or dynamic credit limit check).
13. Transaction OVA7
Update of the credit value is active for the corresponding item type if the check box is
marked. This field corresponds to
field "Active receivable" in Transaction VOV7.
Item type:
Active receivable:

14. Transaction V/08, Pricing


In the pricing procedure used for pricing, subtotal "A" must be entered in a line for
determining the credit value (mark the pricing procedure and doubleclick on
"Control").
Usually, the net value plus taxes is used. This way the system is determined to use this
subtotal for credit pricing. The credit price is stored in field VBAP-CMPRE and used
for
update and credit check.
You can find the used pricing procedure of the order under "Item -> Condition ->
Analysis".
Pricing procedure:
Line with subtotal = 'A':
15. Transaction OB45
Which update group (field "Update") do you use in the relevant credit control area?
The
default setting is "12". If you use another update group, check whether this is fine with
you. If you open an OSS message, please tell us the alternative update group.
Credit control area:
Update:
16. Transaction OMO1
Which kind of update did you choose for structure S066?
In any case, "Synchronous update (1)" has to be chosen as the kind of update.
All other settings will lead to errors.

MRP block for Credit limit attained Customers


How to block the requirement (MD04) generated by the item category in a sales
order when the customer has attained the credit limit? The MRP requirements still
appear even though the schedule is zero.
You should try and use one of the standard requirements.
See in transaction "VOFM".
Under Requirements / Subsequent Functions / Reqs.Availablity.
Try using routine 103, you may have to tweak if it doesn't work exactly as you'd like.
For example, you can write a routine 903 because you only wanted this reaction for
certain business units. Irregardless, using a routine similar to this will prevent the
requirement from appearing in MD04 for orders blocked on credit.

Code:
DATA: W_ZSDCRD TYPE ZSD_CREDITBLCK.
DATA: W_CMGST LIKE VBUK-CMGST.
SELECT SINGLE * INTO W_ZSDCRD
FROM ZSD_CREDITBLCK
WHERE KKBER = VBAK-KKBER
AND CTLPC = VBAK-CTLPC.
IF SY-SUBRC = 0 AND VBUK-CMGST CA 'B'.
IMPORT VBUK-CMGST TO W_CMGST FROM MEMORY ID 'CREDIT'.
IF W_CMGST = SPACE.
MESSAGE I706(Z1).
EXPORT VBUK-CMGST TO MEMORY ID 'CREDIT'.
ENDIF.
*} REPLACE
*{ INSERT DEVK966908 1
*} INSERT
* Read the subsequent function information for the message
PERFORM FOFUN_TEXT_READ USING GL_FOFUN
CHANGING FOFUN_TEXT.
MESSAGE ID 'V1' TYPE 'E' NUMBER '849'
WITH FOFUN_TEXT
RAISING ERROR.
*{ INSERT DEVK966908 2
*} INSERT
ENDIF.
ENDFORM.

Credit Mgmt Dynamic checking


-----Original Message----Subject: Credit Mgmt Dynamic checking
From: Richard Dragani
Hi credit experts,
Does anyone know how I can automatically re-execute a dynamic credit check a few days
prior to shipment for future dated sales orders. Any ideas would be appreciated.

Rich Dragani
-----Reply Message----Subject: Re: LOG: Credit Mgmt Dynamic checking
From: Swami Subramanyan
Program RVKRED08? Or manually execute function module
SD_ORDER_CREDIT_RECHECK.
Regards
Swami
-----Reply Message----Subject: Re: Credit Mgmt Dynamic checking
From: Leslie Paolucci
We check credit at the time of the delivery (at delivery creation and before picking) and
use the blocked sales doc process/list to release them. This can be set up in customizing
under risk management-> credit management.
-----End of Reply Message-----

Sales value field in not getting updated after creating


the billing
-----Original Message----Subject: Sales value field in not getting updated after creating the billing
we are on 4.6b. we are going for credit management but facing one problem. in fd32customer credit management change - the sales value feild in not getting updated after
creating the billing.
eg. when i create the order - the order value get updated in the sales value in fd32. after
creating the delivery - that value remains same in the feild of sales value. but when i am
going for billing (delivery related), the bill value is appearing in 'receivables' but the
amount
in 'sales value' is not getting reduced. because of this the credit exposure is increasing
continuously.
update group for corrosponding credit ctrl area is 12. also the item is mark for credit
update.
can anyone tell the missing link?
thanking in advance
-----Reply Message----Subject: RE: Sales value field in not getting updated after creating the billing

Hi,
You need to check couple of settings like:
1. Your customer should be assigned the credit control area.
2. In your Item Category Credit should be active.
Regards,
-----Reply Message----Subject: RE: Sales value field in not getting updated after creating the billing
customer is assign to concorn CCA and item category is mark for credit active
-----Reply Message----Subject: RE: Sales value field in not getting updated after creating the billing
Hi,
Check the credit update group in the transaction OB45. The credit update group controls
when the values of open sales orders, deliveries and billing documents are updated. It
should be '000012'.
Further also refer to the OSS note 18613.
Have fun
-----End of Message-----

Difference Between Simple and Automatic Credit


Check Types
Explain in detail difference between simple and automatic credit check types. In
automatic check, difference between static and dynamic checks.
SIMPLE CREDIT CHECK : Tr.Code - FD32
It Considers the Doc.Value + Open Items.
Doc.Value : Sales Order Has been saved but not delivered
Open Item : Sales Order has been saved , Delivered, Billed & Transfered to FI, but not
received the payment from the customer.

Eg: Customer Credit Limit is Rs.1,00,000/Suppose Doc.Value + Open Item Value is Rs.1,10,000/Here credit limit exceeds then system reacts.
Options : A) Warning Message
B) Error Message (Sales Order won't be saved)
C) Error Message with Delivery Block
AUTOMATIC CREDIT CHECK : Give extra credit facilities to the particular
customer.
STATIC CREDIT LIMIT DETERMINATION :Checking Group + Risk Catageory +
Credit Control Area.
A) Credit Checking Groups : Types of Checking Groups.
01) Sales
02) Deliveries
03) Goods Issue
At all the above 3 levels orders can be blocked.
B) Risk Catageory : Based on the risk catageories company decide how much credit has
to give to the customer.
HIGH RISK (0001) : LOW CREDIT
LOW RISK (0002) : MORE CREDIT
MEDIUM RISK(0003) : Average Credit
Static Credit Check it checks all these doc value & check with the credit limit
1) Open Doc.Value / Sales Order Value : Which is save but not delievered
2) Open Delivery Doc.Value : Which is delivered but not billed
3) Open Billing Doc.Value : Which is billed but not posted to FI
4) Open Item : Which is transfered to FI but not received from the customer.
DYNAMIC CREDIT CHECK : 1) Open Doc
2) Open Delivery
3) Open Billing
4) Open Items
5) Horizon Period = Eg.3Months
Here the System will not consider the above 1,2,3& 4 values for the lost 3 months

Then assign the Sales Doc & Del Documents.


Sales Doc.Type(OR) + credit Check(0) + Credit Group (01)
Credit Limit Check for Delivery Type : Del.Type (LF) + Del Credit
Group (02) + Goods Issue Credit Group (03)
Tips by Ch.Y.Rajasekahar

Set Up for Credit Card Payment Processing


Given below is the set up for credit card payment processing:
Set Up Credit Control Areas:
Define Credit Control Area
Transaction: OB45
Tables: T014
Action: Define a credit control area and its associated currency. The Update Group
should be 00012. This entry is required so the sales order will calculate the value to
authorize
Assign Company Code to Credit Control Area
Transaction: OB38
Tables: T001
Action: Assign a default credit control area for each company code
Define Permitted Credit Control Area for a Company
Code
Transaction:
Tables: T001CM
Action: For each company code enter every credit control area that can be used
Identify Credit Price
Transaction: V/08
Tables: T683S
Action: Towards the end of the pricing procedure, after all pricing and tax determination,
create a subtotal line to store the value of the price plus any sales tax. Make the
following entries:
Sub to: A
Reqt: 2
AltCTy: 4
Automatic Credit Checking
Transaction: OVA8
Tables: T691F

Action: Select each combination of credit control areas, risk categories and document
types for which credit checking should be bypassed. You need to mark the field no
Credit Check with the valid number for sales documents.
Set Up Payment Guarantees
Define Forms of Payment Guarantee
Transaction: OVFD
Tables: T691K
Action: R/3 is delivered with form 02 defined for payment cards. Other than the
descriptor, the only other entry should be 3 in the column labeled PymtGuaCat
Define Payment Guarantee Procedure
Transaction:
Tables: T691M/T691O
Action: Define a procedure and a description.
Forms of Payment Guarantee and make the following entries Sequential Number 1
Payment Guarantee Form 02
Routine Number 0 Routine Number can be used to validate payment card presence.
Define Customer Payment Guarantee Flag
Transaction:
Tables: T691P
Action: Define a flag to be stored in table.
Create Customer Payment Guarantee = Payment Card Payment Cards (All Customers
can use Payment Cards).
Define Sales Document Payment Guarantee Flag
Transaction:
Tables: T691R
Action: Define the flag that will be associated with sales document types that are relevant
for payment cards
Assign Sales Document Payment Guarantee Flag
Transaction:
Tables: TVAK
Action: Assign the document flag type the sales documents types that are relevant for
payment cards.
Determine Payment Guarantee Procedure
Transaction: OVFJ
Tables: T691U
Action: Combine the Customer flag and the sales document flag to derive the payment
guarantee procedure
Payment Card Configuration

Define Card Types


Transaction:
Tables: TVCIN
Action: Create the different card types plus the routine that validates the card for length
and prefix (etc)
Visa , Mastercard, American Express, and Discover
Create the following entries for each payment card
AMEX American Express ZCCARD_CHECK_AMEX Month
DC Discover Card ZCCARD_CHECK_DC Month*****
MC Mastercard ZCCARD_CHECK_MC Month
VISA Visa ZCCARD_CHECK_VISA Month
The Routines can be created based on the original routines delivered by SAP.
*****SAP does not deliver a card check for Discover Card. We created our own routine.
Define Card Categories
Transaction:
Tables: TVCTY
Action: Define the card category to determine if a
payment card is a credit card or a procurement card.
Create the following two entries
Cat Description One Card Additional Data
CC Credit Cards No-check No-check
PC Procurement Cards No-check Check
Determine Card Categories
Transaction:
Tables: TVCTD
Action: For each card category map the account number range to a card category.
Multiple ranges are possible for each card category or a masking technique can be used.
Get the card number ranges from user community. Below is just a sample of what I am
aware are the different types of cards.
Visa Credit Expires in 7 days.
400000 405500
405505 405549
405555 415927
415929 424603
424606 427532
427534 428799
428900 471699
471700 499999
Visa Procurement Expires in 7 days.
405501 405504
405550 405554

415928 415928
424604 424605
427533 427533
428800 428899
Mastercard Credit Expires in 30 days
500000 540499
540600 554999
557000 599999
Mastercard Procurement Expires in 30 days
540500 540599
555000 556999
American Express Credit Expires in 30 days
340000 349999
370000 379999
Discover Card Credit Expires in 30 days
601100 601199
Set Sales Documents to accept Payment Card Information Transaction:
Tables: TVAK
Action: Review the listing of Sales Document types and enter 03 in the column labeled
PT for each type which can accept a payment card
Configuration for Authorization Request
Maintain Authorization Requirements
Transaction: OV9A
Tables: TFRM
Action: Define and activate the abap requirement that determines when an authorization
is sent. Note that the following tables are available to be used in the abap requirement
(VBAK, VBAP, VBKD, VBUK, and VBUP).
Define Checking Group
Transaction:
Tables: CCPGA
Action: Define a checking group and enter the
description. Then follow the below guidelines for the remaining fields to be filled.
AuthReq Routine 901 is set here.
PreAu If checked R/3 will request an authorization for a .01 and the authorization will be
flagged as such. (Insight does not use pre-authorization check).
A horizon This is the days in the future SAP will use to determine the value to authorize
(Insight does not use auth horizon period).
Valid You will get warning message if the payment card is expiring within 30 days of
order entry date.

Assign Checking Group to Sales Document


Transaction:
Tables: TVAK
Action: Assign the checking group to the sales order types relevant for payment cards
Define Authorization Validity Periods
Transaction:
Tables: TVCIN
Action: For each card type enter the authorization validity period in days.
AMEX American Express 30
DC Discover card 30
MC Master card 30
VISA Visa 7
Configuration for clearing houses
Create new General Ledger Accounts
Transaction: FS01
Tables:
Action: Two General Ledger accounts need to be created for each payment card type.
One for A/R reconciliation purposes and one for credit card clearing.
Maintain Condition Types
Transaction: OV85
Tables: T685
Action: Define a condition type for account determination and assign it to access
sequence A001
Define account determination procedure
Transaction: OV86
Tables: T683 / T683S
Action: Define procedure name and select the procedure for control. Enter the condition
type defined in the previous step.
Assign account determination procedure
Transaction:
Tables:
Action: Determine which billing type we are using for payment card process.
Authorization and Settlement Control
Transaction:
Tables: TCCAA
Action: Define the general ledger accounts for reconciliation and clearing and assign the

function modules for authorization and settlement along with the proper RFC destinations
for each.
Enter Merchant IDs
Transaction:
Tables: TCCM
Action: Create the merchant ids that the company uses to process payment cards
Assign merchant ids
Transaction:
Tables: TCCAA
Action: Enter the merchant ids with each clearinghouse account

Dunning Process In Credit Management


Explain about dunning process in credit management?
Let me explain in simple terms:
1) You have a Customer which you had felt, he is doing good business and supplied
material on Credit of 45 days.
2) Since this customer is good as you felt, you have not managed Credit Checks as well.
So, he had comfortably reached to the fullest credit (or even more) which you can afford
for any customer.
3) One fine day you got realised that, there is very bad debt with this customer and need
to recover from him and till then, there will be no further supply to the customer.
4) Your company's legal department has laid a policy that, inorder to recover any bad
debts, like:
a) We will send a normal payment reminder.
b) In case customer doesnt respond, we will send at least further reminder (dunning
notice) may be 9 times
(9 reminders) (Dunning level) and what intervels of time (dunning frequency)
c) Still if the customer doesnt resopond for the reminders, you will file a law suit against
the customer for recovering
the Payments.
d) Finally, after getting veridict, you may proceed for auction of his property or as per the
order for Law.
Now in SAP, the definition of Dunning procedure is a pre-defined procedure specifying
how customers or vendors are dunned.
For each procedure, the user defines
- Number of dunning levels
- Dunning frequency

- Amount limits
- Texts for the dunning notices
In SAP, you will maintain the Dunning Procedure at customer master. Referring to this
your SD Team / FI Team (user team) will effect Dunning
PS: You might remembered the dunning procedure laid by Relaince Mobile, sometime
back, sending street rowdies for recovering the bad debts from users. That is dunning.
Remember Reliance, you will not forget dunning forever.

What Is Credit Exposure


What do you mean by credit exposure?
They are the transactions with a customer that are relevant for credit limits on a specified
date.
The credit exposure is updated based on the update algorithm assigned to the credit
control area.
000012 - updated at Sales Order
000015 - updated at Delivery
000018 - updated at Billing
To look at only Receivables for a customer look in FD32. If you have bad data run the
reorganization program through SE38.
Check Note 425523 - Collection of consulting notes: Credit update and related.
Surely you must run report RVKRED77 (Note 400311 - RVKRED77: Reorganization
credit data, new documentation and related will help you).
1. How is credit exposure calculated (seen in FD32)?
Its simple summation of Receivables + Special liabilities (like down payments, advance)
+ Sales value
2. If Update=000012 in CCAr then on creating Sales Order, the exposure increases
by SO value.
But if update=000015, then also on creating Sales Order, the exposure increases by
SO value.
Is this correct?
I think in case of 000015 Open sales order values should not be considered.

3. What role exposure play in the credit management process. I mean does the
system match the value of credit exposure with credit limit to find that it is exceeded
or it does it differently?
Credit exposure is in fact the main player. In credit management if the customers credit
limit is 10000 and credit exposure is 9900 then customer can only be able to buy now
worth of 100 only. Its the credit exposure which should not crossed over the credit limit.
For reporting purpose, where we can get customer credit exposure which showing in
FD32.
Go to t.code F.31 for an overview of the credit exposure, and also you can use
s_ALR_8701212218 to overview the credit exposure.

SAP SD CIN Configuration


By Shesagiri
What is CIN?
CIN Means Country India Version
In Indian Taxing procedure, Excise Duty plays a vital role in manufacturing cenarios.
Excise related configuration is known as CIN configuration. CIN Configuration is a topic
in itself.
Some info on CIN Configuration (it may not appear as understandable below, but if you
check on screen, it will be understood better)
Country Version India comes with four pricing procedures as follows:
- JINFAC (Sales from manufacturing plants)
- JINEXP (Export sales)
- JINDEP (Sales from depots)
- JINSTK (Stock transfers
CIN: IMG > Logistics - General > Tax on Goods Movement > India > Basic Settings >
Maintain Excise Registrations
In this IMG activity, you maintain the data relating to your excise registrations.
- Enter each of your excise registrations, specifying a four-character code for each Excise
Registration Ids
In this activity, you maintain excise registration IDs. You create one ID for each of your
business's excise registrations.
- For each excise registration in your business create a registration ID, and state:
- Which taxes the registration covers (additional excise duty, special excise duty, and
cess) Fields for any taxes that are not covered will be hidden in transactions involving

excise duty.
- The maximum number of items to be printed on each excise invoice
- Whether you are allowed partial CENVAT credits
Maintain Registration ID NUMBER, Excise code number, excise registration number
ECC Number: Specifies the organization's ECC number.
Excise Registration Number: A number assigned to each premises or location that has
registered as a manufacturer with the excise authorities.
Every entity with an excise registration number is required to keep its own excise books.
Excise range: Specifies the excise range in whose area the excise registration is located.
Excise Division: Specifies the excise division in whose area the excise registration is
located.
Excise Collectorate: The code of the excise collectorate in whose area the excise
registration is located.
Indicator for confirming, AED usage Additional Excise duty Percentage.
These are livable under the additional duties of excise act. These duties are in addition to
basic excise duty and special excise duty. Example - Additional Excise duty is livable in
case of textile products, tobacco and sugar.
Similarly for SED CESS Number of Items in Excise Invoice Shows the maximum
number of line items that the authorities allow per excise invoice.
Dependencies - This information is used when you create an excise invoice in Sales and
Distribution (SD) for factory sales and for other movements. This information is used to
split the transfer postings' items into multiple subcontracting challans.
Excise register set description: Description of the excise registers set.
Partial CENVAT Credit: Indicates that the excise registration ID is allowed to credit only
a portion of its input excise duty to its CENVAT account
Dependencies - When you post a goods receipt, the system splits the input excise duty on
the material into its deductible and nondeductible amounts. It posts the deductible duty to
the appropriate CENVAT account, and adds the nondeductible duty to the material value.
This information is also shown when you post the vendor's excise invoice.
Maintain Company Code Settings.
In this IMG activity, you maintain the data relating to your company codes.
Document Type for CENVAT Postings.
It controls, which document type the system uses when making CENVAT postings in
Financial Accounting (FI). Here ED is document type for cenvat posting.

Indicator for providing debit account overwriting


Debit Account Overwrite Indicator. X - Indicates debit accounts can be overwritten. Use
In excise journal voucher transaction. It provides the flexibility to the user to enter the
debit account of his choice depending on the nature of transaction.
Automatic balance Indicator - Excise year start month. The calendar month marking the
beginning of the excise year. This start month represents the month for the start of the
excise invoice number range. The month 04 is entered here indicating April of the
calendar year as the start month for excise invoices. Any change by the Excise authorities
regarding start month should be taken care of by an entry in this field and initialization.
Excise invoice selection procedure :Excise invoice selection type. To indicate the method
opted by the company for selecting the excise invoice. It can be either earliest or latest
invoices that were received. Number of excise invoices to be selected Indicates the
number of excise invoices that needs to be selected in the excise invoice selection.
Days to be considered for excise invoice selection Number of days from document date
for excise invoice selection.
Example - If the value of this field is 20 and today is 28-03-97. The excise invoice
selection will show the related invoices only for the period 08-03-97 to 28-03-97.
Document type for TDS FI posting: Financial accounting document type for TDS
posting.
Document type for FI posting on Utilisation Financial accounting document type for TDS
posting.
Indicator for item level excise duty round off - This indicator is to be used for deciding
whether Item level excise
duty amount rounding off is required during procurement cycle. If marked 'X' then the
excise duty amount will be rounded off to the nearest rupee at the Purchase order level.
This will not round off the CENVAT credit to be taken. If the duty amount is less than
one rupee then no rounding is done
Rounding off of Excise duty for outgoing excise invoice - You can round off the Excise
amount to be paid during an outgoing
Excise invoice by marking this indicator as 'X'. The rounding is done at the item level for
each item where the amount is greater than 1 Rupee.
Immediate Credit on Capital Goods - Instructs the system, when you verify a goods
receipt for capital goods, to immediately post half of the input excise duty to the
appropriate CENVAT accounts. The rest is posted the CENVAT on hold account, for use
in the following year.
CVD Clearing Account - Specifies which G/L account the system credits when you take a
CENVAT credit on countervailing duty in the Incoming Excise Invoices transaction.

Exchange rate type - Key representing a type of exchange rate in the system.
- You enter the exchange rate type to store different exchange rates. Example - You can
use the exchange rate type to define a buying rate, selling rate, or average rate for
translating foreign currency amounts. You can use the average rate for the currency
translation, and the bank buying and selling rates for valuation of foreign currency
amounts.
Exchange rate type to be used for Export excise duty converts - When you are creating an
Excise invoice for export sales then the exchange rate for duty calculation will be picked
up using this Exchange rate type.
Maintain Plant Settings - In this IMG activity, you maintain excise information relating to
your plants.
Plant Settings - In this activity, you maintain excise information relating to your plants.
For each plant:
- Specify whether it is a manufacturing site or a depot.
- Assign it an excise registration ID. - You can assign the same ID to more than one plant,
if required.
Depot - Indicates that the plant in question is a depot. - Depots are required to prepare
register RG 23D, and follow different procedures for goods receipt and invoice
generation.
- Number of goods receipt per excise invoice.
- Multiple GR for one excise invoice, Single credit
- Multiple GR for one excise invoice, multiple credit
Maintain Excise Groups - In this IMG activity, you define your excise groups. For each
excise group, you can also control how various excise invoice transactions will work.
Excise Groups - In this activity, you define excise groups. An excise group allows you to
maintain a separate set of excise registers and excise accounts. The RG 23A, RG 23C and
PLA serial numbers are created for an excise group.
Recommendation - Under normal circumstances, excise authorities require every
business to maintain only one set of excise registers and one set of accounts. But through
exemption from the authorities, multiple books can be maintained.
If your company has only one set of excise registers, then you need to maintain only one
excise group.
1. Create one excise group for each set of registers that you need to keep.
2. Assign the excise groups to plants.
3. Maintain whether this Excise group is for a depot or not.
If you receive only one consignment for an Excise challan then you can leave GR's per EI
as blank. If you receive multiple GR's for a given Excise challan and would like to avail
multiple credit mark the GRs per EI as 'Multiple GR's for one excise invoice, multiple
credit'. Alternatively if you want to availa the credit only after all the goods receipts

have been made mark it as ' Multiple GR for one excise invoice, single credit'.
4. If you want to automatically create Excise invoice during Sales cycle at the time of
billing the tick the indicator 'Create EI'
5. During depot sales if you do not want to do RG23D selection and posting separately
and would like to complete RG23D selection in one step mark the indicator 'RG23D Auto
post'. This will post the selected records into RG23D automatically. You cannot cancel
the selection later.
6. If the indicator 'Default GR qty' is marked system will default the Excise challan
quantity on to the Goods receipt if the Excise invoice number is given in the pop-up.
7. If the indicator 'Folio no create' is marked system will generate Folio numbers for
RG23D during receipt of excise invoice into depot.
8. 'Automatic posting' when ticked will post the Excise invoice other movements
automatically along with creation in single step.
9. 'Create Part1 for Block Stock' when marked will create a Part1 during the receipt of
material into Blocked stock .
10. 'Create Part1 for STO' when marked will create a Part1 during the receipt of material
through inter plant transfers.
11. 'Create Part1 for consumption stock' when marked will create a Part1 during the
receipt of material into consumption stock. Excise Group Governs which set of excise
registers a business transaction will be included in.
Following is the relation between excise group, plant and registration. - In define excise
groups in Customizing.
Then, in transactions involving excise duty, for example, when you post a vendor's excise
invoice, you specify which excise group you are using. This information tells the system
which G/L accounts to post the excise to. At the end of the period, when you come to
prepare your excise registers, you create different sets for each excise group.
Indicates that the plant in question is a depot. - Depots are required to prepare register RG
23D, and follow different procedures for goods receipt and invoice generation.
- GR Per Excise Invoice
- Multiple GR for one excise invoice , Multiple credit
- Multiple GR for one excise invoice , Single Credit
Create Excise Invoice Automatically - Instructs the system to automatically create a Sales
and Distribution (SD) excise invoice immediately you create a commercial invoice or a
pro forma invoice.
The excise invoice is created in the background. - If you want to make use of this
function, you must also define the
default plant, excise group, and series groups in Customizing for Sales and Distribution
(SD), by choosing Excise Group - Series Group Determination.
RG23D Sales Creation and posting option - RG23D Automatic Option if selected will
create Depot excise invoice by posting the selection of excise invoices in single step. If
this is not selected then you need to separately do RG23D selection
followed by PGI and then RG23D verification and posting. If you need automatic

posting of RG23D selection then the Post Goods Issue should have been completed
before running RG23D selection.
Default excise qty in GR - If this indicator is ticked then while doing Goods Receipt
using 'MB01' system will default the excise invoice quantity on to the Goods receipt
document.
Folio number for depo Posting - If this indicator is marked then while creating Excise
invoice for other movements system automatically does the Verify and Post. You need not
separately Post the excise invoice
Also we can set indicator for creation of part 1 for:
- Blocked stock
- Stock transport order
- Consignment stock
Maintain Series Group - In this IMG activity, you define the different excise series groups
within your company. Series groups allow you to maintain multiple number ranges for
the outgoing excise documents. Based on excise regulations and exemptions from the
authorities you can maintain multiple number series for outgoing documents. But each of
these series has to be declared to the excise authorities.
- Define excise series groups based on type of outgoing document
- Assign series group to excise registration ID
- If no financial postings are required for an Excise invoice in this seris group then you
tick the 'No utilization' indicator.
- If the CENVAT has to be paid immediately and you need not wait for the Fort nightly
payment then mark the 'Immediate Utilization' Iindicator. Example - You could define
two series groups, group 001 for excise invoices, and group 002 for 57 F4 documents.
- No account postings for CENVAT in sales cycle
- No utilization Flag
If you do not need any CENVAT utilization for an excise invoice but would like to just
generate an excise invoice then you need to mark this indicator.
If the flag is checked then system will create an Excise invoice in the given Series group
but there will not be any account postings or Part2 postings.
Immediate Utilization of CENVAT - Specifies that when you create an excise invoice, the
system immediately pays the amount from CENVAT and creates the Part II entry. Such
invoices will not be listed for fortnightly utilization.
If you have both fortnightly and immediate utilization for the same excise group, the
account determination within CIN IMG should point to the ED interim account.
Account determination for immediate payment will be done exactly the same as being
done for fortnightly utilization program.

Maintain Excise Duty Indicators - In this IMG activity, you maintain the excise duty
indicators.
IMG > Logistics - General > Tax On Goods Movement > India > Basic Settings >
Determination of Excise Duty > Select Tax Calculation Procedure
In this IMG activity, you specify which tax procedure you want to use for determining
excise duties and sales taxes on input materials in India.
- If you use condition-based excise determination, use a copy of the tax procedure
TAXINN.
- If you use formula-based excise determination, use a copy of the tax procedure
TAXINJ.
This tax procedure also supports condition-based excise determination, so that you can
work with both concurrently.
We strongly recommend that new customers use condition-based excise determination.
Note that once you have started using a tax procedure, you cannot switch to another one,
otherwise you will not be able to display old documents.
Maintain Excise Defaults - In this IMG activity, you define which tax procedure and
pricing condition types are used in calculating excise taxes using formula-based excise
determination.
If you use condition-based excise determination, fill out the CVD cond.
field and leave all the others blank.
If you use formula-based excise determination, fill out all of the
fields as follows:
- Enter the tax procedure and the pricing conditions that are relevant
for excise tax processing.
- Specify the purchasing and sales conditions types used for basic
excise duty, additional excise duty, special excise duty, and cess.
- Specify the conditions in the sales order that are used for excise
rates.
- Specify the countervailing duty condition type used for import
purchase orders.

Return material From customer


You need to receipt the rejected goods through SD Module (VA01 - Sales Order type
RE).
The steps are as follows :
1. Create a return request. (Using Sales Order in SD)
2. Create outbound delivery according to return request.
3. If the setting is correct in the outbound delivery screen SAP will automatically switch
post goods issue button into post goods receipt. The setting is in sales order item category
and delivery type.

4. In the standard system the movement type used is 651.


5. After post goods issues receipt is done using outbound delivery, the quantity is placed
in blocked stock without value updating.
6. You will then decide if the return quantity are indeed bad stock or not.
7. Transfer Posting from block stock to unrestricted stock (mvt type 453), this will have
accounting effect (Debit Inventory, Credit COGS)
8. Goods Issue to scrap account how to create new titles which can be used in creating the
"address" view on the Vendor master.{T-Code: XK01}
In config go to Basis Components --> basis services --> Address Management -->
Maintain title texts

Customer Returns and Replacement Orders


What processes are involved with Customer Returns? How do we
create a replacement order, and what should we do if a replacement is not issued?
A return is a sales document used in complaints processing for when a customer sends
goods back.
You enter a return in the system if the customer returns damaged goods, or goods that had
been delivered for sale on approval. The return causes the system to: Register the receipt
of goods using a returns delivery, and post the goods to stock (for example, blocked
stock).
Create a credit memo, once you have checked the goods and approved the complaint. A
return is another type of sales document like a standard order.
The return triggers the following functions:
- Delivery (returns delivery)
- Billing (for creating a credit memo)
When you create a return based on a complaint, you: Post the goods to your warehouse
for checking And then, implement one of the following activities:
- Approve the complaint and create a credit memo
- Approve the complaint, and implement a free of charge subsequent delivery based on
the return
- Reject the complaint
PGI (Post Goods Issue) may be cancelled by Transaction code VL09. The accounting
document is just the reverse of the original PGI document.

In my company, we use project stock (movement type 601 Q for PGI). VL09 creates the
movement type 602 Q. But rather than VL09, the generally accepted method in my
company for the reverse items is to use the movement type 653, "back to the to the
storage location." The accounting document takes the cost "from" the project and moves
it back "to" the storage location.
The movement types are entered in the schedule lines in customizing, which are then
assigned to the item categories. However, in this process, "no invoice" takes place. If you
have a delivery related invoice, it should be cancelled beforehand.
If you do not give replacement, the Customer Account needs to be credited.
Please do not forget to create a Billing document (Formally Return Credit Memo) with
reference to return delivery. It is very important in order to close the cycle. If you do not
create a return credit memo, your delivery will keep appearing in the "Billing Due" list
and with status "Being processed". When you create a return order type RE, the billing
type is picked up as RE (Return Credit Memo) automatically.
When you are creating a replacement, you can create a replacement order, delivery, and
billing. To create the replacement order, you can define an order type by copying from
order type OR. In the copy control, you can define the relevant item categories from RE
to OR. You can make reference Mandatory for this order type. The delivery type for this
replacement order type will be LF and billing type F2.

Customer Returns and Replacement Orders


What processes are involved with Customer Returns? How do we
create a replacement order, and what should we do if a replacement is not issued?
A return is a sales document used in complaints processing for when a customer sends
goods back.
You enter a return in the system if the customer returns damaged goods, or goods that had
been delivered for sale on approval. The return causes the system to: Register the receipt
of goods using a returns delivery, and post the goods to stock (for example, blocked
stock).
Create a credit memo, once you have checked the goods and approved the complaint. A
return is another type of sales document like a standard order.
The return triggers the following functions:
- Delivery (returns delivery)
- Billing (for creating a credit memo)

When you create a return based on a complaint, you: Post the goods to your warehouse
for checking And then, implement one of the following activities:
- Approve the complaint and create a credit memo
- Approve the complaint, and implement a free of charge subsequent delivery based on
the return
- Reject the complaint
PGI (Post Goods Issue) may be cancelled by Transaction code VL09. The accounting
document is just the reverse of the original PGI document.
In my company, we use project stock (movement type 601 Q for PGI). VL09 creates the
movement type 602 Q. But rather than VL09, the generally accepted method in my
company for the reverse items is to use the movement type 653, "back to the to the
storage location." The accounting document takes the cost "from" the project and moves
it back "to" the storage location.
The movement types are entered in the schedule lines in customizing, which are then
assigned to the item categories. However, in this process, "no invoice" takes place. If you
have a delivery related invoice, it should be cancelled beforehand.
If you do not give replacement, the Customer Account needs to be credited.
Please do not forget to create a Billing document (Formally Return Credit Memo) with
reference to return delivery. It is very important in order to close the cycle. If you do not
create a return credit memo, your delivery will keep appearing in the "Billing Due" list
and with status "Being processed". When you create a return order type RE, the billing
type is picked up as RE (Return Credit Memo) automatically.
When you are creating a replacement, you can create a replacement order,
delivery, and billing. To create the replacement order, you can define
an order type by copying from order type OR. In the copy control, you
can define the relevant item categories from RE to OR. You can make
reference Mandatory for this order type. The delivery type for this
replacement order type will be LF and billing type F2.

Customizing Customer Hierarchy in SD


How to configure and maintain the SD Customer Hierarchy?
All the customizing is in SD/Master Data/Bussiness Partner/Customers/Customers
hierarchy
1) Define hierarchy type: just put and ID and a name to the new hierarchy.
2) Set partner determination: if you want to user the hierarchy in price determination,
then, in the orders, at the header level, you have to have a Partner Procedure with a

partner function for each level. In the partner procedure, in each partner function you
must indicate the source partner function. With this informacition, in the order, you
obtain the bussiness partner for each partner function.
3) Assign acount groups: you indicate which accounts groups are allowed for being part
or your hierarchy.
4) Assign sales areas: symple you indicate wich sales areas are allowed in your hierarchy.
(Here you can customize common sales areas, just for not having to build de hierarchy in
all the different sales areas).
5) Assigning hierarchy type for pricing: you indicate which classes of documentos uses
hierarchy in pricing determination.
It is possible to maintain so called customer hierarchies. This might be useful when for
example you create a condition discount for a customer that is part of such a hierarchy
structure. All subnodes in the hierarchy below that customer, will thus receive the same
discount.
Customer hierarchy setup, firstly decide the hierarchy type to be used.
The standard is type A.
You can also assign a partner function to the customer so that the higher level customer in
the hierarchy is copied into a sales order as a partner function - but you don't need that
right?
Next assign your customer account group to the hierarchy type. And enter the
combinations that will be allowed for creating the hierarchy.
You want to assign a ship-to to a payer. So enter the ship to account group and enter the
payer account group as the higher level.
You must also make an entry for permitted sales area assignments. So if you want to a
hierarchy for customers in the same sales area then enter the sales area and enter the same
one as the higher level sales area.
All these settings can be found in the IMG. Under SD - master data - business partners customers - customer hierarchy
You use for example customer hierarchy when you have an company like Unilever and
you agree both on a discount. Unilever does have different locations / businesses and you
have to maintain the discount for all customers. If you use a customer hierarchy you can
maintain the discount for the partner in the top of the hierarchy and in this way it will be
valid for all customers in the hierarchy.

Basic SD Questions On Product Hierarchies

What is the significance of product hierarchy?


Alphanumeric character string for grouping materials by combining various
characteristics. The product hierarchy is used for evaluation and pricing purposes.
A product hierarchy is an alphanumeric character string which consists of 18 characters at
the most. Product hierarchy thus define the product and its composition.
To take an example, a product hierarchy could be 00010002000300040005. The first four
characters 0001 could indicate that the product is a car. The next four characters could
indicate 0002 the plant in which the car has been manufactured. The third set of
characters could indicate the color of the car. The next set may determine its engine
capacity and so on. Thus, the product hierarchy helps in defining the product
composition.
Product hierarchy is defined in tcode v/76 according to levels.
Then it is added as a user defined characteristic in tcode KES1.
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.

How To Configure Product Hierarchy


Product Hierarchy:
Product hierarchies are the domain of materials management. A product hierarchy is
assigned to the material master record. This hierarchy is broken down into specific levels,
each level containing its own characteristics. A product hierarchy is recorded by the
sequence of digits within a hierarchy number. This hierarchy number may have a
maximum of 18 digits with a maximum of 9 levels. The custom Product hierarchies can
be maintained in V/76.
Product Hierarchy Number of chars at Various level:
In the standard system, the product hierarchy consists of up to 3 levels. The first and
second levels have 5 digits and the third level has 8. The maximum number of digits is 18
and the maximum number of levels is 9.
You can define hierarchy nodes at the individual levels of the product hierarchy.

The product hierarchy can be structured via DDIC structure PRODHS. In the standard
system, a product hierarchy can be created with up to three levels. The individual levels
can contain the following number of digits:
Level number of allowed digits:
15
25
38
This can be changed as of Release 3.0, where it is possible to extend the maximum
number of levels to 9.
If you want to change the standard setting of PRODHS, e.g. you want to change the
number of levels, proceed as follows:
1. Create an appropriate domain in the Data Dictionary (type CHAR with the required
length).
2. Assign these domains to the standard data elements PRODH1, PRODH2, ..., PRODH9.
Please note that you should use these standard data elements.
3. Change the structure PRODHS by creating or deleting fields with reference to the data
elements.
Choose ZZPRODHN as field name, where n is the position of the field in the structure
PRODHS.
You want to change the structure of the product hierarchy from 5/5/8 digits to 5/5/5/3.
Proceed as follows:
Create the following domains:
ZPRODH3 with length 5, category CHAR,
ZPRODH4 with length 3, category CHAR,
Change structure PRODHS:
Structure PRODHS in the standard system:
Structure Fields Data element Category Length
PRODHS ->
PRODH1 PRODH1 CHAR 5

PRODH2 PRODH2 CHAR 5


PRODH3 PRODH3 CHAR 8
Changes according to example:
Structure Fields Data element Category Length
PRODHS ->
PRODH1 PRODH1 CHAR 5
PRODH2 PRODH2 CHAR 5
PRODH3 PRODH3 CHAR 5
ZZPRODH4 PRODH4 CHAR 3
Please take help of ABAPER in extending the levels of Product hierarchy.
Configure for Product hierarchy at :
SPRO-> IMG-> Logistics - General-> Material Master-> Settings for Key Fields-> Data
Relevant to Sales and Distribution-> Define Product Hierarchies

Implement the Product Allocation Functionality


We are required to implement product allocation functionality in SAP R/3
(Enterprise Version).
We tried to do the elaborate steps as per the implementation guide but are not
successful. Can you kindly help by giving the simple steps for implementation.
Please see if the following helps:
Configuration Overview; Allocation Specific Usage
1.Allocation Procedure (OV1Z) The product allocation procedure is the parent of the
entire allocation process. All materials that are to be included in the allocation scheme are
required to have an allocation procedure assigned to it in the material master. In addition,
as of release 4.0, it is in the procedure that the method of allocation is defined. The user
has the opportunity to set an indicator to identify their choice of two different methods
(discrete and cumulative allocation) to evaluate the quantities to be considered for
product allocation.
2.Allocation Object (OV2Z) The allocation object is the root level of the allocation
process where actual data is entered and planned in LIS. The object allows the user to

further break down a procedure into smaller parts for future validation of components
comprising a specific material
3.Allocation Hierarchy Mapping (OV3Z) Primarily, this transaction permits the
assignment of an allocation procedure to an LIS information structure. Secondly, a
character is assigned to the information structure to permit collective planning. Finally,
the user can assign a step level to the procedure and information structure to sequence the
order in which allocation quantities are checked. This functionality allows the user the
opportunity to check product allocation against several product allocation scenarios,
before the required quantity is confirmed
4.Define Consumption Periods (OV5Z) The allocation consumption periods functionality
is only valid if the allocation method flag has been set (OV1Z). If you have de-selected
the method field, this functionality is not available. The consumption window indicates
the number of past and future periods to be used in the allocation check.
5.Control Product Allocation (OV4Z) In order for the allocation process to function
properly, allocation control records are created primarily to map allocation procedure
steps to their corresponding objects so that the allocation data records can be located for
validation. Secondly, validity periods must be established to indicate when the allocation
control records are active. Finally, the user has the option of establishing a conversion
factor per allocation control record to accommodate BOM listings of constrained
materials
6.Activate Allocation for Requirement Class (OVZ0) In order to turn on allocation in the
standard order processing functionality, the requirements class must have a flag
indicating that allocation is relevant.
7.Activate Allocation for Schedule Line Category (OVZ8) In order to turn on allocation
in the standard order processing functionality, the schedule line must have a flag
indicating that allocation is relevant
8.Create Planning Hierarchy (MC61) In order to adequately establish allocation
quantities, the user must initially determine the level at which the allocation is to take
place and the aggregation factor of the allocation quantities. In this step, the levels for the
collective allocation search procedure are also identified.
9.Generate Masking Character (OV7Z) Upon completion of the level determination for
the planning hierarchy, the collective allocation masking character must be generated to
allow aggregation indicators to be established. This transaction simply reads the
hierarchy established in the planning table and then generates a collective mask character
for each level of the hierarchy
10.Modify Planning Hierarchy (MC62) This step is a repeat of MC61 where the initial
hierarchy was established. In order to complete the hierarchical set up, the collective

allocation (mask character) hierarchy must now be maintained with the appropriate
aggregation factors
11.Allocation Procedure Assignment to Material Master (MM02) At the root level of the
allocation process are the materials. Each material that is to be considered in allocation
scenario must be mapped to an allocation procedure. In order entry, then, when a material
is entered with a valid allocation procedure in the material master, the allocation data is
verified prior to confirming the line item ordered
12.List of Suitable Structures (OV9Z) This report is used to identify potential LIS
information structures that can be used in the product allocation process. This report
simply reads through the data dictionary and selects all the active information structures
that contain the field product allocation object (KONOB) as the first field. This data can
then be utilized in the mapping transaction (OV3Z) to link the allocation procedure step
to an information structure (previous step).

Sending a billing document by e-mail


First, your SAP system must be configure by the basis people in order for you to send an
external mail.
Whether it can send pdf or other file format will depends on the Mail Server you are
using.
The basis people must also maintain the conversion parameters so that SAP knows how
to convert the billing documents to be send as a pdf file or other desired format specified
by your company.
Finally, you have define the IMG in Maintain Output Determination for Billing
Documents (Output type MAIL)

SAP Customizing Picking Output


From Release 4.5A, the system does no longer display the actions for SD picking in the
implementation guide.
If you want to use the picking list according to the "old" procedure, you can maintain the
list as follows:
o Carry out Transaction V/38 to maintain the output types.
o Carry out Transaction OVLT to assign the picking list types to the
shipping points.
o

Carry out Transaction V/53 to assign the picking lists to own


forms and programs.

Program for Sales Order by Customer,


Date, Sales
Sales Order by Organisation, Customer - To create the Sales Order by More no of
Date's
User's can easily take the Report from this by selecting Different kinds like Customer
Specific [And/Or] Sales Organisation Specific [And/Or] duration of date but Here Date is
Mandatory Fields user must have to give date as a selection criteria
In Second level this report will interact with user where they can select date to see the full
Details of Sales Order
Selection
- Sales Organisation
- Date
- Customer this will be usefull when Selecting the Checkbox
Standard Variants
- Output
- Sales Order
Example
Date
SalesOrderNo Material Amount Currency
10.01.2007 8530
732
1000
INR
*&---------------------------------------------------------------------*
*& Report ZCHE_SALES_ORDER
*&--------Done by V.Chellavelu on 11.01.2007
--------------------------*
REPORT

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

" sales document


"Net Value of the SalesOrder
"material no.
"curr.
"date.
0 WITH HEADER LINE.

DATA: amount LIKE vbak-netwr, date2(15),date3(8),date4(1),


date5(2),date6(2).
DATA: lin LIKE sy-curow VALUE 1,"Screens, vertical cursor position at
"PAI available in SYST struc.
checkbox
TYPE c
,

dat LIKE vbak-erdat.


*******************Selection**Screen**Design****************************
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
PARAMETERS: vkorg LIKE vepvg-vkorg,
vtweg LIKE vepvg-vtweg,
spart LIKE vepvg-spart.
SELECT-OPTIONS date FOR vbkd-bstdk DEFAULT sy-datum TO sy-datum
OBLIGATORY.
SELECTION-SCREEN END OF BLOCK blk1.
SELECTION-SCREEN BEGIN OF BLOCK blk2 WITH FRAME TITLE text-002.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 10.
PARAMETERS: chk1 AS CHECKBOX.
SELECTION-SCREEN POSITION 20.
PARAMETERS: kunnr1 LIKE vbpa-kunnr.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK blk2.
********************First**Level**Operation*****************************
IF chk1 <> 'X'.
IF vkorg <> ''.
PERFORM organisation.
ELSE.
PERFORM organisation_else.
ENDIF.
ELSE.
IF vkorg <> ''.
PERFORM cus_orga.
ELSE.
PERFORM cus_orga_else.
ENDIF.
ENDIF.
* Displaying the contents which is selected from table by
* -selection conditions
SORT sal BY dat.
LOOP AT sal.
ON CHANGE OF sal-dat.
*
FORMAT HOTSPOT ON.
IF sy-tabix = 1.
WRITE: sy-vline, sal-ch AS CHECKBOX,sal-dat .
CLEAR amount.
ELSE.
WRITE:sy-vline, amount,/ sy-vline, sal-ch AS CHECKBOX,sal-dat.
CLEAR amount.
ENDIF.
ENDON.
amount = amount + sal-netwr.
AT LAST.
WRITE:sy-vline, amount.
ULINE.
SUM.

FORMAT HOTSPOT OFF.


FORMAT COLOR = 3.
WRITE:/ ' Total Amount:', sal-netwr UNDER amount.
ENDAT.
ENDLOOP.
**********************Interaction with report**************************
SET PF-STATUS 'BANU'. " To create Application ToolBar for Display
Button
*
To verify Double click on BANU
AT USER-COMMAND. " This will execute after pressing Display Button
CASE sy-ucomm.
WHEN 'DISP'.
free newsal.
DO.
READ LINE lin FIELD VALUE sal-ch INTO checkbox.
IF sy-subrc NE 0. EXIT. ENDIF.
IF checkbox = 'X'.
PERFORM datecon.
PERFORM process.
ENDIF.
lin = lin + 1.
ENDDO.
PERFORM selection.
ENDCASE.
************************ SUB ROUTINE Area
******************************
*This Process SubRoutine will assign the values from current
*
-InternalTable (sal) into other IT(newsal), by date which is
*
- selected by CheckBox
FORM process.
LOOP AT sal WHERE dat = dat.
newsal-ch
= 'X'.
newsal-vbeln = sal-vbeln.
newsal-netwr = sal-netwr.
newsal-matnr = sal-matnr.
newsal-waerk = sal-waerk.
newsal-dat
= sal-dat.
APPEND newsal.
ENDLOOP.
ENDFORM.
"process
*&---------This will display the values for selected dates from new --*
*---------------------internal Table (newsal)-------------------------*
*&
Form SELECTION
*&--------------------------------------------------------------------*
*---------------------------------------------------------------------*
FORM selection.
ULINE.
FORMAT COLOR = 1.
WRITE:sy-vline,'Date',AT 14 sy-vline, 'Order NO', AT 27 sy-vline,
'Order Material', AT 48 sy-vline,'Order Value(AMT) Currency '.
FORMAT COLOR OFF.
ULINE.

LOOP AT newsal.
ON CHANGE OF newsal-dat.
IF sy-tabix <> 1.
WRITE:/ sy-vline, AT 14 sy-vline,AT 27 sy-vline,AT 48 sy-vline.
WRITE:/ sy-vline,newsal-dat,sy-vline,AT 27 sy-vline,AT 48 sy-vline.
ELSE.
WRITE: sy-vline,newsal-dat,sy-vline,AT 27 sy-vline,AT 48 sy-vline.
ENDIF.
ENDON.
WRITE:/ sy-vline, AT 14 sy-vline,newsal-vbeln,sy-vline,
newsal-matnr, sy-vline, newsal-netwr, newsal-waerk.
AT LAST.
SUM.
ULINE. FORMAT COLOR = 3.
WRITE:/ sy-vline, AT 15 'Total Amount for selected month:',
newsal-netwr UNDER newsal-netwr.
FORMAT COLOR OFF.
ULINE.
ENDAT.
ENDLOOP.
lin = 1.
FREE newsal.
ENDFORM.
"SELECTION
* This Date convertion is must for pick the particular Date from the
*
-displayed line, and here we are reversing the Date like
YYYY/MM/DD
* -because to Check or assign the date we need to give in reverse
order
*&--------------------------------------------------------------------*
*&
Form DATECON
*&--------------------------------------------------------------------*
*
text
*---------------------------------------------------------------------*
FORM datecon.
date2 = sy-lisel(17).
SHIFT date2 LEFT BY 4 PLACES.
WHILE date2 <> ''.
SHIFT date2 RIGHT.
date4 = date2+11.
IF date4 <> '.'.
CONCATENATE date4 date3 INTO date3.
ENDIF.
ENDWHILE.
date5 = date3(2).
date6 = date3+2.
date3 = date3+4.
CONCATENATE date3 date6 date5 INTO date3.
dat = date3.
* SORT dat BY dat.
* DELETE ADJACENT DUPLICATES FROM dat COMPARING dat.
ENDFORM.
"DATECON
* Here we are doing different kinds of selections by the EndUser's

needs
*&---------When user selectiong an Sales Organisation-----------------*
*&
Form ORGANISATION
*&--------------------------------------------------------------------*
*
text
*---------------------------------------------------------------------*
FORM organisation.
SELECT f~vbeln p~matnr c~netwr c~waerk p~audat INTO (sal-vbeln,
sal-matnr, sal-netwr,sal-waerk, sal-dat) FROM ( vakpa AS f INNER JOIN
vbak AS c ON f~vbeln = c~vbeln ) INNER JOIN vapma AS p ON
f~vbeln = p~vbeln WHERE p~audat IN date AND p~vkorg = vkorg.
APPEND sal.
ENDSELECT.
ENDFORM.
"ORGANISATION
*&---------Without Sales Organisation i.e All Organisation------------*
*&
Form ORGANISATION_ELSE
*&--------------------------------------------------------------------*
*
text
*---------------------------------------------------------------------*
FORM organisation_else.
SELECT f~vbeln p~matnr c~netwr c~waerk p~audat INTO (sal-vbeln,
sal-matnr, sal-netwr,sal-waerk, sal-dat) FROM ( vakpa AS f INNER JOIN
vbak AS c ON f~vbeln = c~vbeln ) INNER JOIN vapma AS p ON
f~vbeln = p~vbeln WHERE p~audat IN date.
APPEND sal.
ENDSELECT.
ENDFORM.

"ORGANISATION_ELSE

*&------------When Selecting Customer by choosing CheckBox------------*


*&
Form CUS_ORGA
*&--------------------------------------------------------------------*
*
text
*---------------------------------------------------------------------*
FORM cus_orga.
SELECT f~vbeln p~matnr c~netwr c~waerk p~audat INTO (sal-vbeln,
sal-matnr, sal-netwr,sal-waerk, sal-dat) FROM ( vakpa AS f INNER JOIN
vbak AS c ON f~vbeln = c~vbeln ) INNER JOIN vapma AS p ON
f~vbeln = p~vbeln WHERE p~audat IN date AND p~vkorg = vkorg AND
p~kunnr = kunnr1.
APPEND sal.
ENDSELECT.
ENDFORM.

"CUS_ORGA

*&------------Without Customer by without choosing CheckBox-----------*


*&
Form CUS_ORGA_ELSE
*&--------------------------------------------------------------------*
*
text
*---------------------------------------------------------------------*
FORM cus_orga_else.
SELECT f~vbeln p~matnr c~netwr c~waerk p~audat INTO (sal-vbeln,
sal-matnr, sal-netwr,sal-waerk, sal-dat) FROM ( vakpa AS f INNER JOIN
vbak AS c ON f~vbeln = c~vbeln ) INNER JOIN vapma AS p ON

f~vbeln = p~vbeln WHERE p~audat IN date AND p~kunnr = kunnr1.


APPEND sal.
ENDSELECT.

How To Maintain Output Types in SD


ERP SAP ==> SD SAP
When I am creating a bill and saving it and then giving issue
output to and then header preview, the system does not respond. Should I maintain
condition records? Where and how to maintain?
For getting any output either by print, Fax, or any media you have to do output
determination. output determination is also carried by Condition techniques. The detail
procedure for Output Determination is :
OutPut Determintaion :
Output is a form of media from your business to one of its business partners or it can be
within the organization. The output can be sent to any of the partners defined in the
document. Outputs are usually in the form of Order Confirmations, Freight List, Delivery
Notes, Invoices & Shipping Notifications. Determining form of output is output
determination.
Types of Output:
Print Output, Fax, Telex, E-Mail & EDI (Electronic Data Interchange)
--> PRINT OUTPUT:
Configuration path: ( following are the steps)
1) SPRO-> IMG-> Basic Functions-> Output Control-> Output Determination-> Output
Determination using Condition Technique- >Output Determination for Sales Documents
(or you can use output determination for billing documents depending on your
requirement).
2) Create Condition Table: select the field Sales Doc Type from field catalog & Save
3) Maintain Access Sequence: 4-digits code & description.
4) Assign condition table to access sequence. Select Accesses line item and Go To Fields.
Fields will display the fields we have selected in the condition table i.e. sales doc type.

Maintain Output Types:


AF00: Inquiry
AN00: Quotation
BA00: Order Confirmation
LD00: Delivery
RD00: Invoice
Select BA00 & Copy & Rename. Give the same 4-digit code as given to access sequence.
You Can Maintain:
Languages of Output
Partners (to whom you need to send output)
Print Program- print specification
Sap Script- layout
Assign Output Types to Partner Functions: go to new entries & assign your output type to
partner functions.
Maintain Output Determination Procedure: V10000 (Standard Procedure). Go to new
entries and create your own 6-digit code with description. Select the procedure, go to
Control Data. Here mention the output type i.e. condition type and leave requirement and
manual only columns as blank.
Determination Rule: link the 6-digit procedure code to doc types.
Create Condition Records: VV11. Select document type and click on Communication.
Mention partner function, medium, time. Output device: LP01, Spool request Name:
SD_003, Suffix 2: order_confir & flag on print immediately.
Once you press enter you will come across 2 key combinations:
Sales organisation/ Customer Number: fill SO, Customer No, Partner Function
Abbreviation, Partner to whom the output should be sent, time, medium, language.
It contains: Sales Orgnisation, Customer, Partner Function (The abbreviated form of the
name that identifies the Partner) (During output determination, the system determines the
recipient of the output from the master record for the specified partner function. In this

field, you can explicitly specify a recipient that will override the standard partner. There
must also be a master record for the partner that is specified explicitly.), Medium, Time &
Language.}
Order Type: Document Type, Partner Function (abbreviation), Partner, Medium, Time &
Language.
Path For Output Determination For Sales Documents: Logistics -> Sales/distribution ->
Master data -> Output -> Sales Document -> Create (t-code VV11)
Path for Output Determination for Delivery Documents : Logistics -> Sales/distribution
-> Master data -> Output -> shipping -> Create ( t-ode VV21)
Path for Output Determination for Billing Documents : Logistics ->
Sales/distribution -> Master data -> Output -> Billing Document ->
Create ( t- code VV31)

Printing Block For Credit Block SO


Can we get the print if the order /delivery is blocked after static
credit limit check?
Please follow the below path:
IMG - Logistics Execution - Shipping - Deliveries - Define Reasons for Blocking in
Shipping - Execute
- Define Reasons for Blocking in Shipping Here select the delivery block that is blocking your order/delivery, and uncheck if the
option Print is checked.
Display View "Deliveries: Blocking Reasons/Criteria": Overview
DB Delivery block descr Order Conf.
01 Credit limit
02 Political reasons
03 Bottleneck material
04 Export papers missng
05 Check free of ch.dlv

Print DDueList

SpK

SpW

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.

Anda mungkin juga menyukai