faq's

64
What is SAP web dispatcher? The SAP Web dispatcher lies between the Internet and your SAP System. It is the entry point for HTTP(s) requests into your system, which consists of one or more Web application servers. As a "software web switch", the SAP Web dispatcher can reject or accept connections. When it accepts a connection, it balances the load to ensure an even distribution across the servers. You can use the SAP Web dispatcher in ABAP/Java systems and in pure Java systems, as well as in pure ABAP systems. What are the basic functions of SAP dispatcher? The SAP Web dispatcher performs the following tasks: 1. Selects an appropriate application server (persistence with stateful applications, load balancing, ABAP or Java server), see Server Selection and Load Balancing Using the SAP Web Dispatcher. 2. Filters URLs – you can define URLs that are to be rejected, see SAP Web Dispatcher as a URL Filter 3. Depending on the SSL configuration, forwards, terminates, and (re)encrypts requests. See SAP Web Dispatcher and SSL What is a work process? A work process is where individual dialog steps are actually processed and the work is done. Each work process handles one type of request.

Transcript of faq's

Page 1: faq's

What is SAP web dispatcher?

The SAP Web dispatcher lies between the Internet and your SAP System. It is the entry point for HTTP(s) requests into your system, which consists of one or more Web application servers. As a "software web switch", the SAP Web dispatcher can reject or accept connections. When it accepts a connection, it balances the load to ensure an even distribution across the servers. You can use the SAP Web dispatcher in ABAP/Java systems and in pure Java systems, as well as in pure ABAP systems.

What are the basic functions of SAP dispatcher?

The SAP Web dispatcher performs the following tasks: 1. Selects an appropriate application server (persistence with stateful applications, load balancing, ABAP or Java server), see Server Selection and Load Balancing Using the SAP Web Dispatcher. 2. Filters URLs – you can define URLs that are to be rejected, see SAP Web Dispatcher as a URL Filter 3. Depending on the SSL configuration, forwards, terminates, and (re)encrypts requests. See SAP Web Dispatcher and SSL

What is a work process?

A work process is where individual dialog steps are actually processed and the work is done. Each work process handles one type of request.

Q3> How to differentiatebetween ABAP central instance and dialogue instance?

Central Instance have message server installed on it where as Dialog Instance do not have message server.

Page 2: faq's

What is Message service?

The message service is a separate program used for communication between the elements of a Java cluster. The message service is aware of all the active Java Instances. It coordinates between different cluster components and provides load balancing.

What is central services in SAP Java stack?

The Central Services form the basis of communication and synchronization for the Java cluster. The Central Services run on one physical server and are one Java instance. It consist of Message service and enqueue service.

What is SAP BASIS or SAP NetWeaver?

The R/3 BASIS Software is the set of program tools that interfaces with the computer operating system, underlying database, the communication protocol, and the presentation interface. The R/3 BASIS Software enables the R/3 Application (FI, CO, SD etc) to have the same functionality and work exactly the same way no matter what operating system or database the system is installed on. The R/3 BASIS Software is an independent layer that guarantees the integration of all application modules.

What is ERP (Enterprise Resource Planning)?

Page 3: faq's

Enterprise Resource Planning. A system that integrates (or attempts to integrate) all data and processes of an organization into an unified system. A typical ERP system will use multiple components of computer software and hardware to achieve the integration. A key ingredient of most ERP systems is the use of an unified database to store data for the various system modules.

What are the different types of Work Processes in SAP Instance?

Dialogue, Background, Spool, Enqueue, Update are the five types of work processes in an SAP system.

What is SAP Instance?

An instance is a group of R/3 services that are started and stopped together. Usually, an instance is one dispatcher with its work processes, although other standalone services such as a gateway can be called an instance.

Why do we call client 000 as golden client?

Golden client contains all the configuration data and master data. All the configuration settings are done in golden clients and then moved to other clients. Hence this client acts as a master record for all transaction settings, hence the name "Golden Client".

What is an SAP workflow?

Page 4: faq's

SAP Business Workflow can be used to define business processes that are not yet mapped in the R/3 System. These may be simple release or approval procedures, or more complex business processes such as creating a material master and the associated coordination of the departments involved.

What is an Authorization Object?

The Authorization Object mechanism is used to inspect the current user’s privileges for specific data selection and activities from within a program.

What is Enqueue service?

The enqueue service is used to manage logical locks. The applications can lock objects and release locks again. The enqueue service processes these requests and manages the lock table with the existing locks.

What is RFC?

Communication between applications in different systems in the SAP environment includes connections between SAP systems as well as between SAP systems and non-SAP systems. Remote Function Call (RFC) is the standard SAP interface for communication between SAP systems. RFC calls a function to be executed in a remote system.

////////////////////////////////////////////

Page 5: faq's

==============================================================================================

TAW10-1 ABAP Workbench Fundamentals

==============================================================================================

Unit 01: SAP Solutions

What is SAP Net weaver?

SAP Net weaver is a web based Open Integration and application platform that serves as the foundation for service oriented architecture and allows integration and assignment of people, infrastructure and business process across business and technology boundaries.

What are the differences between SAP R/3 and Sap Net weaver?

SAP R/3 is Sap’s integrated software solution for client/server and distributed open system.R/3 stands for Real time 3 tier architecture. It is a package Business software that allows you to automate and integrate majority of the business process to share common practices and to produce and access the information on the fly. SAP R/3 has modules like PP, MM, FI, CO, SD. Where as SAP Net weaver is the latest platform from which SAP supports JAVA development. Sap net weaver in simple words is an application and integration platform in which web service play a major role and which is open for non SAP applications and platform. Ex. If you want to connect SAP to JAVA or .Net you will have connectors/adapters. In simple Net weaver is an integration technology and an application platform that work with your existing infrastructure to enable and manage change while maintaining a sustainable cost structure.

Explain TCO

Page 6: faq's

SAP Net weaver is a central tool for reducing the TOTAL COST OF OWNERSHIP (TCO) of complex system infrastructures. TCO is a "model that helps Enterprise to understand all of the Costs and Benefits associated with Acquiring, Owning, and using IT component throughout its lifecycle".

Unit 02: Navigation

What is a diag protocol?

Diag Protocol is the interface between presentation layer i,e, GUI screen and Application layer. Flow of data takes place between presentation layer and the application layer as logical, compact information about the control elements and user inputs.

Unit 03: The System Kernel

What is central instance? What is the difference between instances and central instance?

The application server containing enque processor and message server and gate way is termed as Central instance. Both Instance and central instance are similarly in the sense, both will have dispatcher, abap and java instance, only difference between both is, central instance will have enque and message server.

What is dispatcher?

Page 7: faq's

Dispatcher is the link between the work processes and the users logged on to SAP application server. Dispatcher receives the user requests on the application server and passes it on to the available work process. The received requests have to stand in the queue. Requests in this queue are distributed by the dispatcher to available dialog work processes on a first in, first out (FIFO) basis.

What is the difference between ABAP Interpreter and Screen Interpreter?

Each Work Processor is comprised of Task Handler, ABAP interpreter, Screen Interpreter or Screen Processor. When a program or screen is generated, the ABAP interpreter and the screen interpreter access the type definitions stored in the ABAP Dictionary. The screen interpreter executes the screen flow logic of the application program, calls processing logic module. Actual processing logic of SAP Programs written in ABAP is executed by ABAP interpreter

