Subscribe

RSS Feed (xml)

Powered By

Skin Design:
Free Blogger Skins

Powered by Blogger

Search Your Question

Showing posts with label sap interview questions. Show all posts
Showing posts with label sap interview questions. Show all posts

Thursday, May 29, 2008

ABAP Interview Questions

  1. What is an ABAP data dictionary?- ABAP 4 data dictionary describes the logical structures of the objects used in application development and shows how they are mapped to the underlying relational database in tables/views.
  2. What are domains and data element?- Domains:Domain is the central object for describing the technical characteristics of an attribute of an business objects. It describes the value range of the field. Data Element: It is used to describe the semantic definition of the table fields like description the field. Data element describes how a field can be displayed to end-user.
  3. What is foreign key relationship?- A relationship which can be defined between tables and must be explicitly defined at field level. Foreign keys are used to ensure the consistency of data. Data entered should be checked against existing data to ensure that there are now contradiction. While defining foreign key relationship cardinality has to be specified. Cardinality mentions how many dependent records or how referenced records are possible.
  4. Describe data classes.- Master data: It is the data which is seldomly changed. Transaction data: It is the data which is often changed. Organization data: It is a customizing data which is entered in the system when the system is configured and is then rarely changed. System data:It is the data which R/3 system needs for itself.
  5. What are indexes?- Indexes are described as a copy of a database table reduced to specific fields. This data exists in sorted form. This sorting form ease fast access to the field of the tables. In order that other fields are also read, a pointer to the associated record of the actual table are included in the index. Yhe indexes are activated along with the table and are created automatically with it in the database.
  6. Difference between transparent tables and pooled tables.- Transparent tables: Transparent tables in the dictionary has a one-to-one relation with the table in database. Its structure corresponds to single database field. Table in the database has the same name as in the dictionary. Transparent table holds application data. Pooled tables. Pooled tables in the dictionary has a many-to-one relation with the table in database. Table in the database has the different name as in the dictionary. Pooled table are stored in table pool at the database level.
  7. What is an ABAP/4 Query?- ABAP/4 Query is a powerful tool to generate simple reports without any coding. ABAP/4 Query can generate the following 3 simple reports: Basic List: It is the simple reports. Statistics: Reports with statistical functions like Average, Percentages. Ranked Lists: For analytical reports. - For creating a ABAP/4 Query, programmer has to create user group and a functional group. Functional group can be created using with or without logical database table. Finally, assign user group to functional group. Finally, create a query on the functional group generated.
  8. What is BDC programming?- Transferring of large/external/legacy data into SAP system using Batch Input programming. Batch input is a automatic procedure referred to as BDC(Batch Data Communications).The central component of the transfer is a queue file which receives the data vie a batch input programs and groups associated data into “sessions”.
  9. What are the functional modules used in sequence in BDC?- These are the 3 functional modules which are used in a sequence to perform a data transfer successfully using BDC programming: BDC_OPEN_GROUP - Parameters like Name of the client, sessions and user name are specified in this functional modules. BDC_INSERT - It is used to insert the data for one transaction into a session. BDC_CLOSE_GROUP - This is used to close the batch input session.
  10. What are internal tables?- Internal tables are 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.
  11. What is ITS? What are the merits of ITS?- ITS is a Internet Transaction Server. ITS forms an interface between HTTP server and R/3 system, which converts screen provided data by the R/3 system into HTML documents and vice-versa. Merits of ITS: A complete web transaction can be developed and tested in R/3 system. All transaction components, including those used by the ITS outside the R/3 system at runtime, can be stored in the R/3 system. The advantage of automatic language processing in the R/3 system can be utilized to language-dependent HTML documents at runtime.
  12. What is DynPro?- DynPro is a Dynamic Programming which is a combination of screen and the associated flow logic Screen is also called as DynPro.
  13. What are screen painter and menu painter?- Screen painter: Screen painter is a tool to design and maintain screen and its elements. It allows user to create GUI screens for the transactions. Attributes, layout, filed attributes and flow logic are the elements of Screen painter. Menu painter: Menu painter is a tool to design the interface components. Status, menu bars, menu lists, F-key settings, functions and titles are the components of Menu painters. Screen painter and menu painter both are the graphical interface of an ABAP/4 applications.
  14. What are the components of SAP scripts?- SAP scripts is a word processing tool of SAP which has the following components: Standard text. It is like a standard normal documents. Layout sets. - Layout set consists of the following components: Windows and pages, Paragraph formats, Character formats. Creating forms in the R/3 system. Every layout set consists of Header, paragraph, and character string. ABAP/4 program.
  15. What is ALV programming in ABAP? When is this grid used in ABAP?- ALV is Application List viewer. Sap provides a set of ALV (ABAP LIST VIEWER) function modules which can be put into use to embellish the output of a report. This set of ALV functions is used to enhance the readability and functionality of any report output. Cases arise in sap when the output of a report contains columns extending more than 255 characters in length. In such cases, this set of ALV functions can help choose selected columns and arrange the different columns from a report output and also save different variants for report display. This is a very efficient tool for dynamically sorting and arranging the columns from a report output. The report output can contain up to 90 columns in the display with the wide array of display options.
  16. 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.
  17. 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.
  18. What are logical databases? What are the advantages/ dis-advantages 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. Advantages: i)check functions which check that user input is complete, correct,and plausible. ii)Meaningful data selection. iii)central authorization checks for database accesses. iv)good read access performance while retaining the hierarchical data view determined by the application logic. dis advantages: 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).
  19. 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.
  20. How to upload data using CATT ?- These are the steps to be followed to Upload data through CATT: Creation of the CATT test case & recording the sample data input. Download of the source file template. Modification of the source file. Upload of the data from the source file.
  21. What is Smart Forms?- Smart Forms allows you to create forms using a graphical design tool with robust functionality, color, and more. Additionally, all new forms developed at SAP will be created with the new Smart Form solution.
  22. How can I make a differentiation between dependent and independent data?- Client dependent or independent transfer requirements include client specific or cross client objects in the change requests. Workbench objects like SAPscripts are client specific, some entries in customizing are client independent. If you display the object list for one change request, and then for each object the object attributes, you will find the flag client specific. If one object in the task list has this flag on, then that transport will be client dependent.
  23. What is the difference between macro and subroutine?- Macros can only be used in the program the are defined in and only after the definition are expanded at compilation / generation. Subroutines (FORM) can be called from both the program the are defined in and other programs . A MACRO is more or less an abbreviation for some lines of code that are used more than once or twice. A FORM is a local subroutine (which can be called external). A FUNCTION is (more or less) a subroutine that is called external. Since debugging a MACRO is not really possible, prevent the use of them (I’ve never used them, but seen them in action). If the subroutine is used only local (called internal) use a FORM. If the subroutine is called external (used by more than one program) use a FUNCTION.
  1. What is a breakpoint ?
    Breakpoint is used to help the user scrutinize how the system behaves at a certain point in the ABAP code. At that point the system goes into debug mode. This breakpoint is useful in investigating how routines and requirements function. By accessing the routine source code and setting a breakpoint at its execution point, a user can follow the routine through each step.

