SlideShare a Scribd company logo
1 of 4
Successful & Resourceful SAP ABAP Developer
I have the privilege of being a ABAP developer for past 9 years and IT industry as a programmer
for 12 years and now being a ABAP technical expert and development manager for 12 SAP
implementations, I have come across different working patterns of a professional ABAP
developer. During this time I have met a few ABAP programmers that were very good with
technical aspects and also some that were excellent ABAP development consultants who could
manage every aspect of a SAP development project whether undertaking a custom development,
BADI implementations or enhancement project. Remember that as a technical SAP expert you
are the critical piece of a project responsible for realizing the vision of SAP customer business
processes into production. I think it is very important to know a lot of different programming
aspects during an SAP implementation project and follow certain guidelines that can make an
SAP ABAP professional very successful in your career.

Steps for being an Efficient SAP ABAP Programmer or SAP Technical Team Lead

1. Review Business Requirements & Write Functional Specification
The first part of any ABAP development project begin with meeting the end users or business
experts and understand the business requirements that need to be implemented in the SAP system
during the realization phase. A best approach is to conduct workshops to gather all the business
requirements. Make sure that if any SAP function consultants are involved than they are in the
meetings as well. After all the business requirements are collected, either a SAP functional
consultant or business expert will write a detailed functional specification. Review the functional
specification until the document has all the details, different business scenarios and expected
goals clearly defined. A well defined functional specification should contain UML diagrams and
test case scenarios. It is important to have an official signoff on the functional specification
before continuing with design and development.

2. Review ABAP Development Standards
In ideal case, your SAP Project Lead or ABAP Development Manager should have created a
programming standards and guidelines document. Review this document so that you follow the
naming conventions for function modules, classes, dictionary objects, software components,
name spaces and proxies (if using SAP XI / PI), program input/output parameters, etc just to
name a few. Following the guideline for the project helps maintain a consistent coding approach
and also helps other functional and technical analysts to read and debug your code. ABAP
objects naming should begin with Z if it will be migrated to SAP production system and Y if it
will not be migrated into the production system.

3. Write and Review Test Cases

The test case documents are written by the business experts or functional SAP consultants in
most SAP implementation projects. But on some SAP implementation projects a programmer
may be required to write test cases. Before writing a test case review the functional specification
document thoroughly and review the written test case with the business users or functional
consultants. Get a sign-off as mentioned in most steps in this article. As an ABAP Development
Manager for a variety of SAP implementation projects, my goal has been to keep my team
motivated and always cover the team against any change of scope on the development tasks.
Having a sign-off at each phase of a SAP custom development or enhancement tasks always
helps the SAP implementation team and project management team keep in sync which is a vital
to complete the SAP implementation in time and budget.

4. Write and Review Technical Design Specifications
Read the functional specification and list all the development objects that would be needed to
implement the required functionality in the SAP system. First step is to draw a flowchart and
review with technical and business experts. The technical design document should include a
technical overview, list of new database objects, ABAP objects that can be reused, a data model
and class diagram (if using ABAP OO classes). It is highly recommended to have a rough
prototype in the sandbox system (Development system if no SAP sandbox system is available) if
the development being done is complex or if the end deliverable is not well defined. You should
then review your prototype with functional experts and business users. Make sure that the ABAP
Development team lead or manager signs off on the prototype. If effort required to complete the
ABAP programming task is not presented and approved by the senior project management then
this would be a good time to get the development estimate and timeline approved.

5. Realization of the Specification – ABAP Development
During this step you will be creating development objects and implementing the code in the SAP
development system. Before you begin, if prototype was done in the sandbox system then
analyze the prototype and design specification. Remember that quality and reusability of existing
ABAP objects are more important than strictly following the design specification. Determine
which existing dictionary objects can be reused for this topic. If new dictionary objects or classes
needs to be created then ensure that these objects can be extended and reused for other
development tasks. It may require extra effort to develop objects that are reusable and flexible.
This one time effort for building reusable ABAP objects during the course of a development
project can potentially save a lot of work for programming similar objects that could otherwise
utilize already built objects. Review your approach with an SAP technical team lead or a
development manager on your project before deviating from the technical design specification
and implementing your own ideas. If you are involved in SAP XI (now Process Integration)
related tasks or creating enterprise services then this is the best area where you could reuse
existing objects. Review the message types that already exist within your SAP business unit and
see if any existing messages can be extended with new fields. Review with the team lead
whether the communication should be synchronous or asynchronous before you generate
proxies.

