Tuesday, April 11, 2017

ABAP Training


SAP - ABAP Training  includes

ABAP OOPs,
Webdynpro,
BRF+,

Opportunities to work with Real Time Projects 

Candidates who are interested can log to our site www.trempplin.com and register . 

Friday, February 7, 2014

Webdynpro Interview Questions



Webdynpro Interview Questions


1)   Types of ABAP UI Technologies
      Ans: Webdynpro for ABAP, BSP


2)   MVC Architecture Concepts and usage of the same in ABAP Webdynpro
   Ans: As per the MVC Architecture there is a clear separation between flow logic, 
          view and the  Business Logic. View holds all the UI elements that are visible
          in the UI, Controllers have the flow logic. Controllers are of different kind
              (Component Controller, View Conroller,Window Controller).
                Business logic is held in the Model which is in the form of Assistance class
              in webdynpro context.


3)   Difference Between the View Container and the Transparent Container

      Ans: View Container holds the views, there can be multiple views assigned to the
              view container but only  one view can be active(viewed) at a time.
              Transparent holds the webdynpro UI elements, A layout type can be
              associated  with it.


4)   What does a Model Class Consists of
      Ans: Model Class is the Assitance class in webdynpro. It contains the Business
              Logic in the form of  methods, Global data & Constants in the form of
              Class Attributes. The Model class can be accessed in webdynpro component
              using the attribute wd_assist->. Note: All the visibility properties of the
              Class are applicable when accessing the class using the object wd_assist.


5)   What is an Assistance Class and How is it Instantiated in Webdynpro
       Ans: Assistance Class is the model class which would act as the data provider
              for the webdynpro component and it is instantiated by the webdynpro
              component during the run time and no explicat instantation is required.


6)   Design Patterns in Webdynpro(GAF,OIF,QAF Etc)

      Refer to the link:
      FPM Concepts in Webdynpro


7)   How do you debug an web based Application
                  (Could be from ABAP Webdynpro, BSP or CRM Web UI)
       Ans: External break-points should be used to debug web UI's.


8)   How do you create a ALV Report/Editable ALV in Webdynpro
      Ans: ->Add the Standard ALV component to the web dynpro Component.
              ->Use Components tab: Ex: ALV_MATS  type SLV_WD_TABLE
              ->Create a context node with the table field information to be displayed
              ->Write the ALV Default Code for table display
              ->Set the read only attribute to false to switch to editable mode using
                 the method set_read_only of the interface
                IF_SALV_WD_TABLE_SETTINGS implementing class
                CL_SALV_WD_CONFIG_TABLE).



9)   How do you Navigate between Views in Webdynpro
       Ans: Navigation between Views is through Plugs(Inbound and Outbound),


10) Usage of Plugs in Webdynpro
       Ans: Plugs are used to Navigate between the views. Parameters can be
       passed using the plugs similar to interface parameters of function module
       or a class method.


11) Usage of Webdynpro Component Controlle
r
       Ans: Component controller is used to the store the Global attributes and
       Methods of the component. Attributes/methods declared in the component
       controller are visible through out the component and they are accessed
       using the attribute wd_comp_controller outside of component
       controller(like views,windows etc)
       All the context nodes defined in the component controller are
       visible in all the views and windows of the component.
       Ex: if a variable called gv_count is defined in the component controller,
       it can be accessed in the view using the syntax
       wd_comp_controller->gv_count.


12) How do you access a Context Nodes and elements Programmatically

      Code required for accessing the Context Nodes can be written using
      the webdynpro code wizard.
      For Ex: if there exists a Node Node1 with cardinality 1:1 and has
      3 Attributes to it Att1, Att2,Att3. The attributes can be accessed
      using the below code.

      data: lo_nd_node1 type ref to if_wd_context_node.
      data: lo_el_node1 type ref to if_wd_context_element.
      data: ls_node1 type wd_this->element_node1.

      lo_nd_node1 = wd_context->get_child_node
      ( name = wd_this->wdctx_node1 ).
      lo_el_node1 = lo_nd_node1->get_element( ).

**Read Node1
      lo_el_node1->get_static_attributes(
          importing
          static_attributes = ls_node1 ).

