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
  • 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