IT Programming: Maintenance, Analysis, Development, Documentation

As an add-on to the software technology of SAP SE with more than 850 functions, CT-Assist provides significant support to IT departments.

In the area of programming, CT-Assist provides extensive, practical enhancements in the form of add-ons to the ABAP® Workbench and additional substantial support for program development and maintenance.

CT-Assist for ABAP: Analysis, Documentation, Editor, Source Visualization, IT Workflow

CT-Assist does not just provide you with an editor module (like SE38, Eclipse, etc.), but also with other supporting function modules, for example, analysis, source code visualization, documentation, IT workflow, checklist control, and links to external documentation from directly within the code.

The CT-Assist integration was certified under the number 13955292  (see SAP Ecohub). Using the CT add-on, you can with a mouse-click, for example, edit a source code member using the functions of the ABAP Workbench or in CT-Assist:

  … Select the functions of the ABAP® Workbench and of CT-Assist that are best suited for your work … 

Some Application Areas – IT Programming

1. The Interactive Software Assistants …
2. Transparent ABAP Code (Analyses, Checklists, Software Metrics) …
3. Call External Documents by Link Directly from the ABAP® Code …
4. Visualization of ABAP Source Code …
5. Generation of Documentation for ABAP® Programs, IT Workflow, and Development Documents …
6. Checklists for Program Checks, Documentation Creation …
7. ABAP® Objects: Virtual Class Listing, Programming with the CLASS Editor …
8. Application Support for Programming Guidelines with Right-Click Menu …
9. Qualified Code Completion …
10. Code Control und Tips: Information at Command Level with a Mouse-Click …
11. The Use of Certified Software = Secure Applications for Your Company …

1. The Interactive Software Assistants

Typically, about 80% of processor capacity on a client PC is not used during a working day. You should take advantage of this processor capacity for your work:

 … Experience the benefits of the enormous amount of free processing capacity LIVE as you work.  

CT-Assist uses the previously untapped capacity of your PC processor to support your programming work LIVE. In future, the extensive performance reserves of your client PC are made available to you for your program development work via appropriate background routines provided by software assistants.

1.1  Realization in CT-Assist with 9 Software Assistants

In the CT-Assist editor, 9 software assistants are triggered dynamically according to the particular ABAP source code situation. These assistants provide the user dynamically with menu functions, pop-ups, tooltips, modules, additional and context information, trees, subwindows, overviews, and so on.

Unlike other editors, the software assistants implemented in the CT editor provide you with a number of code completion methods, as well as other functions that support development:

– Dynamic completion, command tree, field tree
– Structure browser, joker search, tooltips
– Object tree, regular expression, prefix select
– User templates …

These methods not only enable  a 40 – 60% reduction in typing tasks, but also qualified selection of commands (basic command, variants, enhancements, …) using templates. Please check these % estimates by making a comparison your own ABAP programs. [More information …]

1.2 Qualified Selection of Commands Using Two-Pass Code Completion

Interactive support by CT-Assist simplifies the process of developing ABAP programs using sophisticated templates (code and variables). Tasks are divided up as follows:

1. First select the ABAP command using templates …
Using the Command_Assist, you select the appropriate ABAP command combination from a sample code reference (approx. 3,500 entries) and copy this into your code by mouse-click.

2. Then choose names of variables …
Then, supported by various methods of the Data_Assist, you select the names of variables, which are then automatically positioned and included into the previously selected ABAP command.

To begin with, the ABAP command sequence (1) is assembled as a template without names of variables. Once the variables have been selected (2), the names are automatically added to the syntactically correct ABAP command. Finished!

Both of these steps are made much easier through the comprehensive support given by CT-Assist. You can, of course, still type in simple commands and names of variables directly yourself.

Using software assistants, ABAP developers can shift the focus of their efforts onto their real development tasks. Try it out!

1.3 Reduce Time Spent on Routine Tasks During ABAP® Program Development …

You’ll find it easiest to judge the benefits of LIVE support from CT-Assist when you try it out yourself. We are happy to provide you with a trial version. Even in this test phase (about 2 – 3 weeks), you will experience major advantages and will be able to develop more efficiently:

> Data_Assist: Copy Variable Names into the Code After 2-3 Initial Letters ...
> Command_Assist: Automatic Completion of Your Most Commonly Used Command Words …
> Object_Assist: Special Support for ABAP Objects …
> Browser_Assist: Your Helper in Time-Consuming Situations …
> Template_Assist: Insert Frequently Used Code Sequences Using Templates …
> Structure_Assist: Targeted Selection of Table Fields at the Current Code Position …
> Info_Assist: Context-Sensitive Help in the Code, if You Need It …
> Reference_Assist: You Select Command Words; Reference_Assist Does the Rest …
> Analyse_Assist: Compression of Logic Groups for a Faster Overview …