**Write to Node1
      lo_el_node1->set_static_attributes(

          exporting

          static_attributes = ls_node1 ).


13) Message Areas in Webdynpro
      Message areas are created in views to display messages
      (Error,Success,Warning,Info).
      WD allows to have multiple Message errors in a view but throws an
      error when the view is displayed.
      Use the code wizard to get code for raising error messages.
      Few of the message classes and methods are:
      Interface: if_wd_message_manager.
      methods: report_t100_message.(used to report message from the
      message class)


14) Concept of OTR(Online Text Repository) and its Usage
      OTR's are similar to text elements in ABAP. OTR's are created for
      UI texts and texts can be maintained in multiple language.
      OTR's can be created using the transaction: SOTR_EDIT


15) Concept of Interface Views
       If the views of a different components are need to be used in a
       webdynpro component mark the view as interface view and use it in
       another component. It's similar to using a include in a program.
       A Interface view of the component can be used in any no of components.
       this concept supports the reusuability of the views.


16) Sequence of Webdynpro Events:
      Ex: WDDOINIT,WDMODIFYVIEW,WDAFTERACTION,
      WDBEFOREACTION etc
       Sequence: WDDOINIT of the component controller,
                       WDDOINIT of the Window Controller,
                       WDDOINIT of the View Controller,
      WDMODIFYVIEW(On Input/Display on any UI Element).
      WDBEFOREACTION(Method for validation of user input,
      Once the user action happens on the UI)
      WDAFTERACTION(Method for non-action specific operations
       before Navigation)
      WDDOEXIT( Exit from the View/Window/Component Controller)


17) Can a Component have Multiple Applications
       Yes, For a given webdynpro component any no of applications can be
       created. Applications are similar to transactions in SAP.
       You can associate different Interface views of the component to
       create different applications using the same component.


18) How do you launch a Webdynpro Application from a Transaction
      Refer to the previous blog Calling webdynpro application from a Transaction
      URL: 
http://sapabapwebdynpro.blogspot.com/2011/04/call-abap-webdynpro-application-from-r3.html


19) How do you Navigate between two Webdynpro Components
      You can use Interface views to navigate between components or create a navigation class and
      do a explicit call.


20) Creating a tree in Webdynpro
      Tree UI element is used to create Tree  in Webdynpro.
      Tree can be defined as part of the table column.


21) Usage of Exit Plug in a Webdynpro Window
      Exit plugs are outbound plugs used to close the webdynpro application.
      they can be called from the view which are embedded in the window
      Note: Exit plugs won't work in portal environment.
      Exit plugs can also be used to pass the call to another URL.
      Here is the sample code snippet of the exit plug call:
      method onexit .

        data url type string.
        data close_window type wdy_boolean.
        url = 'url_name'.
        close_window = abap_false.
        wd_this->fire_to_exit_plg( url = url
                                                 close_window = close_window ).
      endmethod.



Other Interview Questions 

. Can we write the code both call transaction and session method in single program?

