Currency and Decimal Places in SAP
The number of decimal places varies for currencies. Currencies which do not have two decimal places must be defined in SAP in table TCURX (decimal places for currency codes).
You can maintain this table in the IMG as follows: SAP Customizing Implementation Guide–>SAP NetWeaver–>General Settings–>Currencies–>Set Decimal Places for Currencies. (Transaction code Oy04)
Never delete a currency or change the decimal place value of a currency in SAP.
Some common Customizing settings for table TCURX:
ISO Currency Decimal places
Code
————————————————————————
ADP Andoran Peseta 0
AFA Afghani Afghani 0
BEF Belgian franc 0
BHD Bahraini dinar 3
BIF Burundi franc 0
BYB Belorussian rubel (old) 0
BYR Belorussian rubel (new) 0
CLP Chilean peso 0
COP Columbian peso 0
DEM3 (Internal) German Mark (3 Dec.) 3
DJF Djibouti franc 0
ECS Ecuadorian sucre 0
ESP Spanish peseta 0
GNF Guinea franc 0
GRD Greek drachma 0
HUF Hungarian forint 0
IDR Indonesian rupiah 0
IQD Iraqui dinar 3
ITL Italian lira 0
JOD Jordan dinar 3
JPY Japanese yen 0
KMF Comoros franc 0
KRW South Korean won 0
KWD Kuwaiti dinar 3
LAK Laos new kip 0
LUF Luxembourg franc 0
LYD Libyan dinar 3
MGF Madagascan franc 0
MZM Mozambique metical 0
OMR Omani rial 3
PTE Portugese escudo 0
PYG Paraguay guarani 0
ROL Roumanian Lei 0
RWF Rwanda franc 0
TJR Tadzhikistani rubel 0
TMM Turkmenistani manat 0
TND Tunesian dinar 3
TPE Timor escudo 0
TRL Turkish lira 0
TWD New Taiwan dollar 0
UGX Uganda shilling 0
USDN (Internal) US Dollar (5 dec.pl.) 5
VND Vietnamese dong 0
VUV Vanuata vatu 0
XAF CFA Franc BEAC 0
XOF CFA Franc BCEAO 0
XPF CFP Franc 0
The contents of this table is only delivered with new installations of SAP and never upgraded.
For upgrade installations, new or changed contents of Table TCURX are not delivered.
Currency codes and decimal places for currency codes are defined in ISO standard 4217. For the specification of decimal places for currency codes, SAP uses this ISO standard.
How to create a Price Report in 15 minutes
Objective: You wish to create a report listing specific condition records with associated condition record validity dates, but you wish to extract data relevant for a specific customer across multiple condition types. This would normally entail you having to do multiple extracts or creating a specific query/custom ABAP program. A standard SAP solution is to create a price report, which can be done very quickly and effectivly.
Procedure to Create a SAP Price Report:
- Access the IMG: SAP Customizing Implementation Guide–>Sales and Distribution–>Basic Functions–>Pricing–>Maintain Pricing Report
- Select “Create Pricing Report”
- Enter a Name and Title
- Now select a field which is part of the condition table within your access sequence assigned to your condition type. For example you may select the field KUNNR. (Be careful as more than 1 technical field may have the same Field name description). (A good tip is to not select too many fields.)
- Select the OR or AND buttons depending on the number of fields you have selected.
- You will now have a list of all the pricing tables which contain the field you have selected. Select the tables for which you would like the report to extract the data. (Be careful as each field which is represented in a table will need to be represented in the final report, so you may not wish to have too many variables.)
- Now select the Next Step (F5)You can select which fields are used as selection parameters or not. All fields must have a position assigned in the report; Page Header –Group Header –Item level –
Result: You can now execute the report with transaction V/LD.
Spool – Output
The output controller – Spool Request Selection Screen can be used in transaction code SP01.
This will give you spool requests and output requests by system.
If you wish to limit a user access to their own individual spool requests you can give them access to SP02.
If you wish to completely control the spool and output functionality of a system you can use the administration transaction SPAD (or additionally transaction SPAT.)
When working with output/messages you can access the objects message status in table NAST.
If you are looking for a simple single table overview of all output/message condition types which have a condition record you can use table NACH. (This will give you the Condition Type+Access Sequence Table+Application+Partner function and a variable key which will show you the key fields for the access sequence table.)
Creating deliveries by Background Job
Here are a few tips on creating outbound delivery documents via a background job:
1) The Easy Access menu path:
- SAP menuàLogisticsàLogistics ExecutionàOutbound ProcessàGoods Issue for Outbound DeliveryàOutbound DeliveryàCreateàCollective Processing of Documents Due for Deliveryà
- VL10 – User-Specific Delivery Scenario
- VL10A – Sales Orders
- VL10C – Sales Order Items
- VL10E – Sales Order Schedule Lines
- VL10B – Purchase Orders
- VL10D – Purchase Order Items
- VL10F – Purchase Order Item Schedule Line
- VL10G – Sales Orders and Purchase Orders
- VL10H – Sales Orders and Purchase Orders (Items)
- VL10I – Sales Orders and Purchase Orders (Schedule Lines)
- VL10U – Cross-System Deliveries
- VL10BATCH – Plan Background Processing
2) One can simply execute a transaction code as above and then fill the values of the selection screen and tabs, after which one may SAVE the variant.
3) Transaction VL10BATCH is useful to show all variants. One can also use this transaction to select a variant and execute the job immediately or schedule the job.
4) Alternatively one may use the batch Job Wizard (I am not going to share on how to use the job wizard as this is pretty basic via transaction code SM36.) to create a background job and schedule it. Use your created variant with program RVV50R10C.
Some Tips:
A) It makes sense to create an express shipping point for which you can schedule a delivery creation background job in a much faster schedule to the normal delivery creation schedule.
B) Be careful to schedule your jobs with care. For example you want your delivery creation job to be completed before you process any picking jobs and shipment related jobs. (Likewise you want your billing jobs to run after your shipment related jobs are completed.)
C) It is not uncommon for the delivery creation jobs to hold sales docs and or materials in a shared or exclusive lock. This is not a problem. It just means you have to wait for the locks to be released, which in most instances should be split seconds. But knowing this happens your target should be to have more delivery due list jobs running with smaller run times than a single huge list which could lock itself at times.
D) In the “User Role” Tab is a setting for Delivery Profile which has a field called “Repeat Blocked” This will set how many times the system will try access a document which is blocked.
E) You can also enter a default delivery scenario and a default list profile for each user, that is called up from the menu or via transaction VL10. Set the user parameters LE_VL10_SZENARIO and LE_VL10_PROFIL. (You can see the values for the scenario on the “User Role” Tab.)
Functional Domain Tables
Here are a list of tables which you may find useful related to their domain.
External Send – email Output and Transaction SCOT
Question: How does the external sending of email for output messages for example standard Order Confirmation occur with SAPconnect?
Answer: The format of the output must be adjusted to be used by the SMTP email server as used in SAPconnect (transaction SCOT). Here is a quick guideline for email outbound processing only:
1) You have to adjust the profile of the SAP Web Application Server if you want to use the SMTP function. The SAPconnect send job can only be scheduled for servers on which SMTP has been activated. For this reason, you must activate SMTP for all of the SAP system’s application servers. – Use transaction RZ10.
2) You maintain the SAPconnect settings for the SMTP node. For more information on SCOT see standard SAP help: Here
3) Next the original format of your standard output,for example order confirmation output could be in SCR (Standard SAPscript). In this case the SD messages are transferred to SAPconnect in SCR format (SAPscript) these are then converted to OTF format and may be converted to PDF format in accordance with the conversion rules in the IMG.
The configuration for the system is done in “SAP Customizing Implementation Guide–> SAPNetWeaver –>SAP Web Application Server -> Basis Services -> Communication Interfaces -> SAPconnect Client-Wide Settings -> General Settings -> Conversion Rules”.
4) Lastly the emails from the SAP spplication are stored in a queue. A background job needs to be created to collect the emails from the queue and process/send them. You can schedul ethe job in SAPconnect with SCOT as follows:
- From the user menu in SCOT select View–>Jobs
- Select Create
- Enter a job name and confirm it.
- Select the variant SAP&CONNECTALL Sending requests
- Schedule the job to run periodically for example every 10 mins.
For more information, refer to the online documentation for SAPconnect (component BC-SRV-COM).
Download Sales Orders according to SH Party
Recently Asked: How do you download sales orders in SAP by ship to party address?
Its easier than you think:
You can easily do this in VA05.
When in VA05 change the Search parameter from Sold to Party to Ship To Party by selecting the “Partner Function” button Ctrl+F10. Then use the other selection parameters as required.
The resultant lists can be downloaded/exported from the ALV grid.
If you dont find SH partner function in in VA05,please add it in the below mentioned menu path
IMG–>SD–>Sales–>Lists–>Set updating of partner index
Add SH to Transaction Group ’0′.
Then you can get a report based on Ship to Party in VA05.
Price Agreement unwanted condition types
Scenario - You are in a contract and select the “Price Agreement” button. You then select the top right hand button “Other Condition Type” (Ctrl+Shift+F7), the drop down list has condition types that you are unfamiliar with, you may not even have these condition types in your pricing procedure. Some of the usual culprits are:
PPAG MatlGroup Price Item
PPAR Settlement Price Itm
PPSG Hierarchy Price Item
PPSV Service Price Item
So how do you remove these from the drop down list (match code) as there is no clear customizing causing them to appear?
The Answer is all condition types that have an access sequence that has a condition table which refers to a sales document number VBELN or item number POSNR will automatically appear in this list of price agreement conditions. To remove them from your match code simply remove the table from the access sequence.
Sales Documents Item View Table Control
Have you ever opened a sales document and wished your quantity field was adjacent to the material field? or the plant field was visible on the screen and not hidden on column xyz. Well the layout of these columns may be controlled by the user: you can change the table control of a sales document item view. For example you can drag columns into different positions on the table. You can also save the view of the columns as a user specific variant.
But did you know that you can also set a system/client specific variant for all users. You can do this by changing the columns and selecting the small icon called “configuration” on the top right hand side of the items list. Then select “Administrator” then select “Activate“. This controls Program SAPMV45A and Control TCTRL_U_ERF_AUFT.
Note to do this you must have the following authorization – authorization object ‘S_ADMI_FCD‘
Translations
Hi Glynn do you have any tips on translations of texts?
This is a big area, however, a little time saver can be to use the unicode translator transaction SE63 which is a shortcut to all texts which need to be maintained and translated. Always check oss note – 0585116 for more info on using SE63.
Dont forget you can use SO10 to translate standard texts as well.
Credit Management Analysis
Credit management has so many variables it is usually difficult to analyse for the average SAP consultant. Here are the tools which you need to ensure you are not average!
Transaction FD33 - Customer Credit Management Display.
Transaction F.35 – Customer Credit Master Sheet.
Transaction SE16 – on table S066 – Open orders: credit management.
Transaction SA38 – Report CHECK_CM – Awesome report for Credit analysis.
Transaction SA38 – Report RVKRED88 – Re-organization Simulation after update errors.
Transaction SA38 – Report RVKRED77 – Re-organization after update errors.
How to re-set the Sales Document Status
Quick SAP Tip – How to re-set the Sales Document Status.
Why: Sometimes a sales Document may be updated incorrectly and the status may be out of sync with the attributes in the document. For example the item may be rejected but this may not be showing correctly in VBUP.
How: Run SA38 with report SDVBUK00
Other Related Tips: A great table/view which shows a combination of header details and status information is VBAKUK.
Quick and Easy Tut – EDI – Pricing Condition Records
Introduction
So you know that SAP can send pricing condition records from your SAP system to another system using ALE/EDI. An investigation of transaction WE60 can show you the structure of the Basic Type “COND_A03″.
But what is the easiest method of sending the initial data load from SAP to another system for pricing condition records, or how do you use it? Read more 
SAP SD – FAQ Notes
The SAP OSS FAQ notes are full of information, they are recommended reading, login to OSS on the left (under links) and search for these:
Number Range Buffering
Basic Introduction to NRIV
The document number is assigned in chronologically ascending order based on the table NRIV. For this, the table NRIV is locked until the application (LUW) is terminated by either a COMMIT WORK or ROLLBACK (OSS Note 639754). Another application cannot take a document number during this time. Read more 
Change a customer account group
What happens to the customer number when I change an customer account group? Read more 
ATP – Storage Location Check
Can I deactivate the storage location check for checking rule ‘A’ (sales order) but leave checking rule ‘B’ (delivery) activated when I customize the scope of check, so that sales orders are not checked at storage location level? Read more 
Where does the system determine the Accounting Doc Type?
The Accounting document type is determined in various ways, according to type of transaction, for example the default can be configured in SAP Customizing Implementation Guide–>Financial Accounting–>Accounts Receivable and Accounts Payable–>Business Transactions–>Outgoing Invoices/Credit Memos–>Carry Out and Check Document Settings–>Define Default Values
However in the case where you have a sales billing document and you would like to default a specific accounting document type you should Read more 
Function Modules for SD Reports and Smartforms
These function modules are great to get the information used to populate Smartforms and reports in SD.
Remember you can access the data with transaction SE37 and use the test/execute icon [F8].
IDoc numbers related to Sales Documents

