Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Client:
Project:
RICEFW ID:
Description:
Programmer:
Reviewed by:
Date Reviewed:
Rejections Number:
Errors Number:
##
##
OK-0
OK-n
FAIL-n
N/A
APPL
Not Applicable
Applicable
Critical*
Description
Status
Comments**
General Criteria
1
REQUIREMENTS
OK-0
OK-0
CODE INSPECTIONS
##
##
Program Attributes
3
Yes
Title
The title is a concise description
OK-0
##
Yes
Type
The type of program is specified correctly
OK-0
##
No
Application
The ABAP application has been set following the project standards
OK-0
##
Yes
Authorization Group
The appropriate authorization group has been used following the project
standards
N/A
##
No
Package
The appropriate package has been used following the project standards
OK-0
##
Yes
Function Module
Function module assigned to appropriate function group
OK-0
##
Yes
16
No
Program header:
- Standard program header (as per the pre-defined skeleton) for all new
programs (including Function Modules and all Include programs)
OK-0
##
17
Yes
Code Comments
Internal commenting has been made enough to ease program maintenance
and reliability of the code.
OK-0
##
18
No
OK-0
##
19
No
N/A
##
20
Yes
CUSTOM TRANSACTION
Transaction Name begins with Y or Z; same as custom ABAP
program.Description follows Report short text.
Calls Custom ABAP program which must have an Auth. Group associated to
it.
Object type: Program and selection screen (report transac
OK-0
##
21
No
CUSTOM TABLES:
Name begins with Z.Package.Delivery
Class.Environment/Tab.maint.generator. Function group Authorization
OK-0
##
Documentation
##
Naming Standards
298928427.xlsx
Page 1 of 25
Client:
Project:
RICEFW ID:
Description:
Programmer:
Reviewed by:
Date Reviewed:
Rejections Number:
Errors Number:
##
##
N/A
APPL
Not Applicable
Applicable
Critical*
Description
Status
22
No
The Naming Standards of the project have been followed (some may not
apply)
Program Name
Global Variables
Structures or PL/SQL tables
Internal Tables
Local Variables
Input Parameters in a FORM/PERFORM
Output Parameters in a FORM/PERFORM
Input/Output Param
OK-0
Comments**
##
23
No
Constants
Value of constants are not used as part of either its name or its comment.
Example: C_VA01 = 'VA01'.
All constants has a functional sense
OK-0
##
24
No
OK-0
##
25
Yes
Hardcoding
Constants should be used instead of hardcoding. If the project has a table
to maintain hardcoding then this table should be used
OK-0
##
26
No
Messages
Messages use long text for extended help
27
No
Currency
Currency calculations are performed between currency fields only
28
No
Units of measure
Calculations performed on fields with the same unit of measure
29
No
Uppercase
Keywords in uppercase
OK-0
##
30
Yes
All unused variables and program parts are removed from the program
OK-0
##
31
No
Variables
TYPE preferred to LIKE
OK-0
##
32
No
Event Structure
The standard structure for ABAP report coding has been followed as
outlined in the Programming Standards documentation
OK-0
##
33
Yes
SY-SUBRC
Checked to ensure proper inputs when dealing with tables (for example:
READ TABLE, SELECT, INSERT)
OK-0
##
34
Yes
OK-0
##
35
Yes
36
No
Message Class
The message class to be used is defined either in the report line or in the
MESSAGE statement depending on the project standards
Programming Standards
298928427.xlsx
##
OK-0
##
##
##
OK-0
##
Page 2 of 25
Client:
Project:
RICEFW ID:
Description:
Programmer:
Reviewed by:
Date Reviewed:
Rejections Number:
Errors Number:
##
##
N/A
APPL
Not Applicable
Applicable
Critical*
37
No
Description
Status
OK-0
Comments**
##
38
No
Text Elements
Each ABAP should have associated text elements and selection texts from
the source code placed within the Text Elements section
OK-0
##
39
Yes
Range Tables
For defining internal tables with the same structure as selection tables,
the RANGES statement should be used
40
No
OK-0
##
41
Yes
OK-0
##
42
No
Yes
##
43
44
Yes
CALL FUNCTION
Cost/Run-time: Factor 12
##
45
Yes
OK-0
##
46
Yes
OK-0
##
47
Yes
N/A
##
48
Yes
For Cluster tables, only the fields that are part of the key are qualified in
the WHERE option. The CHECK command is used to eliminate other
records
N/A
##
49
Yes
OK-0
##
50
No
OK-0
##
51
Yes
OK-0
##
52
Yes
OK-0
##
53
No
When using the AND or OR operator the most likely elimination criteria is
specified first. (Expressions are evaluated left to right and the evaluation
ends when the final result has been established)
54
Yes
##
Modularization
SQL Interfaces
298928427.xlsx
WHERE CLAUSE
For Transparent or POOL tables, the SELECT statement is as fully qualified
as possible with the WHERE option, including data fields that are not part
of the key
##
APPL
##
OK-0
##
Page 3 of 25
Client:
Project:
RICEFW ID:
Description:
Programmer:
Reviewed by:
Date Reviewed:
Rejections Number:
Errors Number:
##
##
N/A
APPL
Not Applicable
Applicable
Critical*
55
Yes
Description
N/A
##
56
Yes
OK-0
##
57
Yes
N/A
##
58
Yes
OK-0
##
59
Yes
Column Selection
SELECT statements only query the necessary columns from a table.
SELECT * is only used when more than one-third of the columns are being
used
OK-0
##
60
No
UP TO N ROWS:
When a full key is unknown and only one record is needed, the UP TO 1
ROWS appendage is added to the SELECT statement
Preferred:
SELECT FIELD1 FROM TABLE UP TO 1 ROWS.
ENDSELECT.
Avoid:
SELECT FIELD1 FROM TABLE.
EXIT.
N/A
##
61
No
Aggregates
When finding aggregates such as maximum, minimum sum, average, and
count, a SELECT list with the aggregate function is used instead of
programming the code
62
Yes
Nested Loops
Nested loops are avoided. If unavoidable, take advantage of parallel
cursor technique
OK-0
##
63
64
Yes
Yes
OK-0
##
##
65
Yes
For READ operations, the key fields are specified for READ access explicitly
OK-0
##
66
Yes
When performing BINARY search, the internal table must be first sorted by
the key
N/A
##
67
No
When performing direct reads, the BINARY SEARCH is used only when the
table contains more than 500 rows
72
Yes
CLEAR
Clear the header line of the internal table After DELETE
Clear the header line before ENDLOOP
CLEAR the internal table header line after APPEND
Internal Tables
298928427.xlsx
Status
Comments**
##
APPL
##
OK-0
##
Page 4 of 25
Client:
Project:
RICEFW ID:
Description:
Programmer:
Reviewed by:
Date Reviewed:
Rejections Number:
Errors Number:
##
##
N/A
APPL
Not Applicable
Applicable
Critical*
Description
Status
73
Yes
REFRESH
Internal tables are refreshed before using, not only at the beginning of the
program. It is preferred to refresh just before they are used within a
modular unit
OK-0
Comments**
##
74
Yes
FREE
The FREE command is used to release the memory allocated to internal
tables when the program is finished processing the data in the table and
when the following conditions exist:
1. The internal table is large
2. The internal table is sorted and repr
N/A
##
75
76
No
No
N/A
N/A
##
##
77
78
No
No
OK-0
OK-0
##
##
SORT
79
Yes
All SORT statements are qualified with the BY option and limited to the
fields that must be used to satisfy processing requirement
OK-0
##
80
No
OK-0
##
81
82
Yes
Yes
83
84
Yes
No
85
Yes
86
General Optimization
##
##
OK-0
##
##
Does the ABAP run with appropriate no rows selected criteria and
returns immediately?
OK-0
##
Yes
Does the ABAP run quickly with an appropriate single row expected result?
OK-0
##
86
87
Yes
Yes
N/A
OK-0
##
##
88
No
OK-0
##
89
90
OK-0
OK-0
##
##
91
92
OK-0
OK-0
##
##
94
Data declarations as far as possible are declared using like from a DDIC.
OK-0
##
95
OK-0
##
96
OK-0
##
97
98
OK-0
##
##
99
OK-0
##
93
298928427.xlsx
##
Page 5 of 25
Client:
Project:
RICEFW ID:
Description:
Programmer:
Reviewed by:
Date Reviewed:
Rejections Number:
Errors Number:
##
##
OK-0
OK-n
FAIL-n
N/A
APPL
Not Applicable
Applicable
Critical*
Description
Status
102
Within the WHERE clause, AND and OR statements exist that could be
replaced by > and < statements
103
104
OK-0
OK-0
##
##
105
N/A
##
N/A
##
107
N/A
##
108
Large selects exist that do not match any index. Always ensure an index is
being used
N/A
##
109
Do large selects exist that do not match an index due to skipping index
fields?
N/A
##
110
111
N/A
OK-0
##
##
112
Where possible, avoid accessing the same data more than once
OK-0
##
113
114
N/A
N/A
##
##
115
MOVE
When possible, the destination operands are kept as the same data type as
the source operands
OK-0
##
116
All LOOPs, IFs, CASEs, and similar statements are broken down to their
simplest form and nesting is not complicated unless absolutely necessary
OK-0
##
117
AT preferred to ON CHANGE OF
N/A
##
118
119
CASE Preferred to IF
IF/CASE
When using the AND or OR operator the most likely elimination criterion is
specified first
OK-0
N/A
##
##
120
121
WHILE Preferred to DO
CLEAR Field for Initialization
CLEAR field is used to initialize rather than explicit moves
Table headers and work areas are CLEAR at the end of loop process
OK-0
##
##
MOVE CORRESPONDING
It's only used for small tables or tables where most, but not all, fields need
to be moved
N/A
##
106
122
OK-0
OK-0
Comments**
100
101
##
##
##
123
When all fields need to be moved and the attributes for every field and
position are identical, the table is MOVEd as a group
N/A
##
114
N/A
##
298928427.xlsx
Page 6 of 25
Client:
Project:
RICEFW ID:
Description:
Programmer:
Reviewed by:
Date Reviewed:
Rejections Number:
Errors Number:
##
##
OK-0
OK-n
FAIL-n
N/A
APPL
Not Applicable
Applicable
Critical*
Description
Status
Comments**
115
COLLECT
When COLLECT semantics are needed, the COLLECT command is used.
Preferred:
SELECT matnr werks lgort umlme
FROM mard
INTO (v_mard3-matnr, v_mard3-werks
v_mard3-lgort, v_mard3-umlme).
COLLECT
116
##
117
Table Name
Follows standard and naming convention (ABxxxxxxxx).
Short Text
The title is a concise description
##
118
Development Class
The appropriate development class has been used.
##
119
120
Change Request
The appropriate project standard for creating and associating tasks to
change requests has been used.
120
N/A
##
N/A
TABLE INSPECTION
Object Attributes
N/A
##
<- Change value if required
##
##
##
121
120
121
OK-0
N/A
##
##
122
123
N/A
##
##
124
OK-0
##
298928427.xlsx
Page 7 of 25
Client:
Project:
RICEFW ID:
Description:
Programmer:
Reviewed by:
Date Reviewed:
Rejections Number:
Errors Number:
##
##
OK-0
OK-n
FAIL-n
N/A
APPL
Not Applicable
Applicable
Critical*
Description
Status
Comments**
125
126
OK-0
##
##
127
128
OK-0
OK-0
##
##
129
Field name
- Standard abbreviations used
- Standard prefixes and suffixes used
- Data is grouped logically
- Adequate documentation for German fields
- Short text exists for each filed name
OK-0
##
130
Data Element
- Follows standard and naming convention (ABxxxxxxxx).xxxxxxxx SAP
field name if possible
OK-0
##
131
Domain
- Follows standard and naming convention (ABxxxxxxxx).xxxxxxxx
- Use existing domain names if possible
OK-0
##
132
Y2K-Dates
Dates are in type DATE
OK-0
##
133
Numbers
Numbers are in type NUM or QUAN
OK-0
##
134
Money
Monetary values are in type CURR
OK-0
##
Documentation
APPL
Quality
Print Programs
N/A
135
145
Header and footer texts comply with the Standard texts.(if any)
136
146
147
148
149
150
N/A
N/A
##
151
##
##
N/A
152
158
153
159
154
##
160
##
##
##
##
298928427.xlsx
Page 8 of 25
Client:
Project:
RICEFW ID:
Description:
Programmer:
Reviewed by:
Date Reviewed:
Rejections Number:
Errors Number:
##
##
OK-0
OK-n
FAIL-n
N/A
APPL
Not Applicable
Applicable
Critical*
Description
155
161
156
Status
Comments**
##
##
##
##
Audit report displaying the records, which have been posted or not
is shown. (If required)
UNIT TEST PLAN INSPECTION
162
163
164
##
##
165
##
166
Test were conducted with HTML GUI in case the end user will use that GUI
(not PC GUI).
##
Report Criteria
APPL
167
Yes
Test all report and column headings are formatted exactly to report
specifications
N/A
##
168
Yes
Test that page headers correspond to data printed for a particular page
N/A
##
169
Yes
OK-0
##
170
Yes
OK-0
##
171
172
Yes
Yes
OK-0
OK-0
##
##
173
Yes
Verify that all sorts and totals operate as specified in the functional design
OK-0
##
174
Yes
OK-0
##
175
176
Yes
Yes
OK-0
OK-0
##
##
177
Yes
If the program has selection screen, the selection fields must have value
help (F4) wherever applicable. Use standard match code objects wherever
possible.
OK-0
##
178
Yes
N/A
##
179
Yes
OK-0
##
298928427.xlsx
Page 9 of 25
Client:
Project:
RICEFW ID:
Description:
Programmer:
Reviewed by:
Date Reviewed:
Rejections Number:
Errors Number:
##
##
N/A
APPL
Not Applicable
Applicable
Critical*
180
Yes
Description
OK-0
##
181
Yes
OK-0
##
182
Yes
List processing:
- All Similar Fields are written below correct heading and in columnar
format. E.g. WRITE UNDER variant of WRITE statement to be used
- Amount fields displayed with currency key, unless specified not
- Alignment of fields Amount, qu
OK-0
##
183
Yes
184
Yes
185
Yes
186
Status
Comments**
OK-0
APPL
##
<- Change value if required
OK-0
##
OK-1
##
Yes
OK-1
##
187
Yes
If applicable, test every logical variation in the data to ensure that the
screen flow continues as expected
OK-0
##
188
189
Yes
Yes
OK-0
OK-0
##
##
190
Yes
OK-0
##
191
Yes
If applicable, test that the object attributes are the same that in the
specified in the technical design
OK-0
##
192
Yes
Test that the number of records read are the same that in the input file
OK-0
##
193
Yes
Test that the number of records converted are the same that the read one
OK-0
##
194
Yes
Verify that the correct data entered is passed to the external system
OK-0
##
195
Yes
Test that data are exported in the correct format and sequence
OK-0
##
196
Yes
Verify that the interface handles properly all logical variation in the data
OK-0
##
197
Yes
Verify that export fields are of the correct length to handle maximum data
lengths
OK-0
##
198
Yes
199
Yes
Data sets are written into the file with proper length specification (Using
the describe table command), in order to avoid hard coding of length.
OK-0
##
200
Yes
N/A
##
298928427.xlsx
##
Page 10 of 25
Client:
Project:
RICEFW ID:
Description:
Programmer:
Reviewed by:
Date Reviewed:
Rejections Number:
Errors Number:
##
##
N/A
APPL
Not Applicable
Applicable
Critical*
Description
Status
201
Yes
Error handling:
- Proper error handling is done as per the standards.
- Errors can either be displayed on the screen or recorded in the protocol,
as required. Errors occurring should be re-processable
- Inbound interfaces should check for blank records
OK-0
Enhancement Criteria
N/A
Comments**
##
202
Yes
Yes
##
203
204
Yes
205
Yes
##
##
Yes
Verify that any information entered into the system via the
enhancement is properly committed to the database using a
combination of standard SAP forms, reports, and display
transaction
##
206
##
207
Yes
208
N/A
Yes
Yes
##
##
210
Yes
Verify that the format and spacing match that of the functional
design
211
Yes
209
OK-0
OK-n
FAIL-n
N/A
APPL
##
* Critical checks constitute grounds for code rejection if criteria are not met.
** Comments are required when a criterion has not been met.
298928427.xlsx
Page 11 of 25
Client:
Project:
RICEFW ID:
Description:
Programmer:
Reviewed by:
Date Reviewed:
Rejections Number:
Errors Number:
##
##
N/A
APPL
Not Applicable
Applicable
Critical*
Description
Status
Comments**
Criterion
Comment on Criterion
Status
Others
##
2
3
##
##
4
5
##
##
6
7
##
##
8
9
##
##
10
11
##
##
12
13
##
##
14
15
16
##
##
##
17
18
##
##
19
20
##
##
21
22
##
##
23
24
##
##
25
26
##
##
27
28
##
##
29
30
##
##
31
32
33
##
##
##
34
35
##
##
36
37
##
##
38
39
##
##
40
41
##
##
42
43
##
##
44
45
##
##
298928427.xlsx
Page 12 of 25
Client:
Project:
RICEFW ID:
Description:
Programmer:
Reviewed by:
Date Reviewed:
Rejections Number:
Errors Number:
##
##
OK-0
OK-n
FAIL-n
N/A
APPL
Not Applicable
Applicable
Critical*
Description
Status
Comments**
General Criteria
REQUIREMENTS
1
##
##
CODE INSPECTIONS
Program Attributes
3
Yes
Title
The title is a concise description
##
Yes
Type
The type of program is specified correctly
##
No
Application
The ABAP application has been set following the project standards
##
Yes
Authorization Group
The appropriate authorization group has been used following the project
standards
##
No
Package
The appropriate package has been used following the project standards
##
Yes
Function Module
Function module assigned to appropriate function group
##
Yes
##
16
No
Program header:
- Standard program header (as per the pre-defined skeleton) for all new
programs (including Function Modules and all Include programs)
##
17
Yes
Code Comments
Internal commenting has been made enough to ease program maintenance
and reliability of the code.
##
18
No
##
19
No
##
20
Yes
CUSTOM TRANSACTION
Transaction Name begins with Y or Z; same as custom ABAP
program.Description follows Report short text.
Calls Custom ABAP program which must have an Auth. Group associated to
it.
Object type: Program and selection screen (report transaction)
##
21
No
CUSTOM TABLES:
Name begins with Z.Package.Delivery
Class.Environment/Tab.maint.generator. Function group Authorization
##
Documentation
Naming Standards
298928427.xlsx
Page 13 of 25
Client:
Project:
RICEFW ID:
Description:
Programmer:
Reviewed by:
Date Reviewed:
Rejections Number:
Errors Number:
##
##
OK-0
OK-n
FAIL-n
N/A
APPL
Not Applicable
Applicable
Critical*
Description
22
No
The Naming Standards of the project have been followed (some may not
apply)
Program Name
Global Variables
Structures or PL/SQL tables
Internal Tables
Local Variables
Input Parameters in a FORM/PERFORM
Output Parameters in a FORM/PERFORM
Input/Output Parameters in a FORM/PERFORM
Table Parameters in a FORM/PERFORM
Statics used in Subroutines (FORM/PERFORM and FUNCTION)
Parameters
Select-Options
Radio Buttons
Checkboxes
Pushbuttons
Subscreens
Combo Boxes
Frames
Field Symbols
Field Groups
Ranges
Local Internal Tables
Table Controls
Tab Strips
Status
Comments**
##
23
No
Constants
Value of constants are not used as part of either its name or its comment.
Example: C_VA01 = 'VA01'.
All constants has a functional sense
##
24
No
##
25
Yes
Hardcoding
Constants should be used instead of hardcoding. If the project has a table
to maintain hardcoding then this table should be used
##
26
No
Messages
Messages use long text for extended help
##
27
No
Currency
Currency calculations are performed between currency fields only
##
28
No
Units of measure
Calculations performed on fields with the same unit of measure
##
29
No
Uppercase
Keywords in uppercase
##
30
Yes
All unused variables and program parts are removed from the program
##
31
No
Variables
TYPE preferred to LIKE
##
Programming Standards
298928427.xlsx
Page 14 of 25
Client:
Project:
RICEFW ID:
Description:
Programmer:
Reviewed by:
Date Reviewed:
Rejections Number:
Errors Number:
##
##
OK-0
OK-n
FAIL-n
N/A
APPL
Not Applicable
Applicable
Critical*
32
No
Event Structure
The standard structure for ABAP report coding has been followed as
outlined in the Programming Standards documentation
Description
Status
Comments**
##
33
Yes
SY-SUBRC
Checked to ensure proper inputs when dealing with tables (for example:
READ TABLE, SELECT, INSERT)
##
34
Yes
##
35
Yes
##
36
No
Message Class
The message class to be used is defined either in the report line or in the
MESSAGE statement depending on the project standards
##
37
No
##
38
No
Text Elements
Each ABAP should have associated text elements and selection texts from
the source code placed within the Text Elements section
##
39
Yes
Range Tables
For defining internal tables with the same structure as selection tables,
the RANGES statement should be used
##
40
No
##
41
Yes
##
42
No
Yes
##
43
44
Yes
CALL FUNCTION
Cost/Run-time: Factor 12
##
Modularization
SQL Interfaces
##
N/A
45
46
47
Yes
Yes
Yes
298928427.xlsx
##
##
Page 15 of 25
Client:
Project:
RICEFW ID:
Description:
Programmer:
Reviewed by:
Date Reviewed:
Rejections Number:
Errors Number:
##
##
OK-0
OK-n
FAIL-n
N/A
APPL
Not Applicable
Applicable
Critical*
Description
Status
Comments**
##
48
Yes
For Cluster tables, only the fields that are part of the key are
qualified in the WHERE option. The CHECK command is used to
eliminate other records
Yes
##
49
No
##
50
51
Yes
##
##
52
Yes
No
Yes
53
54
##
##
##
55
Yes
56
57
Yes
Yes
Yes
Yes
Column Selection
SELECT statements only query the necessary columns from a table.
SELECT * is only used when more than one-third of the columns are being
used
##
##
58
59
298928427.xlsx
##
Page 16 of 25
Client:
Project:
RICEFW ID:
Description:
Programmer:
Reviewed by:
Date Reviewed:
Rejections Number:
Errors Number:
##
##
OK-0
OK-n
FAIL-n
N/A
APPL
Not Applicable
Applicable
Critical*
Description
Status
Comments**
##
60
No
UP TO N ROWS:
When a full key is unknown and only one record is needed, the UP TO 1
ROWS appendage is added to the SELECT statement
Preferred:
SELECT FIELD1 FROM TABLE UP TO 1 ROWS.
ENDSELECT.
Avoid:
SELECT FIELD1 FROM TABLE.
EXIT.
ENDSELECT
##
Aggregates
When finding aggregates such as maximum, minimum sum, average, and
count, a SELECT list with the aggregate function is used instead of
programming the code
Internal Tables
61
No
62
Yes
Nested Loops
Nested loops are avoided. If unavoidable, take advantage of parallel
cursor technique
##
63
Yes
##
64
65
Yes
Yes
##
##
66
Yes
When performing BINARY search, the internal table must be first sorted by
the key
##
67
No
When performing direct reads, the BINARY SEARCH is used only when the
table contains more than 500 rows
##
72
Yes
CLEAR
Clear the header line of the internal table After DELETE
Clear the header line before ENDLOOP
CLEAR the internal table header line after APPEND
##
73
Yes
REFRESH
Internal tables are refreshed before using, not only at the beginning of the
program. It is preferred to refresh just before they are used within a
modular unit
##
74
Yes
FREE
The FREE command is used to release the memory allocated to internal
tables when the program is finished processing the data in the table and
when the following conditions exist:
1. The internal table is large
2. The internal table is sorted and reprocessed several times
3. Program is processing several internal tables
##
75
76
No
No
##
##
77
No
No
##
78
SORT
79
Yes
All SORT statements are qualified with the BY option and limited to the
fields that must be used to satisfy processing requirement
##
APPL
##
General Optimization
298928427.xlsx
Page 17 of 25
Client:
Project:
RICEFW ID:
Description:
Programmer:
Reviewed by:
Date Reviewed:
Rejections Number:
Errors Number:
##
##
OK-0
OK-n
FAIL-n
N/A
APPL
Not Applicable
Applicable
Critical*
80
No
##
81
82
Yes
Yes
##
##
83
84
Yes
No
##
##
85
Yes
Does the ABAP run with appropriate no rows selected criteria and
returns immediately?
##
86
Yes
Does the ABAP run quickly with an appropriate single row expected result?
##
86
87
Yes
Yes
##
##
88
No
89
##
90
91
##
##
92
93
##
##
94
Data declarations as far as possible are declared using like from a DDIC.
##
95
##
96
97
##
##
98
99
##
##
100
101
##
##
102
Within the WHERE clause, AND and OR statements exist that could be
replaced by > and < statements
##
103
##
105
106
##
##
107
##
108
Large selects exist that do not match any index. Always ensure an index is
being used
##
109
Do large selects exist that do not match an index due to skipping index
fields?
##
110
111
##
##
104
298928427.xlsx
Description
Status
Comments**
##
##
Page 18 of 25
Client:
Project:
RICEFW ID:
Description:
Programmer:
Reviewed by:
Date Reviewed:
Rejections Number:
Errors Number:
##
##
OK-0
OK-n
FAIL-n
N/A
APPL
Not Applicable
Applicable
Critical*
Description
Status
Comments**
112
Where possible, avoid accessing the same data more than once
##
113
114
##
##
115
MOVE
When possible, the destination operands are kept as the same data type as
the source operands
##
116
All LOOPs, IFs, CASEs, and similar statements are broken down to their
simplest form and nesting is not complicated unless absolutely necessary
##
117
118
AT preferred to ON CHANGE OF
CASE Preferred to IF
IF/CASE
When using the AND or OR operator the most likely elimination criterion is
specified first
##
##
WHILE Preferred to DO
CLEAR Field for Initialization
CLEAR field is used to initialize rather than explicit moves
Table headers and work areas are CLEAR at the end of loop process
##
121
122
MOVE CORRESPONDING
It's only used for small tables or tables where most, but not all, fields need
to be moved
119
120
##
##
##
123
When all fields need to be moved and the attributes for every field and
position are identical, the table is MOVEd as a group
##
114
##
115
COLLECT
When COLLECT semantics are needed, the COLLECT command is used.
Preferred:
SELECT matnr werks lgort umlme
FROM mard
INTO (v_mard3-matnr, v_mard3-werks
v_mard3-lgort, v_mard3-umlme).
COLLECT v_mard3 into I_mard3.
ENDSELECT.
##
Avoid:
SELECT matnr werks lgort umlme
FROM mard
INTO (v_mard-matnr, v_mard-werks
v_mard-lgort, v_mard-umlme).
APPEND v_mard to i_mard.
ENDSELECT.
LOOP at I_mard3 into v_mard3
COLLECT v_mard into I_mard2.
ENDLOOP
116
##
TABLE INSPECTION
Object Attributes
298928427.xlsx
N/A
Page 19 of 25
Client:
Project:
RICEFW ID:
Description:
Programmer:
Reviewed by:
Date Reviewed:
Rejections Number:
Errors Number:
##
##
OK-0
OK-n
FAIL-n
N/A
APPL
Not Applicable
Applicable
Critical*
Description
Status
Comments**
Table Name
Follows standard and naming convention (ABxxxxxxxx).
##
117
Short Text
The title is a concise description
##
118
Development Class
The appropriate development class has been used.
##
119
120
Change Request
The appropriate project standard for creating and associating tasks to
change requests has been used.
120
##
##
##
121
120
121
##
##
122
123
##
##
124
125
##
##
126
##
Documentation
127
128
##
##
N/A
129
Field name
- Standard abbreviations used
- Standard prefixes and suffixes used
- Data is grouped logically
- Adequate documentation for German fields
- Short text exists for each filed name
130
Data Element
- Follows standard and naming convention (ABxxxxxxxx).xxxxxxxx SAP
field name if possible
##
##
131
132
298928427.xlsx
Domain
- Follows standard and naming convention (ABxxxxxxxx).xxxxxxxx
- Use existing domain names if possible
Quality
Y2K-Dates
Dates are in type DATE
##
Page 20 of 25
Client:
Project:
RICEFW ID:
Description:
Programmer:
Reviewed by:
Date Reviewed:
Rejections Number:
Errors Number:
##
##
OK-0
OK-n
FAIL-n
N/A
APPL
Not Applicable
Applicable
Critical*
Description
Status
Comments**
133
Numbers
Numbers are in type NUM or QUAN
##
134
Money
Monetary values are in type CURR
##
Print Programs
N/A
135
145
136
Header and footer texts comply with the Standard texts.(if any)
Code review done for all languages (if any)
146
147
148
149
150
N/A
151
N/A
##
##
##
N/A
152
158
153
159
154
160
##
##
##
155
161
156
##
##
##
##
##
##
Audit report displaying the records, which have been posted or not
is shown. (If required)
UNIT TEST PLAN INSPECTION
162
163
##
165
##
166
Test were conducted with HTML GUI in case the end user will use that GUI
(not PC GUI).
##
164
Report Criteria
##
APPL
167
Yes
Test all report and column headings are formatted exactly to report
specifications
##
168
Yes
Test that page headers correspond to data printed for a particular page
##
298928427.xlsx
Page 21 of 25
Client:
Project:
RICEFW ID:
Description:
Programmer:
Reviewed by:
Date Reviewed:
Rejections Number:
Errors Number:
##
##
OK-0
OK-n
FAIL-n
N/A
APPL
Not Applicable
Applicable
Critical*
169
Yes
Description
##
170
171
Yes
Yes
##
##
172
Yes
Verify that the formatting and spacing is identical to the functional design
##
173
Yes
Verify that all sorts and totals operate as specified in the functional design
##
174
Yes
##
175
176
Yes
Yes
##
##
177
Yes
If the program has selection screen, the selection fields must have value
help (F4) wherever applicable. Use standard match code objects wherever
possible.
##
178
Yes
##
179
Yes
##
180
Yes
##
181
Yes
##
182
Yes
List processing:
- All Similar Fields are written below correct heading and in columnar
format. E.g. WRITE UNDER variant of WRITE statement to be used
- Amount fields displayed with currency key, unless specified not
- Alignment of fields Amount, quantity fields to be aligned right, Name,
description fields to be aligned left, etc
- All the events in the pf-status used shall be handled
- Hotspots used at line-selection event
- Correct color formatting to be used
- SY-PAGNO cleared before any new print or leave to list-processing
- At-user selection event handled
##
183
Yes
184
Yes
298928427.xlsx
Status
Comments**
##
N/A
Page 22 of 25
Client:
Project:
RICEFW ID:
Description:
Programmer:
Reviewed by:
Date Reviewed:
Rejections Number:
Errors Number:
##
##
OK-0
OK-n
FAIL-n
N/A
APPL
Not Applicable
Applicable
Critical*
Description
Status
Comments**
Yes
##
185
Yes
##
186
Yes
Yes
##
187
188
##
189
Yes
Test that invalid data is recognized and properly reported per the
functional specifications
Yes
##
190
Yes
If applicable, test that the object attributes are the same that in
the specified in the technical design
##
191
Yes
Test that the number of records read are the same that in the input
file
##
192
Yes
Test that the number of records converted are the same that the
read one
##
193
Yes
##
194
195
Yes
Test that data are exported in the correct format and sequence
Yes
Verify that the interface handles properly all logical variation in the
data
##
196
Yes
##
197
Yes
##
198
Yes
Data sets are written into the file with proper length specification
(Using the describe table command), in order to avoid hard
coding of length.
Yes
##
##
199
##
##
200
##
Error handling:
- Proper error handling is done as per the standards.
- Errors can either be displayed on the screen or recorded in the
protocol, as required. Errors occurring should be re-processable
- Inbound interfaces should check for blank records in the input file.
- Outbound interfaces should not have any blank lines in the output
file.
201
Yes
Enhancement Criteria
N/A
202
Yes
Yes
Yes
##
203
204
##
Yes
205
298928427.xlsx
##
Page 23 of 25
Client:
Project:
RICEFW ID:
Description:
Programmer:
Reviewed by:
Date Reviewed:
Rejections Number:
Errors Number:
##
##
OK-0
OK-n
FAIL-n
N/A
APPL
Not Applicable
Applicable
Critical*
Description
Status
Comments**
##
206
Yes
Verify that any information entered into the system via the
enhancement is properly committed to the database using a
combination of standard SAP forms, reports, and display
transaction
##
207
Yes
208
N/A
Yes
Yes
##
210
Yes
Verify that the format and spacing match that of the functional
design
211
Yes
209
OK-0
OK-n
FAIL-n
N/A
APPL
##
##
* Critical checks constitute grounds for code rejection if criteria are not met.
** Comments are required when a criterion has not been met.
298928427.xlsx
Page 24 of 25
Client:
Project:
RICEFW ID:
Description:
Programmer:
Reviewed by:
Date Reviewed:
Rejections Number:
Errors Number:
##
##
OK-0
OK-n
FAIL-n
N/A
APPL
Not Applicable
Applicable
Critical*
Description
Status
Comments**
Criterion
Comment on Criterion
Status
Others
##
2
3
##
##
4
5
##
##
6
7
##
##
8
9
##
##
10
11
##
##
12
13
##
##
14
15
16
##
##
##
17
18
##
##
19
20
##
##
21
22
##
##
23
24
##
##
25
26
##
##
27
28
##
##
29
30
##
##
31
32
33
##
##
##
34
35
##
##
36
37
##
##
38
39
##
##
40
41
##
##
42
43
##
##
44
45
##
##
298928427.xlsx
Page 25 of 25