Ans. Yes it is possible to write call transaction and session in one program.
2. Which BDC you prefer?
Ans. If we want to transfer large amount of data and when we need to use more than one transaction code we prefer session method. For small or less amount of data and for single transaction use call transaction.
(This is more genric answer but you can add more on to this if you have worked on  BDC)
3. When u prefer LSMW?
Ans. When we need to update medium amount of data we use LSMW. LSMW is also used when the person like functional consultant has less programming language.
5. Difference between .include and  .append?
Ans.
Include structure allows to add one or more structure into structure or table.Also placed positioning anywhere. Upto 6 include structure can be used in a table.
Append structure can be placed only at the end of a structure or table which also stops further insertion of fields.Only one append structure can be used
6. Preformance techniques
Ans.
1. The sequence of fields must be same as per database table
2. During writing select query write all fields in sequence as per database table.
3. Never write select statements inside loop….endloop.
4. Use st05 SQL trace, se30 run time analysis, code inspector, slin,etc.
5. Use select single * statement instead of select *
6. Always use primary key
7. Use binary search but before using binary search sort that table.
7. How to debug sapscripts ?
Ans.
Two ways to debug sapscript . first way is goto SE 71 and from menu bar select Utilities->activate debugger .then goto SE38 execute the print program ,it automatically goes to debugging mode …..the other way is , run the program RSTXDBUG in se 38 . execute it . a message will show that debugger is activated .now open the print program in se 38 …u vll notice that the print prgm is automatically diverted to debugging mode.
8. What is partner selection?
Ans. This concept is mainly used in IDOC where u select the partner profile using Tcode We20 .with  Tcode SM59 you create RFC(remote function call) to create communication link to a remote system.
10. What is occurs in internal table?
Ans. Occurs addition to the Declaration will give initial size to that table.occur statement allocates 8kb of memory to the internal table.
11. What is page window?
Ans : page window is nothing but a container of a page ,which uniquely identifies a set of data …for example while creating invoice …we create logo window , billing document header window , customer window , terms and condition window etc …
12. What is the difference between scrolling a table horizontally and vertically..??
Ans: In table control when you scroll a table vertically presentation server needs to call application server to fetch the next record and display in the table while in case of horizontal scroll there is no need to call application server.
13. What are Field Groups?
Ans: A group that combines several fields fewer than one name, at runtime, the INSERT command is used to define which data fields are assigned to which field group are called Field Groups. It should always be a HEADER field group that defines how the extracted data will be sorted; the fields grouped under the HEADER field group sort the data.
14. List the events in ABAP/4 Language?
Ans: The events in ABAP/4 are load of program ,Initialization, Selection Screen, Start of Selection, End of Selection, Top of page, Line selection, User command, End, First.
15.How the values will be passed to RFC Function module PassbyValue or Passbyreference?
Ans: always Pass by Value.
RFC is Remote Function call so it can’t access the values with Pass by reference.
16. Buffering concept usage?
Ans: There are three type of buffer
1 single record
2 generic buffer
3 full buffer
Buffering is use for improve performance. it improves performance  10 to 100 times more
17. Select up to 1 row and select single difference ?
Ans:  Select single fetches first matching record. If more than one matching records are there then only the first matching record will be considered other records will not be taken into account. Where as select up to 1 rows will fetch all the matching records from the database.(Again it will assign only One Record to the internal table/Work area)
18. What are the different buffering methods?
There are two different buffering methods
The system ensures that data transfer between the R/3 System and the database system is as efficient as possible. To do this, it uses the following techniques:
Table buffering: The program accesses data from the buffer of the application server.
Database request buffering: Individual database entries are not read or passed to the database until required by an OPEN SQL statement.
19. Different types of locks?
v  Read lock (shared lock)
Protects read access to an object. The read lock allows other transactions read access but not write access to the locked area of the table.
v  o Write lock (exclusive lock)
Protects write access to an object. The write lock allows other transactions neither read nor write access to the locked area of the table.
v  o Enhanced write lock (exclusive lock without cumulation)
Works like a write lock except that the enhanced write lock also protects from further accesses from the same transaction.
20. CHAIN END CHAIN?
Ans: Chain and end chain are used for multiple field validation in Module pool programming .It is written inside the screen flow logic.
21.How to Debug RFC Function module?
Ans:
SE38 –> Utilities –> Settings –> ABAP Editor –> Debugging
Activate the external debugging and choose the New Debugger option in ABAP debugger.
Go to the particular place in the code and put break point, pop will appear then choose the HTTP break point.
If you are triggering the RFC from SAP portal make sure that both the user ID should be same
If the users are different then provide the XI/Portal User ID in the users field.
22.Why sapscripts are client dependent and smartforms are client independent.?
Ans-: Smartforms create its own function module so it doesn’t need to transport the request through SCC1.As all the Development Object are stored in client independent tables. Whereas Script doesn’t generate  any function module while executing so we need to transport the request number through SCC1.Sap script is stroed in side the client depended table as a TEXT.so sapscripts are client dependent and smartforms are client independent.
23. Difference between user exit and BADIs?
Ans: User exit is for single implementation and it is procedural approach while BADIs are for multiple implementation and object oriented approach.
Multiple implementation means Reusability… because we use OOps Concepts for BADI.
24. Control break events in ABAP:-
1. AT-FIRST: This is used when we want to execute the statements before records are processed.
2. AT-LAST: This event is used when we want to execute the statements after all records are processed.
3. AT-NEW: This event is used when we want to execute the statement before group of records are processed.
4. AT-END: This event is used when we want to execute the statements after processing of group of records.
25.I am uploading 100 records out of which say 59th record has error so what will happen if i am using synchronous or asynchronous method of BDC? Can we update the database using local update mode how?
26. Suppose i am writing following code then what will be output?
LOAD-OF-PROGRAM.
WRITE:/”HELLO”.
Ans:  HELLO
(Explain the importance of LOAD-OF-PROGRAM Event.If you dont know Tell the interviewer as this event is used in such cases when you want to clear sum buffers or something Before calling that Program)
27. What is TMG?
Ans. TMG stands for Table Maintenance generator. It is a tool available in abap by which we can add or delete multiple records at a time and it is executed or triggered by the transaction code SM30.
28. Difference between select option and ranges ?
Ans. The main difference between select option and ranges is that ranges implicitly or automatically creates internal table with fields like OPTION,LOW,HIGH,SIGN,etc . Where as in case of select option we have to explicitly create internal table.
When u declares a select options it will implicitly declare an internal table (ranges) for you.
While using RANGES syntax u can declare internal table explicitly.
The only need of declaring ranges is when you r not taking input from the user but you want make limit based selection at that time it will be use full e.g. SELECT ** from ** where MATNR in val_range.
here u can use select-option or ranges : val_range.
29. is it possible to bring select option in module pool screens?
Ans.Create a SELECT-OPTIONS in module pool screen using two methods as shown.
Method 1:—-
a) Create a subscreen area in your screen layout where you want to create the select options.
b) In the top include of your module pool program declare a selection screen as a subscreen e.g.
SELECTION-SCREEN BEGIN OF SCREEN 100 AS SUBSCREEN.
select-options s_matnr for mara-matnr.
SELECTION-SCREEN END OF SCREEN.
c) In the PBO and PAI of the main screen where the select options needs to be created do a call subscreen of the above screen (100).
CALL SUBCREEN sub_area INCLUDING
This CALL SUBSCREEN statement is necessary for transport of values between screen and program.
Note: All validations of the selection screen fields e.g. the s_matnr field created above should be done in selection screen events like AT SELECTION-SCREEN etc and not in PAI. These selection screen validations etc should be done in the top include only.
Method 2:——-
a) Create 2 separate fields in your screen layout – one for the low value and one for the high value. Insert an icon beside the high value which will call the multiple selections popup screen on user command. Use function module COMPLEX_SELECTIONS_DIALOG to achieve this.
continued ……
struc_tab_and_field-fieldname = con_cust. ” ‘KUNNR’
struc_tab_and_field-tablename = con_kna1. ” ‘KNA1′.
CALL FUNCTION ‘COMPLEX_SELECTIONS_DIALOG’ EXPORTING*
TITLE = ‘ ‘
text = g_titl1 ” ‘Customers’
tab_and_field = struc_tab_and_field
TABLES RANGE = rng_kunnr
EXCEPTIONS
NO_RANGE_TAB = 1
CANCELLED = 2
INTERNAL_ERROR = 3
INVALID_FIELDNAME = 4
OTHERS = 5.
IF NOT rng_kunnr[] IS INITIAL.
* Read the very first entry of the range table and pass it to
* dynpro screen field
*READ TABLE rng_kunnr INDEX 1.
IF sy-subrc = 0.
g_cust = rng_kunnr-low.
ENDIF.
ENDIF.
You can use the return table rng_kunnr to populate your own internal range table with the values entered by the user. Basically here you are just simulating the work of a select-options parameter by module pool screen elements.
30.how we can retrive data using secondary index.explain with simple example
Ans:  First create secondary indexes on required fields of a particular database table.
We can create one primary index and 15 secondary indexes.Once the respective secondary indexes are created write select queries and within select queries specify secondary indexes field name with where clause.
31.How can we handle table control in BDC?
Ans.We can handle table control using line index
Line index indicates which line of Table control is to be use for BDC transaction
Ex -
perform bdc_field using ‘RC29K-AUSKZ(01)’
Indicates 1st line of table control is going to be used for transaction which is Line index of Table Control
32. If i want to execute a BDC program only in background not in foreground is there any option for this?
Ans.The sm37 transaction can be used for running a program in the background. Also in the session method while processing the session you can specify the processing type as background or foreground.
33.How Can We upload a text file having Delimiters in to Legacy System
Ans.For up loading text file we use the pre-defined FM gui_upload. in that FM we have the parameter has_field_seperator for that we assign the default delimiter ‘x’.
HAS_FIELD_SEPERATOR ‘X’
‘X’ can provide the Whatever delimiter we used in flat file for separation.
34. What is the land scape in sap.
Ans. In every organisation sap landscape involves three servers viz, Development server, Quality server and Production server. Whatever new development we do as per clients requirement is done in development server. Later to test the developed object we move it to quality server for testing and finally once everything goes clear then the object is moved to production server ,production server data is ready for final business use.
35. Workbench request are client dependent or client independent
Ans. Workbench request are client independent.
(Common Man Workbench request holds the Program , FM etc…. How it can be Client Dependent!!!!)
36. Tell me about workbench request and customization requests.
Ans.Workbench (ABAP Dev) request is client independent when you import it into one system it reflact it in all client in same system, but customized request has to import in that client perticular client where it is created, actually it is client dependent.
Other  Interview questions…
SAP SCRIPTS & FORMS
1. Can we write the code/program inside sap script?
2. How will u create sapscripts & smartforms in multiple language?
3.How to execute sap script & smart forms in Background?
4.How to do total & subtotal in scripts & forms?
=================================================
DATA DICTIONARY
1.Apart from .include & .append how will u do table enhancement?
2.what r the events of table maintainence generator?
3.what will happen if i use projection view and maintainence view together?
4. I created ZEMP table now i want to add more data but prev. data should not disturb how can i do this?
=====================================================
REPORTS
1.How will u print footers in alv report?
2.How will u edit fields from output list of alv?
====================================================
BDC
1.what r the fields u took during recording for mmo1,me21n?
2.If u want to do bdc for xd01 explain me how will be the flow?
=================================================
user exits
1.what r enhancement points?
2.How to write customer exits?
3.what is routine? how it is different from user exits?

 