25. What is a CATT ?
CATT means Computer Aided Test Tool. It is SAP's tool for processing transactions automatically. CATT is used in bringing in data, such as a mass maintenance of the material master in EXCEL, from an application to modify master data.

26. What is a user exit ?
User exit is a point in an SAP program at which a customer's own program can be called. User exits allow developers to access program components and data objects in the standard system. There are two types of user exits -
user exits that use includes (customer enhancements that are called from the program)
and user exits that use tables, which are used and managed directly via customizing.

27. What is a client ?
Client in a SAP work environment is the highest organizational structure. Many clients can be found in each system. QA (quality analysis) and Development are clients in Training and Production system.

28. What is an authorization ?
Authorization gives an SAP user permission to perform a given set of transactions.

29. Who is a user ?
Anyone who is given access to the SAP system by the system (basis) administrator is known as a user.

30. What is a variant ?
When executing a program, different selection parameters may be used. These selection parameters are stored in the SAP system as variants.

31. What is a SQL trace ?
SQL trace records all open, prepare, fetch, execute and actual SQL statements and the duration time for each step in a procedure.

32. What is master data ?
Master data is used in an SAP system to represent the basic components of a procedure and to ensure data integrity throughout the SAP business process. This gaurantees that one common record is accessed for different procedures. Example - a customer master record may be referenced by more than one functional module : FI (financial) and SD (sales and distribution).

  1. What is the IMG ?
    IMG is Implementation Guide that SAP system developers use to customize the client they are working in.
  2. What is ASAP ?
    ASAP is Accelerated SAP, a project management software tool that is used on SAP implementations to guide the project through different phases. ASAP can take a project from the designing of the "blueprint" through to "going live". Accelerated SAP is SAP’s total process-oriented solution for accelerated implementation and continuous optimization of R/3.
  3. What are the core modules of SAP ?
    The core functional modules in SAP R/3 are Financial Accounting (FI) usually in combination with Controlling (CO) or Treasury (TR) - Human Resources (HR), and logistic modules : Sales and Distribution (SD), Materials Management (MM), Quality Management (QM), Plant Maintenance (PM), and Production Planning (PP).
  4. What is the ABAP Workbench?
    ABAP Workbench is SAP's graphical programming environment. It is used to write ABAP code, design screens, create user interfaces, obtain database information, debug and test applications for effeciency.
  5. In the SD document, what are the three levels of a sales document?
    Each sales document comprises of three main levels and each level is represented by a table that holds the data for that level. Data for the header level is stored in table VBAK, data for the item levels is stored in table VBAP, and data for the schedule line level is stored in table VBEP.
  6. What is a user profile?
    User profile is a set of authorizations that enable user access to certain parts of the SAP system.
  7. What is a sales area ?
    Sales area is a segment that combines the sales organization, the distribution channel, and the sales division.
  8. What is a logical database ?
    Logical database is an ABAP program that combines the contents of database tables. It is linked to an ABAP report program as one of the program attributes. It supplies the report program with a set of hierarchically structured table entires derived from different database tables. This saves the developer from having to program the data retrieval.
  9. What is a requirement ?
    Requirement is a portion of code that is used to determine if a function or formula should be executed.
  10. What is an ABAP Query ?
    ABAP Query is a reporting tool that uses a logical database (LDB), individual table, or combined tables to form a report.
  11. What is a functional area ?
    Functional area is assigned to the query. It is the representation of a logical database or tables with their respective table joins. This defines which tables and fields the query can reference.
  12. What is a batch input ?
    Batch input facility in SAP is a convenient tool for capturing data into SAP or updating large amounts of information in SAP transactions. The simplest way to utilize batch input is by : 1) Record the batch input for the transaction used to enter the data in SAP; 2) Then export the batch input recording to a text file. From the recording, you know what data is required. Create a spreadsheet or word processor document containing all the data to be captured or changed. Then mail merge the exported text file with the data in a word processing program. Finally, import the merged file, upload the file into SAP, and execute the batch input in SAP.
  13. What is LIS ?
    LIS is Logistics Information System. LIS consists of following information systems -
    Sales Information System
    Purchasing Information System
    Inventory Controlling
    Shop Floor Information System
    Plant Maintenance Information System
    Quality Management Information System
    These information systems can be used to plan, control, and monitor business events at different stages in the decision-making process. They are flexible tools for collecting, aggregating, and analyzing data from the operative applications.
  14. What is OSS ?
    OSS is an Online Service System which can be used to access information about a module in a given release. OSS is a database of notes on known issues and their remedies. Any user with a logon name and password can access this information. OSS can be used to obtain quick responses from the SAP help desk representatives, administration and registration of new users.
  15. What is an SAP GUI ?
    GUI means Graphical User Interface. It is responsible for the graphical layout of the SAP software. GUIs in SAP R/3 differ from version to version of SAP.
  16. What is the typical structure of an ABAP/4 program?
    ANS:-
    HEADER ,BODY,FOOTER.
  17. What are field symbols and field groups.?
    Have you used "component idx of structure" clause with field groups?
    ANS:-
    Field symbols:- Field groups :-
  18. What should be the approach for writing a BDC program?
    ANS:-
    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).
  19. What is a batch input session?
    ANS:-
    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.
  20. What is the alternative to batch input session?
    ANS:-
    Call transaction.
  21. 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?
    ANS:-
    go to SM36 and create background job by giving
    job name,job class and job steps (JOB SCHEDULING)
  22. What are the problems in processing batch input sessions?
    How is batch input process different from processing online?
    ANS:-
    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.
  23. What are the different types of data dictionary objects?
    ans:-
    tables, structures, views, domains, data elements, lock objects, Matchcode objects.
  24. How many types of tables exists and what are they in data dictionary?
    ans :-
    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.
  25. iv)Internal tables - .
  26. What is the step by step process to create a table in data dictionary?
    ans:-
    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).
  27. Can a transparent table exist in data dictionary but not in the data base physically?
    ANS:- 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.
  28. What are the domains and data elements?
    ANS:-
    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.
  29. Can you create a table with fields not referring to data elements?
    ANS:-
    YES. eg:- ITAB LIKE SPFLI.here we are referening to a data object(SPFLI) not data element.
  30. What is the advantage of structures? How do you use them in the ABAP programs?
    ANS:-
    Adv:- GLOBAL EXISTANCE(these could be used by any other program without creating it again).
  31. What does an extract statement do in the ABAP program?
    ANS:-
    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.
  1. What is a collect statement? How is it different from append?
    ANS:-
    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.
  2. What is open sql vs native sql?
    ANS:-
    Open SQL , native SQL are the interfaces to create the database applicatons.
    Open SQL is consistant across different types of existing Databases.
    Native SQL is the database language specific to database.Its API is specific to the databse.
    Open SQL API is consistent across all vendors
  3. What does an EXEC SQL stmt do in ABAP? What is the disadvantage of using it?
    ANS:-
  4. What is the meaning of ABAP/4 editor integrated with ABAP/4 data dictionary?
    ANS:-
  5. What are the events in ABAP/4 language?
    ANS:-
    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.
  6. What is an interactive report?
    What is the obvious diff of such report compared with classical type reports?
    ANS:-
    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.
  7. What is a drill down report?
    ANS:-
    Its an Interactive report where in the user can get more relavent data by selecting explicitly.
  8. How do you write a function module in SAP? describe.
    ANS:-
    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.
  9. What are the exceptions in function module?
    ANS:-
    COMMUNICATION_FAILURE
    SYSTEM_FAILURE
  10. What is a function group?
    ANS:-
    GROUP OF ALL RELATED FUNCTIONS.
  11. How are the date and time field values stored in SAP?
    ANS:-
    DD.MM.YYYY. HH:MM:SS
  12. Name a few data dictionary objects? //rep//
    ANS:-
    TABLES,VIEWS,STRUCTURES,LOCK OBJECTS,MATCHCODE OBJECTS.
  13. What happens when a table is activated in DD?
    ANS:-
    It is available for any insertion,modification and updation of records by any user.
  14. 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.
  15. What are match codes? describe?
    ans:-
    It is a similar to table index that gives list of possible values for either primary keys or non-primary keys.
  16. What transactions do you use for data analysis?
    ANS:-
  17. What is table maintenance generator?
    ANS:-
  18. What are ranges? What are number ranges?
    ANS:-
    max,min values provided in selection screens.
  19. What are select options and what is the diff from parameters?

