Wednesday, May 14, 2008

IBM abap interview Questions phase - 1

Technical Questions from the BC team (Group 1)

Set 1:

1.

Direction for the use of view object within the program?

Ans :-

View object – A view object is a virtual table tailored to the needs of an application .This allows direct access to specific data.View object is used in within an ABAP/4 program the same way a table is used. If you have created a view object ZVIEW , you can display its contents using following example program

REPORT ZEXAMPLE.

TABLES: ZVIEW.

SELECT * FROM ZVIEW.

WRITE: / ZVIEW.

ENDSELECT.

2.

Direction for the use of check box and radio buttons in screen painter?

Ans :-

Creating Radio Button and Check Boxes on the screen

1) Go to the full screen editor.

2) Place an underscore at the point where you want to place the field.

3) Define the name of the field using

4) Place the cursor on the field and press

5) Then press or depending on which graphic element you want

6) Then you group related check boxes and radio boxes.

3.

Difference between Radio Buttons and Check boxes.

Ans :-

· Radio buttons force one and only one entry to be active (Value ‘X’. Inactive has value '') for each group before control is passes back to the program.

· Check boxes allow for any combinations of entries on the screen.

4.

When table in data dictionary is created , the relationship between cardinality factor and table

Cardinality?

Ans :- The following values are allowed when inserting data:

C - 1 To 1 (Optional)

CN - 1 To M (Optional)

N - 1 To M (Mandatory)

I - 1 To 1 (Mandatory)

Dependency factor:

This defines the foreign key relationship when applying updates.

5.

When an internal table is created, the settings criteria for the value of occurs?

Ans :- The objective of setting the value of an occurs for an internal table is a question of optimization. The following facts should be taken into account when making such decision.

1) The complete data area of a program is 64000 bytes.

2) The initial size declared is kept in roll area (quicker access to program)

3) Data entered that exceeds the initial size stores in the roll file (Slower access to program)

You should also analyze the expected volume and access rates before making the decision.

6.

When entering values on table related with foreign key using on-line program (using insert), why checking on possible entries on foreign key is not carried out?

Ans :-

7.

Direction for the use of area menu?

Ans :- Area menus are used purely for the pathing to transactions. They contain the same information

As a transaction except for the part that is defined by the screen painter component.

Details of the Area menu screen :

Title : Workbench : Maintain area menu initial screen

Transaction : SE43

Path : Tools ->CASE->Development->Maintain area menu

Creating an area menu:

1) Enter the name of the new area menu.

Since there are no SAP area menus starting with "Z”, an appropriate naming convention would be for all user created area menus to start with "Z".

2)Hit

3)Enter:

-Maintain Language (must be "E")

-Short text (description of area menu)

-Hit

4) You should be now in the area menu editor.

The fields that you can maintain are as follows:

-Title : Text at the top of your area menu

-Menu bar: Text for pulldown menu options & functions or sub menus.

-Push button settings: - Number(s) of the corresponding function key(s) defined.

-Function key settings: - Text and associated definitions for function keys.

8.

Description on roll area, Page area, work area, roll in?

Ans :-

· Roll area: Contains data that is automatically copied into the process ' private memory at the beginning of the dialog step (Rolled in).

· Page area: I believe that the page area is a section of memory, which is the size of 11/0 operation.

· Work area: Contains the graphical user interface elements for the display and entry of data.

· Roll in: When data is copied from the role file to the roll area.

Technical Questions from the BC team (Group 1)

Set 2:

1.

It is possible to delete data entered with ABA/4 program in table maintenance. However, deletion of data uploaded from SAM file in table maintenance is not possible.

Definitions: I am not sure if I understand this question. Are you asking if it is possible to delete data from a SAP table using information stored on a Unix file or are you asking me if the contents of a SAP file can be deleted before a Unix file is loaded? I need more information to be able to answer this question.

2.

The difference between two SYNTAX. Insert table name & insert table name, commit work.

The difference can be demonstrated by the examples below.

Start of Program I.

Database update statements

Run-time error occurs here

End of program 1= 20

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=20.

Start of program 2.

Database update statements.

Commit work statements =20