Friday, September 3, 2010

SAP ABAP Interview Questions: SAP Interview Questions for freshers

SAP ABAP Interview Questions: SAP Interview Questions for freshers: "Interview Questions and Answers All type of Latest Sample and advanced Interview questions and answers ( FAQs ) SAP ABAP INTERVIEW QUESTION..."

Tuesday, June 29, 2010

SAP Interview Questions for freshers

Interview Questions and Answers
All type of Latest Sample and advanced Interview questions and answers ( FAQs )
SAP ABAP INTERVIEW QUESTIONSABAP / 4 INTERVIEW QUESTIONS WITH ANSWERS

1) What is SAP R/3?
Ans SAP R/3 refers to Systems Application and Product for data processing Real-time having a 3 tier architecture i.e. Presentation layer, Application layer and Database layer.

• What are the contents in technical specifications?
Ans There are five contents in Technical Settings: Data Class, Size Category, Buffering Permission, Buffering Type and Logging.

• What is an instance?
Ans When you call a function module, an instance of its function group plus its data, is loaded into the memory area of the internal session. An ABAP program can load several instances by calling function modules from different function groups.

• What is Function group? Difference between function group and function module?
Ans Function Groups act as containers for Function Modules that logically belong together.

Function Groups
1) These cannot be defined in a Function Module.
2) It cannot be called.
3) They are containers for Function Module.