ANS:-
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 FOR .

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.

  1. How do you validate the selection criteria of a report?
    And how do you display initial values in a selection screen?
    ANS:-
    validate :- by using match code objects.
    display :- Parameters default 'xxx'.
    select-options for spfli-carrid.
  2. What are selection texts?

  3. What is CTS and what do you know about it?

  4. 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.
  5. When a program is created and need to be transported to prodn does selection texts always go with it? if not how do you make sure? Can you change the CTS entries? How do you do it?
    ANS:-
  6. What is the client concept in SAP? What is the meaning of client independent?
    ANS:-
  7. Are programs client dependent?
    ANS:-
    Yes.Group of users can access these programs with a client no.
  8. Name a few system global variables you can use in ABAP programs?
    ANS:-
    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.
  9. What are internal tables? How do you get the number of lines in an internal table?
    How to use a specific number occurs statement?
    ANS:-
    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.
  10. 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.
ans:-
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.

  1. What are datasets?
    ANS:-
    The sequential files(ON APPLICATION SERVER) are called datasets. They are used for file handling in SAP.
  2. How to find the return code of a statement in ABAP programs?
    ANS:-
    Using function modules.
  3. What are interface/conversion programs in SAP?
    ANS :
    CONVERSION : LEGACY SYSTEM TO FLAT FILE.
    INTERFACE : FLAT FILE TO SAP SYSTEM.
  4. Have you used SAP supplied programs to load master data?
  5. What are the techniques involved in using SAP supplied programs?
    Do you prefer to write your own programs to load master data? Why?
  6. What are logical databases? What are the advantages/disadvantages of logical databases?
    ANS:-
    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.
    advantages:-
    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.
    disadvantages:-
    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).
  7. What specific statements do you using when writing a drill down report?
    ans:-
    AT LINE-SELECTION,AT USER-COMMAND,AT PF.
  8. What are different tools to report data in SAP? What all have you used?
    ans:-
  9. What are the advantages and disadvantages of ABAP/4 query tool?
  10. What are the functional areas? User groups? and how does ABAP/4 query work in relation to these?
  11. Is a logical database a requirement/must to write an ABAP/4 query?
  12. What are Change header/detail tables? Have you used them?
  13. What do you do when the system crashes in the middle of a BDC batch session?
    ans:-
    we will look into the error log file (SM35).
  14. What do you do with errors in BDC batch sessions?
    ANS:-
    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.
  15. How do you set up background jobs in SAP? What are the steps? What are the event driven batch jobs?
    ans:-
    go to SM36 and create background job by giving job name,job class and job steps(JOB SCHEDULING)
  16. Is it possible to run host command from SAP environment? How do you run?
  17. What kind of financial periods exist in SAP? What is the relavent table for that?
  18. Does SAP handle multiple currencies? Multiple languages?
    ans:-Yes.
  19. What is a currency factoring technique?
  20. How do you document ABAP/4 programs? Do you use program documentation menu option?
  21. What is SAPscript and layout set?
    ans:-
    The tool which is used to create layout set is called SAPscript. Layout set is a design document.
  22. What are the ABAP/4 commands that link to a layout set?
    ans:-
    control commands,system commands,
  23. What is output determination?
  24. What are IDOCs?
    ans:-
    IDOCs are intermediate documents to hold the messages as a container.
  25. What are screen painter? menu painter? Gui status? ..etc.
