Different types of Selection Screens in abap

Different Types of Selection Screens

What is:
1. at selection-screen on field
2. at selection-screen output
3. at selection-screen block
4. at selection-screen on value-request
5. at selection-screen on help-request and their difference?

For knowing Selection-screens:

First you must have right understanding of Events.
– Events are introduced by Event Keyword.  They end when again next processs begins.

Selection-screens are special screen defined in ABAP.
– This ABAP at run time only controls the flow logic of Selection-screens.  The PBO and PAI triggers the num of. selection-screens.

The basic form of the selection screen events is the AT SELECTION-SCREEN event. This event occurs after the runtime environment has passed all input data from the selection screen to the ABAP program. The other selection screen events allow programmers to modify the selection screen before it is sent and specifically check user input.

At Selection-screen OUTPUT is trigerred in PBO of selection-screen.
– This allows you to modify the Selection-screen, before it is displayed.

At Selection-screen On Field is triggered in PAI of selection-screens.
– The input fields can b checked,in the corresponding event block. If an error message occurs within this event block, the corresponding field is made ready for input again on the selection screen.

At Selection-screen On Block is trigerred in PAI event.
– You define a block  by enclosing the declarations of the elements in the block between the statements SELECTION-SCREEN BEGIN OF BLOCK block – END OF BLOCK block. You can use this event block to check the consistency of the input fields in the block.

At Selection-screen On value request.
– This event is trigerred for F4 help.

At Selection-screen On help request .
– This event is triggered when the user clicks F1 for help on fileds.


For all entries in abap


When should we go for inner joins and when for all entries?? basic explanation is given below..

say if u want to display material and its text. u can use this concept.


~from the master table i’m selecting the materials based on the input s_matnr.

~then for the materials selected above , i have to get their corresponding description.


select matnr from mara into table i_matnr

where matnr in s_matnr.


if sy-subrc = 0.

select matnr maktx

from makt into table i_makt

for all entries in i_matnr

where matnr = i_mara-matnr.


This is similar to INNER JOIN concept. get the common data from 2 tables based on the input. Sometimes Join will give poor performance , n there u can use FOR ALL ENTRIES.


Joins have the advantage of linking two or more tables based on few of the conditions.However, there are a few disadvantages with same.

1) Duplicates are removed from the resulting set.Hence proper care has to be taken for the unique fields and keys that are used to determine the result.

2)If the resulting table is going to be very large, performace can be well affected.

   It is in this scenario , we use “for all entries“.The strategy would be to obtain the results for first table and based on the entries of first table, second table is filled and so on.But if the table on which the For All Entries IN clause is based is empty, all rows are selected into the destination table. Hence it is advisable to check before-hand that the first table is not empty. 

For more: http://help.sap.com/abapdocu_702/en/abenwhere_logexp_itab.htm

HTML5 New API’s and Changed API’s


HTML5 has introduced many new APIs and have extended, changed or obsoleted some existing APIs.

5.1 New APIs

HTML5 introduces a number of APIs that help in creating Web applications. These can be used together with the new elements introduced for applications:

  • Media elements (video and audio) have APIs for controlling playback, syncronising multiple media elements, and timed text tracks (e.g. subtitles).
  • An API for form constraint validation (e.g. the setCustomValidity() method).
  • An API for commands that the user can invoke (used together with the command element among others).
  • An API that enables offline Web applications, with an application cache.
  • An API that allows a Web application to register itself for certain protocols or media types, using registerProtocolHandler() and registerContentHandler() .
  • Editing API in combination with a new global contenteditable attribute.
  • Drag & drop API in combination with a draggable attribute.
  • An API that exposes the components of the document’s URL and allows scripts to navigate, redirect and reload (the Location interface).
  • An API that exposes the session history and allows scripts to update the document’s URL without actually navigating, so that applications don’t need to abuse the fragment component for “Ajax-style” navigation (the History interface).
  • An API for base64 conversion (atob() and btoa() methods).
  • An API to schedule timer-based callbacks (setTimeout() and setInterval()).
  • An API to prompt the user (alert()confirm()prompt()showModalDialog()).
  • An API for printing the document (print()).
  • An API for handling search providers (AddSearchProvider() and IsSearchProviderInstalled()).
  • The Window object has been defined.

WHATWG HTML has further APIs that are not in HTML5 but are separate specifications at the W3C:

5.2 Changed APIs

The following features from DOM Level 2 HTML are changed in various ways: