Suppress a subscreen

Hi all,
In my custom module pool, I have a tabstip in a subscreen.
i want to add a collaspe/exspand button to close/show the tabstrip(in the subscreen), something like the standard enjoy transaction (ME23N for example).
Can anyone helo me to achive this?
Thanks
Enzo

Hi Enzo
Excuse me but I'm very busy:
- Design a main screen with a subarea;
- Design two subscreen: one with the buttom to collapse and your tabstrip and one only with the buttom to expande;
So the flow logic of the main should be like this:
PROCESS BEFORE OUTPUT.
MODULE INIT_SUBAREA.
CALL SUBSCREEN SUBAREA INCLUDING SY-REPID SUB_SCREEN.
PROCESS AFTER INPUT.
MODULE USER_COMMAND.
Where:
MODULE USER_COMMAND INPUT.
  CASE OK_CODE.
    WHEN 'COLL'. SUB_SCREEN = '9001'.
    WHEN 'EXPA'. SUB_SCREEN = '9002'.
  ENDCASE.
ENDMODULE.                 " USER_COMMAND  INPUT
MODULE INIT_SUBAREA OUTPUT.
  IF SUB_SCREEN IS INITIAL.
    SUB_SCREEN = '9001'.
  ENDIF.
ENDMODULE.                 " INIT_SUBAREA  OUTPUT
This is a simple example, if you want I send you a my program to do that.
Max

