ABAP (Advanced Business Application Programming) is a programming language for developing applications for the SAP R/3 system, a widely-installed business application subsystem. The latest version, ABAP Objects, is object-oriented programming. SAP will run applications written using ABAP/4, the earlier ABAP version, as well as applications using ABAP Objects.
ABAP Workbench is a set of programs for developing enterprise resource management (ERM) applications that run in the R/3 subsystem from SAP. The latest version includes ABAP Objects, an object-oriented programming language. R/3 will also run programs written in the earlier ABAP/4 language.
Transaction code to review ABAP Code: SE38
Function modules are procedures that are defined in special ABAP programs only, so-called function groups, but can be called from all ABAP programs. Function groups act as containers for function modules that logically belong together. You create function groups and function modules in the ABAP Workbench using the Function Builder.
Function modules allow you to encapsulate and reuse global functions in the SAP System. They are managed in a central function library. The SAP System contains several predefined functions modules that can be called from any ABAP program. Function modules also play an important role during updating and in interaction between different SAP systems, or between SAP systems and remote systems through remote communications.
Transaction code to review Function module: SE38
ASAP implementation road map
ASAP methodology framework is designed to deliver rapid, reliable results, and to help its customers get the most from their solutions.
Generally the road map is prepared basing on the Principle of Business processes or so called As Is Processes.
The new processes are defined in the project as “To Be Processes” with proper authorization from the steering committee or from the vested authorities.
Full life cycle in SAP or SAP implementation road map consists of five phases
1. Project Preparation: In this phase defining the Project organization, roles and project objectives.
2. Business Blueprint: Detailed documentation of the customer’s requirements are gathered during workshops.
3. Realization: Configuring SAP system based on the business blueprint. Configuration carried out in two steps, baseline configuration (major Scope) and final configuration (remaining scope). SAP configuration is also tested during this phase.
4. Final Preparation: Complete final preparation of SAP for going live, including user testing, system management and cutover activities.
5. Go Live and Support: Analyze the systems technical infrastructure to ensure that the system functions smoothly.
Types of Testings in SAP
Unit Testing ==================Executed in the Development system
Integration Testing =============Executed in the Quality assurance system
Regression Testing ============Executed in the Quality assurance
Performance Testing ===========Executed in the Pre-Production system
User Acceptance Testing (UAT)==Executed in the Pre-Production system
Unit Testing: Unit testing is a software development process in which the smallest testable parts of an application, called as units (such as functions, classes, procedures, interfaces etc.), are individually and independently tested for proper operation. In SAP Unit testing addresses the informal testing individual FRICE objects such as Forms, Reports, Interfaces, Conversions, Enhancement.
Integration Testing: This testing ensures that the SAP software functions correctly, system configuration tables are set up correctly, programs run correctly, and system outputs are reliable.
Regression Testing: In this testing phase, you verify the functionality that previously released into the SAP production environment will not be negatively affected by new, modified, or upgraded functionality.
Performance Testing: In this testing phase, basically you validate the software, hardware, and network infrastructures are in place and operating at efficient level. Also, tests the business processes that would cause stress to the system due to high transaction or batch volumes.
User Acceptance Testing (UAT): UAT is used to confirm the test cases needed to run using the acceptance environment. Also, ensures the acceptance tests are suitable for management, users of the system and computer operations.
Business Process Testing (BPT): and Application Testing is an integral part of SAP Change management. In SAP ERP system, it is highly essential to thoroughly test all changes that move to the production system. An integrated testing solution using SAP Solution Manger (SAP-SolMan), HP-Quality Center (HP-QC) and SAP Test Acceleration and Organization (SAP-TAO) has been used to thoroughly test the solution configuration.
SAP-SolMan: SAP Solution Manager is an end-to-end ALM (Application Lifecycle Management) platform used to support and manage SAP and non-SAP applications in SAP ERP environment, including such tasks as managing custom code and overall system performance.
HPQC: HP Quality center is complete test management tool for automation and manual testing. It enables both non-professionals and QA experts to streamline testing SAP applications and business processes and reduces test maintenance and simplifies test creation with drag and drop functionality.
SAP Solution Manger Adapter: SAP Solution Manger Adapter for SAP Quality Center by HP integrates application lifecycle management capabilities of SAP SolMan with test planning and test execution capabilities of SAP QC by HP.
In Solution Manager, you define business process and then link SM project to QC project and define test requirements and test objects, then transfer data from Solution Manager to Quality Center. In the Quality center, the documentation processes are carried out and test scripts are created and consolidated, then attached to test plan, and execute the scripts. The results are stored in QC and also send back to SM. On desktop these processes are carried out using TAO and QTP.
In order to speed up testing and improve software quality, we can transfer the business blueprints and test assets from the SAP SolMan application to the SAP Quality Center application (HPQC). SAP Quality Center will test and display the results in SAP Solution Manager, and synchronize quality center defects with service desk tickets.
SAP TAO: The SAP Test Acceleration and Optimization (SAP TAO) software streamlines the creation and maintenance of ERP business process testing. SAP TAO helps QA specialists to break down applications into components, which can then be assembled into test cases through a simple interface using drag and drop, parameterized for flexible reuse, such as reusing a test that has updated data inputs, maintained easily and inexpensively, even when screens, flows, or service packs change.
SAP TAO is basically connected to the SAP backend system as well as Quality Center and the TAO runtime library has to be imported to Quality Center.
HP-QTP: HP Quick-Test Professional (QTP) is an automated test solution for functional and business process applications. It captures, verifies, and replays user interactions automatically. QTP is also required to execute testing scripts.
Worksoft: Worksoft is an automated business process validation (BPV) solution. It automates the complete quality assurance lifecycle for across SAP enterprise applications, including change impact analysis, functional validation, performance, load testing, and audit documentation.
SAP Process Integration (SAP PI): Unlike all the other modules, there are two modules in SAP which do not support business functions directly but are utilized in presentation and integration are EP (Enterprise Portal) and PI (Process Integration).
All the business modules in SAP are developed in ABAP while EP and PI are developed mostly in JAVA.
These modules are not executable but they need to be deployed in an Application Server i.e. ABAP Web Application Server for ABAP modules and Java Web Application Servers for Java modules.
SAP Process Integration (PI) is part of the overall SAP Net Weaver platform and provides a single point of integration for all the integrated SAP ERP systems without touching existing complex network of legacy systems or non-SAP systems. This powerful middleware provides seamless end to end integration between SAP and non-SAP applications inside and outside the corporate boundary.
IBM WebSphere: IBM WebSphere software is an “integration and application infrastructure software” that can inter-operate with SAP NetWeaver components like Portal and Exchange infrastructure.
Microsoft BizTalk Server (BizTalk): BizTalk enables companies to integrate and manage automate business processes by exchanging business documents such as purchase orders and invoice between different applications, within or across organizational boundaries. BizTalk uses BizTalk adapters which are tailored to communicate with different software systems used in an enterprise.
BDC (Batch Data Communication): BDC is a batch interfacing technique developed by SAP mainly for uploading data from one SAP system to another SAP or from non-SAP system to SAP system. BDC can execute the transactions automatically and is therefore suitable for entering large amounts of data that are already available in electronic form. BDC works through an ABAP program and works on the principle of simulating user input for transactional screen. BDC basically uses Batch input sessions and Call Transaction method for migrating the data into SAP system.
LSMW: Legacy System Migration Workbench (LSMW) is a tool used for transforming data from non-SAP systems or Legacy systems to SAP R/3 System. This can be a one-time transfer or a periodic transfer. The data can be imported into SAP R/3 system via Batch input, direct input, BAPI (Business Application Programming Interface) or IDocs.
IDoc: IDoc (intermediate Document) is an SAP object that carries data of a business transaction from SAP system to other systems and vice versa in the form of electronic message. The data transfer from SAP to non-SAP system is done via EDI (Electronic Data Interchange) subsystem and the data transfer between two SAP systems are done through ALE (Application Link Enabling).
BAPI: Business Application Programming Interface (BAPI) allows developers to integrate third-party software into SAP R/3 product. BAPI is a set of interfaces to object-oriented programming methods that enable a programmer to integrate third-party software into SAP R/3 System.
BAdi: Business Add Ins (BADI) are enhancements to the standard SAP code. SAP Application developer defines Business Add Ins to accommodate user requirements that are specific in the standard SAP code.
Reference Documents for SAP Technical.