6. SAP Development Best Practices
SAP ABAP (or JAVA if working on SAP Netweaver) development best practices should be
followed throughout the development lifecycle of the project. Although this aspect depends on
your project technical manager, I personally have maintained a checklist for developers in my
team on all projects and it has been a tremendous success in delivering high quality output on all
development tasks. Here are a few best practices worth adapting in your project. Check whether
you adhere to all naming conventions as described in the programming standards set for your
implementation project. Include comments in your code to allow someone else to easily
understand your programs. This is particularly helpful when you work in large teams and
multiple people work with same objects. Ensure that you have check for user authorization if you
are building transactions or web user-interfaces that will require human interaction. Check that
you do not have ABAP code segments that could take a hit on performance like nested loops,
nested select statements (use views if desired), excess database commits (persistent objects or
buffering alternatives may be a good option), etc. Field symbols are a great asset when it comes
to processing internal tables and also variables with unknown data types that are resolved at
runtime. Field symbols are very similar to concept of using pointers in OO programming
landscape. Check if all exceptions are handled and error messages are communicated accurately
to the end users. As an ABAP programmer it should be well accepted by now that short dumps
should not be OK to occur. All these do occur in unknown special case scenarios the short dumps
should be fixed.

7. ABAP Code Reviews and Performance
As a ABAP programmer you should test your code upon completion for all possible scenarios.
Verify that end results are same as that expected in the documented test cases. Perform ABAP
runtime analysis to check for performance of your code. Seek suggestions from your technical
team lead or manager on how to improve code performance if you notice any red flags during the
runtime analysis. Schedule a formal code review with your mentor or a senior ABAP developer
once the development is completed and tested by all responsible developers. Make any revisions
and retest your code against the desired output as documented in the test scripts. Remember that
code reviews is not to find flaws in your programming but it will only make you a better ABAP
developer and maintain consistency.

8. Documentation
Make sure you write an end user documents with overview of the functionality or enhancement
upon completion. Include screenshots where possible. Prepare documentation keeping in mind
that an end user unfamiliar with your deliverable can read the document and test the
functionality. Include contact information in this document for users to easily reach the SAP
technical team for any questions.

9. User Acceptance Testing
Now that your ABAP coding is completed and reviewed by technical experts, it is time for the
business users to perform a formal user acceptance testing. UAT testers will check whether the
output meets business process requirements and suggest any improvements or modifications to
the delivered functionality. After completion of these fixes or modifications you should request a
formal sign-off on the functionality.

10. Migration to SAP Test System and Production System
Quality assurance engineers will test your functionality in the SAP QA environment to verify
that everything is working in your delivered functionality as tested during user acceptance
testing. Also any problems in transporting your ABAP objects across SAP systems will be
identified and addressed during this step. If no problems are found then your transports will be
approved to be migrated to SAP production system in the next transport cycle.

You have just learned how to be an efficient SAP ABAP Developer or per say a high quality
Senior ABAP expert right from writing specifications until realizing your implementation in
production system. Use this article as a guideline as there are many more aspects to improve
yourself to be a good ABAP programmer which is not possible to cover in a brief article like this
one. You can always contact me with any suggestions or ideas you may seek for your SAP
implementation.

More Related Content

What's hot

Sap manual testing
Sap manual testingSap manual testing
Sap manual testingDele N.
 
Calidad en entornos SAP
Calidad en entornos SAPCalidad en entornos SAP
Calidad en entornos SAPGlobe Testing
 
HP ALM, HP QC 11,QC 11, Quality Center 11, SAP TAO, SAP TAO 3.0, SAP TAO 4.0,...
HP ALM, HP QC 11,QC 11, Quality Center 11, SAP TAO, SAP TAO 3.0, SAP TAO 4.0,...HP ALM, HP QC 11,QC 11, Quality Center 11, SAP TAO, SAP TAO 3.0, SAP TAO 4.0,...
HP ALM, HP QC 11,QC 11, Quality Center 11, SAP TAO, SAP TAO 3.0, SAP TAO 4.0,...vlearnqtp
 
Chethan Updated Resume
Chethan Updated ResumeChethan Updated Resume
Chethan Updated ResumeChethan H
 