What exactly the DIAG protocol?

DIAG PROTOCOL is the means of communication between Presentation server and the Application server. The data transfer between these two servers takes place through DIAG PROTOCOL. The flow of data between the Presentation layer and the Application layer does not consist of prepared screens;

it consists of logical, compact information about control elements and user input (DIAG PROTOCOL).

What are SAP System Landscape?

The system landscape is the Set-up or arrangement of SAP Servers. Ideally, in an SAP environment, a three-system landscape exists. A three-system landscape consists of Development Server-DEV, Quality assurance Server QAS, and the Production server PROD. This is called as SAP System Landscape.

Page 8: faq's

Unit 04: Communication and Integration Technologies

What is RFC connection?

The Remote Function Call interface is an SAP Protocol based on CPI-C and TCP/IP. RFC enables you to call and execute predefined functions in a remote system or within the same system. To call RFC Module from SAP System, you need to know the import and export parameters defined in the function builder and there must be a technical connection between the two systems. This Connection is called an RFC Connection or RFC Destination.

Explain RFC.

You can use the RFC interface for communication between SAP systems and between SAP systems and external systems. SAP offers several interfaces that are based on RFC such as Application Link Enabling (ALE), Business Application Programming Interfaces (BAPIs), and RFC function modules.

Applications can use RFC to call SAP function modules located in other systems. The interface works as follows:

SAP Systems (ABAP Interface)

An ABAP program can call a remote function with the statement CALL FUNCTION... DESTINATION. The DESTINATION parameter indicates the system where the function called is located. This function module must be an ABAP function module, and must be flagged as RFC-enabled in the Function Builder.

• Remote functions can be called either synchronously or asynchronously.

Page 9: faq's

What are BAPI's?

The SAP business objects stored in the Business Object Repository (BOR) encapsulate their data and processes. External access to the data and processes is only possible by means of specific methods - BAPIs.The BAPIs in the SAP Systems are currently implemented as function modules, which are created and managed in the Function Builder. Each function module underlying a BAPI:

a) Supports the Remote Function Call (RFC) protocol.

b) Has been assigned as a method to a SAP business object type in the Business Object Repository.

c) Is processed without returning any screen dialogs to the calling application. All SAP business object types, SAP interface types, and their methods are defined and described in the Business Object Repository (BOR).The BOR has two essential functions:

It defines and describes SAP business objects and SAP interface types and their BAPIs and also it creates instances of SAP business objects.

Unit 05: Sources of Information for Developers

What’s the full form of OSS user?

Online Support System is the full form of OSS. OSS is used by SAP to issue correction to known bugs to application or system. You will get your OSS User name and Password once you clear your Certification Exam.

What is SAP service marketplace?

Page 10: faq's

SAP service marketplace at http://service.sap.com is directed specifically at SAP's customers and partners. It enables you to access various services, special information, and additional offers. All the information on all SAP solution is found in www.SAP.com.

Unit 06: ABAP Program Process

What is presentation layer , application server layer & database server layer ?

The third level is the presentation server level. This level contains the user interface where each user can access the program, enter new data, and receive the results of a work process.

The ABAP programs run at the application server level, that is, both the applications provided by SAP and the ones you develop yourself. The ABAP programs read data from the database, process the data, and possibly store data..

The lowest level is the database level. Here data is managed with the help of a relational database management system (RDBMS). This data includes, apart from application data, the programs and the metadata that the SAP System requires for self-management.

HOW CAN WE GET THE VALUE OF THE SY-SUBRC? WHAT DOES IT MEAN?

ABAP Runtime system writes the corresponding return code into the System Field SY-SUBRC in order to provide information as to how successfully the particular statement was executed. While creating

Page 11: faq's

the program, For Ex: If SY-SUBRC = 0. WRITE: WA-SPFLI. ELSE. WRITE: NO DATA FOUND. ENDIF. ,If SY-SUBRC = 0 then, when you execute the program, the records of WA-SPFLI will be displayed. If there is any error then SY-SUBRC<>0, then you will get a message NO DATA FOUND.

What are customer namespace?

Whenever you create any development objects you should start with either Z or Y, so this is termed as customer namespace. Even if you try creating a development object other than Z or Y it throws you an error, saying they are reserved for SAP, you can only use Z or Y.

Unit 07: Introduction to ABAP Workbench

What is transport layer?

The transport layer determines if the objects of this package are to be transported to a subsequent system and, if so, to which system. Transport layer determines whether objects are assigned to local or transportable change request.

What is a change request?

Change request in project terminology refers to any change/correction/enhancements to an existing application or while creating any development objects. Change request keep track of the changes you are doing in any of the objects. And this change request is then used to move these changes to test system and then to productive system

Page 12: faq's

Please provide steps to create a Package.

Please follow the given steps.

1) Use the transaction code SE80.

2) Select the object type as Package.

3) Enter the name of your Z package.

4) Click enter to get Create object screen.

5) Click yes.

6) You will get Package attributes screen.

7) Enter short description.

8) Click on create in the same screen.

9) You will get a prompt for change request. Here click on Create button to get Create request screen.

10) Enter a short description and click enter.

11) System will assign a change request.

12) Again, click Enter.

13) Package will be created.

Where are application data, programs, and meta datas stored?

Page 13: faq's

Application data and Meta data, also known as transaction data and master data respectively, are stored in the database alongwith your other programs. Programs in particular are strored in the repository and in turn this repository is stored in the database. So programs are stored in the database.

What is the actual use of Work area?

Work areas are used with internal tables. For example, if you have an internal table defined in the given manner:

data: itab type table of spfli.

This internal table can hold many rows of data, so say you need to read this data, then you will need to Loop or Read the internal table, since this internal table has no header line, you need to have a work area to put the data in to it.

Data: Wa like line of itab.

loop at itab into wa.

endloop.

This is the use of Work area.

Unit 08: Basic ABAP Language Elements

Page 14: faq's

Why we use the used list? Give me an example.

With where-used list you can determine who used the objects & the dependencies between the objects. Where-used list for each ABAP dictionary object with which you can find all the objects that refer to this objects. You can call the where used list by selecting an object in the navigation tree & choosing object-where used list in the main menu bar of the integration builder. You can create a new where-used list for an address or person by assigning a new address or person number.

What is the FETCH? What is the function of it.

FETCH statements are executed as ARRAY statements, whenever possible. FETCH statement assigns the values of the current row in a result table to parameters. Its used to fetching the data.

How LITERALS are defined in the Program?

Literals are unnamed data objects that you can create within the source code of a program. They are fully defined by their value. Numeric Literals in ABAP statement, you define them as a sequence of digits in the program text with or without +/-signs. It can have value type i or p, Ex: data: number type i value -1234. Character literals are of type c(alphanumeric), if they are enclosed in a quotes and have the predefined ABAP type c then they are called Text field Literals. Ex: 'Antony'.Literals enclosed in back quotes have ABAP type String and they are called String Literals. Ex: `Antony`.

Page 15: faq's

Unit 09: Data Retrieval

How AUTHORIZATION CHECK is used in ABAP program?

Authorization checks are necessary in your programs to protect the data from unauthorized access. Critical data and parts of the functional scope of the SAP system must be protected from unauthorized access. At runtime you can use the Authority-Check statement to check whether the actual user has the authorization or not in ABAP Program.

