0% found this document useful (0 votes)
11 views34 pages

Naming Conventions

The document outlines the programming naming conventions for Naxrita Solutions Private Limited, focusing on ABAP standard objects and various naming standards for different programming elements. It includes detailed guidelines for naming conventions related to programs, classes, structures, and other components, ensuring consistency and clarity in development. The document is structured with an index for easy navigation and includes sections on transport requests and development packages.

Uploaded by

ammusoma10
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views34 pages

Naming Conventions

The document outlines the programming naming conventions for Naxrita Solutions Private Limited, focusing on ABAP standard objects and various naming standards for different programming elements. It includes detailed guidelines for naming conventions related to programs, classes, structures, and other components, ensuring consistency and clarity in development. The document is structured with an index for easy navigation and includes sections on transport requests and development packages.

Uploaded by

ammusoma10
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Programming 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.

Role Name Signature Date

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

Stream/Stream Description Identifier

FIN Finance FIN

MDM Master Data Management MDM

SALES Sales SLS

P2P Procure to Pay P2P

MAN Manufacturing MAN

LOG Logistics LOG

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

For SAP Standard Copy – Add “Z”


Before Standard Program Name.
Z<Stream>_<RICEFW ID> ‘_’ -
<Standard Program Name>

Example : Copy program RM06EL00


ZFIN_1I001_RM06EL00

5
2 Append 16 1 ‘Z’
Structure 2 Counter (0,1,2…)
3 ‘_’
4-16 Primary Table. Example: Z01_EKKO

3 Area Menu 30 1 ‘Z’


2-4 Stream
5 ‘_’
6-30 Identifier. Example ZFIN_MENU

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

10 BDC Session 12 1-3 Stream


4-12 Description
Example: P2PPOCREATE

11 BOR Object Name 32 1-32 Unique Identifier (Description)


Example: Notification Update

Sub-Child 8 1 ‘Z’
Object Type 2-4 Process Are
5-8 a
Unique Identifier
Example: ZP2P_NOTIF

12 Global 30 1-3 ‘ZCL’


Classes 4 ‘_’
5-7 Stream
8 ‘_’
9-12 RICEFW ID (Program Type+3 Digit
Sequential Number)
13 ‘_’
14-30 Class Name (Description)

7
Example:
ZCL_FIN_E010_DOCUMENT_CREAT
E

13 Data Element 30 1-3 ‘ZDE’


4 _
5-30 Define Like Example: ZDE_QUANT.

Sub- Max
# Section Position Contents
Section Length

14 Development 20 Refer Section 5.1


Package

15 Local 30 1-30 LCL_<class name>


Classes Example:
LCL_FORECAST_VALIDATION

16 Dialog 30 1-5 ‘SAPMZ’


Program 6-8 Stream
(Module 9 ‘_’
pool) 10-30 Unique Identifier
Example: SAPMZSLS_DELIVERY

17 Domain 30 1-3 ‘ZDO’


4 ‘_’
5-30 Define Like Example: ZDO_CURR

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

20 Enhancement Implicit / 30 1 ‘Z’


s Explicit 2-4 Stream
5-6 'EE'(Explicit Enhancement), ‘IE’
(Implicit Enhancement)
7 ‘_’
8-30 Descriptive Name. Example: -
ZSLSEE_INVOICE_UPDATE

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

20 Enhancement Enhanceme 30 1 ‘Z’


s nt Point 2-4 Stream
5-6 ‘EP’
7 ‘_’
8-30 Example: ZP2PEP_PRREQ_CHECK

21 Function 26 1-3 ‘ZFG’


Groups 4 ‘_’
5-7 Stream
8 ‘_’
9-26 Unique Identifier
Example: ZFG_SLS_SALESORDER

22 Function Normal 30 1-3 ‘ZFM’


Modules Function 4 ‘_’
Modules 5-7 Stream
8 ‘_’
9-12 RICEFW ID (Program Type+3 Digit
Sequential Number)
13-30 Unique Identifier. Example:
ZFM_SLS_1001_INFOREC_UPD

