Important Tables For Sap SD
Important Tables For Sap SD
Important Tables For Sap SD
Description
Customers
KNA1
General Data
KNB1
Customer Master Co. Code Data (payment
method, reconciliation acct)
KNB4
Customer Payment History
KNB5
Customer Master Dunning info
KNBK
Customer Master Bank Data
KNKA
Customer Master Credit Mgmt.
KNKK
Customer Master Credit Control Area Data
(credit limits)
KNVV
Sales Area Data (terms, order probability)
KNVI
Customer Master Tax Indicator
KNVP
Partner Function key
KNVD
Output type
KNVS
Customer Master Ship Data
KLPA
Customer/Vendor Link
Sales Documents
VBAKUK
VBUK
VBAK
VBKD
VBUP
VBAP
VBPA
VBFA
VBEP
VBBE
VBAK + VBUK
Header Status and Administrative Data
Sales Document - Header Data
Sales Document - Business Data
Item Status
Sales Document - Item Data
Partners
Document Flow
Sales Document Schedule Line
Sales Requirements: Individual Records
SD Delivery DocumeLIPS
referencing PO
LIKP
Billing Document
VBRK
VBRP
SD Shipping Unit
VEKP
VEPO
SD Master Records
Business Partners
XD01/VD01 Create Customer Master Centrally
XD02/VD02 Change Customer Master Centrally
XD04/VD04 Display Changes to the Customer Master Centrally
XD05/VD05 Block or Unblock a Customer
Sales Inquiry
VA11 Create Inquiry
VA12 Change Inquiry
VA15 List of Inquiries
Sales Quotation
VA21 Create Quotation
VA22 Change Quotation
VA25 List of Quotations
SDQ1 Expiring Quotations
SDQ2 Expired Quotation
SDQ3 Completed Quotations
V.04 Display Incomplete Quotations
Scheduling Agreement
VA31 Create Scheduling Agreement
VA32 Change Scheduling Agreement
VA35 List of Scheduling Agreements
V.05 Display Incomplete Scheduling Agreements
Contracts
VA41 Create a Contract
VA42 Change a Contract
VA45 List of Contracts
V.06 Display Incomplete Contracts
SDV1 Display Expiring Contracts
SDV2 Display Expired Contracts
SDV3 Display Completed Contracts
Sales Order
VA01 Create a Sales Order
VA02 Change a Sales Order
VA05 List of Sales Orders
V.02 Display Incomplete Sales Orders (Sales Order Error Log)
V.14 Display Blocked Orders
SDO1 Display a List of Orders Within Time Period
Debit Memo Request Processing
VA01 Create a Debit Memo Request
VA02 Change a Debit Memo Request
VA05 List of Debit Memo Requests
V.14 Display Blocked Debit Memo Requests
SDO1 Display a List of Orders Within Time Period
Credit Memo Request Processing
VA01 Create a Credit Memo Request
VA02 Change a Credit Memo Request
VA05 List of Credit Memo Requests
V.14 Display Blocked Credit Memo Requests
SDO1 Display a List of Orders Within Time Period
Returns
VA01 Returns Order
VL01N Returns Delivery
VF01 Credit for Returns
Shipping and Transportation
Delivery
VL01N Create Delivery
VL02N Change Outbound Delivery
VL22 Display Delivery Change Documents
VL71 Output from Deliveries
VL10A Process Delivery Due List
Picking
VL06O Sel. Outbound Deliveries for Picking
Post Goods Issue
VL06G Deliveries for Goods Issue
VL09 Cancel Goods Issue for Delivery Note
VL23 Goods Issue (Background)
SD Billing
In contracts we are creating quantity contract and value contracts in that we only
put the validity period after validity period that contract will close,but customer
want before one month closing the period system should alert with popup box like
this contract is going to close, for this sales manager can follow up the customer for
renual the contract.
Getting a pop-up when the Contract is going to expire is not a Standard SAP thing. For
this you need to do some programming. Instead of this the Std system has a reminder
system where in the open Contracts and Quotaions are popped up when you about to
create a sales order.
This setting is in the Sales order header ,
Goto -- VOV8 --- Quotation and Outline agreement messages
If you want to have different number range for different sales area where the
settings to be done.
Number Rage are use to define what number to be assign to sales document type.
Number range can be assign Internal or external.
In internal number range system automatically assign a number to sales document
according to number range define in system.
In External number range user manually assign number to sales document.
For Assigning Number Range use T-Code VN01
Choose Intervals ---- Define your number range
We can see Strategy Group in Material Master Record - MRP 3 - Planning -- Strategy
Group.
10 - For Make to Order
20 - For Make to Stock
LIPS
VBAK
VBAP
VBBE
VBEH
VBEP
VBFA
VBLB
VBLK
VBPA
VBRK
VBRP
VBUK
VBUP
VEKP
VEPO
Transaction Action:
J1I2 - Prepare a sales tax register
J1I3 - Create outgoing excise invoices in batches
J1I5 - Update the RG 1 and Part I registers
J1IEX - Incoming Excise Invoices (central transaction)
J1IEX_C - Capture an incoming excise invoice (excise clerk)
J1IEX_P - Post an incoming excise invoice (excise supervisor)
J1IF01 - Create a subcontracting challana
Shipping
Q: The PL00 condition is fine in delivery. But when we try to print to either the screen or
printer, an error V1032 occurs. Why?
A: In order to use the Packing list PL00 (packing slip in delivery) you must do 'Packing'
in the delivery note (edit->packing)
Q: we have to enter a shipping point while creating a delivery. Is it possible to create
delivery without shipping points?
A: When you are releasing a sales order, choose Sales document -> Subsequent
functions-> Create delivery, then the shipping point will be brought in from the sales
order. In all other scenarios you have to key in the shipping point. The above described
scenario will only work if all items on the sales order are to be shipped from the same
shipping point.
Billing
Q: SAP allows a non-inventory item and an inventory item to be in the same document
till delivery but splits at the time of creation of billing document. Can we combine a noninventory item with an inventory item in one invoice? Can we treat it as a value item in
sales order so that it is priced and then make it as a text item in delivery documents so
that it appears in the same invoice and does not split?
A1: Make the non-stock material deliverable, but not pickable. Both items will carry into
the delivery, and therefore appear on the same invoice.
A2: Change the copy rule for orders->invoices and deliveries->invoices to specify that
invoice combination is permitted. However note that for system to create combined
invoices, PO number, payment terms, sales organization, and distribution channel must
be identical. Else undesirable combinations may be created by the system.
Pricing Conditions
Q: It is impossible to price at the material level (matnr) , when a material has a pricing
reference (mvke-pmatn) set up against it in the master data. Pricing always look for the
pref, even if a price is set up against the material and not the pref. How can we price by
material and pref?
A: The field used to look up at the price is defined in Access sequence. You may find a
step with PMATN as material number. If you insert a step with MATNR then the system
will first look for the material, if not found (use the exclusion tick box) it will look for the
pref.
Customizing
Q: We generated a new condition table. Assigned the condition to access sequence.
Created a condition record. Access sequence is assigned to the output type. But when we
create a billing document, output screen comes up blank for the output type. When we
look up Determination Analysis, we get an error "Note 524 Access not made (Initialized
Field)". What else is required to be done?
A: Assign output determination procedure to the header of the document and the output
type.
Q: How can we set up to have the VAT# be accepted in the Ship-To Master File Data
Control screen?
A: IMG->Fin. Acct.->AR and AP ->Customer acct->Master Record -> Prepare to Create
Customer-> Define Acct. Group.
Q: We want to explode Bill of Material automatically at time of Order entry and explode
an Equipment BOM in the sales order. What are the setting required?
A: Use an item category that is configured for bills of material for having a sales BOM to
explode automatically.
Standard SAP item categories are :
TAQ - Pricing and inventory control take place at the BOM header level
TAP - Pricing and inventory control take place at the BOM item level
These can be automatically derived using the item category groups ERLA and LUMF,
respectively.
Q: How can we make the Customer Group 1 (or 2, 3, 4, 5) a mandatory field?
A: Logistic General-> Logistics Basic Data: Business Partners -> Customers -> Control
-> Define account groups and field selection for customer
Choose Customer Acct. GR. (double-click). -> Field Status: Sales data (double click) ->
sales (double click) .Check the radio button against Customer Gr as REQ. ENTRY. Save
the settings to make customer GR entry mandatory .
Q: Is there an user exit to copy the data into planning table?
A: Use user exit MCP20001 and include ZXSOPU01.
Others
Q: We get a report screen: "Goods issue: Problem Log" during the delivery process
when activating Post Goods Issue button. We want to include our own error message to
this list if the selected batch is not on a customer defined table. What is the best way?
A: Try User exit - USEREXIT_SAVE_DOCUMENT_PREPARE
4. The material which you are entering in a sales order must be extended to the sales area
of your sales order/customer otherwise you cannot transact with this material.
There are many such links between SD and MM.
Now the link between SD and FI :1. Whenever you create a delivery with reference to a sales order, goods movement takes
place in the bacgground. eg. In case of standard sales order, you create an outbound
goods delivery to the customer.
Here movement 601 takes place. This movement is configured in MM. Also, this
movement hits some G/L account in FI. Every such movement of good s hits some G/L
account.
2. The accounts posting in FI is done with reference to the billing documents (invoice,
debit note, credit note etc) created in SD. Thus this is a link between SD and FI
3. Tax determination: In case of a tax determination also, there is a direct link between
SD and MM
Module
MM
FI
CO/ MM
FI
PP/ MM
Module
MM
FI
MM
FI/ CO
PP/ MM
Module
FI/ CO
FI/ CO
FI/ CO
PS
Module
MM
Updates G/ L
Credit Memo
Adjustment to A/R
Reduces Revenue
FI
FI
FI
FI
Pls check for the serial numbers in MMBE and I suppose a program needs to be created
by an ABAPer for the serial number to be fetched and a transaction to be
created and associated with the program.
I need Serial Number Profile tables as soon as possible.
T377P - Serial Number Management Profiles
T377P_T Texts for Serial Number Management Profiles
T377X Documents Allowed for Serial Number Management
T377X_T Texts for Serial Number Management Documents
T5KSN ROE Serial Number
SERI Serial Numbers
EQBS Serial Number Stock Segment
EQSE Serial Number Records
IQ09 - Check Material Serial No
In outbound delivery, post goods issue failed because of serial number, but this serial
number was not assigned to any other material.
Check the serial number and material with IQ03. Serial number is material specific.
When I looked at the IQ03, for the serial no "#162559019S.", I realized that the
status is still remain as EDEL and ESTO.
Supposingly, the status should only has ESTO. Is there a way to remove the status
"EDEL"?
Go to IQ02, do the following steps:
1. Go to edit -> Special serial number function -> manual transaction
2. Choose "to stock"
The status should be ESTO now. Try it.
EDEL status shows that it is assigned to a delivery. Change it by going into IQ02 --> Edit
--> Sp.Serial number Functions --> Manual Transaction and make it 'to stock'
If the serial number has status EDEL ESTO that means the serial number is assigned to
the Delivery, reversal PGI has not been completely performed.
Once you do that then only this will come as ESTO.
Please check your SD document flow if all the documents have been reversed.
Click the Status of Serial Number Master record.
The assignments are on the lower node. Which means you will go to Sales office, go to
function TAB and assign multiple sales organizations there.
In the change form click New entry and assign the new sales organization and
distribution channela and division combination.
You can assign as many combinations as needed here.
1. There are 2 version in CRM Org Model.
a) SBIV (Standard Backend Integration Version)
b) EBIV (Enhanced Backend Integration Version)
2. EBIV is used to handle multiple assignments in CRM system.
3. As you know we have 3 Org Units as far as Sales is concerned i.e. Sales Org, Sales
Office, Sales Group.
4. In R/3 there is a standard way to maintain multiple assignments among these org units.
Ex: Sales Group 'X' works (assigned) for 2 Sales Offices 'North' and 'South'
simultaneously.
5. But in CRM this assignment is not as common as in R/3 and is not supported thru
SBIV.
6. If you would like to have these multiple assignments made in R/3 available in CRM as
well you may want to go thru EBIV.
7. Once you run EBIV you cannot go back to SBIV.
8. In EBIV divisions and distribution channels can only be assigned to
sales units (sales organizations, sales offices, and sales groups). If
they are assigned to any other neutral Org Units (Org Units without any
Org Attributes), those assignments would be deleted once you shift from
SBIV to EBIV.
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.
- OR - Standard Order,
- RE - Returns etc.
Verify the Sales order type configuration with the following path:
IMG: Sales and Distribution --> Sales --> Sales Docs --> Sales Doc Hdr --> Define Sales
Doc Types (transaction vov8) will let you control this by sales document type.
There is one field (Lead time in days) which "specify the number of days after the current
date that the proposal for the requested delivery date in the sales document should be".
This should be blank if you want the system to propose current day for delivery date.
In Tab: Shipping,
Check Box: Immediate Delivery (press F1 to read more about this functionality).
Note: There are few more settings that you may check:
1. T. Code: OVLZ
Field: Pick/pack time wrkdys whether you have maintained any value. It should have
been blank
2. T. Code: VOV8
Check how many days mentioned in Lead time in Days. If it is mentioned any days,
remove it.
3. T. Code: OVZ9
Checked the Box: Check without RLT .
4. Check in material master MRP2 view how many days are maintained for the fields InHouse production and GR Processing Time.
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)
Alternatively, you can specify an order reason and assign a cost center to an order
reason.
However the standard SAP works only at the header level though, so it would not work if
cost center is needed on the line item.
The cost center are assign for such business transactions as :
- Free deliveries
- Returns
- Deliveries of advertising materials
You can also make cost center allocation dependent on the order reason, for example:
Order reason: Damage in transit
Order reason: Free sample
Both the IMG settings are done in transaction OVF3, either with/without the order
reason.
item level.
OVZG
- Requirement class
When a sales order is raised, then the system check for availability of goods. If the
availability of goods is not there, then the system creates a TOR for the supply of goods
to PP. Then PP can do procure or produce the goods. This can be configured by creating
requirement class and requirement type and in the corresponding schedule line category
requirement had to be checked.
The MRP department is informed about the quantities and deadlines by which incoming
orders should be delivered. The system checks the availability of the goods based on the
requested delivery date of the customer and creates MRP records which contain all
necessary information for passing on to planning. It ensures that the goods are available
in time for the delivery.
Materials planning transfers the reported requirements and creates orders or purchase
requisitions from them etc.
The following sections on the transfer of requirements describe how to control the
transfer of requirements.
The transfer of requirements is basically dependent upon the following factors:
- requirements type
- requirement class
- check group
- schedule line category
The transfer of requirements is controlled globally using the requirements class which is
derived from the requirements type for all sales document types.
For the sales document types, fine tuning is also possible at schedule line level. This fine
tuning is described in the section "Defining the procedure for each schedule line
category".
Note that the requirements classes are also used in production so you should coordinate
any changes to the requirements classes with production. The requirements type and,
eventually, requirements class are determined in the strategy group so all changes made
there should also be coordinated with production.
For performing transfer of requirements, you have to carry out the following steps:
1. Each requirement type has to be allocated to one requirement class only.
2. The transfer of requirements must be switched on at requirements class level, the sales
documents at schedule line level.
3. You must define a check group. It is possible to have this check group proposed for the
initial creation of a material master record.
4. Note that a plant must exist for transfer of requirements to be carried out at document
item level.
Requirements transferred to planning are further processed in the module MM. You must,
therefore, coordinate the transfer of requirements with the module MM.
0 Tax Exempt
1 Liable for Taxes
MWST
Customer Taxes
0
0
1
1
Material Taxes
0
1
0
1
Rate Taxes
0%
0%
0%
9%
In this example, if both the Customer Master and Material Master Tax code is 1, Tax will
be included when you create the Sales Order.
For customer master, I will have 1-LST 2%, 2-LST4% & 3-LST0%. When I create
master records for LST thru VK11 for JIN2, I will chose the access where the
combinations of customer & material tax classifications are available. If this access does
not exist create it under an access sequence. But normally this is standard. The condition
records will look like,
Cust-Tax classi.
Material tax claasi.
Rate
Tax code
1
1
2%
A1
2
1
4%
A1
3
1
0%
A1
Remember, rates are flown from the tax codes. Tax codes can be created thru T code
FTXP. This is normally a FI job
SPRO
Material management
Purchasing
Purchase order
Set up stock transport order
Create checking rule
Scope of availability check
SPRO
Sales and distribution
Basic functions
Availability check and transfer of requirements
Availability check
Availability check with ATP planning or against planning
Carry out control for availability check
Go to New Entries and define the scope of check in the combination of
checking group and checking rule.
The following elements can be involved in the availability check
STOCKS:
[]Include safety stocks: Minimum stock at plant/ware house
[]Stock in transfer
[]Include quality inspection stock
[]Include
Inward movement
Purchase orders
Purchase requisitions
Planned orders
Production orders
If we do not check the field [] check without RLT the system considers
RLT while checking the availability of the material
Note: Blocking the material for availability check
SPRO
accept the default value of down payment clearing as these equal each other. The
accounting document is as below
Dr. AR 30
Cr. Sales 30
Dr. Advance from customer 30
Cr. AR 30
5. Create the Second Billing document ( down payment value has expired and will not be
proposed) The accounting
document is as below is then standard for the last installement.
Dr. AR 60
Cr. Sales 60
This alternative provides a cleaner option with the Downpayment.
| Report header
| Cat.
----------------------------------------------------------------------------------------| STYPE
| Record type
000001 | 000000 |
| 0
| CHAR
| GROUP
| Group name
000012 | 000000 |
| BI Session Name
| CHAR
| MANDT
| Client
000003 | 000000 |
| Your client no
| CLNT
| USNAM
| User ID
000012 | 000000 |
| Queue user ID
| CHAR
| START
| Lock until:
000010 | 000000 |
| DATS
| XKEEP
| Keep indicator
000001 | 000000 |
| NODATA
| No batch input
000001 | 000000 |
| /
| CHAR
-----------------------------------------------------------------------------------------
| Report header
| Cat.
----------------------------------------------------------------------------------------| STYPE
| Record type
000001 | 000000 |
| 1
| CHAR
| TCODE
| Transaction code
000020 | 000000 |
| TCode = VK15
| CHAR
| KVEWE
| Usage
000001 | 000000 |
| U
| CHAR
| KOTABNR
| Table
000003 | 000000 |
| CHAR
| KAPPL
| Application
000002 | 000000 |
| App
| CHAR
| KSCHL
| Condition type
000004 | 000000 |
| CHAR
e.g V
-----------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------
| Report header
| Cat.
----------------------------------------------------------------------------------------| STYPE
| Record type
000001 | 000000 |
| 2
| CHAR
| VAKEY
| VarKey
000100 | 000000 |
| VarKey
| CHAR
| DATBI
| Valid to
000010 | 000000 |
| Valid to
| DATS
| DATAB
| Valid on
000010 | 000000 |
| Valid on
| DATS
| KBETR
| Amount
000015 | 000000 |
| Amount
| CHAR
| KONWA
| R/2 table
000005 | 000000 |
| R2tab
| CHAR
| KPEIN
| R/2 table
000005 | 000000 |
| R2tab
| CHAR
| KMEIN
|
000003 | 000000 |
| CHAR
| MWSK1
| Tax code
000002 | 000000 |
| Tx
| CHAR
| KONMS
| Scale UoM
000003 | 000000 |
| UoM
| UNIT
| MXWRT
| Amount
000015 | 000000 |
| Amount
| CHAR
| GKWRT
| Amount
000015 | 000000 |
| Amount
| CHAR
| STFKZ
| Scale type
000001 | 000000 |
| S
| CHAR
| KZNEP
| Exclusion
000001 | 000000 |
| CndEx
| CHAR
| LOEVM_KO
| Deletion indic.
000001 | 000000 |
| D
| CHAR
| SKONWA
| R/2 table
000005 | 000000 |
| R2tab
| CHAR
-----------------------------------------------------------------------------------------
| Report header
| Cat.
----------------------------------------------------------------------------------------| STYPE
| Record type
000001 | 000000 |
| 3
| CHAR
| KSTBM
| Quantity
000018 | 000000 |
| Quantity
| CHAR
| KONMS
| Scale UoM
000003 | 000000 |
| UoM
| UNIT
| KBETR
| Amount
000015 | 000000 |
| Amount
| CHAR
-----------------------------------------------------------------------------------------
*
* Sales Order Changed History Display
*
* You can execute the report by :
* 1. Change Date
* 2. User Name
* 3. Sales Order Number
*
* Submitted by : SAP Basis, ABAP Programming and Other IMG Stuff
*
http://www.sap-img.com
*
REPORT ZSDCHANGE LINE-SIZE 132 NO STANDARD PAGE HEADING
LINE-COUNT 065(001)
MESSAGE-ID VR.
TABLES: DD04T,
CDHDR,
CDPOS,
DD03L,
DD41V,
T685T,
VBPA,
TPART,
KONVC,
VBUK.
DATA: BEGIN OF ICDHDR OCCURS 50.
INCLUDE STRUCTURE CDHDR.
DATA: END OF ICDHDR.
SELECT-OPTIONS: XUDATE FOR ICDHDR-UDATE,
XNAME FOR ICDHDR-USERNAME,
XVBELN FOR VBUK-VBELN.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF BLOCK BLK1
PARAMETERS: SUDATE RADIOBUTTON GROUP
SNAME RADIOBUTTON GROUP
SOBID RADIOBUTTON GROUP
SELECTION-SCREEN END OF BLOCK BLK1.
DATA: WFLAG,
WCHANGENR LIKE CDHDR-CHANGENR,
WUDATE LIKE CDHDR-UDATE,
WNAME LIKE CDHDR-USERNAME,
WVBELN LIKE VBUK-VBELN,
WDEC1 TYPE P DECIMALS 3,
WDEC2 TYPE P DECIMALS 3,
ENDCASE.
IF ITAB-INDTEXT(1) EQ '&'.
REPLACE '&' WITH ITAB-FTEXT(40) INTO ITAB-INDTEXT.
ENDIF.
IF ITAB-CHNGIND = 'I'.
REPLACE '%' WITH ITEXT INTO ITAB-INDTEXT.
ELSEIF ITAB-CHNGIND = 'U'.
REPLACE '%' WITH UTEXT INTO ITAB-INDTEXT.
ELSE.
REPLACE '%' WITH DTEXT INTO ITAB-INDTEXT.
ENDIF.
CONDENSE ITAB-INDTEXT.
MODIFY ITAB.
ENDLOOP.
ENDSELECT.
IF SUDATE = 'X'.
SORT ITAB BY UDATE VBELN POSNR ETENR.
ELSEIF SOBID = 'X'.
SORT ITAB BY VBELN POSNR ETENR UDATE.
ELSE.
SORT ITAB BY USERNAME VBELN POSNR ETENR UDATE.
ENDIF.
LOOP AT ITAB.
CLEAR WFLAG.
IF SUDATE = 'X'.
IF WUDATE NE ITAB-UDATE.
SKIP.
WRITE:/001 ITAB-UDATE,
023 ITAB-USERNAME,
037(10) ITAB-VBELN.
WFLAG = 'X'.
WUDATE = ITAB-UDATE.
WCHANGENR = ITAB-CHANGENR.
ENDIF.
ELSEIF SOBID NE 'X'.
IF WVBELN NE ITAB-VBELN.
SKIP.
WRITE:/001 ITAB-VBELN.
WVBELN = ITAB-VBELN.
ENDIF.
ELSE.
IF WNAME NE ITAB-USERNAME.
SKIP.
WRITE:/001 ITAB-USERNAME.
WNAME = ITAB-USERNAME.
ENDIF.
ENDIF.
IF WCHANGENR NE ITAB-CHANGENR.
WRITE:/023 ITAB-USERNAME,
037(10) ITAB-VBELN.
WFLAG = 'X'.
WCHANGENR = ITAB-CHANGENR.
ENDIF.
IF WFLAG = 'X'.
WRITE: 013 ITAB-CHNGIND,
049 ITAB-POSNR,
057 ITAB-ETENR,
065 ITAB-INDTEXT(60).
ELSE.
WRITE: /013 ITAB-CHNGIND,
049 ITAB-POSNR,
057 ITAB-ETENR,
065 ITAB-INDTEXT(60).
ENDIF.
WRITE:/065 ITAB-F_OLD.
WRITE:/065 ITAB-F_NEW.
ENDLOOP.
FORM READHEADER.
CALL FUNCTION 'CHANGEDOCUMENT_READ_HEADERS'
EXPORTING
DATE_OF_CHANGE
= CDHDR-UDATE
OBJECTCLASS
= CDHDR-OBJECTCLAS
OBJECTID
= CDHDR-OBJECTID
TIME_OF_CHANGE
= CDHDR-UTIME
USERNAME
= CDHDR-USERNAME
TABLES
I_CDHDR
= ICDHDR
EXCEPTIONS
NO_POSITION_FOUND = 1
OTHERS
= 2.
CASE SY-SUBRC.
WHEN '0000'.
WHEN '0001'.
MESSAGE S311.
LEAVE.
WHEN '0002'.
MESSAGE S311.
LEAVE.
ENDCASE.
ENDFORM.
FORM READPOS.
LOOP AT ICDHDR.
CHECK ICDHDR-UDATE
IN XUDATE.
CHECK ICDHDR-USERNAME
IN XNAME.
CALL FUNCTION 'CHANGEDOCUMENT_READ_POSITIONS'
EXPORTING
CHANGENUMBER
= ICDHDR-CHANGENR
TABLEKEY
= CDPOS-TABKEY
TABLENAME
= CDPOS-TABNAME
IMPORTING
HEADER
= CDHDR
TABLES
EDITPOS
= ICDSHW
EXCEPTIONS
NO_POSITION_FOUND = 1
OTHERS
= 2.
CASE SY-SUBRC.
WHEN '0000'.
LOOP AT ICDSHW.
CHECK ICDSHW-CHNGIND NE 'E'.
CLEAR ITAB.
MOVE-CORRESPONDING ICDHDR TO ITAB.
MOVE-CORRESPONDING ICDSHW TO ITAB.
CASE ITAB-TABNAME.
WHEN 'KONVC'.
MOVE ICDHDR-OBJECTID TO ITAB-VBELN.
MOVE ICDSHW-TABKEY(6) TO ITAB-POSNR.
WHEN OTHERS.
MOVE ICDSHW-TABKEY+3(10) TO ITAB-VBELN.
MOVE ICDSHW-TABKEY+13(6) TO ITAB-POSNR.
MOVE ICDSHW-TABKEY+19(4) TO ITAB-ETENR.
ENDCASE.
MOVE '& %' TO ITAB-INDTEXT.
APPEND ITAB.
CLEAR ITAB.
ENDLOOP.
WHEN OTHERS.
MESSAGE S311.
LEAVE.
ENDCASE.
ENDLOOP.
ENDFORM.
TOP-OF-PAGE.
WRITE:/ SY-DATUM,SY-UZEIT,
50 'SALES ORDER CHANGE HISTORY',
120 'Page', SY-PAGNO.
WRITE: / SY-REPID,
60 'SALES ORDERS STATISTICS'.
SKIP.
ULINE.
IF SUDATE = 'X'.
WRITE:/001 'Change Date',
013 'Time',
023 'User Name',
037 'Sale Order',
049 'Line',
057 'Sch No',
065 'Changes'.
ELSEIF SOBID = 'X'.
WRITE:/001 'Sale Order',
013 'Line',
021 'Sch No',
029 'Change Date',
041 'Time',
051 'User Name',
065 'Comment'.
ELSE.
WRITE:/001 'User Name',
015 'Time',
025 'Change Date',
037 'Sale Order',
049 'Line',
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.
ZPXX 3500
ZDXX 1000ZWXX 500(all condition types are shown separately in pricing view)
Journal:
Dr Vendor 2000
Cr Sales 2000 (ZPXX - ZDXX - ZWXX)
One way to do it is :Mark the condition types you want to group as statistical and remove the account
assignment key.
Create a subtotal in your pricing procedure that will add them together and put in the
account assignment key for it. This way the individual components will still display on
your pricing screen but FI will only get one posting.
The alternate calculation routine says, "ignore the 10% altogether. Instead, use an
externally calculated 20%." Then, you end up with a final value of $100 + (20% of $100)
= $120.
Put them both together, and you could end up with $100 + (20% of $90) = $118.
Now once again,
Alternative Calculation Type:
Normally if you want to calculate a value you have to use a calculation type for
determinating the value. This calculation type is either addition, subtraction or
multiplication. Similarly SAP also has got a default calculation type in the control data of
the condition type. There you have the options of either Qty based , Fixed Amount Based
or Percentage based.
Here what happens is suppose if you define Your condition type that calculates the base
price of a material on Qty based. Then the calculation will be done based on the quantity
of the material. If the customer orders 10 Nos and you have maintained a unit price of
100 Rs for each material then the value determined is 1000 INR. Similarly if the discount
condition type , you maintain the calculation type as %. This means if you maintain the
value of 10 % in the condition record. Then this percentage is taken as the calculation
type and the condition value is determined.
In some cases you have to forego the default calculation types and use the customer
specific method for calculating a value. For ex if you are calculating the Freight charges
for a Material . it depends on so many criteria like, the weight, volume and also the
minimum amount etc etc, in those cases, you forego the default value and then use the
alternative calculation type in calculating the condition value against the particular
condition.
Alternative Condition Base value :
If you have to calculate any value then you have to have a base value for it. For ex if you
want to calculate the discount of 10 % for a material then you have to have a base value
on which this 10% is calculated. Normally you take the condition value of the base price
of the material to calculate the value.
Now you don't want to take the base value and take other values as base value which are
derived on some formulae. So you create a routine which will do the mathematical
operations in the routine and derive you a value which is now used as the base value for
calculating the condition value for a particular condition type.
Requirement:
A factor in the condition technique that restricts access to a condition table. The system
only accesses a condition table to determine the price if the requirement specified has
been met.
Example:
The system uses an access sequence to determine the price of a material. One of the
accesses in the sequence contains the requirement "in foreign currency." The system only
uses the table behind this access if the sales order for which the price must be calculated
is in a foreign currency.
Re-pricing in a Quotation
How can I, or am I able to find anything on a way of RE-Pricing be done in a
QUOTATION?
You can always 'Update" pricing manually in a quotation the same way you do in a sales
order, either in create or change modes. Menu path Edit --> New Pricing or press the
'Update pricing' button on the item conditions tab.
If you are asking how to reprice a quotation when it converts into a sales order, that can
be done with the copy controls of the Item Category. IMG: Sales & Dist --> Sales --> -->
Maintain Copy Control for Sales Docs --> Sales Doc to Sales Doc (transaction vtaa). Just
choose the combination of documents and the respective item category. The field you
need to be concerned with is "Pricing type".
However, from a business process perspective it makes absolutely NO sense to reprice a
quotation when converting to a sales order. After all, the entire point of using quotations
is to firm up details like pricing before creating the sales order
You have discussed changing your part number to reflect a bulk qty of 10, however
you have in house consumption that is allowed to consume only 1 part at a time. You
would vastly prefer to keep one part number that you order from the supplier,
consume internally and ship externally.
You are fairly certain there is basic functionality that covers this, but you're just not
sure where to start.
Taking your requirements literally. Standard SAP scale pricing will not do it in that you
only want the reduced price to come into effect when the order quantity is multiple of
some bulk factor.
It is agreed with that creating a separate material number is not a good idea.
You can try this :1. Define/Select a UOM for selling in bulk (i.e. cas, pallet, box whatever)
2. Maintain UOM conversion between your base UOM and this new UOM
3. Configure you bulk pricing condition type by usual means (it should be a base price
rather than discount).
4. Place this new bulk price behind your normal "PR00" price in the pricing procedure
5. Create a new condition base value routine via VOFM where you check XKWERT to
see if it is a whole number. If it is not then set XKWERT to zero.
6. Assign this new routine to your bulk price condition in your pricing procedure in ALT
condition base value column.
7. Maintain bulk price conditon record in the Bulk UOM.
That should do it.
If your requirement is for PR00 to alone to be priced at delivery date then this will not
work.
The pricing sources are generally the order. But if you want you can change it to other
values mentioned in the drop down,
but this values have no effect if the pricing type is B.
Any other value other than B in the pricing type will take the reference document price
mentioned in the pricing source field.
but for the pricing type B. The new price is determined in the billing order.
|15|Material
Price
|
|16|Individual
Prices
|
|17|Discounts and Surcharges by
Customer
|
|18|Discounts and Surcharges by
Material
|
|19|Discounts and Surcharges by Price
Group
|
|20|Discounts and Surcharges by Material
Group
|
|21|Discounts and Surcharges by
Customer/Material
|
|22|Discounts and Surcharges by Customer/Material
Group
|
|23|Discounts and Surcharges by Price
Group/Material
|
|24|Discounts and Surcharges by Price Group/Material
Group
|
|25|VAT/ATX1
|
|26|Canada/USA
|
|27|I.E.P.S
Mexico
|
|28|Conditions by
Customer
|
|30|Conditions by Customer
Hierarchy
|
|31|Price List with Release
Status
|
|AC|
|
|AD|
|
-------------------------------------------------------------------------Fast Links:
The solution for this is Using rebate condition types and suitable condition
records.
Of this to handle your first problem that is the rebate has to be applied
only on the "effort" you have to set up a line in the pricing procedure
which gives the rebate basis i.e the value to be used for rebate cond types.
This I believe solves your problem of rebate only on effort.
Your second problem i.e the discount should start getting applied
automatically when it reaches the first scale for which the values span few
financial years. This I am not really sure whether it can be made possible
in the invoice itself. But a work around is not giving the discount directly
in the invoice but settling it against the rebate agreements by Credit notes
periodically.
Hope it helps.
Thanks
-----Reply Message----Subject: RE: Customer discounts on effort only
Hi
Arent we looking at rebate agreeement. That appears to be a straightaway
solution to your problem. You activate the sales organization and the
payer for that
Regards
-----Reply Message----Subject: RE: Customer discounts on effort only
I am in SAP R/3 rel.30F.
We have 2 options to meet your requirement.
1. Using scale in condition type ( tcode V/06 ), choose scale basis
G.Scale based on a formula ( be: your based amount is invoice ). Define
scale formula. You need ABAPER to define it.
2. Using routine in Alt.calc.type ( tcode V/08 , Maintain Pricing
Procedure ). Here, you also need ABAPER to create routine.
hope this help
Menu Path: Menu Path: TOOLS ->; ABAP WORKBENCH ->; DEVELOPMENT ->;
DICTIONARY
Transaction Code: SE11
9) Edit MV45AFZZ userexit_pricing_prepare_tkomk (Client Independent)
Menu Path: TOOLS ->; ABAP WORKBENCH ->; DEVELOPMENT ->; ABAP
EDITOR
Transaction Code: SE38
10) Edit RV60AFZZ - userexit_pricing_prepare_tkomk (Client Independent)
Menu Path: TOOLS ->; ABAP WORKBENCH ->; DEVELOPMENT ->; ABAP
EDITOR
Transaction Code: SE38
11) Edit MV45AFZB - userexit_new_pricing_vbkd changing new_pricing (Client
Independent)
Menu Path: TOOLS ->; ABAP WORKBENCH ->; DEVELOPMENT ->; ABAP
EDITOR
Transaction Code: SE38
The following code should be inserted into program MV45AFZZ to allow the system to
re-execute pricing if the user makes a change to the relevant partner function (alteration,
addition, deletion).
13) Add the KOMKAZ Fields to the Pricing Field Catalog (Client Independent)
Menu Path: TOOLS ->; BUSINESS ENGINEER ->; CUSTOMIZING ->; SALES AND
DISTRIBUTION ->; BASIC FUNCTIONS ->; PRICING ->; PRICING CONTROL ->;
DEFINE ACCESS SEQUENCES ->; MAINTAIN ACCESS SEQUENCES
Transaction Code: OV24
14) Create Condition Tables (Client Independent)
Menu Path: TOOLS ->; BUSINESS ENGINEER ->; CUSTOMIZING ->; SALES AND
DISTRIBUTION ->; BASIC FUNCTIONS ->; PRICING ->; PRICING CONTROL ->;
DEFINE ACCESS SEQUENCES ->; MAINTAIN ACCESS SEQUENCES
Transaction Code: V/03
15) Create an access sequence containing the new tables (Client Independent)
Menu Path: TOOLS ->; BUSINESS ENGINEER ->; CUSTOMIZING ->; SALES AND
DISTRIBUTION ->; BASIC FUNCTIONS ->; PRICING ->; PRICING CONTROL ->;
DEFINE ACCESS SEQUENCES ->; MAINTAIN ACCESS SEQUENCES
Transaction Code: V/07
16) Create a new condition type
Menu Path: TOOLS ->; BUSINESS ENGINEER ->; CUSTOMIZING ->; SALES AND
DISTRIBUTION ->; BASIC FUNCTIONS ->; PRICING ->; PRICING CONTROL ->;
VK11 you can store condition record for more than one condition
type. This means you can have same condition record for different condition types.This
feature is given to enhance the system's performane and not to create the duplcation of
the work for each condition type.
Again system is not allowing to store the record in the vk31 for the condition type pr00
and access sequence pr02.This is because if you see this ac seq cointains two accessses
20 and 30 having the same table no.But you see there is the difference between the
technical view of it for transfering the data from document field and condition field,so
you can not maintain the data at VK31.
What is the difference between Header condition and Item condition? I know item
condition applies to each item in a sales document. Header condition can only be
applied to an entire document.
Difference between header and item condition - as YOU CORRECTLY SAID HEADER
CONDITION IS APPLICABLE FOR THE WHOLE DOCUMENT where as item is for
item.Ex-Say fright is dependent on the total weight of all the items in the documents then
header condition adds on weights of all items and calculates the record accordingly.
You have two different types of the header conditions.
a) In one you can duplicate the same value throughout the document for each item.Say
discount 2% at header level which is also applicable to all the items
b)Second is the accumulation of the values of all the item at the header level,as earlier
explained for the weight/fright.
These differenes are controlled through the indicator of group condition in the cond.type
configuration.
And so obviously header condition can not have the condition record and hence access
sequence.
SAP SD Tips by : Vishwajit
Disallowing Condition Types - How I can accomplish the following:
Be able to DISALLOW Z0BP Condition type to be negative ( Invoice Block)
You can modify condition type from customising;
Sales and Distribution->Basic Functions->Pricing->Pricing Control->Define Condition
Types->Maintain Condition Types
Change condition type ZOBP's plus/minus indicator to "A" which means only positive is
allowed. *-- Arvind Rana
In pricing procedure there are column such as requirement, sub total altclty, altbv,
accurals. What are these and where we calculate all these values which we put.
1. Requirement: Denoted by nos and maintained in VOFM, this is a condition required
for a particular condition type to be executed. Eg. PR00: req 2 ie item relevant for
pricing
VPRS/EKO1: req 4 ie cost
Rebate BAO1 Req 24/Req 25 etc
2. Subtotal: this represents where a which table a value is stored, which can be processed
for further calculation.
Eg. for PR00, if this value is to be used for credt check of a customer, we mark the
subtotal as A.
3 Alternate Calculation type: this is also denoted by numbers and maintained in VOFM.
Eg. Suppose for 45 units , each unit is charged $100 per unit, the order value comes out
to be $4500, that is calculation is done as per unit price, if the client wants calculation
type to be based on volume or wieght, alternate calculation type can be configured.
4. Alternate base value: Denoted by no. and maintained in VOFM.
Eg, if the pricing scale is maintained and pricing for 45 units comes under the scale of
$100 per unit., the base value is 45 units, but if the client wants a standard base value in
some casesto be assumed inspite of maintaining the scale, an alternate base value is
confihured, that is the base value based on which the order value is to be calculated
changes.
5. Accruals: Accruals are maintained for rebate agreements, it constitutes the total
accumulated value which customer has earned through rebate, one the rebate for certain
amount is settled the amount from the accruals get deducted.
*-- Nitin
Here I'm giving a simple guide to add fields to the Pricing Field Catalogues:
For example you want to use field PSTYV ('Sales document item category') that is
included in structure KOMP ('Pricing Communication Item') as a key for a condition
table.
When you create a condition table (Transaction V/03), however, the system does not
propose the field in the field catalog.
Condition access, field catalog, allowed fields, KOMG, KOMK, KOMP, KOMPAZ,
KOMKAZ, PSTYV are the other terms which we need to know about, to add Fields.
Reason and Prerequisites:
For technical reasons, field PSTYV was included in structure KOMP, however, not in
structure KOMG ('Allowed Fields for Condition Structures').
Proceed as follows:
1. Call up the ABAP Dictionary (Transaction SE11) and create data type ZZPSTYV.
Choose PSTYV as a domain.As a short text, you can use, for example, 'ZZ - sales
document item category' and as a field label, you can use the field labels of PSTYV.Save,
check and activate your entries.
2. Call up structure KOMPAZ in the ABAP Dictionary (Transaction SE11) in the change
mode and make the following entry:
Component Component type:
ZZPSTYV ZZPSTYV
Save, check and activate the change you made.
3. Note:Because of the change in structure KOMPAZ, field ZZPSTYV is now known in
structures KOMG and KOMP because structure KOMPAZ is included in both structures.
4. Call up Transaction SPRO. Navigate to 'Sales and Distribution -> Basic Functions ->
Pricing -> Pricing Control' and execute 'Define Condition Tables'.
Choose 'Conditions: Allowed fields' and include ZZPSTYV as a new entry.
5. Note:Now you can use field ZZPSTYV as a key field when you create a condition
table Axxx.
6. Supply the new field you defined by including the following source code line in
USEREXIT_PRICING_PREPARE_TKOMP:
MOVE xxxx-PSTYV TO TKOMP-ZZPSTYV.
In order processing you find the user exit in Include MV45AFZZ, and in billing
document processing you find it in Include RV60AFZZ.
Consider that you can also use this note as a help if you want to use other customerspecific fields as key fields in a condition table.
For header fields, use structure KOMKAZ instead of structure KOMPAZ and
USEREXIT_PRICING_PREPARE_TKOMK instead of
USEREXIT_PRICING_PREPARE_TKOMP.
For more information, see Transaction SPRO via the path 'Sales and Distribution ->
System Modifications -> Create New Fields (Using Condition Technique) -> New Fields
for Pricing' and OSS Note 21040.
Discount
Rs. 100.00
Rs. 105.00
Rs. 110.00 etc.
2. You are creating a sales order for a customer with five different items with different
quantities as below
ITEM 1 - 25 No's
ITEM 2 - 3 No's
ITEM 3 - 12 No's
ITEM 4 - 27 No's
ITEM 5 - 62 No's
All the material is having the material group = 01.
3. While calculating the discount, because of this group condition, system add the
quantities of items which have material group = 01. In the above example total quantity is
= 109. System apply a discount of Rs. 110.00 to each item irrespective of the individual
quantities.
4. If you have not activated the group condition feature, system determines the discount
value based on individual item quantity which is as below.
Discount
ITEM 1 - 25 No's
Rs. 105.00
ITEM 2 - 3 No's
Rs. 100.00
ITEM 3 - 12 No's
Rs. 105.00
ITEM 4 - 27 No's
Rs. 105.00
ITEM 5 - 62 No's
Rs. 115.00
5. Is it clear now. Just try a sales order and see the out come
Procedure to Test:
1. Create 3 materials. Maintain Material Group of each item is same.
2. Activate the condition type as a group condition.
3. Create a condition record for this condition type with scales.
4. Process a sales order for a customer with these three material with different quantities.
Step 1. Define/Choose your Table (with the requirement parameters that influence the
price)
Step 2. Define your Access Sequence and include the above Table in your Access
Sequence
Step 3. Define your Condition Type (There are four Price Types Basic Price, Discount,
Freight and Tax) and include your Access Seq. Its always better to copy the Price Types
provided by SAP.
Step 4. Now comes your Pricing Procedure where you include include Condition Types
and format.
Step 5. Now comes Procedure Determination where you specify the Document Pricing
Procedure and Customer Pricing Procedure along with Sales Organisation, Distribution
Channel.
Step 6. Maintain Condition Records for your Condition Types
I guess you can make it 8 Steps by dividing some of the main steps. Few important things
to note is following..
1. XD01 - Create Customer - Always ensure that you pick the right Customer Pricing
Procedure from here.
2. VA01 - Sales Order - Ensure that you have the right Document Pricing Procedure from
here
3. While Creating Access Sequence, check your Fields and ensure that they appear with
any warning (Highlighted in Red)
4. Do not forget to mention your Access Sequence while defining your Condition Type
5. Always remember that your Procedure Determination has only Basic Price as
Condition Type
6. Do not forget to mention the Range (From To) while creating your Pricing Procedure.
I made most of the mistakes that appear above. Hope it helps.
Header conditions are entered manually in order processing. R/3 includes the following
header conditions:
- Percent discount (HA00)
- Absolute discount (HB00)
- Freight (HD00)
- Order value (HM00)
Header Condition: If this condition is marked as a header condition, it is possible to enter
the condition type in the header condition screen. Checks for changing the condition
manually are unaffected by this.
Group Condition: Group conditions are helpfull incase of discounts. If group condition is
selected then the discount percentage or quantity is applicable for the total sum of the
quantity in the PO for those materials belonging to the same material group. Suppose if
two materials of same matl grp have discounts for 100 qty and above but in PO if the two
matls are bieng procured for 50 qty then they cant avail discounts but if group condition
is selected then the sum of the quantity of both matl of same matl group is considered (50
+ 50) and discount can be availed for 100 qty.
Further Group condition: Indicates whether the system calculates the basis for the scale
value from more than one item in the document.
The nature of header condition is that whatever value you are giving in sale order /
billing, line item wise, it will be distributed proportionately.
If you access V/06 and the header condition type, you can see that the condition type
- does not have any access sequence
- field Group condition is selected
Normally Freight Header condition like condition type "HD00" is calculated on the basis
of weight. This is a Manual condition and you have to enter it in the header screen. It
will be proportionately distributed on each item on the basis of weight. If you will
uncheck the group condition field, the same freight amount will be copied to each item,
possibly irrespective of different weight which may not be logical.
That is the standard behaviour of the header condition type.
Based on whether the group condition field is ticked on or off, it will either split the
header condition value to the items on pro-rata basis or it will just duplicate the header
value to all the items.
What you are experiencing with Fixed Amount Header conditions is standard behaviour.
Please see below Notes:
- 876617 FAQ: Header conditions / Header condition screen
- 317112 Behavior of conditions w/ calculation rule B changed
- 485740 Conditions with fixed amount in copy activities
In any normal situation there could be more than one condition type in a pricing
procedure offering a discount to a customer. Should the discounts be automatically
determined, there is the risk that the customer will receive all the relevant discounts and
thus purchase the product for a lower price than he should.
By using condition exclusion groups you can ensure that the customer does not receive
all the discounts, but instead only receives the best of the available discount condition
types.
Menu path IMG - Sales & Distribution - Basic functions pricing condition
exclusion condition exclusion for groups of conditions (OV31).
A condition exclusion group is merely a grouping of condition types that are compared to
each other during pricing and result in the exclusion of particular condition types within a
group or entire groups. It is important to note that the condition types you want the
system to compare must exist in the pricing procedure and must have valid condition
records created for them.
If for example, a sales order is created using the pricing procedure that the exclusion
group is assigned to, you can see that the condition offering the most favorable discount
to the customer is represented in the pricing procedure.
For instance, condition type K007 has offered a discount of 10% off the sale price or a
real value of $30, while another condition type K005 has offered a real value discount of
$10. The system then takes the best discount for the customer between the two, which is
K007 and makes the other discount K005 inactive. This can be seen by double clicking
on the condition type K005, where you can find a entry saying Inactive A condition
exclusion item.
There are four possible methods of using condition exclusion groups
A best condition between the condition types
B best condition within the condition types
C best condition between the two exclusion groups
D exclusive
E least favorable within the condition type
F least favorable within the two exclusion groups
Configuring Condition Exclusion Groups
First step is to define a condition exclusion group by using a four character alpha
numeric key.
Next step is to assign the relevant condition types to the exclusion groups such as
discount condition types, freight condition types.
After completing the assignment of the condition types to the exclusion group, proceed
with assigning the condition exclusion group to the relevant pricing procedure.
After selecting the pricing procedure for which you want the condition exclusion to be
active, select the folder Exclusion where you can assign the relevant condition exclusion
procedure to the relevant condition exclusion group.
When using the condition exclusion group to find the best condition record in a condition
type only use one condition type per exclusion group. The most important thing to
remember here is to deactivate the Exclusive Indicator on the access sequence assigned
to that condition type. Otherwise, the system will merely find the first condition record
and stop searching for other records.
1. get information for price (discounts) that existed at previous period (Say June 200X)
2. Inform potential buyer about the current price (and discounts)
3. Review price and discounts.
Though all the above T Codes and there are many More standard SAP Reports have very
high utility, it is not widely used. Clients prefer customized reports when it comes to
pricing reports - all Z programs and Transactions.
These kind of reports are generally required by the Top Management for periodical
review // Finance team for price control // Master data team for record purposes // Process
audits by Internal/external agency // Of late, for every SOX audit done in the
company...especially the change records for prices.
Condition Index
Condition index is very useful for searching the condition record for a customer.
It becomes easier and faster to search for condition records for a customer or material just
like it become easier to search a topics in the book with help of index.
You have to mark the "condition index" check box in the condition type and you have to
activate the index in customization.
You can set the discount for fast ten orders through "condition update".
First, in your discount condition type(V/06) activate the "condition update" check box.
Second, in the condition record, in additional data put "maximum number of orders" as
10.
You may also create the condition record for discount through VK31. Now go to
change(VK32), scroll to the right, you will find a column "N". This is maximum number
of order field. Here you can put value 10 and save it.
Now, system will give the discount to the first 10 orders.
Condition base value is a concept used in pricing procedure and actual term used is
alternate condition base value. This is a formula assigned to a condition type in order to
promote an alternate base value for the calculation of the value.
If you have to calculate price of a material then you have to have a base value for it. For
e.g. if you want to calculate the discount of 10 % for a material then you have to have a
base value on which this 10% is calculated. Normally you take the condition value of the
base price of the material to calculate the value.
Now, you don't want to take the base value and take other value as base value which are
derived on some formula. So you create a routine which will do the mathematical
operations in the routine and derive you a value which is now used as the base value for
calculating the condition value for a particular condition type.
As per my understanding there is Alternative Condition Base Value, It is a routine which
is assigned to the condition type in the pricing procedure.
Go to transaction V/08 here you select pricing procedure then go in to the control data of
the pricing procedure here you can find Alter native Condition
Base Value in the 14th column of the pricing procedure control data.
What is the difference between:
1. Conditional base value
2. Conditional value.
3. Conditional amount
1. Conditional base value
When a value is derived for a condition type, based on certain calculation this value is
taken as base.
2. Conditional value.
For the number of units ordered depending on the condition amount mentioned this value
is derived.
3. Conditional amount
This is nothing but the unit list price what you are mentioning for the line item.
1) What is the role of alternative calculation type, condition base value, requirement
in pricing procedure?
2) Where do we define value for alternative condition base value and alternative
calculation type so that system picks up different value, when the value for
alternative condition base value and alternative calculation type is mention in
pricing procedure?
**Alternative Calculation Type:**
This function allows you use a formula as an alternative in finding the value of the
condition type, instead of standard condition technique. this can be used to calculate
complex tax structures.
Alternative condition base value
The alternative condition base value is a formula assigned to a condition type in order to
promote an alternative base value for the calculation of a value.
Example
An absolute header discount is, for example, distributed in the standard system according
to the cumulative value of the items.
If the system distributes the absolute header discount according to volume based on the
Alternative formula for condition base value , a header discount of $30 results in the
following discounts:
Item Value Volume .
1 $1000 2 cbm
2 $500 4 cbm
Stand. disc. Volume disc.(With Formula)
$20 $10
$10 $20
Condition formula for alternative calculation type
Alternative formula to the formula in the standard system that determines a condition.
Requirement
This function is used to assign a requirement to the condition type. This requirement can
be used to exclude the system from accessing the condition type and trying to determine
the value. This can be used to specify that the condition type should only be accessed if
the customer has a low risk credit.
To use a field not defined in the field catalog, you need to add this field to the KOMK or
KOMP structures, and then write the ABAP code to transfer the data in the field from the
transaction tables to the communication structure. Follow these steps:
1. Create the field in the KOMK (header data) and KOMP (item data) tables using the
standard includes provided for this requirement.
2. Write the code in the user exit to read the transaction data and transfer it to the KOM
x structures.
Menu Path
The menu path here is IMG, Sales and distribution, System modification, Create new
fields (using the condition technique), New fields for pricing.
Adding the Field to KOMK and KOMP
This process requires some knowledge of the ABAP dictionary and how to use the ABAP
dictionary to create and change fields and tables. You may have to use an ABAP skill to
assist you. If the field is from the header table (for example, the order table VBAK),
youll need to add it to the include table KOMKAZ in table KOMK. If the field is from
the item table (for example, the order item table VBAP), youll need to add it to the
include table KOMPAZ in table KOMP.
Lets say you need to use the base material to define a price and the base material is not
in the pricing field catalog. The base material is a field on the material master basic data
screen and is defined as MARA-WRKST. Since this relates to the material, it is at the
item level, so you would add the field to the KOMPAZ include table.
Note
When you add a field to these tables, it must start with ZZ. Therefore, the
field you add would be ZZWRKST. In ABAP, when you add the field, use the same
domain as in the field in the original table MARAWRKST.
After adding the field, generate the structure KOMP. This field is not available in the field
catalog and can be used in condition tables.
Writing the ABAP Code
The field in the communications structure will be blank unless the ABAP code transfers
the data from the material master to the field KOMPZZWRKST. Pricing occurs in the
order and in the invoice, so you need to put this code in both places. For the order
transaction, write the ABAP code in user exit
USEREXIT_PRICING_PREPARE_TKOMP in include program MV45AFZZ. For the
billing transaction, write the ABAP code in user exit
USEREXIT_PRICING_PREPARE_TKOMP in RV60AFZZ.
Note : The TKOMP is for the item level. If you are writing the code for
a field at the header level, you would use the user exits that end with
TKOMK. The ABAP code would select the Base material field from the
material master table using the material from table VBAP/VBRP. It would
then transfer this field to the structure TKOMP from MOVE MARAWRKST to
TKOMP-ZZWRKST.
can only be canceled with billing type S1 with VBTYP 'N' . A billing type with
VBTYP '5' can only be canceled with the VBTYP '6' and vice versa.
3) Cancellation billing document type partner functions A check is made to see if the
cancellation billing document type partner functions are empty or if those that
correspond to the billing type used are empty.
Next, make sure that you maintain the copy control for the Billing Types:
Sales documents in VTFA
Target
e.g. F1 - Invoice
F1 - Invoice
Source
OR - Standard Sales Order
ZOR - Your Sales Order
2.
3.
4.
5.
6.
7.
8.
Item
Turbine
100,000
Billing Plan
Billing date Description
Billing Status
01-10-94
Contract
01-03-95
Assembly
01-04-95
Maintenance
01-05-95
Acceptance
01-06-95
Final invoice
Value
10
30
30
30
..
10,000
30,000
30,000
30,000
..
Network/Activities
Milestone
Assembly
Maintenance
Estimate
01-03-95
01-04-95
Actual
01-03-95
Billing Block
x
x
x
x
Milestone
x
x
x
x
Acceptance
01-05-95
For each billing date in a milestone billing plan, you can specify
whether the billing
date is:
1. fixed
2. always updated with the actual date of the milestone
3. updated with the actual date of the milestone, if the date is
earlier than the
planned billing date for the date
In Customizing for Sales, you control how the system automatically creates the schedule
of dates in a billing plan. The system determines the schedule of individual dates based
on general date information, such as the start and end dates. This general date information
is copied either from contract header data or from proposals in the billing plan type.
Pricing
Sales document items are billed as each billing date in the plan becomes due. The system
determines the amount to be billed either from the condition records that are applicable to
the item or from the values that are explicitly entered in the billing plan for a particular
billing date. In milestone billing, for example, you can specify a percentage to be billed
or an actual amount.
Billing block
A billing block can be set for each date in a billing plan. The block prevents processing
for a particular billing date but does not necessarily affect any of the other dates in the
plan. In milestone billing, the system automatically sets a billing block for each billing
date. This block remains in effect until the project system reports back that the milestone
in the corresponding network has been successfully completed. At this point the system
removes the block.
Billing index
For every billing date in a plan, the system creates and updates a billing index. If a billing
date is blocked for billing, the system copies this information into the index.
Billing status
The system assigns a billing status to each billing date in the plan. The status indicates to
what extent the billing has been processed for that particular date. After billing has been
carried out successfully, the billing status is automatically set to C. This prevents a
billed date from being billed again.
Billing Rule for Milestone Billing
For every date in the milestone billing plan, you can specify a billing rule. The rule
determines how the billing amount for the particular date is calculated. For example, you
can specify whether the billing amount is a percentage of the total amount or whether it is
a fixed amount.
In addition, you can specify that the amount to be billed is a final settlement that takes
into account billing that has not yet been processed. For example, price changes may take
place after billing dates in the plan have already been processed. The price differences
can be taken into account during final settlement.
Final settlement is not automatically proposed in the billing plan by the system; you must
enter it manually during processing.
Fixed dates in milestone billing
You can control for each date in a billing plan, whether the date is fixed or whether the
system copies the date from the planned or actual milestone dates in a project.
Document flow
After a particular date in a billing plan is processed for billing, the system updates the
document flow for the corresponding sales document item.
The document flow for the sales document displays the following data:
Creation date
Billing date
Billed value
Is it possible to split invoice Item category wise. I mean If in sales order there is
TAN and TANN then the invoice should split,is it possible?
Naina
Yes, it is possible. Create a modification of copy control routine for billing and use
VBAP-PSTYV as an additional split criteria there.
Martishev Sabir
Thank you for your reply. Can you please tell me the exact steps what should I add
under that(additional split criteria).
Naina
In trx VTFA (if your billing is sales order based) choose your billing type and SO type,
there select your item categories and there select the field VBRK/VBRP data. In that field
you will see the currently used routine. With the help of your ABAP guy create a copy of
that routine under a different number and add your lines of code. Let's say you use
routine 001.
FORM DATEN_KOPIEREN_001.
* Header data
* VBRK-xxxxx = ............
* Item data
* VBRP-xxxxx = ............
* Additional split criteria
DATA: BEGIN OF ZUK,
MODUL(3) VALUE '001',
VTWEG LIKE VBAK-VTWEG,
SPART LIKE VBAK-SPART,
END OF ZUK.
ZUK-SPART = VBAK-SPART.
ZUK-VTWEG = VBAK-VTWEG.
VBRK-ZUKRI = ZUK.
ENDFORM.
This is how it should look after modification:
* Header data
* VBRK-xxxxx = ............
* Item data
* VBRP-xxxxx = ............
* Additional split criteria
DATA: BEGIN OF ZUK,
MODUL(3) VALUE '001',
VTWEG LIKE VBAK-VTWEG,
SPART LIKE VBAK-SPART,
PSTYV LIKE VBAP-PSTYV, <- New line
END OF ZUK.
ZUK-SPART = VBAK-SPART.
ZUK-VTWEG = VBAK-VTWEG.
ZUK-PSTYV = VBAP-PSTYV. <- New line
VBRK-ZUKRI = ZUK.
ENDFORM.
After this routine is created and activated place it as the default copy control routine
instead of the old ones.
To overcome this, the only way was to break the accounting invoices, 1 with 950 items
and the other with the rest.
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.
2. Define Number Ranges For Sales Documents: Maintain number range with discussion
with core team.
3. Assign Sales Area To Sales Document Types:
A. Combine sales organizations / Combine distribution channels / Combine divisions:
Ensure to maintain these, else Sales Order creation will give error.
B. Assign sales order types permitted for sales areas: Assign only required Sales Order
Types to required Sales Area. This will minimize selection of Sales Order Type as per
sales area.
Sales Document Item:
*1. Define Item Categories: If possible use Standard Item Category. Incase if required to
create new, copy as from standard & maintain New.
*2. Assign Item Categories: If possible, use standard. Formula for deriving item category:
Sales Document Type + Item Category Group + Usage + Higher Level Item Category =
Item Category
Schedule Line:
1. Define Schedule Line Categories: If possible use Standard Schedule Lines. Incase if
required to create new, copy as from standard & maintain New.
2. Assign Schedule Line Categories: If possible, use standard. Formula for deriving
Schedule Line: Item Category + MRP Type / No MRP Type.
Step 2:
IMG > Logistic Execution > Shipping > Deliveries >
*1. Define Delivery Types: If possible use Standard Delivery Type. Incase if required to
create new, copy as from standard & maintain New.
*2. Define Item Categories for Deliveries: If possible use Standard Item Categories for
Delivery Type. Incase if required to create new, copy as from standard & maintain New.
*3. Define Number Ranges for Deliveries: Ensure to maintain number range.
Step 3:
IMG > Sales and Distribution > Billing >
1. Define Billing Types: If possible use Standard Billing Type. Incase if required to create
new, copy as from standard & maintain New.
2. Define Number Range For Billing Documents: Ensure to maintain number range.
3. Maintain Copying Control For Billing Documents: Maintain relevant copy controls
such as Sales Order to Billing, Deliver to Billing, etc.
Note: Ensure that Copy Control settings are done
Sales Order to Sales Order (QT --> OR): VTAA
Sales Order to Delivery (OR --> LF): VTLA
Sales Order to Billing (OR --> F1): VTFA
Delivery to Billing(LF --> F2): VTFL
Billing to Sales Order (F2 --> RE): VTAF
The configuration differs from scenario to scenario & requirement of the
client.
5. Continue further to complete the task, now you batch job will run at a specified time
which you mentioned, if you mentioned as immediately, then once you comple this
process, your vairant will run, and billing documents will be created.
6. Plese ensure that all the deliveries are perfect, meaning there is no billing block or any
thing.
You can check the status of your batch job using t. code SM37.
Difference between the RSNAST00 and SDBILLDL program.
RSNAST00 is a program which is related to output related activities. Using this program,
we can schedule the creation of outputs (PDFs, email etc) in total for any document
created in any of the applications. The details are read and stored in the database table
NAST. The same program is customised for each applications using programs like
SD70AV1A which are also used for the same purpose but only for sales orders.
SDBILLDL is the program for Billing due list. This program finds out all the orders or
deliveries or both which are due for billing and it will trigger the billing creation. It reads
tables like VBAK, VBAP, VBUK, VBUP, LIKP, LIPS etc and the created billing
documents are stored in tables VBRK, VBRP.
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
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:
Code:
DATA: W_ZSDCRD TYPE ZSD_CREDITBLCK.
DATA: W_CMGST LIKE VBUK-CMGST.
SELECT SINGLE * INTO W_ZSDCRD
FROM ZSD_CREDITBLCK
WHERE KKBER = VBAK-KKBER
AND CTLPC = VBAK-CTLPC.
IF SY-SUBRC = 0 AND VBUK-CMGST CA 'B'.
IMPORT VBUK-CMGST TO W_CMGST FROM MEMORY ID 'CREDIT'.
IF W_CMGST = SPACE.
MESSAGE I706(Z1).
EXPORT VBUK-CMGST TO MEMORY ID 'CREDIT'.
ENDIF.
*} REPLACE
*{ INSERT DEVK966908 1
*} INSERT
* Read the subsequent function information for the message
PERFORM FOFUN_TEXT_READ USING GL_FOFUN
CHANGING FOFUN_TEXT.
MESSAGE ID 'V1' TYPE 'E' NUMBER '849'
WITH FOFUN_TEXT
RAISING ERROR.
*{ INSERT DEVK966908 2
*} INSERT
ENDIF.
ENDFORM.
Rich Dragani
-----Reply Message----Subject: Re: LOG: Credit Mgmt Dynamic checking
From: Swami Subramanyan
Program RVKRED08? Or manually execute function module
SD_ORDER_CREDIT_RECHECK.
Regards
Swami
-----Reply Message----Subject: Re: Credit Mgmt Dynamic checking
From: Leslie Paolucci
We check credit at the time of the delivery (at delivery creation and before picking) and
use the blocked sales doc process/list to release them. This can be set up in customizing
under risk management-> credit management.
-----End of Reply Message-----
Hi,
You need to check couple of settings like:
1. Your customer should be assigned the credit control area.
2. In your Item Category Credit should be active.
Regards,
-----Reply Message----Subject: RE: Sales value field in not getting updated after creating the billing
customer is assign to concorn CCA and item category is mark for credit active
-----Reply Message----Subject: RE: Sales value field in not getting updated after creating the billing
Hi,
Check the credit update group in the transaction OB45. The credit update group controls
when the values of open sales orders, deliveries and billing documents are updated. It
should be '000012'.
Further also refer to the OSS note 18613.
Have fun
-----End of Message-----
Eg: Customer Credit Limit is Rs.1,00,000/Suppose Doc.Value + Open Item Value is Rs.1,10,000/Here credit limit exceeds then system reacts.
Options : A) Warning Message
B) Error Message (Sales Order won't be saved)
C) Error Message with Delivery Block
AUTOMATIC CREDIT CHECK : Give extra credit facilities to the particular
customer.
STATIC CREDIT LIMIT DETERMINATION :Checking Group + Risk Catageory +
Credit Control Area.
A) Credit Checking Groups : Types of Checking Groups.
01) Sales
02) Deliveries
03) Goods Issue
At all the above 3 levels orders can be blocked.
B) Risk Catageory : Based on the risk catageories company decide how much credit has
to give to the customer.
HIGH RISK (0001) : LOW CREDIT
LOW RISK (0002) : MORE CREDIT
MEDIUM RISK(0003) : Average Credit
Static Credit Check it checks all these doc value & check with the credit limit
1) Open Doc.Value / Sales Order Value : Which is save but not delievered
2) Open Delivery Doc.Value : Which is delivered but not billed
3) Open Billing Doc.Value : Which is billed but not posted to FI
4) Open Item : Which is transfered to FI but not received from the customer.
DYNAMIC CREDIT CHECK : 1) Open Doc
2) Open Delivery
3) Open Billing
4) Open Items
5) Horizon Period = Eg.3Months
Here the System will not consider the above 1,2,3& 4 values for the lost 3 months
Action: Select each combination of credit control areas, risk categories and document
types for which credit checking should be bypassed. You need to mark the field no
Credit Check with the valid number for sales documents.
Set Up Payment Guarantees
Define Forms of Payment Guarantee
Transaction: OVFD
Tables: T691K
Action: R/3 is delivered with form 02 defined for payment cards. Other than the
descriptor, the only other entry should be 3 in the column labeled PymtGuaCat
Define Payment Guarantee Procedure
Transaction:
Tables: T691M/T691O
Action: Define a procedure and a description.
Forms of Payment Guarantee and make the following entries Sequential Number 1
Payment Guarantee Form 02
Routine Number 0 Routine Number can be used to validate payment card presence.
Define Customer Payment Guarantee Flag
Transaction:
Tables: T691P
Action: Define a flag to be stored in table.
Create Customer Payment Guarantee = Payment Card Payment Cards (All Customers
can use Payment Cards).
Define Sales Document Payment Guarantee Flag
Transaction:
Tables: T691R
Action: Define the flag that will be associated with sales document types that are relevant
for payment cards
Assign Sales Document Payment Guarantee Flag
Transaction:
Tables: TVAK
Action: Assign the document flag type the sales documents types that are relevant for
payment cards.
Determine Payment Guarantee Procedure
Transaction: OVFJ
Tables: T691U
Action: Combine the Customer flag and the sales document flag to derive the payment
guarantee procedure
Payment Card Configuration
415928 415928
424604 424605
427533 427533
428800 428899
Mastercard Credit Expires in 30 days
500000 540499
540600 554999
557000 599999
Mastercard Procurement Expires in 30 days
540500 540599
555000 556999
American Express Credit Expires in 30 days
340000 349999
370000 379999
Discover Card Credit Expires in 30 days
601100 601199
Set Sales Documents to accept Payment Card Information Transaction:
Tables: TVAK
Action: Review the listing of Sales Document types and enter 03 in the column labeled
PT for each type which can accept a payment card
Configuration for Authorization Request
Maintain Authorization Requirements
Transaction: OV9A
Tables: TFRM
Action: Define and activate the abap requirement that determines when an authorization
is sent. Note that the following tables are available to be used in the abap requirement
(VBAK, VBAP, VBKD, VBUK, and VBUP).
Define Checking Group
Transaction:
Tables: CCPGA
Action: Define a checking group and enter the
description. Then follow the below guidelines for the remaining fields to be filled.
AuthReq Routine 901 is set here.
PreAu If checked R/3 will request an authorization for a .01 and the authorization will be
flagged as such. (Insight does not use pre-authorization check).
A horizon This is the days in the future SAP will use to determine the value to authorize
(Insight does not use auth horizon period).
Valid You will get warning message if the payment card is expiring within 30 days of
order entry date.
function modules for authorization and settlement along with the proper RFC destinations
for each.
Enter Merchant IDs
Transaction:
Tables: TCCM
Action: Create the merchant ids that the company uses to process payment cards
Assign merchant ids
Transaction:
Tables: TCCAA
Action: Enter the merchant ids with each clearinghouse account
- Amount limits
- Texts for the dunning notices
In SAP, you will maintain the Dunning Procedure at customer master. Referring to this
your SD Team / FI Team (user team) will effect Dunning
PS: You might remembered the dunning procedure laid by Relaince Mobile, sometime
back, sending street rowdies for recovering the bad debts from users. That is dunning.
Remember Reliance, you will not forget dunning forever.
3. What role exposure play in the credit management process. I mean does the
system match the value of credit exposure with credit limit to find that it is exceeded
or it does it differently?
Credit exposure is in fact the main player. In credit management if the customers credit
limit is 10000 and credit exposure is 9900 then customer can only be able to buy now
worth of 100 only. Its the credit exposure which should not crossed over the credit limit.
For reporting purpose, where we can get customer credit exposure which showing in
FD32.
Go to t.code F.31 for an overview of the credit exposure, and also you can use
s_ALR_8701212218 to overview the credit exposure.
excise duty.
- The maximum number of items to be printed on each excise invoice
- Whether you are allowed partial CENVAT credits
Maintain Registration ID NUMBER, Excise code number, excise registration number
ECC Number: Specifies the organization's ECC number.
Excise Registration Number: A number assigned to each premises or location that has
registered as a manufacturer with the excise authorities.
Every entity with an excise registration number is required to keep its own excise books.
Excise range: Specifies the excise range in whose area the excise registration is located.
Excise Division: Specifies the excise division in whose area the excise registration is
located.
Excise Collectorate: The code of the excise collectorate in whose area the excise
registration is located.
Indicator for confirming, AED usage Additional Excise duty Percentage.
These are livable under the additional duties of excise act. These duties are in addition to
basic excise duty and special excise duty. Example - Additional Excise duty is livable in
case of textile products, tobacco and sugar.
Similarly for SED CESS Number of Items in Excise Invoice Shows the maximum
number of line items that the authorities allow per excise invoice.
Dependencies - This information is used when you create an excise invoice in Sales and
Distribution (SD) for factory sales and for other movements. This information is used to
split the transfer postings' items into multiple subcontracting challans.
Excise register set description: Description of the excise registers set.
Partial CENVAT Credit: Indicates that the excise registration ID is allowed to credit only
a portion of its input excise duty to its CENVAT account
Dependencies - When you post a goods receipt, the system splits the input excise duty on
the material into its deductible and nondeductible amounts. It posts the deductible duty to
the appropriate CENVAT account, and adds the nondeductible duty to the material value.
This information is also shown when you post the vendor's excise invoice.
Maintain Company Code Settings.
In this IMG activity, you maintain the data relating to your company codes.
Document Type for CENVAT Postings.
It controls, which document type the system uses when making CENVAT postings in
Financial Accounting (FI). Here ED is document type for cenvat posting.
Exchange rate type - Key representing a type of exchange rate in the system.
- You enter the exchange rate type to store different exchange rates. Example - You can
use the exchange rate type to define a buying rate, selling rate, or average rate for
translating foreign currency amounts. You can use the average rate for the currency
translation, and the bank buying and selling rates for valuation of foreign currency
amounts.
Exchange rate type to be used for Export excise duty converts - When you are creating an
Excise invoice for export sales then the exchange rate for duty calculation will be picked
up using this Exchange rate type.
Maintain Plant Settings - In this IMG activity, you maintain excise information relating to
your plants.
Plant Settings - In this activity, you maintain excise information relating to your plants.
For each plant:
- Specify whether it is a manufacturing site or a depot.
- Assign it an excise registration ID. - You can assign the same ID to more than one plant,
if required.
Depot - Indicates that the plant in question is a depot. - Depots are required to prepare
register RG 23D, and follow different procedures for goods receipt and invoice
generation.
- Number of goods receipt per excise invoice.
- Multiple GR for one excise invoice, Single credit
- Multiple GR for one excise invoice, multiple credit
Maintain Excise Groups - In this IMG activity, you define your excise groups. For each
excise group, you can also control how various excise invoice transactions will work.
Excise Groups - In this activity, you define excise groups. An excise group allows you to
maintain a separate set of excise registers and excise accounts. The RG 23A, RG 23C and
PLA serial numbers are created for an excise group.
Recommendation - Under normal circumstances, excise authorities require every
business to maintain only one set of excise registers and one set of accounts. But through
exemption from the authorities, multiple books can be maintained.
If your company has only one set of excise registers, then you need to maintain only one
excise group.
1. Create one excise group for each set of registers that you need to keep.
2. Assign the excise groups to plants.
3. Maintain whether this Excise group is for a depot or not.
If you receive only one consignment for an Excise challan then you can leave GR's per EI
as blank. If you receive multiple GR's for a given Excise challan and would like to avail
multiple credit mark the GRs per EI as 'Multiple GR's for one excise invoice, multiple
credit'. Alternatively if you want to availa the credit only after all the goods receipts
have been made mark it as ' Multiple GR for one excise invoice, single credit'.
4. If you want to automatically create Excise invoice during Sales cycle at the time of
billing the tick the indicator 'Create EI'
5. During depot sales if you do not want to do RG23D selection and posting separately
and would like to complete RG23D selection in one step mark the indicator 'RG23D Auto
post'. This will post the selected records into RG23D automatically. You cannot cancel
the selection later.
6. If the indicator 'Default GR qty' is marked system will default the Excise challan
quantity on to the Goods receipt if the Excise invoice number is given in the pop-up.
7. If the indicator 'Folio no create' is marked system will generate Folio numbers for
RG23D during receipt of excise invoice into depot.
8. 'Automatic posting' when ticked will post the Excise invoice other movements
automatically along with creation in single step.
9. 'Create Part1 for Block Stock' when marked will create a Part1 during the receipt of
material into Blocked stock .
10. 'Create Part1 for STO' when marked will create a Part1 during the receipt of material
through inter plant transfers.
11. 'Create Part1 for consumption stock' when marked will create a Part1 during the
receipt of material into consumption stock. Excise Group Governs which set of excise
registers a business transaction will be included in.
Following is the relation between excise group, plant and registration. - In define excise
groups in Customizing.
Then, in transactions involving excise duty, for example, when you post a vendor's excise
invoice, you specify which excise group you are using. This information tells the system
which G/L accounts to post the excise to. At the end of the period, when you come to
prepare your excise registers, you create different sets for each excise group.
Indicates that the plant in question is a depot. - Depots are required to prepare register RG
23D, and follow different procedures for goods receipt and invoice generation.
- GR Per Excise Invoice
- Multiple GR for one excise invoice , Multiple credit
- Multiple GR for one excise invoice , Single Credit
Create Excise Invoice Automatically - Instructs the system to automatically create a Sales
and Distribution (SD) excise invoice immediately you create a commercial invoice or a
pro forma invoice.
The excise invoice is created in the background. - If you want to make use of this
function, you must also define the
default plant, excise group, and series groups in Customizing for Sales and Distribution
(SD), by choosing Excise Group - Series Group Determination.
RG23D Sales Creation and posting option - RG23D Automatic Option if selected will
create Depot excise invoice by posting the selection of excise invoices in single step. If
this is not selected then you need to separately do RG23D selection
followed by PGI and then RG23D verification and posting. If you need automatic
posting of RG23D selection then the Post Goods Issue should have been completed
before running RG23D selection.
Default excise qty in GR - If this indicator is ticked then while doing Goods Receipt
using 'MB01' system will default the excise invoice quantity on to the Goods receipt
document.
Folio number for depo Posting - If this indicator is marked then while creating Excise
invoice for other movements system automatically does the Verify and Post. You need not
separately Post the excise invoice
Also we can set indicator for creation of part 1 for:
- Blocked stock
- Stock transport order
- Consignment stock
Maintain Series Group - In this IMG activity, you define the different excise series groups
within your company. Series groups allow you to maintain multiple number ranges for
the outgoing excise documents. Based on excise regulations and exemptions from the
authorities you can maintain multiple number series for outgoing documents. But each of
these series has to be declared to the excise authorities.
- Define excise series groups based on type of outgoing document
- Assign series group to excise registration ID
- If no financial postings are required for an Excise invoice in this seris group then you
tick the 'No utilization' indicator.
- If the CENVAT has to be paid immediately and you need not wait for the Fort nightly
payment then mark the 'Immediate Utilization' Iindicator. Example - You could define
two series groups, group 001 for excise invoices, and group 002 for 57 F4 documents.
- No account postings for CENVAT in sales cycle
- No utilization Flag
If you do not need any CENVAT utilization for an excise invoice but would like to just
generate an excise invoice then you need to mark this indicator.
If the flag is checked then system will create an Excise invoice in the given Series group
but there will not be any account postings or Part2 postings.
Immediate Utilization of CENVAT - Specifies that when you create an excise invoice, the
system immediately pays the amount from CENVAT and creates the Part II entry. Such
invoices will not be listed for fortnightly utilization.
If you have both fortnightly and immediate utilization for the same excise group, the
account determination within CIN IMG should point to the ED interim account.
Account determination for immediate payment will be done exactly the same as being
done for fortnightly utilization program.
Maintain Excise Duty Indicators - In this IMG activity, you maintain the excise duty
indicators.
IMG > Logistics - General > Tax On Goods Movement > India > Basic Settings >
Determination of Excise Duty > Select Tax Calculation Procedure
In this IMG activity, you specify which tax procedure you want to use for determining
excise duties and sales taxes on input materials in India.
- If you use condition-based excise determination, use a copy of the tax procedure
TAXINN.
- If you use formula-based excise determination, use a copy of the tax procedure
TAXINJ.
This tax procedure also supports condition-based excise determination, so that you can
work with both concurrently.
We strongly recommend that new customers use condition-based excise determination.
Note that once you have started using a tax procedure, you cannot switch to another one,
otherwise you will not be able to display old documents.
Maintain Excise Defaults - In this IMG activity, you define which tax procedure and
pricing condition types are used in calculating excise taxes using formula-based excise
determination.
If you use condition-based excise determination, fill out the CVD cond.
field and leave all the others blank.
If you use formula-based excise determination, fill out all of the
fields as follows:
- Enter the tax procedure and the pricing conditions that are relevant
for excise tax processing.
- Specify the purchasing and sales conditions types used for basic
excise duty, additional excise duty, special excise duty, and cess.
- Specify the conditions in the sales order that are used for excise
rates.
- Specify the countervailing duty condition type used for import
purchase orders.
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.
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.
partner function for each level. In the partner procedure, in each partner function you
must indicate the source partner function. With this informacition, in the order, you
obtain the bussiness partner for each partner function.
3) Assign acount groups: you indicate which accounts groups are allowed for being part
or your hierarchy.
4) Assign sales areas: symple you indicate wich sales areas are allowed in your hierarchy.
(Here you can customize common sales areas, just for not having to build de hierarchy in
all the different sales areas).
5) Assigning hierarchy type for pricing: you indicate which classes of documentos uses
hierarchy in pricing determination.
It is possible to maintain so called customer hierarchies. This might be useful when for
example you create a condition discount for a customer that is part of such a hierarchy
structure. All subnodes in the hierarchy below that customer, will thus receive the same
discount.
Customer hierarchy setup, firstly decide the hierarchy type to be used.
The standard is type A.
You can also assign a partner function to the customer so that the higher level customer in
the hierarchy is copied into a sales order as a partner function - but you don't need that
right?
Next assign your customer account group to the hierarchy type. And enter the
combinations that will be allowed for creating the hierarchy.
You want to assign a ship-to to a payer. So enter the ship to account group and enter the
payer account group as the higher level.
You must also make an entry for permitted sales area assignments. So if you want to a
hierarchy for customers in the same sales area then enter the sales area and enter the same
one as the higher level sales area.
All these settings can be found in the IMG. Under SD - master data - business partners customers - customer hierarchy
You use for example customer hierarchy when you have an company like Unilever and
you agree both on a discount. Unilever does have different locations / businesses and you
have to maintain the discount for all customers. If you use a customer hierarchy you can
maintain the discount for the partner in the top of the hierarchy and in this way it will be
valid for all customers in the hierarchy.
Product hierarchies can be created using code OVSV. A product hierarchy is assigned to
the material master record. The hierarchy is broken down into specific levels, each level
containing its own characteristics.
A product hierarchy is recorded by the sequence of digits within a hierarchy number. The
hierarchy number can have a maximum of 18 digits with a maximum number of nine
levels.
Thus by assigning the hierarchy number to the material, one can determine a
classification of the material. This hierarchy can be used in pricing with each level being
used as field in the condition technique.
Its like if you are having category CAR. In that many cars come into picture.
CAR>>MARUTI>>SX4, Swift, zen, alto.
B>> 01 >>01
Then from above example B0101 is the hierarchy for SX4.
So in that hierarchy many cars come, like variants and all the things.
In this way you can take e.g. of wood products also.
It shows the next level of the product. How many levels that product are
having.
The product hierarchy can be structured via DDIC structure PRODHS. In the standard
system, a product hierarchy can be created with up to three levels. The individual levels
can contain the following number of digits:
Level number of allowed digits:
15
25
38
This can be changed as of Release 3.0, where it is possible to extend the maximum
number of levels to 9.
If you want to change the standard setting of PRODHS, e.g. you want to change the
number of levels, proceed as follows:
1. Create an appropriate domain in the Data Dictionary (type CHAR with the required
length).
2. Assign these domains to the standard data elements PRODH1, PRODH2, ..., PRODH9.
Please note that you should use these standard data elements.
3. Change the structure PRODHS by creating or deleting fields with reference to the data
elements.
Choose ZZPRODHN as field name, where n is the position of the field in the structure
PRODHS.
You want to change the structure of the product hierarchy from 5/5/8 digits to 5/5/5/3.
Proceed as follows:
Create the following domains:
ZPRODH3 with length 5, category CHAR,
ZPRODH4 with length 3, category CHAR,
Change structure PRODHS:
Structure PRODHS in the standard system:
Structure Fields Data element Category Length
PRODHS ->
PRODH1 PRODH1 CHAR 5
further break down a procedure into smaller parts for future validation of components
comprising a specific material
3.Allocation Hierarchy Mapping (OV3Z) Primarily, this transaction permits the
assignment of an allocation procedure to an LIS information structure. Secondly, a
character is assigned to the information structure to permit collective planning. Finally,
the user can assign a step level to the procedure and information structure to sequence the
order in which allocation quantities are checked. This functionality allows the user the
opportunity to check product allocation against several product allocation scenarios,
before the required quantity is confirmed
4.Define Consumption Periods (OV5Z) The allocation consumption periods functionality
is only valid if the allocation method flag has been set (OV1Z). If you have de-selected
the method field, this functionality is not available. The consumption window indicates
the number of past and future periods to be used in the allocation check.
5.Control Product Allocation (OV4Z) In order for the allocation process to function
properly, allocation control records are created primarily to map allocation procedure
steps to their corresponding objects so that the allocation data records can be located for
validation. Secondly, validity periods must be established to indicate when the allocation
control records are active. Finally, the user has the option of establishing a conversion
factor per allocation control record to accommodate BOM listings of constrained
materials
6.Activate Allocation for Requirement Class (OVZ0) In order to turn on allocation in the
standard order processing functionality, the requirements class must have a flag
indicating that allocation is relevant.
7.Activate Allocation for Schedule Line Category (OVZ8) In order to turn on allocation
in the standard order processing functionality, the schedule line must have a flag
indicating that allocation is relevant
8.Create Planning Hierarchy (MC61) In order to adequately establish allocation
quantities, the user must initially determine the level at which the allocation is to take
place and the aggregation factor of the allocation quantities. In this step, the levels for the
collective allocation search procedure are also identified.
9.Generate Masking Character (OV7Z) Upon completion of the level determination for
the planning hierarchy, the collective allocation masking character must be generated to
allow aggregation indicators to be established. This transaction simply reads the
hierarchy established in the planning table and then generates a collective mask character
for each level of the hierarchy
10.Modify Planning Hierarchy (MC62) This step is a repeat of MC61 where the initial
hierarchy was established. In order to complete the hierarchical set up, the collective
allocation (mask character) hierarchy must now be maintained with the appropriate
aggregation factors
11.Allocation Procedure Assignment to Material Master (MM02) At the root level of the
allocation process are the materials. Each material that is to be considered in allocation
scenario must be mapped to an allocation procedure. In order entry, then, when a material
is entered with a valid allocation procedure in the material master, the allocation data is
verified prior to confirming the line item ordered
12.List of Suitable Structures (OV9Z) This report is used to identify potential LIS
information structures that can be used in the product allocation process. This report
simply reads through the data dictionary and selects all the active information structures
that contain the field product allocation object (KONOB) as the first field. This data can
then be utilized in the mapping transaction (OV3Z) to link the allocation procedure step
to an information structure (previous step).
zche_sales_order
****************************Declarations********************************
TABLES: vbkd,vepvg.",vbak,vbap,vbpa,vakpa, vapma.
DATA: BEGIN OF sal OCCURS 0,
ch TYPE checkbox,
vbeln LIKE vbak-vbeln,
netwr LIKE vbak-netwr,
matnr LIKE vbap-matnr,
waerk LIKE vbak-waerk,
dat
LIKE vbak-erdat,
END OF sal.
DATA: newsal LIKE sal OCCURS
LOOP AT newsal.
ON CHANGE OF newsal-dat.
IF sy-tabix <> 1.
WRITE:/ sy-vline, AT 14 sy-vline,AT 27 sy-vline,AT 48 sy-vline.
WRITE:/ sy-vline,newsal-dat,sy-vline,AT 27 sy-vline,AT 48 sy-vline.
ELSE.
WRITE: sy-vline,newsal-dat,sy-vline,AT 27 sy-vline,AT 48 sy-vline.
ENDIF.
ENDON.
WRITE:/ sy-vline, AT 14 sy-vline,newsal-vbeln,sy-vline,
newsal-matnr, sy-vline, newsal-netwr, newsal-waerk.
AT LAST.
SUM.
ULINE. FORMAT COLOR = 3.
WRITE:/ sy-vline, AT 15 'Total Amount for selected month:',
newsal-netwr UNDER newsal-netwr.
FORMAT COLOR OFF.
ULINE.
ENDAT.
ENDLOOP.
lin = 1.
FREE newsal.
ENDFORM.
"SELECTION
* This Date convertion is must for pick the particular Date from the
*
-displayed line, and here we are reversing the Date like
YYYY/MM/DD
* -because to Check or assign the date we need to give in reverse
order
*&--------------------------------------------------------------------*
*&
Form DATECON
*&--------------------------------------------------------------------*
*
text
*---------------------------------------------------------------------*
FORM datecon.
date2 = sy-lisel(17).
SHIFT date2 LEFT BY 4 PLACES.
WHILE date2 <> ''.
SHIFT date2 RIGHT.
date4 = date2+11.
IF date4 <> '.'.
CONCATENATE date4 date3 INTO date3.
ENDIF.
ENDWHILE.
date5 = date3(2).
date6 = date3+2.
date3 = date3+4.
CONCATENATE date3 date6 date5 INTO date3.
dat = date3.
* SORT dat BY dat.
* DELETE ADJACENT DUPLICATES FROM dat COMPARING dat.
ENDFORM.
"DATECON
* Here we are doing different kinds of selections by the EndUser's
needs
*&---------When user selectiong an Sales Organisation-----------------*
*&
Form ORGANISATION
*&--------------------------------------------------------------------*
*
text
*---------------------------------------------------------------------*
FORM organisation.
SELECT f~vbeln p~matnr c~netwr c~waerk p~audat INTO (sal-vbeln,
sal-matnr, sal-netwr,sal-waerk, sal-dat) FROM ( vakpa AS f INNER JOIN
vbak AS c ON f~vbeln = c~vbeln ) INNER JOIN vapma AS p ON
f~vbeln = p~vbeln WHERE p~audat IN date AND p~vkorg = vkorg.
APPEND sal.
ENDSELECT.
ENDFORM.
"ORGANISATION
*&---------Without Sales Organisation i.e All Organisation------------*
*&
Form ORGANISATION_ELSE
*&--------------------------------------------------------------------*
*
text
*---------------------------------------------------------------------*
FORM organisation_else.
SELECT f~vbeln p~matnr c~netwr c~waerk p~audat INTO (sal-vbeln,
sal-matnr, sal-netwr,sal-waerk, sal-dat) FROM ( vakpa AS f INNER JOIN
vbak AS c ON f~vbeln = c~vbeln ) INNER JOIN vapma AS p ON
f~vbeln = p~vbeln WHERE p~audat IN date.
APPEND sal.
ENDSELECT.
ENDFORM.
"ORGANISATION_ELSE
"CUS_ORGA
field, you can explicitly specify a recipient that will override the standard partner. There
must also be a master record for the partner that is specified explicitly.), Medium, Time &
Language.}
Order Type: Document Type, Partner Function (abbreviation), Partner, Medium, Time &
Language.
Path For Output Determination For Sales Documents: Logistics -> Sales/distribution ->
Master data -> Output -> Sales Document -> Create (t-code VV11)
Path for Output Determination for Delivery Documents : Logistics -> Sales/distribution
-> Master data -> Output -> shipping -> Create ( t-ode VV21)
Path for Output Determination for Billing Documents : Logistics ->
Sales/distribution -> Master data -> Output -> Billing Document ->
Create ( t- code VV31)
Print DDueList
SpK
SpW
06 No printing
07 Quantity Change
08 Kanban Delivery
Printing block field:
Indicates whether the system automatically blocks output for sales documents that are
blocked for delivery.
Example :
In the case of sales orders that are blocked for delivery because of credit reasons, you
may want to block the printing of order confirmations.
Note:
The particular output that is affected by a delivery block is determined in output control.
PS: If the document is exceeds by the credit limit output type will not determine and as
well as we should not give the output type in sales order. We have to assign the routine 2
to sales order output types and 3 routine to delivery output types to restrict from output if
the docuement exceeds by credit limit.