PEGA CSA7. 1 exam-blueprint
PEGA CSA7. 1 exam-blueprintPEGA CSA7. 1 exam-blueprint
PEGA CSA7. 1 exam-blueprintAshock Roy
 
Divya Chopde_ Test Analyst_1
Divya Chopde_ Test Analyst_1Divya Chopde_ Test Analyst_1
Divya Chopde_ Test Analyst_1Divya Chopde
 
JBoss Application Server - Curso JBoss JB366
JBoss Application Server - Curso JBoss JB366JBoss Application Server - Curso JBoss JB366
JBoss Application Server - Curso JBoss JB366César Pajares
 
Kusum Gupta_3.3 yrs
Kusum Gupta_3.3 yrsKusum Gupta_3.3 yrs
Kusum Gupta_3.3 yrsKusum Gupta
 
Business Analyst Requirements Management
Business Analyst Requirements Management Business Analyst Requirements Management
Business Analyst Requirements Management Mark Borowski
 

What's hot (20)

Resume1
Resume1Resume1
Resume1
 
Sap manual testing
Sap manual testingSap manual testing
Sap manual testing
 
Calidad en entornos SAP
Calidad en entornos SAPCalidad en entornos SAP
Calidad en entornos SAP
 
Hari Hara Nandan-Profile
Hari Hara Nandan-ProfileHari Hara Nandan-Profile
Hari Hara Nandan-Profile
 
HP ALM, HP QC 11,QC 11, Quality Center 11, SAP TAO, SAP TAO 3.0, SAP TAO 4.0,...
HP ALM, HP QC 11,QC 11, Quality Center 11, SAP TAO, SAP TAO 3.0, SAP TAO 4.0,...HP ALM, HP QC 11,QC 11, Quality Center 11, SAP TAO, SAP TAO 3.0, SAP TAO 4.0,...
HP ALM, HP QC 11,QC 11, Quality Center 11, SAP TAO, SAP TAO 3.0, SAP TAO 4.0,...
 
sai-resume_latest
sai-resume_latestsai-resume_latest
sai-resume_latest
 
Difference between versions of primavera 6,7,R8.1,R8.2,R8.3
Difference between versions of primavera 6,7,R8.1,R8.2,R8.3Difference between versions of primavera 6,7,R8.1,R8.2,R8.3
Difference between versions of primavera 6,7,R8.1,R8.2,R8.3
 
Chethan Updated Resume
Chethan Updated ResumeChethan Updated Resume
Chethan Updated Resume
 
Nandini-CV
Nandini-CVNandini-CV
Nandini-CV
 
Karuna Resume
Karuna ResumeKaruna Resume
Karuna Resume
 
Understand SAP ASAP 8.0
Understand SAP ASAP 8.0Understand SAP ASAP 8.0
Understand SAP ASAP 8.0
 
PEGA CSA7. 1 exam-blueprint
PEGA CSA7. 1 exam-blueprintPEGA CSA7. 1 exam-blueprint
PEGA CSA7. 1 exam-blueprint
 
Divya Chopde_ Test Analyst_1
Divya Chopde_ Test Analyst_1Divya Chopde_ Test Analyst_1
Divya Chopde_ Test Analyst_1
 
Reshma Resume 2016
Reshma Resume 2016Reshma Resume 2016
Reshma Resume 2016
 
JBoss Application Server - Curso JBoss JB366
JBoss Application Server - Curso JBoss JB366JBoss Application Server - Curso JBoss JB366
JBoss Application Server - Curso JBoss JB366
 
Dinesh openspan
Dinesh openspanDinesh openspan
Dinesh openspan
 
Kusum Gupta_3.3 yrs
Kusum Gupta_3.3 yrsKusum Gupta_3.3 yrs
Kusum Gupta_3.3 yrs
 
SAP - SOLUTION MANAGER
SAP - SOLUTION MANAGER SAP - SOLUTION MANAGER
SAP - SOLUTION MANAGER
 
Business Analyst Requirements Management
Business Analyst Requirements Management Business Analyst Requirements Management
Business Analyst Requirements Management
 
CV_Sanjay
CV_SanjayCV_Sanjay
CV_Sanjay
 

Viewers also liked

Kolaj menggunakan ict@paint
Kolaj menggunakan ict@paintKolaj menggunakan ict@paint
Kolaj menggunakan ict@paintWes Mirid
 
Presentasjon om biler2
Presentasjon om biler2Presentasjon om biler2
Presentasjon om biler2Abdelhay1961
 