RFCs 30 1-3 ‘ZFM’


4-7 ‘RFC_’ (RFC Indicator)
8-10 Stream
11 ‘_’
12-15 RICEFW ID (Program Type+3 Digit
Sequential Number)
16-30 Unique Identifier, Example: =
ZFM_RFC_SLS_1010_GET_CUSTOM
ER_DATA

23 GUI Status 20 1-20 ‘Z’ + Identifier or Identifier


Example: ZNEWSTAT

Title 20 1-20 ‘Z’ + Identifier or Identifier


ZTITLE

9
24 IDOC Extension 30 1 ‘Z’
2 ‘_’
3-30 Segment Name (Eg: Z_MATMA05)

Sub- Max
# Section Position Contents
Section Length

24 IDOC Message 20 1 ‘Z’


Type 2-4 Stream
5 ‘_’
6-30 Unique Identifier ZP2P_MATMAS

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

25 Inbound or 60 1 ’I’ for Inbound, ’O’ for Outbound


Outbound Part 1 Interface or Program Name
files ‘_’ ‘_’
Part 2 Unique Identifier
‘_’ ‘_’
Number Unique Serial Number Like
Date/Time stamp
‘.’ ‘.’
Suffix ’DAT’ for Tab Delimited, ’TXT’ For
Flat Record

26 Interfaces for 30 1-3 ‘ZIF’


Classes 4 ‘_’
5-7 Stream
8 ‘_’
9-30 Interface Name. Example:
ZIF_P2P_ROUTING_UPDATE

10
27 Lock Objects 16 1-3 ‘EZ_’
4-16 Name of Primary Table (EZ_MARA).

Sub- Max
# Section Position Contents
Section Length

28 Logical File 50 1 ‘Z’


name 2-4 Stream
5 ‘_’
6 Inbound('I') And Outbound('O')
7 ‘_’
8-50 Descriptive Name.
Example: ZSLS_O_ROUTING

29 Logical 20 1 ‘Z’
Database 2-4 Stream
5 ‘_’
6-20 Unique Identifier
Example: ZSLS_DEL

30 Logical File 60 1-60 Unique Name


Path

31 LSMW Read File 60 Prefix File Path and Name


Suffix .[Link]

Convert File 60 Prefix File Path and Name


Suffix .[Link]

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

33 Message Class 20 1 ‘Z’


2-4 Stream
5 ‘_’
6-20 Unique identifier.
Example: ZFIN_MSGCLS

Number 3 1-3 The “000” entry for each application


area is reserved for the “$ $ $ $”
parameter entry.

Number 001-899 for Custom


message classes

Number 900-999 for SAP standard


message classes

34 Ports 10 1 1 Character Indicating Port Type


2-10 Short meaningful abbreviation of
Port
There are 5 types: Transaction RFC,
File, ABAP PI, XML file, XML HTTP.
Transaction RFC Example:
TLEGACY

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

36 Packages 20 Please see section 5.1 for details.

37 Programmer 30 1 ‘Y’
Temporary 2-3 Developer Initials
objects in 4 ‘_’
ABAP 5-30 Free Form Description
Example: YRK_TEST

38 Report Group 4 1 ‘Z’


2 Unique Letter
3-4 Unique identifier (00-99, next
available). Example: ZPO01

39 Report 4 1 ‘Z’
Library 2 Unique Letter
3-4 Unique identifier (00-99, next
available). Example: ZFI01

40 RFC 32 1-32 A descriptive name representing the


RFC destination.
Example: SUFFIXCLNT100

41 Sales Order 30 1 ‘Z’


exits and 2-4 Stream
Includes 5 ‘_’
6-8 RICEFW ID – Counter
9 ‘X’
10 ‘_’
11-30 Standard Include Name.
Example: ZP2P_70X_ MV45AFZ

42 SAP Script 16 1 ‘Z’