What is the difference between move and assign statements

You use the assign statement to assign a data object to the field symbol. Where as in case of MOVE statement in order to assign the value of a data object to a variable we use Move statement. For example MOVE <F1> TO <F2>.The contents of <F1> remains unchanged. In the move statement or when you assign one value to another with equal sign, it is not possible to specify field names dynamically as the contents of other fields as in case of Field symbols.

What is the use of LIKE LINE OF and how is it different from LIKE?

LIKE LINE OF is used, if we declare a work area similar to the internal table that is defined in the program - DATA: ITAB TYPE TABLE OF SFLIGHT.DATA: WA LIKE LINE OF ITAB. Here WA is the line object and similar to the row of internal table Itab. Like line of is only used for work area. For more information, in the abap editor, place the cursor on the LIKE LINE OF statement and press F1. SBC4OO_T_SPFLI is the table name and I am defining an internal table IT_SPFLI TYPE SBC4OO

Page 16: faq's

What are Table types

Table Types are structures with fields but no data; we can define internal tables like those table types in our program. Where as Transparent tables are the database tables having fields and data in that. They have physical appearance in the database, where as, table type just contains the structure of the table and it does not contains any records stored in it. Table type gives option for you to select different types of internal tables like

1) Standard table.

2) Sorted table.

3) Hash table

What are the different re-use components for data retrieval?

There are four types of data retrieval re-use components namely:

1. Logical databases:- These are data retrieval programs that read data from tables that belong hierarchically together.

2. Function Modules:- These are subroutines stored in function library with encapsulated functionalities, such as reading from hierarchically related tables.

3. BAPIs:- These are methods of business objects with read function.

4. Methods of global classes:- These also can be programmed in order to read data from a group of tables belonging together.

Unit 10: Subprograms in ABAP

Page 17: faq's

What is the difference between function modules & subroutines?

Functions are stored in a central library and has a global presence where as subroutines are confined to only that particular program. Subroutines cannot return values like function modules. Unlike function modules subroutines cannot handle exceptions. You can pass parameters as optional in function modules but with subroutines it’s not possible. Subroutines are defined in ABAP Programs where as Functions are defined in function groups. Function modules can be accessed through same R/3 or different R/3 or non R/3 systems but subroutine in one R/3 system cannot be accessed by other R/3 system. Subroutines use formal interfaces like Using, changing tables while function modules use Import, export, changing, tables.

Unit 11: Introduction to ABAP Events

In the program the first process is Load-of-Program event is triggered. Next Initialization event is triggered. If there are any dynamic field values for the selection screen i.e, these are displayed as changeable default values in the input field. Next the system triggers the At selection-Screen event after the user has triggered a dialog function like Enter, this processing block is suitable for an input or authorization check. Next Start-of-selection event is triggered. This is a default event block. .. Later if statements such as Write, Skip or Uline are used to fill the list buffer of the basic list, two additional events are triggered. Top-of-page at the start of a new page and End-of-page at the end of a page. In order to execute the event blocks in the abap editor you need to know the exact usage and CORRECT ORDER OF EACH EVENT BLOCKS

Unit 12: Classic List Processing

In SELECT-OPTIONS on which basis I / E sign field has been decided by system?

When the user makes entries in Select-Options the system automatically populates the internal table. There will be traffic signal icon, If it is green during select there is an Inclusive in the sign column, Red light indicates Exclude (E). Suppose if you want to select all flights of Lufthansa only (LH) then to select Options, sign = I, Option = EQ Low = EH. If you want to select all flights except Lufthansa the sign = E, that means LH will be excluded, Suppose you want to select flights flying between date from 5/01 to 05/20 then you should use BT.

Page 18: faq's

How many detail list we can generate

You can have 1 basic list and 19 detailed list or Interactive list. Sy-lsind = 0 for basic list and Sy-lsind = 1 for the first interactive list and so on

What is list header and column header.

Text Elements include List header and Column Header that appears in ABAP List, when you create a list you can create your own list header and column heading for the Created list. Each list can have a single header called as LIST HEADER and up to four lines of COLUMN HEADERS. List heading can be up to 70 Characters long and each of the columns heading field can be up to 255 characters long.

How the message number generated?? And how the message class is used?? How to declare the massage class and message number?

Messages are used to communicate with the users from the programs. They are mainly used when the users make an invalid entry on screen. To send message from the program, you have to link it to the message class. You can define message class from SE91 transaction. Each message class has an ID and has whole set of message. Each message has single line of text. Once you have created the message in SE91 you can use it with the message statement. MESSAGE statement interrupts the program flow and either display the short text of a message specified. MESSAGE tnnn (Message class). Where t is the message type and nnn is the three digit message number. So go to SE91 transaction and try to create Message class and create few messages under that class and try to use the same in the program. In the ABAP editor go to Menu Go to-----> Messages. The Maintain Message Screen appears. By default system displays the Message Class of the current program. For the above mentioned Message statement for example If you give Message i999 (zmk) and double

Page 19: faq's

click on this then system asks to Message 999 doesn’t exist. Click yes and it takes you to the message maintenance screen, where you can give the message.

Question:Where is the Model solution program SAPBC405_SSCS_1 located?

The model solution SAPBC405_SSCS_1 is not there in WAS server. However, we have created a Z program by name ZSAPBC405_SSCS_1. Please use this program for orientation.

What do you mean by DDIC?

DDIC (DATA DICTIONARY) is the SAP user account for data dictionary maintenance. You should control its password strictly. You can lock it, depending on your organization, but the account is used by BASIS for system support. DDIC has special programmed authorizations and prohibitions, you should not delete it. Some functions can only be done with the DDIC account in a properly regulated system. If you lock it, your BASIS consultant will need to use it occasionally. It is a purely BASIS consultant concept.

what is difference between STOP & EXIT event?

STOP statement is only to be used in executable programs and in the following blocks:

1) AT SELECTION-SCREEN

2) START-OF-SELECTION

3) GET

Page 20: faq's

You leave these event blocks using the STOP statement, and the runtime environment triggers the event END-OF-SELECTION.

EXIT statement, when executed outside of a loop, will terminate the current processing block.

Use of the EXIT statement is recommended within loops.

Unit 13: Creating and Calling Function Groups and Function

Why we use function pool?

The use of Function-Pool statement is, it declares a program in which you can define function modules. At runtime function-pool programs are loaded into a new program group with their own user dilogs.Function-Pool statement is equivalent to report statement and introduces function group. Function groups type F must always begin with a Function-Pool statement. In general a programmer never writes this statement, when a function group is created the system automatically generates this statement.

Unit 14: Programs Calls and Data Storage Management

What is the difference between ABAP Memory and SAP Memory? Explain with an example.

ABAP MEMORY can be used within the same internal session. It transfers data from program to program. EXPORT & IMPORT parameters are used in ABAP MEMORY. SAP MEMORY-it is called global memory. It can be accessible between multiple sessions. “SET PARAMETER & GET PARAMETER “statements are used in SAP MEMORY.

Page 21: faq's

////////////////////////////////////////////

==============================================================================================

TAW10-3 ABAP Workbench Fundamentals

==============================================================================================

Unit 01 : Intro to OOPS

~~~~~~~~~~~~~~~~~~~~~~~

Please define polymorphism concept with an easy example

