Subscribe

RSS Feed (xml)

Powered By

Skin Design:
Free Blogger Skins

Powered by Blogger

Search Your Question

Showing posts with label ASP.net interview questions. Show all posts
Showing posts with label ASP.net interview questions. Show all posts

Thursday, May 29, 2008

ASP.net Interview Questions

  1. What is an interface and what is an abstract class? Please, expand by examples of using both. Explain why.
  2. What is serialization, how it works in .NET?
  3. What should one do to make class serializable?
  4. What exactly is being serialized when you perform serialization?
  5. Tell me about 6h4 methods you have used to perform serialization.
  6. Did you work with XML and XSL Transformations?
  7. What methods and what for did you use to work with XML?
  8. What is the purpose of reserved word “using” in C#?
  9. How does output caching work in ASP.NET?
  10. What is connection pooling and how do you make your application use it?
  11. What are different methods of session maintenance in ASP.NET?
  12. What is Viewstate?
  13. Can any object be stored in a Viewstate?
  14. What should you do to store an object in a Viewstate?
  15. Explain how Viewstate is being formed and how it’s stored on client.
  16. Explain control life cycle, mind event order.
  17. What do you know about ADO.NET’s objects and methods?
  18. Explain DataSet.AcceptChanges and DataAdapter.Update methods.
  19. Assume you want to update a record in the database using ADO.NET. What necessary steps you should perform to accomplish this?
  20. How to retreive the value of last identity has been updated in a database (SQL Server)?

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

Monday, May 26, 2008

.net Interview Questions

(A) What is Manifest?

Assembly metadata is stored in Manifest. Manifest contains all the metadata needed to do the following things (See Figure Manifest View for more details):
· Version of assembly
· Security identity
· Scope of the assembly
· Resolve references to resources and classes.
· The assembly manifest can be stored in either a PE file (an .exe or .dll) with Microsoft intermediate language (MSIL) code or in a stand-alone PE file that contains only assembly manifest information.

(B)Where is version information stored of an assembly ?

Version information is stored in assembly in manifest.

(I)Is versioning applicable to private assemblies?

Versioning concept is only applicable to global assembly cache (GAC) as private assembly lie in their individual folders.

(B) What is GAC ?

Twist :- What are situations when you register .NET assembly in GAC ?

GAC (Global Assembly Cache) is used where shared .NET assembly reside. GAC is used in the following situations :-
· If the application has to be shared among several application.
· If the assembly has some special security requirements like only administrator scan remove the assembly. If the assembly is private then a simple delete of assembly the assembly file will remove the assembly. Note :- Registering .NET assembly in GAC can lead to the old problem of DLL hell, where COM version was stored in central registry. So GAC should be used when absolutely necessary.

(I) What is the concept of strong names ?

Twist :- How do we generate strong names ?
Twist :- What is use the of SN.EXE ?
Twist :- How do we apply strong names to assembly?
Twist :- How do you sign an assembly?

Strong name is similar to GUID(It is supposed to be unique in space and time) in COM components. Strong Name is only needed when we need to deploy assembly in GAC. Strong Names helps GAC to differentiate between two versions. Strong names use public key cryptography (PKC) to ensure that no one can spoof it. PKC use public key and private key concept. Following are the step to generate a strong name and sign a assembly :-

Go to “Visual Studio Command Prompt”. See below figure “Visual studio Command Prompt”. Note the samples are compiled in 2005 but 2003 users do ot have to worry about it. Same type of command prompt will be seen in2003 also.

After you are in command prompt type sn.exe -k “c:\test.snk”.

After generation of the file you can view the SNK file in a simple notepad.

After the SNK file is generated its time to sign the project with this SNK file

Click on project -- properties and the browse the SNK file to the respective folder and compile the project.

Click on Use a key file to sign the assembly with strong name

(I)How to add and remove an assembly from GAC?There are two ways to install .NET assembly in GAC:-vUsing Microsoft Installer Package. You can get download of installer fromhttp://www.microsoft.com.vUsing Gacutil. Goto “Visual Studio Command Prompt” and type “gacutil –i(assembly_name)”, where (assembly_name) is the DLL name of the project.

