31
ABAP INTERVIEW QUS & ANS (TOPIC ON INTERNAL TABLES, SELECTION-SCREENS, DOMAINS, DATAELEMNTS, SELECT: OPTIONS, EVENTS) 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. 1. What are domains and data element? - Domains: Domain is the central object for describing the technical characteristics of an attribute of a 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. 2. 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 contradictions. While defining foreign key relationship cardinality has to be specified. Cardinality mentions how many dependent records or how referenced records are possible. 3. Describe data classes. - Master Data, Transaction data, Organization data, System data:- Master Data: It is the data which is seldomly changed. Transaction data: It is the data which is often changed.

Abap Interview Ques (2)

Embed Size (px)

Citation preview

Page 1: Abap Interview Ques (2)

ABAP INTERVIEW QUS & ANS

(TOPIC ON INTERNAL TABLES, SELECTION-SCREENS, DOMAINS,

DATAELEMNTS, SELECT: OPTIONS, EVENTS)

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.

1. What are domains and data element? - Domains: Domain is the central object for describing the technical characteristics of an attribute of a 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.

2. 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 contradictions. While defining foreign key relationship cardinality has to be specified. Cardinality mentions how many dependent records or how referenced records are possible.

3. Describe data classes. - Master Data, Transaction data, Organization data, System data:-

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.

4. 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 eases 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 is included in the index. The indexes are activated along with the table and are created automatically with it in the database.

Page 2: Abap Interview Ques (2)

5. Difference between transparent tables and pooled tables. - Transparent tables: A transparent table 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. A pooled table 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.

6. What is BDC programming? - Transferring of large/external/legacy data into SAP system using Batch Input programming. Batch input is an 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”.

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

8. 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-organizing the contents of database tables according to users need.

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

Page 3: Abap Interview Ques (2)

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

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

12.What is a batch input session? - BATCH INPUT SESSION is an intermediate step between internal table and database table. Data along with the action is stored in session i.e. data for screen fields, to which screen it is passed, program name behind it, and how next screen is processed.

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

14.When you running a report it takes long time for execution. What steps will you do to reduce the execution time?

a) Avoid nested looping,

Page 4: Abap Interview Ques (2)

Don’t write select statement with in loop and end loop,

If you are fetching data from database table use selected fields list instead of

Select * use refresh, clear statements after the data retrieval. Use for all entries rather than inner

Join.

If you are using inner join don’t join more than two tables.

Use binary search for fetching data from database table.

a) If you want to reduce the execution time of a report.

1. Use For all entries instead of using joins.

2. Use select f1 f2 from table into table itab.

Instead of select * from table into corresponding fields.

3. Perform sorting.

15.what is the difference between ALE and BAPI 

16.What is difference between Time constraint two, and three? What are the general function modules in Organization management?

Time constraints is used in Functional Modules e.g. HR Module.

It specify whether we can make any Time Gaps between two successive tasks or not.

time constraint 2 means: we can make gapstime constraint 3 means: we can't make gaps

17.What is the difference between SY-TABIX and SY-IND...

Sy-tfill: NO of record in the internal tableSy-index: index number of record which is currently executed.Eg: itab contains values 1 to 10.Loop at itab into wa_itab.Write: wa_itab-field1.

Page 5: Abap Interview Ques (2)

endloop.suppose if the loop is getting executed for the 3rd time, then the sy-index will store the value as 3.

read table itab into wa_itab where field1 = 3.after execution of this statement, the value of sy-index will be 3.

18.What is the main purpose of READ keyword?

Read statement is used to retreive only one record from internal table.Note: While using read one should have all primary keys..Otherwise subrc will fail.

19. What is the transaction code to check how many times the program executed?

The T-code is to check how many times reports or other transaction has been exevuted is     ' STAT ' .check.. But only BASIS ppl will have the authorization for that.

19.How many maximum numbers of fields can be there in a table?

Don't cross the total size of each record to 255 charactersmaximum we can have 216 fields in a tableand max 16 key fields.

20. In the ‘select’ statement what is “group by”?

The use of GROUP BY has the prerequisite that SELLECT only individual columns, not all the columns, are specified using *. If GROUP BY is used, all columns that are specified directly after SELECT and not specified as an argument of an aggregate function must be listed there.

23.What are the domains and data elements?

Domains: domains are the dictionary objects that are assigned with constants and data types

Data elements: data elements are dictionary objects that are assigned with the domains.

Uses:'

Page 6: Abap Interview Ques (2)