Polymorphism is when instances of different classes respond differently to the same messages. For Ex: Let us Consider there is a Super Class ABC with Method M1 = A + B and three Dependant Classes or Subclass. By Inheritance Rule all the three dependant Classes will have same method M1, as in the Super Class. If i need M1 = A - B in first dependant Class, and M1= A * B in Second Dependant Class and M1= A / B in the third dependant Class. Method Name is same (M1) for all the subclasses but functionality of the three methods has been changed.You can do this by Redefinition. Therefore Same Methods acting differently in different Classes are called Polymorphism

Page 22: faq's

What is self reference?

In ABAP objects Self-References are always predefined, but they are only useful in certain contents. It’s used to improve the readability. You can address an object itself by using the predefined reference variable, for example ME with in instance methods.

Is Redefinition not possible without private section?

This is a print error .The correct sentence is "Redefinition is not possible with private section

What is multiple instantiation in object-oriented programming?

Instantiation is the process by which individual objects are created in time and space by the system. It uses the class description as guide or blueprint to create individual instances, or objects of that class type. So you can create any number of instances and this is the reason why we term this process as multiple instantiation.

We use "CREATE OBJECT REF" statement in order to create the instance. Here, REF is the reference of the class.

Unit 02 : OOPS

Page 23: faq's

~~~~~~~~~~~~~~~~~~~~~~~

What is Narrow Casting?

Let us consider a super class ABC and it has two methods, Method 1, Method 2. And consider one more super class XYZ. Due to inheritance, subclass XYZ inherits all the property of super class, i.e, Method 1 and Method2. Let us add one more method by name Special Method in subclass. Now both the classes are instantiated and the reference for both the class will be REF-ABC and REF-XYZ respectively. You can assign Reference of both the classes. If you assign Subclass reference REF-XYZ to Super Class REFERENCE REF-ABC, then from sub class you can access only the inherited methods from the super class, as it is going from special to General(generalization and specialization), and this is the reason you will get only inherited methods, and also this is the reason why we say generic access to narrow casting. Since we can access only inherited components, View is reduced and this is the reason we call this as Narrow casting

What is Widening Cast?

Widening cast is used when the user is interested in the finer points of the subclass. As you know, with the subclass reference assigned to super class we can only access, the inherited components of the subclass(narrow casting) It is not possible to access the special methods of the subclass. If you go for widening cast then you can get the access to the special methods of the subclass. Let us consider the example of the course book; If the car rental has to access the special components of the subclass, then it has to go for widening cast. As a result after widening cast assignment it can access the special attributes of the subclass, with narrow casting it can access only the inherited components of the super class. And it was not possible to access the special method, i.e., max_cargo (from course book).

Page 24: faq's

Please explain the process of Event handler.

Steps in Events are: The first step is to define the Event with the EVENTS Keyword of the sender class. The second step is to raise the event. For Ex: If C = 100, Raise 100. This completes the Sender part work. Next consider the Handler class. The next step would be to Define another Method: For Ex: Method Name FOR EVENT EVENT NAME OF WHICH CLASS (CLS1). i.e., Methods: M1 for Event E1 of CLS1.Whenever the event is raised program flow comes here. Only the methods which are registered is handled. So next step will be registering the Method. For Ex: SET HANDLER M1 FOR ALL INSTANCES, So here M1 is M_H and REF_R is the instance.

What are Interfaces?

Interfaces are the super classes that cannot be instantiated, do not have an implementation part and only have public components. Interfaces don’t have implementation part. INTERFACE METHODS MUST BE IMPLEMENTED IN THE IMPLEMENTATION PART OF THE CLASS. The components defined in the interface can be addressed in the implementation part of the class.

What are the procedures to make global copies of local classes and local interfaces?

The procedures are as follows. Go to Transaction SE24 and then choose object type -à Import -à Local program classes. Enter the name of the main program and if the local classes and interfaces were defined within include programs, select Expand includes. Next choose display

Page 25: faq's

classes/Interfaces. Enter names of the global classes and interfaces that you want to create. Select the global classes and interfaces that you want to create and choose the import button.

Unit 04 : ALV

~~~~~~~~~~~~~~~~~~~~~~~

What is the significance of ALV Grid control?

The alv grid control is a tool that you can use to display non-hierarchical lists in a uniform format. This list data is displayed as a table on the screen. This tool is very user-friendly: You only have to carry out a minimum number of programming steps. And also ALV Grid Control has a number of interactive standard functions that list users frequently, for example, printing and export and also you can hide the standard functions if you don’t want them on the list.

What is the method of the grid control?

The method name is SET_TABLE_FOR_FIRST_DISPLAY.

Please Explain Type-pool statement.

Page 26: faq's

Type-pools statement declares the data types and constants of type group T pool. You can specify it in the global data declaration of an ABAP program or in the declaration section of class or interface. Type Pools is a group of type. For Ex. When you create an ALV PROGRAM, all types you need to use are defined in the Type pool. Ex: SLIS where you have declared all the Types that are required to execute a ALV Report. In this way you can define YOU CAN DEFINE YOUR TYPES ONLY ONCE AND THEN YOU CAN USE THEM EVERYTIME WHEN YOU NEED.

Unit 06 : SHARED ObJECTS

~~~~~~~~~~~~~~~~~~~~~~~

What is shared memory?

Shared memory is a memory area on an application server that cab be accessed by all the ABAP programs running on that server..

What are the properties of the Shared objects?

The properties of Shared objects are:

Cross-program buffering of data that is read often, but rarely written,

Concurrent read accesses are supported

Access is controlled by a lock mechanism

Data is saved as attributes of objects

Page 27: faq's

Memory bottlenecks result in runtime errors and have to be caught.

Unit 05 : Exception Handling

~~~~~~~~~~~~~~~~~~~~~~~

PLEASE EXPLAIN THE RTTC CONCEPT.

RTTC, Run Time Type creation are used to create data types during the program runtime. It is implemented via methods of the classes of RTTS. The type is completely defined by its type object. There is a runtime type object for each type.The runtime type object describes the data type in full.A type object is defined in a local program and is transient and anonymous and you cannot delete or change a type object. We can use RTTC to create basic data types. However, you can also use it to create more complex data types such as structures or internal tables.

===============================================

TAW 10 - Part 2 ABAP Workbench Fundamentals

===============================================

Unit 01 : ABAP dictionary

~~~~~~~~~~~~~~~~~~~~~~~

What is ABAP dictionary?

The ABAP Dictionary centrally describes and manages all the data definitions used in the system. The ABAP Dictionary is completely integrated in the ABAP Workbench. All the other components of the

Page 28: faq's

Workbench can actively access the definitions stored in the ABAP Dictionary. The most important object types in the ABAP Dictionary are tables, views, types (data elements, structures, and table types), domains, search helps and lock objects.

UNIT: 03

WHAT ARE PRIMARY AND SECONDARY INDEX?

PRIMARY INDEX- It's the index which is automatically created for the primary key field(S ) of the table . The primary index is always created automatically in the R/3 system. It consists of the primary key fields of the database table. This means that for each combination of fields in the index, there is a maximum of one line in the table. This index is called unique index. When the table is activated in the database automatically primary index creates in the table. SECONDARY INDEX- When required you can create index, these index is called secondary index. This is necessary if the table is frequently accessed in a way that does not take advantage of the sorting of the primary index for the access.

What is the active & inactive version?

