Академический Документы
Профессиональный Документы
Культура Документы
AB0001-ABAP overview
1 2
PrepareMe TellMe
3
ShowMe
LetMe HelpMe
5
India SAP CoE, Slide 2
AB0001-ABAP Overview
1 2
PrepareMe TellMe
3
ShowMe
LetMe HelpMe
5
India SAP CoE, Slide 3
Introduction
ABAP stands for Advanced Business Application Programming language. It is a fourth-generation language (4GL), first developed in the 1980s, geared towards the creation of simple, yet powerful programs . It is derived from PASCAL and COBOL. It is the programming language of SAP used for developing applications for the SAP R/3 system. Good Programming skills, including knowledge of relational database design and preferably also of object-oriented concepts, are required to create ABAP programs.
Database Insights
Relational Database Management Systems (RDBMS) are generally used to manage large sets of data.
Within the ABAP programming language, SAP uses OPEN SQL to access data in the database regardless of the DBMS.
Data that is frequently required by the applications is stored in buffers so that the system does not have to access the database every time it needs data. In particular, all technical data, such as ABAP programs, screens, and ABAP Dictionary information, as well as a number of business administration parameters, usually remain unchanged in a running system and are therefore ideally suited to buffering.
India SAP CoE, Slide 6
ABAP/4 Editor
Reporting
Screen Painter
ABAP/4 Dictionary
Menu Painter
R/3 Repository
Data Modeller Function Modules
AB0001-ABAP Overview
1 2
PrepareMe TellMe
3
ShowMe
LetMe HelpMe
5
India SAP CoE, Slide 8
R/3 Repository
The R/3 Repository is the centralized storage location of development components in the ABAP Workbench. It is subdivided according to application components (i.e. MM, SD, FI etc). Each application component is further divided into logical subdivisions called Development class.
The ABAP workbench consists of tools for creating and editing Repository objects.
a) ABAP Editor: for writing and editing program code (transaction code SE38). ABAP Dictionary: for processing database table definitions and retrieving global types (transaction code SE11/SE12).
b)
d)
e)
f)
The Object Navigator can be used to access all Workbench tools from a single Transaction Code. Transaction code SE80. The Object Navigator screen is divided into two areas: - Navigation area for displaying the object list in a hierarchy tree. - Tool area for displaying and editing a development object using the correct tool.
India SAP CoE, Slide 12
Development projects are always implemented in a development system and then transported to the next system using a transport request. Repository objects are automatically assigned to a transport route based on which development class they belong to and what is their functionality.
AB0001-ABAP Overview
1 2
PrepareMe TellMe
3
ShowMe
LetMe HelpMe
5
India SAP CoE, Slide 14
ABAP/4 Dictionary
Transaction Code : SE11. ABAP dictionary is the central repository for the creation and management of data definitions in ABAP. It includes the creation of data types, domains, data elements, tables, views, etc.
Data definitions (metadata) are created and managed in the ABAP Dictionary
b)
c)
d)
Type Definitions
Analogous to the predefined ABAP types such as C or I , one may define user-defined types in the dictionary. The following user-defined types are allowed: Data elements: Describe an elementary type by defining the data type, length and possibly decimal places. Structures: Consist of components that can have any type.
a)
b)
c)
Type Definitions
Any complex user-defined type may be built using the previously mentioned basic types.
Database Objects
F1 -> Documentation for the data element. F4 -> Input help for screen fields.
Database table and its components. Various definitions of a table in the database.
A database table is the central data structure of the ABAP/4 data dictionary.
Fields: - A transparent table contains different columns, to allow you to manage data records in a structured way. These are the fields of the table.
A Domain defines a field technically and therefore it may be used at different business levels. (field type and length)
A Data Element is the semantic definition of a field. Therefore, although a take-off airport (data element S_FROMAIRP) would have a different business meaning from an airport where a plane lands (data element S_TOAIRP), they could still have the same domain (here S_AIRPID) because technically we could assign the same number of characters whether the airport is a take-off or a landing airport.
India SAP CoE, Slide 26
a)
Data Class: The data class logically defines the physical area of the database (for ORACLE the table space) in which your table should be created.
Views
A view can be used in ABAP programs for data selection. Types of Views:- Database views : are implemented with an equivalent view on the database. - Projection views : are used to hide fields of a table (only projection). - Help views : can be used as selection method in search helps. - Maintenance views : permit you to maintain the data distributed on several tables for one application object at one time.
Search Helps
The input help (F4 help) is a standard function of the R/3 System. It permits the user to display a list of possible values for a screen field. A value can be directly copied to an input field by list selection.
b)
Lock Objects
SAP data dictionary provides with a locking mechanism to synchronize simultaneous data access by different users.
Lock Objects
Lock objects are created in SE11. Customer lock objects must begin with EY or EZ . Lock Mode Three possible lock modes exist for lock objects.
Lock Mode E (Extensible) X (Exclusive) S (Shared) Meaning Lock for data change (accumulative exclusive lock) Lock for data change (exclusive write lock) Lock for protected data display (shared lock)
Lock mode E: This sets a lock for changing data for single user. This lock can be accumulated. Lock mode X: This mode is used like mode E for changing data. The only technical difference from mode E is that the respective lock does not allow accumulation. Lock mode S: This mode ensures that data displayed in your program cannot be changed by other users during the entire display time. Here you do not want to change the data yourself (allows read only access for data).
SAP AG 2002
Internal Tables
Internal tables provides a means of taking data from a fixed structure and storing it in working memory in ABAP. In case of internal table, the data is stored line by line in memory, and each line has the same structure. An internal table is a temporary storage in the program memory which lasts only till the execution of the program. Internal tables are run time tables used to data manipulations after fetching data into them from the standard tables. Internal tables are dynamic data objects. A particularly important use for internal tables is for storing and formatting data from a database table within a program.
b)
c)
Hashed tables: - Hashes tables have no internal linear index. - These tables use Hash algorithm.
Internal Tables
Predefine ABAP Types
Fixed length Data type Numeric i f p Description Integer Float. point number Packed number Length in bytes 4 8 1 .. 16 1 .. 65535 1 .. 65535 8 6 1 .. 65535 Attributes
Character string type / hexadecimal string Character sequence xstring Hexadecimal code
SAP AG 2002
ABAP types d, t, i, f, string, and xstring are used directly to type data objects and are therefore called fully specified types. ABAP Types c, n, and x must include additional information before using them to define data objects:
India SAP CoE, Slide 38
Selection-Screen
Selection-Screen are special screens which allow the user to restrict the amount of data selected from database. Selection screens are one of the three types of screen in the R/3 System, along with dialog screens and lists.
India SAP CoE, Slide 39
Reports are uses in day to day business environment. For eg Displaying the purchase orders information. Displaying the balance of vendors to be paid till a particular date. etc. Enhance the efficiency & transparency of Business Processes.
Sound Decision making with the control of master data and accurate reporting. Relevant Documents immediately available for in case of drill down reports.
ABAP/4 report programs are event driven programs. When an executable program is run, the program flow is controlled by the events in the ABAP runtime environment.
INITIALIZATION
AT SELECTION-SCREEN TOP-OF-PAGE
START-OF-SELECTION
END-OF-PAGE
END-OF-SELECTION
Top-of-Page:- This is triggered by the first write statement in the program. - It is used to have a standard header in the program for all the pages.
Select Statement.
a) b) To extract data from the Database tables, use the Open SQL statement SELECT. The SELECT statement contains a series of clauses, each of which has a different task:The SELECT clause describes, among other things, whether the result of the selection will be several lines or a single data record and which fields of the table are to be read. The FROM clause names the source (database table or view) from which the data is to be selected. The INTO clause determines the internal data objects into which the selected data is to be placed.
The WHERE clause specifies the conditions that the selection results must fulfill. It thus controls the number of records to be selected from the table.
Select Statement .
To program database read access, use the Open SQL statement SELECT. The SELECT statement contains a series of clauses :
Types of Select.
a)
Reading by single record access: The SELECT SINGLE * statement allows you to read a single record from the database table. In the INTO clause, enter the destination where the database interface is to copy the data. When the CORRESPONDING FIELDS OF clause is used, addition in the INTO clause, fill the target area component by component.
Types of Select.
b) Reading several lines using a loop: If you do not use the addition SINGLE with the SELECT statement, the system reads multiple records from the database. The field list determines the columns whose data is to be read from the database.
The ABAP runtime system copies the data records to the target area line by line using a loop.
It also enables sequential processing of all the statements between SELECT and ENDSELECT.
Types of Select
c) Reading several lines using array fetch: The addition INTO TABLE itab causes the ABAP runtime system to copy the contents of the database interface directly to the internal table itab. This is called an array fetch. Since the array fetch is not executed as a loop, do not program any ENDSELECT statement. If you want to add lines to the end of an internal table that is already filled, instead of overwriting it, use the APPENDING TABLE itab addition.
Messages
Transaction Code : SE93. When the screen input is entered, the transaction must check the validity of the input information before using it. The SAP System provides error-handling features that simplify field checking as much as possible.
MESSAGE statement (in ABAP/4) (a) The MESSAGE statement (in ABAP/4) lets the messages be put from an ABAP/4 program. (b) An ABAP/4 program notifies the system of errors by putting out an error message or warning.
Messages Types
There are five different types of messages : S - Success,
- Information,
W - Warning, E - Error
- ABORT messages.
Message Syntax:
MESSAGE ID <id> TYPE <t> NUMBER <n> [WITH <f1> ... <f4>] [RAISING <exc>]. where <id>, <t>, and <n> are fields containing the message class, message number, and message type respectively.
Function Modules
Transaction Code : SE37.
a)
Function Modules
b) Export parameters are received from the function modules. Export parameters are always optional. c) Changing parameters are passed to the function module and can be changed by it. d) Tables are used to pass multiple records to / from the function module. e) Exceptions provide information about error situations. If a function module initiates an exception, processing of the function module is interrupted. It is possible to set a return code, if necessary, in the calling program.
India SAP CoE, Slide 55
Function modules
Calling Function Modules CALL FUNCTION <module> [EXPORTING f1 = a 1.... f n = a n] [IMPORTING f1 = a 1.... f n = a n] [CHANGING f1 = a 1.... f n = a n] [TABLES f1 = a 1.... f n = a n] [EXCEPTIONS e1 = r 1....en = rn [ERROR_MESSAGE = r E] [OTHERS = ro]]. Creating Function Modules (SE37) - Attributes - Parameter Interface - Tables - Exceptions - Source Code
India SAP CoE, Slide 56
Subroutines
This e.g. shows a subroutine that calculates a percentage. This subroutine is called several times, even though different data objects are passed to the interface in each case.
Subroutines
This makes the program easier to read and allows to use these code segments more than once. The data can be passed to the subroutine and back through its interface. This allows to call the same function for different data objects. Using subroutines makes the program more function oriented: it splits the program's task into sub functions so that each subroutine is responsible for one sub-function.
Structure of Subroutines
The structure of a subroutine includes the following: - Each subroutine starts with FORM and ends with ENDFORM. - The name of the subroutine is followed by the interface definition.
The statements that the subroutine executes come between FORM and ENDFORM.
India SAP CoE, Slide 59
This is done in three ways:a) Call-by-value:- A local copy of the actual parameter is passed to the subroutine. This means that value assignments to the formal parameter have absolutely no effect on the actual parameters. b) Call-by-reference: A de-referenced address of the actual parameter is passed to the subroutine. This means that value assignments to the formal parameter directly affect the actual parameter. The value of the actual parameter is physically changed by the subroutine through the address.
c) Call-by-value-and-result: A local copy of the actual parameter is passed to the subroutine and a value is passed back to the main program only if the ENDFORM statement is executed. This means that value assignments to the formal parameter affect the actual parameter only after they have left the subroutine.
Calling Subroutines
A subroutine is called using the PERFORM statement. When the subroutine is called, parameters are passed to it in strict sequence. For this reason, the subroutine should be defined first and then call it. The Object Navigator supports in this respect: the PERFORM statement can be generated by dragging the subroutine from the navigation area to the editor area.
Data upload
Data Upload in SAP can be done using BDC or LSMW. 1. BDC:It stands for BATCH DATA COMMUNICATION. Transaction Code : SHDB. BDC basically uses Batch Input Sessions and CALL TRANSACTION method..
Data
Legacy System
R/3 System
BATCH INPUT
Batch input is used to transfer large amounts of data into the SAP system. BDC works by simulating the user input from transactional screen via an ABAP program. The input data file will come in the form of a flat file.
India SAP CoE, Slide 62
Data upload
2. LSMW :It stands for Legacy System Migration Workbench. Transaction Code : LSMW. The LSM Workbench is an R/3-based tool, that supports the one-time or periodic transfer of data from non-SAP systems ("legacy systems") to SAP systems. It offers different technique for migrating data: Direct input, BAPI, IDoc, Batch input recording. It helps to organize the data migration project and guides through the process by using a clear sequence of steps.
India SAP CoE, Slide 63
Structur e relations Convert data Field mapping Batch Input processing Direct Input processing IDoc inbound processing
.
Legacy data on PC
Read data
Read data
Conversi on rules
Converte d data
Dialog Programming
Transaction Code : SE41. Screens allow user to enter and display the data. One of their strengths is that they combine with the ABAP Dictionary to allow to check the consistency of the data that has been entered. Module pool programs are also called Dialog programs.
Dialog Programming
A dialog program allows to work interactively with the system and to change the contents of the database tables. Each dialog program has a certain sequence of screens that are processed by the system one after the other.
India SAP CoE, Slide 65
Table Control.
Table Control
A Table control is used to display the contents of an internal table in a tabular format on a screen.
Within a table control, the table elements, key words, templates, checkboxes, radio buttons, radio button groups, and pushbuttons can be used.
A line may have up to 255 columns; each column may have a title.
Table Control
Tabstrip Control
(a ) Tabstrip controls provide with an easy, user-friendly way of displaying different components of an application on a single screen and allowing the user to navigate between them. (b ) Tabstrip controls are a useful way of simplifying complex applications. Tabstrip controls can be used wherever there are different components of an application that form a logical unit.
SAP Script
SAP SAP Docume nt Document
Read Data
ABAP Program
Use
SAP Script
Prints
Form (Output)
Transaction Code : SE70. SAP Script is used to print forms e.g: Printing Cheques, Invoice. SAP Script focuses on the design and use of Layout sets in ABAP programs to generate beautified output in SAP.
SAP Script is a tool that SAP provides for creating layout sets.
India SAP CoE, Slide 72
SAP Script
The standard SAP system come with all the standard sap scripts for printing invoices, delivery orders or sales order etc.. A Layout Set is a template designed in SAP to place the stream of data coming from a SAP program on different parts of a physical page. The ABAP Programmer needs to lay out the various elements that need to be printed on the page and store it as an object in the SAP system.
Smart Forms
.
Transaction Code : Smartforms Smart Forms are used in SAP to create and maintain forms for mass printing. SAP Smart Forms allow to execute simple modifications to the form and in the form logic by using simple graphical tools.
Function module call DB selection Later selection Output
Smart Form
activate
Application program
Smart Forms
SAP Smart Forms are directly integrated into the applications, no time is lost due to data exchange with external systems.
SAP Smart Forms allow to include graphics, which can be displayed either as part of the form or as background graphics.
BAPI -
Transaction Code : BAPI. A BAPI can be viewed as the door to the SAP system; this interface provides access to business data and processes in the SAP system from the outside.
Each object in the BOR can have several methods, one or more of which can be implemented as BAPI s.
RFC -
RFC is the standard SAP interface for communication between SAP systems and the RFC calls a function to be executed in a remote system . RFC is the call of a function module that runs in a different system to the calling program. RFCs are requests that an SAP component sends to invoke functions on remote systems, or calls that remote systems to invoke functions on an SAP component.
Enhancements - Overview
Enhancements
The R/3 System is adjusted to meet the customer needs in the following ways:
Customizing: Setting up specific business processes and functions for the system according to an implementation guide. The need for these changes has already been foreseen by SAP and an implementation procedure has been developed. Personalization: Making changes to certain fields' global display attributes (setting default values or hiding fields) as well as creating user-specific menu sequences.
India SAP CoE, Slide 80
Enhancements
Modifications: Changes to SAP Repository objects made at the customer site. If SAP delivers a changed version of the object, the customer's system must be adjusted to reflect these changes. Prior to Release 4.0B these adjustments had to be made manually using upgrade utilities. From Release 4.5A, this procedure has been automated with the Modification Assistant.
Enhancements: Creating Repository objects for individual customers that refer to objects that already exist in the SAP Repository.
Customer Developments: Creating Repository objects unique to individual customers in a specific namespace reserved for new customer objects.
Enhancements
An object is original in only one system. In the case of objects delivered by SAP, the original system is at SAP itself. In customer systems, these objects are then only available as copies. This applies to the development system and all other systems that come after it.
If the applications are not the original Objects, the objects created are original in your development system. Than the developments are assigned to a change request, which has the type Development/Correction.
This request ensures that the objects are transported from the development system into the subsequent systems.
India SAP CoE, Slide 82
Enhancements
Changes to an original are called corrections. They are recorded in a change request whose tasks have the type Development/correction.
If, on the other hand, if the change is done to a copy (an object outside its own original system), the change is recorded in a task with the type Repair. Repairs to SAP objects are called modifications.
Enhancements
When the repair is done to not to the original objects (for example, if something goes wrong in your production system), correct the original in the development system straight away. When you change copies, you must correct the original immediately! However, this cannot be done this SAP objects, because they are not original in any of your systems. You should only modify the SAP standard if the modifications you want to make are absolutely necessary for optimizing workflow in your company. Be aware that good background knowledge of application structure and flow are essential prerequisites for deciding what kind of modifications to make and how these modifications should be designed.
Enhancements
Whenever you upgrade your system, apply a Support Package, or import a transport request, conflicts can occur with modified objects.
Enhancements
Conflicts occur when you have changed an SAP object and SAP has also delivered a new version of it. The new object delivered by SAP becomes an active object in the Repository of your system. If you want to save your changes, you must perform a modification adjustment for the objects. If you have a lot of modified SAP objects, your upgrade can be slowed down considerably. To ensure consistency between your development system and subsequent systems, you should only perform modification adjustments in your development system. The objects from the adjustment can then be transported into other systems.
Customizing Includes: - If it is known in advance that one of the tables or structures delivered by SAP needs to have customer-specific fields added to it, an SAP application developer can include these fields in the table using a Customizing include statement. - The same Customizing include can be used in multiple tables or structures. This provides for consistency in these tables and structures whenever the itself include is altered.
India SAP CoE, Slide 87
Text Enhancements: Possible text enhancements include customer keywords and customer documentation of data elements.
Text enhancements differ from other application enhancements in that they take effect globally in all related SAP applications after activation (global enhancements).
Application enhancements allow customers to enhance their application functions. Customer exits are preplanned by SAP and generally consist of several components.
SAP application programmers create SAP enhancements in transaction SMOD using function module exits, menu exits, and screen exits. Customers are given a catalog containing an overview of existing SAP enhancements. The ABAP developers combine the SAP enhancements that is required into an enhancement project using transaction CMOD.
India SAP CoE, Slide 91
Customer Exits
Screen Exits
Function module exits are exits developed by SAP. The exit is implemented as a call to a function module. The code for the function module is written by the developer. The code is not written directly in the function module, but in the include that is implemented in the function module. Function module exits allow to implement functions that are not SAP standard functions and processing logic in standard SAP programs.
India SAP CoE, Slide 93
Menu Exits
Menu enhancements permit to add additional menu entries to an SAP standard menu.
Screen Exits
What is BADI? - BADI is an Enhancement that works on object-oriented concepts. - It is an anticipated point of extension these points act like sockets and exist in the original source code. - It is based on ABAP Objects. BADI defines an interface that can be implemented by BADI- implementations that are transport objects of their own. In the Business Add-In, the interfaces for program enhancements are defined in the form of interface methods. This interface is used to implement the enhancement.
India SAP CoE, Slide 96
ABAP Objects
The object-oriented approach, focuses on objects that represent abstract or concrete things of the real world.
These objects are first defined by their character and their properties which are represented by their internal structure and their attributes is described by data and the behaviour of these objects is described by methods (functionality).
Object-oriented programming, is a problem-solving method in which the software solution reflects objects in the real world . ABAP Objects is a programming language and part of the ABAP Workbench that allows developers to create and run applications that contain program objects.
Compatibility: ABAP Objects is a true, compatible extension of ABAP ABAP Objects statements can be used in procedural ABAP programs Objects (classes) themselves contain classic ABAP statements
Design aims were: As simple as possible Only object-oriented concepts that have proved useful Increased use of type checks
SAP AG 2002
ALE-IDOCS
SAP Business units (Sales Unit & Production Unit) can use ALE for internal data exchange.
Supplier Idoc Production (SAP) Idoc Idoc
Idoc
ALE is SAP Technology to send and receive business data in SAP Systems and non-R/3 systems.
Customer
Idoc
Container for the data is IDoc. When communicating with Business Partners (customers/suppliers on non-SAP platforms) SAP business units can exchange data through EDI using IDocs. ALE - Application Link Enabling. IDoc - Intermediate document.
ALE-IDOCS
IDoc acts as a standard SAP interface to exchange business data through ALE. From an SAP system, an IDoc can be sent to and received from An SAP R/3 system An SAP R/2 system An EDI subsystem Any third-party application software.
IDoc is the container for the business data and ALE is the technology which builds the road for data transfer.
Message type is a name given , that tells us what type of business data is being exchanged. Message type is always linked to an IDoc type. Where the IDoc Type represents the data format. While the message tells us the purpose of data being sent.
India SAP CoE, Slide 101
c)
LEAVE TO TRANSACTION TCODE: In this case all internal sessions except the context of the newly called program are deleted.
India SAP CoE, Slide 104
Sap Query
An ABAP Workbench tool that enables users without knowledge of the ABAP programming language to define and execute their own reports. The purpose of the SAP Query are for users with no programming knowledge. In ABAP Query, you enter texts and select fields and options to determine the structure of the reports. Fields are selected from functional areas and can be assigned a sequence by numbering. SAP queries are used to retrieve the information from different tables. A functional area is where the group selected tables together to be reported on. For User groups, sections to build queries in. A SAP query is the report.
India SAP CoE, Slide 105
AB0001-ABAP Overview
1 2
PrepareMe TellMe
3
ShowMe
LetMe HelpMe
5
India SAP CoE, Slide 106
1. 2. 3. 4.
Go to SAP easy access. Go to TCODE SE38. Enter the program name starting with 'Z' or 'Y'. Click on the 'CREATE' push button .
Select the TYPE of the program you want to create from the drop down list. Click here
5. 6. 7.
In a dialog box, enter the description for the program you have created. Then you need to select what 'type' of program. Then click on the SAVE Button.
India SAP CoE, Slide 108
8.
On the ABAP editor write:write 'Hello world. Then click on check Button to check for errors. Then active the program. And then click on Execute button or press F8 Key.
1. 2. 3. 4.
Go to SAP easy access. Go to TCODE SE38. Enter the program name starting with 'Z' or 'Y'. Click on the 'CREATE' push button .
Select the TYPE of the program you want to create from the drop down list.
Click here
5. 6. 7.
In a dialog box, enter the description for the program you have created. Then you need to select what 'type' of program. Then click on the SAVE Button.
India SAP CoE, Slide 113
8. 9.
Give the package name and then save it. Write the code as shown in the screen above.
Then click on check Button to check for errors. Then activate the program. And then click on Execute button or press F8 Key.
India SAP CoE, Slide 115
Display of the Selection - Screen . Then click on Execute Button or press F8 Key. Pass the Values on the screen.
India SAP CoE, Slide 116
16.
AB0001-ABAP Overview
1 2
PrepareMe TellMe
3
ShowMe
LetMe HelpMe
5
India SAP CoE, Slide 118
2) Code Inspection: During an inspection, individual objects or sets of objects are checked as to whether certain programming guidelines have been adhered to.
The result of an inspection run is a list of the individual checks made with errors, warnings, or information messages.
Debugger
The Debugger is a tool that is used to execute ABAP programs, by line or by section. With this tool, display data objects and check the flow logic of programs. At the moment, two types of debugging are possible: - Debugging with the classic Debugger for release levels prior to 6.40 or debugging with - the New Debugger, which is available for all releases after 6.40.
Breakpoint
Apart from being able to execute an ABAP program in the Debugger, the Debugger call by the choosing a breakpoint. This is achieved by setting one or more of these breakpoints in the program. A breakpoint is a signal at a particular point in the program that tells the ABAP runtime processor to interrupt processing and start the Debugger. The Debugger is activated when the program reaches this break point.
Breakpoint
To set a breakpoint, double-click in front of a line of source code. To set a breakpoint for a specific ABAP statement, choose: Breakpoint Breakpoint at - Statement.
Breakpoint
Choose Continue, the program is executed up to the next breakpoint. Save the breakpoints, they remain intact while logged on to the system. With breakpoints, the ABAP Workbench switches to debugging mode only for the developer who set the breakpoints. All other users can execute the program directly or set their own breakpoints.
Position the cursor at the place in the source code where execution is to be stopped.
Choose the external breakpoint icon from the toolbar. The following Screen will be displayed:
Watchpoints
Like a breakpoint, a watchpoint is an indicator in a program that tells the ABAP runtime processor to interrupt the program at a particular point. Unlike breakpoints, however, watchpoints are not activated until the contents of a specified field change.
Watchpoints, like dynamic breakpoints, are user-specific, and so do not affect other users running the same program.
Watchpoints
You can create the following types of watchpoints:(a) Field name: The program is executed until the content of the field has changed.
India SAP CoE, Slide 128
Watch-Points
(b) Field name, relational operator, comparison value:The program is executed until the content of the field has changed so that the defined logical condition, relative to a value, is met. (c) Field name, relational operator, comparison value:The program is executed until the content of the field has changed so that the defined logical condition, relative to the content of a field, is met. WE can set up to 10 watchpoints and link them using the logical operators AND or OR.