<?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: Events in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/events/m-p/6481833#M1419059</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;PRE&gt;&lt;CODE&gt;Use FM *DYNP_VALUES_READ* this will give the value entered in MATNR field before the PAI is triggered.
PARAMETERS : p_matnr TYPE matnr.

DATA : dynpread TYPE TABLE OF dynpread WITH HEADER LINE.
dynpread-fieldname = 'P_MATNR'.

APPEND dynpread.
CALL FUNCTION 'DYNP_VALUES_READ'
  EXPORTING
    dyname                               = sy-repid
    dynumb                               = sy-dynnr
   translate_to_upper                   = 'X'
  TABLES
    dynpfields                           = dynpread
 EXCEPTIONS
   invalid_abapworkarea                 = 1
   invalid_dynprofield                  = 2
   invalid_dynproname                   = 3
   invalid_dynpronummer                 = 4
   invalid_request                      = 5
   no_fielddescription                  = 6
   invalid_parameter                    = 7
   undefind_error                       = 8
   double_conversion                    = 9
   stepl_not_found                      = 10
   OTHERS                               = 11
          .
IF sy-subrc = 0.
  READ TABLE dynpread WITH KEY fieldname = 'P_MATNR'.
  IF sy-subrc IS INITIAL.
    p_matnr = dynpread-fieldvalue. " Now you can continue taking F4 help on Plant
  ENDIF.
ENDIF.
SELECT werks FROM marc INTO TABLE it_werks WHERE matnr = p_matnr. " use this select query and proceed further

Get parameter id will give you once the PAI is triggered that means after you press enter or F8.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Cheerz&lt;/P&gt;&lt;P&gt;Ram&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 30 Dec 2009 14:02:30 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2009-12-30T14:02:30Z</dc:date>
    <item>
      <title>Events</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/events/m-p/6481832#M1419058</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Experts,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My selection screen contains MATNR and WERKS. After I enter MATNR, I need that the F4 help for WERKS should show all the values corresponding to the MATNR entered. I have used &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON p_matnr.&lt;/P&gt;&lt;P&gt;  g_matnr = p_matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR so_werks-low.&lt;/P&gt;&lt;P&gt;  PERFORM werks_f4_help .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR so_werks-high.&lt;/P&gt;&lt;P&gt;  PERFORM werks_f4_help .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM werks_f4_help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:it_werks TYPE TABLE OF ty_werks,&lt;/P&gt;&lt;P&gt;       it_f4_werks TYPE TABLE OF ty_f4_werks,&lt;/P&gt;&lt;P&gt;       l_repid TYPE sy-repid,&lt;/P&gt;&lt;P&gt;       l_dynnr TYPE sy-dynnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_repid = sy-repid.&lt;/P&gt;&lt;P&gt;  l_dynnr = sy-dynnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; clear g_matnr.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; GET PARAMETER ID 'MAT' FIELD g_matnr.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT werks FROM marc INTO TABLE it_werks WHERE matnr = g_matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT it_werks[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT werks name1 FROM t001w INTO TABLE  it_f4_werks&lt;/P&gt;&lt;P&gt;      FOR ALL ENTRIES IN it_werks&lt;/P&gt;&lt;P&gt;      WHERE werks = it_werks-werks.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&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        = 'WERKS'&lt;/P&gt;&lt;P&gt;      dynpprog        = l_repid&lt;/P&gt;&lt;P&gt;      dynpnr          = l_dynnr&lt;/P&gt;&lt;P&gt;      dynprofield     = 'SO_WERKS'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     WINDOW_TITLE    = 'Possible Entries:Plants'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      value_org       = 'S'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      value_tab       = it_f4_werks&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;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.             &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The problem here is AT SELECTION-SCREEN ON VALUE-REQUEST  gets called first and so I dont get g_matnr value based on which i have made a selection in form werks_f4_help. Kindly suggest what can be done.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Puja&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN __default_attr="red" __jive_macro_name="color"&gt;&lt;STRONG&gt;&amp;lt;LOCKED BY MODERATOR - USE APPROPRIATE TITLES&amp;gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Alvaro Tejada Galindo on Dec 30, 2009 9:14 AM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Dec 2009 13:45:38 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/events/m-p/6481832#M1419058</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-12-30T13:45:38Z</dc:date>
    </item>
    <item>
      <title>Re: Events</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/events/m-p/6481833#M1419059</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;PRE&gt;&lt;CODE&gt;Use FM *DYNP_VALUES_READ* this will give the value entered in MATNR field before the PAI is triggered.