Function Modules
1) These must be defined in a Function Group.
2) It can be called from any program.
3) They are not containers for Function Group.

• What is the difference between ‘Select single * ‘ and ‘Select upto 1 rows’?
Ans ‘Select single *’ – The result of the selection should be a single entry. If it is not possible to identify a unique entry, the system uses the first line of the selection. For e.g.
DATA : ITAB TYPE ZREKHA_EMP.
SELECT SINGLE * FROM ZREKHA_EMP INTO ITAB
WHERE EMPNO = ‘00101’ AND DEPTNO = ‘0010’.
WRITE : / ITAB-EMPNO, ITAB-EMPNAME,ITAB-DEPTNO.

Select upto 1 rows -

• What Function does data dictionary perform?
Ans Central information repository for application and system data. The ABAP Dictionary contains data definitions (metadata) that allow you to describe all of the data structures in the system (like tables, views, and data types) in one place. This eliminates redundancy.

• Difference between domain and data element? What are aggregate object?
Ans Domain - Specifies the technical attributes of a data element - its data type, length, possible values, and appearance on the screen. Each data element has an underlying domain. A single domain can be the basis for several data elements. Domains are objects in the ABAP Dictionary.
Data Element - Describes the business function of a table field. Its technical attributes are based on a domain, and its business function is described by its field labels and documentation.
Aggregate Object – Views, Match Code and Lock objects are called aggregate objects because they are formed from several related table.