ans:-
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.
118.What are screen painter? menu painter? Gui status?
ans:-
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.
119. What is screen flow logic? What are the sections in it? Explain PAI and PBO.
ans:-
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.
120. Overall how do you write transaction programs in SAP?
ans:-
Create program-SE93-create transcode-Run it from command field.
121. Does SAP has a GUI screen painter or not? If yes what operating systems is it available on? What is the other type of screen painter called?
122. What are step loops? How do you program pagedown pageup in step loops?
ans:-
step loops are repeated blocks of field in a screen.
123. Is ABAP a GUI language?
ANS:-
Yes.
ABAP IS AN EVENT DRIVEN LANGUAGE.
124. Normally how many and what files get created when a transaction program is written?
What is the XXXXXTOP program?
ans:-
ABAP/4 program.
DYNPRO
125. What are the include programs?
ANS:-
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.
126. Can you call a subroutine of one program from another program?
ans:- Yes- only external subroutines Using 'SUBMIT' statement.
127. . What are user exits? What is involved in writing them? What precations are needed?
128. What are RFCs? How do you write RFCs on SAP side?
129. What are the general naming conventions of ABAP programs?
ANS:-
Should start with Y or Z.
130. How do you find if a logical database exists for your program requrements?
ans:-
SLDB-F4.
131. 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?
ans:-
Transcode is entered in command field to open the table.Utilities-Table contents-display.
132. How do you find the menu path for a given transaction in SAP?
ans:-
133. What are the different modules of SAP?
ans:-
FI,CO,SD,MM,PP,HR.
134. How do you get help in ABAP?
ans:-
HELP-SAP LIBRARY,by pressing F1 on a keyword.
135. What are different ABAP/4 editors? What are the differences?
ans:-
136. What are the different elements in layout sets?
ans:-
PAGES,Page windows,Header,Paragraph,Character String,Windows.
137. Can you use if then else, perform ..etc statements in sap script?
ans:-
yes.
138. What type of variables normally used in sap script to output data?
139. How do you number pages in sapscript layout outputs?
140. What takes most time in SAP script programming?
ANS:-
LAYOUT DESIGN AND LOGO INSERTION.
141. How do you use tab sets in layout sets?
142. How do you backup sapscript layout sets? Can you download and upload? How?
  1. What are presentation and application servers in SAP?
    ANS:-
    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.
  2. In an ABAP/4 program how do you access data that exists on a presentation server vs on an application server?
    ans:-
    i)using loop statements.
    ii)flat
  3. What are different data types in ABAP/4?
    ans:-
    Elementary -
    predefined C,D,F,I,N,P,T,X.
    userdefined TYPES.
    ex: see in intel book page no 35/65
  4. Structured -
    predefined TABLES.
    userdefined Field Strings and internal tables.
  5. What is difference between session method and Call Transaction?

  6. Setting up a BDC program where you find information from?

  7. What has to be done to the packed fields before submitting to a BDC session.
    ans:-
    fields converted into character type.
  8. What is the structure of a BDC sessions.
    ans:-
    BDCDATA (standard structure).
  9. What are the fields in a BDC_Tab Table.
    ans:-
    program,dynpro,dynbegin,fnam,fval.
  10. What do you define in the domain and data element.
    Technical details like
  11. What is the difference between a pool table and a transparent table and how they are stored at the database level.
    ans:-
    ii)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.
  12. What is cardinality?
For cardinality one out of two (domain or data element) should be the same for Ztest1 and Ztest2 tables. M:N
Cardinality specifies the number of dependent(Target) and independent (source) entities which can be in a relationship

SAP Interview Questions

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

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

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

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

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

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

7. What is the typical structure of an ABAP/4 program?

HEADER ,BODY,FOOTER.

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

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

10. What is the alternative to batch input session?

Call transaction.

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

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

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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. What is IDES? - International Demonstration and Education System. A sample application provided for faster learning and implementation.
  8. 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.
  9. 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.
  10. 24. 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.
    25. 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).
    26. 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.
    27. What are datasets? - The sequential files (processed on application server) are called datasets. They are used for file handling in SAP.
    28. 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.
    29. 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.
    30. 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.
    31. 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.
  11. 32. 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.
    33. 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.
    34. Name some drawbacks of SAP - Interfaces are huge problem, Determine where master data resides, Expensive, very complex, demands highly trained staff, lengthy implementation time.
    35. 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.
    36. 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.
    37. 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.
    38. 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.
    39. What are the different types of source system? - SAP R/3 Source Systems, SAP BW, Flat Files and External Systems.
    40. 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.

SAP-ABAP interview questions

SAP TERMINOLOGY

Master data is a collection of information about a person or an object, e.g. a cost object, vendor, or G/L account. For example, a vendor master record contains not only general information such as the vendor's name and address, but also specific information, such as payment terms and delivery instructions. Generally for end users, master data is reference data that you will look up and use, but not create or change.

Transactional data is data related to a single business event such as a purchase requisition or a request for payment. When you create a requisition, for example, SAP creates an electronic document for that particular transaction. SAP gives the transaction a document number and adds the document to the transaction data that is already in the system. Whenever you complete a transaction in SAP, that is, when you create, change, or print a document in SAP, this document number appears at the bottom of the screen.

Workflow A routing tool in SAP that forwards documents for review or approval. For example, a requisition that needs to be approved is sent to the appropriate approver's inbox.Workflow is also used to route journal vouchers, credit card charges, and other documents in SAP.

Cost Object: A Cost Object collects expenses and revenues for a particular purpose, such as a research project. In SAP there are three types of cost objects: Cost Center, Internal Order, and WBS (Work Breakdown Structure) Element (see below for definition).

Cost Center: General or operating Cost Objects are known in SAP as Cost Centers. Cost Centers are budgeted on the fiscal year.

Internal Order: A non-sponsored Cost Object (for example, funding from the MIT Provost) used to track costs over periods other than fiscal years. Internal Orders are often created to track gifts or endowments at MIT.

WBS Element: WBS Elements are funded by outside sponsors and are used to track costs of a particular research project over the entire span of its activity. They may also be created to track other sponsored activities, such as gifts.

G/L Account: G/L accounts are also called Cost Elements in SAP. They are a classification by expense or revenue type. In the CO (Controlling) module of SAP, the term Cost Element is used. In the FI
(Financial) module, the term G/L Account is used. These terms are used interchangeably for reporting, requisitions, and journal vouchers.
Database tables and open SQL Add a single record to a database table insert into values Inserting all lines from an internal table into a database table: insert from table Delete all records Select * from zmellemtab. delete zmellemtab. endselect. Deleting records using records from an internal table delete employees from table itab.