Run time error occurs here

…………=20

End of program 2=20

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=20=20

Program I will not update the database & program 2 will.

Structured Logic

1.

What is the difference between Structure & Internal table?

Ans :-

- Structure exists in ABAP Dictionary and programs but contains no data.

- Internal table exists only in program and can contain data only at runtime.

4

Call transaction module, give syntax?

Ans :-

CALL TRANSACTION [AND SKIP FIRST SCREEN] [USING ].

This statement saves the data of the calling program, and starts transaction . At the end of the transaction, the system returns to the statement following the call in the calling report. If the LEAVE statement occurs within the called transaction, the transaction ends and control returns to the program in which the call occurred.

6

Define "Check " statements, how it works?

Ans :- To terminate a single loop pass conditionally, use the CHECK statement in the statement block of the loop.

If the condition is not true, any remaining statements in the current statement block after the CHECK statement are ignored, and the next loop pass starts. can be any logical expression.

8

What is the difference when use fields in Chain, End Chain and when use in Subroutine?

Ans :-

9

Difference between Append and Collect statement?

Ans :- Append statement always adds new line to ITAB from WA.

Collect :- When the line is inserted, the system checks whether there is already a table entry that matches the key. If there is no corresponding entry already in the table, the COLLECT statement has the same effect as inserting the new line. 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.

13

Explain Field Group(extract dataset)?

Ans :-

An extract dataset consists of a sequence of records. These records may have different structures. All records with the same structure form a record type. You must define each record type of an extract dataset as a field group, using the FIELD-GROUPS statement.

FIELD-GROUPS .

This statement defines a field group . A field group combines several fields under one name. For clarity, you should declare your field groups at the end of the declaration part of your program.

A field group does not reserve storage space for the fields, but contains pointers to existing fields. When filling the extract dataset with records, these pointers determine the contents of the stored records.

15

Transaction for Menu painter?

Ans :- SE41.

16

Transaction for Screen painter? What is flow logic? Explain.

Ans :- SE51.

Flow-Logic :- Code that processes a particular screen in the R/3 System. Flow logic statements are syntactically similar to ABAP statements, but you cannot use flow logic keywords in ABAP.

You define flow logic in the flow logic editor of the Screen Painter. Flow logic comprises two modules:

PBO (Process Before Output)

PAI (Process After Input)

17

Transaction for MM creation?

Ans :-

18

Transaction for Sales Order (S /D) - Create, Display & Change?

Ans :-

19

Transaction for Delivery Challan S / D) - Create, Display & Change?

Ans :-

21

If you want to run two programs , within one program how you run another program instead of opening another session?

Ans :- SUBMIT program.

23

Example of nested "Select " statement syntax?

Ans :-

27

What is the difference between Move & assign statement?

Ans :-

Move :- To assign the value of a data object to a variable , use the following statement:

MOVE TO .

or the equivalent statement

= .

The contents of remain unchanged. does not have to be a variable - it can also be a literal, a text symbol, or a constant. You must always specify decimal points with a period (.), regardless of the user’s personal settings.

Multiple value assignments in the form

= = = .

Assign :- ASSIGN TO .

When you assign the data object, the system checks whether the technical attributes of the data object correspond to any type specifications for the field symbol . The field symbol adopts any generic attributes of that are not contained in its own type specification. Following the assignment, it points to in memory.

28

Describe "New-Page" statement?

Ans :- The standard page header consists of list and column headers. To influence the representation of these individual components of the standard page header, use NEW-PAGE statement:

2.

What is BDC and How you use it?

Ans :- Batched Data Communication. Batch input is an automatic procedure for the non-online data transfer of data into the system. BDC is used mainly to port data from legacy system to New system Using file access command like OPEN DATASET, READ DATASET. We populate the data into database tables. This can be run as a batch job using BDC. SAP strongly recommends that you use same screen flow to populate a table because that way referential integrity and additional checks are done properly.User dialog is simulated.

3.

What is Dataset and How you use it?

Ans : - Dataset is data contained in a file in AS. To open operating system file you use OPEN DATASET function FOR OUTPUT or INPUT or Append Mode.

