Professional Documents
Culture Documents
Check
General ABAP HANA
1 HANA Code transport needs to be considered -- Delivery Unit is N/A
properly handled
2 If HANA Live is implemented by customer, reuse the HANA Live N/A
Views
3 Existing views have been leveraged instead of creating new ones Pass
CDS View
1 Never use UNION and UNION ALL in the same view N/A
2 N/A
4 Proper Delivery Class has been maintained for newly created N/A
DDIC tables.
5 Proper heading is appearing for all Table maintenance Generator N/A
columns - especially, no '+' sign is appearing as column-heading.
Report Standard
1 All fields in the report have output lengths / field formats exactly Pass
as mentioned in the functional spec
2 Actual hard-copy output has been taken to check the layout and N/A
format
3 Events appear in the program with the order they are generally Pass
executed.
4 Report Header is according to project requirements Pass
5 Search help for selection fields should be available and should be Pass
same as we see it in standard transaction(If refering to any
standard field)
6 Make sure the error handling is properly done, instead of error Pass
message (from start-of-selection) use information type
message(with error) and leave list processing can be used to
return to selection screen
8 Try to use ALV class approach than function module approach Pass
(Object Oriented Approach) in case the program is run in
foreground mode.Background mode does not support ALV class
approach(Object Oriented Approach)
Workflow - Task
1 Agent assignment is maintained for all dialog tasks. N/A
2 Terminating events are attached to all asynchronous tasks. N/A
3 All dialog task have proper work item subject as well as work N/A
item description.
4 Redundant task containers are deleted. N/A
5 Agent assignment and classification properties of dialog tasks are N/A
saved in a customizing transport. (If transport setting is manual
then the agent assignment and classification attributes may be
recorded in a CTS using transaction RE_RHMOVE30).
Workflow Template
1 All container element names, step names and outcomes are N/A
elaborate and meaningful.
2 Values are not hardcoded in the workflow design instead - N/A
containers are declared with initial values.
3 The variables used in work item subject line for Send Mail steps N/A
should be short as max length of mail subject is only 50 char.
8 All bindings between event, workflow, task, block, method and N/A
rule are checked separately for syntax errors.
Conversions
1 BDC recording has been used if and only if no other option is N/A
available (e.g. Idoc/BAPI/Standard FM etc)
2 If LSMW is used, it is attached to a Transport-Request N/A
3 If BDC technique is used for data conversion, ensure date fields N/A
and field lengths have been handled appropriately.
4 For BDC call transactions ensure all errors have been handled and N/A
the program has been tested for all transaction modes (A/E/N).
3 Try to optimize the memory usage, use Refresh & FREE int_tab if N/A
the internal table is not required any more, This is deallocate the
memory of internal table
7 When processing internal tables make sure to clear the work area Pass
before you fill it e.g. in a loop statement (LOOP AT ...,), in
particular when using MOVE-CORRESPONDING or INTO
CORRESPONDING FIELDS OF.
Subroutines
1 Are all the parameters for the subroutine listed and described in Pass
the header?
2 Are the parameters and subroutine names descriptive? Pass
Data Access
1 In SELECT statement, only the fields, which are needed, are Pass
selected in the order that they reside on the database.
2 For selecting single row from a database table, use SELECT Pass
SINGLE if the full primary key is known. Otherwise, use UP to 1
Rows.
3 Is there any primary or secondary index for any of the fields used
in where clause of select from big database tables?
9 When using FOR ALL ENTRIES:If duplicate entries are not deleted N/A
from the internal table, data records are read unnecessarily from
the database. (try to put into temp. internal table, sort, delete
adjacent and then use for database selects)
Message
1 Messages should be self explanatory enough to be understood by Pass
the business users.
2 Dont use default message statement after function module call Pass
( message sy-msgid exception: If you see the sy-msgid would be
populated then you can use Message Sy-msgid...)
Hard Coding
1 Display format for date values are not hard coded - they are Pass
derived from user settings or country/any other business unit
specific settings.
2 Currency/quantity formats are not hard coded - they are derived N/A
from user settings or country/any other business unit specific
settings.
For amount values, the number of decimal places should follow
the corresponding currency code configuration (Table: TCURX).
5 File name and path are derived from Logical File / Selection- N/A
Screen / TVARVC Table / Project-Specific Constant Table / any
other dynamic logic - NO Hard Coded Literals/Constants are
present in Code for those.
6 Fixed values, used internally in the program (e.g. flags, table N/A
name/field name in ALV field catalog population, justification in
ALV etc.) are not used as hard coded literals. Instead constants
are used for them.
N/A
N/A
Pass
Pass
Pass
Pass
Pass
Pass
Pass
N/A
Pass
Pass
N/A
Pass
Pass
Pass
N/A
N/A
N/A
N/A
N/A
N/A
N/A
Pass
Pass
Pass
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
Pass
N/A
Pass
Pass
Pass
Pass
N/A
Pass
Pass
N/A
N/A
Pass
N/A
Pass
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
Pass
N/A
Pass
Pass
Pass
Pass
Pass
Pass
Pass
Pass
Pass
N/A
N/A
Pass
N/A
N/A
Pass
Pass
Pass
Pass
Pass
Pass
Pass
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
Pass
Pass
Pass
N/A
Pass
N/A
N/A
N/A
Pass
N/A
Pass
N/A
N/A
N/A