ABAP INTERVIEW QUESTIONS

1 How Many types of Table are there in Data Dictionary and what are they.

Ans: 3

TRANSP Transparent table

CLUSTER Cluster table

POOL Pooled table

Following are not real tables:

INTTAB Structure

VIEW General view structure

APPEND Append structure

2 Can we Join a transparent and cluster Table?

Ans: No

3 Have you ever created any search helps and indexes.

Ans: Yes. Search helps to make selection easier with different search criterias and Indexes to improve the performance of Select statements.

4 what is meant by buffering and how many types of bufferings are there.

Ø Single Record. Only selected records are stored in Buffer

Ø Generic Area Bufferred with Number of Keys

Ø Fully Bufferred Full table is stored in the buffering area

5 What are the function modules used in generating a an ALV Report

REUSE_ALV_LIST_DISPLAY Show ALV Report

REUSE_ALV_FIELDCATALOG_MERGE To Get the List of Fields

REUSE_ALV_VARIANT_EXISTENCE To check ALV Variant if it exists

REUSE_ALV_VARIANT_DEFAULT_GET Get Default ALV Variant

REUSE_ALV_VARIANT_F4 For Dropdown ALV Variant

6 How do you insert header in ALV Reports.

7 Can we add new records to the already displayed ALV list.

Add new records to the Internal table and

RS_SELFIELD-REFRESH = 'X'. "Refresh

8 Have you used object oriented approach for developing an ALV Report.

9 How Many main windows we can have in a script?

Ans: Only One. You can not have a SAP Script with out a Main window also.

10 Can we down load and Upload a form? How?

Run Program RSTXSCRP using SE38 and Download and upload.

11 How to change the package of a SAP Script?

12 How do we activate trace in smart froms?

13 What is the difference between BDC Session and call transaction?

BDC Session is a two step process. You create a session first and then process the session later. Process using SM35 or by calling RSBDCSUB program.

CALL Transaction is instant.

14 What is the criteria for selecting one of these above methods?

If you do not need to process the data right away and You do not need to report back immediately then you choose BDC.

If you need to report the result back then use CALL Transaction. If you have further processing of that data then you need that. For example, You need to create a sales order and Once it is processed you need to update the status of that in another table with Order number.

15 How do you change session method from foreground to back ground.

In SM35 you can process the session in Foreground or Background mode.

You can switch to Background mode using Menu path System à Services à Display Errors Only Or Expert Mode on

/BEND to End Batch Input Session

16 What are pricing tables?

Pricing Tables starts with A* like A001, A002, A900 like that.

KONH – Condition Header

KONP – Condition Detail

17 Can u give an example of cluster table?

CDPOS Change Documents Detail Table

BSEG Accounting Document Segment

18 Have you ever retrived data from BSEG table?

19 Can u list out some of the tables in Finance?

SKA1 GL Accoun (SAKNR)

T004 Chart of Accounts (KTOPL)

T001 Company Code (BURKS)

BKPF Accounting Doc Header

BSEG Accounting Doc Detail

20 Can you list out some of the tables in SD?

VBAK, VBAP, VBPA

LIKP, LIPS Delivery Tables

VBRK, VBRP Invoice Tables

VTTK, VTTP, VTTS Shipment Tables

MKPF, MSEG

VBUK - Document Status

VBUP - Document Line item status

VBFA - Document Flow (It links Sales orders and Deliveries)

VBFS - Error Log in Collective processing

21 Why do we use CHAIN and ENDCHAIN?

These statements starts a processing chain. If you send a warning or error message from a module that you called using a FIELD statement as follows:

CHAIN.

FIELD: , ,...

MODULE .

FIELD: , ,...

MODULE .

...

ENDCHAIN.

all of the fields on the screen that belong to the processing chain (all of the fields listed in the field statements) are made ready for input again. Other fields are not ready for input. Whenever the MODULE statement appears within a processing chain, even if there is only one FIELD attached to it, all of the fields in the chain (not only the affected field) are made ready for input again, allowing the user to enter new values. If the fields in the processing chain are only checked once, the PAI processing continues directly after the FIELD statement, and the preceding modules are not called again.

22 How to know the number of records in an internal table?

Ans: DESCRIBE TABLE LINES.

23 What are the functional modules used in SAP Scripts?

OPEN_FORM, WRITE_FORM, CLOSE_FORM

24 What are the events in reports?