Layout Set 2-4 Stream
5 ‘_’
6-16 Unique Identifier
Example: ZFIN_USCHECK

43 Screens 4 1-4 9000-9999 Screen Numbers Per


SAP Program to Be Incremented By
10.

13
Example: 9000,9010 etc.

0100 – 9999 for Custom Programs

Sub- Max
# Section Position Contents
Section Length

44 Search Help 30 1 ‘ZSH’


2 ‘_’
3-30 Field Name or Domain Or Relevant
Text. Example: ZSH_ZCUSTOMER.

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

Name 32 1-3 ‘ZST’


4 ‘_’
5-7 Stream
8 ‘_’
9-32 Unique Identifier. Example:
ZST_P2P_TERMSANDCOND

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

49 Tables Name 30 1 ‘Z’


2 ‘T’ for Table
3-5 Stream
6 ‘_’
7-30 Example: ZTP2P_DELIVRY_DATA

Fields 30 1-30 Unique Identifier

Note: To Add Field in Table


Includes, Start Field Name with ZZ
To Prevent Overwriting During
Upgrades.

14
Sub- Max
# Section Position Contents
Section Length

49 Tables Index 3 1 ‘Z’


2-3 Unique Identifier (00-ZZ)
Example: Z01, ZMT etc.

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

50 Transaction Code 20 1 ‘Z’


2-4 Stream
5-18 Meaningful Crisp Identification
(In Business Language Preferably)
19-20 01/02/03 for
Create/Change/Display (Optional)
ZP2P_MAT_UPDATE

Recording 12 Prefix SAP Transaction Code + ‘_’


Suffix Initials of Developer + A Number
Example: RK_ME11

51 Type Group 5 1 ‘Z’


2-3 Stream
4-5 Unique Identifier.
Example: ZP2PPO

52 Transport <Stream> <RICEFW ID>-


req. Description.
standards Example: -
FIN1070-GL Account Posting

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

56 Workflows Business 10 1 Always 'Z'


Object Type 2-8 RICEFW ID
9-10 Counter
Example: Z107001

Templates 12 1 Always 'Z'


and Tasks 2-12 if this is an extension of an existing
template or task put the name of
original here. If new, then put a
short descriptive name for the
template or task here

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.

BTE 8 1 First Character Is Always 'Z'


2-8 a short descriptive name of BTE.

Example: ZINV_PRICE

Rules 12 1 First Character Is Always 'Z'


(Roles) 2-12 A short descriptive name of rule.

Example: ZAGENTDET

Organization - - Organization objects will be


Objects maintained by HCM team. please
consult with them for any changes
related to org objects

Webflow 32 1 First Character Is Always 'Z'


Services 2-32 Proper Descriptive Name

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

58 Smart Styles 30 - Z_ST_<Description>


Example: Z_ST_ITALIC

59 SAP Script or Character 2 - Cx. Example: C1


Smart Forms Format

Paragraph 2 - Px. Example: P1


Format

Windows 8 1 ‘W’
2 ‘_’
3-8 Use Meaningful Name.
Example: W_MAIN

Page 8 1-2 ‘PG’


3 ‘_’
4-8 Use Meaningful Name.
Example: PG_MASTER

60 Adobe Form Content 50 1-2 ‘CA’


Area 3 ‘_’
4-50 Use Meaningful Name.
Example: CA_PI1

Form 30 1 ‘Z’
Interface 2-4 Stream
5-6 ‘AIF’
8 ‘_’
9-30 Use Meaningful Name.
Example: ZP2PAIF_SOACK

Master Page 50 1-2 ‘MP’


3-50 Use Meaningful and [Link].
Example: MP01

Sub- Max
# Section Position Contents
Section Length

60 Adobe Form Master Page 50 1-3 ‘MPS’


Set 4-50 Use Meaningful Name. Example:
MPS01

17
Page / 50 1-2 ‘SP’
Subform Set 3-50 Use Meaningful Name.
Example: SPHEADER

