<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: at selection screen in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/at-selection-screen/m-p/2088956#M434053</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Balu,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check this code.&lt;/P&gt;&lt;P&gt;1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON HELP-REQUEST FOR &amp;lt;field&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The event is triggered when the user calls the F1 help for the field &amp;lt;field&amp;gt;. If no corresponding event block has been defined, the help from the ABAP Dictionary is displayed, or none at all if the field has no Dictionary reference. If a corresponding event block exists, it takes precedence over the default help mechanism. It is then up to the programmer to ensure that appropriate help is displayed. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You cannot declare the event block AT SELECTION-SCREEN ON HELP-REQUEST for input fields on the selection screen that are declared within a logical database. You cannot override the help mechanism of a logical database within the program. You can define separate help within the logical database program using the HELP-REQUEST option in the PARAMETERS and SELECT-OPTIONS statements&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT SELECTION_SCREEN_F1_DEMO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: P_CARR_1 TYPE S_CARR_ID,&lt;/P&gt;&lt;P&gt;            P_CARR_2 TYPE S_CARR_ID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON HELP-REQUEST FOR P_CARR_2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL SCREEN 100 STARTING AT 10 5&lt;/P&gt;&lt;P&gt;                  ENDING   AT 60 10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you have two parameters, you want to display values(f4) in parameter 2, depending on the values entered in parameter 1. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT Z_SRI_HELP_VALUE_FOR_TABLES . &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tables tcurt. &lt;/P&gt;&lt;P&gt;DATA   DYFIELDS LIKE DYNPREAD OCCURS 1 WITH HEADER LINE. &lt;/P&gt;&lt;P&gt;PARAMETERS: P_WAERS LIKE TCURT-WAERS,        "Currency &lt;/P&gt;&lt;P&gt;            P_LTEXT LIKE TCURT-LTEXT,        "Long Text &lt;/P&gt;&lt;P&gt;            P_KTEXT LIKE TCURT-KTEXT.        "Short Text &lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;*--- Example of updating value of another field on the screen -&lt;/P&gt;&lt;HR originaltext="---------" /&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_WAERS. &lt;/P&gt;&lt;P&gt;  CLEAR: DYFIELDS[], DYFIELDS. &lt;/P&gt;&lt;P&gt;*--- select currency &lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'HELP_VALUES_GET' &lt;/P&gt;&lt;P&gt;       EXPORTING &lt;/P&gt;&lt;P&gt;            fieldname        =  'WAERS' &lt;/P&gt;&lt;P&gt;            tabname          =  'TCURT' &lt;/P&gt;&lt;P&gt;       IMPORTING &lt;/P&gt;&lt;P&gt;            SELECT_VALUE     =   P_WAERS. &lt;/P&gt;&lt;P&gt;*--- get long text for the selected currency &lt;/P&gt;&lt;P&gt;  SELECT SINGLE LTEXT FROM TCURT &lt;/P&gt;&lt;P&gt;    INTO DYFIELDS-FIELDVALUE &lt;/P&gt;&lt;P&gt;    WHERE SPRAS = SY-LANGU &lt;/P&gt;&lt;P&gt;    AND   WAERS = P_WAERS. &lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0. &lt;/P&gt;&lt;P&gt;    CLEAR DYFIELDS-FIELDVALUE. &lt;/P&gt;&lt;P&gt;  ENDIF. &lt;/P&gt;&lt;P&gt;*--- update another field &lt;/P&gt;&lt;P&gt;  DYFIELDS-FIELDNAME = 'P_LTEXT'. &lt;/P&gt;&lt;P&gt;  APPEND DYFIELDS. &lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'DYNP_VALUES_UPDATE' &lt;/P&gt;&lt;P&gt;       EXPORTING &lt;/P&gt;&lt;P&gt;            DYNAME               = SY-CPROG &lt;/P&gt;&lt;P&gt;            DYNUMB               = SY-DYNNR &lt;/P&gt;&lt;P&gt;       tables &lt;/P&gt;&lt;P&gt;            dynpfields           = DYFIELDS . &lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;*--- Example of reading value of another field -&lt;/P&gt;&lt;HR originaltext="------------------------" /&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_KTEXT. &lt;/P&gt;&lt;P&gt;*--- read another field &lt;/P&gt;&lt;P&gt;  CLEAR: DYFIELDS[], DYFIELDS. &lt;/P&gt;&lt;P&gt;  DYFIELDS-FIELDNAME = 'P_WAERS'. &lt;/P&gt;&lt;P&gt;  APPEND DYFIELDS. &lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'DYNP_VALUES_READ' &lt;/P&gt;&lt;P&gt;       EXPORTING &lt;/P&gt;&lt;P&gt;            DYNAME                   = SY-CPROG &lt;/P&gt;&lt;P&gt;            DYNUMB                   = SY-DYNNR &lt;/P&gt;&lt;P&gt;       TABLES &lt;/P&gt;&lt;P&gt;            DYNPFIELDS               = DYFIELDS . &lt;/P&gt;&lt;P&gt;  READ TABLE DYFIELDS INDEX 1. &lt;/P&gt;&lt;P&gt;*--- get short text and update current field &lt;/P&gt;&lt;P&gt;  SELECT SINGLE KTEXT FROM TCURT &lt;/P&gt;&lt;P&gt;    INTO P_KTEXT &lt;/P&gt;&lt;P&gt;    WHERE SPRAS EQ SY-LANGU &lt;/P&gt;&lt;P&gt;    AND   WAERS EQ DYFIELDS-FIELDVALUE. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this resolves your query.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward all the helpful answers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 11 Apr 2007 05:02:38 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-04-11T05:02:38Z</dc:date>
    <item>
      <title>at selection screen</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/at-selection-screen/m-p/2088955#M434052</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi what is the use of at selection screen on Value request and Help request?&lt;/P&gt;&lt;P&gt;how to include these in the program? explain with code?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Apr 2007 05:00:39 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/at-selection-screen/m-p/2088955#M434052</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-11T05:00:39Z</dc:date>
    </item>
    <item>
      <title>Re: at selection screen</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/at-selection-screen/m-p/2088956#M434053</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Balu,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check this code.&lt;/P&gt;&lt;P&gt;1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON HELP-REQUEST FOR &amp;lt;field&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The event is triggered when the user calls the F1 help for the field &amp;lt;field&amp;gt;. If no corresponding event block has been defined, the help from the ABAP Dictionary is displayed, or none at all if the field has no Dictionary reference. If a corresponding event block exists, it takes precedence over the default help mechanism. It is then up to the programmer to ensure that appropriate help is displayed. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You cannot declare the event block AT SELECTION-SCREEN ON HELP-REQUEST for input fields on the selection screen that are declared within a logical database. You cannot override the help mechanism of a logical database within the program. You can define separate help within the logical database program using the HELP-REQUEST option in the PARAMETERS and SELECT-OPTIONS statements&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT SELECTION_SCREEN_F1_DEMO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: P_CARR_1 TYPE S_CARR_ID,&lt;/P&gt;&lt;P&gt;            P_CARR_2 TYPE S_CARR_ID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON HELP-REQUEST FOR P_CARR_2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL SCREEN 100 STARTING AT 10 5&lt;/P&gt;&lt;P&gt;                  ENDING   AT 60 10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you have two parameters, you want to display values(f4) in parameter 2, depending on the values entered in parameter 1. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT Z_SRI_HELP_VALUE_FOR_TABLES . &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tables tcurt. &lt;/P&gt;&lt;P&gt;DATA   DYFIELDS LIKE DYNPREAD OCCURS 1 WITH HEADER LINE. &lt;/P&gt;&lt;P&gt;PARAMETERS: P_WAERS LIKE TCURT-WAERS,        "Currency &lt;/P&gt;&lt;P&gt;            P_LTEXT LIKE TCURT-LTEXT,        "Long Text &lt;/P&gt;&lt;P&gt;            P_KTEXT LIKE TCURT-KTEXT.        "Short Text &lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;*--- Example of updating value of another field on the screen -&lt;/P&gt;&lt;HR originaltext="---------" /&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_WAERS. &lt;/P&gt;&lt;P&gt;  CLEAR: DYFIELDS[], DYFIELDS. &lt;/P&gt;&lt;P&gt;*--- select currency &lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'HELP_VALUES_GET' &lt;/P&gt;&lt;P&gt;       EXPORTING &lt;/P&gt;&lt;P&gt;            fieldname        =  'WAERS' &lt;/P&gt;&lt;P&gt;            tabname          =  'TCURT' &lt;/P&gt;&lt;P&gt;       IMPORTING &lt;/P&gt;&lt;P&gt;            SELECT_VALUE     =   P_WAERS. &lt;/P&gt;&lt;P&gt;*--- get long text for the selected currency &lt;/P&gt;&lt;P&gt;  SELECT SINGLE LTEXT FROM TCURT &lt;/P&gt;&lt;P&gt;    INTO DYFIELDS-FIELDVALUE &lt;/P&gt;&lt;P&gt;    WHERE SPRAS = SY-LANGU &lt;/P&gt;&lt;P&gt;    AND   WAERS = P_WAERS. &lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0. &lt;/P&gt;&lt;P&gt;    CLEAR DYFIELDS-FIELDVALUE. &lt;/P&gt;&lt;P&gt;  ENDIF. &lt;/P&gt;&lt;P&gt;*--- update another field &lt;/P&gt;&lt;P&gt;  DYFIELDS-FIELDNAME = 'P_LTEXT'. &lt;/P&gt;&lt;P&gt;  APPEND DYFIELDS. &lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'DYNP_VALUES_UPDATE' &lt;/P&gt;&lt;P&gt;       EXPORTING &lt;/P&gt;&lt;P&gt;            DYNAME               = SY-CPROG &lt;/P&gt;&lt;P&gt;            DYNUMB               = SY-DYNNR &lt;/P&gt;&lt;P&gt;       tables &lt;/P&gt;&lt;P&gt;            dynpfields           = DYFIELDS . &lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;*--- Example of reading value of another field -&lt;/P&gt;&lt;HR originaltext="------------------------" /&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_KTEXT. &lt;/P&gt;&lt;P&gt;*--- read another field &lt;/P&gt;&lt;P&gt;  CLEAR: DYFIELDS[], DYFIELDS. &lt;/P&gt;&lt;P&gt;  DYFIELDS-FIELDNAME = 'P_WAERS'. &lt;/P&gt;&lt;P&gt;  APPEND DYFIELDS. &lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'DYNP_VALUES_READ' &lt;/P&gt;&lt;P&gt;       EXPORTING &lt;/P&gt;&lt;P&gt;            DYNAME                   = SY-CPROG &lt;/P&gt;&lt;P&gt;            DYNUMB                   = SY-DYNNR &lt;/P&gt;&lt;P&gt;       TABLES &lt;/P&gt;&lt;P&gt;            DYNPFIELDS               = DYFIELDS . &lt;/P&gt;&lt;P&gt;  READ TABLE DYFIELDS INDEX 1. &lt;/P&gt;&lt;P&gt;*--- get short text and update current field &lt;/P&gt;&lt;P&gt;  SELECT SINGLE KTEXT FROM TCURT &lt;/P&gt;&lt;P&gt;    INTO P_KTEXT &lt;/P&gt;&lt;P&gt;    WHERE SPRAS EQ SY-LANGU &lt;/P&gt;&lt;P&gt;    AND   WAERS EQ DYFIELDS-FIELDVALUE. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this resolves your query.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward all the helpful answers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Apr 2007 05:02:38 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/at-selection-screen/m-p/2088956#M434053</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-11T05:02:38Z</dc:date>
    </item>
    <item>
      <title>Re: at selection screen</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/at-selection-screen/m-p/2088957#M434054</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi balu&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) at selection screen on Value request&lt;/P&gt;&lt;P&gt;This event is fired when the user hits F4 on the field. This is used to provide F4 Help for the field. Here is a sample program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;report zrich_0001 .&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;tables: t001.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;data: begin of it001 occurs 0,&lt;/P&gt;&lt;P&gt;      bukrs type t001-bukrs,&lt;/P&gt;&lt;P&gt;      butxt type t001-butxt,&lt;/P&gt;&lt;P&gt;      ort01 type t001-ort01,&lt;/P&gt;&lt;P&gt;      land1 type t001-land1,&lt;/P&gt;&lt;P&gt;      end of it001.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;select-options s_bukrs for t001-bukrs.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;initialization.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  select bukrs butxt ort01 land1 into table it001 from t001.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;at selection-screen on value-request for s_bukrs-low.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  call function 'F4IF_INT_TABLE_VALUE_REQUEST'&lt;/P&gt;&lt;P&gt;       exporting&lt;/P&gt;&lt;P&gt;            retfield    = 'BUKRS'&lt;/P&gt;&lt;P&gt;            dynprofield = 'S_BUKRS'&lt;/P&gt;&lt;P&gt;            dynpprog    = sy-cprog&lt;/P&gt;&lt;P&gt;            dynpnr      = sy-dynnr&lt;/P&gt;&lt;P&gt;            value_org   = 'S'&lt;/P&gt;&lt;P&gt;       tables&lt;/P&gt;&lt;P&gt;            value_tab   = it001.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;2) on help request is for f1 help&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When the user presses F1 on the relevant field, the subsequent processing block is executed. You can thus implement a self-programmed help for the input/output fields of the selection screen. If the program contains such an event and the user presses F1, the system processes this rather than displaying the documentation of the Dictionary field - even if the report parameter or the selection option with LIKE or FOR points to a Dictionary field. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards &lt;/P&gt;&lt;P&gt;navjot&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;reward if helpfull&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: &lt;/P&gt;&lt;P&gt;        navjot sharma&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Apr 2007 05:03:45 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/at-selection-screen/m-p/2088957#M434054</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-11T05:03:45Z</dc:date>
    </item>
    <item>
      <title>Re: at selection screen</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/at-selection-screen/m-p/2088958#M434055</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi...&lt;/P&gt;&lt;P&gt;     You can call dialog modules in the POV event using the event keyword PROCESS ON VALUE-REQUEST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PROCESS ON VALUE-REQUEST.&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;  FIELD &amp;lt;f&amp;gt; MODULE &amp;lt;mod&amp;gt;.&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After the PROCESS ON VALUE-REQUEST statement, you can only use the MODULE statement together with the FIELD statement. When the user chooses F4 for a field &amp;lt;f&amp;gt;, the system calls the module &amp;lt;mod&amp;gt; belonging to the FIELD &amp;lt;f&amp;gt; statement. If there is more than one FIELD statement for the same field &amp;lt;f&amp;gt;, only the first is executed. The module &amp;lt;mod&amp;gt; is defined in the ABAP program like a normal PAI module. However, the contents of the screen field &amp;lt;f&amp;gt; are not available, since it is not transported by the FIELD statement during the PROCESS ON HELP-REQUEST event. You can now program your own value lists in the module. However, this procedure is only recommended if it really is not possible to use a search help. Defining search helps is much easier than PROCESS ON VALUE-REQUEST, since the system takes over some of the standard operations, such as getting field contents from the screen. It also ensures that the F4 help has a uniform look and feel throughout the system. Furthermore, it means that you do not have to reassign input help to fields on each screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Despite the introduction of search helps (and search help exits), there are still cases in which you need to use parts of the standard F4 functions directly. In this case, there are some standard function modules that you can use in the POV event. They support search helps, as well as all other kinds of input help, and are responsible for data transport between the screen and the input help. These all have the prefix F4IF_. The most important are:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;F4IF_FIELD_VALUE_REQUEST&lt;/P&gt;&lt;P&gt;Calls the input help of the ABAP Dictionary dynamically. You can pass the component names of a structure or database table of the ABAP Dictionary to the function module in the import parameters TABNAME and FIELDNAME. The function module starts the ABAP Dictionary input help for this component. All of the relevant screen fields are read. If you specify the import parameters DYNPPROG, DYNPNR, and DYNPROFIELD, the user&amp;#146;s selection is returned to the corresponding field on the screen. If you specify the table parameter RETURN_TAB, the selection is returned into the table instead.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;F4IF_INT_TABLE_VALUE_REQUEST&lt;/P&gt;&lt;P&gt;This function module displays a value list that you created in an ABAP program. The value list is passed to the function module as the table parameter VALUE_TAB. If you specify the import parameters DYNPPROG, DYNPNR, and DYNPROFIELD, the user&amp;#146;s selection is returned to the corresponding field on the screen. If you specify the table parameter RETURN_TAB, the selection is returned into the table instead. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There are also two function modules - DYNP_VALUES_READ and DYNP_VALUES_UPDATE - that can read the values of screen fields and return values to them during the POV event. For further information, refer to the relevant function module documentation. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Input help in dialog modules&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT DEMO_DYNPRO_F4_HELP_MODULE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF VALUES,&lt;/P&gt;&lt;P&gt;         CARRID TYPE SPFLI-CARRID,&lt;/P&gt;&lt;P&gt;         CONNID TYPE SPFLI-CONNID,&lt;/P&gt;&lt;P&gt;       END OF VALUES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: CARRIER(3) TYPE C,&lt;/P&gt;&lt;P&gt;      CONNECTION(4) TYPE C.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: PROGNAME LIKE SY-REPID,&lt;/P&gt;&lt;P&gt;      DYNNUM   LIKE SY-DYNNR,&lt;/P&gt;&lt;P&gt;      DYNPRO_VALUES TYPE TABLE OF DYNPREAD,&lt;/P&gt;&lt;P&gt;      FIELD_VALUE LIKE LINE OF DYNPRO_VALUES,&lt;/P&gt;&lt;P&gt;      VALUES_TAB TYPE TABLE OF VALUES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL SCREEN 100.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE INIT OUTPUT.&lt;/P&gt;&lt;P&gt;  PROGNAME = SY-REPID.&lt;/P&gt;&lt;P&gt;  DYNNUM   = SY-DYNNR.&lt;/P&gt;&lt;P&gt;  CLEAR: FIELD_VALUE, DYNPRO_VALUES.&lt;/P&gt;&lt;P&gt;  FIELD_VALUE-FIELDNAME = 'CARRIER'.&lt;/P&gt;&lt;P&gt;  APPEND FIELD_VALUE TO DYNPRO_VALUES.&lt;/P&gt;&lt;P&gt;ENDMODULE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE CANCEL INPUT.&lt;/P&gt;&lt;P&gt;  LEAVE PROGRAM.&lt;/P&gt;&lt;P&gt;ENDMODULE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE VALUE_CARRIER INPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            TABNAME           = 'DEMOF4HELP'&lt;/P&gt;&lt;P&gt;            FIELDNAME         = 'CARRIER1'&lt;/P&gt;&lt;P&gt;            DYNPPROG          =  PROGNAME&lt;/P&gt;&lt;P&gt;            DYNPNR            =  DYNNUM&lt;/P&gt;&lt;P&gt;            DYNPROFIELD       = 'CARRIER'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE VALUE_CONNECTION INPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'DYNP_VALUES_READ'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            DYNAME                   = PROGNAME&lt;/P&gt;&lt;P&gt;            DYNUMB                   = DYNNUM&lt;/P&gt;&lt;P&gt;            TRANSLATE_TO_UPPER       = 'X'&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            DYNPFIELDS               = DYNPRO_VALUES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE DYNPRO_VALUES INDEX 1 INTO FIELD_VALUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT  CARRID CONNID&lt;/P&gt;&lt;P&gt;    FROM  SPFLI&lt;/P&gt;&lt;P&gt;    INTO  CORRESPONDING FIELDS OF TABLE VALUES_TAB&lt;/P&gt;&lt;P&gt;    WHERE CARRID = FIELD_VALUE-FIELDVALUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            RETFIELD         = 'CONNID'&lt;/P&gt;&lt;P&gt;            DYNPPROG         = PROGNAME&lt;/P&gt;&lt;P&gt;            DYNPNR           = DYNNUM&lt;/P&gt;&lt;P&gt;            DYNPROFIELD      = 'CONNECTION'&lt;/P&gt;&lt;P&gt;            VALUE_ORG        = 'S'&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            VALUE_TAB        = VALUES_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The input fields have been adopted from the program fields CARRIER and CONNECTION. The pushbutton has the function code CANCEL with function type E.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The screen flow logic is as follows: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PROCESS BEFORE OUTPUT.&lt;/P&gt;&lt;P&gt;  MODULE INIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PROCESS AFTER INPUT.&lt;/P&gt;&lt;P&gt;  MODULE CANCEL AT EXIT-COMMAND.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PROCESS ON VALUE-REQUEST.&lt;/P&gt;&lt;P&gt;  FIELD CARRIER MODULE VALUE_CARRIER.&lt;/P&gt;&lt;P&gt;  FIELD CONNECTION MODULE VALUE_CONNECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When the user chooses input help for the individual fields, the following is displayed:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For the Airline field, the POV module VALUE_CARRIER is called. The function module F4IF_FIELD_VALUE_REQUEST displays the input help for the component CARRIER1 of the structure DEMOF4HELP from the ABAP Dictionary, namely the search help DEMOF4DE. The user&amp;#146;s selection is returned to the screen field CARRIER. &lt;/P&gt;&lt;P&gt;For the Flight number field, the POV module VALUE_CONNECTION is called. The function module DYNP_VALUE_READ transports the value of the screen field CARRIER into the program. The program then reads the corresponding values from the database table SPFLI into the internal table VALUES_TAB using a SELECT statement, and passes the internal table to F4IF_INT_TABLE_VALUE_REQUEST. This displays the internal table as input help, and places the user&amp;#146;s selection into the screen field CONNECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;veeresh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Apr 2007 05:05:32 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/at-selection-screen/m-p/2088958#M434055</guid>
      <dc:creator>former_member673464</dc:creator>
      <dc:date>2007-04-11T05:05:32Z</dc:date>
    </item>
    <item>
      <title>Re: at selection screen</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/at-selection-screen/m-p/2088959#M434056</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &amp;lt;b&amp;gt;ON VALUE-REQUEST FOR psel_low_high&amp;lt;/b&amp;gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Effect&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;With this addition, the field psel_low_high is either the name of a report parameter or of the form sel-LOW or sel-HIGH , where sel is the name of a selection criterion. The effect of this is twofold: &lt;/P&gt;&lt;P&gt;The pushbutton for F4 (Possible entries) appears beside the appropriate field. &lt;/P&gt;&lt;P&gt;When the user selects this pushbutton or presses F4 for the field, the event is executed. You can thus implement a self-programmed possible entries routine for the input/output fields of the selection screen. If the program contains such an event and the user presses F4 , the system processes this rather than displaying the check table or the fixed values of the Dictionary field - even if the report parameter or the selection option with LIKE or FOR points to a Dictionary field. You can, for example, use the CALL SCREEN statement to display a selection list of possible values. The contents of the field psel_low_high at the end of this processing block are copied to the appropriate input/output field. &lt;/P&gt;&lt;P&gt;This addition is only allowed with report-specific parameters (PARAMETERS ) or selection options (SELECT-OPTIONS ). For database-specific parameters or selection options, you can achieve the same effect by using the addition VALUE-REQUEST FOR ... with the key word PARAMETERS or SELECT-OPTIONS in the include DBxyzSEL (where xyz = name of logical database). In this case, you must program the value help in the database program SAPDBxyz . &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;... &amp;lt;b&amp;gt;ON HELP-REQUEST FOR psel_low_high&amp;lt;/b&amp;gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Effect&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As with the addition ON VALUE-REQUEST the field psel_low_high is either the name of a report parameter or of the form sel-LOW or sel-HIGH , where sel is the name of a selection criterion. When the user presses F1 on the relevant field, the subsequent processing block is executed. You can thus implement a self-programmed help for the input/output fields of the selection screen. If the program contains such an event and the user presses F1 , the system processes this rather than displaying the documentation of the Dictionary field - even if the report parameter or the selection option with LIKE or FOR points to a Dictionary field. &lt;/P&gt;&lt;P&gt;This addition is only allowed with report-specific parameters (PARAMETERS ) or selection options (SELECT-OPTIONS ). For database-specific parameters or selection options, you can achieve the same effect by using the addition HELP-REQUEST FOR ... with the key word PARAMETERS or SELECT-OPTIONS in the include DBxyzSEL (where xyz = name of logical database). In this case, you must program the help in the database program SAPDBxyz . &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;example code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LIST BOX with value list from input help&lt;/P&gt;&lt;P&gt; In this example the screen element attribute value list is set to blank as such the value list will be filled with the 1st column of the input help,We use PROCESS ON VALUE-REQUEST event to pass the value list  to the listbox.In the MODULE call used to fill the value list we can use FM like F4IF_INT_TABLE_VALUE_REQUEST to create input help as explained in the input help.The value of first column will be shown in the field when selected.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;PROCESS ON VALUE-REQUEST&lt;/P&gt;&lt;P&gt;FIELD list MODULE fill_list_100&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;FIELD list MODULE fill_list_100 INPUT&lt;/P&gt;&lt;P&gt;SELECT f1 f2 FROM table INTO int &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            retfield        = 'input/output screen field'&lt;/P&gt;&lt;P&gt;            value_org       = 'S'&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            value_tab       = itab "it contains 2 fields that will be shown in the list box&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            parameter_error = 1&lt;/P&gt;&lt;P&gt;            no_values_found = 2&lt;/P&gt;&lt;P&gt;            OTHERS          = 3.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    ...&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDMODULE. &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;VALUE LIST CREATED IN PBO&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;In this method we set the value list attribute to 'A'.The value list will be filled in the PBO by using FM VRM_SET_VALUES .&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;TYPE-POOLS : VRM&lt;/P&gt;&lt;P&gt;DATA : field_id TYPE VRM_ID ,&lt;/P&gt;&lt;P&gt;            values  TYPE VRM_VALUES,&lt;/P&gt;&lt;P&gt;             value   LIKE LINE OF values.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;PROCESS BEFORE OUTPUT&lt;/P&gt;&lt;P&gt;MODULE list_fill_100&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;MODULE list_fill_100 OUTPUT&lt;/P&gt;&lt;P&gt;SELECT f1 f2 f3  FROM tab WHERE condition.&lt;/P&gt;&lt;P&gt;value-KEY = f1.&lt;/P&gt;&lt;P&gt;value-TEXT = f2&lt;/P&gt;&lt;P&gt;APPEND value TO VALUES&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;CALL FUNCTION 'VRM_SET_VALUES'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            id     = 'i/o screen field' &lt;/P&gt;&lt;P&gt;            values = values.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;ENDMODULE. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LIST BOX with Selection Screen&lt;/P&gt;&lt;P&gt; For this the FM VRM_SET_VALUES is used to fill the value table and is passed to the parameter created with TYPE LISTBOX in the selection screen event&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;PROGRAM zlist&lt;/P&gt;&lt;P&gt;TYPE-POOLS : VRM.&lt;/P&gt;&lt;P&gt;DATA: param TYPE vrm_id, &lt;/P&gt;&lt;P&gt;       values     TYPE vrm_values, &lt;/P&gt;&lt;P&gt;       value LIKE LINE OF values. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: p_name(10) AS LISTBOX VISIBLE LENGTH 10.&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN OUTPUT. &lt;/P&gt;&lt;P&gt;  param = 'P_NAME'. &lt;/P&gt;&lt;P&gt;  value-key = '1'.&lt;/P&gt;&lt;P&gt;  value-text = 'JOHN'.&lt;/P&gt;&lt;P&gt;  APPEND value TO values.&lt;/P&gt;&lt;P&gt;  value-key = '2'. &lt;/P&gt;&lt;P&gt;  value-text = 'PETER'.&lt;/P&gt;&lt;P&gt;  APPEND value TO values. &lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'VRM_SET_VALUES' &lt;/P&gt;&lt;P&gt;    EXPORTING id     = param &lt;/P&gt;&lt;P&gt;              values = values. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;ravish&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;plz reward if helpful&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Apr 2007 05:12:39 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/at-selection-screen/m-p/2088959#M434056</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-11T05:12:39Z</dc:date>
    </item>
  </channel>
</rss>

