Self imposing modifier keys across all CS5 programs

So, I started having this strange problem yesterday, and am at a loss.  Started out in Illustrator.  Basically, whenever I try to move an object with either selection tool, it would duplicate the object as though the alt/option key was being pressed.  SInce this only happened in CS5, I suspected the key wasn't stuck, and OSX's keyboard viewer confirms this.
I've since tried deleting all the preferences I could find, reinstalling, and doing both together.  No luck.
Now more recently, it's acted as though it was the shift key being pressed, and keeps switching back and forth on which one it thinks is being pressed. The problem is sporadic as well.  If I restart the computer, it will vanish temporarily, but inevitably come back.
I'm stumped.  Please help!

Thanks, Todd... this is nothing short of the perfect solution.
It would have been so easy for the simpletons on chat to provide
this link instead of running their standard 'stall and deflect' script.
Chat excerpts:
Syed:
"I am sorry. The download for older product is unavailable."
Vallabh:
"...since warehouse and server space is limited, we only stock
current version products in warehouse and on our servers."
Vallabh: "...you will get the email form our senior support level. If not,
You may contact us back on chat with the customer ID so we may
check on the status of the request."
I have never heard anything back from anyone... surprise!
Thanks, again.

Similar Messages

  • Feature Request: Consistently Intelligent Font Lists across all CS Program

    Current Problems/Inconsistencies in Font Lists + Suggested Solutions:
    NUMBER OF FONTS SIMULTANEOUSLY DISPLAYED:
    Premiere Pro (PP): 16 (too few!)
    AE: 19 (too few!)
    Photoshop: 40 (adequate)
    Illustrator: auto-maximizing (displays as many fonts as screen supports, 50 on a 1920x1080 monitor)
    *SOLUTION: Make all font lists auto-maximizing like Illustrator!
    FONT PREVIEWS:
    PP: Yes (6 user-defined characters previewed next to font names)
    AE: No previews
    Photoshop: Yes ('Sample' displayed in each font, but too small for comfortable viewing)
    Illustrator: Yes (Each font name is displayed in actual font, but this makes it inconvenient to know the name of 'Dingbat' fonts.)
    *SOLUTION: Make all font lists display font names in left column, with 'Sample' displayed in the actual fonts to the right.  When users select any text, replace 'Sample' with the first 1-30 selected characters for instant previewing in all available fonts (e.g. selecting the '&' character would display '&' in all available fonts for instant comparison). Also make font lists resizable with a horizontal zoom bar at top of list to ensure comfortable viewing for everyone.
    SCROLL BAR:
    PP & AE: Yes
    Photoshop: Yes (perfect size and color scheme for best visibility)
    Illustrator: No (current scrolling method is frustratingly slow!)
    *SOLUTION: Add a Photoshop style scroll bar to each font list for best visibility/usability.
    FONT SELECTING WITH ARROW KEYS:
    PP & AE: Yes, by arrow-keying up/down in both the font fields and font lists
    Photoshop & Illustrator: Only from the font fields. Highlighting fonts with the arrow keys in the font lists doesn't result in font visualizing.
    *SOLUTION: Allow PREVIEWING of fonts by arrow-keying up/down in font fields and font lists in all CS programs.  I emphasize 'previewing' instead of 'selecting', since previewing fonts avoids the problem of unnecessary undos being created for each font visualized with the arrow keys. (Note: Arrow-scrolling through the font field in Photoshop's Options bar works as I suggest, by 'previewing' each font without creating unnecessary undos.  Unfortunately, arrow-scrolling through the font field in Photoshop's Character panel does create useless "Set Character Style" History states for every visualized font.  This kind of inconsistency even within a single program is crazy!)
    CONCLUSION:
    CS programs are all part of the same family, and should therefore behave as such with consistently intelligent tools.  This includes font lists with a consistently intelligent design.
    Please comment and share!  Let's get these glaring font list inconsistencies finally fixed!

    If you want to do this correctly you need to file a request for each feature.
    Ripple Sequence and Chapter Markers is already implemented. Sequence markers are the same as chapter markers, yes? (Ripple Sequence Markers, select Marker > Ripple Sequence Markers.)
    Ability to print the Keyboard Shortcuts, or save all of them as a text file. also available. (hold ctrl+shift while opening. A button with clipboard appears)
    Keyboard shortcuts to scale image zoom in Source and Program tabs. available
    Keyboard shortcuts to increase or decrease playback resolution. available
    Make Export and Title windows return to the previously adjusted size and placement. They do.
    Some feature you posted are great. How about a eyedropper tool for the Color Matte?
    I find the Magnet for Snap quite visible. There is also this feature in the Pref to make the playhead snap.

  • Database connection not working across all Adobe programs

    I have a PDF form connected to an Access database via ODBC. On the form, I created a button that, when clicked, takes the data in the PDF and adds it to the database. The scripts for that action and the connection was established in LiveCycle Designer. I opened the PDF in Acrobat Pro and enabled Usage Rights for Reader (overwriting the file in the process). Here's what I find odd. The button works fine in Acrobat Pro, but when I open the PDF in Reader and try the button, it gives me an error saying that the accessor 'xfa.sourceSet.DataConnection.open();' is unknown. Why on earth would Adobe recognize the connection in Acrobat but not in Reader? That doesn't make sense to me, especially since I did enable the usage rights.

    I do not see where this permission is given in the enablement of Acrobat Professional Forms. What I see is the following:
    - Save form data
    - Commenting and drawing mark-up tools
    - Sign an existing signature field
    - Digitally sign the documen anywher on the page (only supported in Adobe Reader 8.0)
    I do not see connect to a database anywhere.
    Sabian

  • Confused about Color Management in CS5 (Photos appearing differently in all other programs)

    I recently noticed this and it's been driving me crazy; when I view photos in Photoshop CS5 they appear significantly lighter/more washed out than when viewed in other programs like Zoombrowser, Digital Photo Professional or just in a regular Windows folder using Filmstrip mode (Windows XP).  When opening the same photo in both CS5 and Zoombrowser and switching back and forth between the two windows the difference is very apparent...for example, one of the photos I compared was of a person in a black shirt -- in CS5 (lighter/washed out) the folds in the shirt were very obvious, but in Zoombrowser (darker, more contrast/saturation) the folds were nearly invisible and it looked like just solid black.  Now, after messing around with the settings in both Photoshop and in Zoombrowser I've found a few ways to get the photos to look the same in the two programs; one way gives them both the lighter/more washed out appearance and another way gives them both the darker appearance with more contrast and saturation.  My problem is that I'm not sure which view is accurate.
    I use a NEC MultiSync LCD1990SXi monitor with SpectraView II calibration software and calibrate it every 2 weeks using these calibration settings (screenshot): http://img52.imageshack.us/img52/8826/settingsx.jpg
    In the SpectraView II Software under Preferences there's an option that says "Set as Windows Color Management System Monitor Profile - Automatically selects and associates the generated ICC monitor profile with the Color Management System (CMS)."  This option is checked.  Also, when I open the Windows' Color Management window there's only one option displayed, which is "LCD1990SXi #######" (the ####### represents my monitor's serial number).
    I assume the above settings are all correct so far, but I'm not sure about the rest.
    Here are my current default Color Settings in CS5 (screenshot): http://img97.imageshack.us/img97/666/photoshopcolorsettings.jpg
    Changing these settings around doesn't seem to make the photo appear much different.  However, when I go to Edit -> Assign Profile, then click off of "Working RGB: sRGB IEC61966-2.1" and instead click Profile and select "LCD1990SXi ####### 2011-06-21 18-30 D65 2.20" from the drop-down menu, the picture becomes darker with more contrast and saturation and matches the picture in Zoombrowser.  Also, if I select "Adobe RGB (1998)" from the drop-down menu it's very similar in terms of increased darkness and contrast but the saturation is higher than with the LCD1990SXi setting.  Another way I've found to make the image equally dark with increased contrast and saturation is to go to View -> Proof Setup -> Custom and then click the drop-down menu next to "Device to Simulate" and select "LCD1990SXi ####### 2011-06-21 18-30 D65 2.20" again.
    Alternatively, to make both images equally light and washed out I can go to Zoombrowser -> Tools -> Preferences and check the box next to "Color Management: Adjust colors of images using monitor profile."  This makes the image in Zoombrowser appear just like it does in CS5 by default.
    Like I said, I'm confused as to which setting is the accurate one (I'm new to Color Management in general so I apologize for my ignorance on the subject).
    It would seem that assigning the LCD1990SXi profile in CS5 would be the correct choice in order to match the monitor calibration given the name of the profile but the "Adjust colors of images using monitor profile" option in Zoombrowser sounds like it would do the same thing as well.  Also, I've read that Photoshop is a color managed software whereas Zoombrowser and Windows Picture and Fax Viewer are not which makes me think that maybe the lighter/washed out version seen in Photoshop is correct.  So which version (light or dark) is the accurate one that I should use to view and edit my photos?  Thanks in advance for any help or info.

    Sorry for the late reply;
    But before we go there or make any assumptions, it's important for
    you to determine whether you're seeing consistent color in your
    color-managed applications and only inconsistent color in those that are
    not color-managed.  For that you'll need to do a little research to see
    if the applications in which you're seeing darker colors have
    color-management capability (and whether it is enabled).
    I opened the same picture in 7 different applications and found that the 6 of the 7 displayed the photo equally dark with equally high contrast when compared to the 7th application (CS5).  The other 6 applications were Zoombrowser EX, Digital Photo Professional, Windows Picture and Fax Viewer, Quicktime PictureViewer, Microsoft Office Picture Manager and Firefox.
    However, at least two of these programs offer color management preferences and, when used, display the photo (from what I can tell) exactly the same as Photoshop CS5's default settings.  The two programs are two Canon programs: Zoombrowser EX and Digital Photo Professional.  Here's the setting that needs to be selected in Zoombrowser in order to match up with CS5 (circled in red):
    And here's the setting in Digital Photo Professional that needs to be selected in order to match up with CS5 (again, circled in red):
    *Note: When the option above "Monitor Profile" is selected ("Use the OS settings") the image is displayed exactly the same as when the monitor profile is selected.  It's only when sRGB is selected that it goes back to the default darker, more contrasty version.
    So with the red-circled options selected, all three programs (CS5, ZB, DPP) display the images the same way; lighter and more washed out.  What I'm still having trouble understanding is if that ligher, more washed out display is the accurate one or not...I've read several tutorials for all three programs which only make things more confusing.  One of the tutorials says to always use sRGB if you want accurate results and *never* to use Monitor Profile and another says that, if you're using a calibrated monitor, you should always select Monitor Profile under the color management settings...so I'm still lost, unfortunately.
    What I also don't understand is why, when the monitor profile is selected in CS5, the image is displayed in the dark and contrasty way that the other programs display it as by default but when the monitor profile is selected in Digitial Photo Professional it displays it in the lighter, more washed out way that CS5 displays it using CS5's default settings (sRGB).  Why would selecting the monitor profile in DPP display the photo the same way as when sRGB is selected in Photoshop?  And vice versa...why would selecting the monitor profile in Photoshop display the photo the same way as when sRGB is selected in DPP?
    I feel like I'm missing something obvious here...which I probably am.  Again, I'm very new to this stuff so pardon my ignorance on the topic.
    By the way, I find that the way that the non-color managed programs (Windows Picture and Fax Viewer et al.) display the photos is more aesthetically pleasing to the eye than the duller, more washed out display that CS5 gives the photos, but ultimately what I want to see in these programs (especially PS5 where I'll be doing the editing) is the accurate representation of the actual photo itself...i.e. what it's supposed to look like and not a darker (or lighter) variant of it.
    So just to reiterate my questions:
    Why does selecting Monitor Profile under the color management settings in DPP give the same display results as the default sRGB profile in CS5 and vice versa?  (CS5 with monitor profile selected having the same display results as DPP with the sRGB profile selected)
    When using CS5 with it's default color management settings (sRGB), using DPP with the Monitor Profile selected, and using Zoombrowser EX with "Adjust color of images using monitor profile" selected this results in all three programs displaying the same lighter, washed-out images...is this lighter, more washed-out display of the images shown in these three programs the accurate one?
    I noticed when opening an image in Firefox it had the same darker, contrasty look as the other non-color managed applications had.  Assuming that the CS5 default settings are accurate, does this mean that if I edit a photo in CS5, save it, and upload it to the internet that other people who are viewing that image online will see it differently than how it's supposed to look (i.e. in a non-color-managed way?)  If so, this would seem to indicate that they'd see a less-than-flattering version of the photo since if their browser naturally displays images as darker and more contrasty and I added more darkness and contrast to the image in CS5, they'd be seeing a version of the photo that's far too dark and probably wouldn't look very good.  Is this something I have to worry about as well?
    I apologize for the lengthy post; I do tend to be a bit OCD about these things...it's a habit I picked up once I realized I'd been improperly editing photos on an  incorrectly calibrated monitor for years and all that time and effort had been spent editing photos in a certain way that looked good on my incorrectly calibrated monitor but looked like crap on everyone else's screen, so the length and detail of this post comes from a desire to not repeat similar mistakes by editing photos the wrong way all over again.  Again, thanks in advance for all the help, it's greatly appreciated!

  • I had purchased CS5 in 2011, old computer is dead and need to re-upload all the programs from CS5.

    I am trying to download all the programs that came with my original purchase of CS5. However all I seem to be able to get is Illustrator ?
    No Flash, Dreamweaver, fireworks or others that I could swear were included as part of this CS package.help
    Any help even if it is telling me I am an idiot and CS5 did not include all those programs. It was $500 at the time

    Whatever you purchased in 2011 is what you will be able to download and install and activate.  If you purchased a Creative Suite then you need to download the Creative Suite, not individual programs.  If you don't know what you purchased, then it should be identified in your Adobe account online.  Here is a link to the download files that are available for CS5:
    CS5 - http://helpx.adobe.com/creative-suite/kb/cs5-product-downloads.html

  • 2008 Mac Pro 10.5.8 shuts down after hours of no use, Set to never shut down. Can be resumed pressing any key but all programs not in startup list need to be restarted and unsaved data lost .   New behavior.  No system changes.

    2008 Mac Pro 10.5.8 shuts down after hours of no use, Set to never shut down. Can be resumed pressing any key but all programs not in startup list need to be restarted and unsaved data lost .   New behavior.  No system changes.

    2008 Mac Pro 10.5.8 shuts down after hours of no use, Set to never shut down. Can be resumed pressing any key but all programs not in startup list need to be restarted and unsaved data lost .   New behavior.  No system changes.

  • Find all Z programs which are being modified in last month

    hii all,
    I want to find all Z programs which are being modified in last months.Is this possible??.is there any standard or z-program which can give me the detail of all Z-program which are modified.
    It is possible if i get last month Request but suppose if there are more than 100 request per month then it is not possible to go through each individual Request and find Z-programs.
      Waiting for ur reply.
    <removed_by_moderator> ... read [the rules|https://www.sdn.sap.com/irj/sdn/wiki?path=/display/home/rulesofEngagement]!
    Thaking You.
    Edited by: Julius Bussche on Jul 17, 2008 7:16 PM

    Hello
    REPORT ZCHPROG.
    TABLES: D010SINF.
    DATA: PROGTXT(72) TYPE C OCCURS 0 WITH HEADER LINE.
    DATA: PROGTXT1(72) TYPE C OCCURS 0 WITH HEADER LINE.
    DATA:
       BEGIN OF MT OCCURS 0,
    PROG LIKE D010SINF-PROG,
    EDTX LIKE D010SINF-EDTX,
    R3STATE LIKE D010SINF-R3STATE,
    UNAM LIKE D010SINF-UNAM,
    CNAM LIKE D010SINF-CNAM,
    UDAT LIKE D010SINF-UDAT,
    UTIME LIKE D010SINF-UTIME,
    END OF MT,
    N(4),
    PROG(20) TYPE C,
    MIN(10) TYPE C.
    RANGES: UDAT1 FOR D010SINF-UDAT.
    RANGES: UTIME1 FOR D010SINF-UTIME.
    SELECT-OPTIONS: PROG1 FOR D010SINF-PROG,      "
                    UNAM1 FOR D010SINF-UNAM,      "
                    CNAM1 FOR D010SINF-CNAM.      "
    PARAMETERS DEN(4) TYPE C DEFAULT '1'.
    PARAMETERS SEC(5) TYPE C DEFAULT '30'.
    PARAMETERS DOP AS CHECKBOX DEFAULT ' '.
    START-OF-SELECTION.
    IF DOP NE SPACE.
    MIN = SEC * 60.
          UTIME1-SIGN = 'I'.
          UTIME1-OPTION = 'BT'.
          UTIME1-LOW = SY-UZEIT - MIN.
          UTIME1-HIGH = SY-UZEIT.
       APPEND UTIME1.
    ENDIF.
          UDAT1-SIGN = 'I'.
          UDAT1-OPTION = 'BT'.
          UDAT1-LOW = SY-DATUM - DEN.
          UDAT1-HIGH = SY-DATUM.
       APPEND UDAT1.
    SELECT PROG UNAM UDAT UTIME R3STATE EDTX CNAM
    INTO (MT-PROG, MT-UNAM, MT-UDAT, MT-UTIME, MT-R3STATE, MT-EDTX,MT-CNAM )
             FROM D010SINF  WHERE PROG IN PROG1
                                         AND UDAT IN UDAT1
                                         AND UTIME IN UTIME1
                                         AND CNAM IN CNAM1
                                         AND UNAM IN UNAM1.
    APPEND MT.
    ENDSELECT.
    N = 1.
    WRITE: / 'from', UDAT1-LOW, 'to', UDAT1-HIGH.
    SORT MT BY UNAM UDAT UTIME.
    LOOP AT MT.
    WRITE: / MT-CNAM,MT-PROG,MT-UNAM,MT-UDAT, MT-UTIME,
    MT-R3STATE, MT-EDTX.
    N = N + 1.
    ENDLOOP.
    WRITE: / N.

  • Z program to download all Z programs

    HI All!
    I herad that there is sample program which downloads all z programs in SAP and writes it onto PS into individual word documents.I mean it stores all z programs on a system which will be useful for one who moves onto the next project as a backup.
    Can anyone give me that sample code please..
    Regards
    Pavan

    Hi Pavan,
    Take this code the,. This is from http://www.dalestech.com/. It downloads everything. Programs, Tables, Screen Elements,  Function Modules....... Explore the options further.
    PROGRAM zdown.
    *=======================================================================
    *=================================
    Direct Download Enterprise version 1.2.
    THIS SOFTWARE IS FOR PERSONAL USE ONLY.
    THIS PROGRAM IS FREEWARE AND IS PROVIDED ON AN AS-IS BASIS WITHOUT
    *WARRANTY OF ANY KIND.
    THE PROVIDER SPECIFICALLY DISCLAIMS ANY OTHER WARRANTY, EXPRESS OR
    *IMPLIED, INCLUDING ANY WARRANTY OF
    MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
    IN NO EVENT SHALL PROVIDER BE LIABLE FOR ANY CONSEQUENTIAL,
    PROGRAM DESCRIPTION & USE
    Allows a user to download programs, Functions, DD definitions, etc
    *to the presentation server.  This
    version searches recursively for nested includes and function
    *modules, and allows you to download
    the resulting code as standard text or HTML web pages within a
    *suitable directory structure.
    You can either search by object name, using wildcards if you wish,
    *or a combination of Author and
    object name.  If you want all objects returned for a particular
    *author then select the author name
    and choose the most suitable radiobutton.  All objects will be
    *returned if the fields to the right
    hand side of the radiobutton are left completely blank.
    Compatible with R/3 Enterprise only, for older versions of SAP you
    *will need Direct Download version 5.xx.
    This version removes the programming limitations imposed by
    *developing across SAP releases 3 to 4.6.
    This program is intended to allow a person to keep a visual
    *representation of a program for backup
    purposes only as has not been designed to allow programs to be
    *uploaded to SAP systems.
    AUTHOR          : E.G.Mellodew
    PROGRAM CONTACT : [email protected]
                      www.dalestech.com
    Types
    text element structure
    TYPES: ttexttable LIKE textpool.
    GUI titles
    TYPES: tguititle LIKE d347t.
    Message classes
    TYPES: BEGIN OF tmessage,
             arbgb LIKE t100-arbgb,
             stext LIKE t100a-stext,
             msgnr LIKE t100-msgnr,
             text  LIKE t100-text,
           END OF tmessage.
    Screen flow.
    TYPES: BEGIN OF tscreenflow,
             screen LIKE d020s-dnum,
             code LIKE d022s-line,
           END OF tscreenflow.
    Holds a tablestructure definition
    TYPES: BEGIN OF tdicttablestructure,
             fieldname LIKE dd03l-fieldname,
             position  LIKE dd03l-position,
             keyflag   LIKE dd03l-keyflag,
             rollname  LIKE dd03l-rollname,
             domname   LIKE dd03l-domname,
             datatype  LIKE dd03l-datatype,
             leng      LIKE dd03l-leng,
             ddtext    LIKE dd04t-ddtext,
           END OF tdicttablestructure.
    Holds a tables attributes + its definition
    TYPES: BEGIN OF tdicttable,
             tablename    LIKE dd03l-tabname,
             tabletitle   LIKE dd02t-ddtext,
             istructure TYPE tdicttablestructure OCCURS 0,
           END OF tdicttable.
    Include program names
    TYPES: BEGIN OF tinclude,
             includename LIKE trdir-name,
             includetitle LIKE tftit-stext,
           END OF tinclude.
    Method
    TYPES: BEGIN OF tmethod,
             cmpname LIKE vseomethod-cmpname,
             descript LIKE vseomethod-descript,
             exposure LIKE vseomethod-exposure,
             methodkey TYPE string,
           END OF tmethod.
    Class
    TYPES: BEGIN OF tclass,
             scanned(1),
             clsname LIKE vseoclass-clsname,
             descript LIKE vseoclass-descript,
             msg_id LIKE vseoclass-msg_id,
             exposure LIKE vseoclass-exposure,
             state LIKE vseoclass-state,
             clsfinal LIKE vseoclass-clsfinal,
             r3release LIKE vseoclass-r3release,
             imethods TYPE tmethod OCCURS 0,
             idictstruct TYPE tdicttable OCCURS 0,
             itextelements TYPE ttexttable OCCURS 0,
             imessages TYPE tmessage OCCURS 0,
             textelementkey TYPE string,
             publicclasskey TYPE string,
             privateclasskey TYPE string,
             protectedclasskey TYPE string,
             typesclasskey TYPE string,
             exceptionclass TYPE i,
           END OF tclass.
    function modules
    TYPES: BEGIN OF tfunction,
             functionname LIKE tfdir-funcname,
             functiongroup LIKE enlfdir-area,
             includenumber LIKE tfdir-include,
             functionmaininclude LIKE tfdir-funcname,
             functiontitle LIKE tftit-stext,
             topincludename LIKE tfdir-funcname,
             progname LIKE tfdir-pname,
             programlinkname LIKE tfdir-pname,
             messageclass LIKE t100-arbgb,
             itextelements TYPE ttexttable OCCURS 0,
             iselectiontexts TYPE ttexttable OCCURS 0,
             imessages TYPE tmessage OCCURS 0,
             iincludes TYPE tinclude OCCURS 0,
             idictstruct TYPE tdicttable OCCURS 0,
             iguititle TYPE tguititle OCCURS 0,
             iscreenflow TYPE tscreenflow OCCURS 0,
           END OF tfunction.
    TYPES: BEGIN OF tprogram,
             progname LIKE trdir-name,
             programtitle LIKE tftit-stext,
             subc LIKE trdir-subc,
             messageclass LIKE t100-arbgb,
             imessages TYPE tmessage OCCURS 0,
             itextelements TYPE ttexttable OCCURS 0,
             iselectiontexts TYPE ttexttable OCCURS 0,
             iguititle TYPE tguititle OCCURS 0,
             iscreenflow TYPE tscreenflow OCCURS 0,
             iincludes TYPE tinclude OCCURS 0,
             idictstruct TYPE tdicttable OCCURS 0,
           END OF tprogram.
    Internal tables
    Dictionary object
    DATA: idictionary TYPE STANDARD TABLE OF tdicttable WITH HEADER LINE.
    Function modules.
    DATA: ifunctions TYPE STANDARD TABLE OF tfunction WITH HEADER LINE.
    Tree display structure.
    DATA: itreedisplay TYPE STANDARD TABLE OF snodetext WITH HEADER LINE.
    Message class data
    DATA: imessages TYPE STANDARD TABLE OF tmessage WITH HEADER LINE.
    Holds a single message class an all of its messages
    DATA: isinglemessageclass TYPE STANDARD TABLE OF tmessage WITH HEADER
    LINE.
    Holds program related data
    DATA: iprograms TYPE STANDARD TABLE OF tprogram WITH HEADER LINE.
    Classes
    DATA: iclasses TYPE STANDARD TABLE OF tclass WITH HEADER LINE.
    Table prototypes
    DATA: dumidictstructure TYPE STANDARD TABLE OF tdicttablestructure.
    DATA: dumitexttab TYPE STANDARD TABLE OF ttexttable.
    DATA: dumiincludes TYPE STANDARD TABLE OF tinclude.
    DATA: dumihtml TYPE STANDARD TABLE OF string.
    DATA: dumiheader TYPE STANDARD TABLE OF string .
    DATA: dumiscreen TYPE STANDARD TABLE OF tscreenflow .
    DATA: dumiguititle TYPE STANDARD TABLE OF tguititle.
    DATA: dumimethods TYPE STANDARD TABLE OF tmethod.
      Global objects
    DATA: objfile TYPE REF TO cl_gui_frontend_services.
    DATA: objruntimeerror TYPE REF TO cx_root.
    Constants
    CONSTANTS: versionno TYPE string VALUE '1.2'.
    CONSTANTS: tables TYPE string VALUE 'TABLES'.
    CONSTANTS: like TYPE string VALUE 'LIKE'.
    CONSTANTS: type TYPE string VALUE 'TYPE'.
    CONSTANTS: typerefto TYPE string VALUE 'TYPE REF TO'.
    CONSTANTS: structure TYPE string VALUE 'STRUCTURE'.
    CONSTANTS: lowstructure TYPE string VALUE 'structure'.
    CONSTANTS: occurs TYPE string VALUE 'OCCURS'.
    CONSTANTS: function TYPE string VALUE 'FUNCTION'.
    CONSTANTS: callfunction TYPE string VALUE ' CALL FUNCTION'.
    CONSTANTS: message TYPE string  VALUE 'MESSAGE'.
    CONSTANTS: include TYPE string VALUE 'INCLUDE'.
    CONSTANTS: lowinclude TYPE string VALUE 'include'.
    CONSTANTS: destination TYPE string VALUE 'DESTINATION'.
    CONSTANTS: is_table TYPE string VALUE 'T'.
    CONSTANTS: is_program TYPE string VALUE 'P'.
    CONSTANTS: is_screen TYPE string VALUE 'S'.
    CONSTANTS: is_guititle TYPE string VALUE 'G'.
    CONSTANTS: is_documentation TYPE string VALUE 'D'.
    CONSTANTS: is_messageclass TYPE string VALUE 'MC'.
    CONSTANTS: is_function TYPE string VALUE 'F'.
    CONSTANTS: is_class TYPE string VALUE 'C'.
    CONSTANTS: is_method TYPE string VALUE 'M'.
    CONSTANTS: asterix TYPE string VALUE '*'.
    CONSTANTS: comma TYPE string VALUE ','.
    CONSTANTS: period TYPE string VALUE '.'.
    CONSTANTS: dash TYPE string VALUE '-'.
    CONSTANTS: true TYPE i VALUE 1.
    CONSTANTS: false TYPE i VALUE 0.
    CONSTANTS: lt TYPE string VALUE '<'.
    CONSTANTS: gt TYPE string VALUE '>'.
    CONSTANTS: unix TYPE string VALUE 'UNIX'.
    CONSTANTS: non_unix TYPE string VALUE 'not UNIX'.
    CONSTANTS: background_colour TYPE string VALUE '#FFFFE0'.
    CONSTANTS: colour_white TYPE string VALUE '#FFFFFF'.
    CONSTANTS: colour_black TYPE string VALUE '#000000'.
    CONSTANTS: colour_yellow TYPE string VALUE '#FFFF00'.
    CONSTANTS: comment_colour TYPE string VALUE '#0000FF'.
    CONSTANTS: htmlextension TYPE string VALUE 'html'.
    CONSTANTS: textextension TYPE string VALUE 'txt'.
    Global variables
    DATA: statusbarmessage(100).
    DATA: forcedexit TYPE i VALUE 0.
    DATA: starttime LIKE sy-uzeit.
    DATA: runtime LIKE sy-uzeit.
    DATA: downloadfileextension TYPE string.
    DATA: downloadfolder TYPE string.
    DATA: slashseparator TYPE string.
    DATA: frontendopsystem TYPE string.
    DATA: customernamespace TYPE string.
    RANGES: soprogramname FOR trdir-name.
    RANGES: soauthor FOR usr02-bname.
    RANGES: sotable FOR dd02l-tabname.
    RANGES: sofunctionname  FOR tfdir-funcname.
    RANGES: soclassname FOR vseoclass-clsname.
    RANGES: sofunctiongroup FOR enlfdir-area.
    FIELD-SYMBOLS:  TYPE tdicttable.
    Selection screen declaration
    Author
    SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE tblock1.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 5(23) tauth.
    PARAMETERS: pauth LIKE usr02-bname MEMORY ID mauth.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 5(36) tpmod.
    PARAMETERS: pmod AS CHECKBOX.
    SELECTION-SCREEN END OF LINE.
    *--- Local objects
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 5(36) t$tmp.
    PARAMETERS: p$tmp AS CHECKBOX DEFAULT ''.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN: END OF BLOCK b1.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE tblock2.
    Tables
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS: rtable RADIOBUTTON GROUP r1.
    SELECTION-SCREEN COMMENT 5(20) trtable.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 10(18) tptable.
    PARAMETERS: ptable LIKE dd02l-tabname MEMORY ID mtable.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 10(79) ttnote.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 10(79) ttnote1.
    SELECTION-SCREEN END OF LINE.
    Message classes
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS: rmess RADIOBUTTON GROUP r1.
    SELECTION-SCREEN COMMENT 5(18) tpmes.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 10(18) tmname.
    PARAMETERS: pmname LIKE t100-arbgb MEMORY ID mmname.
    SELECTION-SCREEN END OF LINE.
    Function modules
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS: rfunc RADIOBUTTON GROUP r1.
    SELECTION-SCREEN COMMENT 5(30) trfunc.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 10(18) tpfname.
    PARAMETERS: pfname LIKE tfdir-funcname MEMORY ID mfname.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 10(18) tfgroup.
    PARAMETERS: pfgroup LIKE enlfdir-area MEMORY ID mfgroup.
    SELECTION-SCREEN END OF LINE.
    Classes
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS: rclass RADIOBUTTON GROUP r1.
    SELECTION-SCREEN COMMENT 5(30) trclass.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 10(18) tpcname.
    PARAMETERS: pclname LIKE seoclass-clsname MEMORY ID mcname.
    SELECTION-SCREEN END OF LINE.
    Programs / includes
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS: rprog RADIOBUTTON GROUP r1 DEFAULT 'X'.
    SELECTION-SCREEN COMMENT 5(18) tprog.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 10(18) trpname.
    PARAMETERS: pprog LIKE trdir-name MEMORY ID mprog.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN SKIP.
    Language
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(18) tmlang.
    PARAMETERS: pmlang LIKE t100-sprsl DEFAULT 'EN'.
    SELECTION-SCREEN END OF LINE.
    Package
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(18) tpack.
    PARAMETERS: ppack LIKE tadiv-devclass MEMORY ID mpack.
    SELECTION-SCREEN END OF LINE.
    Customer objects
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(27) tcust.
    PARAMETERS: pcust AS CHECKBOX DEFAULT 'X'.
    SELECTION-SCREEN COMMENT 32(25) tnrange.
    PARAMETERS: pcname TYPE namespace MEMORY ID mnamespace.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN: END OF BLOCK b2.
    Additional things to download.
    SELECTION-SCREEN: BEGIN OF BLOCK b3 WITH FRAME TITLE tblock3.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(33) tptext.
    PARAMETERS: ptext AS CHECKBOX DEFAULT 'X' MEMORY ID mtext.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(33) tmess.
    PARAMETERS: pmess AS CHECKBOX DEFAULT 'X' MEMORY ID mmess.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(33) tpinc.
    PARAMETERS: pinc AS CHECKBOX DEFAULT 'X' MEMORY ID minc.
    SELECTION-SCREEN COMMENT 40(20) trecc.
    PARAMETERS: preci AS CHECKBOX DEFAULT 'X' MEMORY ID mreci.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(33) tpfunc.
    PARAMETERS: pfunc AS CHECKBOX DEFAULT 'X' MEMORY ID mfunc.
    SELECTION-SCREEN COMMENT 40(20) trecf.
    PARAMETERS: precf AS CHECKBOX DEFAULT 'X' MEMORY ID mrecf.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(33) tdoc.
    PARAMETERS: pdoc AS CHECKBOX DEFAULT 'X' MEMORY ID mdoc.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(33) tpscr.
    PARAMETERS: pscr AS CHECKBOX DEFAULT 'X' MEMORY ID mscr.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(33) tpdict.
    PARAMETERS: pdict AS CHECKBOX DEFAULT 'X' MEMORY ID mdict.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(33) tsortt.
    PARAMETERS: psortt AS CHECKBOX DEFAULT ' ' MEMORY ID msortt.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN: END OF BLOCK b3.
    File details
    SELECTION-SCREEN: BEGIN OF BLOCK b4 WITH FRAME TITLE tblock4.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(20) tphtml.
    PARAMETERS: phtml RADIOBUTTON GROUP g1 DEFAULT 'X'.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 5(25) tcomm.
    PARAMETERS: pcomm AS CHECKBOX DEFAULT 'X'.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 5(25) tback.
    PARAMETERS: pback AS CHECKBOX DEFAULT 'X'.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(20) tptxt.
    PARAMETERS: ptxt RADIOBUTTON GROUP g1.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN SKIP.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(20) tppath.
    PARAMETERS: pfolder LIKE rlgrap-filename OBLIGATORY MEMORY ID
    mfolder.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN: END OF BLOCK b4.
    Display a directory picker window
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR pfolder.
      DATA: objfile TYPE REF TO cl_gui_frontend_services.
      DATA: pickedfolder TYPE string.
      DATA: initialfolder TYPE string.
      CREATE OBJECT objfile.
      IF NOT pfolder IS INITIAL.
        initialfolder = pfolder.
      ELSE.
        objfile->get_temp_directory( CHANGING temp_dir = initialfolder
                                     EXCEPTIONS cntl_error = 1
                                               error_no_gui = 2
                                               not_supported_by_gui = 3 ).
      ENDIF.
      objfile->directory_browse( EXPORTING initial_folder = initialfolder
                                 CHANGING selected_folder = pickedfolder
                                 EXCEPTIONS cntl_error = 1
                                            error_no_gui = 2
                                            not_supported_by_gui = 3 ).
      IF sy-subrc = 0.
        pfolder = pickedfolder.
      ELSE.
        WRITE: / 'An error has occured picking a folder'.
      ENDIF.
    initialisation
    INITIALIZATION.
    Parameter screen texts.
      tblock1 = 'Author (Optional)'.
      t$tmp   = 'Programs only: include local objects'.
      tblock2 = 'Objects to download'.
      tblock3 = 'Additional downloads for progs, func modules and classes'.
      tblock4 = 'Download parameters'.
      tauth   = 'Author name'.
      tpmod   = 'Include programs modified by author'.
      tcust   = 'Only customer objects'.
      tnrange = 'Alt customer name range'.
      trtable = 'Tables / Structures'.
      tptable = 'Table name'.
      ttnote  = 'Please note: tables are stored under the username of the'.
      ttnote1 = 'last person who modified them.'.
      trfunc  = 'Function modules'.
      tpfname = 'Function name'.
      tfgroup = 'Function group'.
      trclass  = 'Classes'.
      tpcname = 'Class name'.
      tmess   = 'Message class'.
      tmname  = 'Class name'.
      tmlang  = 'Language'.
      tprog   = 'Programs'.
      trpname = 'Program name'.
      tpack   = 'Package'.
      tptxt   = 'Text document'.
      tphtml  = 'HTML document'.
      tcomm   = 'Highlight comments'.
      tback   = 'Include background colour'.
      tptext  = 'Text elements'.
      tpinc   = 'Include programs'.
      trecc   = 'Recursive search'.
      tppath  = 'File path'.
      tpmes   = 'Message classes'.
      tpfunc  = 'Function modules'.
      tdoc    = 'Function module documentation'.
      trecf   = 'Recursive search'.
      tpscr   = 'Screens'.
      tpdict  = 'Dictionary structures'.
      tsortt  = 'Sort table fields alphabetically'.
    Determine the frontend operating system type.
      PERFORM determinefrontendopsystem USING slashseparator.
    start-of-selection.
    START-OF-SELECTION.
      PERFORM checkcomboboxes.
      PERFORM fillselectionranges.
      downloadfolder = pfolder.
      starttime = sy-uzeit.
    Fool the HTML routines to stop them hyperlinking anything with a space
    *in them
      IF pcname IS INITIAL.
        customernamespace  = '^'.
      ELSE.
        customernamespace = pcname.
      ENDIF.
    Main program flow.
      CASE 'X'.
      Select tables
        WHEN rtable.
          PERFORM retrievetables USING idictionary[]
                                       sotable[]
                                       soauthor[].
      Select message classes tables
        WHEN rmess.
          PERFORM retrievemessageclass USING imessages[]
                                   soauthor[]      "Author
                                   pmname          "Message classname
                                   pmlang          "Message classanguage
                                  pmod.           "Modified by author
      Select function modules
        WHEN rfunc.
          IF pfname+0(1) CA asterix.
          Restrict the search to customer objects only.
            pcust = 'X'.
          ENDIF.
          IF pfgroup+0(1) CA asterix.
          Restrict the search to customer objects only.
            pcust = 'X'.
          ENDIF.
          PERFORM retrievefunctions USING sofunctionname[]   "Function name
                                          sofunctiongroup[]  "Function group
                                      ifunctions[]       "Foundfunctions
                                      pauth         "Author
                                      ptext         "Get textelements
                                      pscr          "Get screens
                                      pcust         "Customer data only
                              customernamespace. "Customer name range
          LOOP AT ifunctions.
          Find Dict structures, messages, functions, includes etc.
            PERFORM scanforadditionalfuncstuff USING ifunctions[]
                                                     preci
          "Search for includes recursively
                                                     precf
          "Search for functions recursively
                                                     pinc
          "Search for includes
                                                     pfunc
          "Search for functions
                                                     pdict
          "search for dictionary objects
                                                     pmess
          "Search for messages
                                                     pcust
          "Customer data only
                                                     customernamespace.
            "Customer name range
          ENDLOOP.
      Select Classes
        WHEN rclass.
          IF pclname+0(1) CA asterix.
          Restrict the search to customer objects only.
            pcust = 'X'.
          ENDIF.
          PERFORM retrieveclasses USING iclasses[]
                                        ifunctions[]
                                        soclassname[]       "Class name
                                        soauthor[]          "Author
                               customernamespace   "Customer namerange
                                        pmod       "Also modifiedby author
                                        pcust       "Customer objectonly
                                        pmess       "Find messages
                                        ptext               "Text Elements
                                   pdict               "Dictionarystructures
                                        pfunc               "Get functions
                                        pinc                "Get includes
                 precf               "Searchrecursively for functions
                preci               "Searchrecursively for includes
                'X'                 "Searchrecursively for classes
               pmlang.             "Language
          LOOP AT ifunctions.
          Find Dict structures, messages, functions, includes etc.
            PERFORM scanforadditionalfuncstuff USING ifunctions[]
                                                     preci
          "Search for includes recursively
                                                     precf
          "Search for functions recursively
                                                     pinc
          "Search for includes
                                                     pfunc
          "Search for functions
                                                     pdict
          "search for dictionary objects
                                                     pmess
          "Search for messages
                                                     pcust
          "Customer data only
                                                     customernamespace.
            "Customer name range
          ENDLOOP.
      Select programs
        WHEN rprog.
          IF pprog+0(1) CA asterix.
          Restrict the search to customer objects only.
            pcust = 'X'.
          ENDIF.
          PERFORM retrieveprograms USING iprograms[]
                                         ifunctions[]
                                         soprogramname[]    "Program name
                                         soauthor[]         "Author
                               customernamespace  "Customer nam range
                               pmod               "Also modifiedby author
                               pcust              "Customer object only
                                         pmess              "Find messages
                                         ptext              "Text Elements
                                         pdict         "Dictionaystructures
                                         pfunc            "Get functions
                                         pinc               "Get includes
                                         pscr               "Get screens
           precf              "Search recursively for functions
           preci              "Searchrecursively for includes
                                        p$tmp              "local objects
                                         ppack.             "Package
      ENDCASE.
    end-of-selection
    END-OF-SELECTION.
      IF forcedexit = 0.
      Set the file extension and output type of the file
        IF ptxt IS INITIAL.
          downloadfileextension = htmlextension.
        ELSE.
          downloadfileextension = textextension.
        ENDIF.
      Decide what to download
        CASE 'X'.
        Download tables
          WHEN rtable.
            IF NOT ( idictionary[] IS INITIAL ).
              PERFORM downloadddstructures USING idictionary[]
                                                 pfolder
                                                 htmlextension
                                                 space
                                                 psortt.
            Free up any memory used for caching HTML versions of tables
              LOOP AT idictionary.
                FREE MEMORY ID idictionary-tablename.
              ENDLOOP.
              GET TIME.
              runtime = sy-uzeit - starttime.
              PERFORM filltreenodetables USING idictionary[]
                                               itreedisplay[]
                                               runtime.
              CLEAR idictionary[].
            ENDIF.
        Download message class
          WHEN rmess.
            IF NOT ( imessages[] IS INITIAL ).
              SORT imessages ASCENDING BY arbgb msgnr.
              LOOP AT imessages.
                APPEND imessages TO isinglemessageclass.
                AT END OF arbgb.
                  PERFORM downloadmessageclass USING isinglemessageclass[]
                                                     imessages-arbgb
                                                     pfolder
                                                     downloadfileextension
                                                     phtml
                                                     space
                                                     pcomm
                                                     customernamespace
                                                     pinc
                                                     pdict
                                                     pmess.
                  CLEAR isinglemessageclass[].
                ENDAT.
              ENDLOOP.
              GET TIME.
              runtime = sy-uzeit - starttime.
              PERFORM filltreenodemessages USING imessages[]
                                                 itreedisplay[]
                                                 runtime.
              CLEAR imessages[].
            ENDIF.
        Download functions
          WHEN rfunc.
            IF NOT ( ifunctions[] IS INITIAL ).
              PERFORM downloadfunctions USING ifunctions[]
                                              pfolder
                                              downloadfileextension
                                              space
                                              pdoc
                                              phtml
                                              pcomm
                                              customernamespace
                                              pinc
                                              pdict
                                              textextension
                                              htmlextension
                                              psortt.
            Free up any memory used for caching HTML versions of tables
              LOOP AT ifunctions.
                LOOP AT ifunctions-idictstruct ASSIGNING -tablename.
                ENDLOOP.
              ENDLOOP.
              GET TIME.
              runtime = sy-uzeit - starttime.
              PERFORM filltreenodefunctions USING ifunctions[]
                                                  itreedisplay[]
                                                  runtime.
              CLEAR ifunctions[].
            ENDIF.
        Download Classes
          WHEN rclass.
            IF NOT ( iclasses[] IS INITIAL ).
              PERFORM downloadclasses USING iclasses[]
                                            ifunctions[]
                                            pfolder
                                            downloadfileextension
                                            htmlextension
                                            textextension
                                            phtml
                                            pcomm
                                            customernamespace
                                            pinc
                                            pdict
                                            pdoc
                                            psortt.
            Free up any memory used for caching HTML versions of tables
              LOOP AT ifunctions.
                LOOP AT ifunctions-idictstruct ASSIGNING -tablename.
                ENDLOOP.
              ENDLOOP.
            Free up any memory used for caching HTML versions of tables
              LOOP AT iprograms.
                LOOP AT iprograms-idictstruct ASSIGNING -tablename.
                ENDLOOP.
              ENDLOOP.
              GET TIME.
              runtime = sy-uzeit - starttime.
              PERFORM filltreenodeclasses USING iclasses[]
                                                ifunctions[]
                                                itreedisplay[]
                                                runtime.
              CLEAR iclasses[].
              CLEAR ifunctions[].
            ENDIF.
        Download programs
          WHEN rprog.
            IF NOT ( iprograms[] IS INITIAL ).
              PERFORM downloadprograms USING iprograms[]
                                             ifunctions[]
                                             pfolder
                                             downloadfileextension
                                             htmlextension
                                             textextension
                                             phtml
                                             pcomm
                                             customernamespace
                                             pinc
                                             pdict
                                             pdoc
                                             psortt.
            Free up any memory used for caching HTML versions of tables
              LOOP AT ifunctions.
                LOOP AT ifunctions-idictstruct ASSIGNING -tablename.
                ENDLOOP.
              ENDLOOP.
            Free up any memory used for caching HTML versions of tables
              LOOP AT iprograms.
                LOOP AT iprograms-idictstruct ASSIGNING -tablename.
                ENDLOOP.
              ENDLOOP.
              GET TIME.
              runtime = sy-uzeit - starttime.
              PERFORM filltreenodeprograms USING iprograms[]
                                                 ifunctions[]
                                                 itreedisplay[]
                                                 runtime.
              CLEAR iprograms[].
              CLEAR ifunctions[].
            ENDIF.
        ENDCASE.
        IF NOT ( itreedisplay[] IS INITIAL ).
          PERFORM displaytree USING itreedisplay[].
        ELSE.
          statusbarmessage = 'No items found matching selection criteria'.
          PERFORM displaystatus USING statusbarmessage 1.
        ENDIF.
      ENDIF.
    *--- Memory IDs
    User name
      SET PARAMETER ID 'MAUTH' FIELD pauth.
    Table name
      SET PARAMETER ID 'MTABLE' FIELD ptable.
    Message class
      SET PARAMETER ID 'MMNAME' FIELD pmname.
    Function
      SET PARAMETER ID 'MFNAME' FIELD pfname.
    Function group
      SET PARAMETER ID 'MFGROUP' FIELD pfgroup.
    Class
      SET PARAMETER ID 'MCNAME' FIELD pclname.
    Program
      SET PARAMETER ID 'MPROG' FIELD pprog.
    Customer namespace
      SET PARAMETER ID 'MNAMESPACE' FIELD pcname.
    Folder
      SET PARAMETER ID 'MFOLDER' FIELD pfolder.
    Package
      SET PARAMETER ID 'MPACK' FIELD ppack.
    Text element checkbox
      SET PARAMETER ID 'MTEXT' FIELD ptext.
    Messages checkbox
      SET PARAMETER ID 'MMESS' FIELD pmess.
    Includes checkbox
      SET PARAMETER ID 'MINC' FIELD pinc.
    Recursive includes checkbox.
      SET PARAMETER ID 'MRECI' FIELD preci.
    Functions checkbox
      SET PARAMETER ID 'MFUNC' FIELD pfunc.
    Recursive functions checkbox
      SET PARAMETER ID 'MRECF' FIELD precf.
    Function module documntation checkbox
      SET PARAMETER ID 'MDOC' FIELD pdoc.
    Screens checkbox
      SET PARAMETER ID 'MSCR' FIELD pscr.
    Dictionary checkbox
      SET PARAMETER ID 'MDICT' FIELD pdict.
    Sort table ascending checkBox
      SET PARAMETER ID 'MSORTT' FIELD psortt.
    ****************************************SUBROUTINES*******************
    checkComboBoxes...  Check input parameters
    FORM checkcomboboxes.
      IF pauth IS INITIAL.
        CASE 'X'.
          WHEN rtable.
            IF ptable IS INITIAL.
              statusbarmessage = 'You must enter either a table name or author.'.
            ENDIF.
          WHEN rfunc.
            IF ( pfname IS INITIAL ) AND ( pfgroup IS INITIAL ).
              IF pfname IS INITIAL.
                statusbarmessage = 'You must enter either a function name or author.'.
              ELSE.
                IF pfgroup IS INITIAL.
                  statusbarmessage = 'Must enter either a func gp, or an author name.'.
                ENDIF.
              ENDIF.
            ENDIF.
          WHEN rprog.
            IF pprog IS INITIAL.
                statusbarmessage = 'You must enter either a program name or
    author name.'.
            ENDIF.
        ENDCASE.
    Check the user name of the person objects are to be downloaded for
      ELSE.
        IF pauth = 'SAP*' OR pauth = 'SAP'.
          statusbarmessage = 'Sorry cannot download all objects for SAP
    standard user'.
        ENDIF.
      ENDIF.
      IF NOT statusbarmessage IS INITIAL.
        PERFORM displaystatus USING statusbarmessage 3.
        forcedexit = 1.
        STOP.
      ENDIF.
    ENDFORM.                    "
    "checkComboBoxes
    fillSelectionRanges...      for selection routines
    FORM fillselectionranges.
      DATA: valuetofind TYPE string.
      IF NOT pauth IS INITIAL.
        soauthor-sign = 'I'.
        soauthor-option = 'EQ'.
        soauthor-low = pauth.
        APPEND soauthor.
      ENDIF.
      IF NOT ptable IS INITIAL.
        IF NOT pcname IS INITIAL AND NOT ptable+0(1) = '/'.
          CONCATENATE pcname ptable INTO valuetofind.
        ELSE.
          valuetofind = ptable.
        ENDIF.
        sotable-sign = 'I'.
        sotable-option = 'EQ'.
        sotable-low = valuetofind.
        APPEND sotable.
      ENDIF.
      IF NOT pfname IS INITIAL.
        IF NOT pcname IS INITIAL AND NOT pfname+0(1) = '/'.
          CONCATENATE pcname pfname INTO valuetofind.
        ELSE.
          valuetofind = pfname.
        ENDIF.
        sofunctionname-sign = 'I'.
        PERFORM addoption USING valuetofind sofunctionname-option.
        sofunctionname-low = valuetofind.
        APPEND sofunctionname.
      ENDIF.
      IF NOT pfgroup IS INITIAL.
        IF NOT pcname IS INITIAL AND NOT pfgroup+0(1) = '/'.
          CONCATENATE pcname pfgroup INTO valuetofind.
        ELSE.
          valuetofind = pfgroup.
        ENDIF.
        sofunctiongroup-sign = 'I'.
        PERFORM addoption USING valuetofind sofunctiongroup-option.
        sofunctiongroup-low = valuetofind.
        APPEND sofunctiongroup.
      ENDIF.
      IF NOT pclname IS INITIAL.
        IF NOT pcname IS INITIAL AND NOT pclname+0(1) = '/'.
          CONCATENATE pcname pclname INTO valuetofind.
        ELSE.
          valuetofind = pclname.
        ENDIF.
        soclassname-sign = 'I'.
        PERFORM addoption USING valuetofind soclassname-option.
        soclassname-low = valuetofind.
        APPEND soclassname.
      ENDIF.
      IF NOT pprog IS INITIAL.
        IF NOT pcname IS INITIAL AND NOT pprog+0(1) = '/'.
          CONCATENATE pcname pprog INTO valuetofind.
        ELSE.
          valuetofind = pprog.
        ENDIF.
        soprogramname-sign = 'I'.
        PERFORM addoption USING valuetofind soprogramname-option.
        soprogramname-low = valuetofind.
        APPEND soprogramname.
      ENDIF.
    ENDFORM.                    "
    " fillSelectionRanges
    addOption...  fills the option value of ranges
    FORM addoption USING value(valuetofind)
                               option.
      IF valuetofind CA asterix.
        option = 'CP'.
      ELSE.
        option = 'EQ'.
      ENDIF.
    ENDFORM.                    "
    "addOption
    retrieveTables...             Search for tables in dictionary

  • Using scroll wheel with modifier key to zoom out is not working

    I can't zoom out with the magnifying tool selected in all programs of the CS3 suite using the option key on a Mac. I can zoom in with no problem. I've been trying to figure this out for "8 hours" now!!!
    I do have this checked in the system preferences and Photoshop preferences. I don't think this is considered a keyboard shortcut but I do have universal access checked and zoom out checked in the system preferences.
    I searched this site and all of the internet looking for answers but can't seem to find much. I appreciate any help you can give. I'm way behind on my work today.
    Thank you!

    The default key for scrolling zoom is not Command but Control. To change this, go to System Preferences —> Universal Access and click on the Seeing tab. In the Zoom pane, click on the Options button, and in the sheet that drops down, select the text box at the bottom, highlight the character there, then press the modifier key you prefer.
    HTH
    Archie

  • How to make modifier keys lockable? (like Caps Lock for Ctrl or Alt)

    Playing around with the non-modal text editor ne, I found myself wondering if one could simulate a modal interface (like vim has) by having something like "Ctrl Lock" or "Alt Lock" (analogous to Caps Lock) and thus a "ctrl mode"/"alt mode". I would like to try this, but I am not sure how to make it happen.
    My best guess is that this could be accomplished via XKB, but its documentation looks pretty intimidating. Is anyone here proficient in XKB and could point me in the right direction?
    Other ideas:
    – Is this something that a terminal emulator could do? Is there already one that can do it?
    – Or a shell?
    – For console applications, would it be possible to have a small wrapper that did nothing but intercept keyboard input and just pass everything through to the wrapped process, except that it would take into account the desired lockable modifier key? (I am thinking of tput here, but from my first search it appears that it doesn't do this sort of thing.)

    @Trilby: Thank you for the elaborate input!
    @drcouzelis: "sticky keys" normally means that modifiers remain active only until the next keypress, while I want a way to lock them in active state for an arbitrary number of keypresses. But still, "sticky keys" was a worthwile input for the search engine.
    The program xkbset, which can be used to set XKB options on the fly, has a function that comes very close to what I desire:
    $ xkbset h
    Usage: To set or unset various options:
    xkbset <options>
    where <options> may be all or any of (the '-' switches the feature off,
    otherwise it is switched on):
    To switch sticky keys on or off, and optionally set or reset:
    () two keys pressed at the same time stops sticky keys;
    () a modifier pressed twice will be locked:
    [-]{sticky|st} [[-]twokey|[-]latchlock]...
    I cannot select specific modiers to be affected with xkbset, but that would be fine with me. Sadly, it didn't completely work for me:
    – It doesn't affect Alt at all for me.
    – The effect seems to go away as soon as I change the window. (Maybe I need to invoke xkbset from .xinitrc for its effects to persist throughout the session? I will try that.)
    So I went on and tried to configure XKB manually. I got up to a certain point without studying the documentation in-depth, but now I have landed on an error message that seems to suggest to me that I would have to get to a better understanding about the layout files before I could understand it. Here is what I did:
    1. Got my current XKB configuration:
    xkbcomp :0 output.xkb
    2. Editet output.xkb to include the following at the end of the xkb_compatibility section:
    //Hoping this makes the ^-key into a Ctrl-Lock key:
    interpret TLDE {
    action= LockMods(modifiers=Control);
    3. Then I recompiled the configuration back into the running X server:
    $ xkbcomp out.xkb :0
    Warning: Compat map for group 2 redefined
    Using new definition
    Warning: Compat map for group 3 redefined
    Using new definition
    Warning: Compat map for group 4 redefined
    Using new definition
    Error: Couldn't lookup keysym
    Symbol interpretation ignored
    Warning: No symbols defined for <AB11> (keycode 97)
    Warning: No symbols defined for <JPCM> (keycode 103)
    Warning: No symbols defined for <I120> (keycode 120)
    Warning: No symbols defined for <AE13> (keycode 132)
    Warning: No symbols defined for <I149> (keycode 149)
    Warning: No symbols defined for <I154> (keycode 154)
    Warning: No symbols defined for <I168> (keycode 168)
    Warning: No symbols defined for <I178> (keycode 178)
    Warning: No symbols defined for <I183> (keycode 183)
    Warning: No symbols defined for <I184> (keycode 184)
    Warning: No symbols defined for <FK19> (keycode 197)
    Warning: No symbols defined for <FK24> (keycode 202)
    Warning: No symbols defined for <I217> (keycode 217)
    Warning: No symbols defined for <I219> (keycode 219)
    Warning: No symbols defined for <I221> (keycode 221)
    Warning: No symbols defined for <I222> (keycode 222)
    Warning: No symbols defined for <I230> (keycode 230)
    Warning: No symbols defined for <I247> (keycode 247)
    Warning: No symbols defined for <I248> (keycode 248)
    Warning: No symbols defined for <I249> (keycode 249)
    Warning: No symbols defined for <I250> (keycode 250)
    Warning: No symbols defined for <I251> (keycode 251)
    Warning: No symbols defined for <I252> (keycode 252)
    Warning: No symbols defined for <I253> (keycode 253)
    The "Error" part is where I am currently stuck. It tells me that my changes were ignored (I no that it's about them because it goes away when I comment them out), but I don't yet understand why.

  • Re-install CS5 program,no disc,have both codes

    having trouble my friend. need to reinstall Cs5 program, problem is that I don't have the disc. but I do have both codes, tried calling customer support no luck there..... anyone

    The links to download the software are listed here: http://prodesigntools.com/all-adobe-cs5-direct-download-links.html for CS5
    and here: http://prodesigntools.com/adobe-cs5-5-direct-download-links.html for CS5.5
    You should be able to download and use your key with these files.

  • Closing all running programs

    This newbie has a simple question that my "Mac Help" feature, 2 big books, and support "search" features hasn't answered. How do you turn off all running programs? I want to install Verizon DSL, and their installation book says to first close all running programs, but I don't have a clue as to how to do that. It looks to me like Finder and maybe even some other things are always running. Can someone please tell me step-by-step what to do? Thank you.
    iBookG4   Mac OS X (10.4.5)  

    Hi 4b. There isn't a 'Quit All' command as such, but a really quick way of quitting all open apps is to firstly press and hold down the command (apple) key then click the tab key once (keep the command key depressed). You'll get a row of buttons across the screen that show the open apps. You can use the left and right keys as required to highlight any of these buttons. Clicking on the Q-key will quit the selected app.
    What I do is, as long as Finder button is to the left, hold the Q-key down as all apps quit one at a time.
    Finder will be left running, and as Glenn says, don't worry about Dashboard.

  • Some applications behave as though modifier keys are pressed

    I am experiencing occasions when some applications behave as though modifier keys are being pressed (ie Command Key, Option Key and Shift Key). At first I thought the problem was isolated to Adobe Creative Suite Applications but have now found that MYOB is also affected. I have tried multiple keyboards (even no keyboard) so I do not believe it is a keyboard hardware problem. I am running on the hardware and software listed below.
    When the problem occurs it immediately affects all applications listed below in the way described. Many other applications appear unaffected. The only way I have found to fix the problem is to reboot the machine. After rebooting, the problem may not reoccur for several days, or may reoccur within half an hour. This problem has been occurring since some time in December 2010. I have also confirmed that none of the behaviour listed below occurs when the problem isn't present.
    Affected Applications & Observed Behaviour:
    - Adobe Photoshop CS4: All tools behave as though the option key is being pressed (rendering them unusable).
    - Adobe Dreamweaver CS4: When clicking on the contents of an open file, Dreamweaver behaves as though Cmd+Opt is pressed (ie the code navigator appears making the program unusable)
    - All applications in Adobe CS4 Suite: Upon startup, each application behaves as though CmdOptShift is pressed (resets preferences).
    - MYOB: When the cursor is in a data field, the delete key behaves as though the option key is pressed (ie entire field is deleted rather than a single character)
    I have been working with Adobe telephone support without success for about 3 weeks but since noticing the problem also affects MYOB, it now seems feasible that it is caused by something outside of the Adobe Creative Suite.
    Any help would be appreciated.
    Message was edited by: Leon Borrack

    Leon,
    You are not alone - I sometimes suffer a similar issue and I don't use any Adobe software. For me, it manifests itself as modifier keys being pressed in Safari, Mail or Finder. This normally happens shortly after a wake from sleep. I'm using an old-style Bluetooth Apple keyboard on a Mac Pro 1,1. I can't tell you what causes it, but I can tell you the solution that I've found: If I relaunch Finder the problem goes away...
    To relaunch Finder (apologies if you already know this), press 'Cmd-Option-Escape', select 'Finder' and click relaunch. For some reason the seemingly stuck modifier is cleared. It's not an terribly elegant solution, but it is a lot quicker and less disruptive than rebooting.
    Hope that helps a little.
    Greg

  • Unique ID in ABAP stack across all Envrionment.

    In ABAP Stack is there any table which uniquely identifies one interface mapping across all environments. The requirement is to get a unique ID in ABAP stack (this needs to be hard-coded in an ABAP mapping) which is common in all environment.
    There is a table SXMSPFADDRESS which is the master table for addresses in XI i.e. Party, Service, Interface and namespace, and has key address id that is used at many places in XI runtime. But the addressID is different in different environment and hence cant be used.

    Hi,
    maybe start with a description of the issue and we will try to help with some other idea ?
    Regards,
    Michal Krawczyk

  • Why does placing links in Illustrator now change the "Date Modified" data for all of my files?

    This seems to be a new glitch that started after I installed the latest updates to Illustrator CC (2014) and reoccurs every time on both computers I work on:
    When I choose to place a new image in my Illustrator file and the window opens to let me choose a file to place, the "Date Modified" field of all the files in the folder I'm viewing (except other Illustrator files) quickly changes to the current date and time. This is definitely happening when I'm in Illustrator because when I needed files from a folder that had hundreds of images in it and I was able to select a file quickly, I was able to do so before it had changed the date on all of my files. However, when I needed a file from a folder that had hundreds of images in it but I took a long time to find the image I needed, Illustrator had time to change the date modified on all of my files. This might seem like an unimportant issue because it doesn't actually seem to modify or damage any of my files, but having all of the dates change on my files is a serious problem for my workflow and file management issues. So far, my only work around has been to use back-up image files, but that's not a long term solution and I don't understand why Illustrator should be modifying the dates of my files.
    Is there a setting I can choose somewhere to prevent this problem? If not, is there somewhere I can report this kind of glitch? I'm not sure if I'm using the exact language necessary to get the issue across so please let me know if you have any questions! Thanks!

    iCloud is not compatible with Snow Leopard, that is your problem.
    A quick way out is to purchase Soho Organizer which is compatible, even when running on Snow Leopard, it will correctly handle Contacts and Calendars from iCloud. $100, 2 user license.
    Soho Organizer
    There is a free trial if you want to try it.

Maybe you are looking for