Tabstrips and WDMODIFYVIEW

Hi All,
in our WD abap application each single tab of the tabstrip contains a ViewContainerUIElement which is linked to an VIEW.
Although only 1 tab can be the active one during runtime the views of the inactive tabs are executed. This is performance intensiv.
(1) Why are the inactive tabs processed?
(2) The Flag first_time is not enough to improve performance!? What else can be done to prevent WD from executing WDMODIFY-methods of inactive tabs.
regards, Martin

Hi Martin,
Make sure that the TabStrip has an action bound to its onSelect event. That way only the currently selected tab is rendered and sent to the client.
A further performance improvement can be achieved by embedding the EmptyView view in the view containers of all tabs except the currently selected one. Inside of the action handler for onSelect event navigate from the EmptyView to the actual view for the newly selected tab and from the actual view to the EmptyView for the previously selected one.
Best regards,
Thomas

Similar Messages

  • Dynamic tabstrips and table control in custom infotype

    Dear Experts,
    I have a requirement to create a custom infotype using tabstrips and table control. The tabstripes should also be dynamically populated. For example we have infty 8(Basic pay) used table control and 24(Qualifications) for tabstripes.
    Could you please tell me how to do this. Please do the needful ASAP.
    Thanks,
    Chaitanya.
    Moderator message - Please don't just post your requirements and ask the forum to do your work for you...especially ASAP - Thread locked
    Edited by: Rob Burbank on Oct 7, 2009 4:16 PM

    Hi Partha,
    Pls check the threads:
    Best way to store a table control into an infotype
    Re: Custom Infotype with table control - Overview/List  Screen
    Dilek

  • Dynamic Tabstrip and Alv's

    Hi All,
    My requirement is like that dynamically i have to create tabstrip and in that each tab has Alv table to disply the data.
    Regards,
    Rajesh.

    Hi,
    To dynamically include an ALV additionally, you would have to do the following:
    1. First declare the component usage for the ALV in your component, so that you can instantiate and use the ALV
    2. Within the tab, you will have to dynamically also create a viewcontainerUIelement dynamically (similar way as you have dynamically created the tabstrip) - try using CL_WD_VIEW_CONTAINER_UIELEMENT.
    3. You will have to dynamically embed the ALV component in viewcontainerUIelement created in (2). Try going thru
    http://help.sap.com/saphelp_nw04s/helpdata/en/77/3545415ea6f523e10000000a155106/frameset.htm
    4. Proceed with the ALV as usual.
    Hope this helps.
    Regards,
    Wenonah

  • TabStrip and Field Exit......

    Hi Friends,
       I need the complete step by step working process of <i><b>"Tabstrip and FieldStrip"</b></i>.Also any sample code will be highly appreciated.
    Points will be rewarded for Requirement.
    Thanx ,
    Mandeep.

    Hi,
    <b>TABSTRIP</b>
    Tabstrip is used to display multiple subscreens on the same area of the screen in designing transactions
    see the links related to Module pool, in which you find the Tabstrip
    Check the below link:
    http://wiki.ittoolbox.com/index.php/FAQ:What_is_module_pool_program_in_abap%3F
    http://help.sap.com/saphelp_46c/helpdata/en/35/26b1aaafab52b9e10000009b38f974/content.htm
    http://sap.mis.cmich.edu/sap-abap/abap09/sld011.htm
    http://sap.mis.cmich.edu/sap-abap/abap09/index.htm
    http://www.geocities.com/ZSAPcHAT
    http://www.allsaplinks.com/files/using_table_in_screen.pdf
    http://help.sap.com/saphelp_webas630/helpdata/en/9f/db9cdc35c111d1829f0000e829fbfe/content.htm
    http://www.sapdevelopment.co.uk/dialog/dialoghome.htm
    http://www.sap-img.com/
    http://help.sap.com/saphelp_46c/helpdata/en/08/bef2dadb5311d1ad10080009b0fb56/content.htm
    http://www.sapgenie.com/links/abap.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c9/5472fc787f11d194c90000e8353423/frameset.htm
    You can also check the transaction ABAPDOCU which gives you lot of sample programs.
    Also you can see the below examples...
    Go to se38 and give demodynpro and press F4.
    YOu will get a list of demo module pool programs.
    One more T-Code is ABAPDOCU.
    YOu can find more examples there.
    See the prgrams:
    DEMO_DYNPRO_TABLE_CONTROL_1 Table Control with LOOP Statement
    DEMO_DYNPRO_TABLE_CONTROL_2 Table Control with LOOP AT ITAB
    http://www.geocities.com/ZSAPcHAT
    http://www.allsaplinks.com/files/using_table_in_screen.pdf
    <b>FIELD-EXIT</b>
    http://www.erpgenie.com/abap/fieldexits.htm
    http://www.sap-basis-abap.com/sapab014.htm
    V4.6c onwards no longer supports field exits!!! In any case here's how to activate them:
    Activation of the field exits and assignment of the dynpros is carried out using program RSMODPRF. For this purpose, the program must be started without parameters (input fields remain blank). If required, new field exits can be created using program RSMODPRF (see below for documentation).
    Field Exits for Data Elements
    Description
    Maintenance transaction for creating and activating field exits
    As part of the extension concept, SAP allows you to install a field exit for each screen field. Similar to the conversion exit, the system branches at the field exit at DCI (DATA COMMUNICATIONS INPUT) to a function module, if the field is an input field and a function code was triggered. The function module must adhere to the following naming convention:
    Prefix: FIELD_EXIT_
    Infix: <Data element name>
    Suffix: _0 to _9 (optional), _A to _Z
    The interface is automatically generated during the creation of the function module, and has 2 parameters:
    Import parameter: INPUT
    Export parameter: OUTPUT
    After a function code has been triggered the contents of the field are made available to the FB via the "INPUT" import parameter. You can edit this and, when changed, make it available to the ABAP/4 processor in "OUTPUT". The input field contents are usually passed on: you can simply write OUTPUT = INPUT.
    If, e.g., you have activated the field exit for the data element 'PROGRAM', then the fields of all the screens, which refer to the data element 'PROGRAM', branch to the function module FIELD_EXIT_PROGRAM. This includes the field 'Program' of the initial screen SAPMS38M0100 in transaction SE38, for example.
    If you do not want the function module to be accessed from all screens, assign particular screens to the data element PROGRAM. By allocating an exit number, it is also possible to branch to other function modules with the corresponding suffix _0 ... _Z.
    Example: You have assigned screen SAPMS38M0100 and exit number 5 to data element 'PROGRAM'. The corresponding field on SAPMS38M0100 branches to FIELD_EXIT_PROGRAMM_5.
    As soon as you activate an exit, the corresponding screens are invalidated.
    Note: Field exits are only taken into account during screen generation if the parameter abap/fieldexit = 'YES' is set in the system profile.
    Requirement
    Set the profile parameter abap/fieldexit = 'YES' before system start.
    Limitations
    The following ABAP statements are not allowed in the function modules of field exits:
    BREAK-POINT,
    CALL SCREEN, CALL DIALOG, CALL TRANSACTION, SUBMIT,
    COMMIT WORK, ROLLBACK WORK,
    COMMUNICATION RECEIVE,
    EXIT FROM STEP-LOOP,
    MESSAGE I, MESSAGE W.
    Note:
    Field exits cannot be edited with the debugger.
    You should not use any external Performs in field exits. The ABAP processor shares the table work areas of externally called programs with those of the first caller. This could lead to errors at field exits that can hardly be analyzed, as field exits are sometimes slipped into the flow of the program at unforeseen events.
    Questions and answers on field exits
    1. A field exit was created with the CMOD and activated, but it does not get executed when the screen is called.
    Since the field exit is not executed until DCI, some action must occur in the screen (e.g. press Return, saving....).
    Set the abap/fieldexit profile parameter to YES and start the system again.
    After the FIELD_EXIT... function module has been activated and the field exit has been activated, the transaction in whose screen the field exit is to be executed must be terminated. The screen is not generated until it is called.
    Do not work on different application servers, otherwise there may be a delay before the field exit becomes active.
    The profile parameter must be set either on all application servers or on none.
    If the field exit is to be active in certain screens only, then you should check whether you have selected the correct program and the correct screen number (Careful with SUBSCREENS Do not rely on the F1 information for the field!
    2. How does setting abap/fieldexit affect the performance?
    If a screen is generated and the profile parameter is set, then the system checks in 2 tables (TDDIR, TDDIRS) to see whether a field exit has to be generated for the field. In practice the screen load after a Put is not generated until the screen is called. The user will not experience a noticeable delay, since screen generation is extremely fast.
    3. Can the contents of other screen fields be read in a field exit?
    In principle all fields can be copied to global variables in the TOP or the function group. However, since the order in which the field exits are called is not guaranteed, this possibility should not be used.
    4. How does the field exit work in step-loop fields?
    After data input to DCI the field exit will be called as many times as fields are visible on the step-loop. The SY-STEPL system variable is incremented each time. If a new value is assigned to be field, then it will be visible in the module between LOOP. ENDLOOP. This module will also be called as many times as there are visible step-loop lines.
    5. Can field exits be debugged?
    No. Field exits have to be tested in isolation in the development environment. To analyze problems that occur only in the screen environment, the relevant variables can be written to the file system using TRANSFER... and can be analyzed there.
    6. What should one do if the field contents are not getting transported to ABAP/4?
    Check whether you have assigned a value to the OUTPUT field.
    7. When does the field exit get called in the case that there is a conversion exit attached to the data element?
    The field exit will be called after the conversion exit. This means that the INPUT field contains the data in the same form as that in which the ABAP/4 program also gets them
    Regards,
    Priyanka.

  • Required tabstrip and subscreen program

    hi all
    any body can send me the sample program for tabstrip and sub screen program.
    and send me the documentation how to work on tabstrip and subscreens.
    thanks,
    maheedhar

    Hi
    Ex1:
    REPORT demo_dynpro_tabstrip_local.
    CONTROLS mytabstrip TYPE TABSTRIP.
    DATA: ok_code TYPE sy-ucomm,
          save_ok TYPE sy-ucomm.
    mytabstrip-activetab = 'PUSH2'.
    CALL SCREEN 100.
    MODULE status_0100 OUTPUT.
      SET PF-STATUS 'SCREEN_100'.
    ENDMODULE.
    MODULE cancel INPUT.
      LEAVE PROGRAM.
    ENDMODULE.
    MODULE user_command INPUT.
      save_ok = ok_code.
      CLEAR ok_code.
      IF save_ok = 'OK'.
        MESSAGE i888(sabapdocu) WITH 'MYTABSTRIP-ACTIVETAB ='
                                      mytabstrip-activetab.
      ENDIF.
    ENDMODULE.
    Ex2:
    REPORT demo_dynpro_tabstrip_server.
    CONTROLS mytabstrip TYPE TABSTRIP.
    DATA: ok_code TYPE sy-ucomm,
          save_ok TYPE sy-ucomm.
    DATA  number TYPE sy-dynnr.
    mytabstrip-activetab = 'PUSH2'.
    number = '0120'.
    CALL SCREEN 100.
    MODULE status_0100 OUTPUT.
      SET PF-STATUS 'SCREEN_100'.
    ENDMODULE.
    MODULE cancel INPUT.
      LEAVE PROGRAM.
    ENDMODULE.
    MODULE user_command INPUT.
      save_ok = ok_code.
      CLEAR ok_code.
      IF save_ok = 'OK'.
        MESSAGE i888(sabapdocu) WITH 'MYTABSTRIP-ACTIVETAB ='
                                      mytabstrip-activetab.
      ELSE.
        mytabstrip-activetab = save_ok.
        CASE save_ok.
          WHEN 'PUSH1'.
            number = '0110'.
          WHEN 'PUSH2'.
            number = '0120'.
          WHEN 'PUSH3'.
            number = '0130'.
        ENDCASE.
      ENDIF.
    ENDMODULE.

  • Performance Problems with UI Element Tabstrip and IE

    Hi,
    I use the UI Element "Tabstrip" in a Java Web Dynpro Application. The application gets slower the more I jump from one tab to the next. All the other UI Elements (e.g. ComboBox, TextField) are affected, too.
    A system trace on the Web AS seems to indicate that it is a client problem.
    We are using the Internet Explorer 6.0.2900.2180 XP SP2 and the J2EE Engine 6.40.
    It seems to be a problem with the Tabstrip element in combination with the IE (Firefox 3 works fine). We created a test application with only the tabstrip element, three tabs, and a combo box. After several clicks on the tabs, the test application gets slower...
    Does anyone has had the same problem with the tabstrips, or anyone an idea what might be the reason??
    Thanks,
    Sabine

    Open an OSS message (BC-WD-UR).
    Armin

  • Tabstrip and Subscreen

    Dear All
    I have used tabstrip with two taps. In the first tap, I used input controls to get two inputs.  In the second tab, the addition of two inputs.from the first tap.
    I have placed a sub screen(first). I called another one sub screen(second) from this sub screen. Two fileds available in the second sub screen.  The above is same for tab2.
    Second sub screen didn't called when i execute.
    How to solve this....?????
    Refer the following link
    http://www.4shared.com/dir/7546404/59f81067/sharing.html

    Hello.
    When you use statement:
    CALL SUBSCREEN sub1 INCLUDING sy-cprog dynnr
    check the value of var sub1 and dynnr in debug mode.
    Also, in screen painter, check the FCODE (ok_code) you assigned to the tab, and see in user-command what do you do with that ok_code.
    Regards.
    Valter Oliveira.

  • TabStrip and ViewContainerUIElement

    Hello Experts,
    I have MAIN view which contains one tabstrip control having 3 tabs. Each tab consists of one ViewContainerUIElement. Currently when I test the main View, All the views are displaying correctly, and control goes as follows:
    1. WDINIT of MAIN
    2. WDINIT of First view which is  present in first tab's ViewContainerUIElement
    3. WDINIT of Second view which is  present in second tab's ViewContainerUIElement
    4. WDINIT of Third view which is  present in third tab's ViewContainerUIElement
    But my requirement is as discussed below.
    Each time view's WDINIT should be called when use clicks on Tab. That means initially first tab is displayed and when user click on second tab, WDINIT of view present in second tabs's ViewContainerUIElement should be called and same for third view as well.
    Could you please give me any pointers on this? I tried to set Lifetime property of views but no success.
    Thanks,
    Prashant

    You are going to have to change the way the tabstrip itself works.  By default the tabstrip renders all the inner tabs at once and then does the tab switch on the client side wihtout a return to the server.  This causes more initial processing but saves time on each tab switch.
    If you want a server event on each tab switch, then you need to use onSelect event of the tabStrip.  In this event you will need to trigger a navigation plug in the Window. Within the processing of this navigation plug, you fire additional plugs that will switch between EMPTYVIEW and the real view in each tab/viewContainer. Any currently invisible tabs should be switched to the dummy EMPTYVIEW.  This action combined with the lifetime setting will cause the inner view to be destroyed.  Consequently when the user reselects this tab it will be recreated and the WDDOINIT will fire again.

  • Tabstrip and screen

    Dear All
          Any Body explain screenshot a simple screen with a tabstrip on it
    Thanks and Regards
    Suresh

    Hi Suresh,
       Plz refer the following codeing that will help you.
    *   Tab Strips 1
    selection-screen begin of screen 101 as subscreen.
    selection-screen begin of block b with frame title text-t00.
    parameters: p_pernr like pa0001-pernr." OBLIGATORY.
     parameters:  rel_let radiobutton group one,
                  ser_let radiobutton group one,
                  app_let1 radiobutton group one,
                  call_let radiobutton group one.
    selection-screen end of block b.
    selection-screen end of screen 101.
    *   Tab Strips 2
    selection-screen begin of screen 102 as subscreen.
    selection-screen begin of block b1 with frame title text-t02.
    parameters: p_pernr1 like pb0001-pernr obligatory.
    parameters:  p_ctc(20) obligatory,
                 p_sal(20) obligatory.
    selection-screen end of block b1.
    selection-screen end of screen 102.
    *                   Tab strips 3
    selection-screen begin of screen 103 as subscreen.
    selection-screen begin of block b2 with frame title text-t03.
    parameters: p_pernr2 like pa0001-pernr obligatory.
    parameters:  p_loan(20) .
    selection-screen skip.
    selection-screen end of block b2.
    parameters:  res_prf radiobutton group two,
                 emp_let radiobutton group two,
                 sal_cert radiobutton group two.
    selection-screen end of screen 103.
    selection-screen begin of tabbed block b3 for 20 lines.
    selection-screen tab (15) name1 user-command ucomm1
    default screen 101.
    selection-screen tab (17) name2 user-command ucomm2
    default screen 102.
    selection-screen tab (25) name3 user-command ucomm3
    default screen 103.
    selection-screen end of block b3.
    Reward points if helpful.
    Thanks & Regards,
    T.Durai murugan.

  • TabStrip and TLayout Error

    Hi,
    i have a View with a TabStrip UI Element and two Tabs which hold a ViewContainerUIElement. Both Tabs are set to default true. If i start the app its empty but its working.
    Next Step:
    In the Window View i add a TLayout ViewSet into the ViewContainerUIElements of both views and put my iViews into the TLayout.  If i set  both TLayouts to default = true i get an error (500 - contact your system admin, i cant look into the logs). If i switch one of the TLayouts to default = false the other one is shown correctly.
    Anybody know what im doing wrong or knows a workaround?
    best regards,
    Kai Mattern

    I found the error, i put the same iView in both UIElementContainers and this seams not to be possible in this relation. I removed the iView and now both Tabs are working correctly.
    Maybe one tab tries to set the iview visible and the other one to invisibe which leads to the crash (?) but thats just a guess.

  • Select-Options in Tabstrip and Subscreen for MIGO

    Hi,
    I have to enhance MIGO tansaction using screen exit.
    I have to create a tab called Serial Number Ranges and inside the tab create a sub screen.
    Inside the subscreen i have to create a range (select option for Serial Number.)
    I have create a module pool program and created one screen with the tab and subscreen.
    In the main program i have create a selection screen as subscreen and declared select options.
    then i have called the screen in PBO and PAI..
    it doesnt seem to work...
    can u suggest a solution different from this?

    Hi,
    Check out these links:
    [http://sample-code-abap.blogspot.com/2008/06/select-option-in-module-pool-screen.html]
    [http://abap-explorer.blogspot.com/2008/08/create-select-options-in-module-pool.html]

  • Tabstrip and ALV component inside filtering problem

    Hi Gurus,
    A very weird issue I have with a tasbtrip that contains three tabs, on each tab I'm embedding an ALV component, my issue is with standar Filter button of ALV. It doesn't work properly on the TAB1 and TAB2, but if we click on TAB3 the ALV is filtering properly... I've done the test deleting two tabs and with just one filtering is working fine...
    Any idea?
    Thank you!

    Hi Lekka,
    In fact I had the same NODE to three ALV component usages, so I had to differenciate each node for each component usage.
    Thank you for your help.
    Regards

  • Tabstrip and Frametext

    Hi,
    I look for Possibility, how we can change the Title of Frametext in a Tabstrip, which is created via screen-exit. In Customizing I can change the texts of tabstrips
    but not the texts of frames, which are included in tabstrips.
    with my Best Regards
    Beserithan Malabakan

    Hi,
    I look for Possibility, how we can change the Title of Frametext in a Tabstrip, which is created via screen-exit. In Customizing I can change the texts of tabstrips
    but not the texts of frames, which are included in tabstrips.
    with my Best Regards
    Beserithan Malabakan

  • RS_TREE_LIST_DISPLAY and tabstrip

    Hi,
    I have an HR function which uses RS_TREE_LIST_DISPLAY to display some data in a list tree. I would like to incorporate this into a tabstrip that I have built, but when I try to run this function in the PBO of the subscreen of the tab in the tabstrip, the tree isn't displayed in the subscreen area of the tabstrip. Instead it simply displays the data in a standard list screen. When I back out of this list screen I am then returned to my tabstrip (and the tab is empty). Can RS_TREE_LIST_DISPLAY be used to display data in a tabstrip or is there an alternate function that can do this? What is the best way to show a tree list in a tabstrip?
    Thank you,
    Lee

    Hi,
    I don't understand
    then I don't think it's worth doing this complex solution! :-p
    The other solution is to use a SAPscript form or Smart form (and probably Adobe forms as it is more recent but I don't know), there are embedded mechanisms to setup the number of pages at the end of the generation on every page.
    The last solution is to ask people to look at the number of pages of the spool if they want to have the information.
    About what I said previously, I think I was incorrect because as it is a background process, there's no list buffer we could operate on, and I think the only solution is to operate on the spool after it has been generated. It's really much more complex than what I thought!
    Sandra

  • ALV and TABSTRIP

    Hi,
    I have an alv and tabstrip on the same page. When i click one field( hotspot ) i wanna change the selected tab of tabstrip. Is there any way to do this ?

    Hi ,
    First of all you need to set 'X' to i_appl_events parameter when creating your alv object. It will trigger PAI after , ALV related event. Maybe you can use a global variable to set which indicates hotspot event was triggered to cahnge tabstrip and than in a module at the pai for example module go_to_tabstrip.
    i_parent = gv_custom_container
    i_appl_events = 'X'
    module go_to_tabstrip.
    CHECK gv_hotsp_clicked = 'X'.
    *** Your Action
    *** Set initial on exit
    gv_hotsp_clicked = space.
    endmodule.

Maybe you are looking for