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 …|
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:
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
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.
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.
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:
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:
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.
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.
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..
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.
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.
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 …
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:
- Customer-specific ABAP developments
- Vacation cover, new appointments/employees assume different responsibilities
- Fast correction of errors
- Improved support of team work
4.1. Call Diagram
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.
4.2. Flow Logic Diagram
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).
4.3. ER Diagram
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…
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
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.
6. Checklists: Program Checking, Documentation Creation, Linking/Bookmarking of Online Forms
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. ABAP™ commands 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
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.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. … 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 …]
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.
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 …]