Page / 50 1-3 ‘SPS’


Subform Set 4-50 Use Meaningful Name. Example:
SPSITEM

61 Web Dynpro Action 20 - Use Meaningful Name.

Context 30 - Use Meaningful Name.


Attribute

Context 20 - Use Meaningful Name.


Node

Inbound 20 1-2 ‘IP’


Plug 3 ‘_’
4-20 Meaningful Description.
Example: IP_MAINVIEW

Outbound 20 1-2 ‘OP’


Plug 3 ‘_’
4-20 Meaningful Description.
Example: OP_DETVIEW

View 20 1-2 ‘VW’


3 ‘_’
4-20 Meaningful Description
Example: VW_SELECTION

Window 20 1-2 ‘W_’


3-20 Free form Must use meaningful
name
Example: W_MAIN

Web Dynpro 30 1 ‘Z’


Application 2-4 ‘WD_’
5-7 Stream
8 ‘_’
9-28 Use Meaningful Name.
29-30 ‘AP’. (Example:
ZWD_P2P_REGIST_AP)

18
Sub- Max
# Section Position Contents
Section Length

61 Web Dynpro Web Dynpro 25 1 ‘Z’


Component 2-4 ‘WD_’
5-7 Stream
8 ‘_’
9-23 Must use meaningful name
24-25 ‘CP’ (ZWD_P2P_SD_REGIST_CP)

Web Dynpro 25 1 ‘Z’


Interface 2-4 ‘WD_’
5-7 Stream
8 ‘_’
9-23 Must use meaningful name
24-25 ‘IF’ (ZWD_P2P_SDREGIS_IF)

62 FORMS PU_* for Using Parameter


(Subroutines) PC_* for Changing Parameter
PT_* for Table Parameter

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

64 Method IM_* for Importing Parameter


Parameters EX_* for Exporting Parameter
syntax CH_* for Changing Parameter
RT_* for Returning Parameter

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

66 ABAP Events 20 Z_<RICEFWID>_<Text>

19
→ Naming Convention For Event Is
Intended For Triggering Of Events
As Part Of Business Processing.

→ For Events Used In Scheduling Of


Batch Jobs, Naming Convention
Shall Follow Batch Job Names.

Example: Z_1050_ONCLICK

67 HANA Attribute 59 1-3 ‘ZAT’


Modelling Views 4 ‘_’
5-7 Stream
8 ‘_’
9-11 RICEF ID
12 ‘_’
13-59 <Name>
Example:
ZAT_P2P_E011_PRICING_CALC

Analytical 59 1-3 ‘ZAN’


Views 4 ‘_’
5-7 Stream
8 ‘_’
9-11 RICEF ID
12 ‘_’
13-59 <Name>
Example:
ZAN_P2P_E011_PRICING_CALC

Calculation 59 1-3 ‘ZCA’


Views 4 ‘_’
5-7 Stream
8 ‘_’
9-11 RICEF ID
12 ‘_’
13-59 <Name>.

Example:
ZCA_P2P_E011_PRICING_CALC

Sub- Max
# Section Position Contents
Section Length

68 HANA Custom N/A 1-2 ‘ZT’


Modelling Database 3 ‘_’
Table 4-6 Stream
7 ‘_’
8-10 RICEF ID
11 ‘_’

20
12 <Name>. Example:
Onwards ZT_P2P_E011_PRICING_CALC.

Package 52 1-2 ‘ZP’


3 ‘_’
4-5 Stream
6 ‘_’
7-9 RICEF ID
10 ‘_’
11-52 <Name>
Example: ZP_P2P_E011_PRICING

Analytical 59 1-3 ‘ZAP’


Privileges 4 ‘_’
5-7 Stream
8 ‘_’
9-11 RICEF ID
12 ‘_’

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

69 HANA Hierarchy 59 1-2 ‘HI’


Modelling 3 ‘_’
4-5 PC/LV (Parent Child Hierarchy/
Label Based Hierarchy)
6 ‘_’
7-59 <NAME>
Example:
HI_PC_< NAME>, HI_LV_<NAME>

