You are on page 1of 42

Guidelines for filling up the

1 Please ensure that the ABAP code section is filled up mandatorly when filling for Enhancement
2 Developer should adhere to the Naming Conventions and Coding standards .
3 Please ensure that review checklist is revised whenever new changes are made or code is upd
4 Developer should fill this checklist and send it to reviewer for Code review
5 For any item if you select N/A or No, please ensure that you provide a proper comment
6 Attach the SLIN screenshot and in case of unavoidable issues, please document them in the re
7 Attach the Code Inspector screenshot and in case of unavoidable issues, please document the
8 Move to Production will be approved only if OTC will have the attached final confirmation mail f
9 DO NOT RELEASE your TR unless it is reviewed

Process for New Enhancements(Technical/Functiona


1 Code Review should be done in Development system for all the scratch/new developments bef
2 Developer should make sure Code Inspector has no errors before transporting any change to A
3 Above steps to be performed again if any code changes are required after Functional Testing/U

Process for Changes in Existi


1 Code Review should be done in Development system before transporting the changes to acce
2 Once the code changes are completed in development system , developer should send it for re
3 Above steps to be performed again if any code changes are required after Functional Testing/U
s for filling up the checklist
lling for Enhancement , Interfaces & Conversion, SAP Forms, Webdynpro, Workflows.
rds .
e made or code is updated
w
oper comment
ocument them in the relevant section
, please document them in the relevant section
nal confirmation mail from the Code Reviewer

chnical/Functional Developments) and Projects(ND)


new developments before transporting changes to acceptance/quality system
orting any change to Acceptance
er Functional Testing/UAT

Changes in Existing Solution


g the changes to acceptance/quality system
er should send it for review. Review will be done only for the changed part.
er Functional Testing/UAT
SAP ABAP Development Standards and Naming Conventions

Refer here for Naming Conventions and Standards

Volvo_ABAP
Development
Standards.pdf
Naming Conventions
Code Review Checklist - ABAP

Project Name Master Finance Developer A305026


CR no# / Remedy case no# : Reviewed by A260607
Program :
ZFI_CURRENCY_FACT
OR Transaction code :
Object Name(s), Object Type(s) ZFI_CFACT Review Date 21.01.2020

FD2K978512
FD2K978589
FD2K978725
FD2K979938
Related Objects Transport# FD2K984591

S.No. Description Self Review Peer Review


1. Version & Cross Reference Check
1.1 Version conflict (between DEV and Production system) is checked
YES YES
before changing the object ?
1.2 Check for Cross reference of objects (like Function Group, tables
YES YES
etc.) in the TR being moved
1.3 Modification History maintained or not YES YES