25 How do we handle multiple line items in BDC’s?

26 How many secondary lists can be produced?

One Basic List and 19 secondary lists.

27 How can you export a session?

28 How many structures can be created in a Ztable?

29 What is a control table?

Control Tables in SAP Script:

TTXOB Definition of the text objects

TTXOT Descriptions of the text objects

TTXID Definition of the text IDs

TTXIT Descriptions of the text IDs

30 What is a header in a ALV program?

31 What is a table maintenance generator.

Ans: To allow users to maintain table using SM30 transaction you use Table Maintenance generator.

32 How do you upload a logo into a script

Command in your Sapscript

/: INCLUDE Z_YOUR_LOGO OBJECT TEXT ID ST LANGUAGE E

These are the steps to be followed for uploading graphics in R/3 system

1. First save the file as BMP
2. Open the BMP file in IMaging (Goto -> Programs -> Accessories -> Imaging) and make it Zoom as 100% and save as *.TIFF
3. Open SE38 and execute program RSTXLDMC
4. Give your TIFF file path name
5. Select Bcol (for Color)
6. TEXT ID will be ZHEX-MACRO-*.
7. Inplace of * write your own logo name (ZCOMPANYLOGO)
8. Execute the program
9. Now Goto SE71 create your ZFORM
10. Create logo window
11. Goto text element of logo window

or

In 4.6x :-

1. Goto SE71 Change the mode to GRAPHICAL
2. Choose the Graph Tabstrips
3. Now type in some name for the LOGO WINDOW
4. Press the IMPORT BUTTON and then IMPORT the BMP file from your DESKTOP
5. The code will be written automatically. You just need to drag and drop wherever you want the graphics to be.

Please note that in 4.6c onwards, you can also used Windows Bitmap file (.BMP).

33 What is the mandatory event in reports?

34 what are search helps?

35 How many match code objects we can develop?

36 Personal Interview Question

a. Describe your project and client

b. what is your role in the project

c. what is basically RGSPL

d. How many objects you developed

e. what is the composition of your team.

37 When we douable click on basic list of any line what function will be triggered.

AT LINE-SELECTION event.

38 What is the diffrence between client dependent and independent tables?

If you have MANDT as the first field that is Client Dependant table otherwise it is not. Usually most of the tables are client dependent. Only few like RFC Connections table (RFCDES), Batch Jobs (TBTCO and TBTCP) are not client dependant.

39 What are the events in interactive reports?

AT LINE-SELECTION, AT PF-KEY, AT USER-COMMAND .

40 What is the difference between at selection screen and at selection screen output?

AT SELECTION-SCREEN OUTPUT is like Process Before Output Event. This would get triggered before screen is displayed. This can be used to make fields invisible/visible based on selection.

AT SELECTION-SCREEN: This would be triggered if you hit any thing (Enter, Drop-Down, Help, Execute) after the selection screen is displayed.

41 Which one will be trigger first?

AT SELECTION-SCREEN OUTPUT

42 What is the difference between clear, refresh

CLEAR: It clears any field, structure or Header line of Internal table

REFRESH: Deletes all entries of Internal table

43 How can we handle error message in call transaction

Use CALL TRANSACTION with MESSAGES statement. All the messages including errors are moved into this Internal table. You can loop through the internal table to see why it failed.

44 What is the structure of message table?

BDCMSGCOLL

45 What is the function module to handle the errors in call transaction?

You could use MESSAGE_TEXT_BUILD to get the error Text message.

46 What are the objects you have done?

Objects means Programs (Reports, Inbound Interfaces, Outbound Interfaces, ALV Reports, User-Exits, BADIs, BAPIs, etc).

47 What is your current object?

48 What is the transaction to your current object and what table was involving in your object?

49 Events in ALV reports?

print_end_of_list Define output text to be printed at the end of the entire list

print_top_of_list Define output text to be printed at the beginning of the entire list

print_end_of_page Define output text to be printed at the end of each page

print_top_of_page Define output text to be printed at the beginning of each page

subtotal_text Define self-defined subtotals texts

button_click Query a click on a pushbutton in the ALV Grid Control

double_click Query a double-click on a cell of the ALV Grid control

hotspot_click Query a hotspot click on columns defined for this purpose in advance

onDrag Collect information when elements of the ALV Grid Control are dragged

onDrop Process information when elements of the ALV Grid Control are dropped