21
Input 59 1-2 ‘IP’
Parameters 3 ‘_’
4-59 <Parameter Name>
Example: IP_DATE

Variables 49 1-2 ‘VA’


3 ‘_’
4-49 <Variable Name>
Example: VA_DATE

Procedures 77 1-5 ‘ZPROC’


6 ‘_’
7-9 Stream
10 ‘_’
11-13 RICEF ID
14 ‘_’
15-77 <Name> Example: -
ZPROC_P2P_E011_PRICING_CAL

70 HANA ABAP DB 30 1-4 ‘ZDPP’


Procedure 5 ‘_’
Proxy 6-7 Stream
8 ‘_’
9-30 <Name>
Example: ZDPP_P2P_PRICE_CALC

Dictionary 16 1-3 ‘ZDV’


View 4 ‘_’
5-6 Stream
7 ‘_’
8-16 <Name>
Example: ZDV_P2P_PRIC_CALC

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

OData Service 30 1 ‘Z’


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_SRV

BSP UI5 15 Z<ProcessArea>_<ObjectID>_<N


Application Applicatio ame>
n Name
Ex: ZSLS_E116_SHIPDB

**Source code of UI5/BSP Application


should always be managed by GIT
Repository

UI5 XX.<sap module>.<xxxx>.<yyyy>


Applicatio
n [Link]
Namespa
ce

FIORI Custom ZC_<ProcessArea><Meaningful


Launchpad Catalog Name>
Customization
Ex:
ZC_P2P_ShippingMetrics

23
Custom ZG_<ProcessArea><Meaningful
Group Name>

Ex:
ZG_P2P_ShippingMetrics

24
1.2 CDS Views/

Object type Description Naming conventions Example

Generated SQL Basic or Interface ABAP SQL ZI<ProcessArea><Name> ZIP2PPurOrder


views view
Private ABAP SQL view ZP<ProcessArea><Name> ZP2PPPurOrder

Consumption ABAP SQL ZC<ProcessArea><Name> ZCP2PPurOrder


view
API ABAP SQL view ZA<ProcessArea><Name> ZAP2PPurOrder

CDS views Basic/Interface/Composite ZI_<ProcessArea_<Name> ZI_P2P_PurchaseOrder


data source view
Value Help View ZI_<ProcessArea_<Name>_ ZI_P2P_PurchaseOrder_
VH VH
Text View ZI_<ProcessArea_<Name>_ ZI_P2P_OrderType_Text
Text
Private data source view ZP_<ProcessArea>_<Name ZP_P2P_PurchaseOrder
>
Consumption data source ZC_<ProcessArea>_<Name ZC_P2P_PurchaseOrder
view >
API data source view ZA_<ProcessArea>_<Name ZA_P2P_PurchaseOrder
>
Association alias name _associationname _orderitems

View Parameters P_<Name> P_KeyDate

View Fields Meaningful names in Camel PurchaseOrder


Case. No technical names PurchaseOrderItem
or underscores. OrderType
CDS view – Interface CDS containing ZI_<ProcessArea>_<Name> ZI_P2P_PurchaseOrder_
transactional ObjectModel annotations for _TP TP
persistence
Consumption CDS ZC_<ProcessArea>_<Name ZC_P2P_PurchaseOrder_
containing ObjectModel >_TP TP
annotations for persistence
CDS view Extension to an existing CDS ZE_<ProcessArea>_<origina ZE_P2P_C_PurchaseOrd
extension view (incl. Metadata l view> er
Extensions)

24
Extension View Fields ZZ<Name> ZZCarrierType

Table Functions Table function CDS ZTF_<ProcessArea>_<Nam ZTF_P2P_SortByEndDat