With LIVE support, you can perform the most important tasks relating to program development and maintenance much more efficiently.

2. Transparent ABAP Code (Analyses, Checklists, Software Metrics) …

  … Work in a rational and qualified way 

The substantial analysis of your ABAP source code and function modules is an important prerequisite for efficient development and maintenance of the ABAP programs being used. Without suitable software tools, this analysis is time-consuming. In addition to the code analyses included in CT-Assist, you can develop your own analysis templates and integrate them into CT-Assist.

The continuous further development of the templates (e.g. based on specialist literature, work groups, community information, results of audits) results in a customer-specific knowledge base.

You can use this information at any time during automated code control to improve your ABAP programs.

2.1 Performance Analysis

This analysis determines the ABAP® commands used in the programs to be optimized and checks these commands to identify where performance improvements might be possible.

If the automated analysis finds cases where performance optimization might be possible, manual editing of the code area in question is proposed. Our experience shows that automatic corrections to programs that are already in use frequently result in other problematic code situations.

Manual editing of the code area suggested is supported by the following:

1. Proposal of the ABAP code area (possibly several lines of code) to be improved as defined by the results list
2. A comparable abstract code example with poor performance
3. One or more optimization proposals with better performance

With a mouse-click, you can select and edit the code line requiring correction:

ABAP Performance Analysis

ABAP Performance Analysis

2.2 Analysis of Critical ABAP® Commands …

The analysis of critical ABAP commands is the responsibility not only of program development, but also of the areas quality control and IT audit.

Currently, 6 job order profiles contain 54 analysis templates for automated analysis. You can copy these analysis templates and extend them to focus on different areas of analysis according to your area of responsibility:

– Internal editing of data blocks
– Program flow
– Database commands (SELECT, DATASET …)
– Authorization checks
– File accesses
– Access to the program library

Analysis of Critical Commands

2.3 Software Metrics – Statistical Key Figures

The key figures that were determined by analyzing ABAP programs make it easier for you to compare ABAP code with regard to specific characteristics or aspects (e.g. which commands are used in which programs, how frequently, in which situation, at which time, author, last changed by, …).

Using various evaluation profiles, you can define the focus or the level of detail required for the analysis.

Statistical Analysis of ABAP Programs

2.4 Checking User Communication

To ensure appropriate interaction between the user in the business area and the ABAP program in use, it is necessary to document the relevant ABAP commands. This information can then be made available by CT-Assist in the user documentation and to support the helpdesk. For example:

  • If data entries are required from the user for PARAMETERS, these parameters should be explained in the user documentation.
  • If error messages, warnings, or texts in pop-up windows are output, appropriate information to help resolve the problem should be included in the user documentation.
  • If another dynpro is called, one or more screenshots should be included in the documentation with the relevant additional information.

ABAP Program Analysis -> User Communication

2.5 Analyze Target/Actual Times – Cost Control

As part of a complete analysis of your ABAP programs, you can, using the CT-Info_Object “DER1”, for example, calculate the daily cost of project work or determine key figures relating to capacity management.

In addition to determining the scope of the development work currently planned (target times), you can determine per ABAP® program, for example, which actual times were realized for which development tasks.

The following screenshot shows the form DER1 – “Implementation Level of Current Development“ with analysis of a supplied sample report:

Analysis of Target/Actual Times

2.6 Analysis of Names of Variables

The use of meaningful names for variables significantly improves the clarity of ABAP code. Application-oriented variable names, for example, consist of a prefix and an informative name indicating their use. Using “DATA-Assist” (part of CT-Assist), you can insert meaningful, long variable names into the code at the right point with a simple mouse-click.

During the CT-Assist analysis of variables, you programs are analyzed with respect to length and prefix in a results list. By double-clicking, you go straight to the relevant place in the code and can easily make additions or corrections to the names of variables:

Variable Analysis for ABAP Programs

2.7 More Code Analyses …

Transparent analysis templates form the basis for the analyses used in CT-Assist. These control templates have been designed to allow relatively easy company-specific enhancement.

In addition, further code analyses are available to our customers as a plug-in

3. CT – Docu_Object – Call External Documents Directly from the ABAP® Code …

  …  Additional external project documents available online at the relevant point in the code  

