Monday, June 11, 2007

SAP Interview Questions And Answers

What is SAP?
SAP is the name of the company founded in 1972 under the German name (Systems, Applications, and Products in Data Processing) is the leading ERP (Enterprise Resource Planning) software package.

SAP Basics feature


* Configuration of the SAP modules
o Transaction SPRO - this is the main tree for all the configuration.
* Function Key
o F1 - Help
o F4 - Possible entries or matchcode for the field you are accessing
o F5 - Selection screen
o F7 - Previous screen
o F8 - Next screen
o F9 - Technical info
o CTRL+X - Cut
o CTRL+C - Copy
o CTRL+V - Paste
* Navigation
o /n Skip to the next record if you are processing one batch input session
o /bend Cancel a batch input foreground process
o /nend Close all R/3 sessions and logoff
o /nxxx x Call the transaction xxxx in the same session
o /o Generate a session list
o /oxxx x Call the transaction xxxx in an additional session
o /i Delete the current session
o /h Turn the debug mode on
o /$tab Reset all buffers (for System Administrators)
o /$syn c Synchronize instances buffers (for System Administrators)

In 4.x, you can have long SAP transaction code up to a maximum of 20 character

Different types of ERP ?
SAP, BAAN, JD Edwards, Oracle Financials, Siebel, PeopleSoft. Among all the ERP’s most of the companies implemented or trying to implement SAP because of number of advantages aver other ERP packages.

What is ERP?
ERP is a package with the techniques and concepts for the integrated management of business as a whole, for effective use of management resources, to improve the efficiency of an enterprise. Initially, ERP was targeted for manufacturing industry mainly for planning and managing core business like production and financial market. As the growth and merits of ERP package ERP software is designed for basic process of a company from manufacturing to small shops with a target of integrating information across the company.

Explain the concept of “Business Content” in SAP Business Information Warehouse?

Business Content is a pre-configured set of role and task-relevant information models based on consistent Metadata in the SAP Business Information Warehouse. Business Content provides selected roles within a company with the information they need to carry out their tasks. These information models essentially contain roles, workbooks, queries, InfoSources, InfoCubes, key figures, characteristics, update rules and extractors for SAP R/3, mySAP.com Business Applications and other selected applications.

Why do you usually choose to implement SAP?
There are number of technical reasons numbers of companies are planning to implement SAP. It’s highly configurable, highly secure data handling, min data redundancy, max data consistency, you can capitalize on economics of sales like purchasing, tight integration-cross function.

Can BW run without a SAP R/3 implementation?
Certainly. You can run BW without R/3 implementation. You can use pre-defined business content in BW using your non-SAP data. Here you simply need to map the transfer structures associated with BW data sources (InfoCubes, ODS tables) to the inbound data files or use 3rd part tool to connect your flat files and other data sources and load data in BW. Several third party ETL products such as Acta, Infomatica, DataStage and others will have been certified to load data in BW.

What is IDES?
International Demonstration and Education System. A sample application provided for faster learning and implementation.

What is WF and its importance?
Business Work Flow: Tool for automatic control and execution of cross-application processes. This involves coordinating the persons involved, the work steps required, the data, which needs to be processed (business objects). The main advantage is reduction in throughput times and the costs involved in managing business processes. Transparency and quality are enhanced by its use.

What is SAP R/3?
A third generation set of highly integrated software modules that performs common business function based on multinational leading practice. Takes care of any enterprise however diverse in operation, spread over the world. In R/3 system all the three servers like presentation, application server and database server are located at different system.

What are presentation, application and database servers in SAP R/3?
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. All the data are stored in a centralized server. This server is called database server.


What should be the approach for writing a BDC program?
Convert the legacy system data to a flat file and convert flat file into internal table. Transfer the flat file into sap system called “sap data transfer”. Call transaction(Write the program explicitly) or create sessions (sessions are created and processed ,if success data will transfer).

Explain open SQL vs native SQL?
ABAP Native SQL allows you to include database-specific SQL statements in an ABAP program. Most ABAP programs containing database-specific SQL statements do not run with different databases. If different databases are involved, use Open SQL. To execute ABAP Native SQL in an ABAP program, use the statement EXEC. Open SQL (Subset of standard SQL statements), allows you to access all database tables available in the R/3 System, regardless of the manufacturer. To avoid conflicts between database tables and to keep ABAP programs independent from the database system used, SAP has generated its own set of SQL statements known as Open SQL.

What are datasets?
The sequential files (processed on application server) are called datasets. They are used for file handling in SAP.

