SCREEN Table  Donwload

Hi all,
I would like to know how could I get the value of a variable that is in the table Screen memory. I explain:
When I debugg a program that I´m writing I read that in the System Area->SCREEN table is the field that i need to download and I don´t know how to get that value.
Any Ideas
Thanks!!

Hi Gabriel,
In a field exit you can use function DYNP_VALUES_READ to read the data in other fields of the screen on which you have a field exit . You will have to pass the parameters correctly to this FM to get the values back.
For example
<b>  data dynr like dynpread occurs 0 with header line.
  dynr-fieldname = <SCREEN_FEILD_NAME>.
  append dynr.
  CALL FUNCTION 'DYNP_VALUES_READ'
    EXPORTING
      DYNAME                         = <PROGRAM>
      DYNUMB                         = <SCREEN_NUM>
  TRANSLATE_TO_UPPER             = ' '
  REQUEST                        = ' '
  PERFORM_CONVERSION_EXITS       = ' '
  PERFORM_INPUT_CONVERSION       = ' '
  DETERMINE_LOOP_INDEX           = ' '
    TABLES
      DYNPFIELDS                     = dynr
   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.
MESSAGE ID SY-MSGID TYPE 'E' NUMBER SY-MSGNO
        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
  read table dynr index 1.</b>
The value will be in dynr-fieldvalue. You can append more than one fields to table DYNR .
Between I just noticed in FBCJ the field F_RUN_CASH_BALANCE on screen does not refer to a dictionary field directly so a field exit on data element CJAMOUNT wont work even if you activate it. For field exits to work on a screen the screen field should refer directly to dictionary like MARA-MATNR and the checkbox "Dict Field" should be checked .
Cheers
Message was edited by: Sanjay Sinha