4.

What is a variant and Where do you use this?

Ans :- Variant contains parameters for a program. You can run a program either using variant or directly. If you run directly you have to enter all the parameters and if you use variants you do not need to enter parameters. You can have many variants for a program.

6.

What is Field Symbol?

Field Symbol are variables. Main advantage of the Field Symbol is you do not have to define field

Type it can be of any type and any length depending on the field you assign at the runtime.

Ex. FIELD_SYMBOLS

ASSIGN LFAI - NAMEI TO

7.

What is Menu painter? And How do use it in your application?

Ans :- Menu painter is tool to create Menus, Push Buttons assignments and from Screens. During run time you can assign any menu status to a screen.

You assign a four-character function code for each function and you use OK-CODE to identify which function need to be run. You write code in PAI module for each function.

8.

What are the variables that start with SY-?

Ans :- These are system variables like

SY-DATUM System Date

SY-SUBRC System Return Code 0- Success, 4 - failure

These are the System Fields, you use this to generate a list

SY-Title

SY-pagct

SY-Srows

SY-scols

These are used for interactive reporting

SY-Curow

SY-CUCOL

9.

What is Logical database and Explain about GET and PUT modules?

Ans :- Faster Way of executing for selecting records.

Logical database is not a physical database. It is logical database structure of tables where you specify the relationship between a set of related tables. Every logical database has root table & child nodes. If you want to use GET table command in your program you need to declare that related structure as a logical database. Once you specify the structure you set SELECT-OPTIONS and then Database Program and modify the code for PUT Forms. This PUT forms are executed whenever you use GET function in the code.

12.

What is Screen Painter? And How do you write a script for command Button?

Ans :- Screen Painter is a tool to create a screens which can have User Input fields, Command buttons, Frames, Radio Buttons, Combo boxes, and Check boxes. Key point here is you need to specify OK-CODE (you can give any name but normally you use OK-CODE) For OK function and you declare same variable in Module Pool also. In PAI module using Case statements to determine which key was pressed.

CASE OK-CODE

WHEN DELE

MODULE Delete _ Function.

RHO Consulting

3.

HIDE Statement, how it works?

Ans :- Detail lists allow you to present more information than is contained in the basic list. The user can, for example, select a line of the basic list for which he or she wants to see more detailed information. You then display the extra information in a detail list.

This method requires that you have previously stored the contents of the selected line within the program.

To do this, you use the ABAP statement HIDE, which saves the field contents for the current line. When you start a detail list for a list line that has HIDE fields, the system places their values into the corresponding variables in the program.

In the program code, insert the HIDE statement directly after the WRITE statement for the current line.

HIDE: WA-CONNID, WA-CARRID.

4.

Define RANGES statements, why you use in ABAP/4 programming?

Ans :- In addition to selection tables that you create using SELECT-OPTIONS, you can use the RANGES statement to create internal tables that have the structure of selection tables. You can use these tables with certain restrictions the same way you use actual selection tables.

6.

What kind of Transaction did you use? Where did you use? Why did you use?

Ans :- SE38 ABAP Editor

SE16 Data dictionary

7.

What are the commands, which can be used only in screen, flow logic but not in ABAP?

Ans :-

8.

How do you change the text (description which normally appears as non-editable on the screen) of the Table field?

Ans :-You can change the text for Data element. For data element you have three different description text (short, medium and long). You can use any one of the texts.

9.

What do you know about profiles? How can you give an authorization to particular user?

Ans :- A Profile is made up authorization. There are two types ;of Profiles single and composite.

10.

How did you do pricing? (including menu flow ) about policy

Table ----> (Customer/Material ) ------> Access Sequence (price Customer discount Material )

------> Condition type ------> Pricing Procedure

----------> procedure determination

SD config -----> Functions ------> Pricing -------> Control Data ----->

Environment -----> Create tables.

1. Maintain condition tables of fields that can be used as

Conditions to check for in pricing.

There is a fixed list of fields that can be checked.

11.

What did you do in payroll?

Ans :-

12.

What did you do in customizing Org. structure?