onDropComplete Perform final actions after successful Drag&Drop

onDropGetFlavor Distinguish between options for Drag&Drop behavior

before_user_command Query self-defined and standard function codes

user_command Query self-defined function codes

after_user_command Query self-defined and standard function codes

toolbar Change, delete or add GUI elements in the toolbar

menu_button Define menus for menu buttons in the toolbar

context_menu_request Change context menu

onf1 Define self-defined F1 help

50 In ALV’s what exactly you are doing in the top-of-page event?

Prints a Page header on every page.

51 Why are you not using the OOPS concept in ALV’s?

52 In ALV’s how would you get default values in the selection screen?

Create a variant in the ALV Report with what ever columns you would like to see and set sort criteria and column widths and save as a default variant.

You can set it using Settings à Layout à Layout Management and make sure DS is set for the variant.

You could get the default variant by calling FM REUSE_ALV_VARIANT_DEFAULT_GET

53 How would u handle table controls in BDC?

Record in Table Controls are referred by Index. If it is the first line MARA-MATNR is the field, you use MARA-MATNR(01).

To point to the correct line there are Position Buttons on these screens. Using that button you position that line as the first line and update the first line.

54 Advantages of call transaction over session method?

v Call Transaction is instant update

v Result is known immediately

v Error message can be shown to the user.

v If program is being run online, we can provide an opportunity to correct the data if needed.

55 How would you handle the script?

56 If u want to add any fields in the layout what is the procedure you follow?

57 Difference between Synchronous and asynchronous update?

v Synchronous update is Update immediately and the program waits for the work process to finish the update.

v Asynchronous update could be delayed and the program does not wait for the work process to finish the update.

58 How to print page numbers in a script through SE38 Program?

59 What are the steps to create custom table?

v Create all the Domains and Data elements as needed using Txn SE11.

v Start creating the table using Txn SE11.

v Maintain Delivery Class (A-Application Table, C-Customizing, etc)

v Enter all the fields (MANDT must be the first field) and appropriate data elements or Built in Types for each field.

v Make sure you select the Primary Key for this table.

v Maintain the Technical Settings (Data class, Size, Buffering info)

v Create Secondary indexes as needed

v Activate the Table

60 What are the functional modules are used in ALV reports?

61 If the table contains built in type what is the problem?

If a field contains Built-In Type, in SE16 field header is not shown, Search help or Dropdowns are not shown automatically.

62 How to print a text which in English in different languages what are the steps to be taken?

To Print a Text, you would have to use Text Elements in Reports. You need to Login in different languages and maintain Texts in each language. Based on the login language, these texts are automatically printed in various languages.

63 How to capture messages in call transaction?

CALL TRANSACTION 'TFCA' USING BDCDATA

MODE 'A'

UPDATE 'S'.

MESSAGES INTO MESSTAB.

64 Without using BDCMSGCOLL How can u find out, weather the record is successfully updated or not?

SY-SUBRC would tell whether CALL Transaction was successful or not. If SY-SUBRC is not equal to zero that means Transaction failed. Reason would stored in messages table.

65 What is client dependent and independent?

If you have MANDT as the first field that is Client Dependant table otherwise it is not.

66 What is client dependent and independent tables? Differences between them?

If you have MANDT as the first field that is Client Dependant table otherwise it is not. Usually most of the tables are client dependent. Only few like RFC Connections table (RFCDES), Batch Jobs (TBTCO and TBTCP) are not client dependant.

If you select an entry from Client dependant table, it checks with in that client unless you specify SELECT statement using Client Defined.

Ex: SELECT * FROM SCUSTOM CLIENT SPECIFIED INTO WA_SCUSTOM

WHERE MANDT = '003'.

WRITE: / WA_SCUSTOM-ID, WA_SCUSTOM-NAME.

ENDSELECT.

67 How to set hotspot in ALV reports for a field?

In the Field Catalog table, you set the HOTSPOT property of the field to X

68 How to set hotspot in ALV reports for all fields?

69 What is use of REUSE_ALV_FIELDCATALOG_MERGE?

Using this function module, you can get the Field catalog for a given Internal table or DD Structure. Once you get the Field catalog, you could change the properties of each field.

70 What is significance of HIDE?

In Interactive reports, HIDE statement stores the value of that field for that line. If the user places the cursor on a line and click on some thing those values are automatically populated to that hidden fields. These values are used to drill down further or takes to other transaction using this info.