definitions e> e
Analytics CDS V - VDM Prefix Z<V><I>_<ProcessArea><Z ZID_P2P_EMPLOYEE
view data C – Consumption view ZZZ> (Employee Dimension
definition I – Interface view View)
P – Private view ZC_P2P_EMPLOYEE
A – API view (Employee list report
E – Extension view Consumption View)
ZI_P2P_COSTCENTER_T
I - Object Type (OPTIONAL) EXT (Cost Center Text
D – Dimension View)
F – Fact ZIC_P2P_HEADCOUNT
H – Hierarchy (Headcount Cube View)
C – Cube ZCQ_P2P_HEADCOUNT
Q – Query (Headcount Query)
ZC_P2P_MATERIALGRO
ZZZZ - Semantic Name UP_VH (Material Group
(describes the business Value Help)
semantics of a single record
returned by the view) *In case of multiple
views put N at the end
(N = 2 to 999)
ZIC_P2P_HEADCOUNT2

Bex Query on CDS ODP Name – Technical Z<CDS ODP Name>_QXXX Z2CZCSCPPOVERDUEP
CDS view Cube Name of the CDS ODP O _Q001

XXX – Numerical Number


starting from 001
Calculated/Restri CDS ODP Name – Technical Z<CDS ODP Name>_CXXX Z2CZCSCPPOVERDUEP
cted Key Figures Name of the CDS ODP Z<CDS ODP Name>_RXXX O _R001
XXX – Numerical Number Z2CZCSCPPOVERDUEP
starting from 001 O _C001

Bex Variables A – Access Type (O_ / M_) Z<A><TYPE><PROC><VAR> ZM_CVI_FISYR (Fiscal


TYPE – Variable Type <DESC> Year- mandatory, interval
(T/F/C/H/N) variable)
PROC – Processing By ZM_TRS_MATNR
(V/R/E/A) (Material – mandatory
VAR – single value text variable
Variable (S_/M_/I_/X_/P_) using replacement path)
DESC – Variable Desc
DCL Views ZCL – Name of DDL View for ZCL_<Name of DDL View> ZCL_
which DCL is created ZC_P2P_PurchaseOrder

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

Object Naming Description Examples


Names Conventions

CDS View Z<X>_<AB>_<ZZZZ> X – type of CDS View of the VDM ZI_P2P_OVERDUEPO


Data _<DEF> (‘I’ – Basic Interface or Composite (Basic CDS View for
Definition Interface CDS View / Overdue PO)
Name ZC_FIN_ACCOUNTTYPE
‘C’ - Consumption/Projection CDS
View) (Consumption CDS view
for Account Type)
AB = Stream
ZZZZ = Text Description
<DEF> = ‘U’ mandatory for Root
View
SQL View of ZXAB_ZZZ X = Type of CDS View (‘I’ – Basic ZIP2P_OVERDUE
CDS or Composite Interface View/ ‘C’ –
Consumption/Projection View)
ABC = Stream
ZZZ = Text Description
Business Z<X>_<AB>_<ZZZZ> Same name as the Root view of
Definition _U the VDM Model

Metadata ZC_<AB>_<ZZZZ>_ AB = Stream ZC_P2P_OVERDUEPO_EX


Extension EXTN ZZZ = Text Description TN

Use the same name as the


Consumption CDS view along with
the suffix ‘EXTN’

Service ZSD_<AB>_<ZZZ> AB = Stream ZSD_FIN_ACCTYPE


Definition ZZZ = Text Description

26
Object Names Naming Conventions Description Examples

Service Binding ZSB_<X>_<AB>_<ZZZ>_<DEF> X = ‘UI’ - If the service is ZSB_UI_FIN_ACCT


exposed as UI service / YPE_O2
‘API’ if the service is
exposed as Web API
AB = Stream
ZZZ = Text Description
<DEF> = ‘O2’, if the service
is bound to OData
protocol version 2 / ‘04’ if
service is OData protocol
version 4
Behavior Pool ZCL_BP_<AB>_<ZZZ> AB = Stream ZCL_BP_FIN_ACCT
– Class ZZZ = Text Description YPE
(Behavior
Implementatio
n)
Local Handler LHC_<AB>_<ZZZ> AB = Stream LHC_FIN_ACCTYP
Class (defined ZZZ = Text Description E
in the behavior
pool)
Local Saver LSC_<AB>_<ZZZ> AB = Stream LSC_FIN_ACCTYPE
Class (defined ZZZ = Text Description
in the behavior
pool)

