Requirements
Requirements
Define the Customer Taxes in OVK3, you will maintain the tax code in Customer Master.
Define the Material Taxes in OVK4, which will then be maintain in Material Master.
For example :MWST GST
MWST GST
0 Tax Exempt
1 Liable for Taxes
MWST
Customer Taxes
0
0
1
1
Material Taxes
0
1
0
1
Rate Taxes
0%
0%
0%
9%
In this example, if both the Customer Master and Material Master Tax code is 1, Tax will
be included when you create the Sales Order.
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.
The selling organisations normally needs to register with the sales tax authority of the
respective state to have a warehouse or D plant to avoid the double taxation for their
dealers/distributors.
Now, the pricing procedure that is there in 4.7 is Factory sale with formula-JFACT, in
which the CST condition type is JIN1 & the LST is probably JIN2. There may be
surcharge cond types as well which will calculate the amount on either JIN1 or JIN2.
For config :
1.SPRO > S&D > Basic fn. > Pricing > Pricing control > Define & assign Pric. procedure
> Maintain Pric proc.
2. The tax rates are normally driven from the Tax classification of Customer & Material
access. To do this config, S&D >Basic fn. > Taxes. You need to include the condition
type for country IN in 'Define tax determin rule'.
3. Same path : But go to Tax relevancy of master records where you configure the
condition type & options of rates that will flow to these masters. One needs to understand
here properly as u need to have unique combinations for picking the sales tax rates. I will
try to demonstrate the smallest example. Let's say, the LST rates are 2%,4% & 0%. I will
have two options for material master here. 1 for taxable & 2 for not taxable.
For customer master, I will have 1-LST 2%, 2-LST4% & 3-LST0%. When I create
master records for LST thru VK11 for JIN2, I will chose the access where the
combinations of customer & material tax classifications are available. If this access does
not exist create it under an access sequence. But normally this is standard. The condition
records will look like,
Cust-Tax classi.
Material tax claasi.
Rate
Tax code
1
1
2%
A1
2
1
4%
A1
3
1
0%
A1
Remember, rates are flown from the tax codes. Tax codes can be created thru T code
FTXP. This is normally a FI job
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
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.
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
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.
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
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.
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.
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.
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:
Goto VL02N --> do picking and PGI --> Then do the MIGO with respect to the delivery
document.
Billing (Intercompany pricing conditions should be set).
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.
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.
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.
---
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 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?
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
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.
09
09
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
DftItCa
TAQ
TAE
TAP
TAN
TAN
TAE
TAE
Statistical value x or y
Make TAP relevant for pricing but values for statistical only.
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
6. Vendor delivers the goods and raises bill to company. MM receives the invoice MIRO
7. Goods receipt MIGO
8. Goods issue
9. The item cat TAS or Schedule line cat CS is not relevant for delivery which is evident
from the config and, therefore, there is no delivery process attached in the whole process
of Third party sales.
10. Billing
SD VF01
(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
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
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.
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.
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.
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
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.
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.
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
| Report header
| Cat.
----------------------------------------------------------------------------------------| STYPE
| Record type
000001 | 000000 |
| 0
| CHAR
| GROUP
| Group name
000012 | 000000 |
| BI Session Name
| CHAR
| MANDT
| Client
000003 | 000000 |
| Your client no
| CLNT
| USNAM
| User ID
000012 | 000000 |
| Queue user ID
| CHAR
| START
| Lock until:
000010 | 000000 |
| DATS
| XKEEP
| Keep indicator
000001 | 000000 |
| NODATA
| No batch input
000001 | 000000 |
| /
| CHAR
-----------------------------------------------------------------------------------------
| Report header
| Cat.
----------------------------------------------------------------------------------------| STYPE
| Record type
000001 | 000000 |
| 1
| CHAR
| TCODE
| Transaction code
000020 | 000000 |
| TCode = VK15
| CHAR
| KVEWE
| Usage
000001 | 000000 |
| U
| CHAR
| KOTABNR
| Table
000003 | 000000 |
| CHAR
| KAPPL
| Application
000002 | 000000 |
| App
| CHAR
| KSCHL
| Condition type
000004 | 000000 |
| CHAR
e.g V
-----------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------
| Report header
| Cat.
----------------------------------------------------------------------------------------| STYPE
| Record type
000001 | 000000 |
| 2
| CHAR
| VAKEY
| VarKey
000100 | 000000 |
| VarKey
| CHAR
| DATBI
| Valid to
000010 | 000000 |
| Valid to
| DATS
| DATAB
| Valid on
000010 | 000000 |
| Valid on
| DATS
| KBETR
| Amount
000015 | 000000 |
| Amount
| CHAR
| KONWA
| R/2 table
000005 | 000000 |
| R2tab
| CHAR
| KPEIN
| R/2 table
000005 | 000000 |
| R2tab
| CHAR
| KMEIN
|
000003 | 000000 |
| CHAR
| MWSK1
| Tax code
000002 | 000000 |
| Tx
| CHAR
| KONMS
| Scale UoM
000003 | 000000 |
| UoM
| UNIT
| MXWRT
| Amount
000015 | 000000 |
| Amount
| CHAR
| GKWRT
| Amount
000015 | 000000 |
| Amount
| CHAR
| STFKZ
| Scale type
000001 | 000000 |
| S
| CHAR
| KZNEP
| Exclusion
000001 | 000000 |
| CndEx
| CHAR
| LOEVM_KO
| Deletion indic.
000001 | 000000 |
| D
| CHAR
| SKONWA
| R/2 table
000005 | 000000 |
| R2tab
| CHAR
-----------------------------------------------------------------------------------------
| Report header
| Cat.
----------------------------------------------------------------------------------------| STYPE
| Record type
000001 | 000000 |
| 3
| CHAR
| KSTBM
| Quantity
000018 | 000000 |
| Quantity
| CHAR
| KONMS
| Scale UoM
000003 | 000000 |
| UoM
| UNIT
| KBETR
| Amount
000015 | 000000 |
| Amount
| CHAR
-----------------------------------------------------------------------------------------
*
* Sales Order Changed History Display
*
* You can execute the report by :
* 1. Change Date
* 2. User Name
* 3. Sales Order Number
*
* Submitted by : SAP Basis, ABAP Programming and Other IMG Stuff
*
http://www.sap-img.com
*
REPORT ZSDCHANGE LINE-SIZE 132 NO STANDARD PAGE HEADING
LINE-COUNT 065(001)
MESSAGE-ID VR.
TABLES: DD04T,
CDHDR,
CDPOS,
DD03L,
DD41V,
T685T,
VBPA,
TPART,
KONVC,
VBUK.
DATA: BEGIN OF ICDHDR OCCURS 50.
INCLUDE STRUCTURE CDHDR.
DATA: END OF ICDHDR.
SELECT-OPTIONS: XUDATE FOR ICDHDR-UDATE,
XNAME FOR ICDHDR-USERNAME,
XVBELN FOR VBUK-VBELN.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF BLOCK BLK1
PARAMETERS: SUDATE RADIOBUTTON GROUP
SNAME RADIOBUTTON GROUP
SOBID RADIOBUTTON GROUP
SELECTION-SCREEN END OF BLOCK BLK1.
DATA: WFLAG,
WCHANGENR LIKE CDHDR-CHANGENR,
WUDATE LIKE CDHDR-UDATE,
WNAME LIKE CDHDR-USERNAME,
WVBELN LIKE VBUK-VBELN,
WDEC1 TYPE P DECIMALS 3,
WDEC2 TYPE P DECIMALS 3,
WDEC3 TYPE P DECIMALS 3,
WDEC4 TYPE P DECIMALS 3.
DATA: UTEXT(16) VALUE 'has been changed',
ITEXT(16) VALUE 'has been created',
DTEXT(16) VALUE 'has been deleted'.
DATA: BEGIN OF ICDSHW OCCURS 50.
INCLUDE STRUCTURE CDSHW.
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
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,
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
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.
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.
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.
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:
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
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
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
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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
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.
Target
e.g. F1 - Invoice
F1 - Invoice
Source
OR - Standard Sales Order
ZOR - Your Sales Order
2.
3.
4.
5.
6.
7.
8.
Item
Turbine
100,000
Billing Plan
Billing date Description
Billing Status
01-10-94
Contract
01-03-95
Assembly
01-04-95
Maintenance
01-05-95
Acceptance
01-06-95
Final invoice
Value
10
30
30
30
..
10,000
30,000
30,000
30,000
..
Billing Block
x
x
x
x
Milestone
x
x
x
x
Network/Activities
Milestone
Assembly
Maintenance
Acceptance
Estimate
01-03-95
01-04-95
01-05-95
Actual
01-03-95
For each billing date in a milestone billing plan, you can specify
whether the billing
date is:
1. fixed
2. always updated with the actual date of the milestone
3. updated with the actual date of the milestone, if the date is
earlier than the
planned billing date for the date
In Customizing for Sales, you control how the system automatically creates the schedule
of dates in a billing plan. The system determines the schedule of individual dates based
on general date information, such as the start and end dates. This general date information
is copied either from contract header data or from proposals in the billing plan type.
Pricing
Sales document items are billed as each billing date in the plan becomes due. The system
determines the amount to be billed either from the condition records that are applicable to
the item or from the values that are explicitly entered in the billing plan for a particular
billing date. In milestone billing, for example, you can specify a percentage to be billed
or an actual amount.
Billing block
A billing block can be set for each date in a billing plan. The block prevents processing
for a particular billing date but does not necessarily affect any of the other dates in the
plan. In milestone billing, the system automatically sets a billing block for each billing
date. This block remains in effect until the project system reports back that the milestone
in the corresponding network has been successfully completed. At this point the system
removes the block.
Billing index
For every billing date in a plan, the system creates and updates a billing index. If a billing
date is blocked for billing, the system copies this information into the index.
Billing status
The system assigns a billing status to each billing date in the plan. The status indicates to
what extent the billing has been processed for that particular date. After billing has been
carried out successfully, the billing status is automatically set to C. This prevents a
billed date from being billed again.
Billing Rule for Milestone Billing
For every date in the milestone billing plan, you can specify a billing rule. The rule
determines how the billing amount for the particular date is calculated. For example, you
can specify whether the billing amount is a percentage of the total amount or whether it is
a fixed amount.
In addition, you can specify that the amount to be billed is a final settlement that takes
into account billing that has not yet been processed. For example, price changes may take
place after billing dates in the plan have already been processed. The price differences
can be taken into account during final settlement.
Final settlement is not automatically proposed in the billing plan by the system; you must
enter it manually during processing.
Fixed dates in milestone billing
You can control for each date in a billing plan, whether the date is fixed or whether the
system copies the date from the planned or actual milestone dates in a project.
Document flow
After a particular date in a billing plan is processed for billing, the system updates the
document flow for the corresponding sales document item.
The document flow for the sales document displays the following data:
Creation date
Billing date
Billed value
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.
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,
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
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.
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.
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
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
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.
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-----
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
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
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.
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.
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:
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.
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.
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.
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
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).
Whether it can send pdf or other file format will depends on the Mail Server you are
using.
The basis people must also maintain the conversion parameters so that SAP knows how
to convert the billing documents to be send as a pdf file or other desired format specified
by your company.
Finally, you have define the IMG in Maintain Output Determination for Billing
Documents (Output type MAIL)
Example
Date
SalesOrderNo Material Amount Currency
10.01.2007 8530
732
1000
INR
*&---------------------------------------------------------------------*
*& Report ZCHE_SALES_ORDER
*&--------Done by V.Chellavelu on 11.01.2007
--------------------------*
REPORT
zche_sales_order
****************************Declarations********************************
TABLES: vbkd,vepvg.",vbak,vbap,vbpa,vakpa, vapma.
DATA: BEGIN OF sal OCCURS 0,
ch TYPE checkbox,
vbeln LIKE vbak-vbeln,
netwr LIKE vbak-netwr,
matnr LIKE vbap-matnr,
waerk LIKE vbak-waerk,
dat
LIKE vbak-erdat,
END OF sal.
DATA: newsal LIKE sal OCCURS
ENDIF.
ELSE.
IF vkorg <> ''.
PERFORM cus_orga.
ELSE.
PERFORM cus_orga_else.
ENDIF.
ENDIF.
* Displaying the contents which is selected from table by
* -selection conditions
SORT sal BY dat.
LOOP AT sal.
ON CHANGE OF sal-dat.
*
FORMAT HOTSPOT ON.
IF sy-tabix = 1.
WRITE: sy-vline, sal-ch AS CHECKBOX,sal-dat .
CLEAR amount.
ELSE.
WRITE:sy-vline, amount,/ sy-vline, sal-ch AS CHECKBOX,sal-dat.
CLEAR amount.
ENDIF.
ENDON.
amount = amount + sal-netwr.
AT LAST.
WRITE:sy-vline, amount.
ULINE.
SUM.
*
FORMAT HOTSPOT OFF.
FORMAT COLOR = 3.
WRITE:/ ' Total Amount:', sal-netwr UNDER amount.
ENDAT.
ENDLOOP.
**********************Interaction with report**************************
SET PF-STATUS 'BANU'. " To create Application ToolBar for Display
Button
*
To verify Double click on BANU
AT USER-COMMAND. " This will execute after pressing Display Button
CASE sy-ucomm.
WHEN 'DISP'.
free newsal.
DO.
READ LINE lin FIELD VALUE sal-ch INTO checkbox.
IF sy-subrc NE 0. EXIT. ENDIF.
IF checkbox = 'X'.
PERFORM datecon.
PERFORM process.
ENDIF.
lin = lin + 1.
ENDDO.
PERFORM selection.
ENDCASE.
************************ SUB ROUTINE Area
******************************
*This Process SubRoutine will assign the values from current
*
-InternalTable (sal) into other IT(newsal), by date which is
*
- selected by CheckBox
FORM process.
LOOP AT sal WHERE dat = dat.
newsal-ch
= 'X'.
newsal-vbeln = sal-vbeln.
newsal-netwr = sal-netwr.
newsal-matnr = sal-matnr.
newsal-waerk = sal-waerk.
newsal-dat
= sal-dat.
APPEND newsal.
ENDLOOP.
ENDFORM.
"process
*&---------This will display the values for selected dates from new --*
*---------------------internal Table (newsal)-------------------------*
*&
Form SELECTION
*&--------------------------------------------------------------------*
*---------------------------------------------------------------------*
FORM selection.
ULINE.
FORMAT COLOR = 1.
WRITE:sy-vline,'Date',AT 14 sy-vline, 'Order NO', AT 27 sy-vline,
'Order Material', AT 48 sy-vline,'Order Value(AMT) Currency '.
FORMAT COLOR OFF.
ULINE.
LOOP AT newsal.
ON CHANGE OF newsal-dat.
IF sy-tabix <> 1.
WRITE:/ sy-vline, AT 14 sy-vline,AT 27 sy-vline,AT 48 sy-vline.
WRITE:/ sy-vline,newsal-dat,sy-vline,AT 27 sy-vline,AT 48 sy-vline.
ELSE.
WRITE: sy-vline,newsal-dat,sy-vline,AT 27 sy-vline,AT 48 sy-vline.
ENDIF.
ENDON.
WRITE:/ sy-vline, AT 14 sy-vline,newsal-vbeln,sy-vline,
newsal-matnr, sy-vline, newsal-netwr, newsal-waerk.
AT LAST.
SUM.
ULINE. FORMAT COLOR = 3.
WRITE:/ sy-vline, AT 15 'Total Amount for selected month:',
newsal-netwr UNDER newsal-netwr.
FORMAT COLOR OFF.
ULINE.
ENDAT.
ENDLOOP.
lin = 1.
FREE newsal.
ENDFORM.
"SELECTION
* This Date convertion is must for pick the particular Date from the
*
-displayed line, and here we are reversing the Date like
YYYY/MM/DD
* -because to Check or assign the date we need to give in reverse
order
*&--------------------------------------------------------------------*
*&
Form DATECON
*&--------------------------------------------------------------------*
*
text
*---------------------------------------------------------------------*
FORM datecon.
date2 = sy-lisel(17).
SHIFT date2 LEFT BY 4 PLACES.
WHILE date2 <> ''.
SHIFT date2 RIGHT.
date4 = date2+11.
IF date4 <> '.'.
CONCATENATE date4 date3 INTO date3.
ENDIF.
ENDWHILE.
date5 = date3(2).
date6 = date3+2.
date3 = date3+4.
CONCATENATE date3 date6 date5 INTO date3.
dat = date3.
* SORT dat BY dat.
* DELETE ADJACENT DUPLICATES FROM dat COMPARING dat.
ENDFORM.
"DATECON
* Here we are doing different kinds of selections by the EndUser's
needs
*&---------When user selectiong an Sales Organisation-----------------*
*&
Form ORGANISATION
*&--------------------------------------------------------------------*
*
text
*---------------------------------------------------------------------*
FORM organisation.
SELECT f~vbeln p~matnr c~netwr c~waerk p~audat INTO (sal-vbeln,
sal-matnr, sal-netwr,sal-waerk, sal-dat) FROM ( vakpa AS f INNER JOIN
vbak AS c ON f~vbeln = c~vbeln ) INNER JOIN vapma AS p ON
f~vbeln = p~vbeln WHERE p~audat IN date AND p~vkorg = vkorg.
APPEND sal.
ENDSELECT.
ENDFORM.
"ORGANISATION
*&---------Without Sales Organisation i.e All Organisation------------*
*&
Form ORGANISATION_ELSE
*&--------------------------------------------------------------------*
*
text
*---------------------------------------------------------------------*
FORM organisation_else.
SELECT f~vbeln p~matnr c~netwr c~waerk p~audat INTO (sal-vbeln,
sal-matnr, sal-netwr,sal-waerk, sal-dat) FROM ( vakpa AS f INNER JOIN
vbak AS c ON f~vbeln = c~vbeln ) INNER JOIN vapma AS p ON
p~audat IN date.
"ORGANISATION_ELSE
"CUS_ORGA
Output is a form of media from your business to one of its business partners or it can be
within the organization. The output can be sent to any of the partners defined in the
document. Outputs are usually in the form of Order Confirmations, Freight List, Delivery
Notes, Invoices & Shipping Notifications. Determining form of output is output
determination.
Types of Output:
Print Output, Fax, Telex, E-Mail & EDI (Electronic Data Interchange)
--> PRINT OUTPUT:
Configuration path: ( following are the steps)
1) SPRO-> IMG-> Basic Functions-> Output Control-> Output Determination-> Output
Determination using Condition Technique- >Output Determination for Sales Documents
(or you can use output determination for billing documents depending on your
requirement).
2) Create Condition Table: select the field Sales Doc Type from field catalog & Save
3) Maintain Access Sequence: 4-digits code & description.
4) Assign condition table to access sequence. Select Accesses line item and Go To Fields.
Fields will display the fields we have selected in the condition table i.e. sales doc type.
Maintain Output Types:
AF00: Inquiry
AN00: Quotation
BA00: Order Confirmation
LD00: Delivery
RD00: Invoice
Select BA00 & Copy & Rename. Give the same 4-digit code as given to access sequence.
You Can Maintain:
Languages of Output
Partners (to whom you need to send output)
Can we get the print if the order /delivery is blocked after static
credit limit check?
Please follow the below path:
IMG - Logistics Execution - Shipping - Deliveries - Define Reasons for Blocking in
Shipping - Execute
- Define Reasons for Blocking in Shipping Here select the delivery block that is blocking your order/delivery, and uncheck if the
option Print is checked.
Display View "Deliveries: Blocking Reasons/Criteria": Overview
DB Delivery block descr Order Conf.
Print DDueList
SpK
SpW
01 Credit limit
02 Political reasons
03 Bottleneck material
04 Export papers missng
05 Check free of ch.dlv
06 No printing
07 Quantity Change
08 Kanban Delivery
Printing block field:
Indicates whether the system automatically blocks output for sales documents that are
blocked for delivery.
Example :
In the case of sales orders that are blocked for delivery because of credit reasons, you
may want to block the printing of order confirmations.
Note:
The particular output that is affected by a delivery block is determined in output control.
PS: If the document is exceeds by the credit limit output type will not determine and as
well as we should not give the output type in sales order. We have to assign the routine 2
to sales order output types and 3 routine to delivery output types to restrict from output if
the docuement exceeds by credit limit.