(B) What is Delay signing ?During development process you will need strong name keys to be exposed to developer whichis not a good practice from security aspect point of view.In such situations you can assign the keylater on and during development you an use delay signingFollowing is process to delay sign an assembly:vFirst obtain your string name keys using SN.EXE.vAnnotate the source code for the assembly with two custom attributes fromSystem.Reflection: AssemblyKeyFileAttribute, which passes the name of the filecontaining the public key as a parameter to its constructor. AssemblyDelaySignAttribute,which indicates that delay signing, is being used by passing true as a parameter to itsconstructor. For example as shown below:[Visual Basic] [C#] [assembly:AssemblyKeyFileAttribute("myKey.snk")] [assembly:AssemblyDelaySignAttribute(true)]The compiler inserts the public key into the assembly manifest and reserves space in the PE file forthe full strong name signature. The real public key must be stored while the assembly is built sothat other assemblies that reference this assembly can obtain the key to store in their own assemblyreference.vBecause the assembly does not have a valid strong name signature, the verification ofthat signature must be turned off. You can do this by using the –Vr option with theStrong Name tool.The following example turns off verification for an assembly calledmyAssembly.dll.Sn –Vr myAssembly.dll80vJust before shipping, you submit the assembly to your organization's signing authorityfor the actual strong name signing using the –R option with the Strong Name tool.Thefollowing example signs an assembly called myAssembly.dll with a strong nameusingthe sgKey.snk key pair.Sn -R myAssembly.dll sgKey.snk


(B)What is garbage collection?Garbage collection is a CLR feature which automatically manages memory. Programmers forgetto release the objects while coding ..... Laziness (Remember in VB6 where one of the goodpractices is to set object to nothing). CLR automatically releases objects when they are no longer inuse and refernced. CLR runs on non-deterministic to see the unused objects and cleans them. Oneside effect of this non-deterministic feature is that we cannot assume an object is destroyed whenit goes out of the scope of a function.we should avoid using destructors because before GCdestroys the object it first executes destructor in that case it will have to wait for code to releasethe umanaged resource. resultin in additional delays in GC. So its recommended to implementIDisposable interface and write cleaup code in Dispose method and call GC.SuppressFinalizemethod so instructing GC not to call your constructor. For more details read Why is it preferredto not use finalize for clean up? in OOPS chapter..

(I) Can we force garbage collector to run ?System.GC.Collect() forces garbage collector to run. This is not recommended but can be used ifsituations arises.

(B)What is reflection?All .NET assemblies have metadata information stored about the types defined in modules. Thismetadata information can be accessed by mechanism called as “Reflection”.System. Reflectioncan be used to browse through the metadata information.Using reflection you can also dynamically invoke methods using System.Type.Invokemember.Below is sample source code if needed you can also get this code from CD provided, go to“Source code” folder in “Reflection Sample” folder.Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles MyBase.Load Dim Pobjtype As Type Dim PobjObject As Object Dim PobjButtons As New Windows.Forms.Button() Pobjtype = PobjButtons.GetType()81 For Each PobjObject In Pobjtype.GetMembers LstDisplay.Items.Add(PobjObject.ToString()) Next End SubEnd ClassNote :- Sample source code are compiled using VB.NET 2005.Figure:- 1.9 Sample reflection displaySample source code uses reflection to browse through “Button” class of “Windows.Forms”. Ifyou compile and run the program following is output as shown in “Sample Reflection Display”.Using reflection you can also dynamically invoke a method using “System.Type.InvokeMember”.Note :- System.Type.InvokeMember is left as homework for readers. Believe me you willenjoy doing it yourself and the concept of reflection will be clearer.

(P)What are different types of JIT ?Note :- This question can only be asked when the interviewer does not know what he wants.It was asked to me in one of interview and for 15 minutes he was roaming around the82same question in order to get answer from me (requirement was for a simple databaseproject). Beware of such companies and interviewers you can land up no where.JIT compiler is a part of the runtime execution environment.In Microsoft .NET there are three types of JIT compilers:vPre-JIT :- Pre-JIT compiles complete source code into native code in a singlecompilationcycle. This is done at the time of deployment of the application.vEcono-JIT :- Econo-JIT compiles only those methods that are called at runtime.However, these compiled methods are removed when they are not required.vNormal-JIT :- Normal-JIT compiles only those methods that are called at runtime.These methods are compiled the first time they are called, and then they are stored incache. When the same methods are called again, the compiled code from cache isused for execution.

(B) What are Value types and Reference types ?Value types directly contain their data which are either allocated on the stack or allocated in-line ina structure.Reference types store a reference to the value's memory address, and are allocated on the heap.Reference types can be self-describing types, pointer types, or interface types.Variables that are value types each have their own copy of the data, and therefore operations onone variable do not affect other variables. Variables that are reference types can refer to the sameobject; therefore, operations on one variable can affect the same object referred to by anothervariable. All types derive from the System.Object base type.


(B) What is concept of Boxing and Unboxing ?Boxing permits any value type to be implicitly converted to type object or to any interface typeimplemented by value type. Boxing is a process in which object instances are created and copyvalues in to that instance.Unboxing is vice versa of boxing operation where the value is copied from the instance in toappropriate storage location.Below is sample code of boxing and unboxing where integer data type is converted in to objectand then vice versa.Dim x As Integer83Dim y As Objectx = 10‘ boxing processy = x‘ unboxing processx = y

(B) What is the difference between VB.NET and C# ?Well this is the most debatable issue in .NET community and people treat there languages likereligion. Its a subjective matter which language is best. Some like VB.NET’s natural style and somelike professional and terse C# syntaxes. Both use the same framework and speed is also very muchequivalents. But still let’s list down some major differences between them :-Advantages VB.NET :-vHas support for optional parameters which makes COM interoperability much easy.vWith Option Strict off late binding is supported.Legacy VB functionalities can beused by using Microsoft.VisualBasic namespace.vHas the WITH construct which is not in C#.vThe VB.NET part of Visual Studio .NET compiles your code in the background.While this is considered an advantage for small projects, people creating very largeprojects have found that the IDE slows down considerably as the project gets larger.Advantages of C#vXML documentation is generated from source code but this is now been incorporatedin Whidbey.vOperator overloading which is not in current VB.NET but is been introduced inWhidbey.v Use of this statement makes unmanaged resource disposal simple.vAccess to Unsafe code. This allows pointer arithmetic etc, and can improveperformance in some situations. However, it is not to be used lightly, as a lot of thenormal safety of C# is lost (as the name implies).This is the major difference that youcan access unmanaged code in C# and not in VB.NET.84* How much ever this book tries it can not match the huge variations of questions that havebeen asked in.NET interviews.But note there will be variations and they will map to somequestion of this book.

(I)What is the difference between System exceptions and Applicationexceptions?All exception derives from Exception Base class. Exceptions can be generated programmaticallyor can be generated by system. Application Exception serves as the base class for all application-specific exception classes. It derives from Exception but does not provide any extended functionality.You should derive your custom application exceptions from Application Exception.Application exception is used when we want to define user defined exception, while systemexception is all which is defined by .NET.Figure :- 1.10 Exception Hierarchy85Note:- Frankly I have always relied on using Microsoft exception application blocks. Assuch I have never used application exception; I think most of the work is done using Systemexception classes.

(I)What is CODE Access security?CAS is part of .NET security model that determines whether or not a piece of code is allowed torun and what resources it can use while running. Example CAS will allow an application to readbut not to write and delete a file or a resource from a folder..


(A)How to prevent my .NET DLL to be decompiled?By design .NET embeds rich Meta data inside the executable code using MSIL. Any one can easilydecompile your DLL back using tools like ILDASM (owned by Microsoft) or Reflector for.NET which is a third party. Secondly there are many third party tools which make this decompilingprocess a click away. So any one can easily look in to your assemblies and reverse engineer themback in to actual source code and understand some real good logic which can make it easy tocrack your application.The process by which you can stop this reverse engineering is using “obfuscation”. It’s a techniquewhich will foil the decompilers. There are many third parties (XenoCode, Demeanor for .NET)which provide .NET obfuscation solution. Microsoft includes one that is Dotfuscator CommunityEdition with Visual Studio.NET.Note: - I leave this as homework to reader’s compile, a DLL obfuscate it using“Dotfuscator Community Edition” which comes with Visual Studio.NET and try viewingthe same using ILDASM.

(I) What is the difference between Convert.toString and .toString()method ?Just to give an understanding of what the above question means seethe below code.int i =0;MessageBox.Show(i.ToString());MessageBox.Show(Convert.ToString(i));86We can convert the integer “i” using “i.ToString()” or “Convert.ToString” so what’s the difference.The basic difference between them is “Convert” function handles NULLS while “i.ToString()”does not it will throw a NULL reference exception error. So as good coding practice using“convert” is always safe.

Oracle Interview Questions - Part 2 Interview question

How does one see the uptime for a database? (for DBA )
Look at the following SQL query:
SELECT to_char (startup_time,'DD-MON-YYYY HH24: MI: SS') "DB Startup Time"
FROM sys.v_$instance;
Marco Bergman provided the following alternative solution:
SELECT to_char (logon_time,'Dy dd Mon HH24: MI: SS') "DB Startup Time"
FROM sys.v_$session
WHERE Sid=1 /* this is pmon */
/
Users still running on Oracle 7 can try one of the following queries:
Column STARTED format a18 head 'STARTUP TIME'
Select C.INSTANCE,
to_date (JUL.VALUE, 'J')
|| to_char (floor (SEC.VALUE/3600), '09')
|| ':'
-- || Substr (to_char (mod (SEC.VALUE/60, 60), '09'), 2, 2)
|| Substr (to_char (floor (mod (SEC.VALUE/60, 60)), '09'), 2, 2)
|| '.'
|| Substr (to_char (mod (SEC.VALUE, 60), '09'), 2, 2) STARTED
from SYS.V_$INSTANCE JUL,
SYS.V_$INSTANCE SEC,
SYS.V_$THREAD C
Where JUL.KEY like '%JULIAN%'
and SEC.KEY like '%SECOND%';
Select to_date (JUL.VALUE, 'J')
|| to_char (to_date (SEC.VALUE, 'SSSSS'), ' HH24:MI:SS') STARTED
from SYS.V_$INSTANCE JUL,
SYS.V_$INSTANCE SEC
where JUL.KEY like '%JULIAN%'
and SEC.KEY like '%SECOND%';
select to_char (to_date (JUL.VALUE, 'J') + (SEC.VALUE/86400), -Return a DATE
'DD-MON-YY HH24:MI:SS') STARTED
from V$INSTANCE JUL,
V$INSTANCE SEC
where JUL.KEY like '%JULIAN%'
and SEC.KEY like '%SECOND%';

Where are my TEMPFILES, I don't see them in V$DATAFILE or DBA_DATA_FILE? (for DBA)
Tempfiles, unlike normal datafiles, are not listed in v$datafile or dba_data_files. Instead query v$tempfile or dba_temp_files:
SELECT * FROM v$tempfile;
SELECT * FROM dba_temp_files;

How do I find used/free space in a TEMPORARY tablespace? (for DBA )

Unlike normal tablespaces, true temporary tablespace information is not listed in DBA_FREE_SPACE. Instead use the V$TEMP_SPACE_HEADER view:
SELECT tablespace_name, SUM (bytes used), SUM (bytes free)
FROM V$temp_space_header
GROUP BY tablespace_name;

What is a profile ?
Each database user is assigned a Profile that specifies limitations on various system resources available to the user.

How will you enforce security using stored procedures?
Don't grant user access directly to tables within the application. Instead grant the ability to access the procedures that access the tables. When procedure executed it will execute the privilege of procedures owner. Users cannot access tables except via the procedure.

How can one see who is using a temporary segment? (for DBA )
For every user using temporary space, there is an entry in SYS.V$_LOCK with type 'TS'.
All temporary segments are named 'ffff.bbbb' where 'ffff' is the file it is in and 'bbbb' is first block of the segment. If your temporary tablespace is set to TEMPORARY, all sorts are done in one large temporary segment. For usage stats, see SYS.V_$SORT_SEGMENT
From Oracle 8.0, one can just query SYS.v$sort_usage. Look at these examples:
select s.username, u."USER", u.tablespace, u.contents, u.extents, u.blocks
from sys.v_$session s, sys.v_$sort_usage u
where s.addr = u.session_addr
/
select s.osuser, s.process, s.username, s.serial#,
Sum (u.blocks)*vp.value/1024 sort_size
from sys.v_$session s, sys.v_$sort_usage u, sys.v_$parameter VP
where s.saddr = u.session_addr
and vp.name = 'db_block_size'
and s.osuser like '&1'
group by s.osuser, s.process, s.username, s.serial#, vp.value
/

How does one get the view definition of fixed views/tables?
Query v$fixed_view_definition. Example: SELECT * FROM v$fixed_view_definition WHERE view_name='V$SESSION';

What are the dictionary tables used to monitor a database spaces ?
DBA_FREE_SPACE
DBA_SEGMENTS
DBA_DATA_FILES.

How can we specify the Archived log file name format and destination?
By setting the following values in init.ora file. LOG_ARCHIVE_FORMAT = arch %S/s/T/tarc (%S - Log sequence number and is zero left paded, %s - Log sequence number not padded. %T - Thread number lef-zero-paded and %t - Thread number not padded). The file name created is arch 0001 are if %S is used. LOG_ARCHIVE_DEST = path.

What is user Account in Oracle database?
An user account is not a physical structure in Database but it is having important relationship to the objects in the database and will be having certain privileges.

When will the data in the snapshot log be used?
We must be able to create a after row trigger on table (i.e., it should be not be already available) After giving table privileges. We cannot specify snapshot log name because oracle uses the name of the master table in the name of the database objects that support its snapshot log. The master table name should be less than or equal to 23 characters. (The table name created will be MLOGS_tablename, and trigger name will be TLOGS name).

What dynamic data replication?
Updating or Inserting records in remote database through database triggers. It may fail if remote database is having any problem.

What is Two-Phase Commit ?
Two-phase commit is mechanism that guarantees a distributed transaction either commits on all involved nodes or rolls back on all involved nodes to maintain data consistency across the global distributed database. It has two phase, a Prepare Phase and a Commit Phase.

How can you Enforce Referential Integrity in snapshots ?

Time the references to occur when master tables are not in use. Peform the reference the manually immdiately locking the master tables. We can join tables in snopshots by creating a complex snapshots that will based on the master tables.

What is a SQL * NET?
SQL *NET is ORACLE's mechanism for interfacing with the communication protocols used by the networks that facilitate distributed processing and distributed databases. It is used in Clint-Server and Server-Server communications.

What is a SNAPSHOT ?
Snapshots are read-only copies of a master table located on a remote node which is periodically refreshed to reflect changes made to the master table.

What is the mechanism provided by ORACLE for table replication ?
Snapshots and SNAPSHOT LOGs

What is snapshots?
Snapshot is an object used to dynamically replicate data between distribute database at specified time intervals. In ver 7.0 they are read only.

What are the various type of snapshots?
Simple and Complex.

Describe two phases of Two-phase commit ?
Prepare phase - The global coordinator (initiating node) ask a participants to prepare (to promise to commit or rollback the transaction, even if there is a failure) Commit - Phase - If all participants respond to the coordinator that they are prepared, the coordinator asks all nodes to commit the transaction, if all participants cannot prepare, the coordinator asks all nodes to roll back the transaction.

What is snapshot log ?
It is a table that maintains a record of modifications to the master table in a snapshot. It is stored in the same database as master table and is only available for simple snapshots. It should be created before creating snapshots.

What are the benefits of distributed options in databases?
Database on other servers can be updated and those transactions can be grouped together with others in a logical unit.
Database uses a two phase commit.

What are the options available to refresh snapshots ?
COMPLETE - Tables are completely regenerated using the snapshots query and the master tables every time the snapshot referenced.
FAST - If simple snapshot used then a snapshot log can be used to send the changes to the snapshot tables.
FORCE - Default value. If possible it performs a FAST refresh; Otherwise it will perform a complete refresh.

What is a SNAPSHOT LOG ?
A snapshot log is a table in the master database that is associated with the master table. ORACLE uses a snapshot log to track the rows that have been updated in the master table. Snapshot logs are used in updating the snapshots based on the master table.

What is Distributed database ?
A distributed database is a network of databases managed by multiple database servers that appears to a user as single logical database. The data of all databases in the distributed database can be simultaneously accessed and modified.

How can we reduce the network traffic?
- Replication of data in distributed environment.
- Using snapshots to replicate data.
- Using remote procedure calls.

Differentiate simple and complex, snapshots ?
- A simple snapshot is based on a query that does not contains GROUP BY clauses, CONNECT BY clauses, JOINs, sub-query or snashot of operations.
- A complex snapshots contain atleast any one of the above.

What are the Built-ins used for sending Parameters to forms?
You can pass parameter values to a form when an application executes the call_form, New_form, Open_form or Run_product.

Can you have more than one content canvas view attached with a window?
Yes. Each window you create must have atleast one content canvas view assigned to it. You can also create a window that has manipulated content canvas view. At run time only one of the content canvas views assign to a window is displayed at a time.

Is the After report trigger fired if the report execution fails?
Yes.

Does a Before form trigger fire when the parameter form is suppressed?
Yes.

What is SGA?

The System Global Area in an Oracle database is the area in memory to facilitate the transfer of information between users. It holds the most recently requested structural information between users. It holds the most recently requested structural information about the database. The structure is database buffers, dictionary cache, redo log buffer and shared pool area.

What is a shared pool?
The data dictionary cache is stored in an area in SGA called the shared pool. This will allow sharing of parsed SQL statements among concurrent users.

What is mean by Program Global Area (PGA)?
It is area in memory that is used by a single Oracle user process.

What is a data segment?
Data segment are the physical areas within a database block in which the data associated with tables and clusters are stored.

What are the factors causing the reparsing of SQL statements in SGA?
Due to insufficient shared pool size.
Monitor the ratio of the reloads takes place while executing SQL statements. If the ratio is greater than 1 then increase the SHARED_POOL_SIZE.

What are clusters?
Clusters are groups of one or more tables physically stores together to share common columns and are often used together.

What is cluster key?
The related columns of the tables in a cluster are called the cluster key.

Do a view contain data?
Views do not contain or store data.

What is user Account in Oracle database?
A user account is not a physical structure in database but it is having important relationship to the objects in the database and will be having certain privileges.

How will you enforce security using stored procedures?
Don't grant user access directly to tables within the application. Instead grant the ability to access the procedures that access the tables. When procedure executed it will execute the privilege of procedures owner. Users cannot access tables except via the procedure.

What are the dictionary tables used to monitor a database space?
DBA_FREE_SPACE
DBA_SEGMENTS
DBA_DATA_FILES.

Can a property clause itself be based on a property clause?
Yes

If a parameter is used in a query without being previously defined, what diff. exist between. report 2.0 and 2.5 when the query is applied?
While both reports 2.0 and 2.5 create the parameter, report 2.5 gives a message that a bind parameter has been created.

What are the sql clauses supported in the link property sheet?
Where start with having.

What is trigger associated with the timer?
When-timer-expired.

What are the trigger associated with image items?
When-image-activated fires when the operators double clicks on an image itemwhen-image-pressed fires when an operator clicks or double clicks on an image item

What are the different windows events activated at runtimes?
When_window_activated
When_window_closed
When_window_deactivated
When_window_resized
Within this triggers, you can examine the built in system variable system. event_window to determine the name of the window for which the trigger fired.

When do you use data parameter type?
When the value of a data parameter being passed to a called product is always the name of the record group defined in the current form. Data parameters are used to pass data to products invoked with the run_product built-in subprogram.

What is difference between open_form and call_form?
when one form invokes another form by executing open_form the first form remains displayed, and operators can navigate between the forms as desired. when one form invokes another form by executing call_form, the called form is modal with respect to the calling form. That is, any windows that belong to the calling form are disabled, and operators cannot navigate to them until they first exit the called form.

What is new_form built-in?
When one form invokes another form by executing new_form oracle form exits the first form and releases its memory before loading the new form calling new form completely replace the first with the second. If there are changes pending in the first form, the operator will be prompted to save them before the new form is loaded.

What is the "LOV of Validation" Property of an item? What is the use of it?
When LOV for Validation is set to True, Oracle Forms compares the current value of the text item to the values in the first column displayed in the LOV. Whenever the validation event occurs. If the value in the text item matches one of the values in the first column of the LOV, validation succeeds, the LOV is not displayed, and processing continues normally. If the value in the text item does not match one of the values in the first column of the LOV, Oracle Forms displays the LOV and uses the text item value as the search criteria to automatically reduce the list.

What is the diff. when Flex mode is mode on and when it is off?
When flex mode is on, reports automatically resizes the parent when the child is resized.

What is the diff. when confine mode is on and when it is off?
When confine mode is on, an object cannot be moved outside its parent in the layout.

What are visual attributes?
Visual attributes are the font, color, pattern proprieties that you set for form and menu objects that appear in your application interface.

Which of the two views should objects according to possession?
view by structure.

What are the two types of views available in the object navigator(specific to report 2.5)?
View by structure and view by type .

What are the vbx controls?
Vbx control provide a simple method of building and enhancing user interfaces. The controls can use to obtain user inputs and display program outputs.vbx control where originally develop as extensions for the ms visual basic environments and include such items as sliders, rides and knobs.

What is the use of transactional triggers?
Using transactional triggers we can control or modify the default functionality of the oracle forms.

How do you create a new session while open a new form?
Using open_form built-in setting the session option Ex. Open_form('Stocks ',active, session). when invoke the multiple forms with open form and call_form in the same application, state whether the following are true/False

What are the ways to monitor the performance of the report?

Use reports profile executable statement. Use SQL trace facility.

If two groups are not linked in the data model editor, What is the hierarchy between them?
Two group that is above are the left most rank higher than the group that is to right or below it.

An open form can not be execute the call_form procedure if you chain of called forms has been initiated by another open form?

True

Explain about horizontal, Vertical tool bar canvas views?
Tool bar canvas views are used to create tool bars for individual windows. Horizontal tool bars are display at the top of a window, just under its menu bar. Vertical Tool bars are displayed along the left side of a window

What is the purpose of the product order option in the column property sheet?
To specify the order of individual group evaluation in a cross products.

What is the use of image_zoom built-in?
To manipulate images in image items.

How do you reference a parameter indirectly?
To indirectly reference a parameter use the NAME IN, COPY 'built-ins to indirectly set and reference the parameters value' Example name_in ('capital parameter my param'), Copy ('SURESH','Parameter my_param')

What is a timer?
Timer is an "internal time clock" that you can programmatically create to perform an action each time the times.

What are the two phases of block coordination?
There are two phases of block coordination: the clear phase and the population phase. During, the clear phase, Oracle Forms navigates internally to the detail block and flushes the obsolete detail records. During the population phase, Oracle Forms issues a SELECT statement to repopulate the detail block with detail records associated with the new master record. These operations are accomplished through the execution of triggers.

What are Most Common types of Complex master-detail relationships?
There are three most common types of complex master-detail relationships:
master with dependent details
master with independent details
detail with two masters

What is a text list?
The text list style list item appears as a rectangular box which displays the fixed number of values. When the text list contains values that can not be displayed, a vertical scroll bar appears, allowing the operator to view and select undisplayed values.

What is term?
The term is terminal definition file that describes the terminal form which you are using r20run.

What is use of term?
The term file which key is correspond to which oracle report functions.

What is pop list?
The pop list style list item appears initially as a single field (similar to a text item field). When the operator selects the list icon, a list of available choices appears.

What is the maximum no of chars the parameter can store?
The maximum no of chars the parameter can store is only valid for char parameters, which can be upto 64K. No parameters default to 23Bytes and Date parameter default to 7Bytes.

What are the default extensions of the files created by library module?
The default file extensions indicate the library module type and storage format .pll - pl/sql library module binary

What are the Coordination Properties in a Master-Detail relationship?
The coordination properties are
Deferred
Auto-Query
These Properties determine when the population phase of block
coordination should occur.

How do you display console on a window ?
The console includes the status line and message line, and is displayed at the bottom of the window to which it is assigned.To specify that the console should be displayed, set the console window form property to the name of any window in the form. To include the console, set console window to Null.

What are the different Parameter types?
Text ParametersData Parameters

State any three mouse events system variables?
System.mouse_button_pressedSystem.mouse_button_shift

What are the types of calculated columns available?
Summary, Formula, Placeholder column.

Explain about stacked canvas views?
Stacked canvas view is displayed in a window on top of, or "stacked" on the content canvas view assigned to that same window. Stacked canvas views obscure some part of the underlying content canvas view, and or often shown and hidden programmatically.

How does one do off-line database backups? (for DBA )
Shut down the database from sqlplus or server manager. Backup all files to secondary storage (eg. tapes). Ensure that you backup all data files, all control files and all log files. When completed, restart your database.
Do the following queries to get a list of all files that needs to be backed up:
select name from sys.v_$datafile;
select member from sys.v_$logfile;
select name from sys.v_$controlfile;
Sometimes Oracle takes forever to shutdown with the "immediate" option. As workaround to this problem, shutdown using these commands:
alter system checkpoint;
shutdown abort
startup restrict
shutdown immediate
Note that if you database is in ARCHIVELOG mode, one can still use archived log files to roll forward from an off-line backup. If you cannot take your database down for a cold (off-line) backup at a convenient time, switch your database into ARCHIVELOG mode and perform hot (on-line) backups.

What is the difference between SHOW_EDITOR and EDIT_TEXTITEM?
Show editor is the generic built-in which accepts any editor name and takes some input string and returns modified output string. Whereas the edit_textitem built-in needs the input focus to be in the text item before the built-in is executed.

What are the built-ins that are used to Attach an LOV programmatically to an item?
set_item_property
get_item_property
(by setting the LOV_NAME property)

How does one do on-line database backups? (for DBA )
Each tablespace that needs to be backed-up must be switched into backup mode before copying the files out to secondary storage (tapes). Look at this simple example.
ALTER TABLESPACE xyz BEGIN BACKUP;
! cp xyfFile1 /backupDir/
ALTER TABLESPACE xyz END BACKUP;
It is better to backup tablespace for tablespace than to put all tablespaces in backup mode. Backing them up separately incurs less overhead. When done, remember to backup your control files. Look at this example:
ALTER SYSTEM SWITCH LOGFILE; -- Force log switch to update control file headers
ALTER DATABASE BACKUP CONTROLFILE TO '/backupDir/control.dbf';
NOTE: Do not run on-line backups during peak processing periods. Oracle will write complete database blocks instead of the normal deltas to redo log files while in backup mode. This will lead to excessive database archiving and even database freezes.

How does one backup a database using RMAN? (for DBA )
The biggest advantage of RMAN is that it only backup used space in the database. Rman doesn't put tablespaces in backup mode, saving on redo generation overhead. RMAN will re-read database blocks until it gets a consistent image of it. Look at this simple backup example.
rman target sys/*** nocatalog
run {
allocate channel t1 type disk;
backup
format '/app/oracle/db_backup/%d_t%t_s%s_p%p'
( database );
release channel t1;
}
Example RMAN restore:
rman target sys/*** nocatalog
run {
allocate channel t1 type disk;
# set until time 'Aug 07 2000 :51';
restore tablespace users;
recover tablespace users;
release channel t1;
}
The examples above are extremely simplistic and only useful for illustrating basic concepts. By default Oracle uses the database controlfiles to store information about backups. Normally one would rather setup a RMAN catalog database to store RMAN metadata in. Read the Oracle Backup and Recovery Guide before implementing any RMAN backups.
Note: RMAN cannot write image copies directly to tape. One needs to use a third-party media manager that integrates with RMAN to backup directly to tape. Alternatively one can backup to disk and then manually copy the backups to tape.

What are the different file extensions that are created by oracle reports?
Rep file and Rdf file.

What is strip sources generate options?
Removes the source code from the library file and generates a library files that contains only pcode. The resulting file can be used for final deployment, but can not be subsequently edited in the designer.ex. f45gen module=old_lib.pll userid=scott/tiger strip_source YES output_file

How does one put a database into ARCHIVELOG mode? (for DBA )
The main reason for running in archivelog mode is that one can provide 24-hour availability and guarantee complete data recoverability. It is also necessary to enable ARCHIVELOG mode before one can start to use on-line database backups. To enable ARCHIVELOG mode, simply change your database startup command script, and bounce the database:
SQLPLUS> connect sys as sysdba
SQLPLUS> startup mount exclusive;
SQLPLUS> alter database archivelog;
SQLPLUS> archive log start;
SQLPLUS> alter database open;
NOTE1: Remember to take a baseline database backup right after enabling archivelog mode. Without it one would not be able to recover. Also, implement an archivelog backup to prevent the archive log directory from filling-up.
NOTE2: ARCHIVELOG mode was introduced with Oracle V6, and is essential for database point-in-time recovery. Archiving can be used in combination with on-line and off-line database backups.
NOTE3: You may want to set the following INIT.ORA parameters when enabling ARCHIVELOG mode: log_archive_start=TRUE, log_archive_dest=... and log_archive_format=...
NOTE4: You can change the archive log destination of a database on-line with the ARCHIVE LOG START TO 'directory'; statement. This statement is often used to switch archiving between a set of directories.
NOTE5: When running Oracle Real Application Server (RAC), you need to shut down all nodes before changing the database to ARCHIVELOG mode.

What is the basic data structure that is required for creating an LOV?
Record Group.

How does one backup archived log files? (for DBA )
One can backup archived log files using RMAN or any operating system backup utility. Remember to delete files after backing them up to prevent the archive log directory from filling up. If the archive log directory becomes full, your database will hang! Look at this simple RMAN backup script:
RMAN> run {
2> allocate channel dev1 type disk;
3> backup
4> format '/app/oracle/arch_backup/log_t%t_s%s_p%p'
5> (archivelog all delete input);
6> release channel dev1;
7> }

Does Oracle write to data files in begin/hot backup mode? (for DBA )
Oracle will stop updating file headers, but will continue to write data to the database files even if a tablespace is in backup mode.
In backup mode, Oracle will write out complete changed blocks to the redo log files. Normally only deltas (changes) are logged to the redo logs. This is done to enable reconstruction of a block if only half of it was backed up (split blocks). Because of this, one should notice increased log activity and archiving during on-line backups.