SAP Tips – VPRS condition Type currency in Billing
SAP Tips – VBAP-CEPOK – EDI Price/Value
Not all customer expected prices are causing the documents to be incomplete for with EDI. This will help:
SAP Tips – Content of database relevant to configuration of objects
Should you wish to see the tables and information extracted from them for a configured item in a sales document you can use the transaction code:
CUTABLEINFO.
Revenue Recognition
1. Is it possible to use a customized document type for the revenue recognition in FI?
2. Why is a revenue recognition not possible, and why is an entry made in the incompleteness log of the order or contract?
3. How can I use the revenue distribution, and what is the purpose of the revenue distribution?
4. When is an update of the revenue recognition data required, and how do I execute this update?
5. When are the sales costs transferred to CO-PA during the revenue recognition process?
6. Why are not all fields filled in the CO document for the revenue recognition documents that are also filled during the billing document transfer?
7. Why is the account for non-billed receivables, and not the account for deferred revenues, posted in the case of revenue recognition-relevant items in the credit memo?
8. Why is monitoring of the revenue recognition data required, and how do I monitor the data? Read more
Revenue Recognition Cancellation
Why does transaction VF46 (Revenue Recognition: Cancellation) not cancel the revenue recognition posting?
The revenue recognition cancellation (transaction VF46) is not a real cancellation in the sense of a reverse posting, but a posting to a prior period. This is based on the balances in the accounts when the cancellation is created.
How To Pricing – Condition Basis
This is a series of steps to create a pricing procedure covering Condition Basis, From and To Step Numbers and the condition basis formula.
SAP Tips – Manual conditions in the pricing procedure
SAP Tips – How is the cost determined in pricing?
In the order, the cost is generally taken from the valuation segmentof the material master.
In the billing document, however, it may have other sources. Depending on the business transaction, the costs can be taken from the goods issue of the billed delivery or, in the case of a third-party order processing or individual purchase order, from the respective purchase order, the goods receipt or the invoiceverification in purchasing. Read more 
SAP Tips – In Billing how was condition VPRS determined?
Go to the detail display of the VPRS condition type.
- If the condition control (KSTEU) is set to ‘H’, the cost was taken from the goods issue.
- If it set to ‘A’, it was redetermined from the valuation segment of the material master, in case of ‘D’ or ‘E’ it was copied from the preceding document.
SAP Tips – ‘Y’ – “Inactive because of subsequent price”
Use of KINAK ‘Y’ (‘last price’ logic) to exclude conditions:
In addition to the condition exclusions, which you can influence in Customizing and in the condition master data, R/3 pricing still has a condition exclusion that was programmedusing a hard-coded logic: the ‘last price’ logic. Read more 