* Data elements are used to create relation between tables.

* Data elements are used to transfer the data from one R/3 to another R/3.

* To create search helps.

24. What is the exact difference between Transaction Codes se01, se09 and se10? Dont say all are same please; there is some difference between those in real time.

SE09 is the transaction code for workbench organiser.Workbench organiser is the set of utilities for development change management. All Development changes are tracked via Workbench organiser.

SE10 is for customizing organiser.Customising organiser is the set of tools for customizing change management. All customizing changes are tracked via customising organiser.

21.What is the difference between Types and like?

Type is a keyword used to refer to a data type whereas like is a keyword used to copy the existing properties of already existing data object.

22.Describe interactive report classical report and ALV Also what is the difference in them and why?

Classical Report: It is nothing but getting data from one or more tables and displays it on LPS formatted or unformatted. It is having only one screen for the output. It has not any sub list.Events like that.InitializationsAt selection-screenStart-of-selectionsTop-of-pageEnd-of-pageEnd-of-selections

Interactive Report : Is nothing but communications between one report data to another. its having one primary list and 20 secondary list for the outputs.Events like thatAt line selectionsAt user-command

Page 7: Abap Interview Ques (2)

At pt Top-of-page-during line-selections.

ALV Report : Its stands for Application line viewer, it is used for analysis purpose, it has no limitations characters for the printing. These are two types list and grid.

23.What are the different types of data dictionary objects?

Data Dictionary Objects

Tables Views Domain Data Element Type Groups Search Helps/Matchcode Objects Lock objects Structures Table Types

24.What’s an effective way of using an internal table record? What are the types of internal tables?

The internal tables could be catogrised into two.

  Indexed   : standard and sorted tables.  Nonindexed: hash tables.

Standard table: it is the one we use generally. In this the data is not sorted and the only thing we can do is just process the data with out any restriction on it.

Sorted tables: it works in two different manners.                       First one: is similar to standard table but the only difference is the data will be filled in a particular manner either ascending or descending.                       Second one: u can also fill the table keeping any field as primary key. Now the data will be filled based on that particular key.

Hash tables:   u can use this when u want  to fill your  internal table avoiding the duplication of data.it never permits the duplicate record to be stored in a internal table

Page 8: Abap Interview Ques (2)

25. In production what is the user exit?

user exit is the user defined gui status we attach to a standard transaction.By using this we can attach only two menu items in a single transaction.

To create this we can use two transaction codes CMOD and SMOD.

CMOD: THE TRANSACTION WHERE WE ADD THE ENHANCEMENT.SMOD: THE TRANSACTION WHERE WE CHECK THE ENHANCEMENT COMPONENTS.

WHEN WE JUST ATTACH THE ENHANCEMENT .WE CAN SEE THE TWO FUNCTION EXITS CREATED FOR IT.                            ONE IS FOR PBO AND THE OTHER IS FOR PAI.JUST CLICK ON THE +OOB TO CREATE UR USERDEFINED MENU

26.When we will use IDOC.

IDOC is used to transer the data from once R/3 System to another R/3, client to client, server to server.

27.Where does an abap program get stored after save?

SAP programm is stored in application server and SAP kernel

28.What is the difference between SE38 and SE80?

SE 38 is the Abap editor which is used to create the programs.

SE 80 is the Repository Browser means portion of database that is used to maintain SAP application components

29.What is lock Object?

a) Lock objects used to synchronize access of several users using same data.

b) Lock object: lock object can provide data integrity in sap R/3.

Page 9: Abap Interview Ques (2)

c) Lock Object is a relationship defined in the Data Dictionary between a main table and possible secondary tables

d) To avoid the concurrent usage of data

30.How can I copy a standard table to make my own z_table.

a) Use SE11 & there is copy(ctrl+f5) button is available after copy activate the Ztable, it's simple to copy a database table, but note that if in database table maintenance generator is available then you have to define your maintenance generator in your copied Ztable.

WE CAN CREATE A STRUCTURE LIKE THE SAME STRUCTURE AS DATABASE TABLE AND WE CAN USE

SELECT* FROM DATABASE TABLE INTO TABLE ITAB

OR

INSERT INTO ITAB VALUES DATABASE TABLE

31.Which one is not an exit command? (Exit, cencle, stop, back)

A) STOP. Effect: The statement STOP is only to be used in executable programs

EXIT.

Effect: If the EXIT statement is executed outside of a loop, it will immediately terminate the current processing block.