Q & A BASIS LAYER

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 which 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 activies

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 ?
1) Dialog or Online ( processes only one request at a time )
2) Background ( started at a specified time ) 3) Update ( primary or secondary ) 4) Enque( lock mechanism ) 5) Spool ( generated online or during back ground processing For printing )

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 are less critical are placed in V2 components. If a V1 update fails, V2 components will not be processed.

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 received. If the work process is unavailable the process requests 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 characterizes user.

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 placed in the Tem Se (Temporary Sequential objects).

What are the different database integrities ?
- Semantic integrity
- Relational integrity
- Primary key integrity
- Value set integrity
- Foreign key integrity and
- Operational integrity.

DATA DICTIONARY .

Type of a table or structure
The table type determines how the logical table description defined in the ABAP/4 Dictionary is reproduced on the database. There are the following table types:

  1. transparent table
  2. structure
  3. append structure
For internal purposes, such as storing control data or update texts, there are in addition the following table types:


  1. pooled table
  2. cluster table
  3. generated view structure

Transparent table There is a physical table on the database for each transparent table. The names of the physical tables and the logical table definition in the ABAP/4 Dictionary correspond. All business data and application data are stored in transparent tables.

Structure No data records exist in the database for a structure. Structures are used for the interface definition between programs or between screens and programs.

Append structure An append structure defines a set of fields which belong to another table or structure but which are treated in the correction administration as its own object. Append structures are used to support modifications.

Pooled table Pooled tables can be used to store control data (e.g. screen sequences, program parameters or temporary data). Several pooled tables can be combined to form a table pool. The table pool corresponds to a physical table on the database in which all the records of the allocated pooled tables are stored.

Cluster table Cluster tables contain continuous text, for example, documentation. Several cluster tables can be combined to form a table cluster. Several logical lines of different tables are combined to form a physical record in this table type. This permits object-by-object storage or object-by-object access. In order to combine tables in clusters, at least parts of the keys must agree. Several cluster tables are stored in one corresponding table on the database.

Generated view structure In activation a structure is generated for a view. This structure serves as interface for the runtime environment. It does not generally appear in the ABAP/4 Dictionary.

What is a Data Class?

The Data class determines in which tablespace the table is stored when it is created in the database. What is a Size Category? The Size category describes the probable space requirement of the table in the database. How Many types of size categories and data classes are there? There are five size categories (0-4) and 11 data classes, only three of which are appropriate for application tables:
- APPL0 - Master data (data frequently accessed but rarely updated)
- APPL1 - Transaction data (data that is changed frequnetly)
- APPL2 - Organisational data (customizing data that is entered when system is
configured and then rarely changed)

What are control tables?

The values specified for the size category and data class are mapped to database-specific values via control tables.

What is the function of the transport system and workbench organiser?

The function of the transport system and the Workbench Organizer is to manage any changes made to objects of the ABAP/4 Development Workbench and to transport these changes between different SAP systems.

What is a table pool?
A table pool (or pool) is used to combine several logical tables in the ABAP/4 Dictionary. The definition of a pool consists of at least two key fields and a long argument field (VARDATA).

What are pooled tables? These are logical tables which must be assigned to a table pool when they are defined. Pooled tables can be used to store control data (such as screen sequences or program parameters).

What is a table cluster?
A table cluster combines several logical tables in the ABAP/4 Dictionary. Several logical rows from different cluster tables are brought together in a single physical record. The records from the cluster tables assigned to a cluster are thus stored in a single common table in the database.

Which objects are independent transport objects?
Domains, Data elements, Tables, Technical settings for tables, Secondary indexes for transparent tables,
Structures, Views,
Matchcode objects, Matchcode IDs, Lock objects.

What are the Data types of the external layer?
ACCP, CHAR, CLNT, CUKY,CURR, DATS, DEC, FLTP, INT1,INT2, INT4, LANG, LCHR,LRAW, NUMC, PREC, QUAN,RAW ,TIMS, UNIT, VARC.

What are the Data types of the ABAP/4 layer?

Possible ABAP/4 data types: C: Character. D: Date, format YYYYMMDD. F: Floating-point number in DOUBLE PRECISION (8 bytes). I: Integer. N: Numerical character string of arbitrary length. P: Amount or counter field (packed; implementation depends on hardware platform). S: Time stamp YYYYMMDDHHMMSS. T: Time of day HHMMSS. V: Character string of variable length, length is given in the first two bytes. X: Hexadecimal (binary) storage.

How can we set the tablespaces and extent sizes ?
You can specify the extent sizes and the tablespace (physical storage
area in the database) in which a transparent table is to be stored by setting the size category and data class.

What is a data dictionary ?
Data dictionary is a central source of data in a data management system. Its main function is to support the .It has details about

- What data is contained ?
- What are the attributes of the data ?
- What is the relationship existing between the various data elements ?

What functions does a data dictionary perform ?
In a data management system, the principal functions performed by the data dictionary are
- Management of data definitions
- Provision of information for evaluation
- Support for software development
- Support form documentation
- Ensuring that the data definitions are flexible and up-to-date.

A field containing currency amounts (data type CURR) must be assigned to a reference table and a reference field. Explain.

As a reference table, a system table containing all the valid currencies is assigned or any other table which contains a field with the currency key format. This field is called as reference field. The assignment of the field containing currency amounts to the reference field is made at runtime. The value in the reference field determines the currency of the amount.

What is the significance of Technical settings (specified while creating a table in the data dictionary) ?

By specifying technical settings we can control how database tables are created in the database. The technical settings allows us to - optimize storage space requiremnets
- table access behaviour
- buffering required
- changes to entries logged

What is the significance of Delivery Class ?
- The delivery class controls the degree to which the SAP or the customer is responsible for table maintenance
- whether SAP provides the table with or without contents.
- determines the table type. - determines how the table behaves when it is first installed, at upgrade, when it is transported, and when a client copy is performed.

What is the maximum number of structures that can be included in a table or structure
- Nine.

What are the two methods of modifying Sap standard tables ?
- Append Structures and
- Customizing Includes.


What is the difference between a Substructure and an Append Structure ?
- In case of a substructure, the reference originates in the table itself, in the forma of a statement .include... . - In case of an append structure, the table itself remains unchanged and the refrence originates in the append structure.
What are the two ways for restricting the value range for a domain ? - By specifying fixed values.
- By stipulating a value table.

What is a Match Code ?

Match Code is a tool to help us to search for data records in the system. Match codes are an efficient and user-friendly search aid where key of a record is unknown. What are the two levels in defining a Match Code ?
- Match Code object
- Match Code Id.

What is the maximum number of match code Id's that can be defined for one Match code object ?
- 36. A match code Id is a one character ID which can be a letter or a number.