Similar Messages

  • User EXIT to suppress or disable  "Conditions" tab at item level in va02

    hi gurus,
    well i have very urgent requirement to suppress Condotion tab at item level in va02 based upon authority object, did you know where i can disable the function code "T\05" or suppress subscreen.
    my requirement is that when a user press on condotion tab he should not be able to see pricing detail data.
    will reward points for sure
    mandy

    Hi Mandy,
    I think you can do through SHD0 Transaction by creating transaction variants.
    If not possible there could be some customization from SPRO, consult with your functional guy.
    Check this enhancement MV45AFZZ
    PERFORM USEREXIT_FIELD_MODIFICATION, I think in this perform you may disable, check this
    Regards,
    Satish
    Message was edited by:
            Satish Panakala

  • Not Displaying List when called in subscreen

    Hi all
      My program is not showing the output screen(list) when it is called from the subscreen, it is returing back to the subscreen.
    Following is the program flow.
    1. I have a normal selection screen and a selection subscree.
    SELECTION-SCREEN BEGIN OF BLOCK b1. PARAMETERS: pa_bukrs LIKE t001-bukrs,
                pa_kunnr LIKE kna1-kunnr,
                pa_kdgrp LIKE knvv-kdgrp,
                pa_gjahr LIKE bsid-gjahr DEFAULT '2007'.
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN BEGIN OF SCREEN 2001 AS SUBSCREEN.
    SELECTION-SCREEN BEGIN OF BLOCK b2.
    PARAMETERS: p1 RADIOBUTTON GROUP g1 DEFAULT 'X',
                p2 RADIOBUTTON GROUP g1.
    SELECTION-SCREEN END OF BLOCK b2.
    SELECTION-SCREEN END OF SCREEN 2001.
    2. Now after displaying normal selection screen, with some input parameter combination i am calling new screen, as shown below.
      IF pa_kunnr <> ''.
        CALL SCREEN 100.
      ENDIF.
    following is the code of screen flow logic
    PROCESS BEFORE OUTPUT.
      MODULE status_0100.
      CALL SUBSCREEN area INCLUDING sy-repid '2001'.
    PROCESS AFTER INPUT.
      MODULE cancel AT EXIT-COMMAND.
      MODULE TEST.
      CALL SUBSCREEN area.
      MODULE user_command_0100.
    3. Now in "user_command_0100" Module i am writing the commands to print the list, as shown below
      CASE sy-ucomm.
        WHEN 'BACK'.
          LEAVE PROGRAM.
          LEAVE TO SCREEN 0.
        WHEN 'EXIT'.
          LEAVE PROGRAM.
          LEAVE TO SCREEN 0.
        WHEN 'EXEC'.   "This is the button defined on the sub screen"
          IF ( p1 = 'X' ).
            PERFORM select_data_opt3_1.
            PERFORM rep_opt3_1_top.
            PERFORM rep_opt3_1_print.
          ELSE.
            PERFORM select_data_opt3_2.
          ENDIF.
      ENDCASE.
    _Problem:-_ Now i am writing the list in the perform statements,
    now problem is that after executing all the command the program is returing back to the subscree(OR screen no 100) without displaying the list.
    Please tell me where should i give the write command.
    Regards
    Sukhjinder Singh

    You have to write the follwoing statements if you want to switch list from screen :
      LEAVE TO LIST-PROCESSING AND RETURN TO SCREEN 0.
      SET PF-STATUS space.
      SUPPRESS DIALOG.
    Ex: Check the following code:
    REPORT demo_leave_to_list_processing .
    TABLES demo_conn.
    DATA: wa_spfli TYPE spfli,
          flightdate TYPE sflight-fldate.
    CALL SCREEN 100.
    MODULE status_0100 OUTPUT.
      SET PF-STATUS 'SCREEN_100'.
    ENDMODULE.
    MODULE cancel INPUT.
      LEAVE PROGRAM.
    ENDMODULE.
    MODULE user_command_0100.
      CALL SCREEN 500.
      SET SCREEN 100.
    ENDMODULE.
    MODULE call_list_500 OUTPUT.
      LEAVE TO LIST-PROCESSING AND RETURN TO SCREEN 0.
      SET PF-STATUS space.
      SUPPRESS DIALOG.
      SELECT  carrid connid cityfrom cityto
        FROM  spfli
        INTO  CORRESPONDING FIELDS OF wa_spfli
        WHERE carrid = demo_conn-carrid.
        WRITE: / wa_spfli-carrid, wa_spfli-connid,
                 wa_spfli-cityfrom, wa_spfli-cityto.
        HIDE: wa_spfli-carrid, wa_spfli-connid.
      ENDSELECT.
      CLEAR: wa_spfli-carrid.
    ENDMODULE.
    TOP-OF-PAGE.
      WRITE text-001 COLOR COL_HEADING.
      ULINE.
    TOP-OF-PAGE DURING LINE-SELECTION.
      WRITE sy-lisel COLOR COL_HEADING.
      ULINE.
    AT LINE-SELECTION.
      CHECK NOT wa_spfli-carrid IS INITIAL.
      SELECT  fldate
        FROM  sflight
        INTO  flightdate
        WHERE carrid = wa_spfli-carrid AND
              connid = wa_spfli-connid.
        WRITE / flightdate.
      ENDSELECT.
      CLEAR: wa_spfli-carrid.
    screen 100
    PROCESS BEFORE OUTPUT.
      MODULE STATUS_0100.
    PROCESS AFTER INPUT.
      module cancel at exit-command.
      MODULE USER_COMMAND_0100.

  • Steps to create tabstrip for subscreen in selection screen

    hi,
    can let me know the steps taken to create subscreen in selection screen and put in tabstrip?
    i need to have 3 screens. 1000 being the tabstrip, 2000 being first subscreen and 3000 being the second subscreen.
    i have the abap code but i do not know the steps to create especially 1000 screen.
    for 2000 and 3000, once i activated the program, these 2 screens added but i do not know where can i create the 1000 screen.
    also, should i use wizard to create tabstrip?
    please advise. thanks
    SELECTION-SCREEN BEGIN OF SCREEN 2000 AS SUBSCREEN.        SELECTION-SCREEN BEGIN OF BLOCK x WITH FRAME TITLE text-001.
    SELECT-OPTIONS: para1 FOR  field1 ,     
                                  para2 FOR field2.            
    SELECTION-SCREEN END OF BLOCK x.
    SELECTION-SCREEN END OF SCREEN 2000.
    SELECTION-SCREEN BEGIN OF SCREEN 3000 AS SUBSCREEN.
    SELECTION-SCREEN BEGIN OF BLOCK y WITH FRAME TITLE text-002.
    SELECT-OPTIONS: para3 FOR  field3 ,     
                                  para4 FOR field4.      
    SELECTION-SCREEN END OF BLOCK y.
    SELECTION-SCREEN:SKIP.
    SELECTION-SCREEN END OF SCREEN 3000.

    e_l,
      See the total doc.. with example.
    Assigning a Subscreen Area to a Tab Title
    You must assign a subscreen area to each tab title. There are two ways of doing this:
    Paging in the SAPgui
    You need to assign a separate subscreen area to each tab title, and define the function codes of the tab titles with type P (local GUI function). In the screen flow logic, you call all the subscreens in the PBO event. This means that all of the tab pages reside locally on the SAPgui.
    When the user chooses a tab title, paging takes place within the SAPgui. In this respect, the tabstrip control behaves like a single screen. In particular, the PAI event is not triggered when the user chooses a tab title, and no data is transported. While this improves the performance of your tabstrip control, it also has the negative effect that when the user does trigger the PAI event, all of the input checks for all of the subscreens are performed. This means that when the user is working on one tab page, the input checks may jump to an unfilled mandatory field on another page.
    Local paging at the SAPgui is therefore most appropriate for screens that display data rather than for input screens.
    Paging on the Application Server
    One subscreen area is shared by all tab titles and called in the PBO event. You define the function codes of the individual tab titles without a special function type. When the user chooses a tab page, the PAI event is triggered, and you must include a module in your flow logic that activates the appropriate tab page and assigns the correct subscreen to the subscreen area.
    Since the PAI event is triggered each time the user chooses a tab title, this method is less economical for the application server, but the input checks that are performed only affect the current tab page.
    Procedure in Either Case
    You create the subscreen areas within the tabstrip area. You assign the subscreen areas to one or more tab titles in the Screen Painter by selecting one or more titles. You can also assign a subscreen area to a tab title in the tab title attributes by entering the name of the subscreen area in the Reference field attribute.
    The procedure for the alphanumeric Screen Painter is described under Creating Tabstrip Controls.
    If you are paging at the SAPgui, create a subscreen area for each tab title. If you are paging at the application server, select all tab titles and create a single subscreen area. The subscreen areas may not cover the top line of the tab area. However, within a tab area, more than one subscreen area can overlap.
    Programming the Flow Logic
    In the flow logic, all you have to do by hand is include the correct subscreens. The screen flow and data transport to the ABAP program is the same as for normal subscreens. There are two ways of programming the screen flow logic, depending on how you have decided to page through the tabstrip control.
    Paging in the SAPgui
    When you page in the SAPgui, you must include a subscreen for each subscreen area:
    PROCESS BEFORE OUTPUT.
      CALL SUBSCREEN: <area1> INCLUDING [<prog 1>] <dynp 1>,
                      <area2> INCLUDING [<prog 2>] <dynp 2>,
                      <area3> INCLUDING [<prog 3>] <dynp 3>,
    PROCESS AFTER INPUT.
      CALL SUBSCREEN: <area1>,
                      <area2>,
                      <area3>,
    Paging on the Application Server
    When you page on the application server, you only have to include a subscreen for the one subscreen area:
    PROCESS BEFORE OUTPUT.
      CALL SUBSCREEN <area> INCLUDING [<prog>] <dynp>.
    PROCESS AFTER INPUT.
      CALL SUBSCREEN <area>.
    Handling in the ABAP Program
    Before you can use a tabstrip control in your ABAP program, you must create a control for each control in the declaration part of your program using the following statement:
    CONTROLS <ctrl> TYPE TABSTRIP.
    where <ctrl> is the name of the tabstrip area on a screen in the ABAP program. The control allows the ABAP program to work with the tabstrip control. The statement declares a structure with the name <ctrl> . The only component of this structure that you need in your program is called ACTIVETAB.
    Use in the PBO event
    Before the screen is displayed, you use the control to set the tab page that is currently active. To do this, assign the function code of the corresponding tab title to the component ACTIVETAB:
    <ctrl>-ACTIVETAB = <fcode>.
    When you page at the SAPgui, you only need to do this once before the screen is displayed. This initializes the tabstrip control. The default active tab page is the first page. After this, the page activated when the user chooses a tab title is set within SAPgui.
    When you page on the application server, you must assign the active page both before the screen is displayed for the first time, and each time the user pages. At the same time, you must set the required subscreen screen.
    You can suppress a tab page dynamically by setting the ACTIVE field of table SCREEN to 0 for the corresponding tab title.
    Use in the PAI event
    In the PAI event, ACTIVETAB contains the function code of the last active tab title on the screen.
    When you page in the SAPgui, this allows you to find out the page that the user can currently see. When you page at the application server, the active tab page is controlled by the ABAP program anyway.
    The OK_CODE field behaves differently according to the paging method:
    Paging in the SAPgui
    When you page in the SAPgui, the PAI event is not triggered when the user chooses a tab title, and the OK_CODE field is not filled. The OK_CODE field is only filled by user actions in the GUI status or when the user chooses a pushbutton either outside the tabstrip control or on one of the subscreens.
    Paging on the application server
    If you are paging at the application server, the PAI event is triggered when the user chooses a tab title, and the OK_CODE field is filled with the corresponding function code.
    To page through the tabstrip control, you must assign the function code to the ACTIVETAB component of the control:
    <ctrl>-ACTIVETAB = <ok_code>.
    This statement overwrites the function code of the last active tab page with that of the new tab title. At the same time, you must ensure that the correct subscreen is inserted in the subscreen area.
    Otherwise, tabstrip controls are handled like normal subscrens in ABAP programs, that is, the ABAP program of a subscreen screen must contain the dialog modules called from the flow logic of the subscreen.
    Examples
    Tabstrip control, paging at SAPgui
    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.
    The next screen (statically defined) for screen 100 is itself. It has the following layout:
    The screen contains a tabstrip area called MYTABSTRIP with three tab titles PUSH1, PUSH2 and PUSH3. The function codes have the same name, and all have the function type P. One of the subscreen areas SUB1 to SUB3 is assigned to each tab title. The pushbutton has the name BUTTON and the function code ‘OK’.
    In the same ABAP program, there are three subscreen screens 110 to 130. Each of these fits the subscreen area exactly. The layout is:
    The screen flow logic for screen 100 is as follows:
    PROCESS BEFORE OUTPUT.
      MODULE STATUS_0100.
      CALL SUBSCREEN: SUB1 INCLUDING SY-REPID '0110',
                      SUB2 INCLUDING SY-REPID '0120',
                      SUB3 INCLUDING SY-REPID '0130'.
    PROCESS AFTER INPUT.
      MODULE CANCEL AT EXIT-COMMAND.
      CALL SUBSCREEN: SUB1,
                      SUB2,
                      SUB3.
      MODULE USER_COMMAND.
    The screen flow logic of subscreens 110 to 130 does not contain any module calls.
    When you run the program, a screen appears on which the second tab page is active, since the program sets the ACTIVETAB component of the structure MYTABSTRIP to PUSH2 before the screen is displayed. The user can page through the tabstrip control without the PAI event being triggered. One of the three subscreens is included on each tab page.
    When the user chooses Continue, the PAI event is triggered, and an information message displays the function code of the tab title of the page that is currently active.
    Tabstrip control with paging on the application server.
    REPORT DEMO_DYNPRO_TABSTRIP_LOCAL.
    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.
    The statically-defined next screen for screen 100 is itself, and its layout is the same as in the above example. However, the function codes of the three tab titles have the function type <blank> and they all share a single subscreen area SUB.
    The same subscreen screens 110 to 130 are defined as in the last example.
    The screen flow logic for screen 100 is as follows:
    PROCESS BEFORE OUTPUT.
      MODULE STATUS_0100.
      CALL SUBSCREEN SUB INCLUDING SY-REPID NUMBER.
    PROCESS AFTER INPUT.
      MODULE CANCEL AT EXIT-COMMAND.
      CALL SUBSCREEN SUB.
      MODULE USER_COMMAND.
    In this example, the program includes a subscreen screen in the subscreen area SUB dynamically during the PBO event.
    The screen flow logic of subscreens 110 to 130 does not contain any module calls.
    This example has the same function as the previous example, but the paging within the tabstrip control is implemented on the application server. Each time the user chooses a tab title, the function code from the OK_CODE field is assigned to the ACTIVETAB component of structure MYTABSTRIP. At the same time, the variable NUMBER is filled with the screen number of the subscreen that has to be displayed in the subscreen area SUB of the tabstrip control
    Pls. reward if useful

  • Graph in a subscreen area

    Hi Experts,
    How do you create a graph in a subscreen?
    I checked out transaction GRAL but all the graph charts popup in a separate screen.
    Moreover I do not want the BOXES internal table attached to the chart.  How do you suppress this functionality? Because in it's place I need an ALV tree instead.
    Thanks!

    Hi Guys,
    Very helpful, but this presents a new problem.
    The chart data is not static, I need to refresh the graph when data is changed.
    The Gantt chart generated by the Chart Designer is an XML file that is very very huge to code into abap using the IF_XML_ELEMENT classes as per sample program GRAPHICS_GUI_CE_DEMO.
    So I would like to use the XML file as a template in my dialog program and change it when the data changes. Any ideas how to do this?
    Thanks!

  • Communication between subscreens

    Hi there,
    I got a question concerning the communication between subscreens.
    Let's say I got a dynpro 9000 which contains 3 subscreens 9001, 9002 and 9003.
    Those three are loaded at the PBO of 9000 with
    CALL SUBSCREEN sub1 INCLUDING sy-repid '9001'
    and so on.
    When PAI is triggered in 9001 for example, is it possible that only the PBO of 9002 is triggered and not that of 9003? The problem is, that the PBO of dynpro 9000 is triggered again which triggers all subscreen PBO's of course.
    How can i solve this?
    Thanks in advance!
    Regards,
    Tobi

    Hi Tobias,
    I guess you want to suppress one of the subscreens if certain condition is met, right? For doing so you, do the following:
    Create empty screen 9030 which you would switch with 9003 if some condition is fulfilled
    "in program
    data: dynnr(4) type n value '9003'. "by default 9003 is displayed
    "in program, PAI module
    module PAI_9000 input.
    if condition = true.
      dynnr = '9030'. "switch your subscreen so it will not be shown (empty will be placed instead)
    endif.
    endmodule.
    "in screen flow logic
    PROCESS BEFORE OUTPUT.
       CALL SUBSCREEN sub1 INCLUDING sy-repid dynnr. "depending on DYNNR content either screen 9003 will be shown or empty 9030
    If, on the other hand, you want to suppress PBO module (only operational statements like setting default values in screen fields) but still show entire 9003 screen, just place your condition in PBO module (in program) of screen 9003.
    PROCESS BEFORE OUTPUT.
       CALL SUBSCREEN sub1 INCLUDING sy-repid '9003'  "call PBO of screen 9003
    "in program, PBO module
    module PBO_9003 output.
    check condition = true.
       ...."statements if condition is true, i.e. setting default values on screen
    endmodule.
    Generally, you can't put any conditional statements in screen flow logic, put you can control its behaviuor using dynamic subscreen assignment as in 1 case.
    Regards
    Marcin

  • How to Suppress Find Variants screen when pressing variant button

    Hi Experts,
       I have a problem when i am pressing the variants button in the selection-screen of a report, Find Variants subscreen is coming with parameters Variant, Environment,  Created by, Changed by and Original Language.  My requirement is to suppress this Find Variants screen. How can it possible please suggest.
    Cheers,
    Bujji.......

    DATA: IT_EXTAB  TYPE SLIS_T_EXTAB.
    DATA: WA_EXTAB LIKE LINE OF IT_EXTAB.
    WA_EXTAB-FCODE = 'APEN'.
    APPEND WA_EXTAB TO IT_EXTAB.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          I_BUFFER_ACTIVE          = ' '
          I_CALLBACK_PROGRAM       = G_PROGRAM
          I_CALLBACK_PF_STATUS_SET = G_PF_STATUS
          I_CALLBACK_USER_COMMAND  = G_USER_COMMAND
          IS_LAYOUT                = GS_LAYOUT
          I_SAVE                   = 'X'
          I_GRID_TITLE             = G_TITULO
          IT_FIELDCAT              = I_FIELDCAT
          IT_EXCLUDING             = IT_EXTAB
          IT_SORT                  = GS_SORT[]
        TABLES
          T_OUTTAB                 = OPERATIONS_DATA
        EXCEPTIONS
          PROGRAM_ERROR            = 1
          OTHERS                   = 2.
    IT_EXCLUDING = IT_EXTAB is the key for exclude buttons -:)

  • Can I suppress sign in dialog box?

    We are deploying Adobe CC in an enterprise setting...labs..ect.  We are using the Packing Tools for deployment.  However, when you start up a CC application it prompts you to sign into your creative account.  We want to suppress that window when someone starts the application.  We have attempted to use the Provisioning tool, however the option regsuppress=ss does not seem to disable the sign in window. 
    Here is the Prov command we are using:
    adobe_prtk --tool=VolumeSerialize --generate --serial= --regsuppress=ss --eulasuppress --locales=en_US
    No issues generating the XML file
    Lab Environment
    Windows 8.1
    Adobe Creative Cloud Enterprise Edition

    Team Installer http://forums.adobe.com/thread/1363686?tstart=0
    http://helpx.adobe.com/creative-cloud/packager.html
    http://forums.adobe.com/community/download_install_setup/creative_suite_enterprise_deploym ent

  • Suppress an error message while creating a return PO ( ZRO type) (ME21n)

    Hello All,
    I have to write a code in order to suppress the below message while creating a return purchase order (of type ZRO) , transaction ME21n  after entering the purchase organization, purchase group, the vendor & the material no :-
    "You have no authorization to create without reference to another document".
    For users with the below values of parameter ID & parameter value :-
    parameter ID = EFB & parameter value = 02 in transaction 'SU3' , under "parameters" tab, this message is getting triggered.
    My requirement is to suppress this message.
    Please suggest an exit name or a BADI name wherein I can implement the code for this requirement.
    Regards,
    Rachana.

    You can remove parameter ID EFB
    and for Order type other then ZRO you can put check of doc. reference.

  • Getting error while calling a subscreen in  module pool program

    HI  ALL,
                         ACTUALLY I'M GETTING A SYNTAX ERROR WHILE I'M CALLING A SUBSCREEN
                       IN A MODULE POOL PROGRAM IN PAI MODULE
                       THE ERROR IS AS FOLLOW
                           "." or "ID ... FIELD ..." expected after "SUBSCREEN"
                        CAN ANYBODY PLS HELP ME.
    REGARDS
    ANDREWS

    HI MAX ,
                      THE CODE IS AS FOLLOWS:
    *& Report  ZTABSTRIP_PS
    REPORT  ZTABSTRIP_PS.
    type-pools : vrm.
    DATA:number1 type I,
         number2 type I,
         result  type I,
         ok_code like SY-UCOMM,
         employee1 type c,
         ABAP(19)    type c,
         SALES(19)  type c,
         HR(19)      type c,
         MM(19)     type  c,
    employee type c.
        emp type c.
    CONTROLS  tabstrip TYPE TABSTRIP.
    CALL SCREEN 100.
    call screen 110.
    call screen 130.
    call screen 120.
    call screen  140.
    *&      Module  STATUS_0100  OUTPUT
          text
    MODULE STATUS_0100 OUTPUT.
      SET PF-STATUS 'STATUS'.
      SET TITLEBAR 'TITLE'.
      CASE OK_CODE.
        WHEN 'BACK' or 'EXIT' or 'DELETE'.
         leave program.
         WHEN 'SAVE'.
           MESSAGE 'please choose a valid function' TYPE 'I'.
       WHEN 'BACK'.
        leave PROGRAM.
    when  'EXIT' or 'DELETE'.
        leave to screen 0.
        WHEN 'SAVE'.
          MESSAGE 'please choose a valid function' TYPE 'I'.
    endcase.
    ENDMODULE.                 " STATUS_0100  OUTPUT
    *&      Module  USER_COMMAND_0100  INPUT
          text
    MODULE USER_COMMAND_0100 INPUT.
    CASE OK_CODE.
      when 'TAB1'.
    tabstrip-activetab = 'TAB1'.
       when 'TAB2'.
    tabstrip-activetab = 'TAB2'.
    result = number1 + number2.
       when 'TAB3'.
      tabstrip-activetab = 'TAB3'.
    SET TITLEBAR 'TITLE1'.
      when 'TAB4'.
        tabstrip-activetab = 'TAB4'.
       if employee = 'NEERAJ'.
         ABAP = 'NEERAJ'.
       elseif employee = 'UMESH'.
         SALES = 'UMESH'.
       ELSEIF employee = 'RAM'.
         HR = 'RAM'.
       elseif employee = 'ANIL'.
         MM = 'ANIL'.
         endif.
       employee = employee.
    WHEN 'BACK'.
        leave PROGRAM.
    when  'EXIT' or 'DELETE'.
        leave to screen 0.
        WHEN 'SAVE'.
          MESSAGE 'please choose a valid function' TYPE 'I'.
    ENDCASE.
       WHEN 'BACK' or 'EXIT' or 'DELETE'.
         leave program .
         WHEN 'SAVE'.
           MESSAGE 'please choose a valid function' TYPE 'I'.
    endcase.
    ENDMODULE.                 " USER_COMMAND_0100  INPUT
    *&      Module  STATUS_0110  OUTPUT
          text
    **MODULE STATUS_0110 OUTPUT.
    SET PF-STATUS 'STATUS1'.
    SET TITLEBAR 'xxx'.
    **case ok_code.
    **WHEN 'back' or 'exit' or 'delete'.
        leave PROGRAM.
        WHEN 'save'.
          MESSAGE 'please choose a valid function ' TYPE 'W'.
    ENDCASE.
    **ENDMODULE.                 " STATUS_0110  OUTPUT
    *&      Module  USER_COMMAND_0110  INPUT
          text
    MODULE USER_COMMAND_0110 INPUT.
      number1 = number1.
      number2 = number2.
    CLEAR NUMBER1.
    CLEAR NUMBER2.
    REFRESH NUMBER1.
    REFRESH NUMBER2.
    ENDMODULE.                 " USER_COMMAND_0110  INPUT
    *&      Module  STATUS_0130  OUTPUT
          text
    MODULE STATUS_0130 OUTPUT.
    SET PF-STATUS 'STATUS2'.
    SET TITLEBAR 'xxx'.
    RESULT = number1 + number2.
    *CLEAR RESULT.
    REFRESH RESULT.
    ENDMODULE.                 " STATUS_0130  OUTPUT
    *&      Module  STATUS_0120  OUTPUT
          text
    MODULE STATUS_0120 OUTPUT.
    SET PF-STATUS 'xxxxxxxx'.
    SET TITLEBAR 'xxx'.
    DATA:  l_name TYPE vrm_id,
            li_list TYPE vrm_values,
            l_value LIKE LINE OF li_list.
      l_value-key = '1'.
      l_value-text = 'ANIL'.
      APPEND l_value TO li_list.
      CLEAR l_value.
    CLEAR li_list.
      l_value-key = '2'.
      l_value-text = 'RAM'.
      APPEND l_value TO li_list.
      CLEAR l_value.
    CLEAR li_list.
      l_value-key = '3'.
      l_value-text = 'NEERAJ'.
      APPEND l_value TO li_list.
      CLEAR l_value.
    CLEAR li_list.
      l_value-key = '4'.
      l_value-text = 'UMESH'.
      APPEND l_value TO li_list.
      CLEAR l_value.
    CLEAR li_list.
    l_name =  'employee'.
      CALL FUNCTION 'VRM_SET_VALUES'
        EXPORTING
          ID                    =  l_name
          VALUES                =  li_list
       EXCEPTIONS
         ID_ILLEGAL_NAME       = 1
         OTHERS                = 2
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    CLEAR li_list.
    ENDMODULE.                 " STATUS_0120  OUTPUT
    *&      Module  USER_COMMAND_0120  INPUT
          text
    MODULE USER_COMMAND_0120 INPUT.
    INCLUDING sy-repid '140'.
    employee1 = employee.
    IF employee1 CS 'NEERAJ'.
      call SUBSCREEN    sub4  .
      ABAP = 'NEERAJ'.
      CLEAR ABAP.
    ELSEIF employee1 CS 'UMESH'.
       call SUBSCREEN  sub4  .
        SALES = 'UMESH'.
        CLEAR SALES.
    elseif employee1 CS 'RAM'.
      call SUBSCREEN sub4 .
       HR = 'RAM'.
       CLEAR  HR.
    ELSEIF employee1 CS 'ANIL'.
       call SUBSCREEN sub4 .
       MM = 'ANIL'.
       CLEAR MM.
       endif.
    ENDMODULE.                 " USER_COMMAND_0120  INPUT
    *&      Module  STATUS_0140  OUTPUT
          text
    MODULE STATUS_0140 OUTPUT.
    *CASE OK_CODE.
       WHEN employee1  'NEERAJ'.
         screen-active = 1.
         ABAP = 'NEERAJ'.
       WHEN employee1 = 'UMESH'.
         screen-active = 1.
         SALES = 'UMESH'.
       WHEN employee1 = 'RAM'.
         screen-active = 1.
         HR = 'RAM'.
       WHEN employee1 = 'ANIL'.
         screen-active = 1.
         MM = 'ANIL'.
         endif.
    *ENDCASE.
    ENDMODULE.                 " STATUS_0140  OUTPUT

  • Suppressing levels in cross tab.

    Hello All,
    I have a project requirenment for one of the client and currently using CR 2008 for creating dynamic reports based on a finance database for profitabilty Analysis. I have been using lot of Web-Elements functionality in my crystal application and its going good to an extent, the only issue i have been experiencing is the dynamic change of the cross tab data based on prompts.
    Its a 4 level application where in users are prompted to select a specific level outta the 4 levels, they can select either few or all. Now, the issue is, in my cross tab i have mentioned all the 4 levels in my row field and the data is displayed according to the users selection through prompts, it works fine. But however if user does not select level 3 or 4 or any one of them then the specific cross tab row is displayed empty. I have tried selecting the option suppress empty rows under customize tab but that doesnt seem to work.
    I want only those levels to be displayed which are selected by users and suppress the rest, the empty rows in cross tab looks kinda odd to see. I am unable to figure out the formula string for the same.
    Any help will be appreciated. Thank you

    Hi
    Cross tab is nothing but a tabular representation of data.
    It displays zero values only when there is no data for the combination of corresponding row and column.
    We can not suppress this however we can display some string like "No data for this" or something else as per requirement.
    For this, do the below:
    - Right click on the summary value field on the cross tab -> Format Field.
    - Under Common Tab, click on X-2 for Display string. This would open the formula editor.
    - Put the below formula there:
    if IsNull(summary database field) then "No data for here"
         else "" & currentfieldvalue;
    You can change the display string as per requirement.
    Hope this helps!!
    Regards
    Sourashree

  • Suppress embedded field blank lines in Crystal Reports XI is not working

    Hi,
    We have a text box in a Crytal Reports XI report which has address information in it as follows:
    These are individual fields from the database. We check the  "suppress embedded field blank lines" option for the text box and preview it in the designer and the suppression works as expected in that when the unit field is blank the whole address line isn't suppressed. However when we run this report using the Report Viewer control in a VB.NET 2005 application the whole address line is suppressed when the unit field is blank.
    This appears to be a bug in the suppression logic when the Report Viewer is used to view a report. While yes we can embed a formula into the address line this adds extra maintenance and confusion which is not necessary as it works as expected in the report designer.
    I have seen others which are having a similiar issue and the only suggestions are to create your own suppression using formulas, etc. which is only a bandaid and is not the best solution as the suppression works as stated in the designer but not in the viewer embedded in an application. Please indicate if this is a known bug and if this issue has been addressed and fixed in a new merge module.
    We are running Crystal XI 11.5.0.313 for the report designer and have deployed the needed dlls to run the reports with our application using the CrystalReports11_5_NET_2005.msm merge module.
    Thanks in advance for any assistance in resolving this issue!

    Hello,
    Moved to .NET SDK forum.
    Upgrade to XI R2 SP 6, you are using the original release:
    https://smpdl.sap-ag.de/~sapidp/012002523100011802732008E/crxir2_sp4_full_build.exe
    https://smpdl.sap-ag.de/~sapidp/012002523100015859952009E/crxir2win_sp6.exe
    And the distribution files are for Visual Studio version of Cr, not R2 build.
    https://smpdl.sap-ag.de/~sapidp/012002523100013451312010E/crxir2_fp64_server_ins.zip
    Or
    https://smpdl.sap-ag.de/~sapidp/012002523100013451332010E/crxir2_fp64_net_mm.zip
    Don

  • Can I Suppress Conflicting Names Messages in the TestStand Deployment Log?

    I have a deployment that is being built via a command line calling the deployment utility. It is all being done with a script. I then use the deployment log for information to e-mail to myself and others about the build. I am getting conflicting name messages for VIs in the Labview Reports library that is shipped from NI. There are a lot of message about VIs being renamed because of this. Is there a way of suppressing these messages so real information can be observed and not missed because of all this spam? I don't want to have a real problem over looked because of these messages being generated about items that are not in my control. Thanks in advance for any help.
    Troy

    What version of TestStand, and LabVIEW are you using? Have you seen How to Successfully Deploy a TestStand System with LabVIEW 8.6 and Report Generation Toolkit ?
    Richard S -- National Instruments --Applications Engineer -- Data Acquisition with TestStand

  • Can I suppress HTML escaping in a read-only item?

    I have an item that is displayed as read-only. The item contains HTML markup. HTML DB seems to automatically escape special characters in the item value.
    Is there a way to suppress this?
    For example, I have a text input item with the value:
    &lt;b&gt;Hello&lt;/b&gt;
    (that is, it contains the bold elements which I want to output as is).
    HTML DB seems to be escaping the item value so I see the bold elements in the browser and what I see in the page source is: &amp;lt;b&amp;gt;Hello&amp;lt;/b&amp;gt;
    There doesn't seem to be "escape special characters" / "don't escape special characters" options for read-only mode like there is for "Display As Text" items. Can anyone suggest a workaround?
    Thanks,
    Eric

    Eric - Text input items are escaped on output whether they are read-only or not. But to answer your question generally, APEX does not emit input items of any type to the browser without escaping them unless there is a guarantee that they have been escaped on input, e.g., when passed in through the URL, or that they acquired their value from within the application. These guarantees apply only to non-POSTable item types such as Display As Text (does not save state) items and a couple others. So in short, we observe the rule (which should be observed by app developers) that it is never safe (from an XSS-protection standpoint) to emit a POSTable item without escaping it first.
    In your case, can you define a safe item type (Display as Text, does not save state) and set its source to the markup-containing item that you are now displaying as read-only? If so, you can conditionally display only the safe one and hide the other.
    Scott

  • Can I suppress dialog outside script?

    I have a start up script that is used in cross-plattform production. It fixes the links of pictures. Works fine but the user still gets the warning message before the script does its work. If the document is opened by script I can suppress the dialog but I did not find a way for the regular InDesign Open action.
    Is it possible by script?
    (I think it was the case in the old days that setting userinteraction level to neverinteract  would get rid of all dialogs but this seems to be no longer the case.)
    Any idea?
    Thank you,
    Ralf

    Okay, sometimes it is a good idea to simply ask a non-scripting guy. One can just turn off the dialog in the InDesign preferences.
    I am sure you all knew that.
    Ralf