During development, you sometimes need to change an (active) object already used by the system. Such changes are supported in the ABAP Dictionary by separating the active and inactive versions.

The active version of an ABAP Dictionary object is the version that the components of the runtime environment (for example ABAP processor, database interface) access. This version is not initially changed.

An inactive version is created when an active object is changed. The inactive version can be saved without checking. It has no effect on the runtime system.

UNIT: 02 Tables in BABAP Disctionary

Page 29: faq's

~~~~~~~~~~~~~~~~~~~~~~~~~

DIFFERENCE BETWEEN TABLE AND TRANSPARANT TABLE?

TABLE is the place where you store the data. It can be either transparent table, or cluster table or pool table. If you are considering internal table as table then internal table is just a data object which you will be creating during data retrial. Where as Transparent table are nothing but the Data base table which are situated in the database. I.e they have a physical appearance in the database layer. When ever transparent table is activated in the Abap dictionary it is created on the database, where as Internal tables will not be present in the database layer. They are just data objects.

What is this two-level domain concept?

In a table if two fields using same domain then it is called two-level domain concept. In fig 8 it is clearly mentioned. In table SPFLI the field s_fromairp & s_toairp are using same domain s_airpid because the technical attribute is same both of the fields.

What is meant by a text table? What is the difference between a text table, a transparent table and a internal table?

Let us consider two tables TABLE A and TABLE B. Table A contains all the key fields of Table B and an extra text field or language key field.. As a result Table A will be called as TEXT TABLE. For Ex: Table SMEAL contains the meals served to the passengers and the meals name is maintained in table SMEALT. Here SMEALT table contains all the key fields of table SMEAL but an extra language key field. There fore SMEALT is called as TEXT TABLE. Text table is also a transparent table. Transparent tables are those tables which will have physical appearance on the database. Out of three types of database tables, transparent table is one among them.EX: TABLE SPFLI. Internal tables are runtime entities and don’t occupy any memory space. Internal tables are the data object which is created with the help of DATA statement. They are defined in the ABAP program and don’t have the physical appearance on the database. They are used to retrieve data from the database.

Page 30: faq's

Explain the concept of cluster tables and pool tables

The data from several different tables can be stored together in a table pool or table cluster. Tables assigned to a table pool/table cluster are referred to as Pooled tables or Cluster Tables. Table Pool: A table in the database in which all records from the pooled tables assigned to the table pool are stored corresponds to a table pool. EX: If a pooled table record is saved, it is stored in the table pool assigned and name of the pooled table in field TABNAME and contents of all key fields of the pooled table are written as string to field VARKEY and contents of all data fields to field VARDATA.Cluster Table: Several logical data records can be stored together in one physical record in a table cluster. Cluster Key consists of series of freely definable key fields and a field (PAGE NO) for distinguishing continuation records. It also contains VARDATA; the actual length of the string of the VARDATA field is stored in PAGELG.

What is Match code object?

Match code shows ways of searching for lists of data. When a Match code is used, the user does not need to enter information in all the search term. The user can enter search terms that are known. Match codes are used for searching purpose in older versions. We use SEARCH HELP now. Basically we use Match code procedures to find records in SAP Systems.

EXPLAIN- DIRCT TYPE AND BUILT-IN TYPE?

Page 31: faq's

You can enter the data type and number of places directly for a field. No data element is required in this case. Instead, the data type and number of places is defined by specifying a Direct Type. The data type attributes of a data element can also be defined by specifying a BUILT IN TYPE, where the data type and number of places is entered directly. Go to SE11 transaction and create a database table on your own.

Question: While running the BC430_CHECK program using SE38 code I am getting the error . Table not correctly defined. . Field: CLIENT . key flag incorrect-Please suggest a solution?

In order to solve this problem just follow the given steps.

1) Go to SE11 transaction.

2) Enter your Employee table name.

3) Click on the Change button.

4) The Dictionary Maintain table screen appears.

5) For the Client field replace the data element S_CLIENT with MANDT.

6) Check for the syntax and finally activate your table.

7) Follow the same steps for your department table.

8) Finally run the program BC430_CHECK.

Please let me know the steps to remove the the warning message Enhancement category missing while creating a Transparent Table

To skip the warning message, follow the given steps:

1) From the Menubar, choose Extras -> Enhancement Category.

Page 32: faq's

2) The Maintain Enhancement Category for Structure dialog box appears. Select the Enhanced (Deep) radio button and click Copy.

3) Now check the syntax, you would not get any warning message.

4) Finally, activate your table.

What are the steps to work on Task 4 of Unit 2 in TAW10_2

The steps to work on Task 4 of Unit 2 are as listed below:

1) Go to transaction SE16.

2) Enter the name of the table as USR10.

3) Display the table contents.

4) Now for the MODBE field, click on the Multiple Selection button (yellow right arrow).

5) You will get multiple selection for MODBE screen.

6) Under single value column, enter SAP* first and then followed by DDIC.

7) Click on the Execute button.

8) Now click on the number of entries.

9) And finally click on the Execute button.

10) Now you can view the authorization profiles delivered by SAP.

How to create table entries for a transparent table?

Please follow the given steps:

1) Use the Transaction code SE11.

2) Enter your table name in Database input field.

Page 33: faq's

3) Click on the Change button.

4) You will come to Dictionary Maintain Table screen.

5) Click on the Delivery and Maintenance tab.

6) For Data browser, you would have selected Display/ Maintenance allowed with Restriction; please change it to Display maintenance allowed.

7) Activate your table.

8) Now check for the create entries.

UNIT: 04 INPUT CHECKS

~~~~~~~~~~~~~~~~~~~~~~~~~

Please explain Value Table in brief?

A VALUE TABLE only becomes a CHECK TABLE when a foreign key is defined. A combination of fields in a table is called a foreign key if this FIELD COMBINATION IS THE PRIMARY KEY OF ANOTHER TABLE (check table). Foreign key links two tables. CHECK TABLE is the table whose key fields are CHECKED. You have to make an ENTRY in the foreign key table. The entry must be consistent with the key fields of the CHECK TABLE. The field of the foreign key table to be checked is called the CHECK FIELD (will be in foreign key table).This is how Value table is used for Input checks.

What is the difference between foreign key table and text table?

Foreign key table: It is the table where in you are going to key in your entry. This entry must be consistent with the key fields of the check table. You are going to assign foreign key to the foreign key table; and the field of the foreign key table to be checked is called the check field.

Text table: It is also referred as Foreign key table. The key of the foreign key table only differs from the key of check table in an additional language key field. So text table is also a foreign key table, but it has an extra language key field with data type LANG.

Page 34: faq's

What are the steps to create foreign key for structure fields?

For creating foreign key in append structure, please follow the given steps.

1) Use the Transaction code SE11.

2) Select the Data type radio button.

3) Enter your structure name.

4) Click on Change button.

5) You will come to Dictionary maintain structure.

6) Here click on the Entry/Help check tab.

7) You will get the foreign key icon and Search help icon.

UNIT: 06 Changing TABLES

~~~~~~~~~~~~~~~~~~~~~~~~~

WHAT IS THE DIFFERENCE B/W APPEND AND INCLUDE STRUCTURE IN TABLE?

SAP has provided two ways to enhance tables and structures with fields. They are: Append structures and Customizing Includes (CI includes). Both Techniques allow you to attach fields to a table without actually having to modify the table itself. APPEND STRUCTURE may only be assigned to a SINGLE TABLE. A table may however have several append structures attached to it. Append