Can we define our own Match Code ID's for SAP Matchcodes ?
Yes, the numbers 0 to 9 are reserved for us to create our own Match Code IDs for a SAP defined Matchcode object.

What is an Update type with reference to a Match code ID?
If the data in one of the base tables of a matchcode ID changes, the matchcode data has to be updated. The update type stipulates when the matchcode is to be updated and how it is to be done. The update type also specifies which method is to be used for Building matchcodes . You must specify the update type when you define a matchcode ID.

What are conversion routines ?
- Non standard conversions from display format to sap internal format and vice-versa are implemented with so called conversion routines.
Aggregated Objects Views, matchcodes, and lock objects are also called aggregate objects because they are formed from several related tables.

What is a View ?
- A view is a logical view on one or more tables. A view on one or more tables i.e, the data from a view is not actually physically stored instead being derived from one or more tables. A view can be used to summarize data which is distributed among several tables

How many types of Views are there ? - Database View (SE11)
Database views are implement an inner join, that is, only records of the primary table (selected via the join operation) for which the corresponding records of the secondary tables also exist are fetched. Inconsistencies between primary and secondary table could, therefore, lead to a reduced selection set. In database views, the join conditions can be formulated using equality relationships between any base fields. In the other types of view, they must be taken from existing foreign keys. That is, tables can only be collected in a maintenance or help view if they are linked to one another via foreign keys.

- Help View ( SE54)
Help views are used to output additional information when the online help system is called. When the F4 button is pressed for a screen field, a check is first made on whether a matchcode is defined for this field. If this is not the case, the help view is displayed in which the check table of the field is the primary table. Thus, for each table no more than one help view can be created, that is, a table can only be primary table in at most one help view.

- Projection View

Projection views are used to suppress or mask certain fields in a table (projection), thus minimizing the number of interfaces. This means that only the data that is actually required is exchanged when the database is accessed. A projection view can draw upon only one table. Selection conditions cannot be specified for projection views.

- Maintenance View ( SE54 )

Maintenance views enable a business-oriented approach to looking at data, while at the same time, making it possible to maintain the data involved. Data from several tables can be summarized in a maintenance view and maintained collectively via this view. That is, the data is entered via the view and then distributed to the underlying tables by the system.


What is Locking ?
- When two users simultaneously attempt to access the same data record, this is synchronised by a lock mechanism.
When dialog transactions are programmed, locks are set and released by calling certain function modules. These function modules are generated automatically from the definition of so-called lock objects in the ABAP/4 Dictionary. To synchronize the access to a table by setting and removing locks, a Lock object has to be defined in the ABAP/4 Dictionary. Activating the lock object automatically creates #function modules for setting and removing locks. These function modules must be included when programming interactive transactions.

Lock Mechanism : To set locks, a lock object must be defined in the ABAP/4 Dictionary. In this lock object, those tables in which data records are to be locked by calling a lock are determined. All tables included in a lock object must be connected to each other via foreign keys. The key fields of the tables in a lock object form the Lock arguments for the tables. The lock arguments are the basis for formulating the logical condition for identifying the records to be locked. When activating this lock object, two function modulesB with the names ENQUEUE_ and DEQUEUE_ are generated.

Example :
Problem
: You wish to prevent a user from being able to change the name of a course or the name of the professor with responsibility for the course at a time when another user is editing the course description (which contains this information).

Solution : The problem described above can be solved by defining a lock object E_UKURS. This is done by defining primary and secondary tables in the lock object. Table UKURS is check table of table UKRSB, so UKURS should be selected as primary table and UKRSB as secondary table of the lock object. The Lock argument in this case is the field combination FABNR, KRSNR, and SPRAS (i.e Primary Key Combination). The Lock mode Shared is to be selected here. This allows several users to access the data simultaneously in display mode. The lock mode in the generated function modules for setting (ENQUEUE_E_UKURS) and releasing (DEQUEUE_E_UKURS) locks is therefore set to shared as default, but can be overridden by calling the function modules. If the function module ENQUEUE_E_UKURS is called with FABNR = '1' and KRSNR = '3', the record for course 3 in faculty 1 is locked in table UKURS. Furthermore, all the course descriptions for this course are locked in table UKRSB since field SPRAS was not specified when the function module was called. In such cases, the lock is made generically for a field which is not defined. If the function module DEQUEUE_E_UKURS is now called with FABNR = '1', KRSNR = '3' and SPRAS = 'D', the German course description is unlocked. All other course descriptions remain locked.

What is database utility ?
-
Database utility is the interface between the ABAP/4 Dictionary and the underlying the SAP system.
The database utility is the interface between the ABAP/4 Dictionary and the relational database underlying the SAP system. You can call the database utility from the initial screen of the ABAP/4 Dictionary with Utilities ® Database utility. The database utility allows you to create, delete and convert objects from the ABAP/4 Dictionary in the database. MODULARIZATION What is Modularization and its benefits? If the program contains the same or similar blocks of statements or it is required to process the same function several times, we can avoid redundancy by using modularization techniques. By modularizing the ABAP/4 programs we make them easy to read and improve their structure. Modularized programs are also easier to maintain and to update.

How can we create callable modules of program code within one ABAP/4 Program?
A. By defining macros. B. By creating include programs in the library.

What are subroutines?
Subroutines are program modules which can be called from other ABAP/4 programs or within the same program.

What are the types of Subroutines?
A. Internal Subroutines: The source code of the internal subroutines will be in the
same ABAP/4 program as the calling procedure (internal call).
B. External Subroutines: The source code of the external subroutines will be in an
ABAP/4 program other than the calling procedure.

What are the different types of parameters?
Formal parameters: Parameters which are defined during the definition of subroutine with the FORM statement. Actual parameters: Parameters which are specified during the call of a subroutine with the PERFORM statement.

How can one distinguish between different kinds of parameters?
A. Input parameters are used to pass data to subroutines. B. Output parameters are used to pass data from subroutines.

What are the different methods of passing data?
A. Calling by reference: During a subroutine call, only the address of the actual
parameter is transferred to the formal parameters. The formal parameter has no memory of its own, and we work with the field of the calling program within the subroutine. If we change the formal parameter, the field contents in the calling program also change.
B. Calling by value: During a subroutine call, the formal parameters are created as
copies of the actual parameters. The formal parameters have memory of their own. Changes to the formal parameters have no effect on the actual parameters.
C. Calling by value and result: During a subroutine call, the formal parameters are
created as copies of the actual parameters. The formal parameters have their own memory space. Changes to the formal parameters are copied to the actual parameters at the end of the subroutine.
The method by which internal tables are passed is By Reference.

