Wednesday, 17 June 2020

Automation of Functional Checkouts

BUSINESS SCENARIO:


Whenever we have an important event in the system (like an upgrade or a big deployment), we need to perform a list of necessary checks to ensure that system is fine and everything works as expected.

BACKGROUND INFORMATION:


Earlier these system checkouts were done manually, but now we have created an SAP ABAP Module pool program that will automatically check and provide status report on how the system is. With this program we can check different aspects of the system with minimal time and effort. Also, in case of issues, we will be able to identify and correct them quickly.

METHODOLOGY:


1. BASELINES

Baselines will be taken prior to actual system checkouts in order to capture the image of the system. In this process we will save the status of all the active objects, roles and access of the users, backup content of the important tables and system settings.

SAP ABAP Tutorial and Material, SAP ABAP Exam Prep, SAP ABAP Learning, SAP ABAP Development

A few standard tables used for taking the baselines are:

i. RSTRAN –               For Transformations
ii. RSBKDTPSTAT –  For DTP
iii. RSUPDINFO –       For Active Update Rules
iv. AGR_USERS –       For User Roles

2. CHECKOUTS

After the deployment or upgrade, we will execute the program again. However, in this case, the program will compare the results with the baselines taken before. In case of discrepancies, it will list the results, like objects that were inactivated, roles and access that users lost, tables that for some reason changed the content.

SAP ABAP Tutorial and Material, SAP ABAP Exam Prep, SAP ABAP Learning, SAP ABAP Development

For instance, on click of Transformation button:

i. Select Active transformations in the system from table RSTRAN.
ii. Select Transformations taken in the Pre-Baseline step.
iii. Compare both tables and save the discrepancies.

3. FLAT FILE IP PATH & PROGRAM VARIANTS

Info package path checkbox: It will update the new path for flat files.                            
Report variants checkbox: It will save updated variants’ values.We have templates for both IP and Program variants which we will upload after clicking on Execute button. The check will happen for those objects mentioned in the template. Dependent Process chain(Z**) for Info package check will run automatically and finally a log file will get generated/saved on our local machine.

SAP ABAP Tutorial and Material, SAP ABAP Exam Prep, SAP ABAP Learning, SAP ABAP Development

4. SOURCE SYSTEM CHECKS

The program will check the connectivity of system with another systems and display the success or error message.

i. Using table RSBASIDOC to fetch source system and its corresponding connected system details on the basis of source system type.
ii. Using Function module RSAR_LOGICAL_SYSTEM_CHECK to get the source system connection status.

SAP ABAP Tutorial and Material, SAP ABAP Exam Prep, SAP ABAP Learning, SAP ABAP Development

5. DATA SOURCES ACTIVATION

Executing this tab will activate Data sources and Transfer Structures by triggering below 2 programs for 3 source systems(R3, BW, FLATFILE) in background mode:

i. RSDS_DATASOURCE_ACTIVATE_ALL  – Program for 7x flows
ii. RS_TRANSTRU_ACTIVATE_ALL            – Program for activating 3x flows

Variants are passed automatically to above 2 programs based on their corresponding source systems.

SAP ABAP Tutorial and Material, SAP ABAP Exam Prep, SAP ABAP Learning, SAP ABAP Development

Another important feature is we can schedule the process to run the baselines and checkouts automatically, without human intervention, and send the result via email. This helps us in case we want to execute the process during the weekend, we can monitor the result directly from our cellphones:

SAP ABAP Tutorial and Material, SAP ABAP Exam Prep, SAP ABAP Learning, SAP ABAP Development

BENEFITS:


This used to be a 3-4 person jobs of 2 hours at least each time. It required a separate KT session for new joiners to go through all the steps of validation for different tasks as it involved following various steps using multiple t-codes.

But now the process is much simpler. Just 1 resource can handle all these tasks as it is clubbed in a single program. We are saving at least 8 hours per month and no one needs to be online during weekends reducing the overtime needed improving work-life balance of our team.

No comments:

Post a Comment