The linking of external documents to the actual code position in ABAP programs, which we developed under the name “CT-Docu_Object” is gaining increasingly in importance. The link or bookmark to a specific program element taking the form of a comment in the ABAP code is at the heart of problem-solving activities.

The information in a CT-Docu_Object creates a logical connection between external documents (e.g. e-mails, meeting minutes, graphics, sketches, Word/Excel/PDF, and other file types) and the relevant ABAP code, resulting in an additional valuable evaluation pool.

The linking is designed to be bi-directional: The ABAP code can access the CT-Docu_Objects or the reverse.

3.1. Use Information from Existing Project Documents

You can link your existing external documents from project development or maintenance (e.g. analyses, design documents, e-mails, meeting minutes, graphics, sketches, Word/Excel/PDF files) to the relevant place in the code of the ABAP program in question.

If this existing background information is available at the right position in the code, it can support your maintenance work, troubleshooting, and modifications at a later point in time.

A work form ensures the standardization of these heterogeneous external documents, resulting in uniform and comprehensive analysis and program documentation.

Linking of External Documents to the Code

3.2 The General Use of External Documents in ABAP Code

You can use your external documents from archives, files, project folders, and so on in the ABAP code and establish the context in 3 ways:

3.2.1 From ABAP Code to Original Document
Clicking on the documentation symbol in the ABAP code opens the linked work form containing the original document as an attachment..

ABAP Code -> External Document

3.2.2 From Original Document to ABAP Code
From the Docu Administration menu, you can jump with a mouse-click to the relevant work form and from there to the relevant position in the code.

From Original Document to ABAP Code

3.2.3 From Document Retrieval to ABAP Code
From the hitlist for a search for documents (analyze InfoObjects), you can jump with a mouse-click to the relevant work form and from there to the relevant code position.

Document Retrieval  -> Document -> ABAP Code Position

3.3 External Documents and Work Forms Form Part of the Program Documentation

You can integrate your external documents and work forms (e.g. e-mails, meeting minutes, graphics, sketches, Word/Excel/PDF files) at any time in a full set of ABAP program documentation. This program documentation is stored in a docu container (ZIP file) and includes the copied original documents.

You can access this program documentation with the additional work papers in full at any time with a simple mouse-click.

  … This detailed ABAP program documentation (incl. external documents) will provide significant support for maintenance activities, for example 

Work Forms in the Generated Documentation

4. Visualization of ABAP® Source Code

The ABAP® programming language is particularly suitable for the use of visualization because a high level of modularity can be achieved using structured language elements (e.gMODULE, CLASS, METHOD, FORM, FUNCTION).

Through the division of ABAPTM programs into definable code sections, you can get up to speed quicker and your efforts to understand ABAP code that was programmed elsewhere are made significantly easier using a graphical represenation of the source code.

Visualization of ABAPTM code is particularly useful for supporting the following IT tasks:

  • Maintenance
  • Customer-specific ABAP developments
  • Reengineering
  • Vacation cover, new appointments/employees assume different responsibilities
  • Fast correction of errors
  • Improved support of team work

In CT-Assist, you can select between different levels of detail when visualizing your ABAP® code.:

4.1. Call Diagram

Source Diagram (generated automatically from ABAP Program)

Source Diagram (generated automatically from ABAP Program)

The program objects of an ABAP™ program are shown clearly using graphical elements. In particular, CALL hierarchies (e.g. FORM, FUNCTION, and METHOD)  and program events (e.g. TOP-OF-PAGE, MODULE, and AT) are shown.

By double-clicking, you can navigate between the graphic and the source code to find out about the context in question.

4.2. Flow Logic Diagram

Flow Logic Diagram with ABAP Program

Flow Logic Diagram with ABAP Program

Flow logic analysis enables the graphical representation of decision and processing structures such as IF, CASE, WHILE, and LOOP within ABAP® source code. Using graphical functions, flow graphics shows which commands are processed under which conditions.

In a graphical representation, the result of a sequence of commands is easier to follow, and the program logic can be understood more quickly. The amount of time needed to understand ABAPTM programs that were programmed by someone else is reduced (facilitating external programming  – maintenance by the customer, vacation cover, IT quality assurance, for example).

By double-clicking, you can navigate between the graphic and the source code to find out about the context in question.

4.3. ER Diagram

ER Diagram (for table SPFLI with expansion level 2)

ER Diagram (for table SPFLI with expansion level 2)

The ER diagram (Entity Relationship Model) in CT-Assist enables the graphical representation of primary database tables and of the relationship to other database tables.

The adjustable resolution (detail level) of the table relationships makes it easier to grasp interdependencies.