What is the difference between the function module and a normal ABAP/4 subroutine?

In contrast to normal subroutines function modules have uniquely defined interface. Sub routines do not return values.
Sub routines do not return exceptions. Sub routines cannot be tested independently. Declaring data as common parts is not possible for function modules. Function modules are stored in a central library. What is a function group? A function group is a collection of logically related modules that share global data with each other. All the modules in the group are included in the same main program. When an ABAP/4 program contains a CALL FUNCTION statement, the system loads the entire function group in with the program code at runtime. Every function module belongs to a function group.

What is the difference between internal tables and extract datasets?

A. The lines of an internal table always have the same structure. By using extract
datasets, you can handle groups of data with different structure and get statistical figures from the grouped data.
B. You have to define the structure of the internal table at the begining. You need
not define the structure of the extract dataset.
C. In contrast to internal tables, the system partly compresses extract datasets
when storing them. This reduces the storage space required.
D. Internal tables require special work area for interface whereas extract datasets
do not need a special work area for interface.

LOGICAL DATABASE.
What are logical databases?
What are the advantages/disadvantages of logical databases? Ans :- A Logical Database is a hierarchical structure of tables. Use the GET statement to process Logical Databases. - LDB consists of logically related tables grouped together ­ used for reading and processing data.
- Advantages = 1. No need of programming for retrieval , meaning for data selection
- 2. Easy to use standard user interface, have check completeness of user input.
Disadvantages = 1. Fast in case of lesser no. of tables But if the table is in the lowest level of hierarchy, all upper level tables should be read so performance is slower.

Preparation of the data records by the L.D.B and reading of the data records in the actual report are accomplished with the command pair.
- Put and Get.

The three main elements of LDB are - Structure, Selections, Database Program.

What sort of tables one can use in designing the hierarchy of a LDB ?
- Tables which are having Foreign key relations.

The structure of Logical Databases relfects the ________________ dependencies of hierarchical tables in the SAP System.
- Foreign key

If you want to improve the response time ( time to access data ) Logical DataBases permits you to achieve this using ______________
- VIEWS.

What are the advantages of Logical DataBases ?
- It offers an easy-to-use selection screen.
You can modify the pre-generated selection screen to your needs. It offers check functions to check whether user input is complete, correct, and plausible.
It offers reasonable data selections.
It contains central authorization checks for database accesses.
Enhancements such as improved performance immediately apply to all report programs that use the logical database.
Report FORMATTING In order to suppress the leading zeros of a number field the keywords used are : NO-ZERO. The Command that allows for vertical alignment of fields one below the other. UNDER. In order to concatenate strings only for output purposes the command _________ can be used in conjunction with the 'Write' statement. NO-GAP. Data can be moved from one field to another using a 'Write:' Statement and stored in the desired format. TRUE. Write : Date_1 to Date_2 format DD/MM/YY. In order to have boldfaced text as output the command used is Write : INTENSIFIED. Background and foreground colors can be interchanged using the command Format inverse. Which datatype cannot be used to define parameters. Type F. For each new event, the system resets all formatting options to their default values. TRUE.
The processing block following END-OF-PAGE is processed only if you reserve lines for the footer in the LINE-COUNT option of the REPORT statement.
To execute a page break under the condition that less than a certain number of lines is left on a page is acheived by ________________________. RESERVE n lines. What is the limit for the length of a page if the page length is not specified in the report statement. 60,000 Lines. How can Symbols or R/3 icons be output on the screen? WRITE AS SYMBOL. WRITE AS ICON.
REPORTING - GENERAL What are reports? and how do you set up reports? A report program reads and analyzes data from one or more database tables without modifying the database. Usually, the result of such a report program is in the form of a list which is output to the screen or sent to a printer. What are the different types of programs? I
Include Program
M
Module Pool
F
Function Modules
S
External Subroutines
1
Online program

Events in Reporting ? Explain ?
The following events occur at runtime of a typical report program which uses logical databases: Event keyword
Event

-- INITIALIZATION
Point before the selection screen
is displayed
When you start a program in which a selection screen is defined (either in the program itself or in the linked logical database program), the system normally processes this selection screen first. If you want to execute a processing block before the selection screen is processed, you can assign it to the event keyword INITIALIZATION.

AT SELECTION-SCREEN
Point after processing user input on the selection screen while the selection screen is still active
The event keyword AT SELECTION-SCREEN provides you with several possibilities to carry out processing blocks while the system is processing the selection screen.

START-OF-SELECTION
Point after processing the selection screen
The event START-OF-SELECTION gives you the possibility of creating a processing block after processing the selection screen and before accessing database tables using a logical database. You can use this processing block, for example, to set the values of internal fields or to write informational statements onto the output screen. At the START-OF-SELECTION event, also all statements are processed that are not attached to an event keyword except those that are written behind a FORM-ENDFORM block .

GET



Point at which the logical database offers a line of the database table




The most important event for report programs with an attached logical database is the moment at which the logical database program has read a line from a database table (see Accessing Data Using Logical Databases ). To start a processing block at this event, use the GET statement as follows:

Syntax

GET

[FIELDS ].



[FIELDS ]. After this statement, you can work with the current line of the database table



. The data is provided in the table work area



GET LATE


Point after processing all tables which are hierarchically subordinate to the database table



in the structure of the logical database.
To start a processing block at the moment after the system has processed all database tables of a logical database that are hierarchically inferior to a specific database table, use the event keyword GET as follows:

Syntax :

GET

LATE [FIELDS ]



In analogy to report programs that use only SELECT statements (see table in Comparison of Access Methods ), the processing block of a GET
LATE



statement would appear directly before the ENDSELECT statement in the SELECT loop for the database table



.
END-OF-SELECTION
Point after processing all lines offered by the logical database.
To define a processing block after the system has read and processed all database tables of a logical database, use the keyword END-OF-SELECTION. The following events occur during the processing of the output list of a report program: Event keyword
Event
-----------------------------------------------------------------------------------------------TOP-OF-PAGE
Point during list processing when a new page is started
END-OF-PAGE
Point during list processing when a page is ended
The following events occur during the display of the output list of a report program: Event keyword
Event

--AT LINE-SELECTION
Point at which the user selects a line