Ans :- Set up Company group, company code, controlling area, business Area, credit control area, financial management area, plants, storage Organization, distribution channel, division , shipping Points, loading points, plant sections, person groups, person subgroups, and Payroll subunits and mapped them.

13.

What did you do in Account Assignment in material management? And also about valuation class.

Ans :-

14.

What are number ranges? How did you assign?

Ans :-

15.

What did you do in Time Data?

Ans :-

16.

What are infotypes? How did you use it? Do you remember any info types you used?

Ans :- In HR module tables are calles Infotypes which contains data for employees and applicants.

Infotypes used :-

0002 = Personal data.

0006 = Address.

17.

What type of materials did you use?

Ans :-

ROH Raw material

HAWA Trading

FERT Finished goods

PROD Product Group

WETT Competitive product

18.

What are the logical databases and tables did you use in MM and SD?

Ans :-

EMM Purchasing documents for material

EKKO (Purchase Document Header)

EKPO (Purchase document item)

EKET (Delivery Schedules)

EKPB (Material provided item in purchasing document)

EKKN (Account assignment)

EKBE (History of purchasing document)

MSM Material Master

MARAV View tabelle fuer die logische DB MGM

MARM Quantity unit

MBEWV View f=FCr logische Datebanken

MVKE Material Master : Sales Data

MARCV View f=FCr logische Datebanken MSM

PROPF Forecast parameters

MARD Material master : storage location / batch segment

MCHB Batch stocks

MKOL Special Stocks from vendor

MLGN Material data for storage number

MLGT Material data for storage type

VFV Invoices in sales & Distribution

VBRK Billing : Header Data

VBUK Sales Document : Header Status and Administrative D

VBPA Sales Document : Partner

VBRP Billing : Item Data

VBFA Sales Document Flow

VBFAVG SD Document : Flow Records

VBPAPO Item Partner in SD Document

KONV Conditions (Procedure Data)

19.

How do you create logical database? Menu Sequence also.

Ans :-

CASE à Development à Work Bench à Other Object à EDIT à Logical Databases

OR

CASE à Development à Program Maintenance à ABAP Development à Utilities à

Development / Test à Logical Databases

20.

Hierarchy of Data Dictionary?

Ans :- Tables -> Fields -> Data elements -> Domains.

21.

What is the difference between Data elements and Domain?

Ans: - A domain (Generic data types) describes the technical attributes of a field, such as the data type or the number of positions in a field. The domain defines primarily a value range describing the valid data values for the fields referring

To this domain.

Data elements (Specific data types) A data element is an elementary type. It describes the type attributes (data type, field length and possibly the number of decimal places) and screen information (explanatory text or field help) about unstructured data objects (table fields and structure fields or variables).

Table fields and structure fields with the same contents should refer to the same data element. This ensures that the attributes of these fields are always consistent.

A data element can be referenced in ABAP programs with TYPE. This permits you to define variables that take on the type attributes of the data element in an ABAP program.

22.

How the tables in logical databases are related to each other?

Ans :- LD are related to each other by FK relationship to form a hierarchy

23.

What are the different relations between two entities?

One-One, One-Many and Many-Many

It is also called as cardinality.

CN 0,1,More

C 0, 1

N 1 or More

1 1

24.

What is 3-tier architecture? What does that middle layer do?

PS ----- AS ----- DBS.

- Application server is a set of executables that collectively interpret the ABAP/4 programs and manage the input & output for them.

25.

What did you do in shipping? About the process?

Ans: - Shipping Conditions are defined in Customer Master. (Table KNA1 (General Data))

Transportation groups are defined in Material Master. (Table MARA (General Data))

All valid leg combos must be configured in the system. (A leg is the link between a starting and a finishing point).

The shipping point is defined for each order item

The route groups legs together.

Shipping à Delivery Order (create and save) à Picking à transfer orders (create & confirm)

26.

What are the different sections in Functions?

Ans :- IMPORTING, EXPORTING and EXCEPTIONS.

27.

In your experience programming ABAP/4, What guidelines do you follow as best practices?

Ans: - a) Store data in internal tables to reduce duplicate processing.

b) Copy an existing process and changes it.