BACK. Effect: This statement positions the list cursor on the first position of the first line in a logical unit.

b) out of exit,cancel stop and back , back i not the exit command . when we do back it goes to the previuos screen . with exit and cancel it terminates the current programm.

c) The function code with type E

As a rule, the user allow the leave the screen with the function type E, Usually EXIT, BACK and CANCEL have the function code of type E.

Page 10: Abap Interview Ques (2)

32.Difference between client dependent and client independent tables?

Tables which can be access by all user are client independent (no mandt field in table) tables which can be access by some specific user are client dependent (use mandt field in table)

33.Can you create a table with fields not referring to data elements?

Yes, we can create dictionary tables without referring to data elements. This is done by clicking on "Built in type" button during table creation.

34.What are client dependant objects in abap/sap?

Client Dependent objects r those objects whose functionality is restricted to a particular client, for ex. In case of table, records entered in one client for a client dependent table the same record is not visible for in any other client . EX-SAP Script layout, text element, and some DDIC objects, Client dependent objects in ABAP are 1) SAP scripts 2) Database tables.

35.What is the difference between checkable and search help

There is a lot of difference between searchhelp and check table.  Check table is a master table.   Like T000 for client, t001w for company codes, tcurc for currency.  When we write code like 'PARAMETER V_WERKS LIKE MARC-WERKS OBLIGATORY VALUE CHECK' the value we entered will be cross checked with the table T001W for existence.  But Search help is some thing which pops-up when we press F4.  It shows a list of values of available for that field from a particular table. There is no checking scenario in search help.  While developing a ztable for example assume that u have a currency field.  Then u needs to establish a foreign key with a currency key field in TCURC etc.  Hope this explanation has given you some clarity regarding difference between check table and search help.

36.When top of the page event is triggered?

a) when it finds.. first Write , Skip , Uline statement ... then Top of page event will trigger.

b) top-of-page event is triggered when a write, uline or skip statements are encountered for the first time.

c) When write statement is written under top-of-page. It is important to specify the line-count after report program < name >

49. What is meant by Modularization in SAP?

Page 11: Abap Interview Ques (2)

If a set of statements are to be repeatedly used, then Modularization technique has to be used to reduce the redundancy of the Code. We have four types 1. Macros 2. Function Modules3. Sub routines4. Include Programs

50.how to find Tcode reports and the tables with in the given Tcode

51. Can we write Inner join With Pooled Table?If No, then tell me why, If yes, then give me one Example

No, because inner join works only for foregin key relation.So in poolad table in between tables there is no foregin key relation.

52. How data is stored in cluster table?

A cluster table conatins data from mulitple DDIC tables.

It stores data as a name value pair (varkey, vardata)

In cluster table each field is acts as a record and it can store multiple records.

53. What is the difference between collect and sum?

SUM.

When processing an internal table in a block starting with LOOP and concluded by ENDLOOP , SUM calculates the control totals of all fields of type I , F and P (see also ABAP/4 number types ) and places them in the LOOP output area (header line of the internal table or an explicitly specified work area).

When you use SUM in a LOOP with an explicitly specified output area, this output area must be compatible with the line type of the internal table.When using LOOP to process a sorted extract (see SORT ), the con trol total of f at the end of the group appears in the field SUM(f) - - if f is type I , F or P .

COLLECT.

COLLECT is used to create unique or compressed datasets. The key fields are the default key fields of the internal table itab.

If you use only COLLECT to fill an internal table, COLLECT makes sure that the internal table does not contain two entries with the same default key fields.

Page 12: Abap Interview Ques (2)

If, besides its default key fields, the internal table contains number fields, the contents of these number fields are added together if the internal table already contains an entry with the same key fields.

If the default key of an internal table processed with COLLECT is blank, all the values are added up in the first table line.

If you specify WA INTO, the entry to be processed is taken from the explicitly specified work area WA. If not, it comes from the header line of the internal table itab.

After COLLECT, the system field SY-TABIX contains the index of the - existing or new - table entry with default key fields which match those of the entry to be processed.

COLLECT can create unique or compressed datasets and should be used precisely for this purpose. If uniqueness or compression are unimportant, or two values with identical default key field values could not possibly occur in your particular task, you should use APPEND instead. However, for a unique or compressed dataset which is also efficient, COLLECT is the statement to use.

If you process a table with COLLECT , you should also use COLLECT to fill it. Only by doing this can you guarantee that the internal table will actually be unique or compressed, as described above and COLLECT will run very efficiently.