What are internal tables check table, value table, and transparent table?
Internal table: It is a standard data type object, which exists only during the runtime of the program. Check table: Check table will be at field level checking. Value table: Value table will be at domain level checking ex: scarr table is check table for carrid. Transparent table: - Exists with the same structure both in dictionary as well as in database exactly with the same data and fields.

What are the major benefits of reporting with BW over R/3? Would it be sufficient just to Web-enable R/3 Reports?
Performance — Heavy reporting along with regular OLTP transactions can produce a lot of load both on the R/3 and the database (cpu, memory, disks, etc). Just take a look at the load put on your system during a month end, quarter end, or year-end — now imagine that occurring even more frequently. Data analysis — BW uses a Data Warehouse and OLAP concepts for storing and analyzing data, where R/3 was designed for transaction processing. With a lot of work you can get the same analysis out of R/3 but most likely would be easier from a BW.

How can an ERP such as SAP help a business owner learn more about how business operates?

In order to use an ERP system, a business person must understand the business processes and how they work together from one functional area to the other. This knowledge gives the student a much deeper understanding of how a business operates. Using SAP as a tool to learn about ERP systems will require that the people understand the business processes and how they integrate.

What is the difference between OLAP and Data Mining?
OLAP - On line Analytical processing is a reporting tool configured to understand your database schema ,composition facts and dimensions . By simple point-n-clicking, a user can run any number of canned or user-designed reports without having to know anything of SQL or the schema. Because of that prior configuration, the OLAP engine “builds” and executes the appropriate SQL. Mining is to build the application to specifically look at detailed analyses, often algorithmic; even more often misappropriate called “reporting.

What is “Extended Star Schema” and how did it emerge?
The Star Schema consists of the Dimension Tables and the Fact Table. The Master Data related tables are kept in separate tables, which has reference to the characteristics in the dimension table(s). These separate tables for master data is termed as the Extended Star Schema.

Define Meta data, Master data and Transaction data ?
Meta Data: Data that describes the structure of data or MetaObjects is called Metadata. In other words data about data is known as Meta Data. Master Data: Master data is data that remains unchanged over a long period of time. It contains information that is always needed in the same way. Characteristics can bear master data in BW. With master data you are dealing with attributes, texts or hierarchies. Transaction data: Data relating to the day-to-day transactions is the Transaction data..


Name some drawbacks of SAP ?
Interfaces are huge problem, Determine where master data resides, Expensive, very complex, demands highly trained staff, lengthy implementation time.

What is Bex?
Bex stands for Business Explorer. Bex enables end user to locate reports, view reports, analyze information and can execute queries. The queries in workbook can be saved to there respective roles in the Bex browser. Bex has the following components: Bex Browser, Bex analyzer, Bex Map, Bex Web.

What are variables?
Variables are parameters of a query that are set in the parameter query definition and are not filled with values until the queries are inserted into workbooks. There are different types of variables which are used in different application: Characteristics variables, Hierarchies and hierarchy node, Texts, Formulas, Processing types, User entry/Default type, Replacment Path.

What is AWB?. What is its purpose?
AWB stands for Administrator WorkBench. AWB is a tool for controlling, monitoring and maintaining all the processes connected with data staging and processing in the business information whearhousing.

What is the significance of ODS in BIW?
An ODS Object serves to store consolidated and debugged transaction data on a document level (atomic level). It describes a consolidated dataset from one or more InfoSources. This dataset can be analyzed with a BEx Query or InfoSet Query. The data of an ODS Object can be updated with a delta update into InfoCubes and/or other ODS Objects in the same system or across systems. In contrast to multi-dimensional data storage with InfoCubes, the data in ODS Objects is stored in transparent, flat database tables.

What are the different types of source system?
SAP R/3 Source Systems, SAP BW, Flat Files and External Systems.

What is Extractor?
Extractors is a data retrieval mechanisms in the SAP source system. Which can fill the extract structure of a data source with the data from the SAP source system datasets. The extractor may be able to supply data to more fields than exist in the extract structure.

Describe how SAP handles Memory Management?
ST02 / ST03 In general via table buffers, you could go into the whole Work Process, roll in, roll out, heap (private) memory, etc. However just as a Unix or DBA admin would know, is you look this up when needed for the exact specifics.

Describe where they would look at the buffer statistics, and what steps they would use to adjust them?
ST02, RZ10 ...

Describe how to setup a printer in SAP or where they would look to research why a user/users can not print?
SPAD, SP01, SM50, SU01 ...

Can you create a table with fields not referring to data elements?
YES. eg:- ITAB LIKE SPFLI.here we are referring to a data object(SPFLI) not data element.
What are the different types of data dictionary objects? tables, structures, views, domains, data elements, lock objects, Match code objects.

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 are the problems in processing batch input sessions and 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 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.

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 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).

