Double click in the empty tab bar space to open a new tab.

I upgraded to Firefox 7 today, and now if I try to click in the empty space on the tab bar to the right of the current tabs I no longer get a new tab.
Is there a way to re-enable this feature?

Sorry but this is annoying! I have been using Firefox for a long time and all of a sudden an update (7.0) stops the doubleclick in the tabs bar.
I have Firefox both at the office and at home. Strangely, at home I´ve got this problem but at the office I haven´t. I´ve got XP at the office and Vista at home.
And please don´t tell me to get used to the plus button or the mouse middle button.

Similar Messages

  • Why can't I click on the empty tab, when I want to empty the messages in my junk box?

    When I am in my hotmail account, I try to select the empty tab in my junk box, but I can't select "empty". I am also having that same problem in other websites. For instance, I went into Jimmy John's and selected menu. But it wouldn't let me select menu.

    Could you provi'''Try Firefox Safe Mode''' to see if the problem goes away. Safe Mode is a troubleshooting mode, which disables most add-ons.
    ''(If you're not using it, switch to the Default theme.)''
    * You can open Firefox 4.0+ in Safe Mode by holding the '''Shift''' key when you open the Firefox desktop or Start menu shortcut.
    * Or open the Help menu and click on the '''Restart with Add-ons Disabled...''' menu item while Firefox is running.
    ''Once you get the pop-up, just select "'Start in Safe Mode"''
    '''''If the issue is not present in Firefox Safe Mode''''', your problem is probably caused by an extension, and you need to figure out which one. Please follow the [[Troubleshooting extensions and themes]] article for that.
    ''To exit the Firefox Safe Mode, just close Firefox and wait a few seconds before opening Firefox for normal use again.''
    ''When you figure out what's causing your issues, please let us know. It might help other users who have the same problem.''

  • I've installed Photoshop Elements 12 on my PC computer.  Although the installation message at the end noted the installation was successful, when I tried to double-click on the desktop icon, it won't open.  Any ideas?

    I've just installed Photoshop Elements 12 on my PC computer.  At the end of the installation, I received a message that the installation was successful.  I then tried to click on the desktop icon, but it won't open.  Any ideas as to what could be going on?  Thanks very much!

    This worked for me
    Sandeep Singh (Official Rep) replied to this problem:
    Elements 12: Editor will not Open  
    Hi Kimberly,
    Please follow these steps:
    Try to rename SLCacje to Slcache.old
    C:\Program Files (x86)\Common Files\Adobe
    and
    SLStore to Slstore.old
    C:\ProgramData\Adobe\SLStore
    and Right Click on the Photoshop Elements 12 icon and run as administrator
    Let me know if this works.
    Thanks
    Sandeep

  • I can't open a new tab using Ctrl+T or by clicking on the + symbol. I can, however, open a new tab when holding down Ctrl and clicking on a link. How can I fix this please?

    I used to be able to open a new tab using Ctrl+T but that has stopped working. Having I accidentally changed something?

    Disable the Ask Toolbar.

  • Double click on the left arrow on the tab bar creates a New Tab at the right hand end.

    With Firefox 29.0.1 double clicking on either the left or right hand arrows in the tab bar creates a new tab at the right hand end of the tab bar. This is annoying behaviour that violates standards around UI design single click and double click. A double click should extend the behaviour of the single click rather than doing something completely different (opening a new tab). An example would be , in Word a single click selects a word, a double click selects the sentence and a triple click selects the paragraph. Note that this is a separate issue from double clicking on the tab bar itself to create a new tab.
    When there are more tabs on the tab bar than will fit in the viewport the tabs scroll sideways so show the tab in use. I can click the left and right arrows at the ends of the tab bar to scroll the bar in that direction to bring a tab that I want to select into view. I believe that double clicking the left arrow would scroll the bar fully right, exposing the left-most tab. Double clicking the right arrow would scroll the bar fully left exposing the right-most tab.
    This is a logical and expected extension of the behaviour of the single click. Single click - scroll once (seems to be about three tab's worth), double click - scroll all the way.
    At the moment, if I want to scroll to the left-most tab I have to click the arrow slowly and carefully until I reach it. I used to single click rapidly on the left arrow until the tabs stopped scrolling without having to count how many clicks. It's possible that my rapid single clicks were actually double clicks. Nevertheless, the tab bar would stop scrolling when it reached the end.
    Now the behaviour is really annoying and unexpected. A double click on the left arrow scrolls the tabs fully right and then fully left and creates a New Tab at the right hand end. Ditto the right hand arrow in the opposite direction.
    While I can (maybe) see that value of a double click on the tab bar itself creating a new tab, double clicking one of the scroll arrows should not produce a new tab.
    Double clicks on the tab arrows should scroll the tab bar fully to that end. If the tab bar is already fully scrolled to that end then additional clicks (single, double and triple...) should be ignored.
    I like the idea of opening a new tab to the right of the one that currently has focus. This should be a right click context menu option.

    That shouldn't happen if you click the scroll buttons on the tab bar.
    A double-click should act as page up/down and move a full screen and a triple-click should move to the far left (first tab) or the far right (last) tab.
    Start Firefox in <u>[[Safe Mode|Safe Mode]]</u> to check if one of the extensions (Firefox/Tools > Add-ons > Extensions) or if hardware acceleration is causing the problem.
    *Switch to the DEFAULT theme: Firefox/Tools > Add-ons > Appearance
    *Do NOT click the Reset button on the Safe Mode start window
    *https://support.mozilla.org/kb/Safe+Mode
    *https://support.mozilla.org/kb/Troubleshooting+extensions+and+themes

  • When I open up iphoto and click on the events tab then double click on an event, it used to show minis of all the photos in that event.  Now it shows only one photo at a time.  How do I get it back? Can you help?

    When I open up iphoto and click on the events tab then double click on an event, it used to show minis of all the photos in that event.  Now it shows only one photo at a time.  How do I get it back? Can you help?

    On the bottom bar of the window (on the left iPhoto 11, on the right in other versions) note the slider. Drag it left.
    Regards
    TD

  • All of a sudden I can no longer open tabs by clicking "+" or right clicking on the tool bar. To open a new page, I have to open a whole newFirefox window. How can I fix this?

    All of a sudden I can no longer open tabs by clicking "+" or right clicking on the tool bar. To open a new page, I have to open a whole new Firefox window. How can I fix this?
    Also, Firefox crashes frequently. Is there a fix for this also?

    Uninstall the Ask toolbar and it should work again. There is a compatibility issue with the Ask toolbar and Firefox 3.6 that prevents new tabs from being opened.
    There are a couple of places to check for the Ask toolbar:
    * Check the Windows Control panel for the Ask Toolbar - http://about.ask.com/apn/toolbar/docs/default/faq/en/ff/index.html#na4
    * Also check your list of extensions, you may be able to uninstall it from there - https://support.mozilla.com/kb/Uninstalling+add-ons
    For the second issue, the [[Firefox crashes]] support article may help.

  • When I have a pdf file open, I used to be able to click on "Bookmarks" tab on left side and allow me to click on each individual page and delete if I needed to.  Now when I click on the Bookmarks tab, that section is empty.  How can I get it to show each

    when I have a pdf file open, I used to be able to click on "Bookmarks" tab on left side and allow me to click on each individual page and delete if I needed to.  Now when I click on the Bookmarks tab, that section is empty.  How can I get it to show each page again?

    Hi chrismarks1,
    I think you may be confusing bookmarks with thumbnails. If you click the Page Thumbnails icon (the one above the Bookmarks icon), then you can delete a page by clicking its thumbnail, and clicking the Delete Pages icon (the trashcan icon). Just make sure that you're viewing the PDF file in Acrobat (rather than Acrobat Reader), as you can't delete pages from Reader.
    Best,
    Sara

  • In the URL bar, type about:config Type geo.enabled Double click on the geo.enabled preference Location-Aware Browsing is now disabled, does not work How do you turn this Off!

    In the URL bar, type about:config
    Type geo.enabled
    Double click on the geo.enabled preference
    Location-Aware Browsing is now disabled
    Google will not remove their location aware feature saying it is picked up by the location aware feature in my firefox browser and referred me to your like where I found the above to disable this feature. It just sent me to a yahoo search page. How do you disable this I want to use US Google not Google.ua and you don't need this to help me locate anything in the Ukraine. When I take my laptop with me on trips does my firefox local change wherever I go?

    See:
    * http://www.mozilla.com/firefox/geolocation/
    *http://browserspy.dk/geolocation.php

  • Can I specify a page to be opened when I click 'new tab' instead of the 'empty' tab?

    When I open a new tab, I'd like to be able to specify what it opens, instead of the 'empty' tab.

    There are a number of extensions that provide a feature like that.
    NewTabURL extension
    https://addons.mozilla.org/firefox/2221/

  • Trying to restore my Mac OS  after a hard drive failure and my password is no longer recognized, however I can log in by double clicking on the Lion Icon? How can I reset my password

    I am trying to restore my Mac OS after a hard drive failure and my password is no longer recognized, however I can log in by double clicking on the Lion Icon? How can I reset my password

    First, make sure caps lock is not on.
    Another reason why your password might not be recognized is that the keyboard layout (input source) has been switched without your realizing it. At the login screen, you can cycle through the available layouts by pressing the key combinationcommand-space or command-option-space. See this support article.
    If the user account is associated with an Apple ID, and you know the Apple ID password, then maybe the Apple ID can be used to reset your user account password.
    Otherwise*, boot into Recovery mode. When the OS X Utilities screen appears, select
    Utilities ▹ Terminal
    from the menu bar. In the window that opens, type this:
    res
    Press the tab key. The partial command you typed will automatically be completed to this:
    resetpassword
    Press return. A Reset Password window opens. Close the Terminal window to get it out of the way.
    Select your boot volume ("Macintosh HD," unless you gave it a different name) if not already selected.
    Select your username from the menu labeled Select the user account if not already selected.
    Follow the prompts to reset the password. It's safest to choose a password that includes only the characters a-z, A-Z, and 0-9.
    Select
     ▹ Restart
    from the menu bar.
    You should now be able to log in with the new password, but your Keychain will be reset (empty.) If you've forgotten the Keychain password (which is ordinarily the same as your login password), there's no way to recover it.
    *Note: If you've activated FileVault, this procedure doesn't apply. Follow instead these instructions.

  • I have problem when opening a pdf page, my mouse control is hijacked to that tab when im on other tab, i cant scroll or use the middle rollling button, i have to click at the pdf tab then my control over the mouse middle button is restored.

    I think I have this problem even on earlier version. The thing is I set open link in new tab and not switch over to the opened tab. My habit is to open a pdf page in the background and let it load first. What happen is that when the pdf page finished loading ( i do not set to download it), it hijacks my middle mouse button control. When i scroll down or scroll up on my original tab, it wont scroll on the tab, but insttead it scrolls on the pdf tab. I have to click on the pdf tab, then i can use the scrolling function on other tabs back. As for when i opened several pdf tabs, it seems i have to click on the tab that just finished loading, that means several times until they all finish loading. It has been getting on my nerve lately. And all pdf trouble i search from google led to unable to open pdf, firefox hang or crash when opening a pdf and the likes.

    core-el, i don't see the advantage of that or i can't figure out how i'm supposed to use it. for starters, i have to click the mouse in order to get "add bookmark here" to open, which is no different than clicking on the star in the location bar, or right-clicking on the page. there are also options in the bookmarks toolbar, but they all require clicking the mouse & holding down the right button, etc.
    my goal is to use keystrokes only. typing on the keyboard, using both hands, using the space bar & my left pinky finger to tab over are all painless routines for me. as soon as i have to take my fingers off the keyboard & use the mouse, the pain begins.
    as i said, in older versions of firefox, all i had to do to bookmark a page was click ctrl>d, then tab over & arrow down, when appropriate, to find the folder & add the bookmark. for me, as a touch-typist whose speed is between 60 & 80 wpm, this is lightning fast.
    if i have this wrong, please correct me. i just see it as more mouse clicks that don't save me time or pain.

  • After I double click on the firefox icon, firefox refuses to load. Why?

    '''bold text'''I have windows 7. When I double click on the firefox icon on my desktop the circle moves around and around then stops and nothing happens

    Hi dizzydar,
    You should look at [https://support.mozilla.com/kb/Firefox+has+just+updated+tab+shows+each+time+you+start+Firefox this article about that specific issue] and the article [http://kb.mozillazine.org/Preferences_not_saved Preferences not saved]. These should give you all the information you need!
    If that doesn't work:
    # Type about:config in the address bar
    # Click ''I'll be careful, I promise'' if prompted
    # In the Filter input field type ''startup''
    # Double click on startup.homepage_override_url
    # Delete the text string and click ''OK''
    # Close Firefox and reopen the window to verify that it has worked.
    Hopefully this helps!

  • Firefox crashes every time I double click on the web screen

    Okay, this may sound funny and I've tried searching the web to no avail. I've just recently upgraded my Firefox and so far it's working...until when I double-clicked on the web page (the fast way to block a whole paragraph to be copied). The Firefox then suddenly crashed. First I thought there might be a web page which caused the problem, but when I experimented double-clicking on the Firefox Homepage, the problem persisted. This hasn't happened before and I have no idea what error does the double-click induces. The other processes---downloading, uploading, etc.---works fine. Maybe you guys will find it minor, but still it annoys me every time I forget and double-click.
    == Crash ID(s) ==
    bp-37c72e77-c637-4ff1-8c22-0b73d2100707

    You have or had an extension installed (MegaUpload toolbar) that has changed the user agent from Firefox/3.6.7 to Firefox/3.5.3.
    You can see the Firefox version at the top and the user agent at bottom of the "Help > About" window (Mac: Firefox > About Mozilla Firefox).
    You can check the '''general.useragent''' prefs on the '''about:config''' page.
    You can open the ''about:config'' page via the location bar, just like you open a website.
    Filter: '''general.useragent'''
    If ''general.useragent'' prefs are bold (user set) then you can right-click that pref and choose ''Reset''.
    See [[Web sites or add-ons incorrectly report incompatible browser]] and [[Finding your Firefox version]]
    See also http://kb.mozillazine.org/Resetting_your_useragent_string_to_its_compiled-in_default

  • Populate information when double click on the field name

    I have this tree structure with the field names as shown at this picture.
    <a href="http://img164.imageshack.us/img164/426/treeaf0.jpg">http://img164.imageshack.us/img164/426/treeaf0.jpg</a>
    When I double click on the field name, I would like to populate the values related to the fieldname to the tab form next to the tree structure as should in the picture.
    How am I suppose to do this?
    My codes as shown below:
    *& Report  ZSCSDM_RULES_ENGINE_TRANSFORM_v4
    *& with Column Tree Structure & ABAP Generic code
    REPORT  ZSCSDM_MODIFY_TRANSFORM_HERA.
    GLOBAL DECLARATION
    ======================================================================
    SCREEN 9000 TABS (WIZARD-GENERATED CODES. DO NOT CHANGE)-------------*
    *&SPWIZARD: FUNCTION CODES FOR TABSTRIP 'TRANSFORM'
    Rayden Tree Control Code.
    CLASS CL_TREE DEFINITION DEFERRED.
    CLASS CL_GUI_CFW DEFINITION LOAD.
    TYPES : ITEM_TABLE_TYPE LIKE STANDARD TABLE OF MTREEITM
              WITH DEFAULT KEY.
    DATA: BEGIN OF ITAB_MO OCCURS 1.
            INCLUDE STRUCTURE ZSCSDM_MO.
    DATA:END OF ITAB_MO.
    DATA: BEGIN OF ITAB_OF OCCURS 1.
            INCLUDE STRUCTURE ZSCSDM_OF.
    DATA:END OF ITAB_OF.
    DATA: BEGIN OF ITAB_OS OCCURS 1.
            INCLUDE STRUCTURE ZSCSDM_OS.
    DATA:END OF ITAB_OS.
    DATA: BEGIN OF ITAB_TREE OCCURS 1,
            UNIKEY(100) TYPE C,
            PARENT(100) TYPE C,
            TYPE(10) TYPE C,
            IN_AREA(1) TYPE C,
            NAME(14) TYPE C,
            DESC(255) TYPE C,
            TAG(50) TYPE C,
          END OF ITAB_TREE.
    DATA: TREE TYPE REF TO CL_GUI_COLUMN_TREE,
          DOCKING TYPE REF TO CL_GUI_DOCKING_CONTAINER,
          REPID TYPE SY-REPID,
          DYNNR TYPE SY-DYNNR,
          TREE_APPLICATION TYPE REF TO CL_TREE,
          LEVEL TYPE I,
          AREA_COUNT TYPE I,
          AREA_TEXT(30) TYPE C,
          AREA_DESC(30) TYPE C,
          AREA_KEY(30) TYPE C,
          OBJECT_TEXT(30) TYPE C,
          NODE_DISABLE(1) TYPE C,
          NODE_EXPAND(1) TYPE C,
          NODE_IMAGE(46) TYPE c,
          NODE_EXP_IMAGE(46) TYPE C,
          FIELD_KEY(30) TYPE C,
          SELECTED_KEY(30) TYPE C,
          SELECTED_ITEM(30) TYPE C,
          FIELD_COUNT(9) TYPE N,
          TAG_VALUE(255) TYPE C,
          TAG_1(255) TYPE C,
          TAG_2(255) TYPE C,
          PARENT_TAG_VALUE(50) TYPE C,
          TEMP_VALUE(100) TYPE C,
          COUNTER TYPE I,
          IN_AREA(1) TYPE C,
          STR_COUNTER TYPE STRING.
    DATA: EVENT TYPE CNTL_SIMPLE_EVENT,
          EVENTS TYPE CNTL_SIMPLE_EVENTS,
          NODE_TABLE TYPE TREEV_NTAB,
          ITEM_TABLE TYPE ITEM_TABLE_TYPE,
          NODE TYPE TREEV_NODE,
          ITEM TYPE MTREEITM,
          ITAB_TREE_WA LIKE LINE OF ITAB_TREE,
          NODE_WA LIKE LINE OF NODE_TABLE,
          ITEM_WA LIKE LINE OF ITEM_TABLE,
          OF_WA LIKE LINE OF ITAB_OF,
          HIERARCHY_HEADER TYPE TREEV_HHDR.
    FIELD-SYMBOLS: <FS_ITAB_TREE_ANY> TYPE ANY,
                   <FS_NODE_ANY> TYPE ANY,
                   <FS_OF_DESC> TYPE ANY.
    CONSTANTS: BEGIN OF C_TRANSFORM,
                 TAB1 LIKE SY-UCOMM VALUE 'TRANSFORM_FC1',
                 TAB2 LIKE SY-UCOMM VALUE 'TRANSFORM_FC2',
               END OF C_TRANSFORM.
    *&SPWIZARD: DATA FOR TABSTRIP 'TRANSFORM'
    CONTROLS:  TRANSFORM TYPE TABSTRIP.
    DATA:      BEGIN OF G_TRANSFORM,
                 SUBSCREEN   LIKE SY-DYNNR,
    PROG        LIKE SY-REPID VALUE 'ZSCSDM_MODIFY_TRANSFORM_V5',
                 PRESSED_TAB LIKE SY-UCOMM VALUE C_TRANSFORM-TAB1,
               END OF G_TRANSFORM.
    DATA:      OK_CODE LIKE SY-UCOMM.
    SCREEN 9001 FIELDS---------------------------------------------------*
    TABLES: ZSCSDM_MO, ZSCSDM_OF, ZSCSDM_OS, ZSCSDM_REF.
    DATA: REF_COND TYPE ZSCSDM_REF-REF_COND,
          G_EDITOR_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
          G_EDITOR TYPE REF TO CL_GUI_TEXTEDIT.
    Rayden Dynamic generate ABAP Code.
    SCREEN 9002 FIELDS---------------------------------------------------*
    DATA: CODE_EDITOR_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
          CODE_EDITOR TYPE REF TO CL_GUI_TEXTEDIT.
    TYPES: BEGIN OF DYN_CODE,
            LINE(255),
          END OF DYN_CODE.
    DATA: DYN_CODE_TABLE TYPE TABLE OF DYN_CODE.
    INITIALIZATION-------------------------------------------------------*
    DATA: INIT_MODE_9001 TYPE I VALUE 0. "0 = CREATE, 1 = EDIT
    SCREEN 9001 PBO AND PAI---------------------------------------------------*
    DATA: DETAILS_SCREEN(10) TYPE C VALUE 'Transform',
          RETURN_RESULT TYPE CHAR9.
    CONSTANTS: G_EDITOR_LENGTH TYPE I VALUE 255.
    DATA: BEGIN OF G_EDITOR_LINE OCCURS 0,
            REF_COND TYPE ZSCSDM_REF-REF_COND,
          END OF G_EDITOR_LINE.
    TYPES: BEGIN OF G_EDITOR_TABLE_LINE,
             LINE(G_EDITOR_LENGTH) TYPE C,
           END OF G_EDITOR_TABLE_LINE.
    DATA: G_EDITOR_TABLE TYPE TABLE OF G_EDITOR_TABLE_LINE,
          G_EDITOR_CONTENTS LIKE STANDARD TABLE OF LINE.
    DATA: INSERT_COUNTER TYPE I, INSERT_VALUE(G_EDITOR_LENGTH) TYPE C.
    *DATA: NONE_BLANK_COUNTER TYPE I, NONE_BLANK_CHECK(G_EDITOR_LENGTH) TYPE C,
         INSERT_COUNTER TYPE I, INSERT_VALUE(G_EDITOR_LENGTH) TYPE C,
         OFFSET_LEN_3AT TYPE I,OFFSET_LEN_DOT TYPE I.
    SAVE STATUS (SUCCESS=S OR FAIL=F)------------------------------------*
    DATA: SAVE_STATUS(1) TYPE C.
    Rayden Tree Control Code.
          CLASS CL_TREE DEFINITION
    CLASS CL_TREE DEFINITION.
      PUBLIC SECTION.
        METHODS : HANDLE_ITEM_DOUBLE_CLICK
                    FOR EVENT ITEM_DOUBLE_CLICK
                    OF CL_GUI_COLUMN_TREE
                    IMPORTING NODE_KEY ITEM_NAME.
    ENDCLASS.                    "CL_TREE DEFINITION
          CLASS CL_TREE IMPLEMENTATION
    CLASS CL_TREE IMPLEMENTATION.
      METHOD HANDLE_ITEM_DOUBLE_CLICK.
        SELECTED_KEY = NODE_KEY.
        SELECTED_ITEM = ITEM_NAME.
        CLEAR: TAG_VALUE.
        PERFORM CLEAR_SCREEN.
        IF ITEM_NAME = 'OBJECT'.
          READ TABLE ITAB_TREE INTO ITAB_TREE_WA WITH KEY UNIKEY = SELECTED_KEY.
          IF ITAB_TREE_WA-TYPE = 'OBJECT'.
            ZSCSDM_MO-OBJECT_ID = ITAB_TREE_WA-NAME.
            ZSCSDM_MO-OBJECT_DESC = ITAB_TREE_WA-DESC.
          ENDIF.
          IF ITAB_TREE_WA-TYPE = 'FILE'.
            ZSCSDM_OF-FILE_NAME = ITAB_TREE_WA-NAME.
            ZSCSDM_OF-FILE_DESC = ITAB_TREE_WA-DESC.
            " Get the OBJECT of the FILE
            SPLIT ITAB_TREE_WA-TAG AT 'T' INTO TAG_1 TAG_2.
            READ TABLE ITAB_TREE INTO ITAB_TREE_WA WITH KEY TAG = TAG_1.
            READ TABLE ITAB_TREE INTO ITAB_TREE_WA WITH KEY UNIKEY = ITAB_TREE_WA-PARENT.
            ZSCSDM_MO-OBJECT_ID = ITAB_TREE_WA-NAME.
            ZSCSDM_MO-OBJECT_DESC = ITAB_TREE_WA-DESC.
          ENDIF.
          IF ITAB_TREE_WA-TYPE = 'FIELD'.
            ZSCSDM_OS-FIELD_NAME = ITAB_TREE_WA-NAME.
            ZSCSDM_OS-FIELD_DESC = ITAB_TREE_WA-DESC.
            " Get the FILE of the FIELD
            SPLIT ITAB_TREE_WA-TAG AT 'F' INTO TAG_1 TAG_2.
            READ TABLE ITAB_TREE INTO ITAB_TREE_WA WITH KEY TAG = TAG_1.
            ZSCSDM_OF-FILE_NAME = ITAB_TREE_WA-NAME.
            ZSCSDM_OF-FILE_DESC = ITAB_TREE_WA-DESC.
            " Get the OBJECT of the FILE
            SPLIT ITAB_TREE_WA-TAG AT 'T' INTO TAG_1 TAG_2.
            READ TABLE ITAB_TREE INTO ITAB_TREE_WA WITH KEY TAG = TAG_1.
            READ TABLE ITAB_TREE INTO ITAB_TREE_WA WITH KEY UNIKEY = ITAB_TREE_WA-PARENT.
            ZSCSDM_MO-OBJECT_ID = ITAB_TREE_WA-NAME.
            ZSCSDM_MO-OBJECT_DESC = ITAB_TREE_WA-DESC.
          ENDIF.
        ENDIF.
      ENDMETHOD.                    "HANDLE_ITEM_DOUBLE_CLICK
    ENDCLASS.                    "CL_TREE IMPLEMENTATION
    PROCESSING BLOCK
    ======================================================================
    INITIALIZATION.
      PERFORM GET_MEMORY.
      ZSCSDM_OS-TG_LAST_CHGED_BY = SY-UNAME.
      ZSCSDM_OS-TG_LAST_CHGED_ON = SY-DATUM.
    START-OF-SELECTION.
      CREATE OBJECT TREE_APPLICATION.
      CALL SCREEN 9000.
    MODULE PBO_9000 OUTPUT
    MODULE PBO_9000 OUTPUT.
      IF G_TRANSFORM-PRESSED_TAB = 'TRANSFORM_FC1'.
        SET PF-STATUS 'SCREEN_9000' EXCLUDING 'SYN'.
      ELSEIF G_TRANSFORM-PRESSED_TAB = 'TRANSFORM_FC2'.
        SET PF-STATUS 'SCREEN_9000'.
      ENDIF.
      SET TITLEBAR 'RWB_TRANSFORM'.
      IF TREE IS INITIAL.
        REPID = SY-REPID.
        DYNNR = SY-DYNNR.
        PERFORM INIT_TREE.
      ENDIF.
    ENDMODULE.                    "PBO_9000 OUTPUT
    MODULE PBO_9001 OUTPUT
    MODULE PBO_9001 OUTPUT.
      IF INIT_MODE_9001 = 0. "ON FIRST LOAD
        CREATE OBJECT G_EDITOR_CONTAINER
          EXPORTING
            CONTAINER_NAME = 'REF_COND'
          EXCEPTIONS
            CNTL_ERROR = 1
            CNTL_SYSTEM_ERROR = 2
            CREATE_ERROR = 3
            LIFETIME_ERROR = 4
            LIFETIME_DYNPRO_DYNPRO_LINK = 5.
        CREATE OBJECT G_EDITOR
          EXPORTING
            PARENT = G_EDITOR_CONTAINER
            WORDWRAP_MODE =
            CL_GUI_TEXTEDIT=>WORDWRAP_OFF
              CL_GUI_TEXTEDIT=>WORDWRAP_AT_FIXED_POSITION
            CL_GUI_TEXTEDIT=>WORDWRAP_AT_WINDOWBORDER
            WORDWRAP_POSITION = G_EDITOR_LENGTH
            WORDWRAP_TO_LINEBREAK_MODE = CL_GUI_TEXTEDIT=>TRUE.
        SELECT REF_COND INTO G_EDITOR_LINE FROM ZSCSDM_REF
          WHERE OBJECT_ID = ZSCSDM_MO-OBJECT_ID AND FILE_NAME = ZSCSDM_OF-FILE_NAME
          AND FIELD_NAME = ZSCSDM_OS-FIELD_NAME AND REF_COND_TYPE = 'T'
          AND REF_CON_ID = 1.
          APPEND G_EDITOR_LINE-REF_COND TO G_EDITOR_TABLE.
        ENDSELECT.
        CALL METHOD G_EDITOR->SET_TEXT_AS_R3TABLE
          EXPORTING
            TABLE = G_EDITOR_TABLE.
        CALL METHOD CL_GUI_CFW=>FLUSH.
        REFRESH G_EDITOR_TABLE.
        SELECT COUNT(*) INTO INIT_MODE_9001 FROM ZSCSDM_OS
          WHERE OBJECT_ID = ZSCSDM_MO-OBJECT_ID AND FILE_NAME = ZSCSDM_OF-FILE_NAME
          AND FIELD_NAME = ZSCSDM_OS-FIELD_NAME AND TG_CREATED_BY <> ''.
        IF INIT_MODE_9001 = 0. "CREATE MODE
          INIT_MODE_9001 = 1.
          ZSCSDM_OS-TG_CREATED_BY = SY-UNAME.
          ZSCSDM_OS-TG_CREATED_ON = SY-DATUM.
          ZSCSDM_OS-TG_STATUS = 'A'.
          ZSCSDM_OS-TRANS_BY_DIRECT = 'X'.
        ELSE. "UPDATE MODE
          SELECT TG_CREATED_BY TG_CREATED_ON TG_LAST_CHGED_BY TG_LAST_CHGED_ON
                 TG_STATUS TRANS_BY_DIRECT TRANS_TABLE TRANS_FIELD
                 TRANS_BY_DEFAULT TRANS_DEF_VAL TRANS_BY_CONCAT
                 CONCAT_FIELD_1 CONCAT_FIELD_2 CONCAT_FIELD_3 CONCAT_FIELD_4 CONCAT_FIELD_5
                 CONCAT_FIELD_6 CONCAT_FIELD_7 CONCAT_FIELD_8 CONCAT_FIELD_9 CONCAT_FIELD_10
                 TRANS_BY_REF
            INTO (ZSCSDM_OS-TG_CREATED_BY, ZSCSDM_OS-TG_CREATED_ON,
                 ZSCSDM_OS-TG_LAST_CHGED_BY, ZSCSDM_OS-TG_LAST_CHGED_ON,
                 ZSCSDM_OS-TG_STATUS, ZSCSDM_OS-TRANS_BY_DIRECT,
                 ZSCSDM_OS-TRANS_TABLE, ZSCSDM_OS-TRANS_FIELD,
                 ZSCSDM_OS-TRANS_BY_DEFAULT, ZSCSDM_OS-TRANS_DEF_VAL,
                 ZSCSDM_OS-TRANS_BY_CONCAT, ZSCSDM_OS-CONCAT_FIELD_1,
                 ZSCSDM_OS-CONCAT_FIELD_2, ZSCSDM_OS-CONCAT_FIELD_3,
                 ZSCSDM_OS-CONCAT_FIELD_4, ZSCSDM_OS-CONCAT_FIELD_5,
                 ZSCSDM_OS-CONCAT_FIELD_6, ZSCSDM_OS-CONCAT_FIELD_7,
                 ZSCSDM_OS-CONCAT_FIELD_8, ZSCSDM_OS-CONCAT_FIELD_9,
                 ZSCSDM_OS-CONCAT_FIELD_10, ZSCSDM_OS-TRANS_BY_REF) FROM ZSCSDM_OS
            WHERE OBJECT_ID = ZSCSDM_MO-OBJECT_ID AND FILE_NAME = ZSCSDM_OF-FILE_NAME
            AND FIELD_NAME = ZSCSDM_OS-FIELD_NAME.
          ENDSELECT.
        ENDIF.
      ENDIF.
      PERFORM CHANGE_TRANSFORM_TYPE.
    ENDMODULE.                    "PBO_9001 OUTPUT
    *&SPWIZARD: OUTPUT MODULE FOR TS 'TRANSFORM'. DO NOT CHANGE THIS LINE!
    *&SPWIZARD: SETS ACTIVE TAB
    MODULE TRANSFORM_ACTIVE_TAB_SET OUTPUT.
      TRANSFORM-ACTIVETAB = G_TRANSFORM-PRESSED_TAB.
      CASE G_TRANSFORM-PRESSED_TAB.
        WHEN C_TRANSFORM-TAB1.
          G_TRANSFORM-SUBSCREEN = '9001'.
        WHEN C_TRANSFORM-TAB2.
          G_TRANSFORM-SUBSCREEN = '9002'.
        WHEN OTHERS.
    *&SPWIZARD:      DO NOTHING
      ENDCASE.
    ENDMODULE.                    "TRANSFORM_ACTIVE_TAB_SET OUTPUT
    MODULE USER_COMMAND_9000 INPUT
    MODULE USER_COMMAND_9000 INPUT.
      CASE SY-UCOMM.
          G_TRANSFORM-PRESSED_TAB = TRANSFORM-ACTIVETAB.
          " IF G_TRANSFORM-PRESSED_TAB =
        WHEN 'TRANSFORM_FC1'.
          SET PF-STATUS 'SCREEN_9000' EXCLUDING 'SYN'.
          MODIFY SCREEN.
        WHEN 'TRANSFORM_FC2'.
          SET PF-STATUS 'SCREEN_9000'.
          MODIFY SCREEN.
        WHEN 'EXIT' OR 'CANCEL'.
          LEAVE PROGRAM.
        WHEN 'BACK'.
          CLEAR SY-UCOMM.
          SAVE_STATUS = ''.
          PERFORM SET_MEMORY.
          SUBMIT ZSCSDM_RULES_ENGINE_NAV_V5.
        WHEN 'SAVE'.
          PERFORM GET_MEMORY_SAVE_STATUS.
          IF SAVE_STATUS = 'S'.
            PERFORM SET_MEMORY.
            SUBMIT ZSCSDM_RULES_ENGINE_NAV_V5.
          ELSE.
            PERFORM SET_MEMORY_SAVE_STATUS_RESET.
          ENDIF.
      ENDCASE.
    ENDMODULE.                    "USER_COMMAND_9000 INPUT
    MODULE USER_COMMAND_9001 INPUT
    MODULE USER_COMMAND_9001 INPUT.
      CASE SY-UCOMM.
        WHEN 'SAVE'.
          CLEAR SY-UCOMM.
          PERFORM CHANGE_TRANSFORM_TYPE.
          PERFORM VALIDATE_DIRECT_FIELD.
          PERFORM VALIDATE_CONCAT_FIELD.
          PERFORM SAVE_TRANSFORM_TYPE.
          SELECT FIELD_STATUS CREATED_BY CREATED_ON LAST_CHGED_BY LAST_CHGED_ON
                 COLUMN_NO KEY_FIELD SEARCH_HELP HASH_TOTAL_IND
                 VG_CREATED_BY VG_CREATED_ON VG_LAST_CHGED_BY VG_LAST_CHGED_ON
                 CHECK_DATA_TYPE DT_ERR_TEXT LN_ERR_TEXT DP_ERR_TEXT SN_ERR_TEXT
                 FIELD_DOMAIN FIELD_DATA_TYPE FIELD_LENGTH FIELD_DECIMAL
                 FIELD_NEGATIVE DOMAIN_POSS_VAL DOMAIN_ERR_TEXT
                 MAND_OPT MAND_ERR_TEXT UNIQUE_CHECK UNIQUE_ERR_TEXT
            INTO (ZSCSDM_OS-FIELD_STATUS, ZSCSDM_OS-CREATED_BY, ZSCSDM_OS-CREATED_ON,
                 ZSCSDM_OS-LAST_CHGED_BY, ZSCSDM_OS-LAST_CHGED_ON,
                 ZSCSDM_OS-COLUMN_NO, ZSCSDM_OS-KEY_FIELD,
                 ZSCSDM_OS-SEARCH_HELP, ZSCSDM_OS-HASH_TOTAL_IND,
                 ZSCSDM_OS-VG_CREATED_BY, ZSCSDM_OS-VG_CREATED_ON,
                 ZSCSDM_OS-VG_LAST_CHGED_BY, ZSCSDM_OS-VG_LAST_CHGED_ON,
                 ZSCSDM_OS-CHECK_DATA_TYPE, ZSCSDM_OS-DT_ERR_TEXT,
                 ZSCSDM_OS-LN_ERR_TEXT, ZSCSDM_OS-DP_ERR_TEXT,
                 ZSCSDM_OS-SN_ERR_TEXT, ZSCSDM_OS-FIELD_DOMAIN,
                 ZSCSDM_OS-FIELD_DATA_TYPE, ZSCSDM_OS-FIELD_LENGTH,
                 ZSCSDM_OS-FIELD_DECIMAL, ZSCSDM_OS-FIELD_NEGATIVE,
                 ZSCSDM_OS-DOMAIN_POSS_VAL, ZSCSDM_OS-DOMAIN_ERR_TEXT,
                 ZSCSDM_OS-MAND_OPT, ZSCSDM_OS-MAND_ERR_TEXT,
                 ZSCSDM_OS-UNIQUE_CHECK, ZSCSDM_OS-UNIQUE_ERR_TEXT) FROM ZSCSDM_OS
            WHERE OBJECT_ID = ZSCSDM_MO-OBJECT_ID AND FILE_NAME = ZSCSDM_OF-FILE_NAME
            AND FIELD_NAME = ZSCSDM_OS-FIELD_NAME.
          ENDSELECT.
          CALL FUNCTION 'ZSCSDM_FM_RULES_ENGINE_MODIFY'
            EXPORTING
              IN_OBJECT_ID        = ZSCSDM_MO-OBJECT_ID
              IN_FILE_NAME        = ZSCSDM_OF-FILE_NAME
              IN_FIELD_NAME       = ZSCSDM_OS-FIELD_NAME
              IN_FIELD_DESC       = ZSCSDM_OS-FIELD_DESC
              IN_FIELD_STATUS     = ZSCSDM_OS-FIELD_STATUS
              IN_CREATED_BY       = ZSCSDM_OS-CREATED_BY
              IN_CREATED_ON       = ZSCSDM_OS-CREATED_ON
              IN_LAST_CHGED_BY    = ZSCSDM_OS-LAST_CHGED_BY
              IN_LAST_CHGED_ON    = ZSCSDM_OS-LAST_CHGED_ON
              IN_COLUMN_NO        = ZSCSDM_OS-COLUMN_NO
              IN_KEY_FIELD        = ZSCSDM_OS-KEY_FIELD
              IN_SEARCH_HELP      = ZSCSDM_OS-SEARCH_HELP
              IN_HASH_TOTAL_IND   = ZSCSDM_OS-HASH_TOTAL_IND
              IN_VG_CREATED_BY    = ZSCSDM_OS-VG_CREATED_BY
              IN_VG_CREATED_ON    = ZSCSDM_OS-VG_CREATED_ON
              IN_VG_LAST_CHGED_BY = ZSCSDM_OS-VG_LAST_CHGED_BY
              IN_VG_LAST_CHGED_ON = ZSCSDM_OS-VG_LAST_CHGED_ON
              IN_CHECK_DATA_TYPE  = ZSCSDM_OS-CHECK_DATA_TYPE
              IN_DT_ERR_TEXT      = ZSCSDM_OS-DT_ERR_TEXT
              IN_LN_ERR_TEXT      = ZSCSDM_OS-LN_ERR_TEXT
              IN_DP_ERR_TEXT      = ZSCSDM_OS-DP_ERR_TEXT
              IN_SN_ERR_TEXT      = ZSCSDM_OS-SN_ERR_TEXT
              IN_FIELD_DOMAIN     = ZSCSDM_OS-FIELD_DOMAIN
              IN_FIELD_DATA_TYPE  = ZSCSDM_OS-FIELD_DATA_TYPE
              IN_FIELD_LENGTH     = ZSCSDM_OS-FIELD_LENGTH
              IN_FIELD_DECIMAL    = ZSCSDM_OS-FIELD_DECIMAL
              IN_FIELD_NEGATIVE   = ZSCSDM_OS-FIELD_NEGATIVE
              IN_DOMAIN_POSS_VAL  = ZSCSDM_OS-DOMAIN_POSS_VAL
              IN_DOMAIN_ERR_TEXT  = ZSCSDM_OS-DOMAIN_ERR_TEXT
              IN_MAND_OPT         = ZSCSDM_OS-MAND_OPT
              IN_MAND_ERR_TEXT    = ZSCSDM_OS-MAND_ERR_TEXT
              IN_UNIQUE_CHECK     = ZSCSDM_OS-UNIQUE_CHECK
              IN_UNIQUE_ERR_TEXT  = ZSCSDM_OS-UNIQUE_ERR_TEXT
              IN_TG_CREATED_BY    = ZSCSDM_OS-TG_CREATED_BY
              IN_TG_CREATED_ON    = ZSCSDM_OS-TG_CREATED_ON
              IN_TG_LAST_CHGED_BY = ZSCSDM_OS-TG_LAST_CHGED_BY
              IN_TG_LAST_CHGED_ON = ZSCSDM_OS-TG_LAST_CHGED_ON
              IN_TG_STATUS        = ZSCSDM_OS-TG_STATUS
              IN_TRANS_BY_DIRECT  = ZSCSDM_OS-TRANS_BY_DIRECT
              IN_TRANS_TABLE      = ZSCSDM_OS-TRANS_TABLE
              IN_TRANS_FIELD      = ZSCSDM_OS-TRANS_FIELD
              IN_TRANS_BY_DEFAULT = ZSCSDM_OS-TRANS_BY_DEFAULT
              IN_TRANS_DEF_VAL    = ZSCSDM_OS-TRANS_DEF_VAL
              IN_TRANS_BY_CONCAT  = ZSCSDM_OS-TRANS_BY_CONCAT
              IN_CONCAT_FIELD_1   = ZSCSDM_OS-CONCAT_FIELD_1
              IN_CONCAT_FIELD_2   = ZSCSDM_OS-CONCAT_FIELD_2
              IN_CONCAT_FIELD_3   = ZSCSDM_OS-CONCAT_FIELD_3
              IN_CONCAT_FIELD_4   = ZSCSDM_OS-CONCAT_FIELD_4
              IN_CONCAT_FIELD_5   = ZSCSDM_OS-CONCAT_FIELD_5
              IN_CONCAT_FIELD_6   = ZSCSDM_OS-CONCAT_FIELD_6
              IN_CONCAT_FIELD_7   = ZSCSDM_OS-CONCAT_FIELD_7
              IN_CONCAT_FIELD_8   = ZSCSDM_OS-CONCAT_FIELD_8
              IN_CONCAT_FIELD_9   = ZSCSDM_OS-CONCAT_FIELD_9
              IN_CONCAT_FIELD_10  = ZSCSDM_OS-CONCAT_FIELD_10
              IN_TRANS_BY_REF     = ZSCSDM_OS-TRANS_BY_REF
            IMPORTING
              OUT_RESULT          = RETURN_RESULT.
          IF RETURN_RESULT = 'SUCCESS'.
            MESSAGE S001(ZSCSDM_DMT).
            IF ZSCSDM_OS-TRANS_BY_REF = 'X'.
             NONE_BLANK_COUNTER = 0.
              INSERT_COUNTER = 1.
              DELETE FROM ZSCSDM_REF WHERE OBJECT_ID = ZSCSDM_MO-OBJECT_ID AND FILE_NAME = ZSCSDM_OF-FILE_NAME
              AND FIELD_NAME = ZSCSDM_OS-FIELD_NAME AND REF_COND_TYPE = 'T' AND
              REF_CON_ID = 1.
              CALL METHOD G_EDITOR->GET_TEXT_AS_R3TABLE
                IMPORTING
                  TABLE = G_EDITOR_CONTENTS.
             LOOP AT G_EDITOR_CONTENTS INTO NONE_BLANK_CHECK.
               IF NONE_BLANK_CHECK <> ''.
                 NONE_BLANK_COUNTER = NONE_BLANK_COUNTER + 1.
               ENDIF.
             ENDLOOP.
              CLEAR INSERT_VALUE.
              LOOP AT G_EDITOR_CONTENTS INTO INSERT_VALUE.
                IF INSERT_VALUE <> ''.
                  ZSCSDM_REF-OBJECT_ID = ZSCSDM_MO-OBJECT_ID.
                  ZSCSDM_REF-FILE_NAME = ZSCSDM_OF-FILE_NAME.
                  ZSCSDM_REF-FIELD_NAME = ZSCSDM_OS-FIELD_NAME.
                  ZSCSDM_REF-REF_COND_TYPE = 'T'.
                  ZSCSDM_REF-REF_CON_ID = 1.
                  ZSCSDM_REF-REF_COND_ROW = INSERT_COUNTER.
                  ZSCSDM_REF-CREATED_BY = ZSCSDM_OS-CREATED_BY.
                  ZSCSDM_REF-CREATED_ON = ZSCSDM_OS-VG_CREATED_ON.
                  ZSCSDM_REF-LAST_CHANGED_BY = ZSCSDM_OS-VG_LAST_CHGED_BY.
                  ZSCSDM_REF-LAST_CHANGED_ON = ZSCSDM_OS-TG_LAST_CHGED_ON.
                  ZSCSDM_REF-REF_RULE_STATUS = ZSCSDM_OS-TG_STATUS.
                  ZSCSDM_REF-NOT_EXIST_IND = ''.
                  ZSCSDM_REF-REF_COND = INSERT_VALUE.
                  ZSCSDM_REF-REF_ERR_TEXT = 'Reference Error: The reference condition did not return any results.'.
                  INSERT INTO ZSCSDM_REF VALUES ZSCSDM_REF.
                 IF INSERT_COUNTER = NONE_BLANK_COUNTER.
                   OFFSET_LEN_3AT = STRLEN( INSERT_VALUE ) - STRLEN( '@@@' ).
                   IF OFFSET_LEN_3AT >= 0.
                     IF INSERT_VALUE+OFFSET_LEN_3AT(3) NE '@@@'.
                       OFFSET_LEN_DOT = STRLEN( INSERT_VALUE ) - STRLEN( `.` ).
                       INSERT_COUNTER = INSERT_COUNTER + 1.
                       ZSCSDM_REF-OBJECT_ID = ZSCSDM_MO-OBJECT_ID.
                       ZSCSDM_REF-FILE_NAME = ZSCSDM_OF-FILE_NAME.
                       ZSCSDM_REF-FIELD_NAME = ZSCSDM_OS-FIELD_NAME.
                       ZSCSDM_REF-REF_COND_TYPE = 'T'.
                       ZSCSDM_REF-REF_CON_ID = 1.
                       ZSCSDM_REF-REF_COND_ROW = INSERT_COUNTER.
                       ZSCSDM_REF-CREATED_BY = ZSCSDM_OS-CREATED_BY.
                       ZSCSDM_REF-CREATED_ON = ZSCSDM_OS-VG_CREATED_ON.
                       ZSCSDM_REF-LAST_CHANGED_BY = ZSCSDM_OS-VG_LAST_CHGED_BY.
                       ZSCSDM_REF-LAST_CHANGED_ON = ZSCSDM_OS-TG_LAST_CHGED_ON.
                       ZSCSDM_REF-REF_RULE_STATUS = ZSCSDM_OS-TG_STATUS.
                       ZSCSDM_REF-NOT_EXIST_IND = ''.
                       ZSCSDM_REF-REF_ERR_TEXT = 'Reference Error: The reference condition did not return any results.'.
                       IF INSERT_VALUE+OFFSET_LEN_DOT(1) EQ '.'.
                         ZSCSDM_REF-REF_COND = '@@@'.
                       ELSE.
                         ZSCSDM_REF-REF_COND = '.@@@'.
                       ENDIF.
                     ENDIF.
                   ELSE.
                     OFFSET_LEN_DOT = STRLEN( INSERT_VALUE ) - STRLEN( `.` ).
                     INSERT_COUNTER = INSERT_COUNTER + 1.
                     ZSCSDM_REF-OBJECT_ID = ZSCSDM_MO-OBJECT_ID.
                     ZSCSDM_REF-FILE_NAME = ZSCSDM_OF-FILE_NAME.
                     ZSCSDM_REF-FIELD_NAME = ZSCSDM_OS-FIELD_NAME.
                     ZSCSDM_REF-REF_COND_TYPE = 'T'.
                     ZSCSDM_REF-REF_CON_ID = 1.
                     ZSCSDM_REF-REF_COND_ROW = INSERT_COUNTER.
                     ZSCSDM_REF-CREATED_BY = ZSCSDM_OS-CREATED_BY.
                     ZSCSDM_REF-CREATED_ON = ZSCSDM_OS-VG_CREATED_ON.
                     ZSCSDM_REF-LAST_CHANGED_BY = ZSCSDM_OS-VG_LAST_CHGED_BY.
                     ZSCSDM_REF-LAST_CHANGED_ON = ZSCSDM_OS-TG_LAST_CHGED_ON.
                     ZSCSDM_REF-REF_RULE_STATUS = ZSCSDM_OS-TG_STATUS.
                     ZSCSDM_REF-NOT_EXIST_IND = ''.
                     ZSCSDM_REF-REF_ERR_TEXT = 'Reference Error: The reference condition did not return any results.'.
                     IF INSERT_VALUE+OFFSET_LEN_DOT(1) EQ '.'.
                       ZSCSDM_REF-REF_COND = '@@@'.
                     ELSE.
                       ZSCSDM_REF-REF_COND = '.@@@'.
                     ENDIF.
                   ENDIF.
                   INSERT INTO ZSCSDM_REF VALUES ZSCSDM_REF.
                 ENDIF.
                  INSERT_COUNTER = INSERT_COUNTER + 1.
                ENDIF.
              ENDLOOP.
            ELSE.
              DELETE FROM ZSCSDM_REF WHERE OBJECT_ID = ZSCSDM_MO-OBJECT_ID AND FILE_NAME = ZSCSDM_OF-FILE_NAME
              AND FIELD_NAME = ZSCSDM_OS-FIELD_NAME AND REF_COND_TYPE = 'T' AND
              REF_CON_ID = 1.
            ENDIF.
            SAVE_STATUS = 'S'.
            PERFORM SET_MEMORY_SAVE_STATUS.
            SAVE_STATUS = ''.
          ELSE.
            SAVE_STATUS = 'F'.
            PERFORM SET_MEMORY_SAVE_STATUS.
            SAVE_STATUS = ''.
            MESSAGE E101(ZSCSDM_DMT).
          ENDIF.
      ENDCASE.
    ENDMODULE.                    "USER_COMMAND_9001 INPUT
    *&SPWIZARD: INPUT MODULE FOR TS 'TRANSFORM'. DO NOT CHANGE THIS LINE!
    *&SPWIZARD: GETS ACTIVE TAB
    MODULE TRANSFORM_ACTIVE_TAB_GET INPUT.
      OK_CODE = SY-UCOMM.
      CASE OK_CODE.
        WHEN C_TRANSFORM-TAB1.
          G_TRANSFORM-PRESSED_TAB = C_TRANSFORM-TAB1.
        WHEN C_TRANSFORM-TAB2.
          G_TRANSFORM-PRESSED_TAB = C_TRANSFORM-TAB2.
        WHEN OTHERS.
    *&SPWIZARD:      DO NOTHING
      ENDCASE.
    ENDMODULE.                    "TRANSFORM_ACTIVE_TAB_GET INPUT
    MODULE STATUS_9002 OUTPUT
    MODULE STATUS_9002 OUTPUT.
      IF CODE_EDITOR IS INITIAL.
        CREATE OBJECT CODE_EDITOR_CONTAINER
           EXPORTING
             CONTAINER_NAME = 'GEN_CODE'
           EXCEPTIONS
             CNTL_ERROR = 1
             CNTL_SYSTEM_ERROR = 2
             CREATE_ERROR = 3
             LIFETIME_ERROR = 4
             LIFETIME_DYNPRO_DYNPRO_LINK = 5.
        CREATE OBJECT CODE_EDITOR
          EXPORTING
            PARENT = CODE_EDITOR_CONTAINER
            WORDWRAP_MODE =
            CL_GUI_TEXTEDIT=>WORDWRAP_OFF
              CL_GUI_TEXTEDIT=>WORDWRAP_AT_FIXED_POSITION
            CL_GUI_TEXTEDIT=>WORDWRAP_AT_WINDOWBORDER
            WORDWRAP_POSITION = G_EDITOR_LENGTH
            WORDWRAP_TO_LINEBREAK_MODE = CL_GUI_TEXTEDIT=>TRUE.
      ENDIF.
    ENDMODULE.                    "STATUS_9002 OUTPUT
    MODULE USER_COMMAND_9002 INPUT
    MODULE USER_COMMAND_9002 INPUT.
    ENDMODULE.                    "USER_COMMAND_9002 INPUT
    MODULE F4_INPUT INPUT
    MODULE F4_INPUT INPUT.
      TYPES: BEGIN OF VALUES,
        FIELD_NAME TYPE ZSCSDM_OS-FIELD_NAME,
        FIELD_DESC TYPE ZSCSDM_OS-FIELD_DESC,
      END OF VALUES.
      DATA: PROGNAME TYPE SY-REPID, DYNNUM TYPE SY-DYNNR.
      DATA: FILENAME_A TYPE ZSCSDM_OS-FILE_NAME,
            F4_VALUES TYPE TABLE OF VALUES.
      PROGNAME = SY-REPID.
      DYNNUM   = SY-DYNNR.
      SELECT FILE_NAME INTO (FILENAME_A) FROM ZSCSDM_OF
        WHERE OBJECT_ID = ZSCSDM_MO-OBJECT_ID AND FILE_NAME_TRANS = ZSCSDM_OF-FILE_NAME.
      ENDSELECT.
      SELECT FIELD_NAME FIELD_DESC FROM ZSCSDM_OS
        INTO CORRESPONDING FIELDS OF TABLE F4_VALUES
        WHERE OBJECT_ID = ZSCSDM_MO-OBJECT_ID AND FILE_NAME = FILENAME_A
        AND FIELD_STATUS = 'A'.
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
          RETFIELD    = 'FIELD_NAME'
          DYNPPROG    = PROGNAME
          DYNPNR      = DYNNUM
          DYNPROFIELD = 'ZSCSDM_OS-TRANS_FIELD'
          VALUE_ORG   = 'S'
        TABLES
          VALUE_TAB   = F4_VALUES.
    ENDMODULE.                    "F4_INPUT INPUT
    *&      Form  GET_MEMORY
          text
    FORM GET_MEMORY.
      DATA: MEM_STR(40) TYPE C, SY_MOD(2) TYPE C.
      SY_MOD = SY-MODNO.
      CONDENSE SY_MOD NO-GAPS.
      CONCATENATE 'TraObjectID-' SY-UNAME '-' SY_MOD INTO MEM_STR.
      IMPORT ZSCSDM_MO-OBJECT_ID FROM MEMORY ID MEM_STR.
      FREE MEMORY ID MEM_STR.
      CLEAR MEM_STR.
      CONCATENATE 'TraObjectDesc-' SY-UNAME '-' SY_MOD INTO MEM_STR.
      IMPORT ZSCSDM_MO-OBJECT_DESC FROM MEMORY ID MEM_STR.
      FREE MEMORY ID MEM_STR.
      CLEAR MEM_STR.
      CONCATENATE 'TraFileName-' SY-UNAME '-' SY_MOD INTO MEM_STR.
      IMPORT ZSCSDM_OF-FILE_NAME FROM MEMORY ID MEM_STR.
      FREE MEMORY ID MEM_STR.
      CLEAR MEM_STR.
      CONCATENATE 'TraFileDesc-' SY-UNAME '-' SY_MOD INTO MEM_STR.
      IMPORT ZSCSDM_OF-FILE_DESC FROM MEMORY ID MEM_STR.
      FREE MEMORY ID MEM_STR.
      CLEAR MEM_STR.
      CONCATENATE 'TraFieldName-' SY-UNAME '-' SY_MOD INTO MEM_STR.
      IMPORT ZSCSDM_OS-FIELD_NAME FROM MEMORY ID MEM_STR.
      FREE MEMORY ID MEM_STR.
      CLEAR MEM_STR.
      CONCATENATE 'TraFieldDesc-' SY-UNAME '-' SY_MOD INTO MEM_STR.
      IMPORT ZSCSDM_OS-FIELD_DESC FROM MEMORY ID MEM_STR.
      FREE MEMORY ID MEM_STR.
      CLEAR MEM_STR.
    ENDFORM.                    "GET_MEMORY
    *&      Form  GET_MEMORY_SAVE_STATUS
          text
    FORM GET_MEMORY_SAVE_STATUS.
      DATA: MEM_STR(40) TYPE C, SY_MOD(2) TYPE C.
      DATA: CHECK_SAVE_STATUS(1) TYPE C.
      SY_MOD = SY-MODNO.
      CONDENSE SY_MOD NO-GAPS.
      CONCATENATE 'Save-' SY-UNAME '-' SY_MOD INTO MEM_STR.
      IMPORT CHECK_SAVE_STATUS FROM MEMORY ID MEM_STR.
      FREE MEMORY ID MEM_STR.
      CLEAR MEM_STR.
      SAVE_STATUS = CHECK_SAVE_STATUS.
    ENDFORM.                    "GET_MEMORY_SAVE_STATUS
    *&      Form  SET_MEMORY
          text
    FORM SET_MEMORY.
      DATA: MEM_STR(40) TYPE C, SY_MOD(2) TYPE C.
      SY_MOD = SY-MODNO.
      CONDENSE SY_MOD NO-GAPS.
      CONCATENATE 'DtlScreen-' SY-UNAME '-' SY_MOD INTO MEM_STR.
      FREE MEMORY ID MEM_STR.
      EXPORT DETAILS_SCREEN TO MEMORY ID MEM_STR.
      CLEAR MEM_STR.
      CONCATENATE 'TraObjectID1-' SY-UNAME '-' SY_MOD INTO MEM_STR.
      FREE MEMORY ID MEM_STR.
      EXPORT ZSCSDM_MO-OBJECT_ID TO MEMORY ID MEM_STR.
      CLEAR MEM_STR.
      CONCATENATE 'TraObjectDesc1-' SY-UNAME '-' SY_MOD INTO MEM_STR.
      FREE MEMORY ID MEM_STR.
      EXPORT ZSCSDM_MO-OBJECT_DESC TO MEMORY ID MEM_STR.
      CLEAR MEM_STR.
      CONCATENATE 'TraFileName1-' SY-UNAME '-' SY_MOD INTO MEM_STR.
      FREE MEMORY ID MEM_STR.
      EXPORT ZSCSDM_OF-FILE_NAME TO MEMORY ID MEM_STR.
      CLEAR MEM_STR.
      CONCATENATE 'TraFileDesc1-' SY-UNAME '-' SY_MOD INTO MEM_STR.
      FREE MEMORY ID MEM_STR.
      EXPORT ZSCSDM_OF-FILE_DESC TO MEMORY ID MEM_STR.
      CLEAR MEM_STR.
      CONCATENATE 'TraFieldName1-' SY-UNAME '-' SY_MOD INTO MEM_STR.
      FREE MEMORY ID MEM_STR.
      EXPORT ZSCSDM_OS-FIELD_NAME TO MEMORY ID MEM_STR.
      CLEAR MEM_STR.
      CONCATENATE 'TraFieldDesc1-' SY-UNAME '-' SY_MOD INTO MEM_STR.
      FREE MEMORY ID MEM_STR.
      EXPORT ZSCSDM_OS-FIELD_DESC TO MEMORY ID MEM_STR.
      CLEAR MEM_STR.
    ENDFORM.                    "SET_MEMORY
    *&      Form  SET_MEMORY_SAVE_STATUS
          text
    FORM SET_MEMORY_SAVE_STATUS.
      DATA: MEM_STR(40) TYPE C, SY_MOD(2) TYPE C.
      DATA: CHECK_SAVE_STATUS(1) TYPE C.
      SY_MOD = SY-MODNO.
      CONDENSE SY_MOD NO-GAPS.
      CONCATENATE 'Save-' SY-UNAME '-' SY_MOD INTO MEM_STR.
      IMPORT CHECK_SAVE_STATUS FROM MEMORY ID MEM_STR.
      IF CHECK_SAVE_STATUS <> 'F'.
        FREE MEMORY ID MEM_STR.
        CHECK_SAVE_STATUS = SAVE_STATUS.
        EXPORT CHECK_SAVE_STATUS TO MEMORY ID MEM_STR.
      ENDIF.
      CLEAR MEM_STR.
    ENDFORM.                    "SET_MEMORY_SAVE_STATUS
    *&      Form  SET_MEMORY_SAVE_STATUS_RESET
          text
    FORM SET_MEMORY_SAVE_STATUS_RESET.
      DATA: MEM_STR(40) TYPE C, SY_MOD(2) TYPE C.
      DATA: CHECK_SAVE_STATUS(1) TYPE C.
      SY_MOD = SY-MODNO.
      CONDENSE SY_MOD NO-GAPS.
      CONCATENATE 'Save-' SY-UNAME '-' SY_MOD INTO MEM_STR.
      FREE MEMORY ID MEM_STR.
      CHECK_SAVE_STATUS = ''.
      EXPORT CHECK_SAVE_STATUS TO MEMORY ID MEM_STR.
      CLEAR MEM_STR.
    ENDFORM.                    "SET_MEMORY_SAVE_STATUS_RESET
    *&      Form  CHANGE_TRANSFORM_TYPE
          text
    FORM CHANGE_TRANSFORM_TYPE.
      IF ZSCSDM_OS-TRANS_BY_DIRECT = 'X'.
        LOOP AT SCREEN.
          IF SCREEN-NAME = 'ZSCSDM_OS-TRANS_FIELD'.
            SCREEN-INPUT = '1'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-TRANS_DEF_VAL'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_1'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_2'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_3'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_4'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_5'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_6'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_7'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_8'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_9'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_10'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ENDIF.
        ENDLOOP.
        CALL METHOD G_EDITOR->SET_READONLY_MODE
          EXPORTING
            READONLY_MODE = CL_GUI_TEXTEDIT=>TRUE.
        SET CURSOR FIELD 'ZSCSDM_OS-TRANS_FIELD'.
      ELSEIF ZSCSDM_OS-TRANS_BY_DEFAULT = 'X'.
        LOOP AT SCREEN.
          IF SCREEN-NAME = 'ZSCSDM_OS-TRANS_FIELD'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-TRANS_DEF_VAL'.
            SCREEN-INPUT = '1'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_1'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_2'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_3'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_4'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_5'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_6'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_7'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_8'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_9'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_10'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ENDIF.
        ENDLOOP.
        CALL METHOD G_EDITOR->SET_READONLY_MODE
          EXPORTING
            READONLY_MODE = CL_GUI_TEXTEDIT=>TRUE.
        SET CURSOR FIELD 'ZSCSDM_OS-TRANS_DEF_VAL'.
      ELSEIF ZSCSDM_OS-TRANS_BY_CONCAT = 'X'.
        LOOP AT SCREEN.
          IF SCREEN-NAME = 'ZSCSDM_OS-TRANS_FIELD'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-TRANS_DEF_VAL'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_1'.
            SCREEN-INPUT = '1'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_2'.
            SCREEN-INPUT = '1'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_3'.
            SCREEN-INPUT = '1'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_4'.
            SCREEN-INPUT = '1'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_5'.
            SCREEN-INPUT = '1'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_6'.
            SCREEN-INPUT = '1'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_7'.
            SCREEN-INPUT = '1'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_8'.
            SCREEN-INPUT = '1'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_9'.
            SCREEN-INPUT = '1'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_10'.
            SCREEN-INPUT = '1'.
            MODIFY SCREEN.
          ENDIF.
        ENDLOOP.
        CALL METHOD G_EDITOR->SET_READONLY_MODE
          EXPORTING
            READONLY_MODE = CL_GUI_TEXTEDIT=>TRUE.
        SET CURSOR FIELD 'ZSCSDM_OS-CONCAT_FIELD_1'.
      ELSEIF ZSCSDM_OS-TRANS_BY_REF = 'X'.
        LOOP AT SCREEN.
          IF SCREEN-NAME = 'ZSCSDM_OS-TRANS_FIELD'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-TRANS_DEF_VAL'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_1'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_2'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_3'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_4'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_5'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_6'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_7'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_8'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_9'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_10'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ENDIF.
        ENDLOOP.
        CALL METHOD G_EDITOR->SET_READONLY_MODE
          EXPORTING
            READO

    Hello Swathi
    I have never used method SET_USER_COMMAND (cl_gui_alv_grid) before so I do not really know its function.
    However, you event handler FORM routine belongs to the old-fashioned fm-based ALV lists (e.g. REUSE_ALV_GRID_DISPLAY_LVC) so I doubt whether this will work together.
    If you have define a column as HOTSPOT then this trigger the class event HOTSPOT_CLICK.
    Correspondingly a double-click on the ALV grid triggers event DOUBLE_CLICK.
    For a sample report regarding ALV event handling have a look at the links provided in
    2 ALVS IN ONE SCREEN
    Regards
      Uwe

Maybe you are looking for