AT USER-COMMAND
Point at which the user presses a function key or enters a command in the
command field.

AT PF
Point at which the user presses the function key with the function code
PF


With the selection screen, ABAP/4 offers an interactive element also for report programs. You can define a selection screen without having to bother about all the details required in dialog programming. The selection screen is always processed directly after a report program is started. The user can enter field values and selection criteria on this screen. The main purpose of the selection screen is to enable the user to control the database selections of the report program. If a report program is started from another ABAP/4 program with the SUBMIT statement (see Calling Reports), the selection screen objects also serve as a data interface, With a selection screen defined in the report program, you can enable the user to ·
assign values to variables with the PARAMETERS statement
·
determine selection criteria with the SELECT-OPTIONS statement

How do you read selected lines of database table into an internal table in packages of predefined size?.

SELECT * FROM INTO TABLE PACKAGE SIZE .
where 'n' is variable.
Name the WILDCARD characters which are used for comparisions with character strings & numeric strings.
'%' and '_'.

How to specify a client for database table processing.

TABLES SPFLI.
SELECT * FROM SPFLI CLIENT SPECIFIED
WHERE MANDT BETWEEN '001' AND '003'.
...
ENDSELECT.

Activation ­ During activation, the runtime object of aggregate object or tables is created. The runtime object is buffered so that the application program can access it quickly. Runtime object has information about the following objects of table - domain ­ data elements ­ field definition ­ table definition

Lock Mechanism ­ prevents a new database operation being started an existing one has been correctly completed. When conversion is done, lock is created automatically and released only when conversion is successful. Clearing of locks ­ restart adjustment ­ attempt is made to continue conversion at the point of
termination
Cancel adjustment ­ lock entry is simply deleted from table

Version Management functions ­

- Canceling changes ­ reset revised version to active version
- Storing changes ­ active version will be temporarily stored in version
Switching changes ­ switch between active and revised versions

Version catalog ­ list of all existing versions of an object

- Revised version ­ produced when we edit an existing object
- Active version ­ produced when we activate an object
- Temporary version ­ produced when we copy the active version temporarily to the database with store version functions
- Historical versions ­ created when 1. Correction is created 2 correction is
released

Table Buffering : Possible buffering types

- full buffering ­ either, whole table or none of the table is located in the buffer (Tables up to 30 kb done in client dependent fully buffered tables)
- Generic buffering ­ generic areas of the table are fully buffered.
- Generic key ­ left justified section of primary key of a table.
Single record buffering ­ records actually being accessed are loaded to buffers, large records where few records are accessed.

Internal Tables ? Types ?

STANDARD table Key access to a standard table uses a linear search. This means that the time required for a search is in linear relation to the number of table entries. You should use index operations to access standard tables.

SORTED table Defines the table as one that is always saved correctly sorted. Key access to a sorted table uses a binary key. If the key is not unique, the system takes the entry with the lowest index. The runtime required for key access is logarithmically related to the number of table entries.

HASHED table Defines the table as one that is managed with an internal hash procedure You can only access a hashed table using the generic key operations or other generic operations ( SORT, LOOP, and so on). Explicit or implicit index operations (such as LOOP ... FROM oe INSERT itab within a LOOP) are not allowed.

INDEX table A table that can be accessed using an index. Index table is only used to specify the type of generic parameters in a FORM or FUNCTION. That means that you can't create a table of type INDEX. Standard tables and sorted tables are index tables.

Syntax : DATA itab TYPE table type of line type [WITH UNIQUE/NON-UNIQUE KEY ] [Iinitial size n] [WITH HEADER LINE]

What are DATA CLUSTERS ?

You can group any complex internal data objects of an ABAP/4 program together in data clusters and store them temporarily in ABAP/4 memory or for longer periods in databases. You can store data clusters in special databases of the ABAP/4 Dictionary. These databases are known as ABAP/4 cluster databases and have a predefined structure.Storing a data cluster is specific to ABAP/4. Although you can also access
cluster databases using SQL statements, only ABAP/4 statements are able to decode the structure of the stored data cluster.

Describe the functions of the debugger screen.

- Single step(F5) - Use this option to step through the program statement by statement. This allows you to branch into subroutines and function modules, and to execute these routines step by step as well. Once a subroutine or function module has been processed, control returns to the statement following the CALL FUNCTION or PERFORM statement.

- Execute(F6)- Use this option to process a program line by line. All of the statements on the current line are processed in a single step. If you are positioned on a line that calls a subroutine and you choose Execute, the Debugger processes the whole subroutine and then moves on to the line following the subroutine call. This allows you to jump through the statements within the subroutine.


- Return(F7) - The Debugger returns from a routine to the point at which control returns to the main program. Use this option to return from a subroutine, function module, or called program to the calling program.

- Continue(F8)- Use this option to process the program up to the next dynamic or static breakpoint or up to the cursor position. If there are no more breakpoints in the program and no cursor has been set, the system exits debugging mode and executes the rest of the program normally.

- Tables - Display the contents of internal tables.

Problem:How to run a program in background?

Solution :Execute the Report In the selection screen :After filling the screen fields press F9. A screen appears requesting U to print the Background Parameters *Enter the output device(Eg HPLJ /SAP2 etc) *In the spool options Uncheck Print immedietly,Uncheck delete after output,and new spool request. Press enter. Another screen appears with heading start time .U can press start immly ,then save Now the Background job is scheduled for the given program .
To View the status of background Job,The transaction code is SM37. Execute from the resulting screen . Job overview -->From the Job list select U'r program and select Spool from the application toolbar Output Controller :List of Spool Requests Select U'r Spool request and click Display icon from the overview screen . U will be displayed with the List. Caution :See to that the list with does not exceed 255 columns ,If it exceeds the extra columns will be truncated in Background

What are presentation and application servers in SAP?

A presentation server is actually a program named Sapgui.exe. It is usually installed on a user's workstation. Application server is a set of executables that collectively interpret the ABAP/4 programs and manage the input & output for them.

In an ABAP/4 program how do you access data that exists on a presentation server v/s on an application server?

For presentation server use UPLOAD or WS_UPLOAD function modules. For application server use OPEN DATASET, READ DATASET and CLOSE DATASET commands.

Describe the syntax and function of the AUTHORITY CHECK command?

Ans :- AUTHORITY ­ CHECK OBJECT

ID FIELD ID FIELD ... IF SY-SUBRC NE 0. The AUTHORITY-CHECK checks whether a user has the appropriate authorization to execute a particular activity.