• What is view? Different types of view. Explain?
Ans View - A view is a virtual table containing fields from one or more tables. A virtual table that does not contain any data, but instead provides an application-oriented view of one or more ABAP Dictionary tables.

Different Types of View:
1) Maintenance
2) Database – It is on more than two tables.
3) Projection – It is only on one table.
4) Help

• Can u print decimals in type N? What is difference between float and packed data type?
Ans No, we cannot print decimals in type N because decimal places are not permitted with N data type.
Float Data Type: It cannot be declared in Parameters.
Packed Number: It can be declared in Parameters. For e.g.
PARAMETERS : A(4) TYPE P DECIMALS 2,
B(4) TYPE P DECIMALS 2.
DATA : C(4) TYPE P DECIMALS 2.
C = A + B.
WRITE : / ‘THE SUM IS’ , C.

• What is step-loop? Explain all the steps?
Ans A step loop is a repeated series of field-blocks in a screen. Each block can contain one or more fields, and can extend over more than one line on the screen.
• Step loops as structures in a screen do not have individual names. The screen can contain more than one step-loop, but if so, you must program the LOOP…ENDLOOPs in the flow logic accordingly. The ordering of the LOOP…ENDLOOPs must exactly parallel the order of the step loops in the screen. The ordering tells the system which loop processing to apply to which loop. Step loops in a screen are ordered primarily by screen row, and secondarily by screen column.
• Transaction TZ61 (development class SDWA) implements a step loop version of the table you saw in transaction TZ60.

Static and Dynamic Step Loops
Step loops fall into two classes: static and dynamic. Static step loops have a fixed size that cannot be changed at runtime. Dynamic step loops are variable in size. If the user re-sizes the window, the system automatically increases or decreases the number of step loop blocks displayed. In any given screen, you can define any number of static step loops, but only a single dynamic one.

You specify the class for a step loop in the Screen Painter. Each loop in a screen has the attributes Looptype (fixed=static, variable=dynamic) and Loop count. If a loop is fixed, the Loop count tells the number of loop-blocks displayed for the loop. This number can never change.
Programming with static and dynamic step loops is essentially the same. You can use both the LOOP and LOOP AT statements for both types.

Looping in a Step Loop
When you use LOOP AT with a step loop, the system automatically displays the step loop with vertical scroll bars. The scroll bars, and the updated (scrolled) table display, are managed by the system.
Use the following additional parameters if desired:
•FROM and TO
•CURSOR

• What are the various types of selection screen event?
Ans SELECTION-SCREEN BEGIN OF BLOCK ABC WITH FRAME TITLE T01.
SELECTION-SCREEN BEGIN OF SCREEN 500 AS WINDOW.
CALL SELECTION-SCREEN 500 STARTING AT 10 10.


• What are the system fields? Explain?
Ans The ABAP system fields are active in all ABAP programs. They are filled by the runtime environment, and you can query their values in a program to find out particular states of the system. Although they are variables, you should not assign your own values to them, since this may overwrite information that is important for the normal running of the program. However, there are some isolated cases in which you may need to overwrite a system variable. For example, by assigning a new value to the field SY-LSIND, you can control navigation within details lists.

• What is SAP Script? What is the purpose of SAP Script? Difference between
SAP Script and Report?
• SAP Script – It is the integrated text management system of the SAP R/3 System. Two types – PC Editor & Line Editor.
• Reports - It is the way to display data fetched from database table onto screen or directly output it to a printer. Two types – Classical and Interactive.

• What is the use of occurs in internal table? Can u change occurs value in program?
Ans Use of Occurs - If you use the OCCURS parameter, the value of the INITIAL SIZE of the table is returned to the variable
Data : Begin of ITAB occurs 0,
End of ITAB.

