Naming Conventions
Naming Conventions
1
Project Name `Naxrita Solutions Private Limited
Document Title Programming Naming Conventions
Date 21-03-2024
Revision V1.0
2
Document History
Serial # Change Description Author Date
1.0 Initial Document Creation
Reviewers
Role Name Organization Review Date
Approvals
The individuals listed below will be required to review and approve this document.
3
INDEX
Contents
1. ABAP Standard Objects Conventions..................................................................................................................... 5
1.2 CDS Views ......................................................................................................................................................... 24
1.2 ABAP Restful Programming Model (RAP): ........................................................................................ 26
2. Data Declaration ........................................................................................................................................................... 27
3. Documents Naming Standards ............................................................................................................................... 30
4. Transport Request Naming Conventions ........................................................................................................... 30
4.1 Customizing Transport Requests ........................................................................................................... 30
4.2 Workbench Transport Requests ............................................................................................................. 30
4.3 Security Transports ...................................................................................................................................... 31
4.4 Basis Transports ............................................................................................................................................ 31
5. Appendix.......................................................................................................................................................................... 31
5.1 Development Packages ............................................................................................................................... 31
5.2 TVARV Entries ................................................................................................................................................ 32
5.3 BRF+ Entries.................................................................................................................................................... 32
5.4 GIT Repository ................................................................................................................................................ 32
4
1. ABAP Standard Objects Conventions
Stream/Stream details
Sub- Max
# Section Position Contents
Section Length
1 ABAP 30 1 ‘Z’
Program 2-4 Stream
(Excluding 5-8 RICEFW ID (Program Type+3 Digit
Module Sequential Number)
Pools) R - Report Typex`
I - Interface
C - Conversion
E - Enhancement
F - SAP Scripts or SAP Forms
W - Workflow
O - Outbound Interface
U - Update Program
9 X - Include Module
10-30 G
‘_’
Unique Identifier
Example :
ZFINE001_AGING_REQUESTS
5
2 Append 16 1 ‘Z’
Structure 2 Counter (0,1,2…)
3 ‘_’
4-16 Primary Table. Example: Z01_EKKO
Sub- Max
# Section Position Contents
Section Length
4 Authorization 4 1 ‘Z’
Object Class 2-4 Unique Identifier.
Example: ZPRC(Profit Center)
5 Authorization 10 1 ‘Z’
Object 2-4 Stream
5 ‘_’
6-10 Unique Identifier
Example: ZFIN_COSTCENTER
6 Program 8 1 ‘Z’
Authorization 2-4 Stream
Group 5-8 Unique Identifier.
Example: ZRTL_REPORT
7 Table 4 1 ‘Z’
Authorization 2-4 Stream
Group Example: ZFIN
8 Background 32 1 ‘Z’
Job 2 Frequency (H/D/W/Q/Y/O/A)
3 Direction: I/O/N ( In/ Out/Native)
4-6 Stream
7 ‘_’
8-28 Description
Suffix 1 ‘_’
Suffix 2
Batch Type Code
(BDC, RPT, UPD , EXT)
RPT - Creates/Runs a Report
BDC - Generates a BDC Session
UPD - Updates Database
EXT - Extracts Information
6
Example: ZDIP2P_PURORDER_EXT
(Inbound Purchase Order Daily
Extract)
ZQNFNI_PROFITCENTER_RPT (For
Quarterly Profit Center Report)
Sub- Max
# Section Position Contents
Section Length
9 BADI 30 1 ‘Z’
2-4 Stream
5 ‘_’
6-9 RICEFW ID (Program Type+3 Digit
Sequential Number)
10 ‘_’
11-14 Characters Six Through Nine Will
Always Be “BADI”
15 ‘_’
16-30 Descriptive Name(X)
Example:
ZP2P_E001_BADI_MATERIAL_UPD
ATE
Sub-Child 8 1 ‘Z’
Object Type 2-4 Process Are
5-8 a
Unique Identifier
Example: ZP2P_NOTIF
7
Example:
ZCL_FIN_E010_DOCUMENT_CREAT
E
Sub- Max
# Section Position Contents
Section Length
18 Enhancement 8 1 ‘Z’
Project 2-4 Stream
5-8 Unique identifier
Example: ZP2PPORDR
19 Event 30 1 ‘Z’
2-4 Stream
5 ‘_’
6-30 Unique Identifier
Example: ZFIN_SAVE
8
Enhanceme 30 1 ‘Z’
nt Spots 2-4 Stream
5-6 ‘ES’
7 ‘_’
8-30 Descriptive Name
Example: ZP2PES_PRREQ_CHECK
Sub- Max
# Section Position Contents
Section Length
9
24 IDOC Extension 30 1 ‘Z’
2 ‘_’
3-30 Segment Name (Eg: Z_MATMA05)
Sub- Max
# Section Position Contents
Section Length
Segment 27 1 ‘Z’
Names 2-4 Stream
5 ‘_’
6-27 Unique Identifier
Example: ZP2P_E1MAKTM
Type 30 1 ‘Z’
2-4 Stream
5 ‘_’
6-30 Unique Identifier.
ZP2P_MATMAS01
Process 30 1 ‘Z’
Codes 2-4 Stream
5 ‘_’
6-30 Unique Identifier. ZP2P_ME12
10
27 Lock Objects 16 1-3 ‘EZ_’
4-16 Name of Primary Table (EZ_MARA).
Sub- Max
# Section Position Contents
Section Length
29 Logical 20 1 ‘Z’
Database 2-4 Stream
5 ‘_’
6-20 Unique Identifier
Example: ZSLS_DEL
Projects 15 1 ‘Z’
2-4 Stream
5 ‘_’
6-15 Identifier of an Object Set.
Example: ZP2P_MATMAS
Sub-Projects 15 1 ‘Z’
2-9 Project Name
10 ‘_’
11-15 Identifier of An Object Set.
Example: ZMATMAS_SALESVIEW
Object 15 1 ‘Z’
2-5 Transaction Code for Master Data
and Transactional Data/Meaningful
Name for Non-transaction Code
Job
6
7-15 ‘_’
Identifier of An Object Set.
Example: ZP2P01_SALESVIEW
11
Sub- Max
# Section Position Contents
Section Length
32 Menus 12 1 ‘Z’
2-4 Stream
5-12 Unique identifier
Example: ZP2P_MENU
35 Print 30 1 ‘Z’
Programs 2-4 Stream
5 Program type
F - SAPScript\Smartforms\Adobe
Forms
6 ‘_’
7-10 RICEFW ID (Program Type+3-digit
sequential number)
11 ‘_’
12-13 Form type:
SS - SAP
Script
SF - Smart forms
AF - Adobe Forms
AFI – Adobe Form Interface
14 ‘_’
15-30 Unique Identifier
12
Example:
ZP2PF_1005_AF_PURCHASEODR
ZP2PS_1005_AFI_
PURCHASEODR
Sub- Max
# Section Position Contents
Section Length
37 Programmer 30 1 ‘Y’
Temporary 2-3 Developer Initials
objects in 4 ‘_’
ABAP 5-30 Free Form Description
Example: YRK_TEST
39 Report 4 1 ‘Z’
Library 2 Unique Letter
3-4 Unique identifier (00-99, next
available). Example: ZFI01
13
Example: 9000,9010 etc.
Sub- Max
# Section Position Contents
Section Length
45 Set/Get 20 1 ‘Z’
Parameter ID 2-4 Stream
5 ‘_’
6-20 Unique Identifier Like Field Name
Example: ZP2P_REC_PLANT
46 Standard ID 4 1 ‘Z’
Text 2-4 Unique Identifier, 000-ZZZ.
Example: ZPOH
47 Structures 30 1 ‘Z’
2 ‘S’
3-5 Stream
6 ‘_’
7-30 Example: ZSFIN_DEPRECIATION
48 Styles 8 1 ‘Z’
2-8 Unique Identifier. Example: ZBOLD
14
Sub- Max
# Section Position Contents
Section Length
Maintenanc 1 ‘Z’
e 2-4 Stream
transaction 5-18 Meaningful Crisp Identification
code (In Business Language Preferably)
19-20 01/02/03 For
Create/Change/Display (Optional)
Example: ZP2P_BILLPLAN_TYPE
53 Views 30 1 ‘Z’
2 ‘V’
3-5 Stream
6 ‘_’
7-30 Primary Table Used in
View/Description of The View
Example: ZVP2P_MATERIAL
Sub- Max
# Section Position Contents
Section Length
15
54 Variant 14 1-14 Freely Defined
55 Namespace 4 1 ‘Z’
for Object 2-4 Identifier of An Object Set. Example:
Sets RF for RF Objects, BSP For BSP
Objects
Example: ZSENDMAIL
Change 15 1 ‘Z’
Document 2-3 the 3-character functional code
Object 4-15 a short descriptive name of the
change document object.
Example: ZINV_PRICE
Example: ZAGENTDET
Sub- Max
# Section Position Contents
Section Length
57 Forms 16 1 ‘Z’
2-4 Stream ADB-
16
5-7 Adobe/SMF-SmartForm/SSP-
SAP Script
8 ‘F’
9 ‘_’
10-16 Unique Identifier
Example: ZP2PADBF_TIMETICKET
Windows 8 1 ‘W’
2 ‘_’
3-8 Use Meaningful Name.
Example: W_MAIN
Form 30 1 ‘Z’
Interface 2-4 Stream
5-6 ‘AIF’
8 ‘_’
9-30 Use Meaningful Name.
Example: ZP2PAIF_SOACK
Sub- Max
# Section Position Contents
Section Length
17
Page / 50 1-2 ‘SP’
Subform Set 3-50 Use Meaningful Name.
Example: SPHEADER
18
Sub- Max
# Section Position Contents
Section Length
63 Local/Global Global: -
Classes/Inter GIF_*, for Interface
faces GTY_* for Types
GC_* for Constants
GS_* for Structures/Work Areas
Local :-
LIF_*, for Interface
LTY_* for Types
LC_* for Constants
LS_* for Structures/Work areas
65 Distribution Outbound:
Model Z_ProcessArea_O_Source_Target
Inbound:
Z_ProcessArea_I_Source_Target
Example: Z_P2P_I_ECC_SRM
Sub- Max
# Section Position Contents
Section Length
19
→ Naming Convention For Event Is
Intended For Triggering Of Events
As Part Of Business Processing.
Example: Z_1050_ONCLICK
Example:
ZCA_P2P_E011_PRICING_CALC
Sub- Max
# Section Position Contents
Section Length
20
12 <Name>. Example:
Onwards ZT_P2P_E011_PRICING_CALC.
13-14 ‘AT’/’AN’/’CA’
Attribute View or
Analytical View or
Calculation View
15
‘_’
16-59
<Name>
EXAMPLES:
ZAP_P2P_E011_AT_<NAME>
(On Attribute View)
ZAP_P2P_E011_AN_<NAME>
(On Analytical View)
ZAP_P2P_E011_CA_<NAME>
(On Calculation View)
Sub- Max
# Section Position Contents
Section Length
21
Input 59 1-2 ‘IP’
Parameters 3 ‘_’
4-59 <Parameter Name>
Example: IP_DATE
Sub- Max
# Section Position Contents
Section Length
ODATA 30 1 ‘Z’
Project 2-3 ‘GW’
4 ‘_’
5-7 Stream
8 ‘_’
9 Object type
10-13 Object ID
14 ‘_’
15-30 <Name>
Example:
ZGW_SLS_E359_DOCUMENT_PO
STING
22
Internal artifacts - Entity type,
complex entity type, entity set,
association, association set,
function import; need to have a
meaningful name following
Camel Case.
Examples:
Entity - SalesOrderList
EntitySet - SalesOrderListSet
Function Import -
ExecuteApplyDecision
23
Custom ZG_<ProcessArea><Meaningful
Group Name>
Ex:
ZG_P2P_ShippingMetrics
24
1.2 CDS Views/
24
Extension View Fields ZZ<Name> ZZCarrierType
Bex Query on CDS ODP Name – Technical Z<CDS ODP Name>_QXXX Z2CZCSCPPOVERDUEP
CDS view Cube Name of the CDS ODP O _Q001
25
1.2 ABAP Restful Programming Model (RAP):
Virtual Data Model (VDM) consists of the CDS Views, which are either based on the underlying database
tables or other CDS views. VDM in RAP consists of Basic and Composite Interface Views along with
Consumption/Projection Views. One of the CDS view will be the root view and there could be multiple
child views
26
Object Names Naming Conventions Description Examples
2. Data Declaration
Data Declaration
27
7. Local (variables used in only one LV_<description>
subroutine)
8. Global Constants GC_<description>
9. Forms ( Subroutines ) F_<description>
10. Types LTY_<description> or
GTY_<description>
11. Global Internal Tables GT_<description>
12. Local Internal Tables LT_<description>
13. Programming Flags FL_<description>
14. Global Work Areas (structures, single GS_<description>
line of internal table)
15. Local Work Areas (structures, single LS_<description>
line of internal table)
16. Data References and Object Global: GREF_<description>
References Local: LREF_<Description>
17. Field Groups FG_<description>
18. Global Field Symbols <GFS_description>
19. Local Field Symbols <LFS_description>
20. Class Declarations and LCL_<description>
Implementations
21. Local Static Variable (Variable that is LSV_
accessed within the scope of a
Form/Function and retains its value
between calls.)
Data Declaration
22. Local static object reference (an LSO_
object reference that can only be
accessed within the scope of a form
or function and retains its reference
between calls.)
23. Method Name <Method name>.
It should begin with verb and be descriptive of
what it does.
Eg. GET_PR_APPROVAL_STATUS
Example: BUTTON_PUSHED
28
26. Data Definitions (Variables) <Variable name>...inside a class, follow the
program symbol naming conventions from
section 3.1.
Data Declaration
32. Methods that return a Boolean value IS_<adjective>
these methods may not return any IS_OPEN
exceptions.
29
3. Documents Naming Standards
Document Standard Example
CG_<Stream>_< L2/BPD ID CG_P2P_I110_Material
Config Guide
>_Description.docx no to [Link]
CUT_<Stream>_<L2/BPD CUT_P2P_I110_Materia
Configuration Unit Test
ID>_Description.docx l no to [Link]
FS_<Stream>_<RICEFW FS_P2P_I110_Material
Functional Spec
ID>_Description.docx no to [Link]
TS_<Stream>_<RICEFW TS_P2P_I110_Material
Technical Spec
ID>_Description.docx no to [Link]
Technical Unit Test TUT_<Stream>_<RICEFW TUT_P2P_I110_Materia
Document ID>_<Description>.docx l no to [Link]
CR_P2P_I110_Material
Code Review checklist CR_<Stream>_<RICEFW ID>.xlsx
no to [Link]
* R -> Report || I -> Interfaces || C -> Conversions || E-> Enhancements || F -> Forms || W -> Workflows
30
4.3 Security Transports
<Wave>_SEC_<Stream/RICEFW ID>_<Free form text>
Example. W0_SEC_Zrole1 and Zgroup2
Example. W0_SEC_XYZ Fiori Role change
Example. W0_SEC_OC-1028_Custom Auth Obj for XYZ
5. Appendix
5.1 Development Packages
Package is used in the transport system. It is used to group all objects that are related to the
same development to ensure they are corrected and transported together. Each package has
assigned integration system and an assigned consolidation system for transports.
→ Packages are to be created by a basis lead / development lead only.
→ A custom package ZDEV is created for custom development.
→ Format: (Maximum Of 30 Characters). Z<SAP Stream>.
Note: since basis [Link], the term 'development class' has changed to 'package'. Therefore, the term
development class’ can be used interchangeably with the term ‘Package’.
31
5.2 TVARV Entries
The table TVARV contains entries referenced by Variants. Customized entries can be made, enabling
variable Parameters / Selection Options to be used in Variants.
Format: Z<Variable Type><RICEFID>_<Description>
Z - Custom Type
X - Variable Type (S Or P) (When in doubt always create is as “S”).
P - RICEFW ID eg. SCC001
Descriptive Text – A meaningful descriptive text in business terms.
Eg. ZSP2PC001_ORD_TYP_PRINT
Note:
1. This table can be used to maintain some basic values like company code, plant or any other
parameter. Using these parameters, values can be maintained that will control a block of code.
2. Hard coding of values can be avoided using this table.
3. However, a new table can be created if this table doesn’t suffice the requirement.
Note:
1. This table can be used to maintain some basic values like company code , plant or any other
parameter. Using these parameters, values can be maintained that will control a block of code.
2. Hard coding of values can be avoided using this table.
3. However, a new table can be created if this table doesn’t suffice the requirement.
Rule A git repository must be created to manage changes when creating or enhancing an UI5
application in the WebIDE.
The master branch is assumed to be an ‘always-working’ deployable branch. Feature branches should be
used to manage changes.
Developers must ensure their SAPUI5 changes are committed and pushed to the git [Link] ABAP
development objects the standard source code management procedures in SAP apply. Objects will be
32
linked to an ABAP Package (see package standards below) and from the Package will be linked to an SAP
Transport request.
33