2. General
2.1 Is the name of object and the declarations inside as per the naming
YES YES
standards of Volvo
2.2 Have all the objects (Main
Program/Includes/Tables/Structures/Domains/Data
elements/Tcode/Screens) been assigned to proper Package and YES YES
Transport Request?
2.3 Is formatting of amount and quantity fields done by using CURRENCY and UNIT options N/A N/A
2.4 Is clearing of work areas done, wherever required? YES YES
2.5
Split your coding into manageable pieces. Modularize your functions YES YES
(function modules, methods) and encapsulate them with clearly
defined input and output parameters. Is your code modularized ?
2.6 Avoid use of external PERFORMs. YES YES
2.7 Is Hard coding avoided ? YES YES
2.8 Internal Tables/Ranges declared without header lines? YES YES
2.9 Is unnecessary code removed ? (Applicable for new developments) YES YES
2.10 Is CASE statements used instead of IF statements? CASE
statements bring clarity to the conditional constructs and are a little YES YES
faster than IF statements. Each CASE/ENDCASE block must contain
a statement block following WHEN OTHERS.
2.11 Has DESCRIBE statement been used instead of count inside the LOOP..ENDLOOP YES YES
2.12 Obsolete Statements not used - For more information refer to Online Help and put OBSOLETE as the keyword
YES YES
- ON CHANGE OF not used N/A N/A
- TABLES * not used N/A N/A
- Operators ><, =<, => not used (Instead use <>,<=, >=) N/A N/A
2.13 Function Modules which are not released should not be used. Are any such function modules u N/A N/A
2.14 Is FREE MEMORY ID 'XXXX' used after the IMPORT. (Delete the data clusters if not required fur N/A N/A
2.15 Is SY-SUBRC message handling done ? YES YES

3. Data types/Variables
3.1 Don’t use data definitions without object reference YES YES
3.2 Avoid global declarations whenever possible YES YES
3.3 Do not use type pools, instead use types in the dictionary. N/A N/A
Avoid “TABLES“-commands wherever possible and do not use
tables parameters for function modules or forms(except for a N/A N/A
3.4 DYNPRO interface)
3.5 Avoid Type ANY since it usually leads to missing transparency and static checks cannot usually YES YES
4. Multi-lingual Program Support
4.1 Use text elements in case of multilingual report development. YES YES

5. OO ABAP
5.1 When calling the class method object reference has to be checked(IF l_obj_ref_to class is not ini N/A N/A
5.2 Try and Endtry block has to be used if in case particular calling method has exceptions N/A N/A
5.3 CATCH block has to be defined for each and every exception defined for that method N/A N/A
Make sure that you have called the method get_text() to capture the
error message of the exception raised and is N/A N/A
5.4 reported properly
5.5 Avoid calling method with out handling the Exceptions N/A N/A
When you access data that is global for a method inside the method,
it is a good idea to distinguish it from the methods local data via the N/A N/A
5.6 appropriate selectors

6. Selection Screen
6.1 Are all the possible screen validations done ? YES YES
6.2 Variables that change frequently (like date etc) should be defined as Variable Variant using ta N/A N/A

7. Database Read/Write
7.1 Avoid using Native SQL, Logical Database N/A N/A
7.2 Use INDEXes for database hit N/A N/A
7.3 Instead of Nested Selects,use ABAP JOINS or FOR ALL ENTRIES or VIEWS(dictionary) YES YES
7.4 Logging database changes for a table must not be activated by default N/A N/A
7.5 Have all the keys been mentioned in SELECT SINGLE.? N/A N/A
7.6 Has SELECT UPTO 1 ROWS …. ENDSELECT for non data base key field selection? N/A N/A
7.7 SELECT * has NOT been used N/A N/A
7.8 Aggregate clauses are NOT used in SELECT. (viz. SUM, COUNT, ORDER BY, GROUP BY) is it N/A N/A
7.9 CHECK statement is not used in SELECT - ENDSELECT loop YES YES
7.10 Has the internal table used in the "FOR ALL ENTRIES IN " been checked for emptiness ? N/A N/A
7.11 Are all SELECTs,delete, inse coded outside LOOP - ENDLOOP? N/A N/A
7.12 Avoid using Select Distinct, Use DELETE ADJACENT. Make sure that internal table is sorted before using
N/A DELETE N/A
Use Modify Statement to update the database only when you are
sure that the operation involves both INSERT N/A N/A
7.13 and UPDATE
7.14 Has Lock mechanism handled properly ? N/A N/A
7.15 Appropriate use of Commit Work N/A N/A
- Use COMMIT WORK if you want to commit all the d/base updates that were made during the c N/A N/A
- Use COMMIT WORK if you want to permananently save the changes even if the transaction t N/A N/A
- Use COMMIT WORK if you want to execute all subroutines registered using PERFORM ON N/A N/A
- Keep in mind that implicit d/base commit happens on its own when the transaction ends or wh N/A N/A
7.16 Appropriate use of ROLLBACK WORK N/A N/A
- Use ROLLBACK WORK if you want to roll back all the d/base updates that were made during t N/A N/A
- To trigger a d/base roll back and end current database LUW N/A N/A
- To undo all the changes made in current dialog step N/A N/A
- Keep in mind that all implicit d/base commits can be rolled back to
ensure d/base consitency. If COMMIT WORK is already issued, N/A N/A
changes cannot be rolled back using ROLLBACK WORK. Click to
follow
7.17 Limit the INNER JOIN to 3 tables N/A N/A
7.18 When reading TEXT tables, has SY-LANGU been specified in the WHERE clause N/A N/A

8. Internal Table
8.1 Check whether field symbol is assigned before using it YES YES
8.2 Use Field symbols instead of work area with LOOP statement when YES YES
modifying records of internal table
8.3 Detach a field-symbol explicitly with UNASSIGN N/A N/A
8.4 Is the Binary search clause used with the read table statement and internal table is sorted before N/A N/A
8.5 Internal tables must be defined with the appropriate table type based on usage (HASHED, SORTED, AndN/ASTANDARD). N/A
8.6 Avoid using” into corresponding fields of “ in internal table, work area, etc.. N/A N/A
8.7 Appropriate message classes and types used N/A N/A
8.8 In a where clause have the fields been put in the same order as the existing index ? N/A N/A
8.9 Has the transporting clause been used along with the 'MODIFY internal table ' statement ? N/A N/A
8.10 If the development includes BDC, have the user default settings been taken into account while p N/A N/A
8.11 In programs where file(s) are read from or written to, does the
program check for the emptiness of the file and hence N/A N/A
terminate without proceeding further ?
8.12 Are all exceptions handled during a CALL FUNCTION ? N/A N/A

9. Data Dictionary
9.1 Is enhancement category mentioned? N/A N/A
9.2 Label maintained for the data elements? N/A N/A
9.3 Has table maintainance generator and t-code been provided for custom tables requiring maintai N/A N/A
9.4 Has appropriate size category been used? N/A N/A

10. Error Handling


10.1 Are ‘divide by zero’ errors checked, by checking value of the divisor to be nonzero before each di N/A N/A
10.2 Are size errors being checked, by ensuring that the sizes of variables
used for storing totals and additions are large enough N/A N/A
to hold anticipated maximum values
Use MESSAGE ... RAISING <exception> in Function modules. The N/A N/A
calling module / program should handle exceptions
10.3 and process messages.

12. Extended Check and Clean Up


12.1 Have following been removed :
·      Unused variables YES YES
·      Unused text elements YES YES
·      Unused tables from TABLES statement YES YES
·      Commented out parts of the code YES YES
·      Code segments which do nothing YES YES
12.2 Is extended program check completed and all errors/warnings removed N/A N/A
12.3 Use tools like EPC (txn SLIN) and Code Inspector to perform thorough check on the code.

Check Successful successful

Comments /Required Action: Requirements


New program development for displaying the excha
list - ABAP

A305026
A260607

21.01.2020

FD2K978512
FD2K978589
FD2K978725
FD2K979938
FD2K984591

Comments
equirements
ew program development for displaying the exchange rate factor values
Code Review Checklist - Enhancements

Project Name Developer


CR no# / Remedy case no# : Reviewed by
Object Name(s), Object
Type(s) Review Date

Related Objects Transport#

S.No. Description Self Review Peer Review

1. BTEs
1.1 Correct type of BTE Interface is used or not (Process or P&S) ?

2. User Exits
2.1 Do not use CALL..SUBMIT,COMMIT WORK/ROLLBACK,STOP,REJECT,MESSAGE I,MESSAGE W statements

3. BAdis
3.1 Use the new Badi instead of the older one ,if the new one serves the purpose
3.2 Migrate Classic Badis to new BAdi (enhancement spot ) wherever possible
3.3 For Filters,each method created in the interface, the filter value must be defined as the importing parameter so
that the application program can provide the filter value to the enhancement method

3.4 For Coding,ABAP OO constructs only have to used since Badi is based on ABAP Objects

4. Implicit Enhancements
4.1 Use Implicit Enhancements as the last resort only if no Badis,Explicit Enhancements,BTEs are available.

Check Successful

Comments /Required Action:


Comments
Code Review Checklist - Interfaces & Conversions

Project Name Developer


CR no# / Remedy case
no# : Reviewed by
Object Name(s), Object
Type(s) Review Date

Related Objects Transport#

S.No. Description Self Review Peer Review

1. File Interface -FrontEnd/Application Server


1.1 For File/directory location always use LOGICAL FILE(for Platform Independent File names)
1.2 For import /export ,employ the methods of the new GUI Class(CL_GUI_FRONTEND_SERVICES)
1.3 instead of the
With OPEN old upload/download
DATASETs specify the function modules( WS_UPLOAD
MODE,ENCODING etc )

2. BDC/Call Transaction
2.1 There should not be usage of BDC / Call Transaction for Transactions with Enjoy SAP controls and
Multiline elements such as Table Controls
2.2 Has newer tools like BAPIs,Idoc been used if applicable

3. LSMW
3.1 Usage of appropriate technique for uploading data within an LSMW migration object (BDC / BAPI / Idoc
/ Direct Input) based on the Application Data to be uploaded
3.2 Usage of Mapping Rules, User Defined Routines and Mapping Table in case of repetitive and mapping
across multiple LSMW migration objects to ensure reusability
3.3 Validations performed on the data before upload with appropriate messaging
3.4 Mapping and Translation Rules between Flat File Structure and SAP Target Structure Fields (fields of
BDC Screen, BAPI, Idoc, DI Program) clearly documented in Tech Spec
3.5 Error Handling procedure to be described from a technical perspective (Sequence of steps / Batch jobs
to be run / Impact of reprocessing a failed Idoc on the application data)

4. BAPI
4.1 After calling BAPIs ,the code needs to call BAPI TRANSACTION COMMIT
4.2 Has the Standard SAP Object(Purchase Order etc) been extended with custom fields, if yes then these
fields need to be via BAPI Extensions?
4.3 For BAPI interfaces , with a few exceptions, only the internal SAP data format should be used

5. Idoc
For Custom Idocs: Usage of Custom Message Types / Idoc Types is to be clearly justified means
standard is not relevant for the requirement
5.1
5.2 No COMMIT WORK is to be issued from within the Idoc

6. Proxy
6.1 Error Handling in Server Proxy. FEH (Forward Error Handling) Framework is used? (??)
- Is service implementation class used (Which uses IF_ECH_ACTION interface)
- Is extended XML handling deactivated? (???) is it not a design point?
- Set UPDATE TASK LOCAL is used
- Is standard FAULT MESSAGE Class of the proxy class implemented for raising Exceptions?

Check Successful

Comments /Required Action:


Comments
Project Name
CR no# / Remedy case no# :

Object Name(s), Object Type(s)

Related Objects
S.No. Description

1. SAP Scripts / Smart Forms


1.1 Are the printer details furnished and configured ?
1.2 Is the layout format well defined ?
1.3 Is any language specific reporting required ?
1.4 Global Definitions maintained ? ( data / type / field symbols / Form routines)
1.5 Text Modules/Std Text ?

2. Adobe Forms Interfaces


2.1 Is Standard Interface exists for this requirement ? (If YES please use Standard)
2.2 Is the interface generic.So that it can be used by other similar kind of adobe forms?
2.3 Is the code modularized in the Form routine instead of directly using in the code intialization? (minimal coding in
2.4 Correct interface type is used ?
2.5 All the Currency/Quantity fields used in the form are declared in the Interface ?

3. Adobe Forms
3.1 Is the correct layout type defined based on the print or interactive form?(For print Forms- Standard Layout and fo
be ZCI layout)
3.2 All interactive forms must be set to form type “Zero Client Installation” (ZCI)
3.3 To ensure all scripts are adjusted to work with ZCI mode transaction SFP_ZCI_UPDATE must be run against the
3.4 Avoid as much of form UI scripting(java Script or FormCalc) as the scripting can hit the performance.
3.5 After running SFP_ZCI_UPDATE the developer should check all scripts have the correct script type (JavaScript o
are NOT corrected by SFP_ZCI_UPDATE
3.6 Is the fields in the context of the form well structured.(Make use of folders-For .e.g. Header details in one folder a
3.7 For address printing make use of Address node in the context.
3.8 All the fields appearing in the context is used in the form layout?
3.9 Are all the unused fields in the context are deactivated?
3.10 For the text node (Include/Text module/Dynamic).The checkbox for no text appear no error is ticked?
3.11 All forms will have a Master Page containing the header/footer areas, and the content areas for the rest of the for
and content areas should follow a common template across all forms, be in the same X/Y positions, and have the
all forms

3.12 Subforms should be used to logically group fields as these simplify maintenance and allow visibility and protectio
3.13 subform
Where drop rather
down than theare
lists individual
based on field level. All
possible fields values,
system should exist
such within a subform.
as fixed values ofThere
a ABAP should not bedomain,
Dictionary any fiel
Excessive
a check use of nested subforms should be avoided as per Adobe recommendations
3.14 If a drop table,
down the drop
list is down liston
dependent should be dynamically
another derivednot
form field, it should frombethe possiblewhile
enterable system
the values. Thisfield
parent form minimizes
is emp
the form
form fieldover
has time,
been as drop down
assigned a lists a
value, will reflect
script on current
the system
parent formvalues,
field and reduces
should the immediately)
(preferably risk of incorrect dataaen
trigger U
3.15 The
systemline items should always be present in the body page.
backendupdates
system to derive the dependent drop down list.
Check Successful

Comments /Required Action:


Code Review Checklist - SAP Forms

art Forms
nished and configured ?
defined ?
reporting required ?
ained ? ( data / type / field symbols / Form routines)

erfaces
sts for this requirement ? (If YES please use Standard)
So that it can be used by other similar kind of adobe forms?
in the Form routine instead of directly using in the code intialization? (minimal coding in the interface)
used ?
y fields used in the form are declared in the Interface ?

defined based on the print or interactive form?(For print Forms- Standard Layout and for interactive it should

t be set to form type “Zero Client Installation” (ZCI)


adjusted to work with ZCI mode transaction SFP_ZCI_UPDATE must be run against the form.
I scripting(java Script or FormCalc) as the scripting can hit the performance.
UPDATE the developer should check all scripts have the correct script type (JavaScript or Formcalc) as these
FP_ZCI_UPDATE
t of the form well structured.(Make use of folders-For .e.g. Header details in one folder and so on).
ke use of Address node in the context.
n the context is used in the form layout?
in the context are deactivated?
e/Text module/Dynamic).The checkbox for no text appear no error is ticked?
ter Page containing the header/footer areas, and the content areas for the rest of the form. The header/footer
d follow a common template across all forms, be in the same X/Y positions, and have the same height/widths for

d to logically group fields as these simplify maintenance and allow visibility and protection to be set at the
ndividual
re based on field level. All
possible fields values,
system should exist
such within a subform.
as fixed values ofThere
a ABAP should not bedomain,
Dictionary any fields
or without
a list of avalues
subform.
from
subforms
own list should
should bebe avoided
dynamically as per Adobe
derived from recommendations
the possible system values. This minimizes the need to maintain
endent on another form field, it should not be enterable while the parent form field is empty. Once the parent
op down
gned lists a
a value, will reflect current
script system
formvalues, and reduces the immediately)
risk of incorrect dataaentry
Useraffecting
Event todependent
ways be present in theon the page.
body parent field should (preferably trigger the
e the dependent drop down list.
Developer
Reviewed by

Review Date

Transport#
Self Review Peer Review Comments
Code Review Checklist - WebDynpro

Project Name Developer


CR no# / Remedy case no# : Reviewed by

Object Name(s), Object Type(s) Review Date

Related Objects Transport#

S.No. Description Self Review


1. Naming Conventions and Declarations
1.1 Is the name of object and the declarations inside are as per the naming standards of Volvo
1.2 Has all the objects assigned to proper Package and Transport Request?
1.3 Version conflict (between DEV and Production system) is checked before changing the object ?
1.4 Is keyword Constant used for non-modifiable declarations
1.5 Modification History maintained or not

2. WebDynpro
2.1 Do not implement Data intensive operations in UI layer
2.2 Avoid database selects in the WebDynpro code.Use the corresponding BAPIs ,Methods
2.3 Are ABAP OO Classes like Assistance class are being used for application coding ?
2.4 Are Windows/Views only used for the sole purpose of hosting views and context?
2.5 Are a reasonable number of views put in a single WD Component instead of creating multiple WD Components ?
2.6 Unneccessary usage of dynamic programming and dynamic component avoided
2.7 Are singleton nodes used in case of nesting in the context ?
2.8 Is deep nesting of containers, Groups and Tabstrips avoided ?
2.9 Is the UI element TreeByKey or TreeByTableNestingColumn used instead of the Tree UI element ?
2.10 Is the checkbox "Accessibility Checks Active" ticked in the WD Component properties
2.11 Are the WD Component Instances deleted when no longer needed
2.12 (IF_WD_COMPONENT_USAGE=>DELETE_COMPONENT)
Are the OTR texts defined for all the labels, texts(where ever appropriate) in properties of all the UI elements
2.13 Has the Generation limit been checked for all the components developed
2.14 Sufficients commets are written at the beginning of every major block to explain the processing logic.
2.15 Prefer the use of the Row Layout to the Grid or Matrix Layout if you don't need horizontal alignment
2.16 If from Matrix or Grid Layout is to be choosen, prefer to take Matrix Layout
2.17 Don't add your own 'Custom' scroll containers', instead, utilize the inbuilt scrolling capability of Browser/Netweaver
business client
2.18 Hook Method - wddoinit() : All the initialization code should go into this method
2.19 Hook Method - wddoexit() : All the cleanup code should go into this method

3. Error Handling
3.1 Is SY-SUBRC check performed whereever required ?

4. Extended Check and Clean Up


4.1 Have following been removed :
·      Unused variables
·      Unused text elements
·      Unused tables from TABLES statement
·      Commented out parts of the code
·      Code segments which do nothing
4.2 Is extended program check completed and all errors/warnings removed

Check Successful

Comments /Required Action:


Peer Review Comments
Code Review Checklist - Workflows

Project Name Developer


CR no# / Remedy case no# : Reviewed by
Object Name(s), Object
Type(s) Review Date

Related Objects Transport#

S.No. Description Self Review


1. Naming Conventions and Declarations
1.1 Is the name of the object and the declarations inside are as per the naming standards of Volvo
1.2 Has the object been assigned to a proper package and transport request?
1.3 Check the naming convetions of elements used in the workflow and tasks.

2. Workflow
2.1 Have all the methods of IF_WORKFLOW interface been activated
2.2 Workflow Enviornment setup is completed and the verfication workflow is checked -in Transaction SWU3
2.3 Workflows must always terminate when the workflow is no longer relevant - eg, PO Approval is no longer relevant if the PO is
Cancelled/Deleted - Use Terminating Events in the WF Header
2.4 When work is to be sent to a widening pool of users, e.g. as part of escalation, then the “Re-evaluate Rules of Active Work
Items” response should be used to implement this scenario.
2.5 This involves of Deadline Monitoring
Implementation
2.6 Calculation of deadlines by business calendar will be implemented as a public method in a central utility class which uses the
designated Factory Calendar to determine deadline dates and times according to the business calendar.
2.7 Direct email notification steps should use step type “Send Mail”. Where email notification is required to the user’s standard
Outlook/Lotus Notes email address, the email should be sent to the user’s user id in SWHACTOR format ('US" prefixed to user
name) - The Recepirnt Type Should be 'G' - Org Object. Transaction SO16 should have "Oganisational Units" Checked under
Addressing tab and "Send to Home Address" selected under MailSys.Grp tab

2.8 Workitem text standards are set according to the need of the functionality.
2.9 Priorty of the workitem is clearly mentioned with Action text.
2.10 Footer text is predefined and used as Include Text- which is defined in transaction SE61
2.11 Body text standards are determined and generalized and used as Include Text- which is defined in transaction SE61
2.12 In the view history or log all the technical steps must be hidden.
2.13 Usage of subworkflow is recommended if you are dealing with a large workflow.
2.14 All the tasks needing action must have an agent assignment - there should be NO task which may have agent data as empty -
else the work item will go to every user. To prevent this, is there a check in the workflow/coding to raise an exception if there is
no agent?
2.15 Always make sure that your TASK for which agents have been assigned is saved in your transport request. If you face any
problem you can manually maintain the transport line using program RHMOVE30 (Transaction RE_RHMOVE30).
2.16 If UWL is being used - Are necessary views defined according to activity groups and the approriate XMLs loaded correctly?

2.17 If UWL is being used - If a dynamic parameter is passed to the Workitem, are the necessary configs done in SWFVISU?

2.18 Are all loops in the workflow been tested for loop end condition?

2.19 Are all method exceptions been tested (if any)?

2.20 For all Responsibility Rules, is the proper documentation maintained which is visible in OOCU_RESP (description Button)?

2.21 Rule Basics - Have all the basic parts ID, Abbreviation, Description, Long Description, Category, Container and Terminate on
rule resolution failure been specified
2.22 Has the Terminate if Rule Resolution has no Result flag been set appropriately?
2.23 Did you explore already provided SAP Standard rules instead of creating your own
2.24 All the event linkages have been taken care of and are in ACTIVE status
2.25 If the workflow needs to be started automatically, it is usaually best to use Events than SAP WAPI FMs
2.26 Avoid programmed rules if you can because these can add significantly to development time
2.27 Has Short Text and Task description been maintained for the Work Item Text
2.28 Have appropriate terminating events been defined for asynchronous tasks?
2.29 Have appropriate possible agents been assigned to the task?
2.30 Does the workflow permit restart in the event of error from any point where error is likely to occur?
3. Primary Diagnosis
3.1 Verify SWUD, consistency check for Tasks and Workflows.
3.2 Debugging with ABAP class/Business Object Builder
Finding and fixing Work Items
3.3 - Diagnosis of workflows with errors - SWI12_DIAG
3.4 - Work Item Selection - SWI1
3.5 - Work item Frequency - SWI2_FREQ

4. Secondary Daignosis
4.1 Verify workflow customizing SWU3.
4.2 Activation status event log SWEL.
4.3 Check event type linkage SWE2 .
4.4 Check event simulation SWU0 .
4.5 Check Work item list SWI1.
4.6 Check Task Editor/Workflow Builder PFTC/SWDD.
4.7 Check event SWUE, create event.
4.8 Check Workflow Trigger SWUS.
5. Extended Check and Clean Up
5.1 All the ABAP related checks are applicable for all the coding done for the workflow

Check Successful

Comments /Required Action:


Peer Review Comments
SWUD.doc
Extended Syntax Check (SLIN) Sc

Exceptions why some of the errors, warnings or m


Reasons for unavoidabe Erro
1
2 Existing error before my changes.
3
4
5
6
7
8
9
10

Reasons for unavoidabe Warn


1
2
3 Existing error before my changes.
4
5
6
7
8
9
10

Reasons for unavoidabe Messa


1
2
3 Existing error before my changes.
4
5
6
7
8
9
10
ax Check (SLIN) Screen Shot

List down all the


fields, data objects,
rors, warnings or messages can't be removed syntax etc that is
unavoidable
ns for unavoidabe Errors

List down all the


fields, data objects,
syntax etc that is
for unavoidabe Warnings unavoidable
List down all the
fields, data objects,
syntax etc that is
for unavoidabe Messages unavoidable
List down all the
fields, data objects,
syntax etc that is
unavoidable

List down all the


fields, data objects,
syntax etc that is
unavoidable
List down all the
fields, data objects,
syntax etc that is
unavoidable
Code Inspector (CI) Screen shot (post remo

Exceptions why some of the errors, warnings or m


Reasons for unavoidabe Erro
1 Error due to the variable declaraion, Which has already defined in other window.
2
3
4
5
6
7
8
9
10

Reasons for unavoidabe Warn


1 No Warning.
2
3
4
5
6
7
8
9
10

Reasons for unavoidabe Messa


1
2
3
4
5
6
7
8
9
10
en shot (post removal of all the Defects)

rors, warnings or messages can't be removed


ns for unavoidabe Errors
ndow.

for unavoidabe Warnings


for unavoidabe Messages

You might also like