Page 35: faq's

structure differ from INCLUDE STRUCTURE in how they refer to tables. Tables or structures delivered by SAP needs to have Customer-specific fields added to it, the SAP application developer includes these fields in the table using a Customizing Include statement. Include structure can be used in MULTIPLE TABLES OR STRUCTURES which ensures consistency in these tables and structures .To include fields from an include structure in a table, you must add an Include.. Line to the table.

Can you please explain me the concept of "Conversion of table", and the 5 conversion processes?

Database table can be adjusted either by Delete and create new or by alter Table or by CONVERSION PROCESS. Conversion process is time consuming, bit dangerous and it should not be done on production system. Consider that table TAB was changed in Dictionary, the length of the field 3 was reduced form 60 to 30 places Step 1 is to lock the table, in order to avoid further changes. Step 2 rename the database table with the prefix QCMTAB, and indexes on the tables are deleted. Now the inactive version in the Dictionary is activated with the name QCM8TAB without records. After activation it resides in database. Primary index on the table is also created in the database.Step4 copy the contents from QCMTAB to QCM8TAB. Step 5, delete the table QCMTAB and Step 6 rename the QCM8TAB to TAB and create the secondary index required. Step 7, the lock set at the beginning of the conversion is deleted

UNIT: 07 Views Ansd Maintainance Dialog

~~~~~~~~~~~~~~~~~~~~~~~~~

What is the primary difference between Inner Join and Outer Join?

In inner join you can select only common fields within two tables. Means You only get those records which have an entry in all the tables include in the view. With an outer join, on the other hand, those records that do not have a corresponding entry in some of the tables included in the view are also selected. Maintenance views implemented an outer join. For Example. we will consider the Venn diagram.Consider two circles which are intersected. Now the common portion for both the

Page 36: faq's

view is considered as inner join (intercepted one), that is it has only entries which are common to the the tables. Where as Left outer join contains complete left circle (which includes the inner join portion also.)This portion is considered to be Left outer join.

Can maintenance views be used for updating data in the database tables?

Maintenance Views CAN BE used for updating data in the database tables.

DIFFERANCE BETWEEN DATABASE VIEW AND PROJECTION VIEW?

Projection views are used to restrict the fields of the table. View is maintained only in one table. Incase if you don’t want some fields of the table then using the projection view can restrict those fields from the table. There is no corresponding view on the database in case of Projection view. It can’t be buffered. Also Selection process is not possible. There is no join process happening in projection views. Whereas in case of Database view, view is maintained between two or more tables. It implements inner join. Database view can be buffered

What is Database view and Maintanance view ?

In abap dictionary we have four types of Views. They are 1) Projection view. 2) Database View. 3) Maintenance View and 4) Help View. Data about an application object is often distributed on several database tables. A database view provides an application-specific view on such distributed data.Database views are defined in the ABAP Dictionary. A database view is automatically created in the underlying database when it is activated.Application programs can access the data of a database view using the database interface. You can access the data in ABAP programs with both OPEN SQL and NATIVE SQL..Database views implement an inner join. In case of Maintenance view you can maintain complex application objects in a simple way using a maintenance View. The data is automatically distributed among the underlying database tables. Maintenance view will not have technical settings and cannot be buffered as in case of database view. And also Maintenance view cannot be used in select statements. Maintenance view implements Outer Join.

Page 37: faq's

UNIT: 08 Search Help in ababp Dictionary

~~~~~~~~~~~~~~~~~~~~~~~~~

What is search help exit in the data dictionary?

Search help exit is a function module for making the input help process described by the search help more flexible than possible with standard version. Search help exit is called at certain time points in the input help process. Go to Maintain search help screen and in search help exit input field, press f4. You will get the list of the same. Choose any one and go through it.

What is variant?. Explain with example..

VARIANT: Completed Selection Screens are called as VARIANTS of the program. You can save the variants and you can load the same to facilitate repeated identical inputs by using Get variants. Ex: variants with the name prefix CUS& are System variants and are not Client specific.

UNIT: 09 ABAP Runtime

~~~~~~~~~~~~~~~~~~~~~~~~~

WHAT DOES 'top include' DOES?

The include programming is like modularization technique used for clear coding and reusability. In procedural programming there is no much need for code reusability this is the reason why its mentioned not to check the top include and in object orientation there are much usage of code reusability and that’s why its mentioned to check the top include option. When we check the top include it will create include files in the main program for coding convienience.Using top include in executable/module pool will ensure the naming conventions used for includes are similar with main program. These includes are automatically generated and there are some specific usage for

Page 38: faq's

declaration of some objects assigned to some include and likewise others. Thus the top includes are used for more clarity and reliability.

WHAT IS THE PURPOSE OF NEW-LINE IN THE PROGRAM?

As the name indicates, New-Line generates a new line during list processing. It terminates the current list line and moves the cursor to the next list line.

What is meant by the cursor cache?

There are seven main groups of buffer found in shared memory. SAP Cursor Cache is one among them. SAP Cursor Cache helps to improve the system performance by reducing the number of parsing of SQL statements. It is database dependent. Also it makes possible to skip the PREPARE Operations when an SQL statements with an identical structure is executed.

UNIT: 11 Analysis & Tools

~~~~~~~~~~~~~~~~~~~~~~~~~

Please tell me difference between Watch point & break points.

Break Point is a signal in a particular point in program that tells the ABAP runtime processor to INTERUPT PROCESSING and start the Debugger. The debugger is activated when program reaches this point. It has no influence on ABAP program, it is unconditional. If there are TWO or MORE BREAKPOINTS in a program then this LAUNCHES DEBUGGER AUTOMATICALLY. Watch Points is an indicator program that tells the ABAP runtime Processor to interrupt the program at a particular

Page 39: faq's

point. Unlike BREAKPOINT however watch points are not activated until the contents of a SPECIFIED FIELD CHANGES. Watch points are like dynamic breakpoints, which are user specific and so do not affect other users running the same programs. You can only DEFINE WATCH POINTS IN DEBUGGER.

What is Disjunctive Indexes? What do you mean by fewer short fields in the index?

Disjunctive index means creating indexes which doesn’t overlap each other. Fewer short fields mean only the fields whose values would restrict the amount of data.

How are activatable breakpoints used in the program? What is their use?

Activatable breakpoints are not unconditional.Activatable breakpoints are better than informal comment instead we use a breakpoint that can be activated..Activatable breakpoints are closely related to the new debugger. Here you have to group breakpoints under a particular ID, This grouping is helpful in a SUPPORT SITUATION where you must activate a set of breakpoint that stops program execution at critical points in an application. We use transaction SAAB in order to define Activatable Breakpoint.

What are the steps for SQL Trace?

Please follow the Steps to work on SQL Trace. Use the Transaction code ST05 in order to start the SQL Trace.

1) First you have to activate the program before you activate the SQL trace, that is, to do the particular program and then save and activate.

2) Now, before executing the program, click on activate the trace. Now execute your program.

Page 40: faq's

3) Now come to ST05 tcode and then click on Deactivate trace and then click on display trace.

4) Now you will come to the Trace list screen.

UNIT: 12 AbBAP OPEN SQL

~~~~~~~~~~~~~~~~~~~~~~~~~

What are these field symbols?? How they work?