If you use COLLECT with an explicitly specified work area, it must be compatible with the line type of the internal table.

b)COLLECT : IT MEANS THAT IT WILL ADD UP THE NUMBERS AND GIVE U GRAND TOTAL, WHERE AS SUM MEANS IT WILL ADDUP

b) Collect statement is using as append statement and as well as sum statement, means whenever collect statement will encountered then first it checks whether that record exist in the interna table with the same key or not. If yes then add that else append at the end of internal table.  But sum is only for sum the values.

54. What is the difference between skip and reserve?

Page 13: Abap Interview Ques (2)

Skip provides a space between lines, while reserve executes a page break on the current page if less than <n> lines are free between current line and the page footer.

55. What is the meaning of session? Why do we create it?

Session is nothing but the transferring of data from flat file to the the r/3 system. Here advantage is that you can call more than one transaction at one go.

56. Why is that we have to add same code in PBO and PAI when we are using TABLE CONTROLS?

Because, we have to pass the data between screen fields and abap fields .Thats why we use same code in PBO and PAI.

b) There is only one work area for processing lines in the table control. For this reason you need a

LOOP

…

ENDLOOP

structure in both the PBO and PAI events for each table control.

57. In interactive report how we can jump on to the different list?

Using transaction code: Sy-lysnd

58. What is the difference between RFC and BAPI?

Bapi's are nothing but RFC enabled function module....... and the main difference b/w RFC & BAPI is that BAPI is maintained in BOR (business object repository)...

59. How can we transport the z-table along with data to Production system?

Its possible to transport the data along with the table definition, by setting the Delivery class appropriately under the delivery and maintenance tab of SE11..

Page 14: Abap Interview Ques (2)

b) Once you fill the table, these objects are to be manually added to a transport request.

Double click the task, Give some short descr, Enter R3TR in program ID & Object type as TABU, and then insert the values to the task

60. When do we use End-of-selection?

a) When ever a LDB is used for getting the values we use End-of-Selection, till the internal table is filled with all data, the flow will not go to End-of-Selection.

b) End-of-selection event are mostly used when we are writing HR-ABAP code. In the HR-ABAP code, data is retrieved in the Start-of-selection event and Printing on the list and all will be done in End-of-selection event.

But in Normal ABAP, mostly we won’t use this event.

61) What are Lock Objects and types of lock objects?

a) Lock objects are function modules to avoid accessing data by two or more users.

There r two types of lock objects are available, DEQUEE, ENQUEE

b) Multiple users access same records synchronized by lock objects.

1. Synchronize lock

2. Asynchronies lock

c) Type of locks:

Exclusive Lock: The locked data can be read or processed by one user only.

Shared Lock: Several users can read the same data at the same time, but as soon as a user edits the data, a second user can no longer access this data.

Exclusive but not cumulative lock: Exclusive locks can be requested by the same transaction more than once and handled successively, but an exclusive but not cumulative lock can only be requested once by a given transaction. All other lock requests are rejected.

62. 1) How do u handle table controls in session method? How do u handle errors in call transaction?

Page 15: Abap Interview Ques (2)

2) What is BADI? Why do we use it?

3) what is BAPI? purpose?

4) Difference between user exit and customer exit?

a) WE can collect the errors in the internal table of structure BDCMSGCOLL mentioning it in that syntax call transaction.e.g.

Call transaction MM01 using BDCDATA mode N update S message in BDCMSGCOLL.

After collecting all those messages we can show them after formatting with function module MESSAGE_PREPARE or FORMAT_MESSAGE

b) Can hnadle errors in call transaction using internal table having structure BDCMSGCOLL, But this alone does not help to view errors and eradicate it. To view the errors that is holded in internal table use function module FORMAT_MESSAGE. This helps to get a look at the errors.

63. In selection screen I have three fields, plant mat no and material group. If I input plant how do I get the mat no and material group based on plant dynamically?

a) You can use a kind of search help which import the plant mat no and than fetch the material group.You have to declare the select-option varriable from the same structure field in which the matarial no. has the search help attached. In case if no standard search help exist than you can always create your own search help and attach it with the field in the structure.

b) we can do this by using list box.like what v use in vrm_text.this function code help us to automatically insert rest of value.

64. Difference between value table and view table?

a) Value table is nothing but primary key table

View table is foregn key table

Page 16: Abap Interview Ques (2)

