Go on link..

link us with ...

Sunday, January 9, 2011

SAP ABAP CODE REVIEW CHECKLIST BDC

1. Check List

Objects

1.1. Program Description

A Program Description Adequate:

1.2. Base Program Usage

A Prescribed base Program Used:

1.3. Naming Convention Correct

A Program Name:
B Development Class:
C Tables:
D Internal Table:
E Work Fields (Global/Local):
F Parameters:
G Selection Options:
H Includes:
I Types:
J Field-Groups:
K Field-Symbols:
L Constants:
M Forms:
N Statics:
O Objects/Classes:
P Methods:

1.4. Modification Change Management

A Change History In Program Header:
B Begin of Modification Line Included:
C End of Modification Line Included:
D Inserted Line History:
E Commented Line History:
F Suitable Comments Include:

1.5. Program Elements Sequence

Tables
Data (including Internal Table)
Work Fields
Field-Groups
Classes
Includes
Selection Options
Parameters
1.6 Program Events
Load-of-program
Initialisation
At Selection-Screen Output
At Selection-Screen on Help/Value Request
At Selection-Screen
Start-of-Selection
Get
End-of-Selection
At Line-Selection
At PFXX
At User-Command
Top-of-Page
End-of-page
Forms
Methods
Interfaces

1.7. Indentation

A Indentation Proper (use of Pretty Printer)

1.8. Includes (Specific to project)

A RVADTABL Included

1.9. Function Modules Used

A TOP-OF-PAGE
B Y_BU_REPORT_HEADING (Specific to project)
1.10. Text elements used:
A Title / heading line
B Selection texts with clear meaning
C Text symbols for literal texts
1.11. Selection Screen / Other Screens:
A Easy to understand and not cluttered. (Define additional selection-screen, if the Screen looks crowded or cluttered)
B Screen elements placed in logical order
C Logically related elements in separate blocks
D Adequate info texts for correct selections
E Function Keys with info-texts / labels
F Icons with info-texts / labels
G Error messages meaningful
H Menu bar proper
1.12. Data Takeon
A In case of BDC & Downloads – Does the Output list the number of records Read?
B In case of BDC & Downloads – Does the Output list the number of records Inserted / Downloaded ?
C In case of BDC & Downloads – Does the Output list the number of records in error? Is an Error file created with the incorrect records?
D In case of BDC, if there are erroneous records, Is there a dialog asking whether we should still continue the process?
E In case of BDC – Does the Output list the Error messages?
F If BDC processing is by a scheduled session then appropriate details like session name, user name, locked or not etc accepted ? ( Can be done using include BDCRECXX ).
1.13. Performance Issues :
Database accesses
A "Select where " instead of "Select.. Check "
Please Insert ‘ Mandt’ ’ and client specified in all Select statements
B Select single used where appropriate
C Select .. Into table.. used instead of append (Try to avoid appending records and processing in a Select.. Endselect loop)
D Select * avoided wherever possible
E Nested select avoided if possible
F For mass modifications based on a condition, use " Update where "
in place of " Select .. Where ..update Endselect "
G Select aggregate records directly from the database tables rather than selecting individual records into an internal table and then obtaining aggregate values
Internal Table accesses
H Tables defined as sorted types with keys, wherever possible
I Key fields for sorting are at the beginning of the table structure
J " Loop at where " used instead of " Loop at . If "
K Tables filled directly by "Select from into / appending corresponding fields of " instead of "Select from append endselect "
L Tables modified with " Modify transporting f1, f2,… " instead of " Modify itab"
M Tables sorted in proper order of fields before reading for final output
N Access a specific record by " Read table with key f1 = k1 binary search " instead of " Loop at if endif.Endloop"
O Table work area cleared before copying records / fields between internal tables
P Use " Collect " in place of " Append " for appending unique or summarised records to an internal table
Q For mass modifications based on a condition, use " Modify where " in place of " Loop at If move … Modify . Endif. Endloop "
For BDCs source file reading
R If the source data file for a BDC is very voluminous, then it should be stored on the application server so that the entire procedure may be run in the background. Logical and Physical filenames to be used in this case.
1.14. Test data:
A Test data available
1.15. Documentation
A Documentation Complete
1.16. Exceptional Handling
A Is sy-subrc being checked after every select statement. In case it fails , any steps?
1.17. Modularization
A Forms created for modularization

1.18. Messages (Specific to project)

A 398(00) with Text-Mnn used

1.19. External Calls

A Programme Contains External Calls

1.20. General

A Extended Check done?

B Code Inspector check done?

No comments:

link us...

For Visitors

if you want to publish or Add something on ERP, SAP , SAP FUNCTIONAL, SAP ABAP then mail us along with your email-id. contain must be yours

email-id :- avinashkr_raj@yahoo.com(any email)

email-id :- avinaskr_raj.abap@blogger.com ( use only gmail)