ABAP Naming Conventions
ABAP Naming Conventions
ABAP Naming Conventions
Revision history
Version Date Description Author
2.0 26-Feb-2017 Separate document for naming conventions for easy Vasan Linga Durai.C
document maintenance purpose. This initial version
created from information contained in “ABAP
Development standards and naming conventions”
document Version 1.0.
Review history
Version Date Reviewer comments Reviewed by
Approval history
Version Date Approver comments Approved by
Page 1 of 13
ABAP NAMING CONVENTIONS
Version 2.0 Release date 26-Feb-2017
Contents
SCOPE.................................................................................................................................................................................................4
Page 2 of 13
ABAP NAMING CONVENTIONS
Version 2.0 Release date 26-Feb-2017
AUTHORIZATION OBJECT..........................................................................................................................................................9
TRANSPORT REQUEST DESCRIPTION.........................................................................................................................................9
LSMW, SXDA/SXDB PROJECTS/SUBPROJECTS.....................................................................................................................9
APPLICATION SERVER FILENAMES............................................................................................................................................9
BDC SESSION...........................................................................................................................................................................9
4. PROGRAM HEADER DOCUMENTATION BLOCK........................................................................................................10
Page 3 of 13
ABAP NAMING CONVENTIONS
Version 2.0 Release date 26-Feb-2017
Scope
Scope of this document is to describe naming conventions for ABAP developments and its components.
Application area
Materials management MM
Production planning and control PP
Quality management QM
Sales and distribution SD
Finance FI
Controlling CO
Asset management AM
Investment management IM
Treasury TR
Plant maintenance PM
Project system PS
Human resource HR
Personnel time management PT
Cross applications CA
Basis BA
Customer relationship CR
Customer service CS
Defence forces & public security DF
Enterprise portal EP
Industry specific component IS
Net-Weaver component NW
Public sector management PB
Product life-cycle management PL
Supply chain management SC
Supplier relationship management SR
General (Common across modules) GN
Development type
Forms, Form components and texts F
Reports R
Interfaces I
Conversions C
Enhancements E
Module pool M
Function group and Function module U
Data dictionary objects D
ALE, EDI and IDOC components A
Test developments T
Page 4 of 13
ABAP NAMING CONVENTIONS
Version 2.0 Release date 26-Feb-2017
o Symbol enclosed in square bracket [] refers to optional part of the naming convention and shall be
replaced with appropriate value or short form when decided to opt. Such optional parts when adopted
shall be consistent throughout the implementation.
Page 5 of 13
ABAP NAMING CONVENTIONS
Version 2.0 Release date 26-Feb-2017
Note: SAP provided development class $TMP shall not be used for any kind of developments.
Test programs
Note: All test developments shall be included in proper transport request with description as “Test – Not to be
transported”.
Report programs
Page 6 of 13
ABAP NAMING CONVENTIONS
Version 2.0 Release date 26-Feb-2017
Exception: Custom naming conventions for building Logo library to allow dynamic logo selection.
Program Variants
Note: If name built this way doesn’t fit the length, first character from the standard name shall be removed.
Transaction codes
Page 7 of 13
ABAP NAMING CONVENTIONS
Version 2.0 Release date 26-Feb-2017
Domain (DO)
- Maximum possible, use standard SAP field names if referenced data element is standard SAP data element.
- For fields referencing to custom data element, ZZ<CA><Text to represent use>
Lock objects
EZ<CA><Table name>
Database table secondary index
Ideally should use SAP proposed name while creating append structure.
If for any reason the same could not be used, use following convention…
Z<CA><Table name>nn
Where nn is sequential number between 01 to 99
Page 8 of 13
ABAP NAMING CONVENTIONS
Version 2.0 Release date 26-Feb-2017
Area menu
Definition:
Z<CA><Application area>_<Text to represent use>
Implementation:
Z_<Definition name>
Business objects and components
Business object:
Z<CA><Text to represent use>
BOR Super_type:
Z<CA><Text to represent use>
Page 9 of 13
ABAP NAMING CONVENTIONS
Version 2.0 Release date 26-Feb-2017
Z<CA><Application area>X
Where X is single character, appropriately to be replaced by value ranging between A to Z
Authorization object
Page 10 of 13
ABAP NAMING CONVENTIONS
Version 2.0 Release date 26-Feb-2017
*----------------------------------------------------------------------*
* Author : <Name of the author/Developer user ID>
* Creation Date : <DD-MMM-YYYY>
* Transaction : <Transaction code if attached>
* Technical design: <Technical design document name>
* Description : <Short description of the functionality of the
* program>
*----------------------------------------------------------------------*
* Modification Information
*----------------------------------------------------------------------*
* Date : <DD-MMM-YYYY>
* Author : <Name of the programmer/Programmer user ID>
* Change request : <Change request number>
* Transport number: <Transport number>
* Description : <Short description of changes>
← *----------------------------------------------------------------------*
Information and recommended way of usage: SAP allows maintenance of “Pattern”. It is recommended to
maintain one single pattern to store above mentioned program header block to maintain consistency across all
programs developed in a project.
To maintain a patter, open any custom program in change mode in SE38 and follow the path…
Utilities -> More utilities -> Edit pattern -> Create pattern
Page 11 of 13
ABAP NAMING CONVENTIONS
Version 2.0 Release date 26-Feb-2017
************************************************************************
* Selection screen definition
************************************************************************
<<Remove this header if not applicable>>
************************************************************************
* Data declaration
************************************************************************
* Types
* Internal tables
* Work areas
* Variables
* Constants
************************************************************************
* Load of program processes
************************************************************************
<<Remove this header if not applicable>>
************************************************************************
* Initialization processes
************************************************************************
<<Remove this header if not applicable>>
************************************************************************
* AT-SELECTION SCREEN processes
************************************************************************
<<Remove this header if not applicable>>
************************************************************************
* START OF SELECTION processes
************************************************************************
<<Remove this header if not applicable>>
************************************************************************
* END OF SELECTION processes
************************************************************************
<<Remove this header if not applicable>>
.
.
<<Add more header(s) as necessary if additional events are being used>>
.
.
<<Create subroutines using forward navigation and immediately use “Pretty printer” option to
automatically create FORM header.>>
Page 12 of 13
ABAP NAMING CONVENTIONS
Version 2.0 Release date 26-Feb-2017
Program data type Conventions for Global data Conventions for Local data
Types TY_<Name> LT_<Name>
Internal tables – Standard GT_<Name> LT_<Name>
Internal tables – Sorted GIS_<Name> LIS_<Name>
Internal tables – Hash GIH_<Name> LIH_<Name>
Work areas GS_<Name> LS_<Name>
Variables GV_<Name> LV_<Name>
Constants GC_<Name> LC_<Name>
Ranges GR_<Name> LR_<Name>
Field symbols FS_<Name> LFS_<Name>
Table controls TC_<Name> LTC_<Name>
Parameters P_<Name> --
Select options S_<Name> --
Class CL_<Name> --
Class interface IF_<Name> --
Reference variables REF_<Name> LREF_<Name>
Method – Importing parameters I_<Name> --
Method – Exporting parameters E_<Name> --
Method – Changing parameters C_<Name> --
Method – Returning parameters R_<Name> --
Page 13 of 13