வெற்றி தோல்வி Copy
வெற்றி தோல்வி   Copyவெற்றி தோல்வி   Copy
வெற்றி தோல்வி CopyLalitha Lalli
 
Chapter 8 presentation
Chapter 8 presentationChapter 8 presentation
Chapter 8 presentationmeganmcleod
 
GWC14: Mario herger - "Enterprise Gamification And The Blue Collar Worker"
GWC14: Mario herger - "Enterprise Gamification And The Blue Collar Worker" GWC14: Mario herger - "Enterprise Gamification And The Blue Collar Worker"
GWC14: Mario herger - "Enterprise Gamification And The Blue Collar Worker" gamificationworldcongress
 
Muusad1 091213080053-phpapp01
Muusad1 091213080053-phpapp01Muusad1 091213080053-phpapp01
Muusad1 091213080053-phpapp01Elis Sarapuu
 
BACTERIAL INFECTION AND IMMUNE SYSTEM RESPONSE
BACTERIAL INFECTION AND IMMUNE SYSTEM RESPONSEBACTERIAL INFECTION AND IMMUNE SYSTEM RESPONSE
BACTERIAL INFECTION AND IMMUNE SYSTEM RESPONSEDiana Agudelo
 
Presentasjon om biler2
Presentasjon om biler2Presentasjon om biler2
Presentasjon om biler2Abdelhay1961
 
Presentation4
Presentation4Presentation4
Presentation4nrushing3
 
PNPM-MP dari perspektif Akademisi
PNPM-MP dari perspektif AkademisiPNPM-MP dari perspektif Akademisi
PNPM-MP dari perspektif AkademisiArdi Novra
 
J-AMS 勉強会 その1(AWS)
J-AMS 勉強会 その1(AWS)J-AMS 勉強会 その1(AWS)
J-AMS 勉強会 その1(AWS)Hiroyuki Kiyomizu
 
Teknik menjawab bahasa malaysia 11
Teknik menjawab bahasa malaysia 11Teknik menjawab bahasa malaysia 11
Teknik menjawab bahasa malaysia 11Subaidah Sudin
 

Viewers also liked (20)

Tugas agama
Tugas agamaTugas agama
Tugas agama
 
Kolaj menggunakan ict@paint
Kolaj menggunakan ict@paintKolaj menggunakan ict@paint
Kolaj menggunakan ict@paint
 
Presentasjon om biler2
Presentasjon om biler2Presentasjon om biler2
Presentasjon om biler2
 
வெற்றி தோல்வி Copy
வெற்றி தோல்வி   Copyவெற்றி தோல்வி   Copy
வெற்றி தோல்வி Copy
 
Grunt
GruntGrunt
Grunt
 
Chapter 8 presentation
Chapter 8 presentationChapter 8 presentation
Chapter 8 presentation
 
GWC14: Mario herger - "Enterprise Gamification And The Blue Collar Worker"
GWC14: Mario herger - "Enterprise Gamification And The Blue Collar Worker" GWC14: Mario herger - "Enterprise Gamification And The Blue Collar Worker"
GWC14: Mario herger - "Enterprise Gamification And The Blue Collar Worker"
 
C2 bird
C2 birdC2 bird
C2 bird
 
Muusad1 091213080053-phpapp01
Muusad1 091213080053-phpapp01Muusad1 091213080053-phpapp01
Muusad1 091213080053-phpapp01
 
Eng am lit - copy
Eng am lit - copyEng am lit - copy
Eng am lit - copy
 
2011 Palo Alto County Iowa Laborshed Summary
2011 Palo Alto County Iowa Laborshed Summary2011 Palo Alto County Iowa Laborshed Summary
2011 Palo Alto County Iowa Laborshed Summary
 
Astrologia
AstrologiaAstrologia
Astrologia
 
BACTERIAL INFECTION AND IMMUNE SYSTEM RESPONSE
BACTERIAL INFECTION AND IMMUNE SYSTEM RESPONSEBACTERIAL INFECTION AND IMMUNE SYSTEM RESPONSE
BACTERIAL INFECTION AND IMMUNE SYSTEM RESPONSE
 
Trzy ekrany
Trzy ekranyTrzy ekrany
Trzy ekrany
 
Presentasjon om biler2
Presentasjon om biler2Presentasjon om biler2
Presentasjon om biler2
 