2. Data Declaration

Data Declaration

S. No. Element Contents


1. Select-Options S_<description>
2. Parameters P_<description>
3. Checkbox CB_<description>
4. Radio button RB_<description>
5. Ranges GR_<description>
6. Global Variables GV_<description>
(Used throughout entire program)

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

24. Events <Event name>.... It should have form:


<Noun>_<participle>

Example: BUTTON_PUSHED

25. Local Type Definitions Within A TY_<type name>


Class (Recommendation) TY_INTERNAL_TYPE, TY_TREE_LIST

28
26. Data Definitions (Variables) <Variable name>...inside a class, follow the
program symbol naming conventions from
section 3.1.

Variables declared in attributes section are


global variable and should follow global variable
naming conventions.

Variables declared inside the methods are local


and should follow local variable naming
conventions.
27. Data Definitions (Constants) <Constant name>
(Recommendation)

When you name constants within a class, follow


the program symbol naming conventions from
section 3.1.
28. Attribute Access SET_<attribute name>, GET_<attribute name>

29. Event Handler Methods ON_<event name>


Example: ON_ENTER

30. Methods That Perform Type AS_<new type>


Conversions AS_STRING

31. Methods That Perform Type AS_<new type>


Conversions AS_STRING

Data Declaration
32. Methods that return a Boolean value IS_<adjective>
these methods may not return any IS_OPEN
exceptions.

Recommendation: use space


(constant abap_false). And 'x'
(constant abap_true) to represent
false and true respectively.

33. Check Methods CHECK_<objective>


CHECK_AUTHORIZATION

34. Flag Declaration Local: LFL_<Description>


Global: GFL_<Description>

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]

Functional Unit Test FUT_<Stream>_<RICEFW FUT_P2P_I110_Materia


Document ID>_<Description>.docx l no to [Link]

Technical Specification TSR_<Stream>_<RICEFW TSR_P2P_I110_Materia


Review checklist ID>_<Description>.xlsx 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

4. Transport Request Naming Conventions


As part of change management process, the following standards have to be followed when creating
transport requests for abap based systems.

4.1 Customizing Transport Requests


Rule: <Wave>-IMG-<RTM reference ID>: <free text>

Example. W0-IMG-P2P001: MM Account Assignment

RTM reference ID refers to requirement ID from the RICEFW list.

4.2 Workbench Transport Requests


Rule: <Wave>-<RTM Reference ID>-<RICEF Type>: <free text>

Example. W0-IMG-P2P001: MM Account Assignment

RTM reference ID refers to requirement ID from the RICEFW list.

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

4.4 Basis Transports


<Wave>_BAS_<Stream /RICEFW ID>_<Free form text>
Example. W0_BAS_Configuration of Time zone for SAP System
Example. W0_BAS_PP-E-0021_XYZ for PO functionality
Example. W0_BAS_XYZ Fiori Change

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’.

Stream Description Package

FIN Finance ZFIN

MDM Master Data ZMDM

SLS Order to Cash ZSLS

P2P Procure to Pay ZP2P

LOG Logistics ZLOG

DEV Other developments – e.g. ZDEV


Common Utilities

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.

5.3 BRF+ Entries


We have designed BRF+ applications for each Stream. Customized entries can be made, enabling variable
Parameters / Selection Options to be used in Variants, instead of using TVARV.
To maintain the customized entries, record should be created in the decision table.
1. Object id should be created by referencing the object ID as per the RICEFW
2. Based on the requirement filed name and low and high values can be maintained for the
field

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.

5.4 GIT Repository

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

You might also like