Occurs or Initial Size – to specify the initial amount of memory that should be assigned to the table.
Yes, we can change the occurs value in program but output remains the same.

• Difference between SY-TABIX and SY-INDEX? Where it is used? Can u check SY-SUBRC after perform?
SY-TABIX - Current line of an internal table. SY-TABIX is set by the statements below, but only for index tables. The field is either not set or is set to 0 for hashed tables.
* APPEND sets SY-TABIX to the index of the last line of the table, that is, it contains the overall number of entries in the table.
* COLLECT sets SY-TABIX to the index of the existing or inserted line in the table. If the table has the type HASHED TABLE, SY-TABIX is set to 0.
* LOOP AT sets SY-TABIX to the index of the current line at the beginning of each loop lass. At the end of the loop, SY-TABIX is reset to the value that it had before entering the loop. It is set to 0 if the table has the type HASHED TABLE.
* READ TABLE sets SY-TABIX to the index of the table line read. If you use a binary search, and the system does not find a line, SY-TABIX contains the total number of lines, or one more than the total number of lines. SY-INDEX is undefined if a linear search fails to return an entry.
SEARCH FOR sets SY-TABIX to the index of the table line in which the search string is found.
SY_INDEX - In a DO or WHILE loop, SY-INDEX contains the number of loop passes including the current pass.

• What are the different functions used in sap script? What are the parameters used in each Function?
Ans There are three different functions used in SAP Script:
1) OPEN_FORM
2) WRITE_FORM
3) CLOSE_FORM

Parameters in Each Function:
1) OPEN_FORM–
Exporting
Form
Language

2) WRITE_FORM–
Exporting
Element
Window

3) CLOSE_FORM

What is sequence of event triggered in report?
There are 6 events in report:
1) Initialization
2) At Selection-Screen
3) Start-of-Selection
4) Get
5) Get Late
6) End-of-Selection
7) Top-of-Page
End-of-Page

9) At Line Selection
10) At User Command
11) At PF (nn)

• What are standard layouts sets in the SAP Script?
Ans There are four standard layouts in the SAP Script:

1) Header
2) Logo
3) Main Window
4) Footer

• Difference between UPLOAD and WS_UPLOAD?
Ans UPLOAD - File transfer with dialog from presentation server file to internal table. Data which is available in a file on the presentation server is transferred in an internal table. ASCII & Binary files can be transferred.
WS_UPLOAD - To read data from the presentation server into an internal table without a user dialog, use the function module WS_UPLOAD. The most important parameters are listed below.

Parameters Function
CODEPAGE Only for upload under DOS: Value IBM
FILENAME Filename
FILETYPE File type

• What is a Logical Database?
Ans Logical Databases are special ABAP programs that retrieve data and make it available to application programs.
Use of LDB – is used to read data from database tables by linking them to executable ABAP programs.

• What are the events used for Logical Database?
Ans Two Events –
1) GET - This is the most important event for executable programs that use a logical database. It occurs when the logical database has read a line from the node
and made it available to the program in the work area declared using the statement NODES . The depth to which the logical database is read is determined by the GET statements2) PUT - The PUT statement directs the program flow according to the structure of the logical database.

• What is the difference between Get and Get Late?
Ans GET - After the logical database has read an entry from the node
.GET LATE - After all of the nodes of the logical database have been processed that are below in the database hierarchy.

• What are the data types of Internal Tables?
Ans There are three types:
1) Line
2) Key
3) Table

• What are the events used in ABAP in the order of execution?
Ans Events are:
1. INITIALIZATION
2. AT SELECTION-SCREEN
3. AT SELECTION-SCREEN ON
4. START-OF-SELECTION
5. TOP-OF-PAGE
6. TOP-OF-PAGE DURING LINE SELECTION
7. END-OF-PAGE
8. END-OF-SELECTION
9. AT USER-COMMAND
10. AT LINE-SELECTION
11. AT PF
12. GET
13. GET LATE.

14. AT User Command

• What are Interactive Reports?
Ans An output list which displays just the basic details & allow user to interact, so that a new list is populated based on user-selection. With interactive list, the user can actively control data retrieval and display during the session.