71 What is local update?

When you do CALL TRANSACTION, you could select a Local Update. Local updates means update happens on the same Apserver you logged on using the same work process.

In a local update, the update program is run by the same work process that processed the request. The dialog user has to wait for the update to finish before entering further data. This kind of update is useful when you want to reduce the amount of access to the database. The disadvantage of local updates is their parallel nature. The updates can be processed by many different work processes.

72 Difference between select single and select upto one row?

SELECT SINGLE can be used if you know the full key to select a record. If you do not have the full Key to select and you are interested in one single row, you could use SELECT UPTO 1 ROWS. If you use a SELECT SINGLE with out a full key, you would get a warning message in Extended Program checks.

73 Between select single and select upto one row, which method do u prefer at which situation?

If you have the full Key use SELECT SINGLE

If you do not have the full Key to select and you are interested in one single row, you could use SELECT UPTO 1 ROWS..

74 What is the secondary index?

There is an Index created by default for the Primary Key of the table and that is called Primary Index. If you create, any other index that is called Secondary Index for that table. Secondary Indexes are created to improve the performance of SELECT statements.

75 How to create secondary index?

Using SE11, Enter the table name and click on Change.

Click on Indexes and select fields and create a secondary index. Note: Always try to include MANDT as the first field unless you have a reason..

76 How to change standard data base table?

77 How do you modify a table?

You can modify a record using MODIFY statement or UPDATE Statement .

78 Events in the report and the order in which they trigger?

INITIALIZATION

AT SELECTION-SCREEN OUTPUT

AT SELECTION-SCREEN

AT SELECTION-SCREEN ON HELP-REQUEST

AT SELECTION-SCREEN ON VALUE-REQUEST

START-OF-SELECTION

END-OF-SELECTION

TOP-OF-PAGE

TOP-OF-PAGE DURING LINE SELECTION

79 Events in Module pool and comparison with report events?

PBO – Process Before Output AT SELECTION-SCREEN OUTPUT

PAI – Process After Input AT SELECTION-SCREEN

PROCESS ON HELP REQUEST AT SELECTION-SCREEN ON HELP-REQUEST

PROCESS ON VALUE REQUEST AT SELECTION-SCREEN ON VALUE-REQUEST

80 Difference between scripts and smartforms?

81 Advantages of smartforms overscripts?

82 How do you INVOKE scripts from a program?

Using Function module OPEN_FORM, WRITE_FORM and CLOSE_FORM.

83 How do you INVOKE Smartforms from a program ?

There is a Function module behind every Smart Form. You call the function module to invoke it from a Program.

84 What Happens after a smartform is triggered?

85 What are enhancements and its procedure?

Enhancements are changes to existing SAP objects. Using CMOD, you can check what enhancements are available.

v You create a Project using CMOD

v select an Enhancement that you need to modify.

v Modify and add the code in that enhancement

v Activate the Project.

86 Difference between enhancements and modifications?

Enhancements are changes to existing SAP objects. Using CMOD, you can check what enhancements are available and modify it. If the Enhancement is not available but you can not achieve the goal with out modifying the actual SAP code, you go ahead and modify the SAP code. That is modification. Modifications are discouraged by SAP because these are little bit difficult to handle during upgrades.

87 How do you create an interactive ALV Report?

Need to pass, parameter I_CALLBACK_PF_STATUS_SET = G_ALVPFSTATUS (FORM Name) so that you can set your own status using SET PF-STATUS command.

Need to pass, I_CALLBACK_USER_COMMAND = G_ALVCOMMAND (FORM name) , so that you can write code to process the user command.

88 What is an ABAP Memory and SAP Memory and How to use them?

ABAP memory is a memory area that all ABAP programs within the same internal session can access using the EXPORT and IMPORT statements.

SAP memory is a memory area to which all main sessions within a SAPgui have access. You can use SAP memory either to pass data from one program to another within a session, or to pass data from one session to another. Application programs that use SAP memory must do so using SPA/GPA parameters (also known as SET/GET parameters). These parameters can be set either for a particular user or for a particular program using the SET PARAMETER statement. Other ABAP programs can then retrieve the set parameters using the GET PARAMETER statement. The most frequent use of SPA/GPA parameters is to fill input fields on screens (see below).

89 Are labels possible in Smartforms?

90 Configurations in ALE IDOC.