THE CROSS-CLIENT CAPABILITY OF THE REPOSITORY
The Repository holds all system development objects, such as programs, function modules, and definitions of database tables. It is in the database; is alwaysindependent of the client; and thus its objects are accessible from any client.
The database not only comprises the Repository, but also contains application and Customizing data, which are normally client-dependent. In short, every data record is assigned to a particular client: only users who have logged on to that particular client can read it or change data in it.
STRUCTURE OF THE REPOSITORY
The Repository is subdivided according to application components such as MM, HR, FI, and SD. An application component can contain several packages with relevant objects for a more detailed logical subdivision.
Whenever a Repository object is created, it must be assigned to a package.
THE REPOSITORY INFORMATION SYSTEM
Tools → ABAP Workbench → Overview → Information System.
When you double-click a certain object type, a selection screen appears allowing you to limit your search.
SAP APPLICATION HIERARCHY
ABAP WORKBENCH TOOLS
These tools cover the entire software development cycle:
The ABAP Editor is used for editing the source code.
The ABAP Dictionary is needed when editing database table definitions, central data types, and so on.
The Screen Painter helps configure screens (together with functions for user dialogs).
The Menu Painter helps in designing user interfaces (menu bar, standard toolbar, application toolbar, and function key settings).
The Function Builder is used for maintaining function modules.
The Class Builder is used for maintaining global classes and interfaces.
The ABAP Debugger is used to locate semantic errors in your program and also to analyze program flows.
The Object Navigator is a central development tool where you can have the requested Repository objects listed.
SCREEN LAYOUT IN THE OBJECT NAVIGATOR
You can display or hide the navigation area with the Full screen on/off option.
The context menu helps you to choose only those functions that are designed for the respective object.
WORKING WITH THE NAVIGATION AREA
You can also navigate between the object lists that were previously displayed in the current Object Navigator session.
You can add frequently used object lists to your favorites.
You can also display the list of higher-level objects. The refresh option helps you to refresh the object list.
FUNCTIONS IN THE TOOL AREA
In the tool area a Repository object is displayed in the corresponding tool.
You can also navigate between the objects that were previously displayed in the current Object Navigator session (blue arrows).
You can display a subwindow with the previous navigation history. You then double-click an object in the navigation history to display it in the tool area.
SYNCHRONIZING THE NAVIGATION AND TOOL AREAS
However, you can synchronize both areas using one of two methods:
You can display an object in the tool area either by double-clicking in the navigation area or by using the corresponding context menu function of the object.
If you are currently editing an object in the tool area, you can display the object list of that object by choosing Display Object List.
Development projects are carried out in a development system.
The project manager starts the development project by creating a change request, which includes the names of the assigned employees, in the Transport Organizer.
The Transport Organizer then creates a task for each project employee in the change request.
The employee who has to create or edit a development object assigns this to the change request and it is entered into the task of the employee.
The development objects that are edited or created in a project are then transported to the subsequent systems (test system, production system, or both) on project completion.
ORGANIZATION OF A DEVELOPMENT PROJECT IN THE CHANGE REQUEST
Organizing a development project using a change request has several advantages:
Individual employees can track and check their project-specific activities.
All the project employees can process the respective development objects. The Repository objects remain locked for developers who do not belong to the project team until the project is completed.
By assigning the objects to the change request, you can automatically ensure the joint transport of the development objects processed at the time ofproject completion (or release of the change request).
SETTING PACKAGE ATTRIBUTES (EXAMPLE)
This slide depicts a dialog box for creating a package.
You can set various attributes for the package:
Specify the Package Type.
In the field Application Component, specify the location of the package within the application hierarchy.
In the field Software component for customer development, enter the value HOME.
In the Transport Layer you can determine whether the objects of this package are to be transported to a subsequent system and, if so, to which system.
You then have to assign the package to a change request.
SPECIFIYING A TRANSPORT ROUTE
If you are executing your own developments, then you must set up a transport layer for customer developments.
The customer developments and modifications to SAP objects, which are carried out in the Development System (DEV), are transported to the Test and Translation System (QAS) for testing and then moved to the Production System (PRD).
ASSINGMENT TO A CHANGE REQUEST
The package created must be assigned to a change request.
You can display all change requests in which you have a task using the My Tasks option. You can simply select the relevant request by double-clicking it.
CREATING AN ABAP PROGRAM
Make sure you comply with the customer namespace conventions.
In this training course, remove the flag for With TOP Include, otherwise the source code will get distributed to several programs.
Change the title to a self-explanatory short text and always choose Executable Program as the program type for this training course.
All other program attributes are optional.
ABAP PROGRAMMING LANGUAGE: PROPERTIES
ABAP Objects is the object-oriented enhancement of the ABAP programming language.
The ABAP syntax is independent of the platform, the relational database system, and the operating system for the application and presentation server.
Applications implemented in ABAP can run in future releases. Hence, ABAP has upward compatibility.
GENERAL ABAP SYNTAX I
You follow certain rules for ABAP syntax:
ABAP programs comprise individual sentences (statements).
The first word in a statement is called an ABAP keyword.
Each statement ends with a period.
Words must always be separated by at least one space.
You can indent statements as you wish.
With keywords, additions, and operands, the ABAP runtime system does not differentiate between upper and lowercase.
GENERAL ABAP SYNTAX II
You have to keep in mind certain rules for ABAP syntax:
Statements can extend beyond one line.
You can have several statements in a single line (though this is not recommended).
Lines that begin with an asterisk (*) in the first column are comment lines (whole lines) and are ignored by the ABAP runtime system.
Double quotations marks (") indicate that the remainder of a line is a comment.
You can combine consecutive statements with an identical beginning into a chained statement.
In this case, place a colon after the identical beginning parts of the records.
KEYWORD DOCUMENTATION IN THE ABAP EDITOR
You can use more than one method to navigate to the documentation for an ABAP statement:
The F1 key takes you directly to the documentation for the statement on which the cursor is positioned.
The “I” icon with the description Help on … takes you to a dialog box where you can enter the required ABAP statement.
THE PREVIOUS ABAP EDITOR
NEW ABAP EDITOR
The New ABAP Editor was developed for SAP NetWeaver 7.0.
The new editor provides a number of important options:
Different objects in the source code can have different display colors.
You can set fonts and font sizes for each individual user.
A better overview is possible if blocks of source code (loops and conditional branches) are compressed for display.
You can use bookmarks to find relevant points in the source code faster.
The display of line numbers and the current nesting facilitates improved orientation.
Once you have typed a few characters, the editor automatically suggests complete words for ABAP keywords and data objects. This considerably reduces the actual amount of typing required.
When pressing STRG + SPACE together, the new editor generates a small dropdown list menu with suggestions suitable for the current cursor position (AS ABAP 7.02).
INACTIVE AND ACTIVE DEVELOPMENT OBJECTS
Whenever you create or change a development object and then save it, the system first stores only one inactive version in the Repository.
You then have an active version as well as an inactive version of the object. At the end of your object development you have to activate the inactive “editing version” of the object, which now becomes the new active version of the object.
Note that the request release and hence the transport of the developed objects are only possible if all objects in the request are activated.
GENERATING RUNTIME OBJECTS
When you generate a development object, the system creates a separate runtime object (LOAD compilation) and stores it in the Repository. This generated version is the version that is executed (interpreted) at runtime.
You can execute the inactive and the active versions of a program in more than one way:
The active version is used if you start your program using the context menu of the navigation area or by means of a transaction. This means that the LOAD generated for the last activation is executed.
Conversely, if you start the inactive version loaded to the editor using the F8 function, you can generate and execute a temporary runtime object from it.
This way you can continue to develop a Repository object without changing the current system status.
CREATING A TRANSACTION
Creating a transaction involves a series of consecutive steps:
Display the object list for your program in the Object Navigator.
In the navigation area, using the context menu of the program, choose Create →Transaction.
Enter the required transaction code.
Assign a short text and choose the label Program and Selection Screen (Report Transaction).
On the next screen, enter the name of the program and choose Professional User Transaction.
Set the indicator SAP GUI for Windows under GUI enabled.
Save the transaction.
As each transaction is a Repository object, you must assign it to a package and then to a change request on the subsequent screens.
INSERTING A TRANSACTION CODE INTO THE PERSONAL FAVORITES
In the SAP Easy Access menu, choose Favorites.
In the resulting context menu, choose Insert Transaction.
The dialog box Enter Transaction Manually is displayed.
Enter the required transaction code in this dialog box.
The short text of the transaction is now included under Favorites and you can start the relevant program by double-clicking it.
THE DEVELOPER RELEASES HIS/HER TASK
Once all the tasks in a change request are released, the project manager carries out the final check for the objects and releases the change request. This concludes the project.
CLOSING THE PROJECT BY RELEASING THE REQUEST (PROJECT MANAGER)
When the request is released
all the object locks that belong to it are removed;
copies of the developed objects are exported to the system’s own transport directory (where they stay until the system administrator imports them to their intended target system); and
another copy of the exported development objects is stored in the system’s own version database.