b) For data hiding to users from the data table we use views. Views store only a particular query.Whenever we call that view it executes that query only. It does not store any data.We can also get some attributes of a table as view.

65. What is different between The Range and Selection Screen?

a) Ranges and Selection-Options are technically having the same structure.  But the difference is select-options get displayed on the selection-screen, where user can input range of values but ranges have to be assigned with in the program. 

  Ranges mainly used when you call some other program by using SUBMIT statement.  When you call a program dynamically you should supply selection parameters to that program.  So suppose if the called program is having select-options then you can pass ranges of the calling program.

b) In range we will not get the selection screen.

In select-option will generate selection screen

66. How we format the data before before write statement in report

we can format the reports output by using the loop events like:

1. at first

2. at new

3.at last

Etc check docu

b) First, create a variable say d like DATA D LIKE SY-DATUM. Then assign the date to D likeD = 'YYYYMMDD'.

67. What is the difference between transparent table and pooled table?

a) Pooled table is a group of related logical tables. An important difference between transparent table and the pool table is that you cannot create secondary indices on pool table

b) Transparent table: where the master data is stored, and which data has no frequent changes .ex: KNA1, MARA, LFA1 etc.

Page 17: Abap Interview Ques (2)

we can have INCLUDE AND APPEND structure in transparent table.

Pooled table: it is linear search, where data has changed frequently, it cannot have foreign key relationship, and we cannot INCLUDE AND APPEND structure.

c) Tables are 3 types

1. Transparent   

2. Clustered 

3. Pooled

TRANSPARENT tables:

Table Structure in the ABAP dictionary is same as the table structure in the database. And 90% of the SAP tables are TRANSPARENT tables.

CLUSTERED tables & POOLED tables: 

There is a layer (CLUSTER LAYER) in the database server to process the incoming requests from the application server, so that database server just supplies the data instead of processing & then supplying, so that PERFORMANCE will increase, there its called as a LOGICAL DATA also.

CLUSTER TABLE follows BINARY search.

POOLED TABLE follows LINEAR search.

68. How to access data from two internal table using join condition

a) if suppose we have

begin of i_kna1 occurs 0,

kunnr like kna1-kunnr,

Name1 like kna1-name1,

Vbeln like vbak-vbeln,

Erdat like vbak-erdat,

Page 18: Abap Interview Ques (2)

End of i_kna1.

Select kna1~kunnr kna1~name1 vbak~vbeln vbak~erdat into table i_kna1 from kna1 join vbak on kna1~kunnr = vbak~kunnr.

b) use for all entries & inner join

68. What is difference between value table and check table?

Check table is the referenced table, that means it is the parent table.

Value table is the subset of the check table

69. How one Report Call another Report in Abap Editor?

a) First create a tcode in se93 for Ur report program and then use call transaction <tcode>.

b) Using submit statement we can call another report program in abap editor

c) Syntax:

Call<prog1>.

By this u can call one report

70) What is the differrence between structure and table in data dictionary in ABAP?

Structure in a program used for dynamic memory allocation.

Structure contain only fields i did not have any physical data but in table it have

a) Structure and table both are 2/2 matrices but there are many differences between table and structure. 

1. Table can store the data physically but a structure dose not store. 2. Table can have primary key but a structure dose not have. 3. Table can have the technical attribute but a structure dose not have.

b) A structure is a series of fields grouped together under a common name. it is very similar to a table.

1. A structure doesn’t have an associated database table.

Page 19: Abap Interview Ques (2)

2. A structure doesn’t have a primary key

3. A structure doesn’t have technical attributes.

Structure follow the same naming convention as transparent tables, and you can not have a table and structure of the same name.

71. What are the advantages and disadvantages of using views in ABAP programming?

Advantages:

View is used to retrieve the data very fastly from the database tables

*memory wastage is reduced

*faster than joins to retrieve the data from database tables

Disadvantages:

view is not a container, it will not hold the data

*view memory is not permanent memory

72. Which transaction code can I used to analyze the performance of ABAP program?

SE30 runtime analysis ST05 Performance trace

73. How to create client independent tables

a) Client independent tables:

the table in which the first field is not mandt is the client independent tables

*mandt is the field with mandt as the data element

*automatically client which we login is populated to mandt

b.) Do not use the MANDT field of type MANDT in your table

Page 20: Abap Interview Ques (2)

74. Can we create field without data element and how?

a) Yes, we can create a field without data element by defining a data type for that field as we require

b) Yes we can create field without data element, make it as direct type or Built-in Type