Presentation4
Presentation4Presentation4
Presentation4
 
PNPM-MP dari perspektif Akademisi
PNPM-MP dari perspektif AkademisiPNPM-MP dari perspektif Akademisi
PNPM-MP dari perspektif Akademisi
 
J-AMS 勉強会 その1(AWS)
J-AMS 勉強会 その1(AWS)J-AMS 勉強会 その1(AWS)
J-AMS 勉強会 その1(AWS)
 
Teknik menjawab bahasa malaysia 11
Teknik menjawab bahasa malaysia 11Teknik menjawab bahasa malaysia 11
Teknik menjawab bahasa malaysia 11
 
Excel basics
Excel basicsExcel basics
Excel basics
 

Similar to Sap+abap

Gaurav_Singh-SAP_ABAP_Profile
Gaurav_Singh-SAP_ABAP_ProfileGaurav_Singh-SAP_ABAP_Profile
Gaurav_Singh-SAP_ABAP_ProfileGaurav Singh
 
shankarresumehacer
shankarresumehacershankarresumehacer
shankarresumehacershankar k
 
Five Phases of SAP Internships - Wizcore
Five Phases of SAP Internships - Wizcore Five Phases of SAP Internships - Wizcore
Five Phases of SAP Internships - Wizcore yakfurinnaaa
 
Lecture01 abap on line
Lecture01 abap on lineLecture01 abap on line
Lecture01 abap on lineMilind Patil
 
How to Become an SAP ABAP Developer? Career Scope, Salary, Skills, Future Tre...
How to Become an SAP ABAP Developer? Career Scope, Salary, Skills, Future Tre...How to Become an SAP ABAP Developer? Career Scope, Salary, Skills, Future Tre...
How to Become an SAP ABAP Developer? Career Scope, Salary, Skills, Future Tre...Aspire Techsoft Academy
 
Sap abap online training
Sap abap online trainingSap abap online training
Sap abap online trainingShalom Itschool
 
Abap sample code
Abap sample codeAbap sample code
Abap sample coderoymat2
 
Abap sample programs 24 slides
Abap sample programs 24 slidesAbap sample programs 24 slides
Abap sample programs 24 slidesRoy Mathew
 
SAP ABAP Online Training Course for Beginners
SAP ABAP Online Training Course for BeginnersSAP ABAP Online Training Course for Beginners
SAP ABAP Online Training Course for BeginnersChandanaBhowmik1
 
Software Development Standard Operating Procedure
Software Development Standard Operating Procedure Software Development Standard Operating Procedure
Software Development Standard Operating Procedure rupeshchanchal
 
What is abap type & features
What is abap type & featuresWhat is abap type & features
What is abap type & featuresTaruna Kashyap
 

Similar to Sap+abap (20)

Gaurav_Singh-SAP_ABAP_Profile
Gaurav_Singh-SAP_ABAP_ProfileGaurav_Singh-SAP_ABAP_Profile
Gaurav_Singh-SAP_ABAP_Profile
 
Kavithe_Res.doc
Kavithe_Res.docKavithe_Res.doc
Kavithe_Res.doc
 
shankarresumehacer
shankarresumehacershankarresumehacer
shankarresumehacer
 
Five Phases of SAP Internships - Wizcore
Five Phases of SAP Internships - Wizcore Five Phases of SAP Internships - Wizcore
Five Phases of SAP Internships - Wizcore
 
Lecture01 abap on line
Lecture01 abap on lineLecture01 abap on line
Lecture01 abap on line
 
How to Become an SAP ABAP Developer? Career Scope, Salary, Skills, Future Tre...
How to Become an SAP ABAP Developer? Career Scope, Salary, Skills, Future Tre...How to Become an SAP ABAP Developer? Career Scope, Salary, Skills, Future Tre...
How to Become an SAP ABAP Developer? Career Scope, Salary, Skills, Future Tre...
 
Sap abap pdf
Sap abap pdfSap abap pdf
Sap abap pdf
 
Sap abap online training
Sap abap online trainingSap abap online training
Sap abap online training
 
Suresh Yenamareddy Resume
Suresh Yenamareddy ResumeSuresh Yenamareddy Resume
Suresh Yenamareddy Resume
 
Abap sample code
Abap sample codeAbap sample code
Abap sample code
 
Abap sample programs 24 slides
Abap sample programs 24 slidesAbap sample programs 24 slides
Abap sample programs 24 slides
 
