Hiding screen fields at an event

hi,
assume that i am having 3 fields in a screen.
after antering the values on the first field and if i place the cursor on the second or third fields then these  fields (second and third ) should be disabled.
can anyone help me out in this. For me it works only by pressing the enter key. I want that to work if the cursor has been placed on other fields.is there any event available for that.
or pls tell me how to do this.
regards,
Phyrose.

Hi,
check the below.
*& Report ZHAR_DYN_SELSCR.
*& This program demonstrates how easy it is to set selection screen
*& element properties dynamically
*& The program uses 3 radio buttons to set the display and input
*& properties of selection screen fields dynamically
*& URL: http://allaboutsap.blogspot.com
REPORT ZHAR_DYN_SELSCR.
DATABASE TABLES
tables : mara.
SELECTION SCREEN
selection-screen begin of block b1 with frame.
*--- Radio buttons to set properties
PARAMETERS:
rad1 RADIOBUTTON GROUP rad default 'X' USER-COMMAND radio,
rad2 RADIOBUTTON GROUP rad,
rad3 RADIOBUTTON GROUP rad.
*--- Selection Screen fields
SELECT-OPTIONS:
s_matnr FOR mara-matnr MODIF ID MI1,
s_mtart FOR mara-mtart MODIF ID MI1,
s_mbrsh FOR mara-mbrsh MODIF ID MI2,
s_matkl FOR mara-matkl MODIF ID MI2.
selection-screen end of block b1.
AT SELECTION SCREEN
at selection-screen output.
loop at screen.
*--- If Radio Button 1 is checked
IF rad1 = 'X'.
IF screen-group1 = 'MI2'.
*--- Fields with MODIF ID MI2 disappear from the screen
screen-input = 0.
screen-invisible = 1.
ENDIF.
*--- If Radio Button 2 is checked
ELSEIF rad2 = 'X'.
IF screen-group1 = 'MI1'.
*--- Fields with MODIF ID MI1 are input-disabled
screen-input = 0.
ENDIF.
*--- If Radio Button 3 is checked
ELSEIF rad3 = 'X'.
IF screen-group1 = 'MI1' or screen-group1 = 'MI2'.
*--- All fields will appear input-enabled
screen-input = 1.
ENDIF.
ENDIF.
*--- MODIFY SCREEN mandatory addition to apply changes to the screen
Modify screen.
endloop.
Reward if helpful.
Regards,
Harini.S