c) Follow prescribed naming conventions for programs.

d) Use an include statement (ZIU0001) from the main documentation block.

e) For describing the content of the program, such as date, program author, purpose, list of parameters and specifies, list SAP tables used, and list external input/output, tables/files are used.

28.

What are some of the SAP ABAP/4 control statements that you used to write one of your more complicated programs.

Ans :-

AT END OF…END AT

AT NEW…ENDAT

CALL

CASE...WHEN…ENDCASE

CHECK

DO…ENDDO

EXIT

FORM…ENDFORM

IF...ELSE...ENDLOOP

LEAVE

LOOP...ENDLOOP

MODULE...ENDMODULE

ON CHANGE OF...ENDON

PERFORM…USING

SELECT…ENDSELECT

STOP

WHILE…ENDWHILE

29.

Have you ever done any transaction program/development using ABAP/4, screen painter, and menu painter? If so, describe the steps or technique used to develop transactions?

Ans: - The following list outlines the general steps that should be followed when developing a new SAP R/3 transaction. I do not have to be performed specifically to this sequence, but these topics/steps should be performed.

1. Preliminary work: Design the transaction, specify the transaction code in the system and enter the transaction attributes.

2. Define global data in the data dictionary. Determine which domains, data elements, and tables you want to use.

3. Create an ABAP/4 module pool. Create a module pool for the transaction and assign a name and attributes according to the customer naming conventions.

4. Define screens (Screen Painter): Paint your screens, that defines the positions and texts of the fields on the screen and assign appropriate names. In doing this, you point the Data Dictionary fields you have defined in the Data Dictionary, Define the attributes of all screens.

5. Define menus, windows, and function keys (Menu Painter): Define the interface for your transaction with menus, pop-up windows and function keys for each individual screen. Assign function code to each function that the user can execute.

6. Define screen flow logic.

7. Program the individual modules: Write the detailed processing logic, program and modules called in the screen flow logic, pass the data between the module pool and SAP memory, process the function codes from the interface and process the reports.

8. Create and program on-line messages: Create on-line messages and document them (in the form of texts) Call the messages in the appropriate modules. Observe the rules for error dialog.

9. Test the transaction. Test the transaction with the on-line debugging facility.

Transport transaction programs : Transport your completed transaction to the production system

Instance.

30.

Have you ever created a user-defined database in SAP/R3? If so how did you go about adding a user-defined database to the system?

Ans :-

To add a user-defined database to the system, the following steps are required.

1) Define the structure in the data dictionary.

A. Go to the Data dictionary Maintenance screen. Fill in the name of the database you are defining

B. Define the database structure

To do this, select the object class tables for editing. In the resulting screen, fill in the necessary information about the database.

C. Provide the database fields. Go to the field’s screen so those new fields can be entered into the system. You must atleast enter MANDT, RELID, SRTFD, SRTF2, CLUSTR and CLUSTD. When you have entered all the required fields save the record structure.

D. Active the table. The table is now defined in the Data Dictionary and known to the system at large.

Add the database to the system by going to the Database Create screen.

There select processing method of in -line, so that the database has been created, you can now create database clusters with the EXPORT command or access the database records using SQL.

31.

Describe the basic framework of an ABAP/4 program?

Ans :- The basic structure of an ABAP/4 program is as follows:

REPORT report_name

DATA : pagebreak (12) TYPE C,

DATA : title (10) TYPE C,

TABLES: ABC, DEF, XYZ.

PARAMETERS: ABC-DSC.

FIELD-GROUPS:

FIELD-SYMBOLS

= 7F

INSERT

INITIALISATION

INCLUDE ASD0001

START-OF-SELECTION.

Call to extract data from the database are performed here

END-OF SELECTION.

TOP-OF-PAGE

END-OF-PAGE

FORM Form_Name

ENDFORM.

32.

What are the functional modules you have strong background?

Ans :- FI, CO.

33.

What is the difference between a step-loop using internal table and a transparent table?

Ans :-

Section A

Please circle T(rue) or F(alse) for each of the following questions:-

Move Corresponding is an effective way to move fields with like names from a DB table record to an internal table header line. (T / F). T