PARAMETERS : p_matnr TYPE matnr.

DATA : dynpread TYPE TABLE OF dynpread WITH HEADER LINE.
dynpread-fieldname = 'P_MATNR'.

APPEND dynpread.
CALL FUNCTION 'DYNP_VALUES_READ'
  EXPORTING
    dyname                               = sy-repid
    dynumb                               = sy-dynnr
   translate_to_upper                   = 'X'
  TABLES
    dynpfields                           = dynpread
 EXCEPTIONS
   invalid_abapworkarea                 = 1
   invalid_dynprofield                  = 2
   invalid_dynproname                   = 3
   invalid_dynpronummer                 = 4
   invalid_request                      = 5
   no_fielddescription                  = 6
   invalid_parameter                    = 7
   undefind_error                       = 8
   double_conversion                    = 9
   stepl_not_found                      = 10
   OTHERS                               = 11
          .
IF sy-subrc = 0.
  READ TABLE dynpread WITH KEY fieldname = 'P_MATNR'.
  IF sy-subrc IS INITIAL.
    p_matnr = dynpread-fieldvalue. " Now you can continue taking F4 help on Plant
  ENDIF.
ENDIF.
SELECT werks FROM marc INTO TABLE it_werks WHERE matnr = p_matnr. " use this select query and proceed further

Get parameter id will give you once the PAI is triggered that means after you press enter or F8.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Cheerz&lt;/P&gt;&lt;P&gt;Ram&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Dec 2009 14:02:30 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/events/m-p/6481833#M1419059</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-12-30T14:02:30Z</dc:date>
    </item>
    <item>
      <title>Re: Events</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/events/m-p/6481834#M1419060</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;try this code..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;REPORT zpwtest3.

TABLES marc .

PARAMETERS : p_matnr TYPE marc-matnr .
SELECT-OPTIONS so_werks FOR marc-werks .

AT SELECTION-SCREEN ON VALUE-REQUEST FOR so_werks-low.
  PERFORM werks_f4_help .

AT SELECTION-SCREEN ON VALUE-REQUEST FOR so_werks-high.
  PERFORM werks_f4_help .

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  werks_f4_help
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM werks_f4_help.

  TYPES : BEGIN OF ty_werks ,
           werks TYPE marc-werks ,
         END OF ty_werks ,

         BEGIN OF ty_f4_werks ,
           werks TYPE marc-werks ,
           name1 TYPE t001w-name1 ,
         END OF ty_f4_werks .


  DATA: it_werks TYPE TABLE OF ty_werks,
        it_f4_werks TYPE TABLE OF ty_f4_werks,
        l_repid TYPE sy-repid,
        l_dynnr TYPE sy-dynnr,
        g_matnr TYPE mara-matnr .

  l_repid = sy-repid.
  l_dynnr = sy-dynnr.


  PERFORM get_current_screen_value USING 'P_MATNR' '1000' CHANGING g_matnr .

  SELECT werks FROM marc INTO TABLE it_werks WHERE matnr = g_matnr.


  IF NOT it_werks[] IS INITIAL.
    SELECT werks name1 FROM t001w INTO TABLE it_f4_werks
    FOR ALL ENTRIES IN it_werks
    WHERE werks = it_werks-werks.
  ENDIF.


  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      retfield        = 'WERKS'
      dynpprog        = l_repid
      dynpnr          = l_dynnr
      dynprofield     = 'SO_WERKS'
      value_org       = 'S'
    TABLES
      value_tab       = it_f4_werks
    EXCEPTIONS
      parameter_error = 1
      no_values_found = 2
      OTHERS          = 3.

  IF sy-subrc &amp;lt;&amp;gt; 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