SAP R-3 Interview Questions And Answers


What is SAP R/3 ?
The name SAP a German company is an acronym for "Systeme, Anwendungen, Produkte in der Datenverarbeitung." This is translated in English as "Systems, Applications, and Products in Data Processing."

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 are the different types of data dictionary objects? tables, structures, views, domains, data elements, lock objects, Match code objects.

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 are the problems in processing batch input sessions and 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 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.

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 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).

What is the typical structure of an ABAP/4 program?
HEADER ,BODY,FOOTER.

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 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.

What is the alternative to batch input session?
Call transaction.

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 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).

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 open sql).They are not managable directly using database system tools.
iv)Internal tables - .?

SAP BDC Interview Questions And Answers


Difference between /N and /BEND ?
/BEND terminates the batch input processing and sets the session to be failed.
/N terminates the current batch input transaction.

SM35 transaction . How to automate BDC ?
After execution of batch input program , the session created is placed in the session queqe which can be viewed using SM35 transaction executing / Releseing the session will start the transfer of the data from the session into the database tables./

Update types in Call transaction method. What is the difference ?
At present with SAP we have only modes of updation
1.Synchronus Update.
2.Asynchronous Update.
There is no more Local Update.

What are the table controls in BDC ? What is the difference between bdc and lsmw ? What is the difference between bdc and rfc ?
BDC - Batch data communication in which there are 2 processes
1. in bound
2. outbound
RFC - remote fucntion call(or) calling

Data conversion experience?
DATA CONVERSIONS:
SAP HAS PROVIDED A TOOL NAMED LSMW WHICH CONVERTS THE LEGACY DATA INTO THE REQUIRED SAP FORMAT AND UPDATES THE DATABASE.

Open datasets, Read datasets ( Reading and writing data to files)?
Date Sets are nothing but files on Application Server,they can even be called as Sequential files.
Open Dataset
Is used to open required file on the application Server.
Read Dataset.
Is used to read the contents required file on the application Server.

How to do back ground processing in BDC Session method ?

goto sm35
select the option background process

Call transaction method, how to capture the errors ?
IN CALL TRANSACTION TO CAPTURE THE ERRORS WE SHOULD PERFORM THE FOLLOWING.
FIRST ME MUST DECLARE AN INTERNAL TABLE WITH THE STRUCTURE OF BDCMSGCOLL TABLE.
THEN WHILE WRITING THE CALL TRANSACTION STATEMENT WE SHOULD PUT THE 'E' MODE FOR CAPTURING ALL THE ERRORS.
THEN FINALLY THE CAPTURED ERRORS MUST TO SENT TO THE INTERNAL TABLE WHICH WE DECLARED IN THE BEGINNING WITH BDCMSGCOLL BY USING THE FUNCTION MODULE "FORMAT_MESSAGE"
AND THUS THE ERROR MESSAGES WILL BE SENT TO THE INTERNAL TABLE WHICH WE DECLARED AT THE BEGINNING.

How to load data from MS Excel sheet to SAP by using BDC method ?
KCD_EXCEL_OLE_TO_INT_CONVERT even takes care of blank cells and is available in older versions of SAP

* Add values to internal table
SORT t_cells BY row col.
LOOP AT t_cells INTO wa_cells.
MOVE : wa_cells-col TO l_index.
ASSIGN COMPONENT l_index OF STRUCTURE itab TO .
MOVE : wa_cells-value TO .
AT END OF row.
APPEND itab
CLEAR itab.
ENDAT.
ENDLOOP.

What is the difference between call transaction and session method?
Session method: The records are not added to the database until the session is processed. sy-subrc is not returned. Error logs are created for error records. Updation in database table is always Synchronous.

Call Transaction method: The records are immediately added to the database table. sy-subrc is returned to 0 if successful. Error logs are not created and hence the errors need to be handled explicitly. Updation in database table is either Synchronous or Asynchronous.

SM35 transaction . How to automate BDC ?
sm35 is used to play girls for better nightfalls.

What is the difference between Upload and WS_Upload ?
The diffrence between WS_Upload and Upload is when you use function Upload it prompts for a dailog box where in you need to key in the file location.Where as in case of WS_Upload you specify the file location in the function input parameters itself

If I want to execute a program only in background not in foreground is there any option for this?
The sm37 transaction can be used for running a program in the background. Also in the session method while processing the session you can specify the processing type as background or foreground.

What kind of BDC programs are written ?

There are five types of BDC methods available. They are 1.Batch input session 2.Call Transaction 3.Recording 4.Direct Input and 5.LSMW