FIELD SYMBOLS are nothing but reference variables that have already been de-referenced. They are the Place Holders or symbolic names. They do not physically reserve place for the fields but point to its contents. Field symbols allow you symbolic access to an existing data object. All access that you make to the field symbol are made to the data object assigned to it. You can only access the content of the data object to which the field symbols points. A field symbol can point to any object. The data object to which the field symbol points is assigned to it after it has been declared in the program. Uses: Field symbols provide greater flexibility when you address data objects.

What is an SQL trace?

SQL trace is a tool that helps you to precisely analyze and track the database access that the database interface in the SAP system initiates. This makes SQL trace an effective tool in performance analysis. The things to remember when you are running an SQL trace is that the user being recorded should not be working in any additional session. And the size of the trace file should be given special attention based on your requirements.

Page 41: faq's

==============================================================================================

TAW 12 - Part 1 ABAP Workbench Concepts

==============================================================================================

UNIT: 01 Course Overview

~~~~~~~~~~~~~~~~~~~~~~~~~

Whenever you create a program from the Object Navigator, the system proposes to create it with TOP Include; If you select this option then you will get a clearly structured program. We will use them when creating module pool programs.

What is the SINGLE SCREEN TRANSACTION?

Single screen transaction provide the user with the program session that best fits his or her authorizations , allow the user to directly access the objects to be edited, & limit the selection area using a filter, a tree structure. Single screen transaction means that all the relevant data is contained in a single screen. According to the requirement, the developer use's it.

UNIT: 02 Intro to Screen Programming

~~~~~~~~~~~~~~~~~~~~~~~~~

Page 42: faq's

What are module pool program and function group program?

Module Pool programs are Type M programs. In order to execute a Module pool program you have to create at least one transaction code in which you have to specify initial screen. A transaction code starts a screen which consists of the screen itself and its flow logic. Screen Flow logic can call special processing block of dialog modules in ABAP Programs. Thus they are named as Module program after Dialog modules. Function Groups are type F programs. They are the containers for the function modules and also they contain local data declarations and Screens. You cannot execute Function group. Function group consists of Main program and a number of Include programs.

UNIT: 03 Program Interface

~~~~~~~~~~~~~~~~~~~~~~~~~

What is a GUI STATUS?

A GUI Status is made up of a menu bar, a standard toolbar, an application tool bar and of function key settings. Each screen can have one or more GUI Statuses. You can create GUI Status in object navigator. The elements of a GUI status allow users to choose functions using the mouse

What is the function types used for pushbuttons?

The pushbuttons used for pushbuttons are (space), E, P.

Unit 04: Output elements

~~~~~~~~~~~~~~~~~~~~~~~~~

Page 43: faq's

What are the dynamically modifiable attributes?

In the screen programming you can make screen modification dynamically.Inorder to do that you have to add source code in the flow logic PBO of the screen. For Ex: You will use the Module modify screen. You will use the MODIFY SCREEN statement inside the loop statement and you will give the name of the screen element which has to be modified at the runtime.

Unit 05: Input/Output elements

~~~~~~~~~~~~~~~~~~~~~~~~~

Please explain the purpose of ok_code.

In your application program the first step in PAI processing should be to save the function code in an auxiliary variable and then initialize the OK_CODE field. When the user selects a function in a transaction, the system copies the function code into a specially designated work field called OK_CODE.This field is global in ABAP MODULE POOL. As said above this OK_CODE can then be evaluated in the corresponding PAI Module. In the same way that the OK_CODE field in ABAP program receives the contents of the corresponding fields in the PAI event, there contents are also triggered to the OK_CODE, Screen field and system field SY-UCOMM in the PBO event. You must clear the OK_CODE field in the ABAP program to ensure that Function code of a screen is not already filled in the PBO event with a unwanted value. In PBO you include MODULE clear_ok_code OUTPUT.

What is the use of Sy_Ucomm.

Function code that triggered the event PAI. Every user action that triggers PAI is assigned a unique function code with one exception. If there is an entry in the command field of the standard toolbar, this is transferred to SY-UCOMM as the function code.

Page 44: faq's

What is the function of "chain....end chain"?

Chain & End chain statement is used in Dialog programming for validation of values under a particular group. This statement is used in dialog programming. It is used in flow logic (PAI) of a program.

Unit 06: Sub screens and Tab strips controls elements

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

What are the restrictions that apply to sub screens?

Call Sub screen is not allowed between LOOP and ENDLOOP or between CHAIN and ENDCHAIN. A Sub screen will not have Ok_code field. Sub screen may not contain a module with the At Exit-Command addition. And also you cannot use SET TITTLEBAR, SET PF-STATUS, SET SCREEN OR LEAVE SCREEN statements.

Unit 07: Table controls elements

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

What is the use of REFRESH CONTROL?

If you use the statement Refresh Control you can initialize a table control at any time with the initial value of a screen.

Unit 08: Context Menus

What is meant by seperarator to structure the context menu for the assigning the function.

Page 45: faq's

Menu functions that logically belong together are grouped together using the separator. In SE80 when you right click on the object name you will get the context menu. It will be separated by Horizontal lines. This is the use of the separators. Here it is used to structure the context menu optically. Please don’t skip any Book or chapters. Separators are explained in Menu painter. Also we saw your course visit summary. If you have studied from the book then its well and good. If not then it will be a problem.

Please explain context menu?

When ever you right click mouse button it creates a menu which is nothing but context menu. They are the short cut for the functions which are frequently used. In order to create a context menu, Go to se 80 transaction and right click on the program and select create Status. In the create status dialog select Context menu. Coming to the program, whenever you right click, it results in triggering of call back routine. This Callback routine is in your application program. You can directly assign call back routine to the input output fields, status icons. You determine which callback routine is called in the screen painter either in the screen attributes or in general attributes of a screen. You will not be using Context menu in the program but you have to create a call back routine in your application program. It is named ON_Ctmenu_<Name>.But when you right click in the abap editor you will get the call back routine.

Unit 09: List of screens Programming

What is the use of ABAP statement SUPPRESS DIALOG?

If you include the ABAP statement SUPRESS DIALOG in a PBO module, the current screen is not displayed.

Unit 11: Data Base Updates with Open SQL Statements.

Page 46: faq's

DIFFERANCE BETWEEN SY-INDEX AND SY-TABIX?

Sy-tabix gives the current line of the internal table. Each row of a table has certain index or counter. The value of Sy-Index for the last entry would be equal to number of table entries. The Possible value for Sy-tabix depends on your internal table

Unit 12: LUWs and Client Server Architecture.

Explain SAP LUW & Database LUW in simple words...

SAP LUW happens at each time whenever a screen Changes. It consists of changes in SAP R/3 that logically belongs together. These changes are either carried out in full or they are not carried out at all. (all or noting principle).Data base LUW consists of changes that are executed until the database status is sealed i.e., DATABASE LUW happens only at the time of database commit.

When will implicit DB commits occur?

Implicit DB commits occurs when the system display an SAP Screen, when the system sends a dialog message, whenever there are synchronous and asynchronous RFC calls, with CALL TRANSACTION <tcode> or SUBMIT <program> statements.

Which is the ABAP statement using which you can explicitly implement a DB rollback or DB commit.

Using the ABAP statements ROLLBACK WORK and COMMIT WORK, you can explicitly implement a DB rollback or DB commit.

