ABAP Academy Project Experiences
Project: Performance Optimization of Slow Software
Analyzing slow programs running on SAP system and optimizing for the speed and saving the hardware resources.
Technology Used:
- Analyzing programs using SAP performance optimization transactions
- SE50 / SE51
- SAT / ST12
- ST05
- Replacing inefficient SQL statements with efficient statements
- Replacing inefficient logic with optimized logic
- Internal tables declarations from Standard internal tables to sufficient types
- Sorting of internal tables when needed
- Pre-loading unnecessary duplicate loads from the database
- Changing standard declarations to field symbols wherever it makes sense
Project: Dynamic migration program
Creating a dynamic program that uploads data from CSV files into SAP database tables.
Based on the name and structure of the CSV file, program imports data into the tables in a stable and optimized way.
Technology Used:
- Field symbols
- Data Descriptors
Project: UI Prototyping - Data Maintenance Dashboard
Create a prototype for a customer with functional UI in OO ALV.
The dashboard contains required features as:
- Toggle Display / Edit mode
- Checking functionality if data has changed when accidentally exiting the application or exiting the edit mode
- Locking functionality preventing doing the changes by a different user in the application
Technology Used:
- Dialog Programming
- Screen Painter
- OO ALV using class CL_GUI_ALV_GRID
ABAP Technical Experiences
- ABAP development skills
- Analyzing issues in projects - ABAP Debugger
- Building database architecture skills - Data Dictionary
- Open SQL for small/mid-sized projects + Open SQL for project working with Big Data
- Performance optimization of ABAP projects
- Dynamic programming
- ALV, OO ALV using CL_GUI_ALV_GRID
- Delivery - Preparing transports for production, testing for inconsistencies, making sure that import finishes correctly
Soft Skills
- Creating readable code ready for cooperation within a team
- Writing maintainable code easy to add new functionality and changing the existing one
- Creating supportable software - updating or fixing the code without unexpected breaking of existing functionality
- Communication with customer and clarifying the project scope
- Presenting a solution to end-user