How to read files and process BDCs automatically?
To read file from Presentation server use Upload or GUI Upload or WS upload and to read file from Application server use Opend Dataset,Read dataset and Close dataset

In session method sy-subrc is not returned whereas in call transaction method sy-subrc is returned . what does it mean?
While to transfer the data from the through if any errors occurs until the errors are the complete the data is not transfer to the SAP system.
the system compulsory shows the errors. that errors are stored into the error logs (Transaction is SM35).
so the session method should not return any value.
In call transaction method data is directly pass to the SAP system.
So its compulsory return the value.
Because of the call transaction is the function.
A function should return the value mandatory.

Recording Function
With recording, user can avoid manual search for fields and tables required in a program including screen numbers. SHDB is the transaction code.

BDC vs Direct Loads( have you used direct loads on SAP tables )
Direct loads is 5 times faster than uploading by normal BDC method. but some times while updating the database referential integrity is violated.

Have you set up a back ground job ? How to create a background job without a variant ?
Yes, user can create background job scheduling in two ways.

1. By calling the executable program RSBDCSUB
2. Transaction Code SM37

What are the tools used in SAP Implementation? How do you create Alert Messages?
One of the Tools being used for SAP Implemention is QuickSizer, which is used to size the SAP Server based on number of users using various modules in SAP.

Alert Message is created in the CCMS monitor using TCodes RZ20 and RZ21. The values for Alert AutoReaction Methods are defined using the TCode RZ21, while this particular method is assigned to the Monitoring Tree Element (MTE) in the TCode RZ20.

One as well can have an Alert Management System, where alerts from the Entire Landscape can be configured in a Central Monitoring System from where it can trigger a alert mail or SMS to the concerned Administrator

When spool buffer is full and new spool request is raised what happens to the request ? where does the request stored?
The new spool request will be in the queue. If it is urgent request then the current request will be be stoped and newrequest will be send.

What is the difference between R3trans and Tp in SAP-DBA?
R/3trans is the R/3 system transport program which can be used for transporting data between different SAP systems ,even when they dont belong to the same group. R3trans normally is not used directorly but called from the Tp controle program or by the R/3 upgrade. Tp is the basic tool for the transporting the request.

What is “Group by” in Select statement?
Answer1:
Group by is used to fetch a unique data from a column.

Answer2:
A "group by" is used to group selected rows in a table to perform arg functions on them. Rows not included in the "group by" clouse and not part of ARG functions cannot be used ...(logical grouping of data) or orerations performed (on groups of data) can be used with the "HAVING" clause to further refine the output.

ex of some ARG functions : SUM() , MIN(),MAX(), AVG()

Select statement to read data into internal tables. Types of Select statements

select * from database table into (internal table name)
the above statement collects data into the header area of the internal table.
and
select * from database table into table (internal table name)
the above statement collects the data into the body area directly .


Explain “Commit” and “Roll back”
The Oracle RDBMS provides a transaction model based on a unit of work. The PL/SQL language supports most, but not all, of the database model for transactions (you cannot, for example, ROLLBACK FORCE). Transactions begin with the first change to data and end with either a COMMIT or ROLLBACK.

COMMIT makes the database changes permanent and visible to other database sessions.

ROLLBACK undoes the changes made in the current transaction either to the beginning of the transaction or to a savepoint. A savepoint is a named processing point in a transaction, created with the SAVEPOINT statement. Rolling back to a savepoint is a partial rollback of a transaction, wiping out all changes (and savepoints) that occurred later than the named savepoint.

What happens “Update” command is used without where clause ?
Answer1:
It will update all the records with same name in the particular field of the table.

Answer2:
If we dont mention "WHERE" clause in the UPDATE statement, it will update all records satisfying the given condition (if given any ) in the table !

Answer3:
Based on query condition. it will update all the fields which are mentioned in the query.
ex: update employee set firstname= @firstname,lastname=@lastname where employee_id =@employee_id.
so in the above case nothing wil be happen if you used where clause or not.
if you have many statements in the query you need to use the where clause.

What are logical databases?
Answer1:
insert' will add a new record or a new row into the database table.
'Update' will modify a record in the DB table.
'Modify' it is a combination of both insert and update...

Answer2:
INSERT - Add a new record into the database table.
MODIFY - If record is available it modifies otherwise it wont modify.
UPDATE - If record is available its update the record otherwise it creates a new record.

Difference between “Insert”, “Update” and “Modify”
INSERT - Add a new record into the database table.
MODIFY - If record is available it modifies otherwise it wont modify.
UPDATE - If record is available its update the record otherwise it creates a new record.

“Catch” Command
Trying to catch any runtime errors programmatically or manually we use this statement catch.