Page 47: faq's

Unit 13: SAP Locking Concept

What is the difference between extensible and exclusive lock?

Extensible lock (E EXTENSIBLE) protects the locked object against all types of locks from other transactions. Only the same lock owner can reset the lock (accumulate). .Where as Exclusive (X) can be requested several times from the same transaction and are processed successively. In contrast, Exclusive but not cumulative locks can be called only once from same transaction. Each further lock request will be rejected.

What is meant by set and release locks?

Set and Release locks are one of the services of ABAP Dictionary. You can use logical locks to lock table entries that do not exist on the database. Whenever the lock object is activated successfully the system automatically generates one function module each for setting and releasing locks. ENQUEUE_<Lock-Object-Name> to set lock and DEQUEUE_<Lock-Object-Name> to release lock.

What are Multiplication effects in terms of NRIV Table?

The data for the number ranges are stored in the data base Table NRIV.If the number range object is buffered, then if you want to assign a number to a buffer entry, this entry is blocked by an internal lock, this lock ensures that only one user can ever assign a number at any one time. If it is not buffered then the disadvantage is that Multiplication effects. We just saw your course visit summary.

Page 48: faq's

==============================================================================================

TAW 12 - Part 2 ABAP Workbench Concepts

==============================================================================================

Unit 02: Changing the Sap standard

What are Corrections and Repairs?

Changes to SAP Originals are called as corrections. They are recorded in a change request whose tasks have the type Development/correction.. On the other hand if you change 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 as Modifications.

Unit 03: Personalization

Please give the steps for Personalization

First go to SAP Menu--->Tools--->Customizing----> IMG-----> Select SPRO. Click on execute Project instead of edit project. Next choose Go to Menu-----> and select SAP reference IMG. You will get display IMG Screen. Here Press Ctrl + F and give field display characteristics in the search term. Next click the node of the same and select configure application transaction fields. Later system launches to transaction SHDO. YOU ARE CREATING TRANSACTION FOR BC425_TAVAR.Variant as Zbc425_##. Go to System ----> User profile----> Expand favourites.After giving the Transaction variant name you should go to create (f5).Now you will get the initial screen. Here for Country key give DE and for Depart city give Frankfurt. Enter. You will get Next Pop up. Select Checkbox for copy setting. Select invisible for 'FLH". Next choose menu function Pushbutton and go to function key setting and De-activate Back. Save. You will get the list with a summary and now save.

Page 49: faq's

Unit 04: Enhancements of ABAP Dictionary Elements

WHAT IS TEXT ENHANCEMENT AND WHAT IS THE USE OF THIS.

Sap customers can enhance the R/3 system with their own keywords, short text and documentation for the data element. Possible text enhancement includes customer keywords and customer documentation of data element. Text Enhancement are used to change the FIELD LABEL and input entries associated with the data elements, without modifying SAP Objects.

Unit 05: Enhancements using Customer Exits

Please explain the process in order to look into Customer exits.

In order to look into customer exits follow these steps. Here in the program SAPBC425_FLIGHT## you search for the STRING CALL CUSTOMER-FUNCTION you will be getting three CALL CUSTOMER-FUNCTION ' 001 ', '002' and '003'. Here 001 means it has function module exit, 002 means it has menu exit, 003 means it has screen exit. This is the reason why they have given as the enhancement which you are looking for has name SBC##E01 for function module exit, and SBC##E02 for Menu exit and SBC##E03 for Screen Exit. Then Go to CMOD and give the project name TG##CUS2 where ## is your group number and save it. Next assign the Enhancement. You will get a dialog asking whether you want to exit processing, save data first, Click yes. Then you will get screen exit. EX: SAPBC425_flight28. Double click on the function module exit and then click on include program. You will get a message on Status bar. Click ENTER (important) and give the source code given in the exercise. Follow the same for menu and screen exit. Save and activate.

WHAT IS CUSTOMER EXITS MENU EXIT, SCREEN EXIT FUNCTION MODULE EXITS?

Enhancement means creating repository objects for individual customers that refer to objects that already exist in the SAP Repository. Customer exits are nothing but the enhancements. Customer

Page 50: faq's

exits include Menu exits, function module exits, Screen exits. The R/3 enhancement concepts allow you to add your own functionality to SAP standards business applications without modifying the original applications. Menu Exit adds items to the pull down menu in the standard SAP applications. Once you activate Menu exit they become visible in SAP Menu. Screen exit add fields to screen in R/3 applications and Function module exits add functions to R/3 applications. Function module exits play a role in both Menu exit and screen exit. While editing the function module exits you should not change the function module itself. The function module however, contains an INCLUDE statement for an include program that you have to create in customer namespace. When you select this it automatically takes you to the editor of the include program where you are suppose to enter the source code. We use transaction CMOD to create customer enhancement project.

What are the steps to work on Function Module Exit?

In order to implement the enhancment you need to follow the given steps:

1) Go to CMOD transaction and then give the project name as TG##CUS1, where ## is your group number.

2) Click on create button and then in the next screen give the short description.

3) Now click on the enhancement assignment button and then enter the name of the enhancement as SBC##E01.

4) Next click on the components button.

5) Now you will come to Change TG##CUS1 screen.

6) Here double-click on the function module exit. You will come to function builder screen. Here double-click on the include name.Initially you will get a warning message, but ignore this message by clicking enter.

7) As a result you will come to abap editor screen, here enter the source code as given in the course book and finally activate the enhancement project.

What are the steps for Screen Exits?

1) Go to CMOD Tcode and create the project and assign the enhancement.

Page 51: faq's

2) Now click on the components.

3) Now double-click on the screen number, and then create a sub screen and then enter the short description.

4) You need to create the screen elements, the hint is you have the fields, in the source text, which you are supposed to use and create the screen elements.

5) Activate your screens.

6) Now you come to the function module exit part; here, enter the source code as given in the course book.

7) When you check for the syntax, you are going to get syntax error, reason being you have not declared the top include.

8) Now click on the object list button, which is present on the Application tool bar.

9) Now you will get the function group.

10) Select the Node of the function group, and select the Include nodes, and then double-click on the Top Include of the function group starting with L.

11) Here you will find a Z include, here again you have to double-click on this include and then ignore the message by clicking Enter.

12) And finally enter the Top Include coding part.

Unit 07: Business Add-ins

How to create a business add-in, create a method and define interface

In order to check if program SAPBC425_BOOKING_## can be enhanced, go to SE80 and give the program name. Here find the character string CL_EXITHANDLER.Later click the field exit book. In the program double click the interface used to define the type of exit book. Now class builder will be started. Press the pushbutton where-used-list for the interface. It will display the class CL_EX_BADI_BOOK## and the Badi BADI_BOOK. This suggests that this program has the enhancement. Now come to transaction SE18, here give the BADI name as BADI_BOOK##. Click the automatically generated interface. Give the Method name given in the exercise. Now come back. Go to menu Implementation and select create. Give the implementation name as ZBC425IM## and give

Page 52: faq's

the short text and ACTIVATE. Now double click the Method of SE18 transaction. You will come to the editor. Source code has to be given here.

Unit 08: Modifications

What is the significance of Modification Adjustment?

Whenever you upgrade your system, apply a support package, or import a transport request, conflicts can occur with modified objects. 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. There fore to ensure consistency between your development system and subsequent systems, you should only perform modification adjustment in your development system.