Similar Messages

  • Purpose of REQUEST field in SCREEN table

    HI Everyone,
    Could someone explain me the purpose of the field REQUEST in the screen table with an example if possible?
    Thanks in advance.

    Hi,
    Check this one
    SCREEN-COLOR and REQUEST

  • SCREEN table in the new ABAP debugger

    As of ABAP 6.20 in the debugger it's possible to display the SCREEN table.
    I couldn't find the way it in the new debugger (6.40). SCREEN can be displayed as a structure, but if I enter it to the table tab, it shows "invalid table".
    I have no access to release 7.00 right now, where it might be possible.
    Any info on this one?
    Thanks in advance,
    Peter

    Hi Sridhar,
    Thanks, but this is what I meant, when I said "As of ABAP 6.20 in the debugger it's possible to display the SCREEN table.".
    I'm looking for the same in the new debugger.
    Peter

  • Change the decimal places of a field in screen table control

    HI ,
    I have a MENGE field having data element as , BSTMG (decimals 3 ).
    This field MENGE , I have used in a table control. The value in this field is filled from a custom Z-table where the same data element BSTMG is used. So , for eq.) value in MENGE field is shown as 6.010
    But the requirement is that the value should be displayed as only 2 decemals i.e.)   6.01
    I dont want to change the domain of the field in the Z-table , to 2 decimal places , because the table is used in other developments also , so it will give a dump there which I have to correct in other developments also.
    So , is there any way to change the decimal places of a field in screen table control , without changing the domain , in the table from where the value is fetched... ????
    Edited by: abhijeet_7013 on Feb 14, 2011 3:18 PM

    Hi, create a structure in local program with same field names and change the TYPE with some 2 decimal domain of MENGE. Populate this local stucture and use it in TABLE CONTROL.
    Hope this helps...
    Cheers

  • Screen Table ! Doubt!

    Hi!
        In Screen Table whats the difference b'tween ACTIVE & INPUT
       BOTH Seems to be input fields then what??
       Thanks In Advance
        Rahul.

    Hi
    input  is just applies for input-enabled field
    active field attributes are Input/Output/Invisible
    and used for active field
    Except active, all components of structure screen directly correspond to one attribute of the current screen element. The component active has no match in the attributes. If you change its content with MODIFY SCREEN, this affects the attributes Input, Output and Invisible and thus the components input, output and invisible of structure screen.
    Reward points for useful Answers
    Regards
    Anji

  • How we can loop the screen table.

    Hi All,
    We are used loop the screen table but it is a structure how we are able to do this what sap doing behind this can any body please tell me.
    Thanks,
    Saleem.

    Hi
    SCREEN is a structure only.
    But when you create a screen or selection-screen; the program which controls your screen or selection-screen creates an internal table with header line of type SCREEN.
    So in your program SCREEN is an internal table, you can always loop it.
    To understand it better, write some parameters and select-options in a report program; in debugging mode see the details of SCREEN table.
    Regards
    Surya.

  • How can I directly update a SAP screen table control with values?

    I have a need to update a table control on a standard SAP screen with values. Here's the scenario: The user will come into a standard SAP transaction (IQS2-change notification) and click on an action button which calls a function module. That function module will determine what needs to be added to the SAP screen table control (add additional task rows). When the function module returns with the row data to be added to table control, I would like to set those values as if  the user input directly. The table control is located on it's separate tab (TASKS) in the transaction. I cannot find any user exists or BADI's for this transaction to allow me to affect the TASKS tab table control for this GUI. I'm trying to prevent from having to make a custom modification. If anyone has any ideas, please let me know.  Thanks.

    Hi,
    Check these enhancements:
    IWOC0002      PM/SM notification: Check whether status change is allowed
    QQMA0001      QM/PM/SM: User Subscreen for Notification Header         
    QQMA0008      QM/PM/SM: User Subscreen for Additional Data on Notif. Ite
    QQMA0011      QM/PM/SM: User Subscreen for Additional Data on Task     
    QQMA0013      QM: Default Values when Creating a Task                  
    QQMA0014      QM/PM/SM: Checks before saving a notification            
    QQMA0015      QM/PM/SM: User-Exit before Call-Up of F4 Help on Catalogs
    QQMA0016      QM/PM/SM: "User data" Function "Goto" --> "Task" Menu    
    IWO10026            User check on setting status 'Do not perform'                   
    IWO10027            User exit: Generate user-defined settlement rule                
    IWOC0001            Create PM/SM notification: Determine reference object           
    IWOC0002            PM/SM notification: Check whether status change is allowed      
    IWOC0003            PM/SM authorization check of ref. object and planner group      
    IWOC0004            Change single-level list editing PM/QM/SM ALV settings          
    Regards
    Appana

  • Helpp regarding screen table.

    Hii gurus..
    in which table of SAP the screen of the module pool stores.??
    Please reply its urgent,
    Manish

    Hi,
    If you are talking about the SCREEN table that controls the screen attributes, while in the debugger screen try the following path,
    GOTO-> System Areas-> SCREEN table.
    There you will be able to check the values of the screen table you are using in the program.
    Jayant Sahu

  • Scorrling in screen table

    hi!
    i build a screen table with table control.
    in the screen i dont have the scrolling bar, eventhough all the the parameters in the table control are set.
    do i have to set any other parameters in the table.
    i read in ths sap help about field line that has to be set in the pai or the pbo, how do i do it?
    regards
    yifat bar

    Hi Yifat,
    Please follow the below code.Here internal table is
    G_SCR2000_HEADER_2
    Create push buttons pagedown pageup last page and first page respectively and give a funcion code P-, P, P-- and P+.
    PBO code:
    Table control name is PURC_REQI_TBCTR
            module PURC_REQI_TBCTR_change_tc_attr.
    *&spwizard: module PURC_REQI_TBCTR_change_col_attr.
      loop at   G_SCR2000_HEADER_2
           with control PURC_REQI_TBCTR
           cursor PURC_REQI_TBCTR-current_line.
        module PURC_REQI_TBCTR_get_lines.
    *&spwizard:   module PURC_REQI_TBCTR_change_field_attr
      endloop.
    Modules:
    module SUPL_LST_TBLCTR_get_lines output.
      g_SUPL_LST_TBLCTR_lines = sy-loopc.
    endmodule.
    module PURC_REQI_TBCTR_change_tc_attr output.
      describe table G_SCR2000_HEADER_2 lines PURC_REQI_TBCTR-lines.
    endmodule.
    PAI:
      loop at G_SCR2000_HEADER_2.
        chain.
          field G_SCR2000_HEADER_2-PURC_REQI_NO.
          field G_SCR2000_HEADER_2-DATE.
        endchain.
      endloop.
      module PURC_REQI_TBCTR_user_command.
    Modules:
    module PURC_REQI_TBCTR_user_command input.
      OK_CODE = sy-ucomm.
      perform user_ok_tc using    'PURC_REQI_TBCTR'
                                  'G_SCR2000_HEADER_2'
                         changing OK_CODE.
      sy-ucomm = OK_CODE.
    endmodule.
    FORM USER_OK_TC USING    P_TC_NAME TYPE DYNFNAM
                              P_TABLE_NAME
                              P_MARK_NAME
                     CHANGING P_OK      LIKE SY-UCOMM.
    &SPWIZARD: BEGIN OF LOCAL DATA----
       DATA: L_OK              TYPE SY-UCOMM,
             L_OFFSET          TYPE I.
    &SPWIZARD: END OF LOCAL DATA----
    *&SPWIZARD: Table control specific operations                          *
    *&SPWIZARD: evaluate TC name and operations                            *
       SEARCH P_OK FOR P_TC_NAME.
       IF SY-SUBRC <> 0.
         EXIT.
       ENDIF.
       L_OFFSET = STRLEN( P_TC_NAME ) + 1.
       L_OK = P_OK+L_OFFSET.
    *&SPWIZARD: execute general and TC specific operations                 *
       CASE L_OK.
         WHEN 'INSR'.                      "insert row
           PERFORM FCODE_INSERT_ROW USING    P_TC_NAME
                                             P_TABLE_NAME.
           CLEAR P_OK.
         WHEN 'P--' OR                     "top of list
              'P-'  OR                     "previous page
              'P+'  OR                     "next page
              'P++'.                       "bottom of list
           PERFORM COMPUTE_SCROLLING_IN_TC USING P_TC_NAME
                                                 L_OK.
           CLEAR P_OK.
         WHEN 'MARK'.                      "mark all filled lines
           PERFORM FCODE_TC_MARK_LINES USING P_TC_NAME
                                             P_TABLE_NAME
                                             P_MARK_NAME   .
           CLEAR P_OK.
         WHEN 'DMRK'.                      "demark all filled lines
           PERFORM FCODE_TC_DEMARK_LINES USING P_TC_NAME
                                               P_TABLE_NAME
                                               P_MARK_NAME .
           CLEAR P_OK.
       ENDCASE.
    ENDFORM.                              " USER_OK_TC
    *&      Form  COMPUTE_SCROLLING_IN_TC
          text
         -->P_TC_NAME  name of tablecontrol
         -->P_OK       ok code
    FORM COMPUTE_SCROLLING_IN_TC USING    P_TC_NAME
                                           P_OK.
    &SPWIZARD: BEGIN OF LOCAL DATA----
       DATA L_TC_NEW_TOP_LINE     TYPE I.
       DATA L_TC_NAME             LIKE FELD-NAME.
       DATA L_TC_LINES_NAME       LIKE FELD-NAME.
       DATA L_TC_FIELD_NAME       LIKE FELD-NAME.
       FIELD-SYMBOLS <TC>         TYPE cxtab_control.
       FIELD-SYMBOLS <LINES>      TYPE I.
    &SPWIZARD: END OF LOCAL DATA----
       ASSIGN (P_TC_NAME) TO <TC>.
    *&SPWIZARD: get looplines of TableControl                              *
       CONCATENATE 'G_' P_TC_NAME '_LINES' INTO L_TC_LINES_NAME.
       ASSIGN (L_TC_LINES_NAME) TO <LINES>.
    *&SPWIZARD: is no line filled?                                         *
       IF <TC>-LINES = 0.
    *&SPWIZARD: yes, ...                                                   *
         L_TC_NEW_TOP_LINE = 1.
       ELSE.
    *&SPWIZARD: no, ...                                                    *
         CALL FUNCTION 'SCROLLING_IN_TABLE'
              EXPORTING
                   ENTRY_ACT             = <TC>-TOP_LINE
                   ENTRY_FROM            = 1
                   ENTRY_TO              = <TC>-LINES
                   LAST_PAGE_FULL        = 'X'
                   LOOPS                 = <LINES>
                   OK_CODE               = P_OK
                   OVERLAPPING           = 'X'
              IMPORTING
                   ENTRY_NEW             = L_TC_NEW_TOP_LINE
              EXCEPTIONS
                 NO_ENTRY_OR_PAGE_ACT  = 01
                 NO_ENTRY_TO           = 02
                 NO_OK_CODE_OR_PAGE_GO = 03
                   OTHERS                = 0.
       ENDIF.
    *&SPWIZARD: get actual tc and column                                   *
       GET CURSOR FIELD L_TC_FIELD_NAME
                  AREA  L_TC_NAME.
       IF SYST-SUBRC = 0.
         IF L_TC_NAME = P_TC_NAME.
    *&SPWIZARD: et actual column                                           *
           SET CURSOR FIELD L_TC_FIELD_NAME LINE 1.
         ENDIF.
       ENDIF.
    *&SPWIZARD: set the new top line                                       *
       <TC>-TOP_LINE = L_TC_NEW_TOP_LINE.
    ENDFORM.                              " COMPUTE_SCROLLING_IN_TC
    There is some extra code also in this for other operations also. Please i suggest use a table control wizard.
    Please let me know if any clarifications required.
    Regards
    Anil Kumar K

  • How to populate the next screen based on the previous screen table control

    Hi Experts,
            Is this possible to generate the next screen values based on the table control values in previous screen.
    My Requirement is
    In my First screen i m having 5-7 regional offices in table control and also amount field for each regional offices.(amount field is editable)
    User has to enter amount field for Regional office..based on the amount field i need to process the next screen. For Ex if user is entering  amount for 3 regional offices out of 7 regional offices then i need to get the screen for the 3 regional offices..
    Pls suggest me how to do this..
    Regards,
    Zakir

    Hi Zakir,
    Do you have any button for calling the second screen after entering amount in the first table control screen or you have to call the screen on pressing enter on the table control?
    You will have to handle it in the PAI of the table control loop.Get data entered in the table control in your internal table of table control.You can prepare the data passed to the next screen from this internal table. Fill the second screen elements and Use CALL SCREEN XXX. XXX is your second screen no.
    Thanks,
    Pawan

  • Collections screen tables in R12

    Hi,
    I have a requirement to create a new Collector Call history in R12 as these report have been dicommissioned in R12. User is entering the data in Notes and Task tab in the Collection screen. When we select the Organization and select View -Customer- Then it will display all notes in notes tab. I am not able to find out the link between these two.How notes data is displaying customer wise.The table/view AST_NOTES_DETAILS_Vl is having source_object_id field which contains the Customer account ID but when when user enter the notes using Interaction screen then there is no cust_Accout_id. Then how it displays the data? I am really confused... What are the tables names of Interaction screen and what is the link???
    Please help..
    Thanks,
    Joohi

    1. choose a db
    3. learn sql
    3. learn jdbc
    4. build db and tables
    5. connect to db
    6. execute appropriate sql statements
    7. btw, consider db connection pooling and dao layer
    8. have a nice day

  • Need to disable delete icon in over view screen (table maintainance)

    In the overview screen (transaction se 54 -> generated object -> overview screen) in table maintainance i need to disable the delete icon.
    Anyone can please help me in it.

    Hi,
    check the program name for the transaction and create a screen exit for the same.
    Also u can go for copying the code in customer namespace and then add ur own functionality to dactivate or remove the delete function.
    Pls reward points for the answer.
    Regards,
    Ameet

  • Looping selection screen table

    Hi All,
    The selection screen has a select-option input field for Profit Center (S_PRCTR).
    Hence user can enter the value like 1000 to 1200 in the selection screen.
    Now in the Program, one internal table has list of Profit centers.
    ex: ITAB will have following profit centers.
    1000, 1001, 1002, 1200
    Now, i would like to know which are the Profit centers that are missing in the ITAB from S_PRCTR.
    How to write the logic?
    Regards
    Pavan

    Hi
    you need to have the exact values of the select-options. So put in an internal table the value of profit center
    select prctr into table t_tab from cepc where prctr in s_prctr
    after you can loop on your second tab and read the table t_tab to find the values out.
    like something like this:
    loop at itab.
    read table t_tab with key prctr = itab-prctr.
    if not sy-subrc is initial.
    --> you find it
    endif.
    endloop.
    i hope it's helpful

  • Updating attributes of screen table

    Hi Experts,
    Is there any function module which can update the attributes of a screen like
    SCREEN-INPUT = 0.
    SCREEN-OUTPUT = 1
    in a PAI event. I just want a FM that is similar to DYNP_VALUES_UPDATE or DYNP_UPDATE_FIELDS. Instead of values the attributes should get updated in PAI without PBO being triggered.
    TIA.

    you can use a validation kind of thing for the value entered by f4.
    use the appropriate even to place this psuedo code..
    if pa_field = 'Value1'.
    loop at screen assigning <fs_screen>.
    active == )&*()
    inactive == (P()_
    endloop.
    elseif pa_field = 'Value2'.
    loop at screen assigning <fs_screen>.
    active == )&*()
    inactive == (P()_
    endloop.
    endif.

  • Query about screen as a structure used in table control.

    hi all,
    plz explain the fields in screen(structure).
    when and how it is used.
    specialy i/o, o/p,active,
    plz give example.

    hi,
    The screen elements text field, input/output field, status icon, group box, radio button, checkbox, and
    pushbutton all have general attributes, Dictionary attributes, program attributes, and display attributes.
    The elements subscreen, tabstrip control, and table control have general attributes, and special
    attributes relating to the respective type.
    We can divide the attributes of an element into:
    Statically definable attributes that cannot be changed dynamically
    Statically definable attributes that can be changed dynamically
    Attributes that can only be changed dynamically
    At the beginning of the PBO, the runtime system reads the statically-created and dynamically-modifiable
    attributes of each screen element on the current screen into a system table with the line type SCREEN.
    Dynamic changes to the attributes of screen elements are temporary.
    Using this technique to modify the attributes of a screen element (for example, to change whether an
    input/output field is ready for input), you can replace long sequences of separate screens, which are
    more costly in terms of both programming time and runtime.
    The system table with line type SCREEN will be called SCREEN system table in the following unit.
    When a screen is processed, the SCREEN system table contains an entry for each element created in
    the Screen Painter for that screen.
    The system table SCREEN is initialized at the start of the PBO event for the current screen. To do this, a
    system program copies the statically defined attributes of the individual screen elements into the table.
    You can then change the dynamically-modifiable attributes of the elements on the screen in a module at
    PBO using the following statements: LOOP AT SCREEN.
    MODIFY SCREEN.
    ENDLOOP.
    To do this, you use the structure SCREEN, which is created automatically by the system, and filled with
    the values of each successive line of the system table in the loop. Set attributes have the value '1',
    attributes that are not set have the value '0'. To change the system table, use MODIFY SCREEN. within
    the loop.
    To find the element whose attributes you want to modify, you can use a LOOP on the SCREEN table,
    and query one of the following fields: SCREEN-NAME, SCREEN-GROUP1 to SCREEN-GROUP4.
    You can change the attributes of several screen elements simultaneously at runtime, by including them
    in a modification group in the Screen Painter. Assign all elements that will be changed within a single
    processing step to a group in the Screen Painter.
    To do this, enter a group name for each of the relevant elements in one of the fields GROUP1 …
    GROUP4.
    You can include each element in up to four modification groups. You can choose any three-character
    sequence for the group name. You can assign elements to a modification group either in the element list
    or the layout editor in Screen Painter.
    You must program your screen modifications in a module that is processed during the PROCESS
    BEFORE OUTPUT processing block.
    You use a loop through the table SCREEN to change the attributes of an element or a group of
    elements. (LOOP AT SCREEN WHERE . . . and READ TABLE SCREEN are not supported).
    To activate and deactivate attributes, assign the value 1 (active) or 0 (inactive), and save your changes
    using the MODIFY SCREEN statement.
    Note that elements you have defined statically in the Screen Painter as invisible cannot be reactivated
    with SCREEN-ACTIVE = 1. Instead, use the statement SCREEN-INVISIBLE = 0. However, elements
    that you have statically defined as visible in the Screen Painter can dynamically be made invisible. This
    has the same effect as the three statements SCREEN-INVISIBLE = 1, SCREEN-INPUT = 0, SCREENOUTPUT
    = 0.
    There are three steps involved in displaying buffered data from the internal table in the table control:
    The system loops through the lines of the table control on the screen. The lines of the screen table are
    processed one by one. For each line, the system carries out the following steps:
    The current line of the internal table is placed in the work area of the internal table. (Note that it is
    possible to scroll in the table on the screen).
    The data from the work area of the internal table is copied into the relevant line of the table control.
    When you use table controls on a screen, the automatic field transport sequence changes.
    In the PBO processing block, data is transferred from the ABAP program to the screen after each loop
    pass in the flow logic. The rest of the screen fields are filled, as normal, at the end of the PBO.
    In the flow logic, the loop statement
    LOOP AT <itab> INTO <wa_itab> WITH CONTROL <tc_name>
    starts a loop through the screen table, and reads the line of the internal table corresponding to the
    current line of the screen table, placing it in <wa_itab>.
    <itab> is the name of the internal table containing the data, <wa_itab> is the name of the work area for
    the internal table, and <tc_name> is the name of the table control on the screen.
    If the fields in your table control have the same structure and name as those in the work area <wa_itab>,
    the system can transport data between the ABAP program and the screen automatically (step 3).
    If you are not using the same structure for the table control fields and the work area of the internal table,
    you must call a module between LOOP and ENDLOOP that moves the data from the work area
    <wa_itab> into the screen fields (MOVE-CORRESPONDING <wa_itab> TO …) .
    The system calculates the value of <ctrl>-TOP_LINE when you scroll, but not when you scroll a page at
    a time outside the table control.
    In order to transfer changed values from the table control back to the internal table the following three
    steps must be carried out:
    The system loops through the lines of the table control. The lines of the screen table are processed
    one by one. For each line, the system carries out the following steps:
    The data from the current line of the table control is copied into the header line of the internal table.
    The data in the work area must then be placed in the line of the internal table corresponding to the
    line of the table control that is being processed. (Note that it is possible to scroll in the table on the
    screen).
    In the PAI processing block, all screen fields that do not belong to a table control and that are not listed
    in a FIELD statement are transported back to the work fields in the ABAP program first.
    The contents of the table control are transported line-by-line to the corresponding work area in the ABAP
    program in the appropriate loop.
    As usual, the fields that occur in FIELD statements are transported directly before that statement.
    The structure of the screen tables contain.
    NAME
    GROUP 1
    GROUP 2
    GROUP 3
    GROUP 4
    OUTPUT
    REQUIRED
    LENGTH
    INTENSIFIED
    INVISIBLE
    ACTIVE
    Hope this helps, Do reward.
    Edited by: Runal Singh on Mar 13, 2008 10:41 AM

Maybe you are looking for

  • XI Mail Adapter: Sending an XML attachment

    Hi I want to send an xml attachment using the XI Mail adapter. I have configured the adapter correctly and am currently receiving the email message. My issue is that my attachment has a .txt extention and I want it to have a .xml extn. I have seen a

  • Multiplexing Error Problem vs. Best Quality

    I've been trying to make the .img file for a 29 minute iMovie which consist of 288 photos + beginning and end. I imported the 288 photos at 5 sec (no burns effect), created chapter marks, added audio and was able to create .img OK using Best Quality,

  • Error in adgenjky.sh

    hi, anyone please help me out. [AutoConfig Error Report] The following report lists errors AutoConfig encountered during each phase of its execution. Errors are grouped by directory and phase. The report format is: <filename> <phase> <return code whe

  • New playlist doesn't sync

    I added a new playlist but when I sync my ipod it's not showing up. I've closed Itunes and re-synced a few times but still nothing. Anyone know the fix for this? Thanks!

  • Sorting shuffle & 5th generation library

    Need help in sorting my library..When I add to my ipod I always used to be able to put them in the order I wanted.. especially the shuffle..I used to be able to go into the shuffle library and click on an item to move it up or down into the order I w