75) What is the typical structure of an ABAP/4 program?

Structure of ABAP/4 program is , 1. Declaration 2. Dialog Module 3. Event Block 4. Procedure 

76) What is the step by step process to create a table in data dictionary?

a) Steps to create database tables

  1. go to se11

  2. Give name the database table

  3. Give short description for the table

  4. Give delivery class name as A and data browser / table view maint as Display/maintenance allowed 

  5. Select fields tab

  6. Give field name data type (user defined element type/built-in-type), short text

  7. Select technical settings tab, give data class as appl0 and size category as 0

  7. Save it

  8. Go utilities menu click table contents select create and enter the field values then select display in table contents and u can view the table values with field lables 

b) Bottom to top approach:

_________________________

Page 21: Abap Interview Ques (2)

Step 1:

Creating a domain:

*se11, select the object type as domain, name it, create, description, enter the datatype and length(size),save ,activate

step2:

Creating a data element;

se11,select the object type as :date element,name it ,create,desc,assign it with a domain what we created now,save,activate it.

step3:

Creating a table;

se11, select the object type as table, name it, create,

enter the field name and assign it with the data element instead of assigning a datatype to it,

like this create req fields:

on behalf of this:

table maintenance:

assign the type of the table ie.,A C G L S

NEXT

maintaince:

allowed,not allowed ,allowed with restricions

______________________________________________

Fields of a table:(as descripted above)

___________________________________________

Technical settings:

A0

Page 22: Abap Interview Ques (2)

OR

A1

AND BUFFERED OR NON-BUFFERED

77) What is the advantage of structures? How do you use them in the ABAP programs?

Using a structure, user can add fields to the existing SAP database tables. Using .INCLUDE and .APPEND statements structures can be added to the database tables. Creating structures with in a structure is also possible. User can add maximum 9 structures to a database table.

b) Structures:

Using structures, we can retrieve the data from the database tables if it is having the same structure like database table structure

*it can hold var's of different data types

*we can create objects containing diff types of attributes

*even we can insert the data into the database tables if it is having the same structure

78) What is a collect statement? How is it different from append?

If an entry with the same key already exists, the COLLECT statement does not append a new line, but adds the contents of the numeric fields in the work area to the contents of the numeric fields in the existing entry.

79. Select option work like _____________on Selection Screen ?

SELECT-OPTIONS : IS USED TO CREATE RANGE FOR A INPUT FIELD

select-option is used to set a range so as to get the records specified in the range from a particular database table .

The system treats select-options like an internal table.

This table will have four columns - sign high low and option. This is used to set teh attributes on the select

80) What is Field symbol?

Page 23: Abap Interview Ques (2)

FIELD SYMBOLS ARE JUST LIKE POINTERS BUT THEY WILL NOT HOLD ANY ADDRESS BUT INSTEAD THEY ARE POINTING TO THE ANOTHER FIELD VALUE

Field symbols r dynamic allocation of memory.

You can use field symbols to make the program more dynamic. In this exanmple the name of a table control  is substitutedby a field symbol. Thus you cal call the form with any internal table, using the name of the table control as a parameter. 

Example

form insert_row              using     p_tc_name. 

field-symbols <tc>      type cxtab_control. "Table control

assign (p_tc_name) to <tc>.

* insert 100 lines in table control

<tc>-lines = 100.

81. What transactions do you use for data analysis?

se16

se80, se11

82. What is the difference between SAP memory and ABAP MEMORY?

We can pass data b/w sessions or b/w progs by using sap memory. SET PARAMETER OR GET PARAMETER are the statements that r used to read or write the data from memory.

In abap memory we can only pass the data b/w programs. Here we use EXPORT OR IMPORT statements to read or write data from the memory.

b) Sap memory is a global memory whereas abap memory is local memory.

Page 24: Abap Interview Ques (2)

For example, we have four programs in abap memory and assigned some variables to a particular program in abap memory then those variables can't be used by any other program in abap memory i.e., the variables are only for that program and also local to that memory, whereas sap memory can access all the abap memory or else it can perform any kind of modifications.

83. In events start-of-selection is default event. When we have to use this event explicitly? Why?

The default event in the ABAP is Start-of-selection. We have to call explicitly this event when you are writing other than this event A , that is when you write AT  SELECTION-SCREEN EVENTS OR INITIALIZATION EVENT etc, you have to explicitly mention the Start-of-selection event while you are writing the logic.

Before these events called, all the code you have written come into this default Start-of-selection screen event.