<?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: Selection screen, check value change in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/selection-screen-check-value-change/m-p/2087212#M433530</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;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       Tables Declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tables : vbap.         " Sales Document: Item Data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     Constant Declaration                           		 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONSTANTS:&lt;/P&gt;&lt;P&gt;  C_X TYPE C VALUE 'X'.     " Translate to Uppercase&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     Variable Declaration                            		*&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Variable for Table index&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  data v_sytabix like sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Variable for Program name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  data L_NAME LIKE SYST-REPID.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                        Ranges Declaration                           		*&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Range for getting values form selection screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; DATA: BEGIN OF range1 OCCURS 0,&lt;/P&gt;&lt;P&gt;         SIGN(1),&lt;/P&gt;&lt;P&gt;         OPTION(2),&lt;/P&gt;&lt;P&gt;         LOW  LIKE vbap-vbeln,&lt;/P&gt;&lt;P&gt;         high like vbap-vbeln,&lt;/P&gt;&lt;P&gt;      END OF range1.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                        Structure Declaration                        		*&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   Internal table Declaration                        		*&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for Report output&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  data: begin of i_vbap occurs 0,&lt;/P&gt;&lt;P&gt;          vbeln like vbap-vbeln,            " Sales Document&lt;/P&gt;&lt;P&gt;          posnr like vbap-posnr,            " Sales Document item&lt;/P&gt;&lt;P&gt;        end of i_vbap.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for output to the F4 help&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  data: begin of I_DISPLAY occurs 0,&lt;/P&gt;&lt;P&gt;          vbeln like vbap-vbeln,            " Sales Document&lt;/P&gt;&lt;P&gt;          posnr like vbap-posnr,            " Sales Document item&lt;/P&gt;&lt;P&gt;        end of I_DISPLAY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for return value form function module&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: BEGIN OF I_RETURNVAL OCCURS 0.&lt;/P&gt;&lt;P&gt;          INCLUDE STRUCTURE DDSHRETVAL.     " Interface Structure Search&lt;/P&gt;&lt;P&gt;  DATA: END OF I_RETURNVAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for F4 help field heading&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: I_FIELDTAB LIKE DFIES OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for getting screen values from selection screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  data L_SCR_FIELDS LIKE DYNPREAD OCCURS 1 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     Field-Symbols                                   *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     Selection-screen                                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME title text-001.&lt;/P&gt;&lt;P&gt;  select-options:&lt;/P&gt;&lt;P&gt;        S_VBELN for vbap-vbeln no intervals,&lt;/P&gt;&lt;P&gt;        S_POSNR for vbap-posnr no intervals.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN end OF BLOCK B1.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     AT SELECTION-SCREEN ON VALUE-REQUEST            *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;at selection-screen on value-request for s_posnr-low.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear: L_SCR_FIELDS, I_FIELDTAB, i_display, I_RETURNVAL.&lt;/P&gt;&lt;P&gt;  refresh: L_SCR_FIELDS, I_FIELDTAB, i_display, I_RETURNVAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_NAME = SYST-REPID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE 'S_VBELN-LOW' TO L_SCR_FIELDS-FIELDNAME.&lt;/P&gt;&lt;P&gt;  APPEND L_SCR_FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call the Function module DYNP_VALUES_READ to get the values form&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;selection screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'DYNP_VALUES_READ'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      DYNAME                         = L_NAME&lt;/P&gt;&lt;P&gt;      DYNUMB                         = SYST-DYNNR&lt;/P&gt;&lt;P&gt;      TRANSLATE_TO_UPPER             = C_X         " X&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      DYNPFIELDS                     = L_SCR_FIELDS&lt;/P&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     INVALID_ABAPWORKAREA           = 1&lt;/P&gt;&lt;P&gt;     INVALID_DYNPROFIELD            = 2&lt;/P&gt;&lt;P&gt;     INVALID_DYNPRONAME             = 3&lt;/P&gt;&lt;P&gt;     INVALID_DYNPRONUMMER           = 4&lt;/P&gt;&lt;P&gt;     INVALID_REQUEST                = 5&lt;/P&gt;&lt;P&gt;     NO_FIELDDESCRIPTION            = 6&lt;/P&gt;&lt;P&gt;     INVALID_PARAMETER              = 7&lt;/P&gt;&lt;P&gt;     UNDEFIND_ERROR                 = 8&lt;/P&gt;&lt;P&gt;     DOUBLE_CONVERSION              = 9&lt;/P&gt;&lt;P&gt;     STEPL_NOT_FOUND                = 10&lt;/P&gt;&lt;P&gt;     OTHERS                         = 11&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC eq 0.&lt;/P&gt;&lt;P&gt;    LOOP AT L_SCR_FIELDS.&lt;/P&gt;&lt;P&gt;      range1-sign = 'I'.&lt;/P&gt;&lt;P&gt;      range1-option = 'EQ'.&lt;/P&gt;&lt;P&gt;      range1-low = L_SCR_FIELDS-FIELDVALUE.&lt;/P&gt;&lt;P&gt;      range1-high = space.&lt;/P&gt;&lt;P&gt;      append range1.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;F4 help Field headings&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  I_FIELDTAB-TABNAME = 'I_DISPLAY'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  I_FIELDTAB-FIELDNAME = 'VBELN'.&lt;/P&gt;&lt;P&gt;  I_FIELDTAB-POSITION = '1'.&lt;/P&gt;&lt;P&gt;  I_FIELDTAB-OUTPUTLEN = '10'.&lt;/P&gt;&lt;P&gt;  I_FIELDTAB-INTTYPE = 'C'.&lt;/P&gt;&lt;P&gt;  I_FIELDTAB-INTLEN = '10'.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  I_FIELDTAB-FIELDNAME = 'POSNR'.&lt;/P&gt;&lt;P&gt;  I_FIELDTAB-POSITION = '2'.&lt;/P&gt;&lt;P&gt;  I_FIELDTAB-OFFSET = '10'.&lt;/P&gt;&lt;P&gt;  I_FIELDTAB-OUTPUTLEN = '6'.&lt;/P&gt;&lt;P&gt;  I_FIELDTAB-INTTYPE = 'N'.&lt;/P&gt;&lt;P&gt;  I_FIELDTAB-INTLEN = '6'.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Retrieve sales document, Sales document item from table Sales&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Document: Item Data(VBAP).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Primary keys used for selection: VBELN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  select vbeln posnr from vbap&lt;/P&gt;&lt;P&gt;               into table i_display&lt;/P&gt;&lt;P&gt;               where vbeln in range1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call the function module F4IF_INT_TABLE_VALUE_REQUEST for F4 values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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               = 'POSNR'&lt;/P&gt;&lt;P&gt;      WINDOW_TITLE           = 'Line Item'&lt;/P&gt;&lt;P&gt;      VALUE_ORG              = 'S'&lt;/P&gt;&lt;P&gt;      MULTIPLE_CHOICE        = C_X           " (for muliple selection)&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      VALUE_TAB              = I_DISPLAY&lt;/P&gt;&lt;P&gt;      FIELD_TAB              = I_FIELDTAB&lt;/P&gt;&lt;P&gt;      RETURN_TAB             = I_RETURNVAL&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;          .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Star for For single values&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  READ TABLE I_RETURNVAL INDEX 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   S_POSNR-LOW = I_RETURNVAL-FIELDVAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End for the single values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start For multiple selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   loop at i_returnval.&lt;/P&gt;&lt;P&gt;     s_posnr-sign = 'I'.&lt;/P&gt;&lt;P&gt;     s_posnr-option = 'EQ'.&lt;/P&gt;&lt;P&gt;     s_posnr-low = I_RETURNVAL-FIELDVAL.&lt;/P&gt;&lt;P&gt;     append s_posnr.&lt;/P&gt;&lt;P&gt;   endloop.&lt;/P&gt;&lt;P&gt;   sort s_posnr.&lt;/P&gt;&lt;P&gt;   read table s_posnr index 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End for multiple selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     Start-of-selection                              		*&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Retrieve sales document, Sales document item from table Sales&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Document: Item Data(VBAP).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Primary keys used for selection: VBELN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  select vbeln posnr from vbap&lt;/P&gt;&lt;P&gt;                    into table i_vbap&lt;/P&gt;&lt;P&gt;                    where vbeln in s_vbeln&lt;/P&gt;&lt;P&gt;                      and posnr in s_posnr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if the above selection is successful continue the process else exit *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;form the report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  if sy-subrc ne 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   message e002 with 'No data to display'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       End-of-selection                              		*&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;end-of-selection.&lt;/P&gt;&lt;P&gt;  if not i_vbap[] is initial.&lt;/P&gt;&lt;P&gt;    loop at i_vbap.&lt;/P&gt;&lt;P&gt;      write:/ i_vbap-vbeln, i_vbap-posnr.&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 09 Apr 2007 09:35:01 GMT</pubDate>
    <dc:creator>jayanthi_jayaraman</dc:creator>
    <dc:date>2007-04-09T09:35:01Z</dc:date>
    <item>
      <title>Selection screen, check value change</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/selection-screen-check-value-change/m-p/2087203#M433521</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear all, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hereafter my selection screen:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK bl1 WITH FRAME TITLE text-204.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS :     p_flag TYPE flag DEFAULT 'X',&lt;/P&gt;&lt;P&gt;                 p_plant LIKE zmm13jpn-mag_emetteur DEFAULT 'C300' OBLIGATORY,&lt;/P&gt;&lt;P&gt;                 p_store LIKE t001l-lgort DEFAULT 'C301' OBLIGATORY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK bl1.&lt;/P&gt;&lt;P&gt;********************************************&lt;/P&gt;&lt;P&gt;Now, I'm using the following Select and FM to limit possible value in p_store field&lt;/P&gt;&lt;P&gt;**********************************************&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_store.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT werks lgort lgobe INTO TABLE i_lgort FROM t001l&lt;/P&gt;&lt;P&gt;  WHERE werks = p_plant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE i_lgort WITH KEY lgort = p_store.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_sloc_desc = i_lgort-lgobe.&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;**************************************&lt;/P&gt;&lt;P&gt;The thing is that proceeding that way, since I need p_plant DEFAULT 'C300', the routine keep the value even though I overwrite it manually.&lt;/P&gt;&lt;P&gt;*********************************:&lt;/P&gt;&lt;P&gt;Question:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there any way to have p_plant set by DEFAULT with 'C300' for instance, but in case I change it, being able to read the new value before the &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;'AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_store.' &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; In order to be able to pass this new value while performing the &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;'SELECT werks lgort lgobe INTO TABLE i_lgort FROM t001l&lt;/P&gt;&lt;P&gt;  WHERE werks = p_plant.' ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Apr 2007 08:42:31 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/selection-screen-check-value-change/m-p/2087203#M433521</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-09T08:42:31Z</dc:date>
    </item>
    <item>
      <title>Re: Selection screen, check value change</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/selection-screen-check-value-change/m-p/2087204#M433522</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Nozome,&lt;/P&gt;&lt;P&gt; It is very confusing, can you explain it in other words.&lt;/P&gt;&lt;P&gt;To read the screen field's values, you can use the FM DYNP_VALUES_READ, but if you explain you requirement, we can see if a simpler altenative exists.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Ravi&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Apr 2007 08:45:56 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/selection-screen-check-value-change/m-p/2087204#M433522</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-09T08:45:56Z</dc:date>
    </item>
    <item>
      <title>Re: Selection screen, check value change</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/selection-screen-check-value-change/m-p/2087205#M433523</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;Try this below query,if you wish to overwrite p_plant,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT werks lgort lgobe INTO TABLE i_lgort FROM t001l&lt;/P&gt;&lt;P&gt;WHERE werks = p_plant and p_plant NE 'C300'.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Apr 2007 08:47:32 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/selection-screen-check-value-change/m-p/2087205#M433523</guid>
      <dc:creator>jayanthi_jayaraman</dc:creator>
      <dc:date>2007-04-09T08:47:32Z</dc:date>
    </item>
    <item>
      <title>Re: Selection screen, check value change</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/selection-screen-check-value-change/m-p/2087206#M433524</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;'AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_store.' &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In order to be able to pass this new value while performing the &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if p_plant is initial.&lt;/P&gt;&lt;P&gt;p_plant = c_300.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT werks lgort lgobe INTO TABLE i_lgort FROM t001l&lt;/P&gt;&lt;P&gt;WHERE werks = p_plant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Prashant&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Apr 2007 08:47:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/selection-screen-check-value-change/m-p/2087206#M433524</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-09T08:47:34Z</dc:date>
    </item>
    <item>
      <title>Re: Selection screen, check value change</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/selection-screen-check-value-change/m-p/2087207#M433525</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;Execute this sample code... This is of the same requirement !!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;tables:mara,makt,mseg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;parameters: p_bukrs type t001-bukrs,&lt;/P&gt;&lt;P&gt;p_butxt type t001-butxt,&lt;/P&gt;&lt;P&gt;p_ort01 type t001-ort01,&lt;/P&gt;&lt;P&gt;p_land1 type t001-land1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: dynfields type table of dynpread with header line.&lt;/P&gt;&lt;P&gt;data: return type table of ddshretval with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;at selection-screen on value-request for p_bukrs.&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 = 'T001'&lt;/P&gt;&lt;P&gt;fieldname = '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;dynprofield = 'P_BUKRS'&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;return_tab = return&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;field_not_found = 1&lt;/P&gt;&lt;P&gt;no_help_for_field = 2&lt;/P&gt;&lt;P&gt;inconsistent_help = 3&lt;/P&gt;&lt;P&gt;no_values_found = 4&lt;/P&gt;&lt;P&gt;others = 5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;refresh dynfields.&lt;/P&gt;&lt;P&gt;read table return with key fieldname = 'P_BUKRS'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Add it back to the dynpro.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;dynfields-fieldname = return-retfield.&lt;/P&gt;&lt;P&gt;dynfields-fieldvalue = return-fieldval.&lt;/P&gt;&lt;P&gt;append dynfields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the company code from db and add to dynpro&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: xt001 type t001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear xt001.&lt;/P&gt;&lt;P&gt;select single * into xt001&lt;/P&gt;&lt;P&gt;from t001&lt;/P&gt;&lt;P&gt;where bukrs = return-fieldval.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;dynfields-fieldname = 'P_BUTXT'.&lt;/P&gt;&lt;P&gt;dynfields-fieldvalue = xt001-butxt.&lt;/P&gt;&lt;P&gt;append dynfields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;dynfields-fieldname = 'P_ORT01'.&lt;/P&gt;&lt;P&gt;dynfields-fieldvalue = xt001-ort01.&lt;/P&gt;&lt;P&gt;append dynfields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;dynfields-fieldname = 'P_LAND1'.&lt;/P&gt;&lt;P&gt;dynfields-fieldvalue = xt001-land1.&lt;/P&gt;&lt;P&gt;append dynfields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Update the dynpro values.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 = dynfields&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;others = 8.&lt;/P&gt;&lt;P&gt;&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;reward if it helps u..&lt;/P&gt;&lt;P&gt;sai ramesh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Apr 2007 08:49:37 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/selection-screen-check-value-change/m-p/2087207#M433525</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-09T08:49:37Z</dc:date>
    </item>
    <item>
      <title>Re: Selection screen, check value change</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/selection-screen-check-value-change/m-p/2087208#M433526</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Nozome,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You are correct. You are getting the old value because 'AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_store. is not getting tiggered.&lt;/P&gt;&lt;P&gt;You will get the changed value only when the above event will trigger.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope you understand the problem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Tanmay&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Apr 2007 09:04:11 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/selection-screen-check-value-change/m-p/2087208#M433526</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-09T09:04:11Z</dc:date>
    </item>
    <item>
      <title>Re: Selection screen, check value change</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/selection-screen-check-value-change/m-p/2087209#M433527</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ravi, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks a lot for the FM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;THe requirement would be as follow:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Two fields in the selection screen:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;t001l-werks&lt;/P&gt;&lt;P&gt;t001l-lgort&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The fields werks and lgort would have default values and be obligatory but:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;when werks value is changed by user at the selection screen, lgort would be cleared, and its possible values would be conditioned by the new value entered in werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Apr 2007 09:07:49 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/selection-screen-check-value-change/m-p/2087209#M433527</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-09T09:07:49Z</dc:date>
    </item>
    <item>
      <title>Re: Selection screen, check value change</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/selection-screen-check-value-change/m-p/2087210#M433528</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;In your case, u will not be able to press F4 for LGORT if it is cleared as it is an obligatory field.&lt;/P&gt;&lt;P&gt;Instead, what u can do is dont make LGORT mandatory.&lt;/P&gt;&lt;P&gt;Check it on AT SELECTION-SCREEN event and if it is initial, thenu can give the error msg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In this case, depending on the Plant values, u will be able to fill the default values for LGORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope it helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Himanshu&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Apr 2007 09:13:51 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/selection-screen-check-value-change/m-p/2087210#M433528</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-09T09:13:51Z</dc:date>
    </item>
    <item>
      <title>Re: Selection screen, check value change</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/selection-screen-check-value-change/m-p/2087211#M433529</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tanmay,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In fact as soon as I click on the match code related to p_store, then I have the 'AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_store logic triggered.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;but the select that is part of the logic does not take new value of preceeding p_plant field in case I've manually changed it from the selection screen:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT werks lgort lgobe INTO TABLE i_lgort FROM t001l&lt;/P&gt;&lt;P&gt;WHERE werks = p_plant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It keeps the default value of the field.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've tried MOVE p_plant TO werks but does not work.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any idea?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Apr 2007 09:18:54 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/selection-screen-check-value-change/m-p/2087211#M433529</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-09T09:18:54Z</dc:date>
    </item>
    <item>
      <title>Re: Selection screen, check value change</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/selection-screen-check-value-change/m-p/2087212#M433530</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;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       Tables Declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tables : vbap.         " Sales Document: Item Data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     Constant Declaration                           		 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONSTANTS:&lt;/P&gt;&lt;P&gt;  C_X TYPE C VALUE 'X'.     " Translate to Uppercase&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     Variable Declaration                            		*&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Variable for Table index&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  data v_sytabix like sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Variable for Program name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  data L_NAME LIKE SYST-REPID.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                        Ranges Declaration                           		*&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Range for getting values form selection screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; DATA: BEGIN OF range1 OCCURS 0,&lt;/P&gt;&lt;P&gt;         SIGN(1),&lt;/P&gt;&lt;P&gt;         OPTION(2),&lt;/P&gt;&lt;P&gt;         LOW  LIKE vbap-vbeln,&lt;/P&gt;&lt;P&gt;         high like vbap-vbeln,&lt;/P&gt;&lt;P&gt;      END OF range1.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                        Structure Declaration                        		*&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   Internal table Declaration                        		*&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for Report output&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  data: begin of i_vbap occurs 0,&lt;/P&gt;&lt;P&gt;          vbeln like vbap-vbeln,            " Sales Document&lt;/P&gt;&lt;P&gt;          posnr like vbap-posnr,            " Sales Document item&lt;/P&gt;&lt;P&gt;        end of i_vbap.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for output to the F4 help&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  data: begin of I_DISPLAY occurs 0,&lt;/P&gt;&lt;P&gt;          vbeln like vbap-vbeln,            " Sales Document&lt;/P&gt;&lt;P&gt;          posnr like vbap-posnr,            " Sales Document item&lt;/P&gt;&lt;P&gt;        end of I_DISPLAY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for return value form function module&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: BEGIN OF I_RETURNVAL OCCURS 0.&lt;/P&gt;&lt;P&gt;          INCLUDE STRUCTURE DDSHRETVAL.     " Interface Structure Search&lt;/P&gt;&lt;P&gt;  DATA: END OF I_RETURNVAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for F4 help field heading&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: I_FIELDTAB LIKE DFIES OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for getting screen values from selection screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  data L_SCR_FIELDS LIKE DYNPREAD OCCURS 1 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     Field-Symbols                                   *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     Selection-screen                                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME title text-001.&lt;/P&gt;&lt;P&gt;  select-options:&lt;/P&gt;&lt;P&gt;        S_VBELN for vbap-vbeln no intervals,&lt;/P&gt;&lt;P&gt;        S_POSNR for vbap-posnr no intervals.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN end OF BLOCK B1.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     AT SELECTION-SCREEN ON VALUE-REQUEST            *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;at selection-screen on value-request for s_posnr-low.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear: L_SCR_FIELDS, I_FIELDTAB, i_display, I_RETURNVAL.&lt;/P&gt;&lt;P&gt;  refresh: L_SCR_FIELDS, I_FIELDTAB, i_display, I_RETURNVAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_NAME = SYST-REPID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE 'S_VBELN-LOW' TO L_SCR_FIELDS-FIELDNAME.&lt;/P&gt;&lt;P&gt;  APPEND L_SCR_FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call the Function module DYNP_VALUES_READ to get the values form&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;selection screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'DYNP_VALUES_READ'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      DYNAME                         = L_NAME&lt;/P&gt;&lt;P&gt;      DYNUMB                         = SYST-DYNNR&lt;/P&gt;&lt;P&gt;      TRANSLATE_TO_UPPER             = C_X         " X&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      DYNPFIELDS                     = L_SCR_FIELDS&lt;/P&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     INVALID_ABAPWORKAREA           = 1&lt;/P&gt;&lt;P&gt;     INVALID_DYNPROFIELD            = 2&lt;/P&gt;&lt;P&gt;     INVALID_DYNPRONAME             = 3&lt;/P&gt;&lt;P&gt;     INVALID_DYNPRONUMMER           = 4&lt;/P&gt;&lt;P&gt;     INVALID_REQUEST                = 5&lt;/P&gt;&lt;P&gt;     NO_FIELDDESCRIPTION            = 6&lt;/P&gt;&lt;P&gt;     INVALID_PARAMETER              = 7&lt;/P&gt;&lt;P&gt;     UNDEFIND_ERROR                 = 8&lt;/P&gt;&lt;P&gt;     DOUBLE_CONVERSION              = 9&lt;/P&gt;&lt;P&gt;     STEPL_NOT_FOUND                = 10&lt;/P&gt;&lt;P&gt;     OTHERS                         = 11&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC eq 0.&lt;/P&gt;&lt;P&gt;    LOOP AT L_SCR_FIELDS.&lt;/P&gt;&lt;P&gt;      range1-sign = 'I'.&lt;/P&gt;&lt;P&gt;      range1-option = 'EQ'.&lt;/P&gt;&lt;P&gt;      range1-low = L_SCR_FIELDS-FIELDVALUE.&lt;/P&gt;&lt;P&gt;      range1-high = space.&lt;/P&gt;&lt;P&gt;      append range1.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;F4 help Field headings&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  I_FIELDTAB-TABNAME = 'I_DISPLAY'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  I_FIELDTAB-FIELDNAME = 'VBELN'.&lt;/P&gt;&lt;P&gt;  I_FIELDTAB-POSITION = '1'.&lt;/P&gt;&lt;P&gt;  I_FIELDTAB-OUTPUTLEN = '10'.&lt;/P&gt;&lt;P&gt;  I_FIELDTAB-INTTYPE = 'C'.&lt;/P&gt;&lt;P&gt;  I_FIELDTAB-INTLEN = '10'.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  I_FIELDTAB-FIELDNAME = 'POSNR'.&lt;/P&gt;&lt;P&gt;  I_FIELDTAB-POSITION = '2'.&lt;/P&gt;&lt;P&gt;  I_FIELDTAB-OFFSET = '10'.&lt;/P&gt;&lt;P&gt;  I_FIELDTAB-OUTPUTLEN = '6'.&lt;/P&gt;&lt;P&gt;  I_FIELDTAB-INTTYPE = 'N'.&lt;/P&gt;&lt;P&gt;  I_FIELDTAB-INTLEN = '6'.&lt;/P&gt;&lt;P&gt;  APPEND I_FIELDTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Retrieve sales document, Sales document item from table Sales&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Document: Item Data(VBAP).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Primary keys used for selection: VBELN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  select vbeln posnr from vbap&lt;/P&gt;&lt;P&gt;               into table i_display&lt;/P&gt;&lt;P&gt;               where vbeln in range1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call the function module F4IF_INT_TABLE_VALUE_REQUEST for F4 values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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               = 'POSNR'&lt;/P&gt;&lt;P&gt;      WINDOW_TITLE           = 'Line Item'&lt;/P&gt;&lt;P&gt;      VALUE_ORG              = 'S'&lt;/P&gt;&lt;P&gt;      MULTIPLE_CHOICE        = C_X           " (for muliple selection)&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      VALUE_TAB              = I_DISPLAY&lt;/P&gt;&lt;P&gt;      FIELD_TAB              = I_FIELDTAB&lt;/P&gt;&lt;P&gt;      RETURN_TAB             = I_RETURNVAL&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;          .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Star for For single values&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  READ TABLE I_RETURNVAL INDEX 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   S_POSNR-LOW = I_RETURNVAL-FIELDVAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End for the single values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start For multiple selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   loop at i_returnval.&lt;/P&gt;&lt;P&gt;     s_posnr-sign = 'I'.&lt;/P&gt;&lt;P&gt;     s_posnr-option = 'EQ'.&lt;/P&gt;&lt;P&gt;     s_posnr-low = I_RETURNVAL-FIELDVAL.&lt;/P&gt;&lt;P&gt;     append s_posnr.&lt;/P&gt;&lt;P&gt;   endloop.&lt;/P&gt;&lt;P&gt;   sort s_posnr.&lt;/P&gt;&lt;P&gt;   read table s_posnr index 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End for multiple selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     Start-of-selection                              		*&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Retrieve sales document, Sales document item from table Sales&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Document: Item Data(VBAP).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Primary keys used for selection: VBELN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  select vbeln posnr from vbap&lt;/P&gt;&lt;P&gt;                    into table i_vbap&lt;/P&gt;&lt;P&gt;                    where vbeln in s_vbeln&lt;/P&gt;&lt;P&gt;                      and posnr in s_posnr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if the above selection is successful continue the process else exit *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;form the report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  if sy-subrc ne 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   message e002 with 'No data to display'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       End-of-selection                              		*&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;end-of-selection.&lt;/P&gt;&lt;P&gt;  if not i_vbap[] is initial.&lt;/P&gt;&lt;P&gt;    loop at i_vbap.&lt;/P&gt;&lt;P&gt;      write:/ i_vbap-vbeln, i_vbap-posnr.&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Apr 2007 09:35:01 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/selection-screen-check-value-change/m-p/2087212#M433530</guid>
      <dc:creator>jayanthi_jayaraman</dc:creator>
      <dc:date>2007-04-09T09:35:01Z</dc:date>
    </item>
    <item>
      <title>Re: Selection screen, check value change</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/selection-screen-check-value-change/m-p/2087213#M433531</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ravi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for the FM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I finally succeed in using combination of DYNP_VALUES_READ and F4IF_INT_TABLE_VALUE_REQUEST after having declared the dynprofield in this last one in CAPITAL (ex: 'P_STORE' instead of 'p_store' (parameters: P_STORE like ....)) otherwise it did not work.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks again.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Apr 2007 03:14:32 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/selection-screen-check-value-change/m-p/2087213#M433531</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-26T03:14:32Z</dc:date>
    </item>
  </channel>
</rss>