Similar Messages

  • How to access screen field in pai event

    Hi All,
    I have created a custom screen it has the field say matnr selected from the dictionay.NOw  how will I should access this field in PAI event module?
    Thanks in advance
    Mahesh

    just declare the same variable in your abap editor as per your layout field name.
    suppose in your layout input field name is matnr just declare
    data : matnr like mara-matnr.
    in pai module if you are using matnr it will give you the screen data.
    like
    module pai input.
    if matnr ne '1000'.
    message 'Error matnr is not 1000' type 'E'.
    endif.
    endmodule.
    reagards
    shiba dutta

  • Hiding Screen fields in a Report selection screen

    Hi Experts,
    I have a requirement to hide/disable  screen fields in a report selection screen when the user clicks on some radio buttons .
    Here is the scenario,
    1) There are 4 radio buttons four radiobuttons in one group on the selection screen:--  
    Block no:1
    PARAMETER: r_not  TYPE c RADIOBUTTON GROUP a1 DEFAULT 'X'.
    PARAMETER: r_prgs TYPE c RADIOBUTTON GROUP a1.
    PARAMETER: r_remv TYPE c RADIOBUTTON GROUP a1.
    PARAMETER: r_noresp TYPE c RADIOBUTTON GROUP a1.
    2) Based on the user clicking/selecting the radio buttons no.2,3 nad 4 i need to hide some fields in the other selection block
    in the selection screen.The parameters are as follows:
    Block no:2( These fields need to be hidden/disabled)
    PARAMETER: r_occ(3) TYPE c OBLIGATORY DEFAULT '1'.
    PARAMETER: r_and TYPE c RADIOBUTTON GROUP g1.
    PARAMETER: r_or  TYPE c RADIOBUTTON GROUP g1.
    PARAMETER: r_days(3) TYPE c OBLIGATORY DEFAULT '1'.
    Thanks

    Contd.....
    AT SELECTION-SCREEN.
      CASE SSCRFIELDS-UCOMM.   
          "When Customer button is clicked set flag 1
        WHEN 'FC01'.
          L_FLAG = '1'.
          "When Sales Order button is clicked set flag 2
        WHEN 'FC02'. "Sales order
          L_FLAG = '2'.
          "When Execute button is clicked set flag 4
        WHEN OTHERS.
          L_FLAG = '4'.
      ENDCASE.
    AT SELECTION-SCREEN OUTPUT.
    CASE L_FLAG.
        WHEN '1'.  "When Customer button is clicked
          LOOP AT SCREEN.
            "Set the Production and Customer Block as inactive
            IF  SCREEN-GROUP1 = 'BL1' OR SCREEN-GROUP1 = 'BL3'.
              SCREEN-ACTIVE = '0'.
              MODIFY SCREEN.
            ENDIF.
          ENDLOOP.
        WHEN '2'. "When Sales Order button is clicked
          LOOP AT SCREEN.
            "Set the Production and Customer Block as inactive
            IF  SCREEN-GROUP1 = 'BL1' OR SCREEN-GROUP1 = 'BL2'.
              SCREEN-ACTIVE = '0'.
              MODIFY SCREEN.
            ENDIF.
          ENDLOOP.
        WHEN '3'.   "When Refresh button is clicked
          LOOP AT SCREEN.
            "Set the all Blocks as active
           IF  SCREEN-GROUP1 = 'BL2' OR SCREEN-GROUP1 = 'BL3' OR SCREEN-GROUP1 = 'BL1'.
              SCREEN-ACTIVE = '1'.
              MODIFY SCREEN.
            ENDIF.
          ENDLOOP.
        WHEN OTHERS."When Execute button is clicked
          "Set the Sales order and Customer Block as inactive
          LOOP AT SCREEN.
            IF  SCREEN-GROUP1 = 'BL2' OR SCREEN-GROUP1 = 'BL3'.
              SCREEN-ACTIVE = '0'.
              MODIFY SCREEN.
            ENDIF.
          ENDLOOP.
      ENDCASE.
    ENDFORM.      

  • Hiding Screen fields dynamcially

    Hi,
    Is there any way to show/hide screen fields dynamically in personas. What i want to achieve is that, When i click on a button , i need to display a group box. If i Click on another button , other box needs to be displayed.
    Regards,
    Sivaganesh

    No, in Personas 2 you can't directly control the visibility of objects from a script. There is a trick that achieves something very similar. See Tobias' answer in this discussion: SAP Screen Personas.
    Steve.

  • Hiding screen fields

    m using PNP selection screen. i want to hide some of these fields. how can i do it.

    Hi Nidhi,
    You can check if any of the existing "Report Category" suits your requirement. If none of them suit then you can create a new report category and assign that to your program (in <b>Attributes Screen there is a button called Report Category</b>).
    <u>Report Categories can be created or assigned at</u>
    SPRO -> Personnel Management -> HR Information System -> Reporting -> Adjusting Standard Selection Screen -> Create or Assign Report Categories
    Reward Points if helpfull.
    Regards,
    Ram

  • Hiding screen fields containing tables

    HI guyz,
    i have created a custom  infotype which has 2 subtypes . certain fields should not be displayed when we select the subtypes. i have used the  code below. the screen contains a table.
    MODULE hide_FIELDS OUTPUT.
    IF p9555-subty = '1'.
    LOOP AT SCREEN.
    IF screen-group2 = 'ABC'.
    screen-active = 0.
    MODIFY SCREEN.
    ENDIF.
    ENDLOOP.
    ENDIF.
    IF p9555-subty = '2'.
    LOOP AT SCREEN.
    IF screen-group2 = 'XYZ'.
    screen-active  = 0.
    MODIFY SCREEN.
    ENDIF.
    ENDLOOP.
    ENDIF.
    ENDMODULE.                 " hide_FIELDS  OUTPUT
    the fields which are not in  the table are not getting displayed as required but the fields in the table still appear on the screen(they are grayed out). i do not want them to appear on the screen. can anyone help me with this.  Thanks in advance.

    Hi Madhu,
    see the example one below :
    Selection Screen
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    PARAMETERS:     s_werks  LIKE zwafpo-dwerk OBLIGATORY DEFAULT '1000'.
    "Plant
    PARAMETERS:     p_vdatu  LIKE sy-datum OBLIGATORY modif id bel .
    select-options : s_vdatu for sy-datum obligatory modif id rel.
    SELECT-OPTIONS: s_waveno FOR  zwafpo-zzrun. "Wave Run
    SELECT-OPTIONS: s_dept   FOR  marc-zzdept OBLIGATORY. "Department
    select-options : s_arbpl for RC68A-arbpl modif id arb.
    select-options : s_mtart for mara-mtart modif id mta.
    SELECT-OPTIONS: s_pwave  FOR  zwafpo-zzpwaveno.
    SELECT-OPTIONS: s_swave  FOR  zwafpo-zzswaveno.
    SELECT-OPTIONS: s_aufnr  FOR  zwafpo-aufnr.
    SELECT-OPTIONS: s_matnr  FOR  zwafpo-matnr.
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS p_conf AS CHECKBOX DEFAULT 'X'.
    SELECTION-SCREEN COMMENT 5(30) text-003.
    SELECTION-SCREEN END OF LINE.
    selection-screen : begin of block blk with frame title text-010.
    parameters : p_old radiobutton group rad default 'X',
                 p_new radiobutton group rad.
    selection-screen : end of block blk.
    User Dynamic Selection
    at selection-screen output.
      select single * from t000md.
      loop at screen.
        case screen-group1.
          when 'REL'.
            if not  p_old is initial.
              screen-input = '0'.
              screen-required = '0'.
              screen-invisible = '1'.
            endif.
            modify screen.
          when 'BEL'.
            if not p_new is initial.
              screen-input = '0'.
              screen-required = '0'.
              screen-invisible = '1'.
            endif.
            modify screen.
          when 'ARB'.
            if  p_new is initial.
              screen-input = '0'.
              screen-required = '0'.
              screen-invisible = '1'.
            endif.
            modify screen.
          when 'MTA'.
            if  p_new is initial.
              screen-input = '0'.
              screen-required = '0'.
              screen-invisible = '1'.
            endif.
            modify screen.
        endcase.
      endloop.
    Thanks
    Seshu

  • How to get values of selection screen fields in the POV event

    I have two radio buttons r1,r2 and a field file_name on  selection screen.
    I have written At selection screen on value-request for the field file_name. Based on the selection of radio buttons I have to display different screens when f4 for field_name is pressed.
    Unfortunately the values of r1 or r2 are not populated in the AT selection screen on value-request event.
    Can any one tell me if there is a way to obtain the values of r1 or r2 in the AT selection  screen on value-request event.

    Hi..
    Try out this.
    REPORT  ZH_TEST4                                .
    CONSTANTS : c_x                TYPE char01 VALUE 'X',
                c_rg1(4)        TYPE c      VALUE 'RG1',
                c_gr2(3)        TYPE c      VALUE 'GR2',
                c_gr3(3)        TYPE c      VALUE 'GR3',
                c_zero          TYPE n      VALUE '0',
                c_neg(2)        TYPE c      VALUE '-1'.
    data: w_sscrfields_ucomm1   TYPE sscrfields-ucomm.
    SELECTION-SCREEN : BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
    PARAMETERS       : p_back   RADIOBUTTON GROUP rg1
                                     USER-COMMAND pc,
                       p_fore   RADIOBUTTON GROUP rg1
                                          DEFAULT 'X'.
    SELECTION-SCREEN : END OF BLOCK blk1.
    SELECTION-SCREEN : BEGIN OF BLOCK blk2 WITH FRAME TITLE text-002.
    PARAMETERS : p_phif LIKE rlgrap-filename  MODIF ID gr2,
                 p_ahif LIKE rlgrap-filename  MODIF ID gr3.
    SELECTION-SCREEN : END OF BLOCK blk2.
    AT SELECTION-SCREEN OUTPUT.
      IF p_fore EQ c_x.
        w_sscrfields_ucomm1 = c_rg1.
      ELSE.
        w_sscrfields_ucomm1 = space.
      ENDIF.
      LOOP AT SCREEN.
        IF w_sscrfields_ucomm1 EQ space.
          IF screen-group1 = c_gr2.
            screen-active = c_zero.
          ENDIF.
        ELSE.
          IF screen-group1 = c_gr3.
            screen-active = c_zero.
          ENDIF.
        ENDIF.
        MODIFY SCREEN.
      ENDLOOP.
    also try out function module POPUP_WITH_TABLE_DISPLAY.
    Plz reward points if this helps by clicking on star!1
    Good Luck!!
    Cheers,
    Rajeev

  • Screen field value under POV event

    Hi All,
    I have one issue...please suggest me solution for this.
    In module-pool program i have one screen(1000) which has one field(hrname_1000).
    Under this event:
    PROCESS ON VALUE-REQUEST.
    FIELD hrname_1000 MODULE hrname_1000.
    under this module hename_1000 i have used F4IF_INT_TABLE_VALUE_REQUEST to put a search help for field hrname_1000.
    after that i am trying to retrive HR related stuff's based on the field on module-pool i.e i am using hrname_1000 in the where condition.
    but problem is that im not getting value for hrname_1000 which im giving in the module-pool screen.
    thats y my select query is not working.
    Where as im getting values for the hrname_1000 under PBO & PAI.
    It will look like below.
    PROCESS ON VALUE-REQUEST.
    FIELD hrname_1000 MODULE hrname_1000.
    (under the above module)
    SELECT DISTINCT ename plans FROM pa0001 INTO CORRESPONDING FIELDS OF TABLE itab WHERE stell = '50001026'.
    LOOP AT itab INTO wa WHERE ename = hrname_1000.
    ENDLOOP.
    Please suggest
    Thanks & regards
    Ansumesh

    Hi,
    I guess you don't get back value from function F4IF_INT_TABLE_VALUE_REQUEST to your global data object hrname_1000, althought it is returned from search help back to screen field.
    See this thread. I explained there [how values are returned from screen field to a variable|https://www.sdn.sap.com/irj/scn/profile?userid=3509696]
    You may also try with FM DYNP_VALUES_READ for reading dynpro fields values in POV.
    Regards
    Marcin

  • Module-pool screen field value under POV event

    Hi All,
    I have one issue...please suggest me solution for this.
    In module-pool program i have one screen(1000) which has one field(hrname_1000).
    Under this event:
    PROCESS ON VALUE-REQUEST.
    FIELD hrname_1000  MODULE hrname_1000.
    under this module hename_1000 i have used F4IF_INT_TABLE_VALUE_REQUEST to put a search help for field hrname_1000.
    after that i am trying to retrive HR related stuff's based on the field on module-pool i.e i am using hrname_1000 in the where condition.
    but problem is that im not getting value for hrname_1000 which im giving in the module-pool screen.
    thats y my select query is not working.
    Where as im getting values for the hrname_1000 under PBO & PAI.
    It will look like below.
    PROCESS ON VALUE-REQUEST.
    FIELD hrname_1000  MODULE hrname_1000.
    (under the above module)
      SELECT DISTINCT ename plans FROM pa0001 INTO CORRESPONDING FIELDS OF TABLE itab WHERE stell = '50001026'.
          LOOP AT itab INTO wa WHERE ename = hrname_1000.
          ENDLOOP.
    Please suggest
    Thanks & regards
    Ansumesh

    In some of the cases the screen field is present in the screen but not holding the value in the required structure or field.
    so here u need to check the option of reading the screen field values explictly..
    //once u hit an enter and do the f4 i think the value will be there ...but if u dont hit enter and do an F4 the value cannot hold and i think u r in this case ..
      1.Fill the screen field name in the structure dynpread.
    DATA: BEGIN OF DYNP_VALUES OCCURS 10.
            INCLUDE STRUCTURE DYNPREAD.
    DATA: END   OF DYNP_VALUES.
    DYNP_VALUES-FIELDNAME = 'HRNAME_1000'.
      APPEND DYNP_VALUES.
    * read screen values
      CALL FUNCTION 'DYNP_VALUES_READ'
        EXPORTING
          DYNAME     = HELP_REPID  "call the repid of ur prog
          DYNUMB     = HELP_DYNNR "pass the screen number
        TABLES
          DYNPFIELDS = DYNP_VALUES
        EXCEPTIONS
          OTHERS     = 1.
    now dynp_values hold the field name and field value of the screen .
    now
    SORT DYNP_VALUES BY FIELDNAME.
        READ TABLE DYNP_VALUES WITH KEY 'HRNAME_1000' BINARY SEARCH.
        IF SY-SUBRC EQ 0.
          HELP_XXXX = DYNP_VALUES-FIELDVALUE. "store the value into a variable
          TRANSLATE HELP_XXXX TO UPPER CASE.               
        ENDIF.
    Now check the code with the value if its getting populated which once there will make ur select work ..
    Vijay..

  • Hiding selection screen fields upon clicking a button

    Hi .
    I have a requirement like we need to hide and bring back the selection screen fields upon clicking a button( Expand and collapse in the same button) .
    in ABAP Query,we can maintain this,  for the variant we created.
    We need this functionality on the selection-screen presently.
    How to achieve this in the selection -screen?
    Valuale pointers are desparately needful.
    Regards,
    SSR.

    Hi,
    SELECTION SECREEN (P_) Parameter
    (S_) Select Options
    SELECTION-SCREEN : BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-001,
    BEGIN OF LINE,
    COMMENT (26) C1 MODIF ID XYZ.
    SELECT-OPTIONS : S_MATNR FOR MARA-MATNR MODIF ID XYZ NO-EXTENSION .
    SELECTION-SCREEN : END OF LINE,
    BEGIN OF LINE,
    COMMENT (26) C2 MODIF ID XYZ.
    SELECT-OPTIONS : S_MATKL FOR MARA-MATKL MODIF ID XYZ NO-EXTENSION .
    SELECTION-SCREEN : END OF LINE.
    PARAMETERS : R_MATNR RADIOBUTTON GROUP RAD1 DEFAULT 'X'
    MODIF ID ABC USER-COMMAND MAT,
    R_MATKL RADIOBUTTON GROUP RAD1.
    SELECTION-SCREEN END OF BLOCK blk1.
    INITIALIZATION.
    C1 = 'Product Code'.
    c2 = 'Product Group'.
    AT SELECTION-SCREEN OUTPUT.
    LOOP AT SCREEN.
    IF SCREEN-NAME0(7) = 'S_MATNR' OR SCREEN-NAME0(7) = 'S_MATKL'.
    SCREEN-INPUT = '0'.
    SCREEN-INVISIBLE = '1'.
    ENDIF.
    CASE SCREEN-NAME+0(7).
    WHEN 'S_MATNR'.
    IF R_MATNR = 'X'.
    SCREEN-INPUT = '1'.
    SCREEN-INVISIBLE = '0'.
    ENDIF.
    WHEN 'S_MATKL'.
    IF R_MATKL = 'X'..
    SCREEN-INPUT = '1'.
    SCREEN-INVISIBLE = '0'.
    ENDIF.
    ENDCASE.
    IF R_MATNR = 'X'.
    IF SCREEN-NAME = 'C1'.
    C1 = 'Product code'.
    C2 = SPACE.
    ENDIF.
    ENDIF.
    IF R_MATKL = 'X'.
    IF SCREEN-NAME = 'C2'.
    C2 = 'Product Group'.
    C1 = SPACE.
    ENDIF.
    ENDIF.
    MODIFY SCREEN.
    ENDLOOP.
    Hope it helps.
    best regards,
    Nagaraj Kalbavi

  • Selection screen field values

    Hi,
    I created a selection screen with 2 fields.
    SELECTION-SCREEN begin of block selscr1 with frame title text-s01.
    example-
    PARAMETERS: p_ptr type BU_PARTNER,
                             p_typ type BU_TYPE.    
    SELECTION-SCREEN begin of block selscr2 with frame title text-s02
    My  question is -
    when user selects BP value  (like example 1000000005 - then i want to display corresponding values in bp type field(p_typ) ( i don’t want to display all the values, i want to scrutinize the values and then display.)
    can any one tell me how i can do this?
    Thanks.
    Sandhya.

    hi,
    use at selection-screen output.
    change the second field acording to u'r requirment.
    The assignments to input fields in the event block AT SELECTION-SCREEN OUTPUT always affect the selection screen and overwrite the user inputs from previous displays of the same selection screen. .
    regards,
    chandu
    Edited by: CHANDRASEKHAR KONDAPANENI on Mar 26, 2008 11:47 PM

  • Selection screen field problem

    Hello experts..
    i have a selection screen , in that i have a field   s_bwart for mseg-bwart.
    some times the user will input the data in the field and sometimes he wont. we have fixed movement types combination like
    11-21 , 13-24 , 13-56 , 101-543 , 101-544 etc.
    if the user did not input any thing in the selection screen , i am populating s_bwart in at-selection screen event with all the mvt types. after executing the report when user presses the back button to come to the selection screen, there the s_bwart field is containing all the mvt types in single values ie in the select options screen. So the user dont want that, if he comes back nothing should be there in the selection screen field s_bwart if he has not inputted anything. if he inputs only 11 mvt type then when he comes back after executing the report he should see only 11 in the select screen field ie s_bwart. Please send the replies on how to solve the problem.

    hi,
    in ur program try to display values for users in START-OF-SELECTION event as it triggers after the selection screen displayed for users. if user doesn't give any input then display default values in this event. and also create a variable
    for ex:
    data: ws_flag type c,
             p_value type i.
    after u display default values for users in selection screen assign the flag as ' X '
    ws_flag = 'X'.
    before leaving ur program based on flag try to do like this.
    if ws_flag = ' X '.
        clear s_data. // s_data is the select options for u.
    else.
         s_data = p_value. // the value which user gave in selection screen as i/p.
    endif.
    if helpful reward some points.
    with regards,
    Suresh Aluri.

  • Populating the screen field when the cursor moves to that field

    hi every one,
    I want to populate the screen field(MODULE POOL) When the cursor moves to that field.
    So can any one help me out with this.
    EXAMPLE..
    I want to populate 'S10_TOT_PRICE' (Total Price). When the fields like 'S10_PIECES' (Number of Pieces) will be entered. I want to populate 'S10_TOT_PRICE'  without pressing any button on the screen nor when enter is hit. When the field 'S10_PIECES''  will be entered with some value and the cursor moves to 'S10_TOT_PRICE' . The Total Price field should be populated. Please help me out with this.
    THANKS & REGARDS.
    Mahanta.
    POINTS WILL BE REWARDED.

    Sorry but look at this SAP documentation <a href="http://help.sap.com/saphelp_nw2004s/helpdata/en/54/0608162d0711d295520000e8353423/frameset.htm">User Actions on Screens</a>
    Extract :
    <i>User Actions on Screens
    There are various ways in which users can interact with screens.
    Filling Input Fields
    Users can enter values in any input field on the screen, or change the value using the mouse, in the case of radio buttons and checkboxes. The contents are placed in the corresponding screen field. Filling an input field does not normally trigger the PAI event. Exceptions to this are Checkboxes and Radio Buttons with Function Codes and input fields with Drop Down Boxes.</i>
    So, i fear that you cannot "take hand" when user fill a numerical field to perform calculations and update the screen.
    Regards

  • Screen Fields Not getting Updated with DYNP_VALUES_UPDATE

    Hi All,
    I am using FM DYNP_VALUES_READ to read the screen field values and then modifying those values and passing the modified table to DYNP_VALUES_UPDATE. But the problem is screen fields are not populated with these values . The values I wish to populate are footer values . I am using OO ALV for this wherein I am handling an event for filter of records and accordingly I need to modify my footer. Any Suggestions??
    *&      Form  footer
          Caslculate Total items, number of hits/Miss and percent MSP
    -->  p1        text
    <--  p2        text
    FORM footer .
      CLEAR : io_totitems,
              io_tothit,
              io_totmiss,
              io_permiss.
    IF NOT l_flag EQ 1.
    Get total items
      DESCRIBE TABLE i_outdata LINES io_totitems.
      LOOP AT i_outdata INTO wa_outdata.
      calculate number of hits
        IF wa_outdata-hit_miss  = 'HIT'.
          io_tothit = io_tothit + 1.
        ENDIF.
      calculate number of Miss
        IF wa_outdata-hit_miss  = 'MISS'.
          io_totmiss = io_totmiss + 1.
        ENDIF.
        CLEAR wa_outdata.
      ENDLOOP.
    calculate percent MSP
      io_permiss = ( ( io_totitems - io_totmiss ) / io_totitems ) * 100 .
      IF l_flag EQ 1.
        wa_dynpread-fieldname = 'IO_TOTITEMS'.
        APPEND wa_dynpread TO t_dynpread.
        wa_dynpread-fieldname = 'IO_TOTHIT'.
        APPEND wa_dynpread TO t_dynpread.
        wa_dynpread-fieldname = 'IO_TOTMISS'.
        APPEND wa_dynpread TO t_dynpread.
        wa_dynpread-fieldname = 'IO_PERMISS'.
        APPEND wa_dynpread TO t_dynpread.
        CLEAR wa_dynpread.
        d020s-prog = sy-repid.
        d020s-dnum = sy-dynnr.
        CALL FUNCTION 'DYNP_VALUES_READ'
                EXPORTING
                   dyname               = d020s-prog
                   dynumb               = d020s-dnum
                   translate_to_upper   = 'X'
              REQUEST              = ' '
                TABLES
                   dynpfields           = t_dynpread.
        MOVE io_totitems TO io_totitem.
        CONDENSE io_totitem NO-GAPS.
        MOVE io_tothit TO io_tothits.
        CONDENSE io_tothits NO-GAPS.
        MOVE io_totmiss TO io_totmis.
        CONDENSE io_totmis NO-GAPS.
        MOVE io_permiss TO io_permis.
        CONDENSE io_permis NO-GAPS.
        LOOP AT t_dynpread INTO wa_dynpread.
          CASE: wa_dynpread-fieldname.
            WHEN 'IO_TOTITEMS'.
              wa_dynpread-fieldvalue = io_totitem .
              MODIFY t_dynpread FROM wa_dynpread.
            WHEN 'IO_TOTHIT'.
              wa_dynpread-fieldvalue = io_tothits.
              MODIFY t_dynpread FROM wa_dynpread.
            WHEN 'IO_TOTMISS'.
              wa_dynpread-fieldvalue = io_totmis.
              MODIFY t_dynpread FROM wa_dynpread.
            WHEN 'IO_PERMISS'.
              wa_dynpread-fieldvalue =  io_permis .
              MODIFY t_dynpread FROM wa_dynpread.
          ENDCASE.
          CLEAR wa_dynpread.
        ENDLOOP.
        CALL FUNCTION 'DYNP_VALUES_UPDATE'
          EXPORTING
            dyname               = d020s-prog
            dynumb               = d020s-dnum
          TABLES
            dynpfields           = t_dynpread
          EXCEPTIONS
            invalid_abapworkarea = 1
            invalid_dynprofield  = 2
            invalid_dynproname   = 3
            invalid_dynpronummer = 4
            invalid_request      = 5
            no_fielddescription  = 6
            undefind_error       = 7
            OTHERS               = 8.
        IF sy-subrc <> 0.
          MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                  WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        ENDIF.
      ENDIF.
    Get all fotter details in a internal table
    this is used to download footer in Excel
      wa_footer-fldname = 'Total Items '.
      wa_footer-value = io_totitems.
      APPEND wa_footer TO i_footer.
      wa_footer-fldname = 'Number of HIT'.
      wa_footer-value = io_tothit.
      APPEND wa_footer TO i_footer.
      wa_footer-fldname = 'Number of MISS'.
      wa_footer-value = io_totmiss.
      APPEND wa_footer TO i_footer.
      wa_footer-fldname = 'Percentage MISS '.
      wa_footer-value = io_permiss.
      APPEND wa_footer TO i_footer.
      CLEAR wa_footer.
    ENDFORM.                    " footer

    data: t_dynfields1 type table of dynpread with header line.
    CALL FUNCTION 'DYNP_VALUES_READ'
    EXPORTING
    dyname = d020s-prog
    dynumb = d020s-dnum
    translate_to_upper = 'X'
    REQUEST = ' '
    TABLES
    dynpfields =  t_dynfields1.
    <b>read table t_dynfields1 index 1</b> “ I hope this is missing
    I will be selecting from a list .
    Because once the value is read we need to update the screen field with that value .
    Here the selected value will be in the first place
    Now
    Your operation is to populate the fields with some variables .
    In the same when I do this there is only one value then
    Im expecting only one entry here …
    LOOP AT t_dynpread INTO wa_dynpread.
    CASE: wa_dynpread-fieldname.
    WHEN 'IO_TOTITEMS'.
    wa_dynpread-fieldvalue = io_totitem .
    MODIFY t_dynpread FROM wa_dynpread.
    WHEN 'IO_TOTHIT'.
    wa_dynpread-fieldvalue = io_tothits.
    MODIFY t_dynpread FROM wa_dynpread.
    WHEN 'IO_TOTMISS'.
    wa_dynpread-fieldvalue = io_totmis.
    MODIFY t_dynpread FROM wa_dynpread.
    WHEN 'IO_PERMISS'.
    wa_dynpread-fieldvalue = io_permis .
    MODIFY t_dynpread FROM wa_dynpread.
    ENDCASE.
    CLEAR wa_dynpread.
    ENDLOOP. */
    Comment this for a while and
    Change the code as
    t_dynfields1-fieldname = ' '. "<--- header name
    t_dynfields1-fieldvalue = ' '."<----val  
    append t_dynfields1.
    t_dynfields1-fieldname = ' '.
    t_dynfields1-fieldvalue = ' '.
    append t_dynfields1.
    t_dynfields1-fieldname = ' '.
    t_dynfields1-fieldvalue = ' '.
    append t_dynfields1.
    And check .
    CALL FUNCTION 'DYNP_VALUES_UPDATE'
    EXPORTING
    dyname = d020s-prog
    dynumb = d020s-dnum
    TABLES
    dynpfields = t_dynfields1.
    regards,
    vijay

  • DYNP_VALUES_UPDATE does not change the value of my screen fields

    Hi,
    I have a screen with a header area and a control with an ALV.
    In my header area i have 2 fields shown as an icon.  These icons should change
    with an event triggered in the ALV (in handle_user_command)
    In handle_user_command I check the values of a column in my ALV - I have 3 possible cases : a green led, a yellow led or a red led.
    When i'm debugging the program, everything seems to be ok.  In my table i see the new values of the icons, but when I see the screen afterwards the old values have not been replaced.  (I also use an refresh of my ALV)
    Any help is welcome!
    THx,
    Helga

    Hi,
    declare the internal table like below:
    DATA: i_fieldvalues TYPE dynpread OCCURS 0 WITH HEADER LINE.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR field.
      PERFORM Display_contion_types.
    FORM Display_contion_types.
    Search help for Condition Type
      PERFORM Display_contion_types.
    Update screen fields like below:
    Update Screen Field.
          CLEAR i_fieldvalues[].
          MOVE: 'V_TEXT'         TO i_fieldvalues-fieldname .
          WRITE i_t685-vtext TO i_fieldvalues-fieldvalue .
          APPEND i_fieldvalues.
          CALL FUNCTION 'DYNP_VALUES_UPDATE'
               EXPORTING
                    dyname     = sy-cprog
                    dynumb     = sy-dynnr
               TABLES
                    dynpfields = i_fieldvalues.
    endif
    regards,
    Raja

Maybe you are looking for