ENDFORM  .                  "werks_f4_help

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  get_current_screen_value
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;L_SCREEN_FIELD   text
*      --&amp;gt;L_SCREEN_NUMBER  text
*      --&amp;gt;L_SCREEN_VALUE   text
*----------------------------------------------------------------------*
FORM get_current_screen_value  USING    l_screen_field
                                      l_screen_number
                             CHANGING l_screen_value.

  DATA it_dynpfields TYPE STANDARD TABLE OF dynpread.
  DATA wa_dynpfields TYPE dynpread.


  wa_dynpfields-fieldname = l_screen_field.
  APPEND wa_dynpfields TO it_dynpfields.


  CALL FUNCTION 'DYNP_VALUES_READ'
    EXPORTING
      dyname                         = sy-cprog
      dynumb                         = l_screen_number
      translate_to_upper             = 'X'
*     REQUEST                        = ' '
*     PERFORM_CONVERSION_EXITS       = ' '
*     PERFORM_INPUT_CONVERSION       = ' '
*     DETERMINE_LOOP_INDEX           = ' '
    TABLES
      dynpfields                     = it_dynpfields
    EXCEPTIONS
      invalid_abapworkarea           = 1
      invalid_dynprofield            = 2
      invalid_dynproname             = 3
      invalid_dynpronummer           = 4
      invalid_request                = 5
      no_fielddescription            = 6
      invalid_parameter              = 7
      undefind_error                 = 8
      double_conversion              = 9
      stepl_not_found                = 10
      OTHERS                         = 11
            .
  IF sy-subrc &amp;lt;&amp;gt; 0.
*  MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*  WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ELSE.
    READ TABLE it_dynpfields INTO wa_dynpfields
      WITH KEY fieldname = l_screen_field.
    IF sy-subrc = 0.
      l_screen_value = wa_dynpfields-fieldvalue.
    ENDIF.
  ENDIF.

ENDFORM.                    " get_current_screen_value&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Pawan Kesari on Dec 30, 2009 7:35 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Dec 2009 14:05:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/events/m-p/6481834#M1419060</guid>
      <dc:creator>Pawan_Kesari</dc:creator>
      <dc:date>2009-12-30T14:05:33Z</dc:date>
    </item>
    <item>
      <title>Re: Events</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/events/m-p/6481835#M1419061</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Put below call just before the SELECT FROM MARC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;PERFORM get_current_screen_value USING 'P_MATNR' '1000' CHANGING g_matnr .&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;include this form in program&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;FORM get_current_screen_value  USING    l_screen_field
                                      l_screen_number
                             CHANGING l_screen_value.

  DATA it_dynpfields TYPE STANDARD TABLE OF dynpread.
  DATA wa_dynpfields TYPE dynpread.


  wa_dynpfields-fieldname = l_screen_field.
  APPEND wa_dynpfields TO it_dynpfields.


  CALL FUNCTION 'DYNP_VALUES_READ'
    EXPORTING
      dyname                         = sy-cprog
      dynumb                         = l_screen_number
      translate_to_upper             = 'X'
    TABLES
      dynpfields                     = it_dynpfields
    EXCEPTIONS
      invalid_abapworkarea           = 1
      invalid_dynprofield            = 2
      invalid_dynproname             = 3
      invalid_dynpronummer           = 4
      invalid_request                = 5
      no_fielddescription            = 6
      invalid_parameter              = 7
      undefind_error                 = 8
      double_conversion              = 9
      stepl_not_found                = 10
      OTHERS                         = 11
            .
  IF sy-subrc &amp;lt;&amp;gt; 0.
  ELSE.
    READ TABLE it_dynpfields INTO wa_dynpfields
      WITH KEY fieldname = l_screen_field.
    IF sy-subrc = 0.
      l_screen_value = wa_dynpfields-fieldvalue.
    ENDIF.
  ENDIF.

ENDFORM.                    " get_current_screen_value&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Dec 2009 14:13:41 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/events/m-p/6481835#M1419061</guid>
      <dc:creator>Pawan_Kesari</dc:creator>
      <dc:date>2009-12-30T14:13:41Z</dc:date>
    </item>
  </channel>
</rss>

