Sap Is
Sap Is
Sap Is
Useful Transactions
Business Partner
Business Partner can be a person, group or organisation with whom the utility
company has a business relationship.
T-codes:
BP - Maintain Business Partner
FPP1/2/3 - Create/Change/Display Contract Partner
Tables:
BUT000
Fields:
PARTNER(10)
Contract Account
A contract account groups together all of a business partners contracts to which
the same payment and dunning data applies. It is an account through which the
financial transactions between a customer and a utility company are managed
(stores payment transaction data).
T-codes:
CAA1/2/3 - Create/Change/Display
Tables:
FKKVK, FKKVKP
Fields:
VKONT(12)
Contract
A contract is an agreement between a utility company and a business partner
relating to a utility service. It forms the basis for billing. Created during move-in
process. It is specific to one Division.
T-codes:
ES20/21/22 - Create/Change/Display
ES27/8 - Change/Display Contracts for Contract Account
Tables:
EVER
Fields:
VERTRAG(10)
Move-in
A contract is created and allocated to an installation
T-codes:
EC50/1/2E (Create, Change, Display), EC53E (Reverse)
Tables:
EEIN (Cont. Acc.), EEINV (Contract)
Move-out
A contract with a customer is terminated
T-codes:
EC55/6/7E (Create, Change, Display), EC58E (Reverse)
Tables:
EAUS (Cont. Acc.), EAUSV (Contract)
Technical Master Data
Connection Object
Connection Object is a building, piece of property or other facility that is
connected to the supply grid.
Tables:
EGERS
Fields:
GERAET(18)
Point of Delivery
T-codes:
EEDM09/10/11 - Point of Delivery Create/Change/Display
Tables:
EUITRANS, EUIINSTLN
Fields:
INT_UI(22), EXT_UI(50) - POD ID
Intercompany Data Exchange (IDE)
Address: ADR*
Business Partner: BUT*
Device: EGER*
POD: EUI* (EUITRANS, EUIINSTLN)
Rate: ETR*, ETT*, EKDI, ERTFND
Meter Reading Doc.: EABL*
Billing Schema: ESCH*
Price: EPRE*
IDOC: EDI*
Data Exchange Process
Classes:
CL_ISU_DATEX_PROCESS - ISU Data Exchange Process (Abstract)
CL_ISU_DATEX_CONTROLLER - Connection and Control of Data Exchange
Processes
DATEX Task
EDEXTASK*
Service
ESERVICE*
Service Provider
ESERVPROV*
EDEXDEFSERVPROV - Data Exchange Definition for Service Provider
Switch Document
Classes:
CL_ISU_SWITCHDOC
Tables:
EIDESWT*
EIDESWTDOC - Division Category - Switch Document Header
EIDESWTMSGDATA - Message Data for Switch Document
Function Modules
Device Category
Device Category corresponds to material in the Materials Management (MM)
application component.
T-codes:
EG01/2/3 (Create, Change, Display)
Tables:
ETYP-MATNR
Register Group
T-codes:
EG04/5/6 (Create, Change, Display)
Tables:
Device
Device Corresponds to equipment in the Plant Maintenance (PM) application
component.
The device is identified by a unique material and serial number combination to
distinguish it from other pieces of material that may have the same serial number.
The equipment number is the same throughout the whole system.
Each combination of Material and Serial Number is unique.
T-codes:
IQ01/2/3 (Create, Change, Display Device)
EG44, EG34 (Billing related installation), EASTL, EASTS
Tables:
EGERS, EGERH, EGERR
Fields:
EQUNR - Equipment Number
Equipment number = internal device no. that is different in every client.
MATNR - Material Number (Device Category)
GERAET - Serial Number (Device)
Register
T-codes:
Tables:
ETDZ-ZWNUMMER (3)
Billing and Invoicing
Portion
T-codes:
E41A - Display Portion
E41B - Create Portion
E41C - Change Portion
E41E - Delete Portion
E41J - Maint. Portion
E43B - Generate SRs of all MRUs of Portion
E43D - List of all MRUs of a Portion
EA65 - Portion Change
Tables:
TE420
Meter Reading Unit (MRU)
T-codes:
E41L - List of MRUs Alloc. to Main MRU
E43B - Generate SRs of all MRUs of Portion
E41H - Create Meter Reading Unit
E43E - Activate Meter Reading Units
E43D - List of all MRUs of a Portion
Tables:
TE422
Meter Reading Order
T-codes:
EL01, EL31
Tables:
Billing Order
T-codes:
EL01, EL31
Tables:
ETRG
Meter Reading Results
T-codes:
EL27 - Execute Correct Implausible MRR
EL28 - Execute Single Entry
EL29 - Execute Correct Plausible MRR
EL30 - Estimate MRR
EL31 - Monitoring of MR Data
EL32 - Automatic Monitoring of MRR
Tables:
EABL (Meter Reading Documents)
Billing and Invoicing
Billing vs. Invoicing
Billing:
Consumption and bill amount calculation process
Performed at Contract level
Determine billing periods
Determine tariff (rate) data
Invoicing:
Process contract billing to contract account receivable and prepare printout
Performed at Contract Account level
Consolidate energy and non-energy charges, e.g. late payment fee
Consolidate all items from different contracts to be invoiced under the same contract
account
T-codes:
EASIBI
EAMABI
Tables:
T-codes:
EA22
Tables:
ERCH-BELNR(12)
T-codes:
EA40
Billing Document
Print Document
Tables:
ERDK-OPBEL(12)
Simulation
T-codes:
EASISI - Individual Simulation
EAMASI - Mass Simulation via Installation Intervals
Billing Procedure
Period End Billing etc.
Create Meter Reading Order, Enter Meter Readings, Billing, Invoicing, Printing
Billing Order, Billing Document, Print Document
Installation
Tables:
ETTIF/ETTIFN/ETTIFB (Installation Facts)
Billing Class
T-codes:
Tables:
EAKLASSE, EAKLASSET-AKLASSE(4)
Rate
T-codes:
EA30/1/2 (Create, Change, Display)
Tables:
ETRF-TARIFNR(10), EKDI (Rate Facts)
Billing Schema
T-codes:
EA35/6/7 (Create, Change, Display)
Tables:
ESCH-SCHEMANR (10), ESCHS (steps)
Operand
T-codes:
EA50/1/2 (Create, Change, Display)
Tables:
TE221-OPERAND(10)
Rate Category
T-codes:
EA53/4/5 (Create, Change, Display)
Tables:
ETTA-TARIFTYP(10), ETTAF (Rate Cat. Facts)
Rate Type
T-codes:
EA56
Tables:
TE069-TARIFART(8)
Rate Determination
T-codes:
EA87
Tables:
ERTFND-TARIFNR(10)
Variant Program
T-codes:
EA88 (Maintain Variant), EA99 (List of Variants)
Tables:
Price
T-codes:
EA89,90,91(Create, Change, Display)
Tables:
EPREI, EPREIH-PREIS(10)
Fact Group
T-codes:
Tables:
TE067-KONDIGR(10)
Reversal and Adjustment
T-codes:
EA13
EA14
EA15
EA20
EA21
T-codes:
EA05
T-codes:
FPL9 - Account Display: Initial Screen
FP05 - Payment Lot: Initial Screen
FP09 - Returns (Lot): Request Screen
FP25 - Check Lot: Initial Screen
FPVA - Dunning Proposal
FPVB - Dunning Activity Run
Tables:
FICA
1.
Table of Contents
1) Overview of this document........................................................
2) User Exit with example............................................................
3) Customer Exit........................................................................
4) Types of Customer Exits..........................................................
5) Function Module exits.............................................................
6) Screen Exist.........................................................................
7) Menu Exits...........................................................................
8) Methods to find out customer Exits...........................................
9) CMOD and SMOD transactions................................................
Overview of this document
The enhancement concept allows you to add your own functionality to SAP's standard business applications
without having to modify the original applications. To modify the standard SAP behavior as per customer
requirements, we can use enhancement framework.
There are different ways to implement custom functionality in the SAP standard code. ex: User exits, customer
exits, BADI etc.
This document explains about User exits and Customer Exits.
User exits
These are implemented in the form of subroutines and hence are also known as FORM EXITs. The user exits
are generally collected in includes and attached to the standard program by the SAP.
User exits are a type of system enhancement that was originally developed for the R/3 SD (Sales and
distribution) module. User-exits are empty subroutines that SAP Developers have provided for you. You can fill
them with your own source code. Technically this is a modification.
All User exits start with the word USEREXIT_...
FORM USEREXIT_XXXX....
INCLUDE ZZUSEREXIT.......
ENDFORM.
User exits can be found in the following ways:
Go to Object Navigator (SE80), select Package and put VMOD (Application development R/3 SD customer
modification) and press enter. You will find all the includes for user exits in SD. You will get User exits for Sales
order, Delivery, Billing, Pricing etc. Most of the time documentation is maintained for each subroutine which
helps developer for better understanding of the subroutine. Select the subroutine according to the requirement
and start coding within the subroutine.
Examples:
- In User exits MV45AFZZ(Sales Order Exit), we have subroutine
USEREXIT_PRICING_PREPARE_TKOMK
USEREXIT_PRICING_PREPARE_TKOMP
This user exit can be used to move additional fields into the communication table which is used for pricing.
TKOMK for header fields and TKOMG for item fields. The fields which are not in either of the two tables KOMK
and KOMP cannot be used in pricing.
zvendpgm (Vendor Program), zpricegrp (Price Group), kvgr5(Airport Code) fields value moving from VBAP to
KOMP table.
1.
After User exits using: Error comes for any Country code like 'IN'. Only permissible country code is
'US'.
2. Screen Exits:
Allow customer to add fields to a screen via a sub screen in an SAP program. The sub screen is called
within the standard screen's flow logic.
Format: CALL CUSTOMER-SUBSCREEN CUSTSCR1
3. Menu exits:
Menu exits allow you to add your own functionality to menus. Menu exits are implemented by SAP and
are reserved menu entries in the GUI interface. The developer can add his/her own text and logic for
the menu.
Function codes for menu exits all start with "+".
Format: +CUS (additional item in GUI status)
Methods to find out customer Exits:
There are numbers of way by using we can find out Customer Exits.
Method # 1: Call customer
If you are searching customer exits based on particular transaction.
Go to Transaction. Ex: VA01.
Find(Cntrl+F)
Then use Call customer and select in main program radio button tab and press Enter.
We can find out all the possible Customer exits based on this transaction.
Method # 2: SMOD
Go to Transaction SMOD (SAP Enhancement).
We can find out all the possible Enhancement (Customer exits) based on this package.
Method # 3: SE84
Go to Transaction SE84.
Select Enhancements -> Customer Exits -> Enhancements
Give Package and Execute. We can find out all the possible Enhancement (Customer exits) based on
this Package.
Method # 4: SE81
Go to Transaction SE81.
Method # 5: ST05
Go to Transaction ST05. Select Table Buffer Trace & Activate Trace.
Then go to the transaction, based on which you want to see the customer exits.
Come back to ST05, Deactivate Trace & display Trace.
Then go to FIND & write text EXIT_ & press ENTER.
We can find out all the possible Enhancement (Customer exits) based on this Transaction .This is not
good technique to find out customer exits because all the possible exits may not be find out using this
technique.
If you Double click on TEST button, you will get below screen.
From the above screen shot we can say that the Function Exit is already implemented (Green light) but
in Inactive stage (Red light).
Project Creation (CMOD):
This Transaction is used to create a project. Project is also a container, which holds several
Enhancements. If we identify the User Exits and write down the code only within it, then the
functionality will not be worked. That is why we require adding the enhancement into a project &
making it active.
CMOD Transaction is used to create a project.
Select Enhancement assignments and you add your Enhancement in this project.
You can add multiple Enhancements in one project. But you can't add one enhancement in multiple
projects. Then error message will be generated.
Error message generate, because Enhancement V45A0002 is already exist in other project.
From screen short no: 2 of CMOD description, if we click on Components, we will get the list of
Customer exits belongs to these enhancements.
Both green light shows that the exit is already implemented & is Active stage