The fundamental transparency of the table relationships is a prerequisite for most development tasks (programming and maintenance) in an SAP® technology context…

Double-clicking takes you to the structure browser and from there to the ABAP Dictionary.

4.4.UML Diagram

UML Diagram of ABAP classes ...

UML Diagram of ABAP classes …

Starting with the current class, dependent classes are found and shown in a UML class diagram.

In UML notation, the various ABAP-OO classes are shown as boxes (with class names, methods, and attributes). ABAP-OO interfaces are also shown as boxes. They can be identified by the IF naming convention.

By double-clicking, you can navigate directly to the relevant source code. The source code for the class selected in the graphic is shown in context, so that you can find out what you need to know about adjoining sections of code.

5. Generation of Documentation for ABAP Programs, IT Workflow, and Development Documents

Generated Program documentation with Table of Contents

Generated Program documentation with Table of Contents

Evaluation Profiles and Program Documentation Without Gaps 

Using evaluation profiles, you can define the type and scope of documentation to be generated. Depending on your information needs, you can request short, medium-scope, or comprehensive documentation.

You can repeatedly save the various versions of the program documentation over time and, thus, fulfil one of the chief requirements for IT audits.

You can show the validity (valid from) of the documentation using version management by generating and saving the documentation in a global documentation path. Alternatively, you can file the documentation on the SAP™ documentation server.

More than 20 evaluation profiles can be accessed in CT-Assist using a selection dialog.

In addition, you can specify which manually created information objects are to be included in the program documentation (documentation checklists, workflow forms, info objects, …).

6. Checklists: Program Checking, Documentation Creation, Linking/Bookmarking of Online Forms

... Eine Doku-Checkliste je Befehl ...

… A Docu Checklist per Command …

Program documentation is considerably simplified and is standardized using online forms and the generation of documentation checklists. You can modify and extend the supplied checklists and rules to conform to your company-specific guidelines.

More than 50 individual check segments for the documentation checklists are generated from the ABAP® code to be documented. ABAPcommands that are relevant for documentation are in focus here. In each case, you need to answer questions from the relevant checklist segment.

7. ABAP Objects: Virtual Class Listing, Programming with the CLASS Editor

… Excerpt from a Virtual Class Listing (YCL_TEST_ASSIST_04) …

Virtual class listing in CT-Assist was developed to provide a comprehensive overview when working with classes in the context of ABAP® Objects.

Using the CLASS editor, you can display the complete source code for a class on a single edit tab and do not have to concern yourself with each separate INCLUDE. With automatic refresh, your changes are visible immediately.

When the complete source code for a class is displayed in a clear way, you can better see dependencies, and your programming work becomes much easier.

8. Application Support for Programming Guidelines with Right-Click Menu

Your internal programming guidelines, e.g. naming conventions for variables, rules for modularization of programs, programming style, and security concept, are directly available at the developer’s workplace on the right-click menu of the command tree.

Call Information (Code Control) for the use of ABAP  command ‘SELECT’ …

Code Control …
IT management can lay down company-specific rules (code control) for the use of certain ABAP® commands; rules that all developers must adhere to. The programming guidelines specified by the IT management are stored globally on the documentation server.

9. Qualified Two-Pass Code Completion …

 Code completion is meant to help, not hinder  

Automatic support for code completion must be adjusted to the wishes and abilities of the user: The skills and competencies of the user change with increased experience.

The varying complexity of the commands to be used calls for adequate code completion. [More information …]

Two-Pass Code Completion

10. Code Control und Tips: Information at Command Level with a Mouse-Click

Programming notes, critical commands, performance tips about certain ABAP® commands should be available to all developers in the IT area across all workplaces and in a standard form. The following example shows the integration of the various documents. In each case, the information is displayed with a mouse-click.

Code Control: Tips for SELECT Command …

Tips and Tricks …

Programmers can add their own tips and tricks relating to each ABAP® command on his or her local client PC. Information from code control and tips and tricks is called in the command tree using the right-click menu.

11. The Use of Certified Software =  Secure Applications for Your Company…

The security of your company’s applications is supported by the certification of the CT-AddOn by the manufacturer of the ERP software. This certification confirms that interfaces are used correctly, that add-on functions are relevant to the process, and that technical implementation is correctly done. Your add-on product has undergone system integration tests within an ERP environment.

You receive an add-on product for which system integration tests have been carried out within your ERP environment. Certified software products significantly enhance your IT security

SAP SE certified the software solution ‘CT-Assist’ 28.03.2011. [more …]