1) Explain the rationale behind Object Oriented concepts?
Object oriented concepts form the base of all modern programming languages. Understanding the basic concepts of object-orientation helps a developer to use various modern day programming languages, more effectively.
2) Explain about Object oriented programming?
Object oriented programming is one of the most popular methodologies in software development. It offers a powerful model for creating computer programs. It speeds the program development process, improves maintenance and enhances reusability of programs.
3) Explain what is an object?
An object is a combination of messages and data. Objects can receive and send messages and use messages to interact with each other. The messages contain information that is to be passed to the recipient object.
4) Explain the implementation phase with respect to OOP?
The design phase is followed by OOP, which is the implementation phase. OOP provides specifications for writing programs in a programming language. During the implementation phase, programming is done as per the requirements gathered during the analysis and design phases.
5) Explain about the Design Phase?
In the design phase, the developers of the system document their understanding of the system. Design generates the blue print of the system that is to be implemented. The first step in creating an object oriented design is the identification of classes and their relationships.
6) Explain about a class?
Class describes the nature of a particular thing. Structure and modularity is provided by a Class in object oriented programming environment. Characteristics of the class should be understandable by an ordinary non programmer and it should also convey the meaning of the problem statement to him. Class acts like a blue print.
7) Explain about instance in object oriented programming?
Every class and an object have an instance. Instance of a particular object is created at runtime. Values defined for a particular object define its State. Instance of an object explains the relation ship between different elements.
8) Explain about inheritance?
Inheritance revolves around the concept of inheriting knowledge and class attributes from the parent class. In general sense a sub class tries to acquire characteristics from a parent class and they can also have their own characteristics. Inheritance forms an important concept in object oriented programming.
9) Explain about multiple inheritance?
Inheritance involves inheriting characteristics from its parents also they can have their own characteristics. In multiple inheritance a class can have characteristics from multiple parents or classes. A sub class can have characteristics from multiple parents and still can have its own characteristics.
10) Explain about encapsulation?
Encapsulation passes the message without revealing the exact functional details of the class. It allows only the relevant information to the user without revealing the functional mechanism through which a particular class had functioned.
11) Explain about abstraction?
Abstraction simplifies a complex problem to a simpler problem by specifying and modeling the class to the relevant problem scenario. It simplifies the problem by giving the class its specific class of inheritance. Composition also helps in solving the problem to an extent.
12) Explain the mechanism of composition?
Composition helps to simplify a complex problem into an easier problem. It makes different classes and objects to interact with each other thus making the problem to be solved automatically. It interacts with the problem by making different classes and objects to send a message to each other.
13) Explain about polymorphism?
Polymorphism helps a sub class to behave like a parent class. When an object belonging to different data types respond to methods which have a same name, the only condition being that those methods should perform different function.
14) Explain about overriding polymorphism?
Overriding polymorphism is known to occur when a data type can perform different functions. For example an addition operator can perform different functions such as addition, float addition etc. Overriding polymorphism is generally used in complex projects where the use of a parameter is more.
15) Explain about object oriented databases?
Object oriented databases are very popular such as relational database management systems. Object oriented databases systems use specific structure through which they extract data and they combine the data for a specific output. These DBMS use object oriented languages to make the process easier.
16) Explain about parametric polymorphism?
Parametric polymorphism is supported by many object oriented languages and they are very important for object oriented techniques. In parametric polymorphism code is written without any specification for the type of data present. Hence it can be used any number of times.
17) What are all the languages which support OOP?
There are several programming languages which are implementing OOP because of its close proximity to solve real life problems. Languages such as Python, Ruby, Ruby on rails, Perl, PHP, Coldfusion, etc use OOP. Still many languages prefer to use DOM based languages due to the ease in coding.
C++(part-I) interview question and answers
1) Contrast and state the difference between visual c++ and ANSI c++?
Visual C++ deals with graphical user interface and is the most advanced IDE for creating complex applications. This is used to create real time applications.
ANSI C++ is the updated and advanced version than the earlier versions of C++. Libraries and functions are updated in ANSI C++ compared to the earlier versions.
2) State the difference between the structure for C and C++?
The main difference between the structure of C and C++ is, C struct can contain only data and C++ has access limitations and contains functions such as public, private, etc.
3) Define about template in C++ and instantiation?
The C++ feature that supports the definition of an object of undetermined type is called a template. Using a template allows the programmer to define the features of the class, while reserving the option of binding the type of the class to the class itself until a class of a particular type is actually needed. The creation of a class of a particular type is called instantiation.
4) Define and explain about the classes in C++ comparing with C?
A C++ class builds on the concept of a structure. Whereas a C structure is a collection of named fields, a C++ class is a collection of named fields and methods that apply to objects of that class type. Additionally, the C++ language implements the concept of information hiding, restricting access to certain members of the class to methods of the class itself.
5) Explain about rational class?
Rational class contains two data members, numerator and denominator and seven method members, reduce, add, multiply, divide, equal, print, and set rational. The methods in the class Rational explicitly mention only one. This is because the class object for which they are invoked is an implicit parameter for each routine.
6) Explain about Templates in C++?
C++ templates are used to optimize code. They are very powerful as they help the program by providing various classes, functions and methods. There is also a disadvantage when we are using C++ templates, they tend to duplicate themselves and get installed which slows down the functioning of the program. This is avoided in Java.
7) Explain Encapsulation and differentiate with regards to C.
Encapsulation is an entirely new concept which is present in C++ but not in C. In Encapsulation you can restrict the access of the functions to Public, private and Protected which is not possible in C. It is a general practice among programmers to allow only partial functions which can help in designing to be public while the rest of the code is made into private or protected.
8) Explain multiple inheritances in C++?
Multiple inheritances in C++ are a controversial issue. In multiple inheritance a derived class or an unrelated class can obtain function of the base class. In this process it can obtain multiple inheritance. A derived class or unrelated class may obtain more than one base class. This can benefit as well as destroy the structure of the program.
9) Explain about virtual member functions of C++?
Virtual member functions come into play when a function belonging to a derived class over rides a base class. This is possible only when there are many similarities in the number of parameters, function definition, object, etc. This increasingly becomes difficult to process during the run time. At this point of time virtual member functions comes to rescue. This overwhelming task is made easy by virtual functions tables.
10) Explain the basic steps to parse a C++ source code?
The main difficulty to parse a C++ code lies in the complex definitions of C++ identifiers. They should also satisfy complex scoping rules for C++. Also they should define what type it is and to what type it belongs to. It should also satisfy the basic criteria of parsing source code.
11) Explain about different problems which C++ faces today.
The main problem which C++ faces today is because of its large feature set. It is almost similar to C language because of which much of the criticism faced by “C” is faced by C++. It doesn’t have language features to create multi threaded software. Also this language is unruly compared to modern languages such as Java which has both object oriented and procedural programming.
12) Explain about name spaces?
Namespaces help you to group classes, functions, etc under one name which helps you to access it at later stage. To access these name spaces we can use scope operator. During name space naming there arises difficulty when a function uses the same name which causes redefinition errors.
13) Explain about exceptions and its relation to handlers?
This function is used for exceptional circumstances and this is made possible by handlers. This exception handler is placed in the code which throws exception and error. This exception throws error when the condition is not satisfied. This handler is placed in a try block in which throw function is present. After the try block a catch function is placed through which exception handlers are declared.
14) Explain about static_cast?
Static cast is very helpful for conversions from pointers to related class and also from derived class to base class. This static_cast is also helpful to convert base class to derived class. Static_cast makes sure that atleast classes and objects are completed. This has its disadvantages such as programmer should ensure that the object specified is being moved to its destination.
15) Explain about reinterpret_cast?
Reinterpret_cast is platform specific. The code generated for reinterpret_cast is generated for the platform which makes it not useful for inter operability. This transfers pointers, irrespective of classes. This forms a image of the specific class and also pointer pointed or the pointer itself is not checked. This can lead doors to security lapses.
16) Explain about explicit conversion within C++ and its supportability?
This explicit conversion is required where there is different interpretation on value. There are two different types of explicit conversion such as c like casting and functional. This explicit conversion can be applied indiscriminately on the code which significantly increases errors during run time.
17) Explain about implicit conversion in relation to C++?
Implicit conversion does not require any operator for performing its function. It automatically performs when a value is copied to the code. The only exception being, it should be compatible. This allows conversions between bool to numerical types, pointer conversions, and etc. significant runtime errors get reduced with this implicit conversion because it accepts values which are compatible.
18) Explain about the class string stream?
This string stream class is defined by a standard header file . This class provides flexibility in converting a string based object to stream. This is useful in extraction and insertion of numerical, strings, characters, etc. This is useful to extract a specific numerical from a string. This also aids in insertion.
19) What exactly a data structure performs in C++?
A data structure is a collection of data elements under one name. These data elements are collectively known as members and they can have variable lengths and types. Structure_name and object_name are two important types defined in C++. Structure types are defined by structure_name and object_name contains valid identifiers.
20) I am getting an error at runtime for an oversized array but it never shows it as a fault during debugging?
In C++ it is very correct syntactically to declare over sized array. It also never shows you any error during compilation but it shows error during run time. The answer lies in pointers. This problem can be mitigated if we can manually specify the memory location by using a reference operator. Automatically pointers assign the variable to a certain location and when it tries to extract during extraction it fails thus creating error.
Visual C++ deals with graphical user interface and is the most advanced IDE for creating complex applications. This is used to create real time applications.
ANSI C++ is the updated and advanced version than the earlier versions of C++. Libraries and functions are updated in ANSI C++ compared to the earlier versions.
2) State the difference between the structure for C and C++?
The main difference between the structure of C and C++ is, C struct can contain only data and C++ has access limitations and contains functions such as public, private, etc.
3) Define about template in C++ and instantiation?
The C++ feature that supports the definition of an object of undetermined type is called a template. Using a template allows the programmer to define the features of the class, while reserving the option of binding the type of the class to the class itself until a class of a particular type is actually needed. The creation of a class of a particular type is called instantiation.
4) Define and explain about the classes in C++ comparing with C?
A C++ class builds on the concept of a structure. Whereas a C structure is a collection of named fields, a C++ class is a collection of named fields and methods that apply to objects of that class type. Additionally, the C++ language implements the concept of information hiding, restricting access to certain members of the class to methods of the class itself.
5) Explain about rational class?
Rational class contains two data members, numerator and denominator and seven method members, reduce, add, multiply, divide, equal, print, and set rational. The methods in the class Rational explicitly mention only one. This is because the class object for which they are invoked is an implicit parameter for each routine.
6) Explain about Templates in C++?
C++ templates are used to optimize code. They are very powerful as they help the program by providing various classes, functions and methods. There is also a disadvantage when we are using C++ templates, they tend to duplicate themselves and get installed which slows down the functioning of the program. This is avoided in Java.
7) Explain Encapsulation and differentiate with regards to C.
Encapsulation is an entirely new concept which is present in C++ but not in C. In Encapsulation you can restrict the access of the functions to Public, private and Protected which is not possible in C. It is a general practice among programmers to allow only partial functions which can help in designing to be public while the rest of the code is made into private or protected.
8) Explain multiple inheritances in C++?
Multiple inheritances in C++ are a controversial issue. In multiple inheritance a derived class or an unrelated class can obtain function of the base class. In this process it can obtain multiple inheritance. A derived class or unrelated class may obtain more than one base class. This can benefit as well as destroy the structure of the program.
9) Explain about virtual member functions of C++?
Virtual member functions come into play when a function belonging to a derived class over rides a base class. This is possible only when there are many similarities in the number of parameters, function definition, object, etc. This increasingly becomes difficult to process during the run time. At this point of time virtual member functions comes to rescue. This overwhelming task is made easy by virtual functions tables.
10) Explain the basic steps to parse a C++ source code?
The main difficulty to parse a C++ code lies in the complex definitions of C++ identifiers. They should also satisfy complex scoping rules for C++. Also they should define what type it is and to what type it belongs to. It should also satisfy the basic criteria of parsing source code.
11) Explain about different problems which C++ faces today.
The main problem which C++ faces today is because of its large feature set. It is almost similar to C language because of which much of the criticism faced by “C” is faced by C++. It doesn’t have language features to create multi threaded software. Also this language is unruly compared to modern languages such as Java which has both object oriented and procedural programming.
12) Explain about name spaces?
Namespaces help you to group classes, functions, etc under one name which helps you to access it at later stage. To access these name spaces we can use scope operator. During name space naming there arises difficulty when a function uses the same name which causes redefinition errors.
13) Explain about exceptions and its relation to handlers?
This function is used for exceptional circumstances and this is made possible by handlers. This exception handler is placed in the code which throws exception and error. This exception throws error when the condition is not satisfied. This handler is placed in a try block in which throw function is present. After the try block a catch function is placed through which exception handlers are declared.
14) Explain about static_cast?
Static cast is very helpful for conversions from pointers to related class and also from derived class to base class. This static_cast is also helpful to convert base class to derived class. Static_cast makes sure that atleast classes and objects are completed. This has its disadvantages such as programmer should ensure that the object specified is being moved to its destination.
15) Explain about reinterpret_cast?
Reinterpret_cast is platform specific. The code generated for reinterpret_cast is generated for the platform which makes it not useful for inter operability. This transfers pointers, irrespective of classes. This forms a image of the specific class and also pointer pointed or the pointer itself is not checked. This can lead doors to security lapses.
16) Explain about explicit conversion within C++ and its supportability?
This explicit conversion is required where there is different interpretation on value. There are two different types of explicit conversion such as c like casting and functional. This explicit conversion can be applied indiscriminately on the code which significantly increases errors during run time.
17) Explain about implicit conversion in relation to C++?
Implicit conversion does not require any operator for performing its function. It automatically performs when a value is copied to the code. The only exception being, it should be compatible. This allows conversions between bool to numerical types, pointer conversions, and etc. significant runtime errors get reduced with this implicit conversion because it accepts values which are compatible.
18) Explain about the class string stream?
This string stream class is defined by a standard header file . This class provides flexibility in converting a string based object to stream. This is useful in extraction and insertion of numerical, strings, characters, etc. This is useful to extract a specific numerical from a string. This also aids in insertion.
19) What exactly a data structure performs in C++?
A data structure is a collection of data elements under one name. These data elements are collectively known as members and they can have variable lengths and types. Structure_name and object_name are two important types defined in C++. Structure types are defined by structure_name and object_name contains valid identifiers.
20) I am getting an error at runtime for an oversized array but it never shows it as a fault during debugging?
In C++ it is very correct syntactically to declare over sized array. It also never shows you any error during compilation but it shows error during run time. The answer lies in pointers. This problem can be mitigated if we can manually specify the memory location by using a reference operator. Automatically pointers assign the variable to a certain location and when it tries to extract during extraction it fails thus creating error.
MFC (Part-I) interview question and answers
What is the difference between GetMessage and PeekMessage ?
Ans:
GetMessage function waits for a message to be placed in the queue before returning where as PeekMessage function does not wait for a message to be placed in the queue before returning.
What’s the difference between PostMessage and SendMessage?
Ans:
The PostMessage function places (posts) a message in the message queue associated with the thread that created the specified window and then returns without waiting for the thread to process the message.
The SendMessage function sends the specified message to a window or windows. The function calls the window procedure for the specified window and does not return until the window procedure has processed the message.
How to create a model less dialog?
Ans:
m_pModeless is a variable of type CDialog or any of its descendants.
m_pModeless->Create(IDD_DIALOG1, this);
m_pModeless->ShowWindow(SW_SHOW);
this pointer as a paramter suggest we are creating a child dialog of the current dialog/window.
How to setup a timer?
Ans:
Use the SetTimer function
UINT_PTR SetTimer( HWND hWnd, UINT_PTR nIDEvent, UINT uElapse,
TIMERPROC lpTimerFunc );
To kill the timer use
BOOL KillTimer(int nIDEvent);
Where the nIDEvent is the ID returned by the SetTimer Function.
Name the Synchronization objects ?
Ans:
Following are the synchronization objects
1) Critical Section 2) Event 3) Mutex 4) Semaphore
Classes provided for above synchronization objects are:
1) CCriticalSection 2) CEvent 3) CMutex 4) CSemaphore
What Is CMutex ?
Ans:
An object of class CMutex represents a “mutex” — a synchronization object that allows one thread mutually exclusive access to a resource. Mutexes are useful when only one thread at a time can be allowed to modify data or some other controlled resource. For example, adding nodes to a linked list is a process that should only be allowed by one thread at a time. By using a CMutex object to control the linked list, only one thread at a time can gain access to the list.
To use a CMutex object, construct the CMutex object when it is needed. Specify the name of the mutex you wish to wait on, and that your application should initially own it. You can then access the mutex when the constructor returns. Call CSyncObject::Unlock when you are done accessing the controlled resource.
An alternative method for using CMutex objects is to add a variable of type CMutex as a data member to the class you wish to control. During construction of the controlled object, call the constructor of the CMutex data member specifying if the mutex is initially owned, the name of the mutex (if it will be used across process boundaries), and desired security attributes.
To access resources controlled by CMutex objects in this manner, first create a variable of either type CSingleLock or type CMultiLock in your resource’s access member function. Then call the lock object’s Lock member function (for example, CSingleLock::Lock). At this point, your thread will either gain access to the resource, wait for the resource to be released and gain access, or wait for the resource to be released and time out, failing to gain access to the resource. In any case, your resource has been accessed in a thread-safe manner. To release the resource, use the lock object’s Unlock member function (for example, CSingleLock::Unlock), or allow the lock object to fall out of scope
What is thread & process?
Ans:
Threads are similar to processes, but differ in the way that they share resources. Threads are distinguished from processes in that processes are typically independent, carry considerable state information and have separate address spaces. Threads typically share the memory belonging to their parent process.
what is the use of AFX_MANAGE_STATE ?
Ans:
By default, MFC uses the resource handle of the main application to load the resource template. If you have an exported function in a DLL, such as one that launches a dialog box in the DLL, this template is actually stored in the DLL module. You need to switch the module state for the correct handle to be used. You can do this by adding the following code to the beginning of the function:
AFX_MANAGE_STATE(AfxGetStaticModuleState( ));
This swaps the current module state with the state returned from AfxGetStaticModuleState until the end of the current scope. If all your resources lies in the single DLL you can even change the default handle to the DLL handle with the help of AfxSetResourceHandle function.
Ans:
GetMessage function waits for a message to be placed in the queue before returning where as PeekMessage function does not wait for a message to be placed in the queue before returning.
What’s the difference between PostMessage and SendMessage?
Ans:
The PostMessage function places (posts) a message in the message queue associated with the thread that created the specified window and then returns without waiting for the thread to process the message.
The SendMessage function sends the specified message to a window or windows. The function calls the window procedure for the specified window and does not return until the window procedure has processed the message.
How to create a model less dialog?
Ans:
m_pModeless is a variable of type CDialog or any of its descendants.
m_pModeless->Create(IDD_DIALOG1, this);
m_pModeless->ShowWindow(SW_SHOW);
this pointer as a paramter suggest we are creating a child dialog of the current dialog/window.
How to setup a timer?
Ans:
Use the SetTimer function
UINT_PTR SetTimer( HWND hWnd, UINT_PTR nIDEvent, UINT uElapse,
TIMERPROC lpTimerFunc );
To kill the timer use
BOOL KillTimer(int nIDEvent);
Where the nIDEvent is the ID returned by the SetTimer Function.
Name the Synchronization objects ?
Ans:
Following are the synchronization objects
1) Critical Section 2) Event 3) Mutex 4) Semaphore
Classes provided for above synchronization objects are:
1) CCriticalSection 2) CEvent 3) CMutex 4) CSemaphore
What Is CMutex ?
Ans:
An object of class CMutex represents a “mutex” — a synchronization object that allows one thread mutually exclusive access to a resource. Mutexes are useful when only one thread at a time can be allowed to modify data or some other controlled resource. For example, adding nodes to a linked list is a process that should only be allowed by one thread at a time. By using a CMutex object to control the linked list, only one thread at a time can gain access to the list.
To use a CMutex object, construct the CMutex object when it is needed. Specify the name of the mutex you wish to wait on, and that your application should initially own it. You can then access the mutex when the constructor returns. Call CSyncObject::Unlock when you are done accessing the controlled resource.
An alternative method for using CMutex objects is to add a variable of type CMutex as a data member to the class you wish to control. During construction of the controlled object, call the constructor of the CMutex data member specifying if the mutex is initially owned, the name of the mutex (if it will be used across process boundaries), and desired security attributes.
To access resources controlled by CMutex objects in this manner, first create a variable of either type CSingleLock or type CMultiLock in your resource’s access member function. Then call the lock object’s Lock member function (for example, CSingleLock::Lock). At this point, your thread will either gain access to the resource, wait for the resource to be released and gain access, or wait for the resource to be released and time out, failing to gain access to the resource. In any case, your resource has been accessed in a thread-safe manner. To release the resource, use the lock object’s Unlock member function (for example, CSingleLock::Unlock), or allow the lock object to fall out of scope
What is thread & process?
Ans:
Threads are similar to processes, but differ in the way that they share resources. Threads are distinguished from processes in that processes are typically independent, carry considerable state information and have separate address spaces. Threads typically share the memory belonging to their parent process.
what is the use of AFX_MANAGE_STATE ?
Ans:
By default, MFC uses the resource handle of the main application to load the resource template. If you have an exported function in a DLL, such as one that launches a dialog box in the DLL, this template is actually stored in the DLL module. You need to switch the module state for the correct handle to be used. You can do this by adding the following code to the beginning of the function:
AFX_MANAGE_STATE(AfxGetStaticModuleState( ));
This swaps the current module state with the state returned from AfxGetStaticModuleState until the end of the current scope. If all your resources lies in the single DLL you can even change the default handle to the DLL handle with the help of AfxSetResourceHandle function.
c,c++(Part-I) interview question and answers
Q : What is a heap ?
Ans : Heap is a chunk of memory. When in a program memory is allocated dynamically, the C run-time library gets the memory from a collection of unused memory called the heap. The heap resides in a program's data segment. Therefore, the amount of heap space available to the program is fixed, and can vary from one program to another.
Q : How to obtain a path of the given file?
Ans: The function searchpath( ) searches for the specified file in the subdirectories of the current path. Following program shows how to make use of the searchpath( ) function.
#include "dir.h"
void main ( int argc, char *argv[] )
{
char *path ;
if ( path = searchpath ( argv[ 1 ] ) )
printf ( "Pathname : %s\n", path ) ;
else
printf ( "File not found\n" ) ;
}
Q : Can we get the process identification number of the current program?
Ans: Yes! The macro getpid( ) gives us the process identification number of the program currently running. The process id. uniquely identifies a program. Under DOS, the getpid( ) returns the Program Segment Prefix as the process id. Following program illustrates the use of this macro.
#include
#include
void main( )
{
printf ( "The process identification number of this program is %X\n",
getpid( ) ) ;
}
Q : How do I write a function that takes variable number of arguments?
Ans: The following program demonstrates this.
#include
#include
void main( )
{
int i = 10 ;
float f = 2.5 ;
char *str = "Hello!" ;
vfpf ( "%d %f %s\n", i, f, str ) ;
vfpf ( "%s %s", str, "Hi!" ) ;
}
void vfpf ( char *fmt, ... )
{
va_list argptr ;
va_start ( argptr, fmt ) ;
vfprintf ( stdout, fmt, argptr ) ;
va_end ( argptr ) ;
}
Here, the function vfpf( ) has called vfprintf( ) that take variable argument lists. va_list is an array that holds information required for the macros va_start and va_end. The macros va_start and va_end provide a portable way to access the variable argument lists. va_start would set up a pointer argptr to point to the first of the variable arguments being passed to the function. The macro va_end helps the called function to perform a normal return.
Q : Can we change the system date to some other date?
Ans: Yes, We can! The function stime( ) sets the system date to the specified date. It also sets the system time. The time and date is measured in seconds from the 00:00:00 GMT, January 1, 1970. The following program shows how to use this function.
#include
#include
void main( )
{
time_t tm ;
int d ;
tm = time ( NULL ) ;
printf ( "The System Date : %s", ctime ( &tm ) ) ;
printf ( "\nHow many days ahead you want to set the date : " ) ;
scanf ( "%d", &d ) ;
tm += ( 24L * d ) * 60L * 60L ;
stime ( &tm ) ;
printf ( "\nNow the new date is : %s", ctime ( &tm ) ) ;
}
In this program we have used function ctime( ) in addition to function stime( ). The ctime( ) function converts time value to a 26-character long string that contains date and time.
Q : How to use function strdup( ) in a program?
Ans : The string function strdup( ) copies the given string to a new location. The function uses malloc( ) function to allocate space required for the duplicated string. It takes one argument a pointer to the string to be duplicated. The total number of characters present in the given string plus one bytes get allocated for the new string. As this function uses malloc( ) to allocate memory, it is the programmer’s responsibility to deallocate the memory using free( ).
#include
#include
#include
void main( )
{
char *str1, *str2 = "double";
str1 = strdup ( str2 ) ;
printf ( "%s\n", str1 ) ;
free ( str1 ) ;
}
Q : On including a file twice I get errors reporting redefinition of function.
How can I avoid duplicate inclusion?
Ans: Redefinition errors can be avoided by using the following macro definition. Include this definition in the header file.
#if !defined filename_h
#define filename_h
/* function definitions */
#endif
Replace filename_h with the actual header file name. For example, if name of file to be included is 'goto.h' then replace filename_h
Q : How to write a swap( ) function which swaps the values of the variables using bitwise operators.
Ans: Here is the swap( ) function.
swap ( int *x, int *y )
{
*x ^= *y ;
*y ^= *x ;
*x ^= *y ;
}
The swap( ) function uses the bitwise XOR operator and does not require any temporary variable for swapping.
Ans : Heap is a chunk of memory. When in a program memory is allocated dynamically, the C run-time library gets the memory from a collection of unused memory called the heap. The heap resides in a program's data segment. Therefore, the amount of heap space available to the program is fixed, and can vary from one program to another.
Q : How to obtain a path of the given file?
Ans: The function searchpath( ) searches for the specified file in the subdirectories of the current path. Following program shows how to make use of the searchpath( ) function.
#include "dir.h"
void main ( int argc, char *argv[] )
{
char *path ;
if ( path = searchpath ( argv[ 1 ] ) )
printf ( "Pathname : %s\n", path ) ;
else
printf ( "File not found\n" ) ;
}
Q : Can we get the process identification number of the current program?
Ans: Yes! The macro getpid( ) gives us the process identification number of the program currently running. The process id. uniquely identifies a program. Under DOS, the getpid( ) returns the Program Segment Prefix as the process id. Following program illustrates the use of this macro.
#include
#include
void main( )
{
printf ( "The process identification number of this program is %X\n",
getpid( ) ) ;
}
Q : How do I write a function that takes variable number of arguments?
Ans: The following program demonstrates this.
#include
#include
void main( )
{
int i = 10 ;
float f = 2.5 ;
char *str = "Hello!" ;
vfpf ( "%d %f %s\n", i, f, str ) ;
vfpf ( "%s %s", str, "Hi!" ) ;
}
void vfpf ( char *fmt, ... )
{
va_list argptr ;
va_start ( argptr, fmt ) ;
vfprintf ( stdout, fmt, argptr ) ;
va_end ( argptr ) ;
}
Here, the function vfpf( ) has called vfprintf( ) that take variable argument lists. va_list is an array that holds information required for the macros va_start and va_end. The macros va_start and va_end provide a portable way to access the variable argument lists. va_start would set up a pointer argptr to point to the first of the variable arguments being passed to the function. The macro va_end helps the called function to perform a normal return.
Q : Can we change the system date to some other date?
Ans: Yes, We can! The function stime( ) sets the system date to the specified date. It also sets the system time. The time and date is measured in seconds from the 00:00:00 GMT, January 1, 1970. The following program shows how to use this function.
#include
#include
void main( )
{
time_t tm ;
int d ;
tm = time ( NULL ) ;
printf ( "The System Date : %s", ctime ( &tm ) ) ;
printf ( "\nHow many days ahead you want to set the date : " ) ;
scanf ( "%d", &d ) ;
tm += ( 24L * d ) * 60L * 60L ;
stime ( &tm ) ;
printf ( "\nNow the new date is : %s", ctime ( &tm ) ) ;
}
In this program we have used function ctime( ) in addition to function stime( ). The ctime( ) function converts time value to a 26-character long string that contains date and time.
Q : How to use function strdup( ) in a program?
Ans : The string function strdup( ) copies the given string to a new location. The function uses malloc( ) function to allocate space required for the duplicated string. It takes one argument a pointer to the string to be duplicated. The total number of characters present in the given string plus one bytes get allocated for the new string. As this function uses malloc( ) to allocate memory, it is the programmer’s responsibility to deallocate the memory using free( ).
#include
#include
#include
void main( )
{
char *str1, *str2 = "double";
str1 = strdup ( str2 ) ;
printf ( "%s\n", str1 ) ;
free ( str1 ) ;
}
Q : On including a file twice I get errors reporting redefinition of function.
How can I avoid duplicate inclusion?
Ans: Redefinition errors can be avoided by using the following macro definition. Include this definition in the header file.
#if !defined filename_h
#define filename_h
/* function definitions */
#endif
Replace filename_h with the actual header file name. For example, if name of file to be included is 'goto.h' then replace filename_h
Q : How to write a swap( ) function which swaps the values of the variables using bitwise operators.
Ans: Here is the swap( ) function.
swap ( int *x, int *y )
{
*x ^= *y ;
*y ^= *x ;
*x ^= *y ;
}
The swap( ) function uses the bitwise XOR operator and does not require any temporary variable for swapping.
SAP-SD(Part-II) interview question and answers
What is the purpose of text determination, account determination, partner determination, output determination,storagelocation determination
Answer1:
Text determination: For transferring information from material or customer to order/delvery or invoice (and anything inbetween)
Account determination: For transferring financial and costing information to proper financial docs
Partner determination: For determing who is is legally resposible for A/r, who the goods are going to and whatever else you waana drive through this functionality.
Output determination: What kinda output does a sales/delivery/billing document create and who gets it, where?. For example A partner might get an EDI notification for a sales order just confirmed, whereas a financial/leasing company gets the invoice!
Answer2:
(a) Text Determination: Any Texts in Masterial Master/Material Determination/Order/Delivery , etc is meant to convey messages to the subsequent documents for compliance. e.g. "Give Top Priority" message mentioned in Order is meant for Production Dept. (b) Account Determination:is integration between Finance and SD. The A/P along with Account Keys need to be allocated accordingly with combination of Account Determination Group for Customer and Material if required. (c) Partner Determination:To identify which type of Partner it is so that if required for same Customer different Partner Functions may be required e.g Only One Sold To Party per Customer. More than One Ship to Party/ Bill to Party/ Payer possible. Accordingly different Masters will have to be created. Useful for despatch of Material in casae of Ship to Party, sending Bill in case of Bill to Party and payment followup/Dunning in case of Payer. (d) Output Determination: What type of Output (Fax/Mail, etc) is required, where and in what Format(ABAP Customisation may be required in some cases especially Invoices). (e) Storage Location Determination: depends on Plant, Shipping Point and Storage Conditions
What are the five imp fields to be maintained in account determination Account Determination:
Sales View, Sales Organisation, Distribution Chanel, Chart of Accounts, Account Assignment Group for Customer and Material and Account Keys.
What is meant by transfer of data from legacy code to sap Legacy Code ?
Answer1:
It should be legacy data to SAP. What it means is you want to transfer all the customer and materials and all other information from Older (legacy system) to new SAP system. You can do it using many tools, most noticeably MDMs.
Answer2:
Before installation of SAP, Data maintained by Company is called Legacy Data. At the time of instalation, it is required to transfer Data from Legacy to SAP like Masters (Material/Customer, etc). It can be done in various ways like BDC, LSMW, etc.
What do you do really in pricing determination, and what are the main differences between pricing procedures?
Answer1:
Pricing is determined by combination of Sales Organisation, Distribution Channel, Division, Customer Pricing Procedure and Document Pricing Procedure.
Answer2:
We determine how the prices are calculated, taking into account sales area(sales org, distribution channel, division), document type and customer(generally sold-to-party). The main differences between pricing procedures would be the differences as we mentioned above, from the point of view of field entries. Coming to the output and the procedure, Suppose the condition types used will be different and hence the following whole procedure. One pricing procedure determination to the others, which data control these differences
What type of reports generally a support consultant maintain and report
Depends on Customer requirements.
What is the purpose of shipping point determination not menu path
So that Shipping Point is determined automatically once the settings for the same are done.
What and where types of copy controls we change
Copy Control:
is basically meant so that Data is copied from preceding Document to subsequent one. What subsequent Document is required is to some extent determined by Customer Requirements as well as Document Types. e.g. In general case of Standard Order, it will be Copy Control (Order to Delivery) from OR to LF .
How to and where to maintain copy controls
Check for yourself in IMG (Sales Document types and Delivery Document Types)
What is purpose of maintaining common distribution channels and common divisions
Common Distribution Channel and Common Divison are maintained so that if any master data like customer or material maintained with respect to one distribution channel can be used in other DCh. It prevents the multiplication of master records. Eg: A customer is created for say sales area 1000/20/00 then the same customer can be used in sales area 1000/30/00 if we maintain 20 as common distribution channel. Hence no need for extending the customers...the same for materials also.
What is the difference between the Avaialbility check 01 (Daily requirement) and 02 (Individual Requirement) in material master?
01 and 02 are the checking group. Availability check is carried out with the help of these checking group and checking rule. Checking group 01 and 02 are maintained on the material master.
01 - Individual requirement -For this system generates transfers the requirement for each order to the MRP .So that MM can either produce or procure.
02- Collective requirement.-In this all the requirements in aday or in a wek are processed at a time. System stores all req and passes on to the MRP in MRP run.In this system performance is high however you can not do the backorder processing whereas in other you can do.
Answer1:
Text determination: For transferring information from material or customer to order/delvery or invoice (and anything inbetween)
Account determination: For transferring financial and costing information to proper financial docs
Partner determination: For determing who is is legally resposible for A/r, who the goods are going to and whatever else you waana drive through this functionality.
Output determination: What kinda output does a sales/delivery/billing document create and who gets it, where?. For example A partner might get an EDI notification for a sales order just confirmed, whereas a financial/leasing company gets the invoice!
Answer2:
(a) Text Determination: Any Texts in Masterial Master/Material Determination/Order/Delivery , etc is meant to convey messages to the subsequent documents for compliance. e.g. "Give Top Priority" message mentioned in Order is meant for Production Dept. (b) Account Determination:is integration between Finance and SD. The A/P along with Account Keys need to be allocated accordingly with combination of Account Determination Group for Customer and Material if required. (c) Partner Determination:To identify which type of Partner it is so that if required for same Customer different Partner Functions may be required e.g Only One Sold To Party per Customer. More than One Ship to Party/ Bill to Party/ Payer possible. Accordingly different Masters will have to be created. Useful for despatch of Material in casae of Ship to Party, sending Bill in case of Bill to Party and payment followup/Dunning in case of Payer. (d) Output Determination: What type of Output (Fax/Mail, etc) is required, where and in what Format(ABAP Customisation may be required in some cases especially Invoices). (e) Storage Location Determination: depends on Plant, Shipping Point and Storage Conditions
What are the five imp fields to be maintained in account determination Account Determination:
Sales View, Sales Organisation, Distribution Chanel, Chart of Accounts, Account Assignment Group for Customer and Material and Account Keys.
What is meant by transfer of data from legacy code to sap Legacy Code ?
Answer1:
It should be legacy data to SAP. What it means is you want to transfer all the customer and materials and all other information from Older (legacy system) to new SAP system. You can do it using many tools, most noticeably MDMs.
Answer2:
Before installation of SAP, Data maintained by Company is called Legacy Data. At the time of instalation, it is required to transfer Data from Legacy to SAP like Masters (Material/Customer, etc). It can be done in various ways like BDC, LSMW, etc.
What do you do really in pricing determination, and what are the main differences between pricing procedures?
Answer1:
Pricing is determined by combination of Sales Organisation, Distribution Channel, Division, Customer Pricing Procedure and Document Pricing Procedure.
Answer2:
We determine how the prices are calculated, taking into account sales area(sales org, distribution channel, division), document type and customer(generally sold-to-party). The main differences between pricing procedures would be the differences as we mentioned above, from the point of view of field entries. Coming to the output and the procedure, Suppose the condition types used will be different and hence the following whole procedure. One pricing procedure determination to the others, which data control these differences
What type of reports generally a support consultant maintain and report
Depends on Customer requirements.
What is the purpose of shipping point determination not menu path
So that Shipping Point is determined automatically once the settings for the same are done.
What and where types of copy controls we change
Copy Control:
is basically meant so that Data is copied from preceding Document to subsequent one. What subsequent Document is required is to some extent determined by Customer Requirements as well as Document Types. e.g. In general case of Standard Order, it will be Copy Control (Order to Delivery) from OR to LF .
How to and where to maintain copy controls
Check for yourself in IMG (Sales Document types and Delivery Document Types)
What is purpose of maintaining common distribution channels and common divisions
Common Distribution Channel and Common Divison are maintained so that if any master data like customer or material maintained with respect to one distribution channel can be used in other DCh. It prevents the multiplication of master records. Eg: A customer is created for say sales area 1000/20/00 then the same customer can be used in sales area 1000/30/00 if we maintain 20 as common distribution channel. Hence no need for extending the customers...the same for materials also.
What is the difference between the Avaialbility check 01 (Daily requirement) and 02 (Individual Requirement) in material master?
01 and 02 are the checking group. Availability check is carried out with the help of these checking group and checking rule. Checking group 01 and 02 are maintained on the material master.
01 - Individual requirement -For this system generates transfers the requirement for each order to the MRP .So that MM can either produce or procure.
02- Collective requirement.-In this all the requirements in aday or in a wek are processed at a time. System stores all req and passes on to the MRP in MRP run.In this system performance is high however you can not do the backorder processing whereas in other you can do.
SAP-BW(Part-II) interview question and answers
Under which menu path is the Test Workbench to be found, including in earlier Releases?
The menu path is: Tools - ABAP Workbench - Test - Test Workbench.
Have you tried the RSZDELETE transaction?
Errors while monitoring process chains.
During data loading. Apart from them, in process chains you add so many process types, for example after loading data into Info Cube, you rollup data into aggregates, now this rolling up of data into aggregates is a process type which you keep after the process type for loading data into Cube. This rolling up into aggregates might fail.
Another one is after you load data into ODS, you activate ODS data (another process type) this might also fail.
In Monitor----- Details (Header/Status/Details) Ã Under Processing (data packet): Everything OK Ã Context menu of Data Package 1 (1 Records): Everything OK ---- Simulate update. (Here we can debug update rules or transfer rules.)
SM50 à Program/Mode à Program à Debugging & debug this work process.
Can we make a datasource to support delta.
If this is a custom (user-defined) datasource you can make the datasource delta enabled. While creating datasource from RSO2, after entering datasource name and pressing create, in the next screen there is one button at the top, which says generic delta. If you want more details about this there is a chapter in Extraction book, it's in last pages u find out.
Generic delta services: -
Supports delta extraction for generic extractors according to:
Time stamp
Calendar day
Numeric pointer, such as document number & counter
Only one of these attributes can be set as a delta attribute.
Delta extraction is supported for all generic extractors, such as tables/views, SAP Query and function modules
The delta queue (RSA7) allows you to monitor the current status of the delta attribute SAP BW Workbooks, as a general rule, should be transported with the role.
Here are a couple of scenarios:
1. If both the workbook and its role have been previously transported, then the role does not need to be part of the transport.
2. If the role exists in both dev and the target system but the workbook has never been transported, and then you have a choice of transporting the role (recommended) or just the workbook. If only the workbook is transported, then an additional step will have to be taken after import: Locate the WorkbookID via Table RSRWBINDEXT (in Dev and verify the same exists in the target system) and proceed to manually add it to the role in the target system via Transaction Code PFCG -- ALWAYS use control c/control v copy/paste for manually adding!
3. If the role does not exist in the target system you should transport both the role and workbook. Keep in mind that a workbook is an object unto itself and has no dependencies on other objects. Thus, you do not receive an error message from the transport of 'just a workbook' -- even though it may not be visible, it will exist (verified via Table RSRWBINDEXT).
Overall, as a general rule, you should transport roles with workbooks.
How much time does it take to extract 1 million (10 lackhs) of records into an infocube?
This depends, if you have complex coding in update rules it will take longer time, or else it will take less than 30 minutes.
What are the five ASAP Methodologies?
Project plan, Business Blue print, Realization, Final preparation & Go-Live - support.
1. Project Preparation: In this phase, decision makers define clear project objectives and an efficient decision making process ( i.e. Discussions with the client, like what are his needs and requirements etc.). Project managers will be involved in this phase (I guess).
A Project Charter is issued and an implementation strategy is outlined in this phase.
2. Business Blueprint: It is a detailed documentation of your company's requirements. (i.e. what are the objects we need to develop are modified depending on the client's requirements).
3. Realization: In this only, the implementation of the project takes place (development of objects etc) and we are involved in the project from here only.
4. Final Preparation: Final preparation before going live i.e. testing, conducting pre-go-live, end user training etc.
End user training is given that is in the client site you train them how to work with the new environment, as they are new to the technology.
5. Go-Live & support: The project has gone live and it is into production. The Project team will be supporting the end users.
what is landscape of BW?
Then Landscape of b/w: u have the development system, testing system, production system
Development system: All the implementation part is done in this sys. (I.e., Analysis of objects developing, modification etc) and from here the objects are transported to the testing system, but before transporting an initial test known as Unit testing (testing of objects) is done in the development sys.
Testing/Quality system: quality check is done in this system and integration testing is done.
Production system: All the extraction part takes place in this sys.
How do you measure the size of infocube?
In no of records.
Difference between infocube and ODS?
Infocube is structured as star schema (extended) where a fact table is surrounded by different dim table that are linked with DIM'ids. And the data wise, you will have aggregated data in the cubes. No overwrite functionality ODS is a flat structure (flat table) with no star schema concept and which will have granular data (detailed level). Overwrite functionality.
Flat file datasources does not support 0recordmode in extraction.
x before, -after, n new, a add, d delete, r reverse
Difference between display attributes and navigational attributes?
Display attribute is one, which is used only for display purpose in the report. Where as navigational attribute is used for drilling down in the report. We don't need to maintain Navigational attribute in the cube as a characteristic (that is the advantage) to drill down.
SOME DATA IS UPLOADED TWICE INTO INFOCUBE. HOW TO CORRECT IT?
But how is it possible? If you load it manually twice, then you can delete it by requestID.
CAN U ADD A NEW FIELD AT THE ODS LEVEL?
Sure you can. ODS is nothing but a table.
CAN NUMBER OF DATASOURCES HAVE ONE INFOSOURCE?
Yes of course. For example, for loading text and hierarchies we use different data sources but the same InfoSource.
BRIEF THE DATAFLOW IN BW.
Data flows from transactional system to analytical system (BW). DataSources on the transactional system needs to be replicated on BW side and attached to infosource and update rules respectively.
WHAT IS PROCEDURE TO UPDATE DATA INTO DATA TARGETS?
FULL and DELTA.
AS WE USE Sbwnn, sbiw1, sbiw2 for delta update in LIS THEN WHAT IS THE PROCEDURE IN LO-COCKPIT?
No LIS in LO cockpit. We will have datasources and can be maintained (append fields). Refer white paper on LO-Cockpit extractions.
Why we delete the setup tables (LBWG) & fill them (OLI*BW)?
Initially we don't delete the setup tables but when we do change in extract structure we go for it. We r changing the extract structure right, that means there are some newly added fields in that which r not before. So to get the required data ( i.e.; the data which is required is taken and to avoid redundancy) we delete n then fill the setup tables.
To refresh the statistical data. The extraction set up reads the dataset that you want to process such as, customers orders with the tables like VBAK, VBAP) & fills the relevant communication structure with the data. The data is stored in cluster tables from where it is read when the initialization is run. It is important that during initialization phase, no one generates or modifies application data, at least until the tables can be set up.
SIGNIFICANCE of ODS?
It holds granular data (detailed level).
WHERE THE PSA DATA IS STORED?
In PSA table.
WHAT IS DATA SIZE?
The volume of data one data target holds (in no. of records)
Different types of INFOCUBES.
Basic, Virtual (remote, sap remote and multi)
Virtual Cube is used for example, if you consider railways reservation all the information has to be updated online. For designing the Virtual cube you have to write the function module that is linking to table, Virtual cube it is like a the structure, when ever the table is updated the virtual cube will fetch the data from table and display report Online... FYI.. you will get the information : https://www.sdn.sap.com/sdn/index.sdn and search for Designing Virtual Cube and you will get a good material designing the Function Module
INFOSET QUERY.
Can be made of ODS's and Characteristic InfoObjects with masterdata.
IF THERE ARE 2 DATASOURCES HOW MANY TRANSFER STRUCTURES ARE THERE. In R/3 or in BW?
2 in R/3 and 2 in BW
ROUTINES?
Exist in the InfoObject, transfer routines, update routines and start routine
BRIEF SOME STRUCTURES USED IN BEX.
Rows and Columns, you can create structures.
The menu path is: Tools - ABAP Workbench - Test - Test Workbench.
Have you tried the RSZDELETE transaction?
Errors while monitoring process chains.
During data loading. Apart from them, in process chains you add so many process types, for example after loading data into Info Cube, you rollup data into aggregates, now this rolling up of data into aggregates is a process type which you keep after the process type for loading data into Cube. This rolling up into aggregates might fail.
Another one is after you load data into ODS, you activate ODS data (another process type) this might also fail.
In Monitor----- Details (Header/Status/Details) Ã Under Processing (data packet): Everything OK Ã Context menu of Data Package 1 (1 Records): Everything OK ---- Simulate update. (Here we can debug update rules or transfer rules.)
SM50 à Program/Mode à Program à Debugging & debug this work process.
Can we make a datasource to support delta.
If this is a custom (user-defined) datasource you can make the datasource delta enabled. While creating datasource from RSO2, after entering datasource name and pressing create, in the next screen there is one button at the top, which says generic delta. If you want more details about this there is a chapter in Extraction book, it's in last pages u find out.
Generic delta services: -
Supports delta extraction for generic extractors according to:
Time stamp
Calendar day
Numeric pointer, such as document number & counter
Only one of these attributes can be set as a delta attribute.
Delta extraction is supported for all generic extractors, such as tables/views, SAP Query and function modules
The delta queue (RSA7) allows you to monitor the current status of the delta attribute SAP BW Workbooks, as a general rule, should be transported with the role.
Here are a couple of scenarios:
1. If both the workbook and its role have been previously transported, then the role does not need to be part of the transport.
2. If the role exists in both dev and the target system but the workbook has never been transported, and then you have a choice of transporting the role (recommended) or just the workbook. If only the workbook is transported, then an additional step will have to be taken after import: Locate the WorkbookID via Table RSRWBINDEXT (in Dev and verify the same exists in the target system) and proceed to manually add it to the role in the target system via Transaction Code PFCG -- ALWAYS use control c/control v copy/paste for manually adding!
3. If the role does not exist in the target system you should transport both the role and workbook. Keep in mind that a workbook is an object unto itself and has no dependencies on other objects. Thus, you do not receive an error message from the transport of 'just a workbook' -- even though it may not be visible, it will exist (verified via Table RSRWBINDEXT).
Overall, as a general rule, you should transport roles with workbooks.
How much time does it take to extract 1 million (10 lackhs) of records into an infocube?
This depends, if you have complex coding in update rules it will take longer time, or else it will take less than 30 minutes.
What are the five ASAP Methodologies?
Project plan, Business Blue print, Realization, Final preparation & Go-Live - support.
1. Project Preparation: In this phase, decision makers define clear project objectives and an efficient decision making process ( i.e. Discussions with the client, like what are his needs and requirements etc.). Project managers will be involved in this phase (I guess).
A Project Charter is issued and an implementation strategy is outlined in this phase.
2. Business Blueprint: It is a detailed documentation of your company's requirements. (i.e. what are the objects we need to develop are modified depending on the client's requirements).
3. Realization: In this only, the implementation of the project takes place (development of objects etc) and we are involved in the project from here only.
4. Final Preparation: Final preparation before going live i.e. testing, conducting pre-go-live, end user training etc.
End user training is given that is in the client site you train them how to work with the new environment, as they are new to the technology.
5. Go-Live & support: The project has gone live and it is into production. The Project team will be supporting the end users.
what is landscape of BW?
Then Landscape of b/w: u have the development system, testing system, production system
Development system: All the implementation part is done in this sys. (I.e., Analysis of objects developing, modification etc) and from here the objects are transported to the testing system, but before transporting an initial test known as Unit testing (testing of objects) is done in the development sys.
Testing/Quality system: quality check is done in this system and integration testing is done.
Production system: All the extraction part takes place in this sys.
How do you measure the size of infocube?
In no of records.
Difference between infocube and ODS?
Infocube is structured as star schema (extended) where a fact table is surrounded by different dim table that are linked with DIM'ids. And the data wise, you will have aggregated data in the cubes. No overwrite functionality ODS is a flat structure (flat table) with no star schema concept and which will have granular data (detailed level). Overwrite functionality.
Flat file datasources does not support 0recordmode in extraction.
x before, -after, n new, a add, d delete, r reverse
Difference between display attributes and navigational attributes?
Display attribute is one, which is used only for display purpose in the report. Where as navigational attribute is used for drilling down in the report. We don't need to maintain Navigational attribute in the cube as a characteristic (that is the advantage) to drill down.
SOME DATA IS UPLOADED TWICE INTO INFOCUBE. HOW TO CORRECT IT?
But how is it possible? If you load it manually twice, then you can delete it by requestID.
CAN U ADD A NEW FIELD AT THE ODS LEVEL?
Sure you can. ODS is nothing but a table.
CAN NUMBER OF DATASOURCES HAVE ONE INFOSOURCE?
Yes of course. For example, for loading text and hierarchies we use different data sources but the same InfoSource.
BRIEF THE DATAFLOW IN BW.
Data flows from transactional system to analytical system (BW). DataSources on the transactional system needs to be replicated on BW side and attached to infosource and update rules respectively.
WHAT IS PROCEDURE TO UPDATE DATA INTO DATA TARGETS?
FULL and DELTA.
AS WE USE Sbwnn, sbiw1, sbiw2 for delta update in LIS THEN WHAT IS THE PROCEDURE IN LO-COCKPIT?
No LIS in LO cockpit. We will have datasources and can be maintained (append fields). Refer white paper on LO-Cockpit extractions.
Why we delete the setup tables (LBWG) & fill them (OLI*BW)?
Initially we don't delete the setup tables but when we do change in extract structure we go for it. We r changing the extract structure right, that means there are some newly added fields in that which r not before. So to get the required data ( i.e.; the data which is required is taken and to avoid redundancy) we delete n then fill the setup tables.
To refresh the statistical data. The extraction set up reads the dataset that you want to process such as, customers orders with the tables like VBAK, VBAP) & fills the relevant communication structure with the data. The data is stored in cluster tables from where it is read when the initialization is run. It is important that during initialization phase, no one generates or modifies application data, at least until the tables can be set up.
SIGNIFICANCE of ODS?
It holds granular data (detailed level).
WHERE THE PSA DATA IS STORED?
In PSA table.
WHAT IS DATA SIZE?
The volume of data one data target holds (in no. of records)
Different types of INFOCUBES.
Basic, Virtual (remote, sap remote and multi)
Virtual Cube is used for example, if you consider railways reservation all the information has to be updated online. For designing the Virtual cube you have to write the function module that is linking to table, Virtual cube it is like a the structure, when ever the table is updated the virtual cube will fetch the data from table and display report Online... FYI.. you will get the information : https://www.sdn.sap.com/sdn/index.sdn and search for Designing Virtual Cube and you will get a good material designing the Function Module
INFOSET QUERY.
Can be made of ODS's and Characteristic InfoObjects with masterdata.
IF THERE ARE 2 DATASOURCES HOW MANY TRANSFER STRUCTURES ARE THERE. In R/3 or in BW?
2 in R/3 and 2 in BW
ROUTINES?
Exist in the InfoObject, transfer routines, update routines and start routine
BRIEF SOME STRUCTURES USED IN BEX.
Rows and Columns, you can create structures.
SAP-ABAP (T-codes) transaction codes
| USMM | Pressing F8 will display all hotpacks applied. |
| SEARCH_SAP_MENU | Show the menu path to use to execute a given tcode. You can search by transaction code or menu text. |
| DI02 | ABAP/4 Repository Information System: Tables. |
| LSMW | Legacy System Migration Workbench. An addon available from SAP that can make data converstion a lot easier. |
| OSS1 | SAP Online Service System |
| OY19 | Compare Tables |
| SM13 | Update monitor. Will show update tasks status. Very useful to determine why an update failed. |
| S001 | ABAP Development Workbench |
| S001 | ABAP/4 Development Weorkbench. |
| S002 | System Administration. |
| SA38 | Execute a program. |
| SCAT | Computer Aided Test Tool |
| SCU0 | Compare Tables |
| SE01 | Old Transport & Corrections screen |
| SE03 | Groups together most of the tools that you need for doing transports. In total, more than 20 tools can be reached from this one transaction. |
| SE09 | Workbench Organizer |
| SE10 | New Transport & Correction screen |
| SE11 | ABAP/4 Dictionary Maintenance SE12 ABAP/4 Dictionary Display SE13 Maintain Technical Settings (Tables) |
| SE12 | Dictionary: Initial Screen - enter object name. |
| SE13 | Access tables in ABAP/4 Dictionary. |
| SE14 | Utilities for Dictionary Tables |
| SE15 | ABAP/4 Repository Information System |
| SE16 | Data Browser: Initial Screen. |
| SE16N | Table Browser (the N stands for New, it replaces SE16). |
| SE17 | General Table Display |
| SE24 | Class Builder |
| SE30 | ABAP/4 Runtime Analysis |
| SE32 | ABAP/4 Text Element Maintenance |
| SE35 | ABAP/4 Dialog Modules |
| SE36 | ABAP/4: Logical Databases |
| SE37 | ABAP/4 Function Modules |
| SE38 | ABAP Editor |
| SE39 | Splitscreen Editor: Program Compare |
| SE41 | Menu Painter |
| SE43 | Maintain Area Menu |
| SE48 | Show program call hierarchy. Very useful to see the overall structure of a program. Thanks to Isabelle Arickx for this tcode. |
| SE49 | Table manipulation. Show what tables are behind a transaction code. Thanks to Isabelle Arickx for this tcode. |
| SE51 | Screen Painter: Initial Screen. |
| SE54 | Generate View Maintenance Module |
| SE61 | R/3 Documentation |
| SE62 | Industry utilities |
| SE63 | Translation |
| SE64 | Terminology |
| SE65 | R/3 document. short text statistics SE66 R/3 Documentation Statistics (Test!) |
| SE68 | Translation Administration |
| SE71 | SAPscript layout set |
| SE71 | SAPScript Layouts Create/Change |
| SE72 | SAPscript styles |
| SE73 | SAPscript font maintenance (revised) |
| SE74 | SAPscript format conversion |
| SE75 | SAPscript Settings |
| SE76 | SAPscript Translation Layout Sets |
| SE77 | SAPscript Translation Styles |
| SE80 | ABAP/4 Development Workbench |
| SE81 | SAP Application Hierarchy |
| SE82 | Customer Application Hierarchy |
| SE83 | Reuse Library. Provided by Smiho Mathew. |
| SE84 | ABAP/4 Repository Information System |
| SE85 | ABAP/4 Dictionary Information System |
| SE86 | ABAP/4 Repository Information System |
| SE87 | Data Modeler Information System |
| SE88 | Development Coordination Info System |
| SE91 | Maintain Messages |
| SE92 | Maintain system log messages |
| SE93 | Maintain Transaction. |
| SEARCH_SAP_MENU | From the SAP Easy Access screen, type it in the command field and you will be able to search the standard SAP menu for transaction codes / keywords. It will return the nodes to follow for you. |
| SEU | Object Browser |
| SHD0 | Transaction variant maintenance |
| SM04 | Overview of Users (cancel/delete sessions) |
| SM12 | Lock table entries (unlock locked tables) |
| SM21 | View the system log, very useful when you get a short dump. Provides much more info than short dump |
| SM30 | Maintain Table Views. |
| SM31 | Table Maintenance |
| SM32 | Table maintenance |
| SM35 | View Batch Input Sessions |
| SM37 | View background jobs |
| SM50 | Process Overview. |
| SM51 | Delete jobs from system (BDC) |
| SM62 | Display/Maintain events in SAP, also use function BP_EVENT_RAISE |
| SMEN | Display the menu path to get to a transaction |
| SMOD/CMOD | Transactions for processing/editing/activating new customer enhancements. |
| SNRO | Object browser for number range maintenance. |
| SPRO | Start SAP IMG (Implementation Guide). |
| SQ00 | ABAP/4 Query: Start Queries |
| SQ01 | ABAP/4 Query: Maintain Queries |
| SQ02 | ABAP/4 Query: Maintain Funct. Areas |
| SQ03 | ABAP/4 Query: Maintain User Groups |
| SQ07 | ABAP/4 Query: Language Comparison |
| ST05 | Trace SQL Database Requests. |
| ST22 | ABAP Dump analysis |
| SU53 | Display Authorization Values for User. |
| WEDI | EDI Menu. IDOC and EDI base. |
| WE02 | Display an IDOC |
| WE07 | IDOC Statistics |
SAP-HR (T-code) transaction codes
Master Data
PA10 Personnel File
PA20 Display HR Master Data
PA30 Maintain HR Master Data
PA40 Personnel Events
PA41 Change Hiring Data
PA42 Fast Data Entry for Events
PRMD Maintain HR Master Data
PRMF Travel Expenses: Feature
TRVFD PRML Set Country Grouping via Popup
PRMM Personnel Events
PRMO Travel Expenses: Feature
TRVCO PRMP Travel Expenses: Feature
TRVPA PRMS Display HR Master Data
PRMT Update Matchcode
PSO3 Infotype overview
PSO4 Individual maintenance of infotypes
Time Management
PA51 Display Time Data
PA53 Display Time Data
PA61 Maintain Time Data
PA62 List Entry of Additional Data
PA63 Maintain Time Data
PA64 Calendar Entry
PA70 Fast Data Entry
PA71 Fast Entry of Time Data
PBAB Maintain vacancy assignments
PT01 Create Work Schedule
PT02 Change Work Schedule
PT03 Display Work Schedules
Payroll
PC00 Run Payroll
PC10 Payroll menu USA
PE00 Starts Transactions
PE01,PE02,PE03 PE01 Schemas
PE02 Calculation Rules
PE03 Features
PE04 Create functions and operations
PE51 HR form editor
PRCA Payroll calendar
PRCT Current Settings
PRCU Printing ChecksUSA
PRD1 Create DME
SM31 Maintain Tables
SM12 Locked Secessions
TSTC Table lookup
SPR0 IMG
SE16 Data Browser (Table reports)
PP03 PD Tables
PP0M Change Org Unit
P013 Maintain Positions
PO03 Maintain Jobs
Benefits
PA85 Benefits - Call RPLBEN11
PA86 Benefits - Call RPLBEN07
PA87 Benefits - Call RPLBEN09
PA89 COBRA Administration
PA90 Benefits Enrollment – Individual
PA91 Benefits - Forms
PA92 Benefits Tables - Maintain
PA93 Benefits Tables - Display
PA94 Benefits - Access Reporting Tree
PA95 Benefits IMG - Jump to Views
PA96 Benefits reporting
PA97 Salary Administration - Matrix
PA98 Salary Administration
PA99 Compensation Admin. - rel.changes
PACP HR-CH: Pension fund, interface
General/Reporting
PM00 Menu for HR Reports
PM01 Dialogs in HR - Create custom infotypes
PRF0 Standard Form
PSVT Dynamic Tools Menu
PAR1 Flexible employee data
PAR2 Employee list
PD - Organizational Management
PP0M Change Org Unit PO03 Maintain Jobs
PO13 Maintain Position
PO10 Maintain Organizational Unit
PP01 Maintain Plan Data (menu-guided)
PP02 Maintain Plan Data (Open)
PP03 Maintain Plan Data (event-guided)
PP05 Number Ranges
PP06 Number Range Maintenance: HRADATA
PP07 Tasks/Descriptions
PP69 Choose Text for Organizational Unit
PP90 Set Up Organization
PPO1 Change Cost Center Assignment
PPO2 Display Cost Center Assignment
PPO3 Change Reporting Structure
PPO4 Display Reporting Structure
PPO5 Change Object Indicators (O/S)
PPO6 Change Object Indicators O/S
PPOA Display Menu Interface (with dyn.)
PPOC Create Organizational Unit
PPOM Maintain Organizational Plan
PPOS Display Organizational Plan
PQ01 Events for Work Center
PQ02 Events for Training Program
PQ03 Events for Job
PQ04 Events for Business Event Type
PQ06 Location Events
PQ07 Resource Events
PQ08 Events for External Person
PQ09 Events for Business Event Group
PQ10 Events for Organizational Unit
PQ11 Events for Qualification
PQ12 Resource Type Events
PQ13 Events for Position
PQ14 Events for Task
PQ15 Events for Company
PSO5 PD: Administration Tools
PSOA Work Center Reporting
PSOC Job Reporting
PSOG OrgManagement General Reporting
PSOI Tools Integration PA-PD
PSOO Organizational Unit Reporting
PSOS Position Reporting
PSOT Task Reporting
Recruitment
PB10 Init.entry of applicant master data
PB20 Display applicant master data
PB30 Maintain applicant master data
PB40 Applicant events
PB50 Display applicant actions
PB60 Maintain applicant actions
PB80 Evaluate vacancies
PBA0 Evaluate advertisements
PBA1 Applicant index
PBA2 List of applications
PBA3 Applicant vacancy assignment list
PBA4 Receipt of application
PA10 Personnel File
PA20 Display HR Master Data
PA30 Maintain HR Master Data
PA40 Personnel Events
PA41 Change Hiring Data
PA42 Fast Data Entry for Events
PRMD Maintain HR Master Data
PRMF Travel Expenses: Feature
TRVFD PRML Set Country Grouping via Popup
PRMM Personnel Events
PRMO Travel Expenses: Feature
TRVCO PRMP Travel Expenses: Feature
TRVPA PRMS Display HR Master Data
PRMT Update Matchcode
PSO3 Infotype overview
PSO4 Individual maintenance of infotypes
Time Management
PA51 Display Time Data
PA53 Display Time Data
PA61 Maintain Time Data
PA62 List Entry of Additional Data
PA63 Maintain Time Data
PA64 Calendar Entry
PA70 Fast Data Entry
PA71 Fast Entry of Time Data
PBAB Maintain vacancy assignments
PT01 Create Work Schedule
PT02 Change Work Schedule
PT03 Display Work Schedules
Payroll
PC00 Run Payroll
PC10 Payroll menu USA
PE00 Starts Transactions
PE01,PE02,PE03 PE01 Schemas
PE02 Calculation Rules
PE03 Features
PE04 Create functions and operations
PE51 HR form editor
PRCA Payroll calendar
PRCT Current Settings
PRCU Printing ChecksUSA
PRD1 Create DME
SM31 Maintain Tables
SM12 Locked Secessions
TSTC Table lookup
SPR0 IMG
SE16 Data Browser (Table reports)
PP03 PD Tables
PP0M Change Org Unit
P013 Maintain Positions
PO03 Maintain Jobs
Benefits
PA85 Benefits - Call RPLBEN11
PA86 Benefits - Call RPLBEN07
PA87 Benefits - Call RPLBEN09
PA89 COBRA Administration
PA90 Benefits Enrollment – Individual
PA91 Benefits - Forms
PA92 Benefits Tables - Maintain
PA93 Benefits Tables - Display
PA94 Benefits - Access Reporting Tree
PA95 Benefits IMG - Jump to Views
PA96 Benefits reporting
PA97 Salary Administration - Matrix
PA98 Salary Administration
PA99 Compensation Admin. - rel.changes
PACP HR-CH: Pension fund, interface
General/Reporting
PM00 Menu for HR Reports
PM01 Dialogs in HR - Create custom infotypes
PRF0 Standard Form
PSVT Dynamic Tools Menu
PAR1 Flexible employee data
PAR2 Employee list
PD - Organizational Management
PP0M Change Org Unit PO03 Maintain Jobs
PO13 Maintain Position
PO10 Maintain Organizational Unit
PP01 Maintain Plan Data (menu-guided)
PP02 Maintain Plan Data (Open)
PP03 Maintain Plan Data (event-guided)
PP05 Number Ranges
PP06 Number Range Maintenance: HRADATA
PP07 Tasks/Descriptions
PP69 Choose Text for Organizational Unit
PP90 Set Up Organization
PPO1 Change Cost Center Assignment
PPO2 Display Cost Center Assignment
PPO3 Change Reporting Structure
PPO4 Display Reporting Structure
PPO5 Change Object Indicators (O/S)
PPO6 Change Object Indicators O/S
PPOA Display Menu Interface (with dyn.)
PPOC Create Organizational Unit
PPOM Maintain Organizational Plan
PPOS Display Organizational Plan
PQ01 Events for Work Center
PQ02 Events for Training Program
PQ03 Events for Job
PQ04 Events for Business Event Type
PQ06 Location Events
PQ07 Resource Events
PQ08 Events for External Person
PQ09 Events for Business Event Group
PQ10 Events for Organizational Unit
PQ11 Events for Qualification
PQ12 Resource Type Events
PQ13 Events for Position
PQ14 Events for Task
PQ15 Events for Company
PSO5 PD: Administration Tools
PSOA Work Center Reporting
PSOC Job Reporting
PSOG OrgManagement General Reporting
PSOI Tools Integration PA-PD
PSOO Organizational Unit Reporting
PSOS Position Reporting
PSOT Task Reporting
Recruitment
PB10 Init.entry of applicant master data
PB20 Display applicant master data
PB30 Maintain applicant master data
PB40 Applicant events
PB50 Display applicant actions
PB60 Maintain applicant actions
PB80 Evaluate vacancies
PBA0 Evaluate advertisements
PBA1 Applicant index
PBA2 List of applications
PBA3 Applicant vacancy assignment list
PBA4 Receipt of application
SAP-BASIS (T-codes) Transaction codes
Administration
AL11 Display SAP Directories
BD54 Maintain Logical Systems
OSS1 Logon to Online Service System
SALE IMG Application Link Enabling
SARA Archive Management
SCC3 Copy Analysis Log
SCC4 Client Administration
SCC5 Client Delete
SCC7 Client Import Post-Processing
SCC8 Client Export
SCC9 Remote client copy
SCCL Local Client Copy
SCU0 Customizing Cross-System Viewer
SICK Installation Check
SM01 Lock Transactions
SM02 System Messages
SM04 User Overview
SM12 Display and Delete Locks
SM13 Display Update Records
SM14 Update Program Administration
SM21 System Log
SM35 Batch Input Monitoring
SM50 Work Process Overview
SM51 List of SAP Servers
SM56 Number Range Buffer
SM58 Asynchronous RFC Error Log
SM59 RFC Destinations (Display/Maintain)
SM66 System Wide Work Process Overview
SAINT SAP Add-on Installation Tool
SPAM SAP Patch Manager (SPAM)
SPAU Display modified DE objects
SPDD Display modified DDIC objects
ST11 Display Developer Traces
ST22 ABAP/4 Runtime Error Analysis
SU56 Analyze User Buffer
Alert Monitoring
AL01 SAP Alert Monitor
AL02 Database alert monitor
AL04 Monitor call distribution
AL05 Monitor current workload
AL16 Local Alert Monitor for Operat.Syst.
AL18 Local File System Monitor
RZ20 CCMS Monitoring
Configuration
FILE Cross-Client File Names/Paths
RZ04 Maintain Operation Modes and Instances
RZ10 Maintenance of Profile Parameters
RZ11 Profile parameter maintenance
SE93 Maintain Transaction Codes
SM63 Display/Maintain Operating Mode Sets
SPRO Customizing: Initial Screen
SWU3 Consistency check: Customizing
Database Administration
DB01 Analyze exclusive lockwaits
DB02 Analyze tables and indexes
DB12 DB Backup Monitor
DB13 DBA Planning Calendar
DB15 Data Archiving: Database Tables
Jobs
SM36 Define Background Job
SM37 Background Job Overview
SM39 Job Analysis
SM49 Execute External OS commands
SM62 Maintain Events
SM64 Release of an Event
SM65 Background Processing Analysis Tool
SM69 Maintain External OS Commands
Monitoring
AL08 Current Active Users
OS01 LAN check with ping
RZ01 Job Scheduling Monitor
RZ03 Presentation, Control SAP Instances
ST01 System Trace
ST02 Setups/Tune Buffers
ST04 Select DB activities
ST05 Performance trace
ST06 Operating System Monitor
ST10 Table call statistics
ST03 Performance, SAP Statistics, Workload
ST07 Application monitor
STAT Local transaction statistics
STUN Performance Monitoring (not available in R/3 4.6x)
Spool
SP01 Output Controller
SP11 TemSe directory
SP12 TemSe Administration
SPAD Spool Administration
Transports
SCC1 Client Copy - Special Selections
SE01 Transport Organizer
SE06 Set Up Workbench Organizer
SE07 CTS Status Display
SE09 Workbench Organizer
SE10 Customizing Organizer
SE11 ABAP/4 Dictionary Maintenance
SE16 Data Browser
SE80 Repository Browser
SM30 Call View Maintenance
SM31 Table Maintenance
STMS Transport Management System
User Administration
PFCG Profile Generator (Activity Group Maintenance)
PFUD User Master Data Reconciliation
SU01 User Maintenance
SU01D User Display
SU02 Maintain Authorization Profiles
SU03 Maintain Authorizations
SU05 Maintain Internet users
SU10 User Mass Maintenance
SMLG Maintain Logon Group
SUPC Profiles for activity groups
SUIM Infosystem Authorizations
Other Transactions
AL22 Dependent objects display
BAOV Add-On Version Information
SA38 ABAP reporting
SE38 ABAP Editor
HIER Internal Application Component Hierarchy Maintenance
ICON Display Icons
WEDI IDoc and EDI Basis
WE02 IDoc display
WE07 IDoc statistics
WE20 Partner profiles
WE21 Port definition
WE46 IDoc administration
WE47 Status Maintenance
$TAB Refreshes the table buffers
$SYNC Refreshes all buffers, except the program buffer
AL11 Display SAP Directories
BD54 Maintain Logical Systems
OSS1 Logon to Online Service System
SALE IMG Application Link Enabling
SARA Archive Management
SCC3 Copy Analysis Log
SCC4 Client Administration
SCC5 Client Delete
SCC7 Client Import Post-Processing
SCC8 Client Export
SCC9 Remote client copy
SCCL Local Client Copy
SCU0 Customizing Cross-System Viewer
SICK Installation Check
SM01 Lock Transactions
SM02 System Messages
SM04 User Overview
SM12 Display and Delete Locks
SM13 Display Update Records
SM14 Update Program Administration
SM21 System Log
SM35 Batch Input Monitoring
SM50 Work Process Overview
SM51 List of SAP Servers
SM56 Number Range Buffer
SM58 Asynchronous RFC Error Log
SM59 RFC Destinations (Display/Maintain)
SM66 System Wide Work Process Overview
SAINT SAP Add-on Installation Tool
SPAM SAP Patch Manager (SPAM)
SPAU Display modified DE objects
SPDD Display modified DDIC objects
ST11 Display Developer Traces
ST22 ABAP/4 Runtime Error Analysis
SU56 Analyze User Buffer
Alert Monitoring
AL01 SAP Alert Monitor
AL02 Database alert monitor
AL04 Monitor call distribution
AL05 Monitor current workload
AL16 Local Alert Monitor for Operat.Syst.
AL18 Local File System Monitor
RZ20 CCMS Monitoring
Configuration
FILE Cross-Client File Names/Paths
RZ04 Maintain Operation Modes and Instances
RZ10 Maintenance of Profile Parameters
RZ11 Profile parameter maintenance
SE93 Maintain Transaction Codes
SM63 Display/Maintain Operating Mode Sets
SPRO Customizing: Initial Screen
SWU3 Consistency check: Customizing
Database Administration
DB01 Analyze exclusive lockwaits
DB02 Analyze tables and indexes
DB12 DB Backup Monitor
DB13 DBA Planning Calendar
DB15 Data Archiving: Database Tables
Jobs
SM36 Define Background Job
SM37 Background Job Overview
SM39 Job Analysis
SM49 Execute External OS commands
SM62 Maintain Events
SM64 Release of an Event
SM65 Background Processing Analysis Tool
SM69 Maintain External OS Commands
Monitoring
AL08 Current Active Users
OS01 LAN check with ping
RZ01 Job Scheduling Monitor
RZ03 Presentation, Control SAP Instances
ST01 System Trace
ST02 Setups/Tune Buffers
ST04 Select DB activities
ST05 Performance trace
ST06 Operating System Monitor
ST10 Table call statistics
ST03 Performance, SAP Statistics, Workload
ST07 Application monitor
STAT Local transaction statistics
STUN Performance Monitoring (not available in R/3 4.6x)
Spool
SP01 Output Controller
SP11 TemSe directory
SP12 TemSe Administration
SPAD Spool Administration
Transports
SCC1 Client Copy - Special Selections
SE01 Transport Organizer
SE06 Set Up Workbench Organizer
SE07 CTS Status Display
SE09 Workbench Organizer
SE10 Customizing Organizer
SE11 ABAP/4 Dictionary Maintenance
SE16 Data Browser
SE80 Repository Browser
SM30 Call View Maintenance
SM31 Table Maintenance
STMS Transport Management System
User Administration
PFCG Profile Generator (Activity Group Maintenance)
PFUD User Master Data Reconciliation
SU01 User Maintenance
SU01D User Display
SU02 Maintain Authorization Profiles
SU03 Maintain Authorizations
SU05 Maintain Internet users
SU10 User Mass Maintenance
SMLG Maintain Logon Group
SUPC Profiles for activity groups
SUIM Infosystem Authorizations
Other Transactions
AL22 Dependent objects display
BAOV Add-On Version Information
SA38 ABAP reporting
SE38 ABAP Editor
HIER Internal Application Component Hierarchy Maintenance
ICON Display Icons
WEDI IDoc and EDI Basis
WE02 IDoc display
WE07 IDoc statistics
WE20 Partner profiles
WE21 Port definition
WE46 IDoc administration
WE47 Status Maintenance
$TAB Refreshes the table buffers
$SYNC Refreshes all buffers, except the program buffer
SAP-ABAP (part-5) interview question and answers
What do you do with errors in BDC batch sessions?
We look into the list of incorrect session and process it again. To correct incorrect session we analyize the session to determine which screen and value produced the error.For small errors in data we correct them interactively otherwise modify batch input program that has generated the session or many times even the datafile.
How do you set up background jobs in SAP? What are the steps? What are the event driven batch jobs?
go to SM36 and create background job by giving job name,job class and job steps(JOB SCHEDULING)
Does SAP handle multiple currencies? Multiple languages?
Yes.
What is SAPscript and layout set
The tool which is used to create layout set is called SAPscript. Layout set is a design document.
What are the ABAP/4 commands that link to a layout set?
control commands,system commands,
What are IDOCs?
IDOCs are intermediate documents to hold the messages as a container.
What are screen painter? menu painter? Gui status? ..etc.
dynpro - flow logic + screens. menu painter - GUI Status - It is subset of the interface elements(title bar,menu bar,standard tool bar,push buttons) used for a certain screen. The status comprises those elements that are currently needed by the transaction.
What is screen flow logic?What are the sections in it? Explain PAI and PBO.
The control statements that control the screen flow. PBO - This event is triggered before the screen is displayed. PAI - This event is responsible for processing of screen after the user enters the data and clicks the pushbutton.
Overall how do you write transaction programs in SAP?
Create program-SE93-create transcode-Run it from command field.
What are step loops? How do you program pagedown pageup in step loops?
step loops are repeated blocks of field in a screen.
Is ABAP a GUI language?
Yes. ABAP IS AN EVENT DRIVEN LANGUAGE.
Normally how many and what files get created when a transaction program is written? What is the XXXXXTOP program?
ABAP/4 program. DYNPRO
What are the include programs?
When the same sequence of statements in several programs are to be written repeadly they are coded in include programs (External programs) and are included in ABAP/4 programs.
Can you call a subroutine of one program from another program?
Yes- only external subroutines Using 'SUBMIT' statement.
What are the general naming conventions of ABAP programs?
Should start with Y or Z.
How do you find if a logical database exists for your program requrements?
SLDB-F4.
How do you find the tables to report from when the user just tell you the transaction he uses? And all the underlying data is from SAP structures?
Transcode is entered in command field to open the table.Utilities-Table contents-display.
What are the different modules of SAP?
FI,CO,SD,MM,PP,HR.
How do you get help in ABAP?
HELP-SAP LIBRARY,by pressing F1 on a keyword.
What are the different elements in layout sets?
PAGES,Page windows,Header,Paragraph,Character String,Windows.
Can you use if then else, perform ..etc statements in sap script?
yes.
What takes most time in SAP script programming?
LAYOUT DESIGN AND LOGO INSERTION.
What are presentation and application servers in SAP?
The application layer of an R/3 System is made up of the application servers and the message server. Application programs in an R/3 System are run on application servers. The application servers communicate with the presentation components, the database, and also with each other, using the message server.
In an ABAP/4 program how do you access data that exists on a presentation server vs on an application server?
i)using loop statements. ii)flat
What are different data types in ABAP/4?
Elementary - predefined C,D,F,I,N,P,T,X. userdefined TYPES. ex: see in intel book page no 35/65
Structured - predefined TABLES. userdefined Field Strings and internal tables.
What is the structure of a BDC sessions.
BDCDATA (standard structure).
What are the fields in a BDC_Tab Table.
program,dynpro,dynbegin,fnam,fval.
What is the difference between a pool table and a transparent table and how they are stored at the database level
Pool tables is a logical representation of transparent tables .Hence no existence at database level. Where as transparent tables are physical tables and exist at database level.
What is cardinality?
For cardinality one out of two (domain or data element) should be the same for Ztest1 and Ztest2 tables. M:N
We look into the list of incorrect session and process it again. To correct incorrect session we analyize the session to determine which screen and value produced the error.For small errors in data we correct them interactively otherwise modify batch input program that has generated the session or many times even the datafile.
How do you set up background jobs in SAP? What are the steps? What are the event driven batch jobs?
go to SM36 and create background job by giving job name,job class and job steps(JOB SCHEDULING)
Does SAP handle multiple currencies? Multiple languages?
Yes.
What is SAPscript and layout set
The tool which is used to create layout set is called SAPscript. Layout set is a design document.
What are the ABAP/4 commands that link to a layout set?
control commands,system commands,
What are IDOCs?
IDOCs are intermediate documents to hold the messages as a container.
What are screen painter? menu painter? Gui status? ..etc.
dynpro - flow logic + screens. menu painter - GUI Status - It is subset of the interface elements(title bar,menu bar,standard tool bar,push buttons) used for a certain screen. The status comprises those elements that are currently needed by the transaction.
What is screen flow logic?What are the sections in it? Explain PAI and PBO.
The control statements that control the screen flow. PBO - This event is triggered before the screen is displayed. PAI - This event is responsible for processing of screen after the user enters the data and clicks the pushbutton.
Overall how do you write transaction programs in SAP?
Create program-SE93-create transcode-Run it from command field.
What are step loops? How do you program pagedown pageup in step loops?
step loops are repeated blocks of field in a screen.
Is ABAP a GUI language?
Yes. ABAP IS AN EVENT DRIVEN LANGUAGE.
Normally how many and what files get created when a transaction program is written? What is the XXXXXTOP program?
ABAP/4 program. DYNPRO
What are the include programs?
When the same sequence of statements in several programs are to be written repeadly they are coded in include programs (External programs) and are included in ABAP/4 programs.
Can you call a subroutine of one program from another program?
Yes- only external subroutines Using 'SUBMIT' statement.
What are the general naming conventions of ABAP programs?
Should start with Y or Z.
How do you find if a logical database exists for your program requrements?
SLDB-F4.
How do you find the tables to report from when the user just tell you the transaction he uses? And all the underlying data is from SAP structures?
Transcode is entered in command field to open the table.Utilities-Table contents-display.
What are the different modules of SAP?
FI,CO,SD,MM,PP,HR.
How do you get help in ABAP?
HELP-SAP LIBRARY,by pressing F1 on a keyword.
What are the different elements in layout sets?
PAGES,Page windows,Header,Paragraph,Character String,Windows.
Can you use if then else, perform ..etc statements in sap script?
yes.
What takes most time in SAP script programming?
LAYOUT DESIGN AND LOGO INSERTION.
What are presentation and application servers in SAP?
The application layer of an R/3 System is made up of the application servers and the message server. Application programs in an R/3 System are run on application servers. The application servers communicate with the presentation components, the database, and also with each other, using the message server.
In an ABAP/4 program how do you access data that exists on a presentation server vs on an application server?
i)using loop statements. ii)flat
What are different data types in ABAP/4?
Elementary - predefined C,D,F,I,N,P,T,X. userdefined TYPES. ex: see in intel book page no 35/65
Structured - predefined TABLES. userdefined Field Strings and internal tables.
What is the structure of a BDC sessions.
BDCDATA (standard structure).
What are the fields in a BDC_Tab Table.
program,dynpro,dynbegin,fnam,fval.
What is the difference between a pool table and a transparent table and how they are stored at the database level
Pool tables is a logical representation of transparent tables .Hence no existence at database level. Where as transparent tables are physical tables and exist at database level.
What is cardinality?
For cardinality one out of two (domain or data element) should be the same for Ztest1 and Ztest2 tables. M:N
SAP-ABAP (part-4) interview question and answers
Are programs client dependent?
Yes.Group of users can access these programs with a client no.
Name a few system global variables you can use in ABAP programs?
SY-SUBRC,SY-DBCNT,SY-LILLI,SY-DATUM,SY-UZEIT,SY-UCOMM,SY-TABIX..... SY-LILLI IS ABSOLUTE NO OF LINES FROM WHICH THE EVENT WAS TRIGGERED.
What are internal tables? How do you get the number of lines in an internal table? How to use a specific number occurs statement?
i)It is a standard data type object which exists only during the runtime of the program. They are used to perform table calculations on subsets of database tables and for re-organising the contents of database tables according to users need. ii)using SY-DBCNT. iii)The number of memory allocations the system need to allocate for the next record population.
How do you take care of performance issues in your ABAP programs?
Performance of ABAPs can be improved by minimizing the amount of data to be transferred. The data set must be transferred through the network to the applications, so reducing the amount OF time and also reduces the network traffic.
Some measures that can be taken are:
- Use views defined in the ABAP/4 DDIC (also has the advantage of better reusability). - Use field list (SELECT clause) rather than SELECT *. - Range tables should be avoided (IN operator) - Avoid nested SELECTS.
i)system tools
ii)field symbols and field groups. Field Symbols : Field symbols are placeholders for existing fields. A Field Symbol does not physically reserve space for a field,but points to a field which is not known until runtime of the program. eg:- FIELD-SYMBOL[].
Field groups : A field group combines several fields under one name.At runtime,the INSERT command is used to define which data fields are assigned to which field group. There should always be a HEADER field group that defines how the extracted data will be sorted,the data is sorted by the fields grouped under the HEADER field group.
What are datasets?
The sequential files(ON APPLICATION SERVER) are called datasets. They are used for file handling in SAP.
How to find the return code of a statement in ABAP programs?
Using function modules.
What are interface/conversion programs in SAP?
CONVERSION : LEGACY SYSTEM TO FLAT FILE. INTERFACE : FLAT FILE TO SAP SYSTEM.
What are logical databases? What are the advantages/disadvantages of logical databases?
To read data from a database tables we use logical database. A logical database provides read-only access to a group of related tables to an ABAP/4 program.
adv:- The programmer need not worry about the primary key for each table.Because Logical database knows how the different tables relate to each other,and can issue the SELECT command with proper where clause to retrieve the data. i)An easy-to-use standard user interface. ii)check functions which check that user input is complete,correct,and plausible. iii)meaningful data selection. iv)central authorization checks for database accesses. v)good read access performance while retaining the hierarchical data view determined by the application logic.
disadv:- i)If you donot specify a logical database in the program attributes,the GET events never occur. ii)There is no ENDGET command,so the code block associated with an event ends with the next event statement (such as another GET or an END-OF-SELECTION).
What specific statements do you using when writing a drill down report?
AT LINE-SELECTION,AT USER-COMMAND,AT PF.
What do you do when the system crashes in the middle of a BDC batch session?
we will look into the error log file (SM35).
Yes.Group of users can access these programs with a client no.
Name a few system global variables you can use in ABAP programs?
SY-SUBRC,SY-DBCNT,SY-LILLI,SY-DATUM,SY-UZEIT,SY-UCOMM,SY-TABIX..... SY-LILLI IS ABSOLUTE NO OF LINES FROM WHICH THE EVENT WAS TRIGGERED.
What are internal tables? How do you get the number of lines in an internal table? How to use a specific number occurs statement?
i)It is a standard data type object which exists only during the runtime of the program. They are used to perform table calculations on subsets of database tables and for re-organising the contents of database tables according to users need. ii)using SY-DBCNT. iii)The number of memory allocations the system need to allocate for the next record population.
How do you take care of performance issues in your ABAP programs?
Performance of ABAPs can be improved by minimizing the amount of data to be transferred. The data set must be transferred through the network to the applications, so reducing the amount OF time and also reduces the network traffic.
Some measures that can be taken are:
- Use views defined in the ABAP/4 DDIC (also has the advantage of better reusability). - Use field list (SELECT clause) rather than SELECT *. - Range tables should be avoided (IN operator) - Avoid nested SELECTS.
i)system tools
ii)field symbols and field groups. Field Symbols : Field symbols are placeholders for existing fields. A Field Symbol does not physically reserve space for a field,but points to a field which is not known until runtime of the program. eg:- FIELD-SYMBOL
Field groups : A field group combines several fields under one name.At runtime,the INSERT command is used to define which data fields are assigned to which field group. There should always be a HEADER field group that defines how the extracted data will be sorted,the data is sorted by the fields grouped under the HEADER field group.
What are datasets?
The sequential files(ON APPLICATION SERVER) are called datasets. They are used for file handling in SAP.
How to find the return code of a statement in ABAP programs?
Using function modules.
What are interface/conversion programs in SAP?
CONVERSION : LEGACY SYSTEM TO FLAT FILE. INTERFACE : FLAT FILE TO SAP SYSTEM.
What are logical databases? What are the advantages/disadvantages of logical databases?
To read data from a database tables we use logical database. A logical database provides read-only access to a group of related tables to an ABAP/4 program.
adv:- The programmer need not worry about the primary key for each table.Because Logical database knows how the different tables relate to each other,and can issue the SELECT command with proper where clause to retrieve the data. i)An easy-to-use standard user interface. ii)check functions which check that user input is complete,correct,and plausible. iii)meaningful data selection. iv)central authorization checks for database accesses. v)good read access performance while retaining the hierarchical data view determined by the application logic.
disadv:- i)If you donot specify a logical database in the program attributes,the GET events never occur. ii)There is no ENDGET command,so the code block associated with an event ends with the next event statement (such as another GET or an END-OF-SELECTION).
What specific statements do you using when writing a drill down report?
AT LINE-SELECTION,AT USER-COMMAND,AT PF.
What do you do when the system crashes in the middle of a BDC batch session?
we will look into the error log file (SM35).
SAP-APAB (part-3) interview question and answers
What are the events in ABAP/4 language?
Initialization, At selection-screen,Start-of-selection,end-of-selection,top-of-page,end-of-page, At line-selection,At user-command,At PF,Get,At New,At LAST,AT END, AT FIRST.
What is an interactive report? What is the obvious diff of such report compared with classical type reports?
An Interactive report is a dynamic drill down report that produces the list on users choice. diff:- a) THE LIST PRODUCED BY CLASSICAL REPORT DOESN'T allow user to interact with the system the list produced by interactive report allows the user to interact with the system. b) ONCE A CLASSICAL REPORT EXECUTED USER LOOSES CONTROL.IR USER HAS CONTROL. c) IN CLASSICAL REPORT DRILLING IS NOT POSSIBLE.IN INTERACTIVE DRILLING IS POSSIBLE.
What is a drill down report?
Its an Interactive report where in the user can get more relavent data by selecting explicitly.
How do you write a function module in SAP? describe.
creating function module:- called program - se37-creating funcgrp,funcmodule by assigning attributes,importing,exporting,tables,exceptions. calling program - SE38-in pgm click pattern and write function name- provide export,import,tables,exception values.
What are the exceptions in function module?
COMMUNICATION_FAILURE SYSTEM_FAILURE
What is a function group?
GROUP OF ALL RELATED FUNCTIONS.
How are the date and time field values stored in SAP?
DD.MM.YYYY. HH:MM:SS
Name a few data dictionary objects?
//rep// TABLES,VIEWS,STRUCTURES,LOCK OBJECTS,MATCHCODE OBJECTS.
What happens when a table is activated in DD?
It is available for any insertion,modification and updation of records by any user.
What is a check table and what is a value table?
Check table will be at field level checking. Value table will be at domain level checking ex: scarr table is check table for carrid.
What are match codes? describe?
It is a similar to table index that gives list of possible values for either primary keys or non-primary keys.
What are ranges? What are number ranges?
max,min values provided in selection screens.
What are select options and what is the diff from parameters?
select options provide ranges where as parameters do not.
SELECT-OPTIONS declares an internal table which is automatically filled with values or ranges of values entered by the end user. For each SELECT-OPTIONS , the system creates a selection table.
SELECT-OPTIONSFOR .
A selection table is an internal table with fields SIGN, OPTION, LOW and HIGH. The type of LOW and HIGH is the same as that of. The SIGN field can take the following values: I Inclusive (should apply) E Exclusive (should not apply) The OPTION field can take the following values: EQ Equal GT Greater than NE Not equal BT Between LE Less than or equal NB Not between LT Less than CP Contains pattern GE Greater than or equal NP No pattern. diff:- PARAMETERS allow users to enter a single value into an internal field within a report. SELECT-OPTIONS allow users to fill an internal table with a range of values.
For each PARAMETERS or SELECT-OPTIONS statement you should define text elements by choosing Goto - Text elements - Selection texts - Change.
Eg:- Parameters name(30). when the user executes the ABAP/4 program,an input field for 'name' will appear on the selection screen.You can change the comments on the left side of the input fields by using text elements as described in Selection Texts.
How do you validate the selection criteria of a report? And how do you display initial values in a selection screen?
validate :- by using match code objects. display :- Parametersdefault 'xxx'. select-options for spfli-carrid.
What is CTS and what do you know about it?
The Change and Transport System (CTS) is a tool that helps you to organize development projects in the ABAP Workbench and in Customizing, and then transport the changes between the SAP Systems and clients in your system landscape. This documentation provides you with an overview of how to manage changes with the CTS and essential information on setting up your system and client landscape and deciding on a transport strategy. Read and follow this documentation when planning your development project. For practical information on working with the Change and Transport System, see Change and Transport Organizer and Transport Management System.
Initialization, At selection-screen,Start-of-selection,end-of-selection,top-of-page,end-of-page, At line-selection,At user-command,At PF,Get,At New,At LAST,AT END, AT FIRST.
What is an interactive report? What is the obvious diff of such report compared with classical type reports?
An Interactive report is a dynamic drill down report that produces the list on users choice. diff:- a) THE LIST PRODUCED BY CLASSICAL REPORT DOESN'T allow user to interact with the system the list produced by interactive report allows the user to interact with the system. b) ONCE A CLASSICAL REPORT EXECUTED USER LOOSES CONTROL.IR USER HAS CONTROL. c) IN CLASSICAL REPORT DRILLING IS NOT POSSIBLE.IN INTERACTIVE DRILLING IS POSSIBLE.
What is a drill down report?
Its an Interactive report where in the user can get more relavent data by selecting explicitly.
How do you write a function module in SAP? describe.
creating function module:- called program - se37-creating funcgrp,funcmodule by assigning attributes,importing,exporting,tables,exceptions. calling program - SE38-in pgm click pattern and write function name- provide export,import,tables,exception values.
What are the exceptions in function module?
COMMUNICATION_FAILURE SYSTEM_FAILURE
What is a function group?
GROUP OF ALL RELATED FUNCTIONS.
How are the date and time field values stored in SAP?
DD.MM.YYYY. HH:MM:SS
Name a few data dictionary objects?
//rep// TABLES,VIEWS,STRUCTURES,LOCK OBJECTS,MATCHCODE OBJECTS.
What happens when a table is activated in DD?
It is available for any insertion,modification and updation of records by any user.
What is a check table and what is a value table?
Check table will be at field level checking. Value table will be at domain level checking ex: scarr table is check table for carrid.
What are match codes? describe?
It is a similar to table index that gives list of possible values for either primary keys or non-primary keys.
What are ranges? What are number ranges?
max,min values provided in selection screens.
What are select options and what is the diff from parameters?
select options provide ranges where as parameters do not.
SELECT-OPTIONS declares an internal table which is automatically filled with values or ranges of values entered by the end user. For each SELECT-OPTIONS , the system creates a selection table.
SELECT-OPTIONS
A selection table is an internal table with fields SIGN, OPTION, LOW and HIGH. The type of LOW and HIGH is the same as that of
For each PARAMETERS or SELECT-OPTIONS statement you should define text elements by choosing Goto - Text elements - Selection texts - Change.
Eg:- Parameters name(30). when the user executes the ABAP/4 program,an input field for 'name' will appear on the selection screen.You can change the comments on the left side of the input fields by using text elements as described in Selection Texts.
How do you validate the selection criteria of a report? And how do you display initial values in a selection screen?
validate :- by using match code objects. display :- Parameters
What is CTS and what do you know about it?
The Change and Transport System (CTS) is a tool that helps you to organize development projects in the ABAP Workbench and in Customizing, and then transport the changes between the SAP Systems and clients in your system landscape. This documentation provides you with an overview of how to manage changes with the CTS and essential information on setting up your system and client landscape and deciding on a transport strategy. Read and follow this documentation when planning your development project. For practical information on working with the Change and Transport System, see Change and Transport Organizer and Transport Management System.
SAP-ABAP (part-2) interview question and answers
What is the typical structure of an ABAP/4 program?
HEADER ,BODY,FOOTER.
What are field symbols and field groups.?
Have you used "component idx of structure" clause with field groups?
Field symbols:-
Field groups :-
What should be the approach for writing a BDC program?
STEP 1: CONVERTING THE LEGACY SYSTEM DATA TO A FLAT FILE to internal table CALLED "CONVERSION".
STEP 2: TRANSFERING THE FLAT FILE INTO SAP SYSTEM CALLED "SAP DATA TRANSFER".
STEP 3: DEPENDING UPON THE BDC TYPE i)call transaction(Write the program explicity)
ii) create sessions (sessions are created and processed.if success data will transfer).
What is a batch input session?
BATCH INPUT SESSION is an intermediate step between internal table and database table.
Data along with the action is stored in session ie data for screen fields, to which screen it is passed,program name behind it, and how next screen is processed.
What is the alternative to batch input session?
Call transaction.
A situation: An ABAP program creates a batch input session.
We need to submit the program and the batch session in back ground. How to do it?
go to SM36 and create background job by giving
job name,job class and job steps (JOB SCHEDULING)
What are the problems in processing batch input sessions?
How is batch input process different from processing online?
PROBLEMS:-
i) If the user forgets to opt for keep session then the session will be automatically removed from the session queue(log remains). However if session is processed we may delete it manually.
ii)if session processing fails data will not be transferred to SAP database table.
What are the different types of data dictionary objects?
tables, structures, views, domains, data elements, lock objects, Matchcode objects.
How many types of tables exists and what are they in data dictionary?
4 types of tables
i)Transparent tables - Exists with the same structure both in dictionary as well as in database exactly with the same data and fields. Both Opensql and Nativesql can be used.
ii)Pool tables & iii)Cluster tables -
These are logical tables that are arranged as records of transparent tables.one cannot use native sql on these tables
(only opensql).They are not managable directly using database system tools.
iv)Internal tables - .
What is the step by step process to create a table in data dictionary?
step 1: creating domains(data type,field length,range).
step 2: creating data elements(properties and type for a table
field).
step 3: creating tables(SE11).
Can a transparent table exist in data dictionary but not in the data base physically?
NO.
TRANSPARENT TABLE DO EXIST WITH THE SAME STRUCTURE BOTH IN THE DICTIONARY AS WELL AS IN THE DATABASE,EXACTLY WITH THE SAME DATA AND FIELDS.
What are the domains and data elements?
DOMAINS : FORMAL DEFINITION OF THE DATA TYPES.THEY SET ATTRIBUTES SUCH AS DATA TYPE,LENGTH,RANGE.
DATA ELEMENT : A FIELD IN R/3 SYSTEM IS A DATA ELEMENT.
Can you create a table with fields not referring to data elements?
YES. eg:- ITAB LIKE SPFLI.here we are referening to a data object(SPFLI) not data element.
What is the advantage of structures? How do you use them in the ABAP programs?
Adv:- GLOBAL EXISTANCE(these could be used by any other program without creating it again).
What does an extract statement do in the ABAP program?
Once you have declared the possible record types as field groups and defined their structure, you can fill the extract dataset using the following statements:
EXTRACT.
When the first EXTRACT statement occurs in a program, the system creates the extract dataset and adds the first extract record to it. In each subsequent EXTRACT statement, the new extract record is added to the dataset
EXTRACT HEADER.
When you extract the data, the record is filled with the current values of the corresponding fields.
As soon as the system has processed the first EXTRACT statement for a field group, the structure of the corresponding extract record in the extract dataset is fixed. You can no longer insert new fields into the field groups and HEADER. If you try to modify one of the field groups afterwards and use it in another EXTRACT statement, a runtime error occurs.
By processing EXTRACT statements several times using different field groups, you fill the extract dataset with records of different length and structure. Since you can modify field groups dynamically up to their first usage in an EXTRACT statement, extract datasets provide the advantage that you need not determine the structure at the beginning of the program.
What is a collect statement? How is it different from append?
If an entry with the same key already exists, the COLLECT statement does not append a new line, but adds the contents of the numeric fields in the work area to the contents of the numeric fields in the existing entry.
HEADER ,BODY,FOOTER.
What are field symbols and field groups.?
Have you used "component idx of structure" clause with field groups?
Field symbols:-
Field groups :-
What should be the approach for writing a BDC program?
STEP 1: CONVERTING THE LEGACY SYSTEM DATA TO A FLAT FILE to internal table CALLED "CONVERSION".
STEP 2: TRANSFERING THE FLAT FILE INTO SAP SYSTEM CALLED "SAP DATA TRANSFER".
STEP 3: DEPENDING UPON THE BDC TYPE i)call transaction(Write the program explicity)
ii) create sessions (sessions are created and processed.if success data will transfer).
What is a batch input session?
BATCH INPUT SESSION is an intermediate step between internal table and database table.
Data along with the action is stored in session ie data for screen fields, to which screen it is passed,program name behind it, and how next screen is processed.
What is the alternative to batch input session?
Call transaction.
A situation: An ABAP program creates a batch input session.
We need to submit the program and the batch session in back ground. How to do it?
go to SM36 and create background job by giving
job name,job class and job steps (JOB SCHEDULING)
What are the problems in processing batch input sessions?
How is batch input process different from processing online?
PROBLEMS:-
i) If the user forgets to opt for keep session then the session will be automatically removed from the session queue(log remains). However if session is processed we may delete it manually.
ii)if session processing fails data will not be transferred to SAP database table.
What are the different types of data dictionary objects?
tables, structures, views, domains, data elements, lock objects, Matchcode objects.
How many types of tables exists and what are they in data dictionary?
4 types of tables
i)Transparent tables - Exists with the same structure both in dictionary as well as in database exactly with the same data and fields. Both Opensql and Nativesql can be used.
ii)Pool tables & iii)Cluster tables -
These are logical tables that are arranged as records of transparent tables.one cannot use native sql on these tables
(only opensql).They are not managable directly using database system tools.
iv)Internal tables - .
What is the step by step process to create a table in data dictionary?
step 1: creating domains(data type,field length,range).
step 2: creating data elements(properties and type for a table
field).
step 3: creating tables(SE11).
Can a transparent table exist in data dictionary but not in the data base physically?
NO.
TRANSPARENT TABLE DO EXIST WITH THE SAME STRUCTURE BOTH IN THE DICTIONARY AS WELL AS IN THE DATABASE,EXACTLY WITH THE SAME DATA AND FIELDS.
What are the domains and data elements?
DOMAINS : FORMAL DEFINITION OF THE DATA TYPES.THEY SET ATTRIBUTES SUCH AS DATA TYPE,LENGTH,RANGE.
DATA ELEMENT : A FIELD IN R/3 SYSTEM IS A DATA ELEMENT.
Can you create a table with fields not referring to data elements?
YES. eg:- ITAB LIKE SPFLI.here we are referening to a data object(SPFLI) not data element.
What is the advantage of structures? How do you use them in the ABAP programs?
Adv:- GLOBAL EXISTANCE(these could be used by any other program without creating it again).
What does an extract statement do in the ABAP program?
Once you have declared the possible record types as field groups and defined their structure, you can fill the extract dataset using the following statements:
EXTRACT
When the first EXTRACT statement occurs in a program, the system creates the extract dataset and adds the first extract record to it. In each subsequent EXTRACT statement, the new extract record is added to the dataset
EXTRACT HEADER.
When you extract the data, the record is filled with the current values of the corresponding fields.
As soon as the system has processed the first EXTRACT statement for a field group
By processing EXTRACT statements several times using different field groups, you fill the extract dataset with records of different length and structure. Since you can modify field groups dynamically up to their first usage in an EXTRACT statement, extract datasets provide the advantage that you need not determine the structure at the beginning of the program.
What is a collect statement? How is it different from append?
If an entry with the same key already exists, the COLLECT statement does not append a new line, but adds the contents of the numeric fields in the work area to the contents of the numeric fields in the existing entry.
SAP R/3 Architecture interview question and answers
What guarantees the integration of all application modules?
The R/3 basis system guarantees the integration of all application modules. The R/3 basis s/w provides the run time environment for the R/3 applications ensures optimal integration, defines a stable architectural frame for system enhancements, and contains the administration tools for the entire system.One of the main tasks of the basis system is to guarantee the portability of the complete system.
What are the central interfaces of the R/3 system?
Presentation Interface.
Database Interface.
Operating system Interface.
Which interface controls what is shown on the p.c.?
Presentation Interface.
Which interface converts SQL requirements in the SAP development system to those of the database?
Database Interface.
What is SAP dispatcher?
SAP dispatcher is the control agent that manages the resources for the R/3 applications.
What are the functions of dispatcher?
Equal distribution of transaction load to the work processes.
Management of buffer areas in main memory.
Integration of the presentation levels.
Organization of communication activities.
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.
Name various work processes of R/3 system?
Dialog or Online (processes only one request at a time).
Background (Started at a specific time)
Update (primary or secondary)
Enque (Lock mechanism).
Spool (generated online or during back ground processing for printing).
Explain about the two services that are used to deal with communication.
Message Service: Used by the application servers to exchange short internal messages, all system communications.
Gateway Service: Enables communication between R/3 and external applications using CPI-C protocol.
Which work process triggers database changes?
Update work process.
Define service (within R/3)?
A service is a process or group of processes that perform a specific system function and often provide an application-programming interface for other processes to call.
What are the roll and page areas?
Roll and page areas are SAP R/3 buffers used to store user contexts (process requests). The SAP dispatcher assigns process requests to work processes as they are queued in the roll and page areas.
Paging area holds data from the application programs.
Roll area holds data from previous dialog steps and data that characterize the user.
What are the different layers in R/3 system?
Presentation Layer.
Application Layer.
Database Layer.
What are the phases of background processing?
Job Scheduling.
Job Processing.
Job Overview.
What components of the R/e system initiate the start of background jobs at the specified time?
The batch scheduler initiates the start of background job. The dispatcher then sends this request to an available background work process for processing.
Define Instance.
An instance is an administrative unit in which components of an R/3 systems providing one or more services are grouped together. The services offered by an instance are started and stopped at random. All components are parameterized using a joint instance profile. A central R/3 system consists of a single instance in which all-necessary SAP services are offered. Each instance uses separate buffer areas.
From hardware perspective, every information system can be divided into three task areas Presentation, Application Logic and Data Storage.
The R/3 Basis software is highly suitable for use in multi-level client/server architectures.
What are R/3 Basis configurations?
A central system with centrally installed presentation software.
Two-level client/server system with rolled out presentation software.
Two-level client/server system. Presentation and Application run on the same computer.
Three-level client/server system. Presentation, Application and database each run on separate computers.
What is a Service in SAP terminology?
A service refers to something offered by a s/w component.
What is Server in SAP terminology?
A component can consist of one process or a group and is then called the server for the respective service.
What is a client in SAP terminology?
A S/W component that uses the service (offered by a s/w component) is called a Client. At the same time these clients may also be servers for other services.
What is a SAP system?
The union of all s/w components that are assigned to the same databases is called as a SAP system.
What is the means of communications between R/3 and external applications?
The means of communication between R/2,R/3 and external applications is via the CPI-C handler or SAP Gateway, using the CPI-C Protocol.
What is the protocol used by SAP Gateway process?
The SAP Gateway process communicates with the clients based on the TCP/IP Protocol.
Expand CPI-C.
Common Program Interface Communication.
What is a Spool request?
Spool requests are generated during dialog or background processing and placed in the spool database with information about the printer and print format. The actual data is places in the Tem Se (Temporary Sequential objects).
What are different types of Log records?
V1 and V2. V1 must be processed before V2. But, we can have more than one V2 logs.
What are the types of Update requests?
An update request can be divided into one primary (V1) and several Secondary update components (V2). Time-critical operations are placed in V1 component and those whose timing is less critical are placed in V2 components. If a V1 update fails, V2 components will not be processed.
Dialog work process
Dialog work processes perform only one dialog step and then available for the next request.
Explain what is a transaction in SAP terminology.
In SAP terminology, a transaction is series of logically connected dialog steps.
Explain how SAP GUI handles output screen for the user.
The SAP front-end s/w can either run on the same computer or on different computers provided for that purpose. User terminal input is accepted by the SAP terminal program SAP GUI, converted to SAP proprietary format and sent to the SAP dispatcher. The dispatcher coordinates the information exchange between the SAP GUIs and the work processes. The dispatcher first places the processing request in request queues, which it then processes. The dispatcher dispatches the requests one after another, to the available work process. The actual processing takes place in the work process. When processing is complete, the result of a work process is returned via the dispatcher to the SAP GUI. The SAP GUI interprets the received data and generates the output screen for the user.
The R/3 basis system guarantees the integration of all application modules. The R/3 basis s/w provides the run time environment for the R/3 applications ensures optimal integration, defines a stable architectural frame for system enhancements, and contains the administration tools for the entire system.One of the main tasks of the basis system is to guarantee the portability of the complete system.
What are the central interfaces of the R/3 system?
Presentation Interface.
Database Interface.
Operating system Interface.
Which interface controls what is shown on the p.c.?
Presentation Interface.
Which interface converts SQL requirements in the SAP development system to those of the database?
Database Interface.
What is SAP dispatcher?
SAP dispatcher is the control agent that manages the resources for the R/3 applications.
What are the functions of dispatcher?
Equal distribution of transaction load to the work processes.
Management of buffer areas in main memory.
Integration of the presentation levels.
Organization of communication activities.
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.
Name various work processes of R/3 system?
Dialog or Online (processes only one request at a time).
Background (Started at a specific time)
Update (primary or secondary)
Enque (Lock mechanism).
Spool (generated online or during back ground processing for printing).
Explain about the two services that are used to deal with communication.
Message Service: Used by the application servers to exchange short internal messages, all system communications.
Gateway Service: Enables communication between R/3 and external applications using CPI-C protocol.
Which work process triggers database changes?
Update work process.
Define service (within R/3)?
A service is a process or group of processes that perform a specific system function and often provide an application-programming interface for other processes to call.
What are the roll and page areas?
Roll and page areas are SAP R/3 buffers used to store user contexts (process requests). The SAP dispatcher assigns process requests to work processes as they are queued in the roll and page areas.
Paging area holds data from the application programs.
Roll area holds data from previous dialog steps and data that characterize the user.
What are the different layers in R/3 system?
Presentation Layer.
Application Layer.
Database Layer.
What are the phases of background processing?
Job Scheduling.
Job Processing.
Job Overview.
What components of the R/e system initiate the start of background jobs at the specified time?
The batch scheduler initiates the start of background job. The dispatcher then sends this request to an available background work process for processing.
Define Instance.
An instance is an administrative unit in which components of an R/3 systems providing one or more services are grouped together. The services offered by an instance are started and stopped at random. All components are parameterized using a joint instance profile. A central R/3 system consists of a single instance in which all-necessary SAP services are offered. Each instance uses separate buffer areas.
From hardware perspective, every information system can be divided into three task areas Presentation, Application Logic and Data Storage.
The R/3 Basis software is highly suitable for use in multi-level client/server architectures.
What are R/3 Basis configurations?
A central system with centrally installed presentation software.
Two-level client/server system with rolled out presentation software.
Two-level client/server system. Presentation and Application run on the same computer.
Three-level client/server system. Presentation, Application and database each run on separate computers.
What is a Service in SAP terminology?
A service refers to something offered by a s/w component.
What is Server in SAP terminology?
A component can consist of one process or a group and is then called the server for the respective service.
What is a client in SAP terminology?
A S/W component that uses the service (offered by a s/w component) is called a Client. At the same time these clients may also be servers for other services.
What is a SAP system?
The union of all s/w components that are assigned to the same databases is called as a SAP system.
What is the means of communications between R/3 and external applications?
The means of communication between R/2,R/3 and external applications is via the CPI-C handler or SAP Gateway, using the CPI-C Protocol.
What is the protocol used by SAP Gateway process?
The SAP Gateway process communicates with the clients based on the TCP/IP Protocol.
Expand CPI-C.
Common Program Interface Communication.
What is a Spool request?
Spool requests are generated during dialog or background processing and placed in the spool database with information about the printer and print format. The actual data is places in the Tem Se (Temporary Sequential objects).
What are different types of Log records?
V1 and V2. V1 must be processed before V2. But, we can have more than one V2 logs.
What are the types of Update requests?
An update request can be divided into one primary (V1) and several Secondary update components (V2). Time-critical operations are placed in V1 component and those whose timing is less critical are placed in V2 components. If a V1 update fails, V2 components will not be processed.
Dialog work process
Dialog work processes perform only one dialog step and then available for the next request.
Explain what is a transaction in SAP terminology.
In SAP terminology, a transaction is series of logically connected dialog steps.
Explain how SAP GUI handles output screen for the user.
The SAP front-end s/w can either run on the same computer or on different computers provided for that purpose. User terminal input is accepted by the SAP terminal program SAP GUI, converted to SAP proprietary format and sent to the SAP dispatcher. The dispatcher coordinates the information exchange between the SAP GUIs and the work processes. The dispatcher first places the processing request in request queues, which it then processes. The dispatcher dispatches the requests one after another, to the available work process. The actual processing takes place in the work process. When processing is complete, the result of a work process is returned via the dispatcher to the SAP GUI. The SAP GUI interprets the received data and generates the output screen for the user.
Subscribe to:
Posts (Atom)