Block IE back button

how can i block back button on the IE any one can suggest me plz

,i need it because if the user had loggedout then by clicking back button he can again go to the previous login page which should not be............................Hmm.. I can do that after logging in to this forum, but if I login a second time I get a confirmation as to whether I want to logout and login again. Not that everything about the forums is to be held up as a shining example of best practices, but maybe that's the way to go?
db

Similar Messages

  • How can block firefox back button {using some language..}

    Like This links...
    [http://example.com https://careers.infosys.com/sap/bc/webdynpro/sap/hrrcf_a_unreg_job_search?sap-client=400]

    Would be quicker for you to google for javaScript
    javascript:window.history.forward(-1);

  • Problem displaying drill down STANDARD ALV for a particular record after pressing back button

    I have a simple interactive ALV grid report. NOT 'OO'. It display correctly on initial execution. AT the moment, 6 records. I want it to work such that if i click record '1', a drill-down version of that ALV with only that one record clicked is displayed. This currently occurs correctly. The problem arises when i click the back button and want to click on a new record, say in the 2nd row..this new 2nd row record is not displayed. The first one is displayed again. I tried clearing and fiddling around but then the last record is displayed. I have used the 'ID' field as a 'hotspot' getting picked up by sy-tabindex. Maybe it could be that i shouldn't loop and use  a work area e.g in my select statement. i'm not so sure i've looked around, and tried a few things. I can't get it right yet. My code is below:
    *& Report  ZALV
    REPORT  ZALV.
    TABLES: ZCONTACT.
    TYPE-POOLS: slis. "slis contains all of the ALV data types.
    TYPES: BEGIN OF ty_zcontact.
             INCLUDE STRUCTURE zcontact.
    TYPES: icon TYPE char4, "field holding traffic light value- adding a column to internal table to hold the traffic light
             END OF ty_zcontact.
    DATA: "fieldcatALOG TYPE slis_t_fieldcat_alv WITH HEADER LINE,
           it_zcontact TYPE TABLE OF ty_zcontact,"declares an internal table of type ZCONTACT
           wa_zcontact TYPE ty_zcontact,
           gd_layout TYPE slis_layout_alv,
           gd_repid LIKE sy-repid,
           g_variant TYPE disvariant,
           gx_variant TYPE disvariant,
           g_save TYPE c VALUE 'X',
           it_fieldcat TYPE slis_t_fieldcat_alv,"declares field catalog table of line type alv
           wa_fieldcat TYPE slis_fieldcat_alv, "declares the work area of the field catalog
           it_list_top_of_page TYPE slis_t_listheader.
    DATA: it_fieldcat1 TYPE slis_t_fieldcat_alv,
           wa_fieldcat1 TYPE slis_fieldcat_alv.
    DATA: V_FIELD(30) TYPE C,
    V_VALUE(10) TYPE C.
           "izontact TYPE TABLE OF zcontact.
            "i_logo TYPE OT.
           "ls_layout TYPE slis_layout_alv.
    **Selection Screen details
    *SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME.
    *PARAMETERS: variant like disvariant-variant.
    *SELECTION-SCREEN END OF BLOCK B1.
    SELECT-OPTIONS:
    age FOR wa_zcontact-age,
    lastnme FOR wa_zcontact-lastname.
    **Getting default variant
    *  AT SELECTION-SCREEN ON age.
    *    SELECT SINGLE age FROM zcontact INTO wa_zcontact-age WHERE age = age.
    *  IF sy-subrc NE 0.
    *    MESSAGE:'That age does not exist mate, Please enter another age' TYPE 'E'.
    *    ENDIF.
    INITIALIZATION.
    *gx_variant-report = sy-repid.
    *CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
    *EXPORTING
    *  I_SAVE = G_SAVE
    *  CHANGING
    *    CS_VARIANT = GX_VARIANT
    *  EXCEPTIONS
    *    NOT_FOUND = 2.
    *IF SY-SUBRC = 0.
    *  VARIANT = GX_VARIANT-VARIANT.
    *  ENDIF.
    START-OF-SELECTION.
      PERFORM DATA_RETRIEVAL.
      PERFORM BUILD_FIELDCATALOG.
      PERFORM DISPLAY_ALV_REPORT.
      PERFORM top_of_page.
    "g_repid = sy-repid.
    *Fetch data from the database
    FORM DATA_RETRIEVAL.
    SELECT * FROM zcontact INTO TABLE it_zcontact WHERE age IN age AND lastname IN lastnme.
    "assigning traffic light colour to each row based on a condition
    *  IF wa_zcontact-age GE 65.
    *   wa_zcontact-icon = 1. "Red Traffic Light
    *   ELSEIF wa_zcontact-age BETWEEN 40 AND 64.
    *     wa_zcontact-icon = 2. "Yellow traffic light
    *     ELSE.
    *       wa_zcontact-icon = 3." Green traffic light
    *       ENDIF.
    *       MODIFY it_zcontact FROM wa_zcontact TRANSPORTING icon.
    *       CLEAR wa_zcontact.
    ENDFORM.
    FORM BUILD_FIELDCATALOG.
    *Build field catalog
    wa_fieldcat-fieldname = 'ID'.
    "wa_fieldcat-seltext_m = 'The Contact ID'.
    APPEND wa_fieldcat TO it_fieldcat.
    CLEAR wa_fieldcat.
    wa_fieldcat-fieldname = 'LASTNAME'.
    "wa_fieldcat-seltext_m = 'Contact Lastname'.
    APPEND wa_fieldcat TO it_fieldcat.
    CLEAR wa_fieldcat.
    wa_fieldcat-fieldname = 'FIRSTNAME'.
    "wa_fieldcat-seltext_m = 'Contact Firstname'.
    APPEND wa_fieldcat TO it_fieldcat.
    CLEAR wa_fieldcat.
    wa_fieldcat-fieldname = 'DOB'.
    "wa_fieldcat-seltext_m = 'Date Of Birth'.
    APPEND wa_fieldcat TO it_fieldcat.
    CLEAR wa_fieldcat.
    wa_fieldcat-fieldname = 'TEL'.
    "wa_fieldcat-seltext_m = 'Telephone Number'.
    APPEND wa_fieldcat TO it_fieldcat.
    CLEAR wa_fieldcat.
    wa_fieldcat-fieldname = 'ADDRESS'.
    "wa_fieldcat-seltext_m = 'The Address'.
    APPEND wa_fieldcat TO it_fieldcat.
    CLEAR wa_fieldcat.
    wa_fieldcat-fieldname = 'OCCUPATION'.
    "wa_fieldcat-seltext_m = 'The Occupation'.
    APPEND wa_fieldcat TO it_fieldcat.
    CLEAR wa_fieldcat.
    wa_fieldcat-fieldname = 'WEIGHT'.
    "wa_fieldcat-seltext_m = 'WEIGHT'.
    APPEND wa_fieldcat TO it_fieldcat.
    CLEAR wa_fieldcat.
    wa_fieldcat-fieldname = 'AGE'.
    "wa_fieldcat-seltext_m = 'AGE OF THE CONTACT'.
    wa_fieldcat-do_sum   = 'X'.        "Display column total
    APPEND wa_fieldcat TO it_fieldcat.
    CLEAR wa_fieldcat.
    wa_fieldcat-fieldname = 'SALARY'.
    "wa_fieldcat-seltext_m = 'SALARY'.
    wa_fieldcat-do_sum   = 'X'.
    APPEND wa_fieldcat TO it_fieldcat.
    gd_layout-lights_fieldname = 'ICON'.
    ENDFORM.
    FORM DISPLAY_ALV_REPORT.
    gd_repid = sy-repid.
    *Pass data and field catalog to ALV function module to display ALV list
       CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
         EXPORTING
           it_fieldcat            = it_fieldcat
           i_callback_program     = gd_repid
           i_callback_top_of_page =  'TOP_OF_PAGE'
           i_callback_user_command =  'USER_COMMAND'
           i_structure_name       =  'ZCONTACT'
           i_save                 = 'X'
           is_variant             = g_variant
           is_layout     = gd_layout
    TABLES
           t_outtab      = it_zcontact
    EXCEPTIONS
           program_error = 1
           OTHERS        = 2.
    ENDFORM.
    FORM top_of_page.
    *ALV Header declarations
       DATA: it_listheader TYPE slis_t_listheader,
             wa_listheader TYPE slis_listheader,
             t_line like wa_listheader-info,
             ld_lines TYPE I,
             ld_linesc(10) TYPE C.
    wa_listheader-typ = 'H'.
    wa_listheader-info = 'Contact Details'.
    APPEND wa_listheader TO it_listheader.
    CLEAR wa_listheader.
    wa_listheader-typ = 'S'.
    wa_listheader-info = sy-repid.
    wa_listheader-key = 'Program Name:'.
    APPEND wa_listheader TO it_listheader.
    CLEAR wa_listheader.
    wa_listheader-typ = 'S'.
    wa_listheader-info = sy-uname.
    wa_listheader-key = 'User Name:'.
    APPEND wa_listheader TO it_listheader.
    CLEAR wa_listheader.
    wa_listheader-typ = 'S'.
    wa_listheader-key = 'Run Date :'.
    CONCATENATE sy-datum+6(2)
                 sy-datum+4(2)
                 sy-datum(4)
                 INTO wa_listheader-info
                 SEPARATED BY '/'.
    APPEND wa_listheader TO it_listheader.
    CLEAR wa_listheader.
    wa_listheader-typ = 'S'.
    wa_listheader-key = 'Time :'.
    CONCATENATE sy-uzeit(2)
                 sy-uzeit+2(2)
                 sy-uzeit+4(2)
                 INTO wa_listheader-info
                 SEPARATED BY ':'.
    APPEND wa_listheader TO it_listheader.
    CLEAR wa_listheader.
       CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
         EXPORTING
           it_list_commentary = it_listheader
           i_logo = 'KLOGO'.
    ENDFORM. "top_of_page
    *& Form sub_user_command
    FORM USER_COMMAND USING P_UCOMM TYPE SY-UCOMM
    P_SELTAB TYPE SLIS_SELFIELD.
    CASE P_UCOMM.
       WHEN '&IC1'.
    CASE p_seltab-fieldname.
       WHEN 'ID'.
       READ TABLE it_zcontact INTO wa_zcontact INDEX p_seltab-tabindex.
       PERFORM DATA_RETRIEVAL1.
       PERFORM BUILD_FIELDCATALOG1.
       PERFORM SECOND_GRID.
       ENDCASE.
       ENDCASE.
    ENDFORM. "
    FORM DATA_RETRIEVAL1.
    SELECT * FROM zcontact INTO TABLE it_zcontact WHERE id EQ wa_zcontact-id.
    ENDFORM.
    FORM BUILD_FIELDCATALOG1.
    *Build field catalog
    CLEAR: wa_fieldcat, it_fieldcat.
    wa_fieldcat-fieldname = 'ID'.
    "wa_fieldcat-seltext_m = 'The Contact ID'.
    APPEND wa_fieldcat TO it_fieldcat.
    CLEAR wa_fieldcat.
    wa_fieldcat-fieldname = 'LASTNAME'.
    "wa_fieldcat-seltext_m = 'Contact Lastname'.
    APPEND wa_fieldcat TO it_fieldcat.
    CLEAR wa_fieldcat.
    wa_fieldcat-fieldname = 'FIRSTNAME'.
    "wa_fieldcat-seltext_m = 'Contact Firstname'.
    APPEND wa_fieldcat TO it_fieldcat.
    CLEAR wa_fieldcat.
    ENDFORM.
    FORM SECOND_GRID.
       CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
         I_CALLBACK_PROGRAM = SY-REPID
         IT_FIELDCAT = IT_FIELDCAT
         i_structure_name       =  'ZCONTACT'
         i_callback_user_command =  'USER_COMMAND'
         TABLES
           T_OUTTAB = IT_ZCONTACT.
       ENDFORM.

    Hi Ten Mariga,
                     I wonder why the second select Query is needed at all instead you can use
    ---> Not Needed
    FORM DATA_RETRIEVAL1.
    SELECT * FROM zcontact INTO TABLE it_zcontact WHERE id EQ wa_zcontact-id.
    ENDFORM.
    ----> Instead you can do
       READ TABLE it_zcontact INTO wa_zcontact INDEX p_seltab-tabindex.
      Append wa_zcontact to Second_table.
    And you can use the Second_table to display the second ALV. The second Select Query will affect the performance too.
    Cheers,
    Krishnakumar B.

  • When I click on a result of a Google search and then go that web site, the Back button on the toolbar is grayed out and I cannot return to the search results.

    When using FF3.6 and making a Google search, when I click on a result and then go that web site, the Back button on the toolbar is grayed out and I cannot return to the search results without going to History. This does not happen all the time; about 1/2 of the time.
    This problem is not limited to Google, but occurs with other sites as well.

    If you are talking about searches from - http://www.google.com/ - are you logged into a Google account all the time? If so, check your "Search Settings" from the "gear" in the upper-right corner of that Google search page and see if you have '''Open search results in a new browser window.''' check-marked, at the bottom of that preferences page. When that is check-marked and you have Tab options in Firefox set to '''Open new windows in a new tab instead''', you will get search results always opening in a new tab instead of the same tab. As to why that works different for "sponsored links" I don't know, I haven't seen the "sponsored links" for years now, I have a GM script that blocks those advertisements.

  • Help! Safari keeps telling me my Mac has a virus and now the back button won't work. Do I really have a virus and what should I do to fix the problem?

    Yesterday my MacBook Pro began running slower and now Safari continues to be redirected to a page saying 'WARNING: Your PC maybe INFECTED. Call TECH SUPPORT at 800-797-0153 to clean your computer. www.consumeronlineservices.com'.
    The back button in Safari now refuses to work, and I'm unsure if this is a problem with Safari or my laptop (honest to God, I know nothing about computers). Anyways, I tried to call the number given, but there was no answer, and I'm assuming this is the actual virus itself.
    How can I get my laptop running back to normal? Is there a way to check for a virus and remove it?
    Thanks!

    Do not respond to that message. There are no known viruses on OSX systems. What you are seeing is a total scam.
    Open Safari then go to Preferences>Privacy. Remove all Cookies and Website data. Set the Block Cookies option to Block 3rd Parties and Advertisers:
    If needed, click on "Reset Safari" under the Safari menu:
    Cheers,
    GB

  • Problem with ALV Grid Display screen Back Button

    Dear Friends ,
    I have an ALV Grid Display,Here am facing a problem for my 'Back' button,i haven't defined any PF Status and is using the standard one.But after the Display when i press Back Button a blank Screen is appearing n then again i have to press back button to go to my Selection Screen.
    Please Suggest if i have to take care of something else.
    I want my Selection Screen when i press Back on my Display Screen.
    DATA:  IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
           FIELDCAT TYPE SLIS_FIELDCAT_ALV.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
            EXPORTING
             I_BYPASSING_BUFFER          =
             I_BUFFER_ACTIVE             =
             I_INTERFACE_CHECK           = ' '
                 I_CALLBACK_PROGRAM          = 'ZRMMPD01A'
             I_CALLBACK_PF_STATUS_SET    = ' '
             I_CALLBACK_USER_COMMAND     = ' '
             I_CALLBACK_TOP_OF_PAGE      = ' '
             I_CALLBACK_HTML_TOP_OF_PAGE = ' '
             I_CALLBACK_HTML_END_OF_LIST = ' '
             I_STRUCTURE_NAME            =
             I_BACKGROUND_ID             = ' '
             I_GRID_TITLE                =
             I_GRID_SETTINGS             =
               IS_LAYOUT                     =  I_LAYOUT
               IT_FIELDCAT                 =  IT_FIELDCAT
             IT_EXCLUDING                =
             IT_SPECIAL_GROUPS           =
             IT_SORT                     =
             IT_FILTER                   =
             IS_SEL_HIDE                 =
             I_DEFAULT                   = 'X'
             I_SAVE                      = ' '
             IS_VARIANT                  =
             IT_EVENTS                   =
             IT_EVENT_EXIT               =
             IS_PRINT                    =
             IS_REPREP_ID                =
             I_SCREEN_START_COLUMN       = 0
             I_SCREEN_START_LINE         = 0
             I_SCREEN_END_COLUMN         = 0
             I_SCREEN_END_LINE           = 0
        IMPORTING
             E_EXIT_CAUSED_BY_CALLER     =
             ES_EXIT_CAUSED_BY_USER      =
             TABLES
                  T_OUTTAB                    = IT_FINAL
            EXCEPTIONS
                 PROGRAM_ERROR               = 1
                 OTHERS                      = 2
    Thanks and Regards,
    Ashwini

    Hi Vijay ,
    No i dont have any write statement in my proggram.
    Here it is
    REPORT ZRMMPD01A  NO STANDARD PAGE HEADING.
    TABLES : EQUI,SER03,MKPF,OBJK.
    TYPE-POOLS : SLIS.
    DATA  IT_EQUI LIKE EQUI OCCURS 0 WITH HEADER LINE.
    DATA  IT_OBJK LIKE OBJK OCCURS 0 WITH HEADER LINE..
    DATA  IT_SER03 LIKE SER03 OCCURS 0 WITH HEADER LINE.
    DATA  IT_MKPF LIKE MKPF OCCURS 0 WITH HEADER LINE .
    DATA : BEGIN OF IT_DISPLAY OCCURS 0,
                MATNR LIKE EQUI-MATNR,
                SERNR LIKE EQUI-SERNR,
                BWART LIKE SER03-BWART,
                WERK LIKE SER03-WERK,
                CHARGE LIKE SER03-CHARGE,
                LAGERORT LIKE SER03-LAGERORT,
                MBLNR LIKE SER03-MBLNR,
                MJAHR LIKE SER03-MJAHR,
                ZEILE LIKE SER03-ZEILE,
                BUDAT LIKE MKPF-BUDAT,
                BKTXT LIKE MKPF-BKTXT,
                USNAM LIKE MKPF-USNAM,
                XBLNR LIKE MKPF-XBLNR,
            END OF IT_DISPLAY.
    DATA : WA_DISPLAY LIKE IT_DISPLAY.
    DATA  IT_FINAL LIKE IT_DISPLAY OCCURS 0 WITH HEADER LINE.
    DATA  IT_TEMP LIKE IT_DISPLAY OCCURS 0 WITH HEADER LINE.
    DATA:  IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
           FIELDCAT TYPE SLIS_FIELDCAT_ALV.
    DATA :I_LAYOUT TYPE SLIS_LAYOUT_ALV,
          I_EVENTS TYPE SLIS_T_EVENT.
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
    SELECT-OPTIONS : S_MATNR FOR EQUI-MATNR MATCHCODE OBJECT MCD,"OBLIGATORY
                    S_SERNR FOR EQUI-SERNR, "MATCHCODE OBJECT MCD OBLIGATORY
                    S_MBLNR FOR SER03-MBLNR MATCHCODE OBJECT MCD,
                    S_BWART FOR SER03-BWART MATCHCODE OBJECT MCD,
                    S_WERK FOR SER03-WERK MATCHCODE OBJECT MCD,
                    S_LAGET FOR SER03-LAGERORT MATCHCODE OBJECT MCD,
                    S_BUDAT FOR MKPF-BUDAT MATCHCODE OBJECT MCD,
                    S_XBLNR FOR MKPF-XBLNR MATCHCODE OBJECT MCD.
    SELECTION-SCREEN END OF BLOCK B1.
    SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.
    PARAMETERS : R1 RADIOBUTTON GROUP G1 DEFAULT 'X',
                 R2 RADIOBUTTON GROUP G1.
    SELECTION-SCREEN END OF BLOCK B2.
    START-OF-SELECTION.
    *Fetch Data.
      PERFORM GET_DATA.
    *Fill Display Fields.
      PERFORM FILL_TABLE.
    *Segregate data according to radio button selection.
      PERFORM SELECT_CONDITION.
    *Fill The Feild catalog.
      PERFORM FIELD_CATALOG.
    *Display Output.
      PERFORM OUTPUT_DISPLAY..
    *&      Form  GET_DATA
          text
    -->  p1        text
    <--  p2        text
    FORM GET_DATA.
      SELECT * FROM EQUI INTO TABLE IT_EQUI
        WHERE MATNR IN S_MATNR
        AND SERNR IN S_SERNR.
      SELECT * FROM OBJK INTO TABLE IT_OBJK
      FOR ALL ENTRIES IN IT_EQUI
      WHERE EQUNR = IT_EQUI-EQUNR.
      SELECT * FROM SER03 INTO TABLE IT_SER03
      FOR ALL ENTRIES IN IT_OBJK
      WHERE OBKNR = IT_OBJK-OBKNR
      AND MBLNR IN S_MBLNR
      AND BWART IN S_BWART
      AND WERK IN S_WERK
      AND LAGERORT IN S_LAGET.
      SELECT * FROM MKPF INTO TABLE IT_MKPF
      FOR ALL ENTRIES IN IT_SER03
      WHERE MBLNR = IT_SER03-MBLNR
      AND BUDAT IN S_BUDAT
      AND XBLNR IN S_XBLNR.
    ENDFORM.                    " GET_DATA
    *&      Form  FILL_TABLE
          text
    -->  p1        text
    <--  p2        text
    FORM FILL_TABLE.
      LOOP AT IT_EQUI.
        LOOP AT IT_OBJK.
          IF IT_OBJK-EQUNR <> IT_EQUI-EQUNR.
            SKIP.
          ELSE.
            READ TABLE IT_SER03 WITH KEY OBKNR = IT_OBJK-OBKNR.
            IF SY-SUBRC = 0.
              WA_DISPLAY-MATNR = IT_EQUI-MATNR.
              WA_DISPLAY-SERNR = IT_EQUI-SERNR.
              WA_DISPLAY-BWART = IT_SER03-BWART.
              WA_DISPLAY-WERK = IT_SER03-WERK.
              WA_DISPLAY-CHARGE = IT_SER03-CHARGE.
              WA_DISPLAY-LAGERORT = IT_SER03-LAGERORT.
              WA_DISPLAY-MBLNR = IT_SER03-MBLNR.
              WA_DISPLAY-MJAHR = IT_SER03-MJAHR.
              WA_DISPLAY-ZEILE = IT_SER03-ZEILE.
             READ TABLE IT_MKPF WITH KEY MBLNR = IT_SER03-MBLNR.
              IF SY-SUBRC = 0.
                WA_DISPLAY-BUDAT = IT_MKPF-BUDAT.
                WA_DISPLAY-BKTXT = IT_MKPF-BKTXT.
                WA_DISPLAY-USNAM = IT_MKPF-USNAM.
                WA_DISPLAY-XBLNR = IT_MKPF-XBLNR.
              ENDIF.
            ENDIF.
          ENDIF.
          IF NOT WA_DISPLAY IS INITIAL.
            APPEND WA_DISPLAY TO IT_DISPLAY.
            CLEAR WA_DISPLAY.
          ENDIF.
        ENDLOOP.
      ENDLOOP.
    ENDFORM.                    " FILL_TABLE
    *&      Form  FIELD_CATALOG
          text
    -->  p1        text
    <--  p2        text
    FORM FIELD_CATALOG.
      FIELDCAT-TABNAME = 'IT_DISPLAY'.
      FIELDCAT-FIELDNAME = 'MATNR'.
      FIELDCAT-SELTEXT_M = 'Material Number'.
      FIELDCAT-OUTPUTLEN =  18.
      APPEND FIELDCAT TO IT_FIELDCAT.
      CLEAR FIELDCAT.
      FIELDCAT-TABNAME = 'IT_DISPLAY'.
      FIELDCAT-FIELDNAME = 'SERNR'.
      FIELDCAT-SELTEXT_M = 'Serial number'.
      FIELDCAT-OUTPUTLEN =  18.
      APPEND FIELDCAT TO IT_FIELDCAT.
      CLEAR FIELDCAT.
      FIELDCAT-TABNAME = 'IT_DISPLAY'.
      FIELDCAT-FIELDNAME = 'MBLNR'.
      FIELDCAT-SELTEXT_L = 'Number of material document'.
      FIELDCAT-OUTPUTLEN =  18.
      APPEND FIELDCAT TO IT_FIELDCAT.
      CLEAR FIELDCAT.
      FIELDCAT-TABNAME = 'IT_DISPLAY'.
      FIELDCAT-FIELDNAME = 'BWART'.
      FIELDCAT-SELTEXT_M = 'Movement type'.
      FIELDCAT-OUTPUTLEN =  18.
      APPEND FIELDCAT TO IT_FIELDCAT.
      CLEAR FIELDCAT.
      FIELDCAT-TABNAME = 'IT_DISPLAY'.
      FIELDCAT-FIELDNAME = 'WERK'.
      FIELDCAT-SELTEXT_M = 'Plant'.
      FIELDCAT-OUTPUTLEN =  5.
      APPEND FIELDCAT TO IT_FIELDCAT.
      CLEAR FIELDCAT.
      FIELDCAT-TABNAME = 'IT_DISPLAY'.
      FIELDCAT-FIELDNAME = 'CHARGE'.
      FIELDCAT-SELTEXT_M = 'Batch number'.
      FIELDCAT-OUTPUTLEN =  18.
      APPEND FIELDCAT TO IT_FIELDCAT.
      CLEAR FIELDCAT.
      FIELDCAT-TABNAME = 'IT_DISPLAY'.
      FIELDCAT-FIELDNAME = 'LAGERORT'.
      FIELDCAT-SELTEXT_M = 'Storage Location'.
      FIELDCAT-OUTPUTLEN =  18.
      APPEND FIELDCAT TO IT_FIELDCAT.
      CLEAR FIELDCAT.
      FIELDCAT-TABNAME = 'IT_DISPLAY'.
      FIELDCAT-FIELDNAME = 'MJAHR'.
      FIELDCAT-SELTEXT_M = 'Material doc. year'.
      FIELDCAT-OUTPUTLEN =  18.
      APPEND FIELDCAT TO IT_FIELDCAT.
      CLEAR FIELDCAT.
      FIELDCAT-TABNAME = 'IT_DISPLAY'.
      FIELDCAT-FIELDNAME = 'ZEILE'.
      FIELDCAT-SELTEXT_L = 'Item in material document'.
      FIELDCAT-OUTPUTLEN =  18.
      APPEND FIELDCAT TO IT_FIELDCAT.
      CLEAR FIELDCAT.
      FIELDCAT-TABNAME = 'IT_DISPLAY'.
      FIELDCAT-FIELDNAME = 'BUDAT'.
      FIELDCAT-SELTEXT_L = 'Posting date in the document'.
      FIELDCAT-OUTPUTLEN =  10.
      APPEND FIELDCAT TO IT_FIELDCAT.
      CLEAR FIELDCAT.
      FIELDCAT-TABNAME = 'IT_DISPLAY'.
      FIELDCAT-FIELDNAME = 'BKTXT'.
      FIELDCAT-SELTEXT_L = 'Document header text'.
      FIELDCAT-OUTPUTLEN =  25.
      APPEND FIELDCAT TO IT_FIELDCAT.
      CLEAR FIELDCAT.
      FIELDCAT-TABNAME = 'IT_DISPLAY'.
      FIELDCAT-FIELDNAME = 'USNAM'.
      FIELDCAT-SELTEXT_M = 'User name'.
      FIELDCAT-OUTPUTLEN =  15.
      APPEND FIELDCAT TO IT_FIELDCAT.
      CLEAR FIELDCAT.
      FIELDCAT-TABNAME = 'IT_DISPLAY'.
      FIELDCAT-FIELDNAME = 'XBLNR'.
      FIELDCAT-SELTEXT_L = 'Reference document number'.
      FIELDCAT-OUTPUTLEN =  25.
      APPEND FIELDCAT TO IT_FIELDCAT.
      CLEAR FIELDCAT.
    ENDFORM.                    " FIELD_CATALOG
    *&      Form  DISPLAY_OUTPUT
          text
    -->  p1        text
    <--  p2        text
    FORM OUTPUT_DISPLAY.
      IF R1 = 'X'.
        CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
          EXPORTING
              I_CALLBACK_PROGRAM          = 'ZRMMPD01A'
              IS_LAYOUT                   =  I_LAYOUT
              IT_FIELDCAT                 = IT_FIELDCAT
          TABLES
              T_OUTTAB                    = IT_DISPLAY
            EXCEPTIONS
                 PROGRAM_ERROR               = 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.
        REFRESH IT_DISPLAY.
        CLEAR IT_DISPLAY.
      ELSEIF R2 = 'X'.
        CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
            EXPORTING
                 I_CALLBACK_PROGRAM          = 'ZRMMPD01A'
                 IS_LAYOUT                     =  I_LAYOUT
                 IT_FIELDCAT                 =  IT_FIELDCAT
             TABLES
                  T_OUTTAB                    = IT_FINAL
            EXCEPTIONS
                 PROGRAM_ERROR               = 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.
        REFRESH IT_DISPLAY.
        CLEAR IT_DISPLAY.
      ENDIF.
    ENDFORM.                    " DISPLAY_OUTPUT
    *&      Form  SELECT_CONDITION
          text
    -->  p1        text
    <--  p2        text
    FORM SELECT_CONDITION.
      IF R2 = 'X'.
        CLEAR WA_DISPLAY.
        SORT IT_DISPLAY BY MATNR SERNR MBLNR ZEILE.
        DELETE ADJACENT DUPLICATES FROM IT_DISPLAY.
        LOOP AT IT_DISPLAY WHERE ZEILE = '0002'.
          READ TABLE IT_DISPLAY WITH KEY MATNR = IT_DISPLAY-MATNR
          SERNR = IT_DISPLAY-SERNR ZEILE = '0001'.
          IF SY-SUBRC = 0.
            DELETE IT_DISPLAY.
          ENDIF.
        ENDLOOP.
        SORT IT_DISPLAY BY MATNR SERNR BWART MBLNR.
        DELETE ADJACENT DUPLICATES FROM IT_DISPLAY.
        LOOP AT IT_DISPLAY.
          IF WA_DISPLAY IS INITIAL.
            WA_DISPLAY =  IT_DISPLAY.
          ENDIF.
          LOOP AT IT_DISPLAY WHERE MATNR = WA_DISPLAY-MATNR
          AND SERNR = WA_DISPLAY-SERNR.
            IF IT_DISPLAY-BUDAT > WA_DISPLAY-BUDAT.
              WA_DISPLAY = IT_DISPLAY.
            ELSE.
              DELETE IT_DISPLAY.
            ENDIF.
          ENDLOOP.
          APPEND WA_DISPLAY TO IT_TEMP.
          CLEAR WA_DISPLAY.
        ENDLOOP.
        DELETE ADJACENT DUPLICATES FROM IT_TEMP.
        IF NOT IT_TEMP[] IS INITIAL.
          IT_FINAL[] = IT_TEMP[].
        ENDIF.
      ENDIF.
    ENDFORM.                    " SELECT_CONDITION
    Regards,
    Ashwini

  • Back button is not working-urgent

    hi ,
    i created my own pf status by using following function modue. it is showing pf status correct. in my pf status i keep back and exit buttons only. when i execute the following report it is showing back and exit buttons only. when i click back button action is not performing . any body can tell why the action is not working . i activated my pf status also.  if possible send me the sample code.
    iam sending my code below....
    selection-screen: begin of block b1.
    parameters : p_appln type mara-matnr.
    parameters : p_user type marc-werks.
    selection-screen: end of block b1.
    data: begin of exclude occurs 0,
            func(10) type c,
          end of exclude.
    At selection-screen output.
       set pf-status 'SELK'.      <-- Comment this line
    if sy-dynnr eq '1000'.
    call function 'RS_SET_SELSCREEN_STATUS'
    exporting
    p_status = 'SELK'
    tables
    p_exclude = exclude
    exceptions
    others = 1.
    endif.
    thanks,
    maheedhar.t

    Please assign the function codes to the back button and use the function code in your program for a particulat action.
    Check this piece of code might help you.
    call the ABAP list viewer                                            *
    FORM list_display TABLES a_output.
      pgm = disvariant-report = sy-repid.
      disvariant-variant = variant.
    call list viewer
      CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
        EXPORTING
          i_callback_program       = pgm
          i_callback_pf_status_set = 'SET_PF_STATUS'
          it_fieldcat              = fieldcat
          is_layout                = layout
          is_print                 = print
          i_save                   = 'A'
          it_events                = eventcat
          it_sort                  = sortcat
          i_callback_user_command  = '<b>USER_COMMAND'</b>
        TABLES
          t_outtab                 = a_output
        EXCEPTIONS
          program_error            = 1
          OTHERS                   = 2.
    ENDFORM.                    "LIST_DISPLAY
    FORM SET_PF_STATUS *
    FORM set_pf_status USING extab TYPE slis_t_extab.
      SET PF-STATUS 'STATUS1'.
    ENDFORM.                    "set_pf_status
    FORM USER_COMMAND *
    FORM user_command USING ucomm LIKE sy-ucomm
    selfield TYPE slis_selfield.
      DATA t_difference TYPE i.
      CASE ucomm.
        WHEN 'ENT1'.   <--The function code.
    Shreekant

  • Back button doesn't work due to multiple history entries for the current page. How can I fix this problem?

    This problem started February 2015. I have noticed it mostly while searching ebay. When I hit the back button it did not work. I right clicked the back button and found at least 2 and sometimes up to a dozen duplicate history entries for the current page I am on, meaning I would have to click the back button a dozen times to get to the previous page. I am using Firefox 35.0.1 on a Vista computer. I have not found any fix for the problem after searching the internet for hours. I have seen similar issues with people using IE and some say the duplicate entries are caused by banner ads but still no one has provided a good answer or fix for the problem. Please help.

    I will leave further answers to users of ebay. Script or adblockers may ease the problem.
    * Try this add-on search [https://addons.mozilla.org/en-US/firefox/search/?q=blocker&platform=windows&appver=35.0&sort=users blocker] (Windows)

  • Using Back button issue for radio button

    Dear All,
    My initial screen has 2 radio buttons, on selecting will take to a selection screen with few fields, i have enabled the back button using MODULE user_command AT EXIT-COMMAND.
      when i select a Radio Button 1 which takes to the Selection Screen 1, if the user clicks back button it works fine, even thou we got a mandatory field, it goes back,
    however when i click Radio Button 2 it still takes me to Selection Screen 1, its the same vice versa.
    Is there anyway i can change the screen based on radio button entry

    Hi Krishan,
    You can call your desire selection screen based on the button click.
    if you are working on report program (SE38), then say you have two radio button p1 and p2 and also you have created two selection screen block B1 and B2 and each block has some selection screen elements i.e fields.
    Now if you want that after radio button click b1, you want the only selection screen block B1 and while clicking radio button b2 click ,you want only selection screen block B2.
    Two acheive this in report programming, use the event AT SELECTION-SCREEN OUTPUT.
    so a demo code for the same,
    SELECTION-SCREEN BEGIN OF BLOCK a WITH FRAME TITLE text-049.
    PARAMETERS: p_header RADIOBUTTON GROUP asim USER-COMMAND s DEFAULT 'X',
                                p_item RADIOBUTTON GROUP asim.
    SELECTION-SCREEN END OF BLOCK lim.
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-051.
    PARAMETERS : p_vbeln TYPE vbak-vbeln MODIF ID sc1,
                  p_audat TYPE vbak-audat MODIF ID sc1.
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-050.
    PARAMETERS : p_vbeln1 TYPE vbap-vbeln MODIF ID sc2,
                                 p_posnr TYPE vbap-posnr MODIF ID sc2.
    SELECTION-SCREEN END OF BLOCK b2.
    AT SELECTION-SCREEN OUTPUT.
       IF p_header EQ 'X'.
         LOOP AT SCREEN.
           IF screen-group1 = 'SC1'.
             screen-active = '1'.
           ELSEIF screen-group1 = 'SC2'.
             screen-active = '0'.
           ENDIF.
           MODIFY SCREEN.
         ENDLOOP.
       ELSEIF p_item EQ 'X'.
         LOOP AT SCREEN.
           IF screen-group1 = 'SC2'.
             screen-active = '1'.
           ELSEIF screen-group1 = 'SC1'.
             screen-active = '0'.
           ENDIF.
           MODIFY SCREEN.
         ENDLOOP.
       ENDIF.
    If you are working with Module POOL, then code in the PAI of the screen, and call your respective screen while respective button click.
    code:
    MODULE user_command_900 INPUT.
         IF p1 EQ 'X'.
              CALL SCREEN 9001.
         ELSEIF p2 EQ 'X'.
              CALL SCREEN 9002.
         ENDIF.
    NOTE: your screen 9001 have some screen input fields and 9002 have some screen input fields.
    Thanks & Regards
    Syed

  • When I click "back" button selection screen is not appearing

    Dear All,
    1) I have a "report" which takes some parameteres in the seclection screen ( standard 1000 ) and displayes a report. This is transported. Say the name is ZPRG1
    2) We have copied ZPRG1 to ZPRG_temp and modified some logic and copied back to ZPRG1.
    3) All looks fine but in ZPRG1 in SE80 it is not displaying screen "1000" listed. And when I pressed "back" button from the standard report menu it is going into "blank" screen first. and then when i click again it comes to the selection screen. I understand that some thing happened with GUI stuff but ran out of all ideas and coming here to get some help from you..
    I am almost in a lost state.. can you please suggest me?
    Thanks for your time.
    Regards,
    Kiran

    Hi zhenglin gu,
    Finally I found the reason.. still not conviced.. but the issue is happening when I write block with in the block. I am not convinced but it is true here..
    Issue code******** ( Block with in block )
    SELECTION-SCREEN BEGIN OF BLOCK CHECK1 WITH FRAME TITLE ext-t01.
    *skip 1.
    SELECTION-SCREEN BEGIN OF BLOCK CHECK2 WITH FRAME TITLE text-t00.
    select-options: s_system for /BIC/AZSEUST0400-/BIC/ZSYSIDNT
                    no-extension no intervals .
    parameters:   P_USER   type /BIC/OIZSECUNAME OBLIGATORY.
    select-options: S_PROF for zsecurity-value_1 no intervals.
    SELECTION-SCREEN PUSHBUTTON 60(20) BUT1 USER-COMMAND PROF
                                VISIBLE LENGTH 25.
    SELECTION-SCREEN END OF BLOCK CHECK2.
    PARAMETERS: P_AB RADIOBUTTON GROUP gr1,
                P_CON RADIOBUTTON GROUP gr1.
    SELECTION-SCREEN END OF BLOCK CHECK1.
    Issue ********
    No Issue ******** ( Outer block is comented)
    *SELECTION-SCREEN BEGIN OF BLOCK CHECK1 WITH FRAME TITLE text-t01.
    *skip 1.
    SELECTION-SCREEN BEGIN OF BLOCK CHECK2 WITH FRAME TITLE text-t00.
    select-options: s_system for /BIC/AZSEUST0400-/BIC/ZSYSIDNT
                    no-extension no intervals .
    parameters:   P_USER   type /BIC/OIZSECUNAME OBLIGATORY.
    select-options: S_PROF for zsecurity-value_1 no intervals.
    SELECTION-SCREEN PUSHBUTTON 60(20) BUT1 USER-COMMAND PROF
                                VISIBLE LENGTH 25.
    SELECTION-SCREEN END OF BLOCK CHECK2.
    PARAMETERS: P_AB RADIOBUTTON GROUP gr1,
                P_CON RADIOBUTTON GROUP gr1.
    *SELECTION-SCREEN END OF BLOCK CHECK1.
    End of Block2.
    No Issue ********
    I think I used several blocks with in blocks.. but I do not know why it is hapening.. in my case, i am fine with eliminating the outer block.. so removed and transporting it...
    Message was edited by: Hari Kiran

  • Back Button in Safari 3.1.2

    I just recently got a new MacBook Pro, after my old computer died. I had been using the original Safari browser on it, and never had any problems.
    In Safari 3.1.2, about once every ten times I click the back button, it rockets me back two pages instead of just one.
    That's about my only qualm, but wasn't sure where to voice it.
    Any ideas on how to fix it?

    Hi Rachel, My Double-Click Speed is set to two notches below fast. I'm still using the mouse that came with my eMac, so it's not a third party issue.
    I've developed other bugs too. So I'm seriously thinking about just buying an iMac and forgo some puzzling and frustrating things going on inside my poor little eMac.
    When I called Apple Support on the mouse issue, they suggested an Archive & Install, which I did. That didn't fix the glitch. Since then, Text Edit opens every time I restart my eMac with this -
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    <key>LprojCompatibleVersion</key>
    <string>216</string>
    <key>LprojLocale</key>
    <string>fr</string>
    <key>LprojRevisionLevel</key>
    <string>1</string>
    <key>LprojVersion</key>
    <string>220.1</string>
    </dict>
    </plist>
    I don't have a clue what this is. I suspect it is Unix code, but can't figure out what it is related to.
    I also lost, among other things, Printer Drivers. The driver for my Brother HL-2040 reinstalled in a snap and it is functioning fine. However, I cannot find the Kodak Printer Dock Series 3 driver in Printer Setup Utility after many uninstalls and installations.
    Back in February, I started to have kernel panics. I scanned my disk and found over 100 bad blocks. I backed up my system to an external HDD, zeroed out my disk and reinstalled my system. About 6-7 weeks ago, I had a single kernel panic and none since. Taken together, all of this make me think that it is time to move on and get an iMac.
    My apologies for hijacking this thread.

  • Back Button after logout

    After the user logs out, and if they click the back button again they should see
    some error message, or be redirected to the error page. I have put the following
    in the head.jsp but it does not work.
    I tried using both the blocks (one at a time) in head.jsp - but neither worked.
    <%
    response.setHeader("Expires", "Mon, 26 Jul 1990 05:00:00 GMT");
    response.setHeader("Cache-Control" ,"no-cache, must-revalidate");
    response.setHeader("Pragma", "no-cache");
    response.setHeader("Cache-Control","no-store");
    %>
    OR
    <meta http-equiv="expires" content="0">
    <meta http-equiv="Pragma" content="no-cache">
    <meta http-equiv="Cache-Control" content="no-cache, must-revalidate">

    Leonardo -
    When you click back the portal framework does not execute the page flows again.
    Thus this solution will not work.
    Thanks
    Kunal
    "Leonardo Contreras" <[email protected]> wrote:
    >
    You can use the login-required annotattion for catching LoginExpiredException
    and
    NotLoggedException, this could fix your problem (i´ve used it with pageflows,
    i don´t know if there is some equivalent in JSP), a very usefull example
    of login
    page is used with Avitek Portal example (I supose you talk about Portal
    8.1).
    "Kunal Mittal" <[email protected]> wrote:
    After the user logs out, and if they click the back button again they
    should see
    some error message, or be redirected to the error page. I have put the
    following
    in the head.jsp but it does not work.
    I tried using both the blocks (one at a time) in head.jsp - but neither
    worked.
    <%
    response.setHeader("Expires", "Mon, 26 Jul 1990 05:00:00 GMT");
    response.setHeader("Cache-Control" ,"no-cache, must-revalidate");
    response.setHeader("Pragma", "no-cache");
    response.setHeader("Cache-Control","no-store");
    %>
    OR
    <meta http-equiv="expires" content="0">
    <meta http-equiv="Pragma" content="no-cache">
    <meta http-equiv="Cache-Control" content="no-cache, must-revalidate">

  • Certain websites are being automatically redirected to another unwanted page repeatedly even if I use the back button

    The last 12 hours or so when I've visited certain (reputable!) websites, as soon as a page has loaded I've been redirected to some random other site (usually some Mens Health or Weight Loss Secret crap). When I hit the back button the exact same thing happens. I've checked my Firefox add-ons and I've got nothing dodgy, I'm on a Macbook so I don't think it's a virus. I'm pretty computer illiterate so simple answers would be lovely, thanks

    There are viruses for the Mac, of course, but a bad add-on seems more likely...
    Could you test those pages in Firefox's Safe Mode? That's a standard diagnostic tool to deactivate extensions, hardware acceleration, and some other advanced features of Firefox. More info: [[Troubleshoot Firefox issues using Safe Mode]].
    You can restart Firefox in Safe Mode using either:
    * "3-bar" menu button > "?" button > Restart with Add-ons Disabled
    * Help menu > Restart with Add-ons Disabled
    Not all add-ons are disabled: Flash and other plugins still run
    After Firefox shuts down, a small dialog should appear. Click "Start in Safe Mode" (''not'' Reset).
    Any difference?
    If Firefox works better but none of the extensions look suspicious to you, do you want to post a list of them for review? A relatively easy way to extract them is as follows:
    Open the support information page using either
    * "3-bar" menu button > "?" button > Troubleshooting Information
    * (menu bar) Help > Troubleshooting Information
    * type or paste about:support in the address bar and press Enter
    In the upper left corner, click the Copy text to clipboard button. Then start a new reply to this thread and paste in the result. The Extensions are the second block of information. If you scroll down to "Important Modified Preferences", you can delete from there to the end.
    Also, could you check that no unusual connection settings have been entered into Firefox?
    "3-bar" menu button (or Firefox menu) > Preferences > Advanced > Network mini-tab > "Settings" button
    Normally "Use system proxy settings" is selected, but you also could try "No proxy" to see whether that works any better.

  • Back Button Breaks My Layout

    Hi All,
    I am having a problem with the browse back button, from searching the forums I gather that this is a common problem but I can't find any references to my particular problem?
    Anyway, my problem is that when a user clicks the back button the layout of my page is broken. everything seems to operate correctly but table widths are changed and images are shifted. The results are pretty consistent in that it behave the same way for every back button press, ie. the same tables and iamges get shifted?
    Any thoughts?
    I am using Jdeveloper 10.1.3.4, Oracle ADF Faces components and mostly <afh:tableLayout> for my layout which is a pain by the way, why can't I just have a simple <div>...
    Thanks
    Jeremy

    salsipius wrote:
    Hi All,
    I am having a problem with the browse back button, from searching the forums I gather that this is a common problem but I can't find any references to my particular problem?Haven't seen this before though. Can you post links to the related topics in the forums?
    I am using Jdeveloper 10.1.3.4, Oracle ADF Faces componentsSorry, no experience with it. All I know is that Oracle also has its own forum. Consider reposting this question over there if you don´t get much more response here. At least I haven´t seen any Oracle guys walking around here lately.
    and mostly <afh:tableLayout> for my layout which is a pain by the way, why can't I just have a simple <div>...You can just use HTML in a JSF page? Or are you still sticking into JSF 1.1 or older?
    Since 2006 there was JSF 1.2 which has a changed view state management and just allows plain vanilla HTML in the JSF page. Before in JSF 1.1 or older you had to nest plain vanilla HTML in a <f:verbatim> tag to let it been taken in the JSF component tree. Besides, since JSF 1.2 the h:panelGroup got a new 'layout' attribute which you can set to "block" to let it render a <div> instead of a <span>.

  • Back Button Functionality

    Dear All,
    I have developed a Block List ALV Report . In it I have made a Hyperlink on each column of cells. The Requirement for it is to view more details if any value is clicked. So I have called a Classical Output. Till here it is working fine.
    Now when I click BACK Button then it is navigating to Selection Screen but it should go to Block List ALV.
    I have tried all the methods like by creating PF Status and capturing SY-UCOMM for BACK button.
    Please guide me.
    Regards,
    Bharti Jain

    Hi,
    How do you call your CLASSICAL OUTPUT? If you used CALL TRANSACTION command,
    better used it with SKIP FIRST SCREEN. See the sample below.
    SET PARAMETER ID 'AUN' FIELD gt_vbak-vbeln.
    CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.
    Let me know if this work with your requirements.
    Thanks,
    iostreamax

Maybe you are looking for