• What are the commands used for interactive reports?
Top-of-Page during line-selection

• What are the system fields u have worked with? Explain?
Ans I had worked with the following (30) system fields:
1) SY-DBSYS - Central Database
2) SY-HOST - Server
3) SY-OPSYS - Operating System
4) SY-SAPRL - SAP Release
5) SY-SYSID - System Name
6) SY-LANGU - User Logon Language
7) SY-MANDT - Client
SY-UNAME - Logon User Name
9) SY-DATLO - Local Date
10) SY-DATUM - Server Date
11) SY-TIMLO - Local Time
12) SY-UZEIT - Server Time
13) SY-DYNNR - Screen Number
14) SY-REPID - Current ABAP program
15) SY-TCODE - Transaction Code
16) SY-ULINE - Horizontal Line
17) SY-VLINE - Vertical Line
18) SY-INDEX - Number of current loop Pass
19) SY-TABIX - Current line of internal table

20) SY-DBCNT - Number of table entries processed
21) SY-SUBRC - Return Code
22) SY-UCOMM - Function Code
23) SY-LINCT - Page Length of list
24) SY-LINNO - Current Line
25) SY-PAGNO - Current Page Number
26) SY-LSIND - Index of List
27) SY-MSGID - Message Class
28) SY-MSGNO - Message Number
29) SY-MSGTY - Message Type
30) SY-SPONO - Spool number during printing

• What is the difference between Primary key and Unique Key?
Ans Primary Key – It can accepts 0 value and cannot be NULL.
Unique Key – It can be NULL.

• What is the transaction code for Table maintenance?
Ans SM30

• If u are using Logical Databases how will u modify the selection-screen elements?
Ans Select-options : dname for deptt-dname.

• What is an RFC?
Ans Remote Function Call

• What are the events in Screen Programming?
There are two events in Screen Programming:
1. PBO (Process Before Output) – Before the screen is displayed, the PBO event is processed.
2. PAI (Process After Input) – When the user interacts with the screen, the PAI event is processed.
3. POH (Process On Help) - are triggered when the user requests field help (F1). You can program the appropriate coding in the corresponding event blocks. At the end of processing, the system carries on processing the current screen.
4. POV (Process On Value) - are triggered when the user requests possible values help (F4). You can program the appropriate coding in the corresponding event blocks. At the end of processing, the system carries on processing the current screen.

• What is the significance of HIDE?
Ans Its stores the click value and display the related record in the secondary list.

• Where do u code the HIDE statement?
Ans In a LOOP statement

• Types of BDC’s?
Ans There are two types of BDC’s:
1) Transaction Method
2) Session Method

• Advantages & Disadvantages of different types of BDC’s?
Ans Transaction Method:
1) It is faster than session method.
2) While executing, it starts from starting.
Session Method:
1) It is slower than transaction method.
2) While executing, it does not start from starting.

• What are the events used in Interactive Reports.
Ans There are three events of Interactive Reports:
I. At PF(nn)
II. At line-selection
III. At user-command

• What is an RDBMS?
RDBMS – Relational Database Management System. It helps to create relationship between two or more table.

• What will you code in START-OF-SELECTION & END-OF-SELECTON & why?
Ans START-OF-SELECTION
SELECT * FROM DEPTT INTO CORRESPONDING FIELDS OF ITAB
WHERE DEPTNO IN DEPTNO.
APPEND ITAB.
ENDSELECT.
LOOP AT ITAB.
WRITE : / 10 ITAB-DEPTNO.
HIDE : ITAB-DEPTNO.
ENDLOOP.
END-OF-SELECTION

• What are joins and different types joins?
Ans There are four types of Joins:
1) Self Join
2) Inner Join
3) Outer Join
4) Equi Join
51) Which is the default join?

• How do u display a data in a Detail List?
Ans By using two statements:
1) Top-of-page during line-selection
2) At line-selection

What are the types of windows in SAP Script?
Ans There are five Standard Layouts in SAP Script:
1) Page

2) Window
3) Page Window
4) Paragraph Format
5) Character Format

• What are the function modules used in a SAP Script driver program?
Ans There are three functions used in SAP Script:
1) OPEN_FORM
2) WRITE_FORM
3) CLOSE_FORM