Beruflich Dokumente
Kultur Dokumente
can only be canceled with billing type S1 with VBTYP 'N' . A billing type with
VBTYP '5' can only be canceled with the VBTYP '6' and vice versa.
3) Cancellation billing document type partner functions A check is made to see if the
cancellation billing document type partner functions are empty or if those that
correspond to the billing type used are empty.
Next, make sure that you maintain the copy control for the Billing Types:
Sales documents in VTFA
Target Source
e.g. F1 - Invoice OR - Standard Sales Order
F1 - Invoice ZOR - Your Sales Order
Billing documents in VTFF
e.g. G2 - Debit Memo F1 - Invoice
G2 - Debit Memo F2 - Invoice
Deliveries in VTFL
e.g. F1 - Invoice LF - Delivery
F1 - Invoice ZOR - Your Delivery
Usually for copy control, you let the rest of the settings remains as SAP defaults.
You only assign the new Billing Document Types.
After that use transaction VCHECKTVCPF to check your Copy control customizing
During sales order processing, the system determines from the item
category whether a
billing plan is required and, if so, which type of plan
Billing plans for periodic billing and milestone billing plans for
project-related milestone
billing have different overview screens so that you can enter data
relevant to your
processing.
For example, for milestone billing, you must be able to enter data to
identify the
individual milestones.
The connection between the project and the sales document item is made
in the individual
schedule lines of the item. Each schedule item can be assigned to a
network in a project.
Billing Plan
Network/Activities
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
Creation date
Billing date
Billed value
Creating with reference
When you define a billing plan type in Customizing for Sales, you can enter the number
of an existing billing plan to serve as a reference during subsequent billing plan creation.
During sales order processing for items that require billing plans, the system
automatically proposes the reference plan and, if necessary, re-determines the billing
dates (based on the current date rules) for inclusion in the new billing plan.
Exchange rate determination
In the billing plan with partial billing, you can store a certain exchange rate for each date.
The amount billed is the amount determined after using this exchange rate to convert
from the local currency into the document currency.
An exchange rate can also be stored at item level for the sales document (field: Exchange
rate for FI on the Billing tab page. This fixed rate is valid for all dates in the item billing
plan for which no rate is specified in the billing plan. If an exchange rate is entered both
for the date in the billing plan and at item level in the exchange rate field, then the system
uses the rate specified for the date during billing.
If no exchange rate is entered for the the date or at item level, then the system uses the
exchange rate used for invoice creation and it is forwarded to FI.
When using a header billing plan, all billing plans linked to this header billing plan are
automatically updated. If, for example, you enter an exchange rate manually for the first
date in the header billing plan, this is automatically copied to the corresponding dates for
the item billing plans.
Martishev Sabir
Thank you for your reply. Can you please tell me the exact steps what should I add
under that(additional split criteria).
Naina
In trx VTFA (if your billing is sales order based) choose your billing type and SO type,
there select your item categories and there select the field VBRK/VBRP data. In that field
you will see the currently used routine. With the help of your ABAP guy create a copy of
that routine under a different number and add your lines of code. Let's say you use
routine 001.
FORM DATEN_KOPIEREN_001.
* Header data
* VBRK-xxxxx = ............
* Item data
* VBRP-xxxxx = ............
* Additional split criteria
DATA: BEGIN OF ZUK,
MODUL(3) VALUE '001',
VTWEG LIKE VBAK-VTWEG,
SPART LIKE VBAK-SPART,
END OF ZUK.
ZUK-SPART = VBAK-SPART.
ZUK-VTWEG = VBAK-VTWEG.
VBRK-ZUKRI = ZUK.
ENDFORM.
* Header data
* VBRK-xxxxx = ............
* Item data
* VBRP-xxxxx = ............
* Additional split criteria
DATA: BEGIN OF ZUK,
MODUL(3) VALUE '001',
VTWEG LIKE VBAK-VTWEG,
SPART LIKE VBAK-SPART,
PSTYV LIKE VBAP-PSTYV, <- New line
END OF ZUK.
ZUK-SPART = VBAK-SPART.
ZUK-VTWEG = VBAK-VTWEG.
ZUK-PSTYV = VBAP-PSTYV. <- New line
VBRK-ZUKRI = ZUK.
ENDFORM.
After this routine is created and activated place it as the default copy control routine
instead of the old ones.
hints?
-----Reply Message-----
Subject: RE: Prepaid process possible
Hi again!
You are right! However, if you create a new item category for the prepaid scenario, you
can
select what item category (and process) to use at order entry. It is also possible to code a
user exit so that only certain customers will get the prepaid process. This can be done also
with item category groups (can be used to determine what default item category that
should appear). This would mean that you either have different materialnumbers for the
different processes or use different distribution channels in the sales order. DC 10 could
be
the normal process and DC 20 the prepaid process. Then you need to create the sales
views in material master for DC 20 for all materials that should be possible to run in the
prepaid scenario, and enter the "prepaid item category group in the sales item category
group field in material master.
Here is a proposal of customizing activities to achieve this:
1. Create a new item category as a copy of the normal item category used for non-prepaid
sales. (Change the billing in the item category to order related billing with no billing
plan)
2. Create a new item category group "ZXXX" or something of your choice with the
description "Prepaid" or something like that.
3. In item category assignment, add or check entries so that you have the order type used,
and item category group defaulting the new item category.
4. Check copy control from sales document to billing document for the new item
category.
Also delivery copy control could be good to check.
5. Create a new distribution channel and assign it to the company structure (plant, sales
org etc)
6. Extend your material(s) with views for the new distribution channel and enter the
"ZXXX"
item category group in the field for sales item category group (I think it is on sales 2
screen
but I am not sure, can't access a system right now).
Now you should be able to create a sales order with the new distribution channel where
the new item category is defaulted. Check that the sales order is completed when both
billing and goods issue for the delivery is posted. If not check the completion rule in the
new item category.
Answer:
There are a number of reasons why gaps in invoice numbers may occur:
1. Number range object is buffered. Please refer to note 62077 for details.
2. Update terminate/short dump occurs while billing document update.
- the number is set in to the invoice at the beginning of the program.
If an interruption of the process happens after the assignation of this number, the
number has run in the range and cannot be recovered.
Update terminations in transaction VF01 and VF04. The billing document number is
reserved prior to the update. After a possible update termination, it cannot be used
again. Update terminations are displayed in transaction SM13. At present, there is no
possible
solution.
3. Incorrect user exit, e.g. in Program RV60AFZZ, USEREXIT_NUMBER_RANGE.
If there is an FI/CO validation/substitution or any program modification (user exit,
custom formula, custom print program) causing a commit, then this error can occur.
Notice the commit can be implicit or explicit.
An implicit 'COMMIT' can really only be triggered online.
Implicit commits on the database are always triggered if the work process would have
to wait. This includes the following:
- The sending of a SAP screen.
- The sending of a dialog message (E, I, W message).
- The call of a synchronous RFC (Remote Function Call)
- Call of a function module or termination of a function
module in another work process
- CALL of the 'COMMIT CALL' function module
- CALL screens (POPUP)
- possibly indirectly by a screen changes after a call by CALL
TRANSACTION <t_code> or SUBMIT <program>.
You have the following options to improve the situation:
- check in customer coding (user exit, validation, substitution etc.) for eventual
statement causing commit.
- use a two-step process to post the invoice to accounting:
1. create the invoice
2. release the invoice to accounting
This can be get by setting the flag Posting block = [x] in transaction VOFA.
This is also recommended from performance point of view.
This could ensure that no accounting documents can ever be posted for non-existing
invoices.
- do not print immediately (do not use print at time '4'), this is also recommended for
performance improvement.
Common Errors:
AD01-155: Error during material determination for sales document item. Material
Origin field was not checked in the Costing tab of the material master.
IX-057: No cost management is provided for sales document (contract) item. This is
usually because there is no requirements type assigned to the contract item (see
procurement tab).
No material appears in DMR/CMR. In the material master costing view, set the
"Material Origin" checkbox (see OSS note 174382)
No expenditure item found.
Go back to the service order and check there are actual costs
Check your DIP Profile; specifically the sources section to ensure you are not filtering
out any dynamic items.
CO Configuration:
KL03: Check activity type validity dates
KA03: Check cost element validity dates
KA03: For labour, check cost element category is 43
KA03: Check if Record qty flag is set on Indicators tab
KA03: Check cost element assigned to your controlling area
KP26: Check that activity type is linked to cost centre
KP26: Check that there is a rate for the activity type/cost centre
KP26: Check are you using the correct version
Real SD Support Question:
I have cancelled a billing document through vf11. That means the cancellation
billing document did not generate accounting document. Where to checked?
When you cancel a billing document, you are actually creating a cancellation document.
The cancellation document copies data from the billing document and transfers an
offsetting entry to the accounting department.
So once you cancel the billing document it will create one cancellation Document and
one reversal Accounting Document.
There is no need to cancel Accounting document which is created after cancel a billing
document.
Lets handle it phase by phase.
First Scenario
Your accounting document not generated,
1. VF02 Mode Click “Release to Accounting" the Accounting documents not generated.
2. If yes, then OK Else
3. Check Whether you have assigned Accounting keys to the relevant condition types.
4. Check Account assignment Procedure VKOA and check G/L account has been
assigned.
5. If error found correct it Else
6. Check with FI Consultant whether Accounting entries has been posted with reference
to customer and Invoice.
Second Scenario
If accounting documents gets generated and you use VF11 to Cancel the invoice, then
automatically the posting document gets reversed and separate number will be assigned
for those documents. This you can see in the document flow. Check with FI Consultant.
Please Check this :
SPRO--->Sales and Distribution-->Billing Documents-->Define Billing Types
Select Billing type S1.
Then check Posting Block, it should be unchecked.
Check whether for the S1 billing document type Posting block has been checked or not. If
it has been checked then uncheck it and secondly also check in the F2 billing document
type whether S1 cancellation billing document type has been assigned or not.
Finally check whether the billing document which you were cancelling that billing
document generated accounting document or not. If it has not generated the accounting
document then check the settings in OBA7
Are retro billing and Self-billing referring to the same process?
Answer:
Retro billing and Self-billing are entirely different processes and can be executed
independently.
You sell 10 units of a material A for $100 per unit - Amount $1000
RETRO-BILLING
Now due to price negotiations price may change to $90 w.e.f Sep 01, 2099. Thus you will
update your price conditions in VK12 for this material/customer to $90 with validity
from Sep 01, 2099. But as you have already invoiced the customer in past so to take care
of the extra billing . You will execute retro-billing process.
You will go to VFRB and enter the selection criteria for the material and suitable dates,
system will provide you the list of candidate invoices to which this price reduction is
applicable and hence you can simulate or even execute retro-billing after providing Cr/Dr
memo type and order reason. These documents will get attached to the original invoice
Important to Note - you must maintain the 'use of order reason for retro-billing' in Order
reasons configuration for this to work properly.
SELF-BILLING
Here customer raises invoices for itself. Supplier does not send the invoice to customer.
Customer may send a self-bill for the above case like $80 a piece. This will hit the
supplier system in form of EDI/Fax/Paper etc and on verification in system will show in
Self-bill Monitor VSB1n.
On processing, system will generate a credit memo of $200 for the customer and a debit
memo for same amount with reference ?_?_?.
Now the customer while paying will pay $800 as per its self-bill and the same would be
settled against original invoice of $1000 and SB credit Memo of $200. Other debit memo
of $200 (with ?_?_? reference) will remain open in system which may be cleared off by a
retro billing run where supplier may reduce the price by $20 or take further action as
needed.
In SAP billing process; I am facing the problem with the exchange rate. As the rates
picked in the sales order as default exchange rates maintained for the day; if the sales
order is MTO and goods will dispatched after 2 months and within these 2 month the
exchange rate got floated by a large amount and during the billing with VF01 t-code; the
exchange rate will be something else; and I can’t change it at that instance also.
The billing document will be posted to the accounting after getting the money from the
customer and the exchange rate will become something else at this moment also; and
make a large difference of amount at this instance. Is there is any provision in sap system
so that I can change the exchange rate in the billing document and with this same
exchange rate I can post the entries in accounting also. It will solve the problem as it will
give me the billing amount in exact LC amount also.
Solution:
You can have the same exchange rate (OB08) in sales order to be in billing
document:
In Copy control VTFL at item category level -> PricingExchRate type to 'A'Copy from
sales order
Now, if you want that same exchange rate to be in Accounting document in Sales Order
GOTO -> HEADER -> ACCOUNTING there one field is there 'Exch.rate-acct.' enter the
exchange rate there manually, which will post to accounting.
In the billing document there are 3 exchange rates, please review:
VBRP-KURSK
Exchange Rate for the conversion Loc.currency <-> Doc.currency.
for Price Determination
The determination of this exchange rate depends on the setting
of TVCPFLP-PFKUR in customizing copy-control
VBRK-KURRF
Exchange Rate for the conversion Loc.currency <-> Doc.currency.
For FI postings
If there is a manual entry in the sales order field VBKD-KURRF (Goto -> Header ->
Accounting), then it is copied into VBRK-KURRF.
Otherwise VBRK-KURRF is determined during invoice creation.
It is supposed that manual entry has higher priority.
See the OSS note 36070.
KOMV-KKURS
Exchange Rate for the conversion Cond.currency <-> Loc.currency
At price condition level.
It is always determined according to the Pricing date.
See the OSS notes 92613, 97487.
During VF01 the system determines the Exchange rate for FI posting
VBRK-KURRF from the currency tables according(OB08) to the billing date only if the
field Exchange rate for FI posting is empty in the source sales document (VBKD-
KURRF).
If the sales document has this field filled, manually or copied from a reference invoice
(by copy control routine), then it is copied in the subsequent billing document. This is the
standard working of the system.
The exchange rate should be based on your configuration in copy control (VTFA or
VTFL) at the item category level. The choices you have are as follows:
Pricing Exchange Rate Type (V_TVCPFLP-PFKUR)
A Copy from sales order
B Price exchange rate = Accounting rate
C Exchange rate determination according to billing date
D Exchange rate determination according to pricing date
E Exchange rate determination according to current date
Difference Between Pro-Forma And Billing Doc
Conceptually and real life scenario - Proforma invoice is used to declare cost of goods
to custom department to estimate duties/levies or to collect advance payment from the
buyer.
F8 is delivery related proforma invoice and you can create proforma invoice for same
delivery you as many as you like. Goods issue is not require to create Proforma invoice.
In case of sample orders - (delivery free of charge- order type FD) - invoice is not
generated. In VOV8 - billing is not proposed. Hence system does not generate invoice.
In Sample order/delivery account receivable does not increase but cost of sample order is
added to sales promotion account or client suggested accounts.
In summary:
Billing document will have their values triggers to accounts thru RAD resulting in
an accounting document.
Proforma invoice will not triggers data to an accounts, so an accounting document will
not get generated and it is mostly useful for Stock transfers from manufacturing plant to
any depot whether locally or abroad.
It’s a copy that's all to show to during Custom when goods are in transit he has to carry
this proforma document.
Credit Management
How To Do Configuration For Credit Management
Credit and risk management takes place in the credit control area. According to your
corporate requirements, you can implement credit management that is centralized,
decentralized, or somewhere in between.
An organizational unit that represents the area where customer credit is awarded and
monitored. This organizational unit can either be a single or several company codes, if
credit control is performed across several company codes. One credit control area
contains credit control information for each customer.
For example, if your credit management is centralized, you can define one credit control
area for all of your company codes.
If, on the other hand, your credit policy requires decentralized credit management, you
can define credit control areas for each company code or each group of company codes.
Credit limits and credit exposure are managed at both credit control area and customer
level. You set up credit control areas and other data related to credit management in
Customizing for Financial Accounting. The implementation guide is under Enterprise
Structure -> Definition or Assignment -> Financial Accounting and then Maintain credit
control area. You assign customers to specific credit control areas and specify the
appropriate credit limits in the customer master record.
Tips by : Kapilaa
Settings for determining the credit control area of a document. The settings of items 1 - 4
are taken into account according to their priority. The credit control area found is stored
in field VBAK-KKBER.
1. Transaction OB38
Check which credit control area is assigned to the company code.
Company code:
Credit control area:
2. Transaction OVFL
Check which credit control area is assigned to the sales area.
Sales area:
Credit control area:
3. Transaction XD02 or VD02
Check which credit control area is assigned to the payer.
Payer:
Credit control area:
4. Transaction SE37
Is user exit EXIT_SAPV45K_001 being used?
5. Transaction OBZK
For the settings under items 2 - 4, field "All company codes" must be marked in
Transaction
OB45, or the credit control area must be entered under the relevant company code in
table
T001CM of the credit control areas allowed.
Company code:
Credit control areas allowed:
6. Settings for the credit checks
7. Transaction OVAK
Which settings do exist for the sales document type used?
Sales document:
Check credit:
Credit group:
8. Transaction OVAD
Which settings do exist for the delivery type used?
Delivery type:
Credit group for delivery:
Credit group for goods issue:
9. Transaction OB01
Credit management/Change risk category
Definition of the risk category for each credit control area. This risk category can be
assigned to a credit account by using Transaction FD32.
10. Transaction OVA8
Here, the individual credit checks for key fields
o credit control area
o risk category
o credit group are set. Take these key fields from the above settings and go to the detail
screen. In particular, check whether fields "Reaction" and "Status/block" are set
correctly. To carry out follow-up actions in case of a credit block, the credit check
status must be set (field "Status/block").
11. Transaction FD32
Credit master data for the payer of the relevant document.
Credit account:
Credit limit:
Risk category:
Currency:
12. Settings for updating the credit values Update of the credit values is required for the
limit
check (static or dynamic credit limit check).
13. Transaction OVA7
Update of the credit value is active for the corresponding item type if the check box is
marked. This field corresponds to
field "Active receivable" in Transaction VOV7.
Item type:
Active receivable:
14. Transaction V/08, Pricing
In the pricing procedure used for pricing, subtotal "A" must be entered in a line for
determining the credit value (mark the pricing procedure and doubleclick on
"Control").
Usually, the net value plus taxes is used. This way the system is determined to use this
subtotal for credit pricing. The credit price is stored in field VBAP-CMPRE and used
for
update and credit check.
You can find the used pricing procedure of the order under "Item -> Condition ->
Analysis".
Pricing procedure:
Line with subtotal = 'A':
15. Transaction OB45
Which update group (field "Update") do you use in the relevant credit control area?
The
default setting is "12". If you use another update group, check whether this is fine with
you. If you open an OSS message, please tell us the alternative update group.
Credit control area:
Update:
16. Transaction OMO1
Which kind of update did you choose for structure S066?
In any case, "Synchronous update (1)" has to be chosen as the kind of update.
All other settings will lead to errors.
*} REPLACE
*{ INSERT DEVK966908 1
*} INSERT
* Read the subsequent function information for the message
PERFORM FOFUN_TEXT_READ USING GL_FOFUN
CHANGING FOFUN_TEXT.
MESSAGE ID 'V1' TYPE 'E' NUMBER '849'
WITH FOFUN_TEXT
RAISING ERROR.
*{ INSERT DEVK966908 2
*} INSERT
ENDIF.
ENDFORM.
1. For a customer, the credit functionality is enabled means credit limit etc. are set for this
customer.
If the customer didn't pay the amount even after the period specified in the payment terms
is over then in that case we are going to generate the dunning letters and send them to the
customer either by simple mail, fax, intimation by call or personally etc., like this
different ways of reaching a customer.
2. Suppose for a customer there is no credit limit set. Credit functionality is not there for
this customer.
In this case, if the customer didn't pay the amount even after the period specified in the
payment terms is over then in that case we are going to generate the dunning letters and
send them to the customer either by simple mail, fax, intimation by call or personally etc.
like this different ways of reaching a customer.
Dunning is the process of sending the remainders to the customer about the payment
which is due and crossed the limit. This dunning is used in the credit management to
check the credit worthiness of the customer.
Sometimes your business partners may fall behind on payments. You can send them a
payment reminder or a dunning notice to remind them of their outstanding debts.
The SAP System allows you to dun business partners automatically. The system duns the
open items from business partner accounts in which the overdue items create a debit
balance. The dunning program selects the overdue open items, determines the dunning
level of the account in question, and creates a dunning notice. It then saves the dunning
data determined for the items and accounts affected.
You can use the dunning program to dun both customers and vendors. It may be
necessary to dun a vendor if he or she has a debit balance as a result of a credit memo. If
a customer is also a vendor, you can offset the account balances against one another.
What do you mean by credit exposure?
They are the transactions with a customer that are relevant for credit limits on a specified
date.
The credit exposure is updated based on the update algorithm assigned to the credit
control area.
000012 - updated at Sales Order
000015 - updated at Delivery
000018 - updated at Billing
To look at only Receivables for a customer look in FD32. If you have bad data run the
reorganization program through SE38.
Check Note 425523 - Collection of consulting notes: Credit update and related.
Surely you must run report RVKRED77 (Note 400311 - RVKRED77: Reorganization
credit data, new documentation and related will help you).
1. How is credit exposure calculated (seen in FD32)?
It’s 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 customer’s credit
limit is 10000 and credit exposure is 9900 then customer can only be able to buy now
worth of 100 only. It’s 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.
Pricing
Difference between Condition Type
Please explain the difference between Ek01 ( Actual Cost) and EK02 Calculated
Cost.
These are the condition type that will display the results of the unit costing for certain
type of sales document.
EK01 :
If you use this condition type, the result of unit costing is issued to the first position on
the conditions screen for the item. The value can be used as a basis for price
determination.
EK02:
If you use this condition type, the result of unit costing is simply a statistical value which
you can compare with the price.
Please note the following points :
1) The condition type must have condition category 'Q' (costing).
2) The condition type must agree with the condition type defined for unit costing in the
pricing procedure.
I have a customer who is being offered two discounts ie k007 and k005, now I want
to exclude k007 for the next 2
orders or so? I have set the exclusion indicator for the condition type,but still the
condition is being accepted when I create a sales order. Am I missing something,
how do I do it?
I think u need to change the validity of the condition record for the condition type K007
defining it not valid for that particular 2 months. And also the settings of the
Requirements as it is correct that it overrules the exclusion.
Accumulate the amount of condition types in
accounting document
To accumulate the amount of condition types in accounting document without affecting
the pricing display in billing document.
As an illustration :-
ZPXX 3500
ZDXX 1000-
ZWXX 500-
(all condition types are shown separately in pricing view)
Journal:
Dr Vendor 2000
Cr Sales 2000 (ZPXX - ZDXX - ZWXX)
One way to do it is :-
Mark the condition types you want to group as statistical and remove the account
assignment key.
Create a subtotal in your pricing procedure that will add them together and put in the
account assignment key for it. This way the individual components will still display on
your pricing screen but FI will only get one posting.
Re-pricing in a Quotation
How can I, or am I able to find anything on a way of RE-Pricing be done in a
QUOTATION?
You can always 'Update" pricing manually in a quotation the same way you do in a sales
order, either in create or change modes. Menu path Edit --> New Pricing or press the
'Update pricing' button on the item conditions tab.
If you are asking how to reprice a quotation when it converts into a sales order, that can
be done with the copy controls of the Item Category. IMG: Sales & Dist --> Sales --> -->
Maintain Copy Control for Sales Docs --> Sales Doc to Sales Doc (transaction vtaa). Just
choose the combination of documents and the respective item category. The field you
need to be concerned with is "Pricing type".
However, from a business process perspective it makes absolutely NO sense to reprice a
quotation when converting to a sales order. After all, the entire point of using quotations
is to firm up details like pricing before creating the sales order.
Taking your requirements literally. Standard SAP scale pricing will not do it in that you
only want the reduced price to come into effect when the order quantity is multiple of
some bulk factor.
It is agreed with that creating a separate material number is not a good idea.
You can try this :-
1. Define/Select a UOM for selling in bulk (i.e. cas, pallet, box whatever)
2. Maintain UOM conversion between your base UOM and this new UOM
3. Configure you bulk pricing condition type by usual means (it should be a base price
rather than discount).
4. Place this new bulk price behind your normal "PR00" price in the pricing procedure
5. Create a new condition base value routine via VOFM where you check XKWERT to
see if it is a whole number. If it is not then set XKWERT to zero.
6. Assign this new routine to your bulk price condition in your pricing procedure in ALT
condition base value column.
7. Maintain bulk price conditon record in the Bulk UOM.
That should do it.
This control is set at the document level as oppose to the condition type level (PR00).
That means your other condition types such as surcharges and discounts are also
determined using the requested delivery date.
If your requirement is for PR00 to alone to be priced at delivery date then this will not
work.
And the pricing in the billing document is copied from thte sales order / Delivery
document..
It again depends on the setting u have in the copy control from order - billng or delivery -
billing.
In the copy control, in the item settings you have two fields relavant for this.
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
What is the difference between Header condition and Item condition? I know item
condition applies to each item in a sales document. Header condition can only be
applied to an entire document.
Difference between header and item condition - as YOU CORRECTLY SAID HEADER
CONDITION IS APPLICABLE FOR THE WHOLE DOCUMENT where as item is for
item.Ex-Say fright is dependent on the total weight of all the items in the documents then
header condition adds on weights of all items and calculates the record accordingly.
You have two different types of the header conditions.
a) In one you can duplicate the same value throughout the document for each item.Say
discount 2% at header level which is also applicable to all the items
b)Second is the accumulation of the values of all the item at the header level,as earlier
explained for the weight/fright.
These differenes are controlled through the indicator of group condition in the cond.type
configuration.
And so obviously header condition can not have the condition record and hence access
sequence.
SAP SD Tips by : Vishwajit
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
Header Condition: This is a manual condition which you apply to header (Condition
screen) of a sales document. This amount is applicable to all items.
Usage of this feature is to apply price / discount for a specific group of materials.
1. You maintained a discount based condition record fbased on material group ( = 01 for
example). You maintained scales also.
Qty Discount
1 - 10 Rs. 100.00
11 - 50 Rs. 105.00
51 - 150 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.
T Code VOK0
Step 1. Define/Choose your Table (with the requirement parameters that influence the
price)
Step 2. Define your Access Sequence and include the above Table in your Access
Sequence
Step 3. Define your Condition Type (There are four Price Types Basic Price, Discount,
Freight and Tax) and include your Access Seq. Its always better to copy the Price Types
provided by SAP.
Step 4. Now comes your Pricing Procedure where you include include Condition Types
and format.
Step 5. Now comes Procedure Determination where you specify the Document Pricing
Procedure and Customer Pricing Procedure along with Sales Organisation, Distribution
Channel.
Step 6. Maintain Condition Records for your Condition Types
I guess you can make it 8 Steps by dividing some of the main steps. Few important things
to note is following..
1. XD01 - Create Customer - Always ensure that you pick the right Customer Pricing
Procedure from here.
2. VA01 - Sales Order - Ensure that you have the right Document Pricing Procedure from
here
3. While Creating Access Sequence, check your Fields and ensure that they appear with
any warning (Highlighted in Red)
4. Do not forget to mention your Access Sequence while defining your Condition Type
5. Always remember that your Procedure Determination has only Basic Price as
Condition Type
6. Do not forget to mention the Range (From To) while creating your Pricing Procedure.
1) What is the role of alternative calculation type, condition base value, requirement
in pricing procedure?
2) Where do we define value for alternative condition base value and alternative
calculation type so that system picks up different value, when the value for
alternative condition base value and alternative calculation type is mention in
pricing procedure?
**Alternative Calculation Type:**
This function allows you use a formula as an alternative in finding the value of the
condition type, instead of standard condition technique. this can be used to calculate
complex tax structures.
Alternative condition base value
The alternative condition base value is a formula assigned to a condition type in order to
promote an alternative base value for the calculation of a value.
Example
An absolute header discount is, for example, distributed in the standard system according
to the cumulative value of the items.
If the system distributes the absolute header discount according to volume based on the
Alternative formula for condition base value , a header discount of $30 results in the
following discounts:
Item Value Volume .
1 $1000 2 cbm
2 $500 4 cbm
Stand. disc. Volume disc.(With Formula)
$20 $10
$10 $20
Condition formula for alternative calculation type
Alternative formula to the formula in the standard system that determines a condition.
Requirement
This function is used to assign a requirement to the condition type. This requirement can
be used to exclude the system from accessing the condition type and trying to determine
the value. This can be used to specify that the condition type should only be accessed if
the customer has a low risk credit.
In sales order Diff condition type is not coming, when checked in analysis it says
requirement 013 is not fulfilled, but in pricing procedure I've assigned the
requirement as 013, alt.cal type-16, alt CBV-4.
Please refer to the following documentation for requirement 013:
RE LV61A013
Title
Rounding as per Table T001R
Purpose
This is an example of a pricing requirement. This requirement is met if an entry has been
made in the 'Unit to be rounded up to' field in Table T001R. Table T001R stores the
rounding rules for company code and currency combinations. This requirement can be
assigned to the condition type in the pricing procedure that is used to calculate the
difference when rounding. Using this requirement, the difference is only calculated when
necessary.
Example
A company has the requirement to carry out rounding for certain company code and
currency combinations. This information is stored in Table T001R. In the document
pricing procedure, the user has configured the SAP delivered condition type DIFF to
calculate the difference when rounding occurs. The user also assigns pricing requirement
'13' to the condition type DIFF in the pricing procedure so that the condition is only
calculated when a corresponding entry has been maintained in the table T001R.
Please check the customizing table T001R.
or try this go to IMG path --> SAP Netweaver --> General Settings --> Currencies -->
Define rounding rules for currencies. Here maintain the rounding unit which will be
stored in Table T001R.
then in the t-code ob90 you can maintain that.
Go to v/08 maintain in condition base value 16 routine.
Purpose
This is an example of a condition value formula. This type of formula can be used to
influence the value shown for the condition in pricing. A condition value formula is
assigned to a condition type or value line in the pricing procedure.
Formula '16' was delivered along with condition type DIFF to support the rounding unit
rules that can be defined in T001R for company code / currency combinations. Condition
type DIFF was delivered to perform the rounding at the end of the pricing procedure with
the total value. Using formula '16', the system computes the rounded value and assigns
the difference to the condition type DIFF.
In-17 c.base value
Round according to T001R
Purpose
This is an example of a condition value formula. This type of formula can be used to
influence the value shown for the condition in pricing. A condition value formula is
assigned to a condition type or value line in the pricing procedure.
Formula '17' was delivered so that a condition value could be rounded off according to
the rounding unit rules (e.g. plus 5 or 10 or 100 units) that can be defined in T001R for
company code / currency combinations. When formula '17' is assigned to a condition
type, the condition value will always be rounded using T001R.
Where I can do setting of rounding profile for a new created condition type?
1) Create Rounding rule ( Unit of measure rounding rules )
Path :
Materials --> SPRO Quantity Optimizing and Allowed --> Order Optimizing -->
Purchasing --> Management Unit of Measure Rounding Rules --> Logistics Units of
Measure
Here give new rounding rule and % rounding up and down values
2) Create Unit of measure groups
Path :
Order Optimizing --> Purchasing --> Materials Management --> SPRO Unit of Measure
--> Quantity Optimizing and Allowed Logistics Units of Measure Groups
To use a field in pricing, one creates a condition table. This condition table is created
using the allowed fields from the field catalog. Should the fields one requires not be
included in the list of allowed fields, one can add the fields from the list of available
fields. However, one may find that a new field may not be in the list of available fields.
For this reason, one must create new fields for pricing. The document and item data in
SD is stored in data tables, such as VBAK and VBAP (for the order transaction). Many of
the fields from these tables are available in the field catalog.
The field catalog is a structure (KOMG) that consists of two tables (KOMK and KOMP).
These tables contain the header and item data for pricing respectively. They are called
KOM “x” because they are communications structures used to communicate the
transaction data with the pricing procedure. Table KOMG contains the fields of tables
KOMK and KOMP.
If you require a field that is not in KOMG, it means that it is not in KOMK or KOMP.
This means that the field you require cannot be used in pricing because there is no
communication of this field from the transaction to the pricing procedure via the
communication structures.
To use a field not defined in the field catalog, you need to add this field to the KOMK or
KOMP structures, and then write the ABAP code to transfer the data in the field from the
transaction tables to the communication structure. Follow these steps:
1. Create the field in the KOMK (header data) and KOMP (item data) tables using the
standard includes provided for this requirement.
2. Write the code in the user exit to read the transaction data and transfer it to the KOM
“x” structures.
Menu Path
The menu path here is IMG, Sales and distribution, System modification, Create new
fields (using the condition technique), New fields for pricing.
This process requires some knowledge of the ABAP dictionary and how to use the ABAP
dictionary to create and change fields and tables. You may have to use an ABAP skill to
assist you. If the field is from the header table (for example, the order table VBAK),
you’ll need to add it to the include table KOMKAZ in table KOMK. If the field is from
the item table (for example, the order item table VBAP), you’ll need to add it to the
include table KOMPAZ in table KOMP.
Let’s say you need to use the “base material” to define a price and the base material is not
in the pricing field catalog. The base material is a field on the material master basic data
screen and is defined as MARA-WRKST. Since this relates to the material, it is at the
item level, so you would add the field to the KOMPAZ include table.
Note When you add a field to these tables, it must start with “ZZ.” Therefore, the
field you add would be ZZWRKST. In ABAP, when you add the field, use the same
domain as in the field in the original table MARAWRKST.
After adding the field, generate the structure KOMP. This field is not available in the field
catalog and can be used in condition tables.
The field in the communications structure will be blank unless the ABAP code transfers
the data from the material master to the field KOMPZZWRKST. Pricing occurs in the
order and in the invoice, so you need to put this code in both places. For the order
transaction, write the ABAP code in user exit
USEREXIT_PRICING_PREPARE_TKOMP in include program MV45AFZZ. For the
billing transaction, write the ABAP code in user exit
USEREXIT_PRICING_PREPARE_TKOMP in RV60AFZZ.
Note : The TKOMP is for the item level. If you are writing the code for a field at the
header level, you would use the user exits that end with TKOMK. The ABAP code would
select the Base material field from the material master table using the material from table
VBAP/VBRP. It would then transfer this field to the structure TKOMP from MOVE
MARAWRKST to TKOMP-ZZWRKST.
Sales Order
What are the steps to create a sales order?
To create a standard sales order, proceed as follows:
In the initial screen, choose Logistics - Sales and distribution - Sales. Choose Order -
Create (VA01).
Enter the order type and, if necessary, the organizational data.
The values for sales organization, for distribution channel and the division are usually
proposed from user-defined parameters. Entries for the sales office and the sales group
are optional.
The sales areas (sales organization, distribution channel, division) are derived from the
sold-to or ship-to parties. This means that you do not have to enter the sales area when
you create a sales document.
If you do not specify a sales area in the initial screen, the system uses the sold-to or ship-
to parties, which you entered in the overview screen, to derive the sales area.
If there are several sales areas for that particular sold-to or ship-to party, you can choose
the right sales area in the following dialog box.
The system then copies the selected sales area into the entry screen. Choose Enter.
Enter the following data:
- Sold-to party or ship-to party
If you only enter a ship-to party, the system uses this to determine the sold-to party and if
necessary, the sales area. If there are several sold-to parties or sales areas for one ship-to
party, a dialog box appears where you can choose the one you require.
An error message appears in the status bar to inform you if the system is not able to
determine a sold-to party. If you enter a sold-to party that is also a unique ship-to party,
the system automatically copies it as such and informs you in the status bar.
- Customer purchase order number
- Material numbers
- Order quantities for the materials
- Choose Enter.
If, for example, you defined several unloading points or several ship-to parties in the
customer master record of the sold-to party, the system displays the alternatives in a
dialog box. The system can display alternatives for any or all of the following data: –
- Unloading point
- Ship-to party
- Payer
- Bill-to party
Select the valid data from these proposals by positioning the cursor on the line and
choosing Choose.
As soon as you have selected this data, the material data that you have entered is
displayed.
If the system carries out an availability check and finds that there is insufficient stock for
an order item to be delivered on the requested date, it displays a screen on which you can
choose between several delivery proposals. You can find more information about this in
Reactions to the Availability Check in Sales Documents. If you want to enter further data
for the header or items, choose the corresponding menu entry. If you want to change data
for the items, select the items before you choose a menu entry. Enter all necessary data.
Save your document.
I'm using service material in my sales order and I need the schedule line to confirm
the quantity always in the actual day (not depending on the delivery date).
T. Code: VOV8
Select your Sales Doc. type and Double-Click.
In Tab: Shipping,
Check Box: Immediate Delivery (press F1 to read more about this functionality).
Note: There are few more settings that you may check:
1. T. Code: OVLZ
Field: Pick/pack time wrkdys whether you have maintained any value. It should have
been blank
2. T. Code: VOV8
Check how many days mentioned in Lead time in Days. If it is mentioned any days,
remove it.
3. T. Code: OVZ9
Checked the Box: Check without RLT .
4. Check in material master MRP2 view how many days are maintained for the fields In-
House production and GR Processing Time.
Auto proposed all the dates when creating Sales Order
How can I make the system auto create all the Sales Order date during creation?
Each Sales Order can have different date proposal settings.
Follows this step to set the default Sales Order Type proposal date:
- Goto VOV8, double click on sales order type.
- Look and tick the fields Propose delivery date and Propose PO date.
After making the necessary IMG changes, you need to input the Delivery Plant field for
each Materials that you want the system to propose the default date.
To change the Materials field Delivery Plant:
Goto MM02, Select the View Sales: Sales Org. Data 1 and fill in the Delivery Plant.
Testing:
Now, try creating a new sales order for the material and SAP will auto proposed all the
dates in the sales order.
Define whether the Material can be used at which Sales and Distribution
process
Here you define how the system responds when entering a sales and distribution
document
with this material in the differenet Sales and Distribution Process Flow..
You can use the material status, for example, to prevent orders from being entered for
parts to be discontinued.
OR
To temporary block the creation of Sales Order for a certain materials.
Set the material status parameters in transaction SM30, Table Views V_TVMS.
Click Maintain and double click into the Materials Status code.
You can set three types of reponse for each Sales and Distribution process :-
1. no dialog
2. warning when entering the document
3. error message (that is, the sales and distribution document cannot be entered on
the basis of the material status)
The MRP department is informed about the quantities and deadlines by which incoming
orders should be delivered. The system checks the availability of the goods based on the
requested delivery date of the customer and creates MRP records which contain all
necessary information for passing on to planning. It ensures that the goods are available
in time for the delivery.
Materials planning transfers the reported requirements and creates orders or purchase
requisitions from them etc.
The following sections on the transfer of requirements describe how to control the
transfer of requirements.
The transfer of requirements is basically dependent upon the following factors:
- requirements type
- requirement class
- check group
- schedule line category
The transfer of requirements is controlled globally using the requirements class which is
derived from the requirements type for all sales document types.
For the sales document types, fine tuning is also possible at schedule line level. This fine
tuning is described in the section "Defining the procedure for each schedule line
category".
Note that the requirements classes are also used in production so you should coordinate
any changes to the requirements classes with production. The requirements type and,
eventually, requirements class are determined in the strategy group so all changes made
there should also be coordinated with production.
For performing transfer of requirements, you have to carry out the following steps:
1. Each requirement type has to be allocated to one requirement class only.
2. The transfer of requirements must be switched on at requirements class level, the sales
documents at schedule line level.
3. You must define a check group. It is possible to have this check group proposed for the
initial creation of a material master record.
4. Note that a plant must exist for transfer of requirements to be carried out at document
item level.
Requirements transferred to planning are further processed in the module MM. You must,
therefore, coordinate the transfer of requirements with the module MM.
1.Run trans. VBN2 to first create master record for free goods as follows:
Enter following information in selection screen:
- Free goods type: NA00
- Sales org, distribution channel, customer # and execute.
Now in next screen create the record as follows:
- First select the exclusive button and verify that you are in exclusive view.
(that is if you want exclusive)
- Material#, Min qty - Say 34 cartons. (check in what units you want to manage)
From: 34 cartons
unit of measure:
Free goods: 12 Pcs
Unit of measure: Pcs
Calcualtion type: 1 or try the other options
Deliver control: Blank or any of the other options suitable to you.
Now save and exit.
Now run VA01 for 34 cartons and press enter. The system will automatically propose the
free goods
item at no additional charge. Try higher order qtys and see if the free goods qty are
scaling up.
If not adjust the calculation parameters in the master record screen
It should be transaction VBN1. Sorry for the error.
VBN2 is to change the record. VBN1 creates it.
Kris J
Material determination is very closely related to item proposal /product proposal and is
used to swap one material for another in the sales order using the condition technique. I
have not seen Material determination procedures used in the projects I have worked.
Material determination:
"Material determination uses the condition technique to swap one material for another
when certain conditions apply. Material
determination is triggered by the material entered in the line item of the sales order.
Use transaction [VB11] to create a material determination condition record. And [OV12]
for configuration of material determination.
Material determination is useful when old product is becoming obsolete or a new product
is released by the company at specific date."
You can use credit memos in Sales and Distribution (SD) for assigning credit memo
requests to the open invoices and in Financial Accounting (FI) for assigning credit
memos and payments to the open invoices and carry out clearing with them. If you use
both Financial Accounting (FI) and Sales and Distribution (SD), there is a 1:1
relationship between the credit memo request and the credit memo item posted in
Financial Accounting (FI). As soon as you bill the credit memo request together with
other sales orders, or distribute the items of one credit memo request to several billing
documents, the assignment is no longer valid and the system will not process it.
For credit memos, credit memo requests, and payments, you have the following
assignment options:
- Assignment to a single invoice
- Assignment of a partial amount to an invoice
- Assignment to several invoices
When you post credit memos, the payment programme processes them automatically. If
the credit memo is specifically related to a particular open invoice item, the payment
program automatically attempts to offset the credit memo against the open item. If it is
not possible to completely offset the credit memo against an invoice, you can post a debit
memo to the vendor, who is to reimburse the amount. Then you can apply a multilevel
dunning program.
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.
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)
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.
In material master, I was created profit center PBB2K for part A but it is showing
different profit center when sales order created.
Advise why different profit center show in sales order?
Check 0KEM for any sales order substitution for profit center.
In general, the material master profit center defaults to profit center, but at sales order you
can change the profit center otherwise check 0KEM
It seems as though we have a FI setup in our system through which the Profit Center
on the Sales Order is NOT defaulted from the Material master, but is showing up
another value, could you please provide me the steps where I could look that up?
What configuration is it from the FI side that is preventing the standard material
PC to be over ridden?
Please check OKB9,
or
Simple,
It is in substitution,
Go to transaction GGB1 and see under the node profit center accounting.
You will see that you can substitute the profit center in the sales order using substitution.
You can define your own here.
How can I make the Field Profit Center in the line item level of the sales order to
mandatory?
You can do this by transaction variant.
Goto tcode SHD0, give t code as VA01. Make a transaction variant and make the fields
mandatory.
or
Please include the Field Profit Center (PRCTR) in incompletion Procedure of Sales Order
Item. So without Profit Center Entry Sales Order will be incomplete.
Goto T.code OVA2 copy the procedure you are now working with and add the field vbap-
Prctr.
In VUP2 you can assign your new procedure to your item category.
Material listing: Whatever the materials that are placed in the listing for a customer he
can access to those materials only.
Logistics
Sales and distribution
Master data
Products
Listing/Exclusion
VB01 Create
Specify the condition type for listing
Select the required key combination
Enter the required materials in listing and save it.
Material Exclusion: Whatever the materials that are placed in exclusion for a customer he
cannot access those materials.
Logistics
Sales and distribution
Master data
Products
Listing/Exclusion
VB01 Create
Specify the condition type for exclusion
Select the required key combination
Enter the required materials in exclusion and save it.
SPRO
Sales and distribution
Basic functions
Listing/Exclusion
Maintain condition tables for listing/exclusion
Maintain access sequence for listing/exclusion
Maintain listing/exclusion types
Go to new entries and define condition types one each for listing, exclusion
Note:
1. Listing type A001
2. Exclusion type B001
3. Procedure for listing A00001
4. Procedure for exclusion B00001
Answer:
First, run the text analysis (protocol symbol right of the display details symbol), it will
list you where the text is coming from or tell you if it was found anywhere. If nothing
was found, it might be a manual text insertion.
The automatic lookup is configured in the customizing SD -> Basic functions -> Text ->
Sales order -> Header, so you might want to look there what is configured for that text.
Texts in the sales order can be copied from the material master or customer master.
Possible lookouts:
1. Check the Text in the material master. Path Tcode mm02 -> Sales Texts
2. Check the text in material master. Path Tcode xd02 -> Click on Extra ( on menu ) ->
Texts.
3. Check customer material info record . Path vd52 -> Goto - >Texts
If texts in above master data matching with sales header text than its done through text
determination.
Path is spro -> sales and distribution -> basic function -> Text control -> Define and
assign Text determination Procedure -> check box sales document header -> click on
change -> click on text procedure assignment -> check out text procedure assigned
to your sales header and check out that procedure. Its text Id's and access sequence.
When the above text checking are fine, it could be due to the Dummy Text which you
need to make used of the program: RVTEXTE
I've used this program before when the standard text config seemed OK, but it just wasn't
working.
For my purposes, RVTEXTE will "clean up" any bogus stuff in the text control if you've
done a lot of config and the system is somehow, internally, confused.
"If the wrong text determination occurs randomly, then most likely that in your system
there exists so called "dummy texts". These texts (in database table STXH) have a
TDNAME = X*. Normally during sales document creation the texts get dummy names
(= X*) which are later replaced by the correct names (which contain the document
number) when the document is saved. For some (often unknown) reasons these dummy
texts are written to the database and then cause
problems. To delete dummy texts you should run report RVTEXTE. This report is useful
and it is always good to run it from time to time.
RVTEXTE does not delete valid texts from your documents or from the master records. It
only deletes dummy or phantom text entries that should not be in your documents."
Please check if in your system you have this latest version. Please see OSS note 413096
for the latest versions.
1. Firstly, with flag X in the function Field. This will delete all phantom/dummy text
appearing in sales orders.
X flag = delete all dummy texts.
2. Secondly, with flag G in the function field. This regenerates the text configuration
making sure everything is active.
G flag = cleanup of text procedures and access sequences in all clients.
Please note that the above procedure will not delete any real text for sales orders, only the
phantom texts.
Rebates
How to do rebate processing
Rebates Processs in SAP is divided into three components
1) Configuring Rebates
2) Setting Up Rebates
3) Managing rebate agreeeements and payments
Pre-requsiistes- Check the following:
1.The payer partner needs toi have the rebate field checked in the customer master on the
sales area-billing doc tab.
2.The Billing type must be marked as relevant for rebates.
3.The Sales Organisation must be marked as relevant for rebates.
Condition Technique :
Rebates, use the condition technique, but distinguish themselves from pricing in applying
to transactions over time, versus on a transaction basis. Rebates have their wn field
catalog and their own condition table naming convention.So you could have two
condition table "001" one for pricing and one for rebates, which could have different key
fields. You need to use the technical names A001 For pricing and KOTe001 for rebates
when you use the query type using transaction SE 16..
Use create access sequence (AS). Enter 1 in field category for rebate specific. AS after
going thru the right path of maintaining access sequence for rebates.
The big difference between the rebate and the pricing access sequence is that there is no
exclsuion flag available for rebate related AS. This means multiple tables for an access
sequence can be aplied at the same time.
Rebate related condition types are identified by codnition class -C.
After defining and creating condition types for rebated include them in the pricing
proceedure. The requirement should be 24 here which implies that the accruals are
calculated on the basis of invoice/bill.
The other fields- alctyp and altcbv does not allow you to manipulate how a rebate is
calculated. Also, remove the requiremnt 24, if u want to see reabtes at order time.
Now payment of rebates:
Payments can be maunal or in full settlement. When you do manual payments, it defines
how much can be paid out during a partial settlemetn. You use partial settlement only
when rebate agreement is defined for a full year but the paoyouts are supposed to happen
on a monthly, quarterly or anyother specified period.
These accurals are based on sales volume and when they are posted billing is created int
eh follwoing manner. Provision for accruals is debited and Sales revenue is credited.
When rebate credit memo is created
Customer account/ is debited and
Accrual provision account is credited.
Also, please note that when rebates are created without dependent ona material but on
customer/material you need to refer to a material for settlement.
With Compliment: Srini
I have this same problem found in:
http://www.sap-img.com/sap-sd/rebate-process-with-ref-to-so.htm
However, can somebody explain it as I have problem in understanding the link.
What exactly do you wish to know in Rebates? The total outline of the Rebate process or
each and every step in the SAP system?
First of all rebates are more or less discounts which are offered to customers. The rebates
are based on the volume of the business the customer does with you within a specified
time. for eg if the customer agrees for Rs.1 Crore worth of business with u in 1 year, then
you activate your rebate porocess. if at the end of the year the customer DOES achieve
the target u offer him say 2/3/4 % whatever is decided. The rebates are passed on to the
customer in the form of Credit notes.
The rebate can be given to the customer at one time or in installments also.
This is broadly the outline of the rebate process.
R.Sreeram
Note : I recomend you to study the theory part of why rebate and why not a discount.
This will help you understand better.
May be I can help you with rebate process.(IN -IMG)
1. define a rebate agreement type
2. define a condition type group
3. define a condition type and place this condition
Type in the pricing procedure.(REQUIREMENT=24)
ALSO IN THE PROCEDURE- ACCRUAL KEY = ERU
YOU ALSO HAVE TO DO THE ACCOUNT DETERMINATION FOR REBATES.
Once you have defined all the 3 and assignment starts.
Assign the agreement type to the condition type group
Assign the cond type group to the condition type.
Condition technique is also used in rebates.
REBATE ACTIVATION- IN CUSTOMER MASTER, SALES ORGANISATION AND
FOR THE BILLING DOCUMENT.
After having done this please proceed to maintain the condition record for the rebates
(transaction code-vbo1)
Note: if you maintain the requirement coloumn with the requirement as 24 - the rebate
will be affected in the billing document and if you dont give the requirement as 24 your
rebate will be affected in the sales order.
The rebate process is completed when you have created a credit memo to the customer.
The document type for the partial settlement is R3.
Please make sure you open two screens SO THAT YOU CAN COMPARE THE NEW
ENTRIES WHAT EVER YOU'RE DEFINING WITH THAT OF THE STANDARDS or
first you try with the standard condition type boo1, boo2
boo3 boo4.
AFTER YOU HAVE FINISHED A COMPLETE SALES CYCLE OF CREATION
ORDER , DELIVERY AND BILLING.
GO TO THE CONDITION RECORD IN CHANGE MODE (VB02) AND SETTLE THE
ACCOUNT PARTIALLY.
I hope this will be of any help to you.
Praveen
In a simple way,
1. First you need to create a Rebate agreement.
2. Create condition record for rebate giving the rebate rate and accrual rate.
3. when the rebate relevent billing doc is generated, the rebate and accruals are
determined and posted in a seperate GL account as a noted item - amount to be settled.
Also it gets copied in the rebate agreement.
4. create settlement run using credit memo request and then credit memo to settle this
amount with the customer.
This is what the link says.
4. Create a sales order for that customer and check the rebate agreement.
5. You can see the rebate condition in the invoice only.
6. Once you have posted the invoices, then go to rebate agrrement no. clicl on verficayion
and it will show the order details.
7. For settlement change the status of the rebate to B - release for the settlement.
8. Credit memo request will b generated copy the no. and go to VA02, remove the blocks
if any and create an invoice (credit memo).this will show u the accrual amount.
9. In both the invoice and the credit memo check the posting - accounting document it
will show u the accrual as negative.
10. Again go to rebate aggreement and check the status it will show you D - Final
settlement of agreement already carried out
Explain about rebate agreements in sales the process.
By Lucas
Rebate Agreements
When creating or changing rebate agreements, you can create condition records by
choosing Goto -> Conditions to get to the Agreement Overview screen.
Enter the data necessary to create a condition record (for example: customer and
condition rate).
Choose ENTER.
- If you do not enter a value for the accrual rate, the system automatically proposes the
value you entered as the condition rate.
- To create a pricing scale for a condition record, select the condition record and choose
Scales.
- To display or change details in a condition record, select the condition record and
choose Details.
It is possible to see an overview of condition records that already exist in other rebate
agreements and that have the same key combination (customer/material, customer/rebate
group, and so on).
To view the list, select Validity periods.
You can set for each rebate agreement whether it is to be renewed automatically or not.
Select Extras -> Rebate calendar -> Reactivate or Remove in the Change Rebate mode.
Notes:
1. You need to activate the customer for Rebate in the customer master billing tab.
2. You need to activate the Rebate process to the Billing document type.
4. You need to create one service material as material for settlement to settle the Rebate.
(MM01).
5. You need to main the Rebate related pricing condition types in your pricing procedure,
here you need to maintain the accrual key as well as account key.
6. Create Rebate agreement in the transaction VBO1 based on your requirement (whether
that material based or customer based).
Partner Functions
Partner Determination For Sales Doc
Explain me how to get partner determination for sales doc header level.
By: Micro Irrigation
First determine one account group ( Trans code OBD2 ) assign number range for acct
group ( Trans code OBAR ).
Define partner determination procedure:
IMG -> SD -> Basic Functions -> Partner Determination -> Setup Partner Determination
-> Partner Determination For Sales Doc Header
Select Partner Type KU and Go To Details Icon and Maintain Partner Functions
SP Sold To Party
SH Ship To Party
BP Bill To Party
PY Payer
Come Back and Click On
Assign Partner Type To Sales Doc Header
KU To TA
Assign Partner Functions To Account Group
SP To ACC GROUP
SH
BP
PY Same.
For Sales Doc Header The Partner Functions Can Be Determined From Customer Master.
How to customize the Partner Determination Procedure?
We can determine partner determination procedure by using the transaction code VOPA.
In the business different people interacts to make a transaction with the business while
making transactions with the business every partner performs certain roles those are
called as a partner functions.
Depending on the partner type every partner fulfill certain mandatory partner functions.
SAP determines relevant partner functions automatically to relevant partner object type.
Flow: Customer master, Sales, Delivery, Billing, Document header and items.
A) Partner Types.
1) Customer(KU)
He performs partner functions like Sp, Sh, Bp, Py.
2) Vendor(LI)
Partner Functions (FA- Forward Agent).
3) Contact Person (AP)
Partner Functions-CP.
4) Sales Employee(PE)
Partner Funcitons-SE
Authorized Partner to release the order
Contracts are release by raising sales orders.
In the business one specifies partner is authorized to enter and to release contracts.
At Header level( sales document) there is a control by which system carries out checks
against partner whether he is authorized to release the contract.
Partner type(KU) and Partner Functions( AA- Sold T party) to release the contracts.
Aw- ship to party to release the contracts and this partner functions assigned to partner
determination procedure (kab).
Partners to check credit limits:
We define partner functions
Km-credit Manager.
kb- credit representations both belongs to partner type pe(personal)
Configurations settings:
1) Define Account Group( OBD2)
2) Assign Number range key to Account Group (OBAR)
3) Define partner determination procedure for customer master.
a) Define partner functions
Path: Img -> sd -> basic functions -> partner determination -> set up partner
determination -> set up partner determination for customer master.
Click on partner function control button under dialog structure
Partner Function Name Partner type error
sp sold to party ku 07
sh ship to party ku 07
bp bill to party ku 07
py payer ku 07
partner type Pe
Km credit manager pe 09
kb credit represent pe 09
We need to maintain Material master records for the BOM Item and for the components
also.
The item category group of the BOM items is ‘ERLA/LUMF’ and the item category is
‘NORM’.
In the overview screen specify the components which makes the main item and the
corresponding quantities and save it.
Note: During sales document processing if we enter the BOM item the system
automatically determines corresponding components.
1) For the BOM to be exploded in the sales document the following customizing setting
is required.
A) If the item category group is ERLA the item category of the BOM is TAQ, in the
definition of which we have to specify the value A (Explode single level BOM) in the
structure scope.
B) If the item category group is LUMF the item category of the BOM item is TAP in the
definition of which we have to specify the value A in the field structure scope.
2) If the item category group is LUMF the system shows price for the components but not
for the BOM item. For this the following customizing setting is required.
A) The item category of the BOM item is TAP which is not relevant for pricing, so the
BOM item is not Priced.
B) The item category of the components is TAN which is relevant for pricing, so the
components are priced
3) If the item category group is ERLA the system shows price for the BOM item but not
for components. For this following customizing setting is required.
A) The item category of BOM item is TAQ, which is relevant for pricing, so the BOM is
priced.
B) The item category of components is TAE which is not relevant for pricing, so the
components are not priced.
While creating sales document to get the list of alternative BOMs in the definition item
category of BOM item we have to check the field “Manual Alternative”
24-07-2007
OR ERLA TAQ
OR NORM TAQ TAE
OR LUMF TAP
OR NORM TAP TAN
OR NORM TAN
OR NORM TAE TAE
OR NORM TAN TAE
VA01
Order Number
Goto Item Overview
Item ->Schedule Item
SD - 3rd party sales order View the PR that is created
ME52N
Key in the PR number
Save
SD - 3rd party sales order Assign the PR to the vendor and create PO
ME57
Key in the PR number
Toggle the "Assigned Purchase Requisition"
Execute
Check the box next to the material
Assign Automatically button
Click on "Assignments" button
Click on "Process assignment"
The "Process Assignment Create PO" box , enter
Drag the PR and drop in the shopping basket
Save
SD - 3rd party sales order Receive Goods
MIGO_GR
PO Number
DN Number
Batch tab , click on classification
Serial Numbers tab
Date of Production
Flag Item OK
Check, just in case
Post
Save
SD - 3rd party sales order Create Invoice
MIRO
Invoice Date
Look for the PO , state the vendor and the Material
Check the box
Clilck on "Copy"
Purchase Order Number (bottom half of the screen)
Amount
State the baseline date
Simulate & Post
Invoice Number
*Invoice blocked due to date variance
SD - 3rd party sales order Create a delivery order
VL01N
In the order screen , go to the menu Sales Document , select "Deliver"
Go to "picking" tab
State the qty and save
SD - 3rd party sales order Create a billing document
VF01
Ensure that the delivery document is correct in the
Enter
Go to edit -> Log
Save
2) Because of the configuration settings of the sales document type, item category &
schedule line category, as soon as the order is saved a PR (purchase requisition) is
automatically generated. This is converted into PO (purchase order) and sent to the indan
company.
In standard SAP, item category TAS is used for this. The schedule line category is CS.
Here you can see a field 'order type' with value 'NB'. This triggers the automatic creation
of the PR.
2) If you are not always allowing third party order processing then you can create a
material master record with item category group as NORM and the procurement type
should be marked as (X) meaning both types of procurement (in house manufacturing
and external procurement).
In the item category the billing relevance should be 'F'.
Availability Check
Availability Check on Quotation
SAP standard does not do an availability check on the quotation, as it is not a
definite order, usually just a pricing quote.
When it is converted to an order, the first availability check is carried out, as well as
credit checks. The system will check stock in the plant, plus what is contained in the
availability checking rule (scope of check) eg: can add POs for replenishment, purchase
reqs, different planned orders, and subtract sales orders, deliveries etc already created
against that material in that plant (and possibly Storage location).
If there is enough stock in the plant/SLoc, the system will give you a confirmed date, or
give you a date based on the production time or purchasing time from the material
master. The date the system proposes is based on the customer's requested delivery date.
SAP first backward schedules looking at the required delivery date, less transportation
time, less transportation lead time, less pick and pack time, less production/purchase time
if applicable. If the date it calculates is equal or later than today’s date, then it will
confirm the customer’s required date. If it falls in the past, SAP will then forward
schedule for today’s date, plus the times listed above to get the date when the customer
can actually have it.
ATP is the single most complex part of the SD module, depending upon how PP and
MRP is set up.
MRP works semi-separately, depending on how it is set up. Basically, MRP looks at the
demand on the plant, and if it the stock does not meet expected sales orders and
deliveries, it will create a purchase requisition (outside purchase) or requirement or
planned order (for production) to cover the shortfall. When MRP is started, it will turn
the PR into a PO or the requirement into a production order.
1. T. Code: OVLZ
Field: Pick/pack time wrkdys whether you have maintained any value. It should have
been blank.
2. T. Code: VOV8
Check how many days mentioned in Lead time in Days. If it is mentioned any days,
remove it.
3. T. Code: OVZ9
Checked the Box: Check without RLT .
4. Check in material master MRP2 view how many days are maintained for the fields In-
House production and GR Processing Time.
How to see the scope of ATP check?
When we creat a sales order, we can only confirm the delivery of goods, for the required
delivery date if the goods are available for all the necessary processing activities which
take place before delivery.
This type of check is performed dynamically for each transaction with or without
replenishment lead time (RLT).
RLT : It is the time that is needed to order or produce the requested material, the system
determines the RLT according to specific times maintained in the material master record.
Depending on the material type RLT can be calculated according to various time periods.
For ex: In the case of trading goods it is determined according to the planned delivery
time, purchase processing time and the goods receipt processing time.
1. Strategy group: The allowed planning strategies i.e. the main strategy and further
possible strategies are combined in a strategy group. It is specified in the Material Master
Record in MRP3 view.
Note: In customizing, the strategy groups are assigned to MRP groups depending on the
Plant so that the strategy group is automatically proposed in the Material Master.
2. MRP group: The MRP group combines the material from the point of material
requirements planning which is specified on the MRP1 view in the Material Master Data.
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
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.
STOCKS:
[]Include safety stocks: Minimum stock at plant/ware house
[]Stock in transfer
[]Include quality inspection stock
[]Include
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.
Give more insight about this program SDV03V02 or V_V2. We run this program
every night at our company to reschedule the sales orders which is pushing back
some of the orders that are to be delivered in the next few days too. This is causing
some problems.
When you reschedule (transaction V_V2), orders that contain items determined in
product selection are reevaluated. If the substitution settings have changed, or there is
more product available, the system may determine other substitutes. This may result in
products being promised to the customer other than those agreed to at the time of order
entry. To avoid this, you can set the fixed date and qty indicator in the order (choose Goto
--> Item --> Schedule lines). The system will not take the order account when
rescheduling.
Items determined in product selection are only considered in a rescheduling run when
you have set the input parameters to include all materials. If you specify only certain
materials, main and sub-items from product selection are excluded.
The fixed date and quantity indicator does not influence product selection in the delivery.
If a product selection item has been partially delivered, the system does not take it into
account in rescheduling runs.
You have the options to set the Delivery Priority in the following areas:-
1) In Customer Master Sales Area Data, under Shipping tab, you have the option of
setting Delivery Priority.
2) In Customer Material Info record (VD51), after entering the material code, just click
on the blue lens so that you can set the delivery priority for the combination of customer
and material
So, to consolidate, we can only prioritize in V_V2 depending on :
1. Customer priority set in shipping tab under delivery priority;
2. Customer - Material info record;
3. Date of order creation;
4. Delivery date on the schedule line level;
5. Document Number and
6. Document Date.
Generally, it gives more priority to standard sales document type which is OR even
though there are other sales document types, it gives more priority to OR then other STO
document types like NLCC. etc.
The system takes the delivery priority first from Customer - Material info record, if
Customer - Material info record is not maintained then it checks the CMR delivery
priority .
Tell me the difference between CO06 and V_V2. Both seem to be backorder
rescheduling transactions.
V_V2 -> It is a Rescheduling process of backorders.
CO06 -> It is also backorder processing but based on material .
-----------------------------------------------------------------------
-------------------
-----------------------------------------------------------------------
-------------------
-----------------------------------------------------------------------
-------------------
-----------------------------------------------------------------------
-------------------
-----------------------------------------------------------------------
-------------------
-----------------------------------------------------------------------
-------------------
-----------------------------------------------------------------------
-------------------
| KMEIN | | | CHAR
| 000003 | 000000 |
-----------------------------------------------------------------------
-------------------
-----------------------------------------------------------------------
-------------------
-----------------------------------------------------------------------
-------------------
-----------------------------------------------------------------------
-------------------
TABLES: DD04T,
CDHDR,
CDPOS,
DD03L,
DD41V,
T685T,
VBPA,
TPART,
KONVC,
VBUK.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-001.
PARAMETERS: SUDATE RADIOBUTTON GROUP R1,
SNAME RADIOBUTTON GROUP R1,
SOBID RADIOBUTTON GROUP R1.
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.
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
Where to find the User Exits on Sales and Distribution along with functionality?
To see the detail go to SPRO --- Sales and Distribution ---- System Modifications --- User
Exits
There you will find all the details by checking IMG Activity Documentation. You will
have User exit for - Sales Document Processing.
This IMG step describes additional installation-specific processing in sales document
processing. In particular, the required INCLUDES and user exits are described.
Involved program components
System modifications for sales document processing affect different areas. Depending on
the modification, you make the changes in the program components provided:
- MV45ATZZ
For entering metadata for sales document processing. User-specific metadata must start
with "ZZ".
- MV45AOZZ
For entering additional installation-specific modules for sales document processing which
are called up by the screen and run under PBO (Process Before Output) prior to output of
the screen. The modules must start with "ZZ".
- MV45AIZZ
For entering additional installation-specific modules for sales document processing.
These are called up by the screen and run under PAI (Process After Input) after data input
(for example, data validation). The modules must start with "ZZ".
- MV45AFZZ and MV45EFZ1
For entering installation-specific FORM routines and for using user exits, which may be
required and can be used if necessary. These program components are called up by the
modules in MV45AOZZ or MV45AIZZ.
You will find all User Exits on Sales and Distribution along with functionality.
What are the user exit for billing document release to accounting?
Please check below exits/customer exits, these all are trigger during VF02.
The following user exits are available in report SAPLV60B for transfer to accounting
(function group V60B):
Note:
Use enhancement "SDVFX008", Component : "EXIT_SAPLV60B_008".
SDVFX008 will indeed trigger while you create accounting document through VF01 or
VF02. We have done similar development to update SGTXT field in BSEG. Check
whether the function exit is activated.
Customer
Return material From customer
You need to receipt the rejected goods through SD Module (VA01 - Sales Order type
RE).
The steps are as follows :
1. Create a return request. (Using Sales Order in SD)
2. Create outbound delivery according to return request.
3. If the setting is correct in the outbound delivery screen SAP will automatically switch
post goods issue button into post goods receipt. The setting is in sales order item category
and delivery type.
4. In the standard system the movement type used is 651.
5. After post goods issues receipt is done using outbound delivery, the quantity is placed
in blocked stock without value updating.
6. You will then decide if the return quantity are indeed bad stock or not.
7. Transfer Posting from block stock to unrestricted stock (mvt type 453), this will have
accounting effect (Debit Inventory, Credit COGS)
8. Goods Issue to scrap account how to create new titles which can be used in creating the
"address" view on the Vendor master.{T-Code: XK01}
In config go to Basis Components --> basis services --> Address Management -->
Maintain title texts
What processes are involved with Customer Returns? How do we create a
replacement order, and what should we do if a replacement is not issued?
A return is a sales document used in complaints processing for when a customer sends
goods back.
You enter a return in the system if the customer returns damaged goods, or goods that had
been delivered for sale on approval. The return causes the system to: Register the receipt
of goods using a returns delivery, and post the goods to stock (for example, blocked
stock).
Create a credit memo, once you have checked the goods and approved the complaint. A
return is another type of sales document like a standard order.
The return triggers the following functions:
- Delivery (returns delivery)
- Billing (for creating a credit memo)
When you create a return based on a complaint, you: Post the goods to your warehouse
for checking And then, implement one of the following activities:
- Approve the complaint and create a credit memo
- Approve the complaint, and implement a free of charge subsequent delivery based on
the return
- Reject the complaint
PGI (Post Goods Issue) may be cancelled by Transaction code VL09. The accounting
document is just the reverse of the original PGI document.
In my company, we use project stock (movement type 601 Q for PGI). VL09 creates the
movement type 602 Q. But rather than VL09, the generally accepted method in my
company for the reverse items is to use the movement type 653, "back to the to the
storage location." The accounting document takes the cost "from" the project and moves
it back "to" the storage location.
The movement types are entered in the schedule lines in customizing, which are then
assigned to the item categories. However, in this process, "no invoice" takes place. If you
have a delivery related invoice, it should be cancelled beforehand.
If you do not give replacement, the Customer Account needs to be credited.
Please do not forget to create a Billing document (Formally Return Credit Memo) with
reference to return delivery. It is very important in order to close the cycle. If you do not
create a return credit memo, your delivery will keep appearing in the "Billing Due" list
and with status "Being processed". When you create a return order type RE, the billing
type is picked up as RE (Return Credit Memo) automatically.
When you are creating a replacement, you can create a replacement order, delivery, and
billing. To create the replacement order, you can define an order type by copying from
order type OR. In the copy control, you can define the relevant item categories from RE
to OR. You can make reference Mandatory for this order type. The delivery type for this
replacement order type will be LF and billing type F2.
Usage of price group in customer master
Answer:
Generally the usage of customer group is to group the customers into One group so that
whenever you want to give some additional discount to that customer group then you can
give
Example :
Say you have 2 customers and 2 customers have 2 pricing groups. Customer A belongs to
Wholesale Pricing grp and Customer B belongs to Retail Pricing grp. Maintain a
condition record With the help of the Customer / Pricing grp key combination. Now for
wholesale you give extra discount and for retail you give less discount. Now when you
create the sales order with Customer A then he will be getting extra discount But if you
create the sales order with Customer B then he will be getting normal discount
Price group is a field where you can group certain customers under one umbrella.
Suppose if you have 3 price groups say price group1 price group2 and price group3.
Price group can be added as filed in pricing condition table and you can maintain
condition records for them:
So in sales order the customers A to D will get 5 % discount and customers E to G will
get 6 % discount and customers H to J will get 7 % discount.
Please go through this IMG path then define the Customer pricing group.
SPRO --> IMG --> Sales and Distribution --> Basic Functions ------> Pricing -->
Maintain Price relevant master data fields ---> Define Pricing group for Customers.
Output/Email
Sending a billing document by e-mail
First, your SAP system must be configure by the basis people in order for you to send an
external mail.
Whether it can send pdf or other file format will depends on the Mail Server you are
using.
The basis people must also maintain the conversion parameters so that SAP knows how
to convert the billing documents to be send as a pdf file or other desired format specified
by your company.
Finally, you have define the IMG in Maintain Output Determination for Billing
Documents (Output type MAIL)
REPORT zche_sales_order .
****************************Declarations********************************
TABLES: vbkd,vepvg.",vbak,vbap,vbpa,vakpa, vapma.
*******************Selection**Screen**Design****************************
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
PARAMETERS: vkorg LIKE vepvg-vkorg,
vtweg LIKE vepvg-vtweg,
spart LIKE vepvg-spart.
SELECT-OPTIONS date FOR vbkd-bstdk DEFAULT sy-datum TO sy-datum
OBLIGATORY.
SELECTION-SCREEN END OF BLOCK blk1.
SELECTION-SCREEN BEGIN OF BLOCK blk2 WITH FRAME TITLE text-002.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 10.
PARAMETERS: chk1 AS CHECKBOX.
SELECTION-SCREEN POSITION 20.
PARAMETERS: kunnr1 LIKE vbpa-kunnr.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK blk2.
********************First**Level**Operation*****************************
IF chk1 <> 'X'.
IF vkorg <> ''.
PERFORM organisation.
ELSE.
PERFORM organisation_else.
ENDIF.
ELSE.
IF vkorg <> ''.
PERFORM cus_orga.
ELSE.
PERFORM cus_orga_else.
ENDIF.
ENDIF.
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.
*&---------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
APPEND sal.
ENDSELECT.
ENDFORM. "ORGANISATION_ELSE
APPEND sal.
ENDSELECT.
ENDFORM. "CUS_ORGA
APPEND sal.
ENDSELECT.
By Chellavelu .V - chella.velu@gmail.com
Can team size be 40 in a project? Is there any generalized team size no. for any
project? If we tell my team size is 40 in that what no. we can say sd people are?
## Team size cant be forty, Theres no genralized size of team. Never
40 sd consultants work together on same project.
What is ALE?
## Application Linking and Enabling - Generally ABAPers work on it.
What are incoterms? Where do we fix them? Where do you find in regular process?
## Incoterms or international comm. terms and u find in CMR - Sales area Data - billing
Tab.
How can you make some of the fields as key field in generic tables?
## Some fields in all tables have a indicator on it.To see, then go to SE11, display
VBAK, u will find MANDT on top, if you see after description 2 tick marks, those are
key fields. Gernerally, these key fields are used in writing any Program or Interface. The
key fields will extract data of non key fields .
What is the standard group condition routine in condition type, what is its
importance?
## Its better u read Group Conditions in PR00.
How do you control entry possibility of condition values at order through condition
type settings?
## You can maintain the maximum and minimum value for all conditions.
What are the customizing settings in pricing procedure for tax condition type?
## Check out the standard pricing procedure RVAA01 - MWST.
A bunch of data need to be imported. A huge no.of creations are required, how it is
possible in SAP?
## thru LSMW, BAPI.
What is the integrated areas in SD AND FI, SD AND MM, SD AND PP in both
implementation and support projects?
## SD & FI - Possible in Account Determination, for posting the conditions to revelant
G/l account like all prices goes to one particular g/l account. Also in Credit Management,
Taxes.
Table Description
Q: We can define our own exchange rate types and use them instead of the defaulted
types, 'M', 'B' and 'G'. How can we overwrite default types in SD?
A: Exchange rate gets copied from the customer master record. Exchange rate types are
to be maintained for the customer in the sales screen of the customer master record.
Shipping
Q: The PL00 condition is fine in delivery. But when we try to print to either the screen or
printer, an error V1032 occurs. Why?
A: In order to use the Packing list PL00 (packing slip in delivery) you must do 'Packing'
in the delivery note (edit->packing)
Billing
Q: SAP allows a non-inventory item and an inventory item to be in the same document
till delivery but splits at the time of creation of billing document. Can we combine a non-
inventory item with an inventory item in one invoice? Can we treat it as a value item in
sales order so that it is priced and then make it as a text item in delivery documents so
that it appears in the same invoice and does not split?
A1: Make the non-stock material deliverable, but not pickable. Both items will carry into
the delivery, and therefore appear on the same invoice.
A2: Change the copy rule for orders->invoices and deliveries->invoices to specify that
invoice combination is permitted. However note that for system to create combined
invoices, PO number, payment terms, sales organization, and distribution channel must
be identical. Else undesirable combinations may be created by the system.
Pricing Conditions
Q: It is impossible to price at the material level (matnr) , when a material has a pricing
reference (mvke-pmatn) set up against it in the master data. Pricing always look for the
pref, even if a price is set up against the material and not the pref. How can we price by
material and pref?
A: The field used to look up at the price is defined in Access sequence. You may find a
step with PMATN as material number. If you insert a step with MATNR then the system
will first look for the material, if not found (use the exclusion tick box) it will look for the
pref.
Customizing
Q: We generated a new condition table. Assigned the condition to access sequence.
Created a condition record. Access sequence is assigned to the output type. But when we
create a billing document, output screen comes up blank for the output type. When we
look up Determination Analysis, we get an error "Note 524 Access not made (Initialized
Field)". What else is required to be done?
A: Assign output determination procedure to the header of the document and the output
type.
Q: How can we set up to have the VAT# be accepted in the Ship-To Master File Data
Control screen?
A: IMG->Fin. Acct.->AR and AP ->Customer acct->Master Record -> Prepare to Create
Customer-> Define Acct. Group.
Q: We want to explode Bill of Material automatically at time of Order entry and explode
an Equipment BOM in the sales order. What are the setting required?
A: Use an item category that is configured for bills of material for having a sales BOM to
explode automatically.
Standard SAP item categories are :
TAQ - Pricing and inventory control take place at the BOM header level
TAP - Pricing and inventory control take place at the BOM item level
These can be automatically derived using the item category groups ERLA and LUMF,
respectively.
Q: How can we make the Customer Group 1 (or 2, 3, 4, 5) a mandatory field?
A: Logistic General-> Logistics Basic Data: Business Partners -> Customers -> Control
-> Define account groups and field selection for customer
Choose Customer Acct. GR. (double-click). -> Field Status: Sales data (double click) ->
sales (double click) .Check the radio button against Customer Gr as REQ. ENTRY. Save
the settings to make customer GR entry mandatory .
Q: Is there an user exit to copy the data into planning table?
A: Use user exit MCP20001 and include ZXSOPU01.
Others
Q: We get a report screen: "Goods issue: Problem Log" during the delivery process
when activating Post Goods Issue button. We want to include our own error message to
this list if the selected batch is not on a customer defined table. What is the best way?
A: Try User exit - USEREXIT_SAVE_DOCUMENT_PREPARE
Billing -
Integration Points Module
•Debit A/R - FI/ CO
•Credit Revenue - FI/ CO
•Updates G/ L - FI/ CO
(Tax, discounts, surcharges, etc.)
•Milestone Billing - PS
Sales organization
/ \
/ \
Dist.Channel<----------------->Division
Distribution Channel: The channel that is choosen the organization to make their product
reach the end customer.(Network)
Sales organization
|
|
Dist.Channel
|
|
Division
Division is an Oragaizational Unit.
The Division in the Material Master is not an Organizational Unit that can be used to
maintain related fields. It is a field which is used to uniquely assign a material to a
Division.
SAP SD Tips by : Ramkumar
Ex: Sales Group 'X' works (assigned) for 2 Sales Offices 'North' and 'South'
simultaneously.
5. But in CRM this assignment is not as common as in R/3 and is not supported thru
SBIV.
6. If you would like to have these multiple assignments made in R/3 available in CRM as
well you may want to go thru EBIV.
7. Once you run EBIV you cannot go back to SBIV.
8. In EBIV divisions and distribution channels can only be assigned to sales units (sales
organizations, sales offices, and sales groups). If they are assigned to any other neutral
Org Units (Org Units without any Org Attributes), those assignments would be deleted
once you shift from SBIV to EBIV.
Take note that when you set the parameters in SM30 - V_T001L_D, the settings only
affect
those newly created materials starting from the days you set the parameters.
For those materials already created, you have to changed it manually one by one or write
an
ABAP program to mass changed it automatically.
However, if you want to include zero quantity items but if they are all zero, you do not
want to create the delivery then you have to used the user exit
USEREXIT_SAVE_DOCUMENT_PREPARE.
Problem in Shipping
I am new to SD. I am facing a problem in Shipping. After finishing the transfer
order, and go to change mode of delivery,
Press "post goods Issue"
I am facing this problem:
"The number range for the transaction/event WL in year 2004 does not exist"
How to solve this problem.
Sailendra
Go to TCode SNRO. Put the no Range object as MATBELEG and click on Number
Ranges. Then click on Change Groups. Then select the second row (which includes your
WL doc type). After selecting click on the change/maintain button. On this you can
maintain the desired number range. Here you can put the year as 2004 or any future year.
Amol.
When a SO is created and Delivery then we proceed to Transfer order and Post
goods issue, sometimes there is a problem in Shipping. Could you Kindly clarify
whether Shipping point is assigned to the Material in Material Master or you can
assign the Storage Location, Plant and Shipping point in Delivery. Also If a Plant
has mutliple shipping points,,which one will be assigned for shipping after Delivery
created
I also had an error log while creating Transfer order LT03 saying Postings not
possible for specified date..Is there a way to solve this problem in Deliveries?
Pritam
When creating a Sales Order, the system first determines the Delivering Plant in the
sequence from the following source:
On determining the Delivering plant, the system determines the shipping point with the
customising that you do in Logistics Execution > Shipping > Basic Shiping Funct >
Shipping point and Goods Recieving Point Determination > Assign Shipping points :
Here you enter the Shipping point to be determined for the combination of:
As regards storage location the same is determined in the delivery from the combination
1) Shipping Point
2) Delivering Plant
3) Storage condition.
In r/3 shipping conditions are assigned to Sales document type. If it is not assigned it is
proposed from master record of sold-to-party.
In your case,you have to define all shipping conditions and assign Shipping points for
each shipping conditions.You will have as many shipping points for as shipping
conditions.
Customizing :
Shipping point determination-IMG-Logistic execution-shipping-basic shipping
function. *-- Vrajesh
Shipping conditions are maintained for which partner function in customer master?
Shipping condition is maintain in Ship to Party partner function ( sales area data tab ---
shipping.)
Shipping conditions will be defaulted from the CMR of SP. If a value exists in the sales
document type (eg. OR) then it will have priority and will replace the value defaulted
from CMR.
Does the system takes the shipping condition twice in search of the route?
When the system search for the route it will search through route determination like this:
Shipping point*(*Sales order)** and Departure Zone **(From the order shipping
point*)*+Shipping condition*(*Customer master which you enter in the order*)
*+Transportation Group*(*from material master which you entered in the order**)
+destination zone*(*transportation zone of the Customer in the order**)-->Route
System will determine the shipping point in the sales order based on these selection
Shipping conditions+Loading group+Plant-->Shipping point.
After determining the shipping point then only the system will start to search route.
But system will not search the shipping point while searching the route.
So shipping conditions will not consider two times while searching the route.
What is the significance of the shipping condition and loading group?
Both the shipping condition and loading group are useful in Stock transport order.
For the Customer assigned to the receiving Plant, check the Delivering Plant in Customer
master record in XD02 & check the shipping point assignment in OVXC.
Shipping point will be determined only if it is assigned to the plant from the config.
Shipping condition and Loading group plays a vital part for shipping point
determination . The combination of shipping condition (Master data of customer /Vendor)
+ Loading group (material master) + Plant, determines the shipping point.
The top ten IT skills to have for the next few years
This is not a scientific survey, but merely the opinions of a few agents that we asked. If
you have a highly valued skill that isn't on here, don't worry, this is not definitive, but
merely the opinions of a few agents. I'm sure if we'd polled others the list might have
been slightly different.
Skills on the Up
We polled a number of agents and other sources of information and came up with the
following skills that are likely to be on the up over the next few years. Anyone with these
skills is likely to be employed, at good rates, even taking into account offshore
outsourcing and Fast Track Visa Workers.
1. J2EE
2. .Net
3. C#
4. Project Management
5. Oracle 8 and 9i
6. SAP
7. Business Analysis
8. VB.net
9. NT Novell
10. Java
New Hot Skills
The top three are definitely becoming very hot skills.
It's good to see Project Management up there. It is a much underrated skill.
Business Analysts are also less immune to offshore outsourcing, as they have to remain
reasonably close to the business users.
SAP continues to do well and is taking market share from its rivals.
Siebel also gained an honourable mention.
Oracle continues to be very strong, and is also expected to gain even more market share
in the coming years.
Honourable Mentions
Other skills that also received honourable mention for the future are some of those from
before the downturn such as:-
SQL
Unix
C++
VB
Access
ASP
In fact SQL, Unix and C++ are still the most sought after skills currently, and anyone
who has them should stand in good stead.
Those where you might find it a bit of a struggle in the next few years are the skills from
before the previous downturn like Cobol, CICS, DB2 etc.
There is still quite a lively market for PL/I though.
As I said at the start, this is not a definitive list, but we thought it would be worthwhile to
pass on what agents believe to be the skills that they think they will be looking for more
and more in the next few years.