Abap sample
Abap sampleAbap sample
Abap sample
 
Abap start
Abap startAbap start
Abap start
 
Naveen_Kumar_ABAP_4.1.docx
Naveen_Kumar_ABAP_4.1.docxNaveen_Kumar_ABAP_4.1.docx
Naveen_Kumar_ABAP_4.1.docx
 
SAP_ABAP_5+_YEARS_EXPERIENCE
SAP_ABAP_5+_YEARS_EXPERIENCESAP_ABAP_5+_YEARS_EXPERIENCE
SAP_ABAP_5+_YEARS_EXPERIENCE
 
BC404_EN_Col18.pdf
BC404_EN_Col18.pdfBC404_EN_Col18.pdf
BC404_EN_Col18.pdf
 
SAP ABAP Online Training Course for Beginners
SAP ABAP Online Training Course for BeginnersSAP ABAP Online Training Course for Beginners
SAP ABAP Online Training Course for Beginners
 
Abap training material
Abap training material Abap training material
Abap training material
 
Software Development Standard Operating Procedure
Software Development Standard Operating Procedure Software Development Standard Operating Procedure
Software Development Standard Operating Procedure
 
What is abap type & features
What is abap type & featuresWhat is abap type & features
What is abap type & features
 

Sap+abap

  • 1. Successful & Resourceful SAP ABAP Developer I have the privilege of being a ABAP developer for past 9 years and IT industry as a programmer for 12 years and now being a ABAP technical expert and development manager for 12 SAP implementations, I have come across different working patterns of a professional ABAP developer. During this time I have met a few ABAP programmers that were very good with technical aspects and also some that were excellent ABAP development consultants who could manage every aspect of a SAP development project whether undertaking a custom development, BADI implementations or enhancement project. Remember that as a technical SAP expert you are the critical piece of a project responsible for realizing the vision of SAP customer business processes into production. I think it is very important to know a lot of different programming aspects during an SAP implementation project and follow certain guidelines that can make an SAP ABAP professional very successful in your career. Steps for being an Efficient SAP ABAP Programmer or SAP Technical Team Lead 1. Review Business Requirements & Write Functional Specification The first part of any ABAP development project begin with meeting the end users or business experts and understand the business requirements that need to be implemented in the SAP system during the realization phase. A best approach is to conduct workshops to gather all the business requirements. Make sure that if any SAP function consultants are involved than they are in the meetings as well. After all the business requirements are collected, either a SAP functional consultant or business expert will write a detailed functional specification. Review the functional specification until the document has all the details, different business scenarios and expected goals clearly defined. A well defined functional specification should contain UML diagrams and test case scenarios. It is important to have an official signoff on the functional specification before continuing with design and development. 2. Review ABAP Development Standards In ideal case, your SAP Project Lead or ABAP Development Manager should have created a programming standards and guidelines document. Review this document so that you follow the naming conventions for function modules, classes, dictionary objects, software components, name spaces and proxies (if using SAP XI / PI), program input/output parameters, etc just to name a few. Following the guideline for the project helps maintain a consistent coding approach and also helps other functional and technical analysts to read and debug your code. ABAP objects naming should begin with Z if it will be migrated to SAP production system and Y if it will not be migrated into the production system. 3. Write and Review Test Cases The test case documents are written by the business experts or functional SAP consultants in most SAP implementation projects. But on some SAP implementation projects a programmer may be required to write test cases. Before writing a test case review the functional specification document thoroughly and review the written test case with the business users or functional consultants. Get a sign-off as mentioned in most steps in this article. As an ABAP Development Manager for a variety of SAP implementation projects, my goal has been to keep my team motivated and always cover the team against any change of scope on the development tasks.
  • 2. Having a sign-off at each phase of a SAP custom development or enhancement tasks always helps the SAP implementation team and project management team keep in sync which is a vital to complete the SAP implementation in time and budget. 4. Write and Review Technical Design Specifications Read the functional specification and list all the development objects that would be needed to implement the required functionality in the SAP system. First step is to draw a flowchart and review with technical and business experts. The technical design document should include a technical overview, list of new database objects, ABAP objects that can be reused, a data model and class diagram (if using ABAP OO classes). It is highly recommended to have a rough prototype in the sandbox system (Development system if no SAP sandbox system is available) if the development being done is complex or if the end deliverable is not well defined. You should then review your prototype with functional experts and business users. Make sure that the ABAP Development team lead or manager signs off on the prototype. If effort required to complete the ABAP programming task is not presented and approved by the senior project management then this would be a good time to get the development estimate and timeline approved. 5. Realization of the Specification – ABAP Development During this step you will be creating development objects and implementing the code in the SAP development system. Before you begin, if prototype was done in the sandbox system then analyze the prototype and design specification. Remember that quality and reusability of existing ABAP objects are more important than strictly following the design specification. Determine which existing dictionary objects can be reused for this topic. If new dictionary objects or classes needs to be created then ensure that these objects can be extended and reused for other development tasks. It may require extra effort to develop objects that are reusable and flexible. This one time effort for building reusable ABAP objects during the course of a development project can potentially save a lot of work for programming similar objects that could otherwise utilize already built objects. Review your approach with an SAP technical team lead or a development manager on your project before deviating from the technical design specification and implementing your own ideas. If you are involved in SAP XI (now Process Integration) related tasks or creating enterprise services then this is the best area where you could reuse existing objects. Review the message types that already exist within your SAP business unit and see if any existing messages can be extended with new fields. Review with the team lead whether the communication should be synchronous or asynchronous before you generate proxies. 6. SAP Development Best Practices SAP ABAP (or JAVA if working on SAP Netweaver) development best practices should be followed throughout the development lifecycle of the project. Although this aspect depends on your project technical manager, I personally have maintained a checklist for developers in my team on all projects and it has been a tremendous success in delivering high quality output on all development tasks. Here are a few best practices worth adapting in your project. Check whether you adhere to all naming conventions as described in the programming standards set for your implementation project. Include comments in your code to allow someone else to easily understand your programs. This is particularly helpful when you work in large teams and multiple people work with same objects. Ensure that you have check for user authorization if you
  • 3. are building transactions or web user-interfaces that will require human interaction. Check that you do not have ABAP code segments that could take a hit on performance like nested loops, nested select statements (use views if desired), excess database commits (persistent objects or buffering alternatives may be a good option), etc. Field symbols are a great asset when it comes to processing internal tables and also variables with unknown data types that are resolved at runtime. Field symbols are very similar to concept of using pointers in OO programming landscape. Check if all exceptions are handled and error messages are communicated accurately to the end users. As an ABAP programmer it should be well accepted by now that short dumps should not be OK to occur. All these do occur in unknown special case scenarios the short dumps should be fixed. 7. ABAP Code Reviews and Performance As a ABAP programmer you should test your code upon completion for all possible scenarios. Verify that end results are same as that expected in the documented test cases. Perform ABAP runtime analysis to check for performance of your code. Seek suggestions from your technical team lead or manager on how to improve code performance if you notice any red flags during the runtime analysis. Schedule a formal code review with your mentor or a senior ABAP developer once the development is completed and tested by all responsible developers. Make any revisions and retest your code against the desired output as documented in the test scripts. Remember that code reviews is not to find flaws in your programming but it will only make you a better ABAP developer and maintain consistency. 8. Documentation Make sure you write an end user documents with overview of the functionality or enhancement upon completion. Include screenshots where possible. Prepare documentation keeping in mind that an end user unfamiliar with your deliverable can read the document and test the functionality. Include contact information in this document for users to easily reach the SAP technical team for any questions. 9. User Acceptance Testing Now that your ABAP coding is completed and reviewed by technical experts, it is time for the business users to perform a formal user acceptance testing. UAT testers will check whether the output meets business process requirements and suggest any improvements or modifications to the delivered functionality. After completion of these fixes or modifications you should request a formal sign-off on the functionality. 10. Migration to SAP Test System and Production System Quality assurance engineers will test your functionality in the SAP QA environment to verify that everything is working in your delivered functionality as tested during user acceptance testing. Also any problems in transporting your ABAP objects across SAP systems will be identified and addressed during this step. If no problems are found then your transports will be approved to be migrated to SAP production system in the next transport cycle. You have just learned how to be an efficient SAP ABAP Developer or per say a high quality Senior ABAP expert right from writing specifications until realizing your implementation in production system. Use this article as a guideline as there are many more aspects to improve
  • 4. yourself to be a good ABAP programmer which is not possible to cover in a brief article like this one. You can always contact me with any suggestions or ideas you may seek for your SAP implementation.