Maybe you are looking for

  • Preferences Not Saved...

    When I create new playlists and try to enable them to be sent to my iPod under iPod Preferences, I get a message "Preferences were not saved for the iPod because they could not be found." Then when I Eject the iPod in iTunes, my iPod stays in "Updati

  • Migration of company code from one server to another

    Dear Sir/Madam, We are in the process of migrating company code from one server to another server. We have activated the company code with ewt in old server on 01.10.10. We have to migrate the same company w.e.f. 01.11.10 to new server. we have two o

  • Set body background image in reflow

    Hi, I've been lookoing up and down to find where I can set a background image for a page in reflow. Cant find it anywhere. If I manually edit the html or css in the files edge generates to add a background image, of course it works, but next time I r

  • Db link - invalid username/password error

    hi i created a connected user public db link, when i try to use it i get error message invalid username/password here is my set up: tnsnames.ora --remote db DWHTEST= (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = dwhtest.be)(PORT = 1521)) (CONNECT

  • Question about extents in segment

    I got this alert from the database Segment TST303 in tablespace TESTTBSPACE for database ORATSTDB unable to allocate next extent When I checked with SQL select OWNER, SEGMENT_NAME,EXTENTS,NEXT_EXTENT,INITIAL_EXTENT,MAX_EXTENTS from dba_segments where