An append will add a record to a database table. (T / F). F

The COLLECT statement will total up all P, I and F fields in a database table. (T / F). F

The SELECT statement allows processing of an internal table. (T / F). F

The Loop at command allows you to use the WHERE clause. (T / F). T

An internal table can be deleted. Modified, or inserted without the use of index. (T / F).T

The SELECT command performs its own authorization check. (T / F).F

The WHERE clause in the SELECT SINGLE command is optional. (T / F).F

When using the GET and SET PARAMETER ID command the memory id must be defined to the Data Dictionary?. F

The SET PARAMETER command’s function is to create a storage location in memory and retrieve its contents?T

Section B

There is only (1) correct answer for each of the following questions. Please circle the letter, which you think corresponds to the correct answer.

A ‘LIKE’ statement is used to:

(a) Move similar fields between the header areas of internal tables.

(b) Set declared data fields to the same characteristics as a different data field.

(c) Assign a default value to a parameter.

(d) Pass parameters to a subroutine.

Ans :- b.

All are examples of SAP events except:

(a) Start of Selection.

(b) End of Selection.

(c) Top of Page.

(d) New Page.

Ans :- d

The best definition of the ABAP.4 workbench is:

(a) A method of finding fields within the data dictionary.

(b) A method of navigating between SAP objects and a method of establishing a hierarchy between related SAP objects.

(c) A screen that contains the attributes for screens, programs, transactions, etc.

(d) An easy way of creating objects in SAP.

Ans :- b

Which is correct for reading an entire table, DBTAB, into an internal table, ITAB, structure that was previously defined?

(a) SELECT * FROM DBTAB INTO ITAB.

(b) SELECT SINGLE * FROM DBTAB INTO TABLE ITAB.

(c) SELECT * FROM DBTAB INTO TABLE ITAB.

(d) READ DBTAB INTO TABLE ITAB.

Ans :- c

Which is an example of ‘passing by reference’?

(a) PERFORM CHECK_FIELDS USING F1 F2 F3.

FORM CHECK_FIELDS USING VALUE F1 VALUE F2 VALUE F3.

(b) PERFORM CHECK_FIELDS USING F1 F2 F3.

FORM CHECK_FIELDS USING VALUE F1 VALUE F2 F3.

(c) PERFORM CHECK_FIELDS USING F1 F2 CHANGING F3.

FORM CHECK_FIELDS USING VALUE F1 VALUE F2 CHANGING F3.

Ans :- c

A ‘MOVE-CORRESPONDING’ command:

(a) Moves all data from an internal table into a database table.

(b) Moves all like named fields from one field string to another.

(c) Adds all numeric fields in a totals column.

(d) Allows you to declare an internal table to have the same structure as database table.

Ans :- b

A ten byte long character field, WS-CUSTNUM, would be declared as:

(a) WS_CUSTNUM TYPE C.

(b) DATA WS_CUSTNUM LIKE SPLAN-TIDI.

(c) DATA WS_CUSTNUM (10) TYPE CHAR.

(d) DATA WS_CUSTNUM (10) TYPE C.

Ans :- d

Each record within a database table is specified by:

(a) A specific index number or SY-TABIX.

(b) A unique key structure which can be same for multiple records within the table.

(c) One field, Known as the key field, that is specified to each record.

(d) A unique key structure which consists of any number of fields and must be unique for each record within the database.

Ans :- d

To set an initial value in the parameter, CUSTNO, what word is required in the following statement to complete the syntax: PARAMETERS: CUSTNO(10) TYPE C____________’0000111008’=20

(a) Value.

(b) Default.

(c) Initial.

(d) Like.

Ans :- a

Which of the following does not have an END associated with it?

(a) LOOP.

(b) DO.

(c) GET.

(d) SELECT.

Ansc :- c

No comments:

Tutorials on SAP-ABAP

Adobe Interactive Forms Tutorials

Business Server Pages (BSP)

Userexits/BADIs

Web Dynpro for ABAP (Step by step procedure for web dynpro,Tutorials on Web Dynpro,)

ALV Tutorials

goodsites