CS4 download doesn't contain program?

When I purchased CS4 I downloaded it to my main computer and I think my backup one too.  After a while I took it off my backup, and now I need it there again so I can travel with it.  I went into my account and downloaded it onto the backup computer.  It appeared as a blue photoshop square logo with a disc image in the right hand corner.  When I opened it all it contained was language options and no other options.  I double clicked on English and it opened to a folder containing 'Goodies' and that's all.  No installtion protocols. Also there was an icon looking like a Text edit icon with a hard drive icon superimposed on it, I double clicked it and all I got was the language selection again.  I'm running mac 10.5.8 on a Mac Book. 
Help!

http://prodesigntools.com/download-adobe-cs4-and-cs3-free-trials-here.html
Follow the instructions very carefully or you will not be able to access the files.
These are genuine installers and links to the site are regularly posted in this forum.

Similar Messages

  • Photoshop Elements 11 download doesn't contain a valid Mac installer

    I just purchased an upgrade copy of Photoshop Elements 11 to install on my Mac.
    The download link indiccated it is for both WIN and Mac.
    Once I downloaded the bundle, it expanded to two files -- one is called "PhotoshopElements_11_WWEFDJ.exe (for windows) and the other called "PhotoshopElements_11_WWEFDJ.7z" which I assume is the Mac installer, but the .7z extension isn't recognized.
    How shall I resolve this?
    Thanks!

    Both of those files are Windows editions. I ordered Windows version by mistake and those are the files I received. I'm on the phone with customer service..800-833-6687

  • When trying to upload a MS word file (.docx) to gmail, it uploads into a folder that doesn't contain the original document when i try to download it from e-mail.  how do i solve this?

    when trying to upload a MS word file (.docx) to gmail, it uploads as a 'folder' that doesn't contain the original document when i try to download it back from the e-mail.  how do i set the format to simply upload the document itself???  Thanks...

    Yes, excuse me. attach a file.  I have separate folders on my desktop to organize my word documents, so I'm guessing this might be a part of the problem.  When I go to attach one of these documents into gmail, the resulting attachment is another folder icon (not the original organizational folders) with 4 subfolders containing a slew of .xml files reading things like "header.xml" "format.xml" "settings.xml" "style.xml" "contenttype.xml" There are also a few .jpegs and a small folder reading "word" as one of the subfolders.

  • Download doesn't work; i keep getting "unable to find firefox.exe" even when I open from program files folder; working onwindows xp with service pack 3

    download doesn't work; i keep getting "unable to find firefox.exe" even when I open from program files folder; working onwindows xp with service pack 3

    As you can see below, when I right click, I have no such option.  In the User Account Settings, I'm operating as the "System Administrator".
    Any other suggestions?

  • Upgrade to Acrobat Pro XI on Window 8.1 downloads, installs and configures. Then pressing the launch button in the dialog box doesn't launch program.

    Upgrade to Acrobat Pro XI on Window 8.1 downloads, installs and configures. Then pressing the launch button in the dialog box doesn't launch program.

    Using the start button, Acrobat Pro should appear. But it might not, being Windows 8. Maybe it puts an icon on your desktop, maybe not.
    How about checking c:\program files (X86)\adobe\acrobat 11.0\acrobat. If you have this folder, look for Acrobat.exe.

  • My computer is functioning really slowly since downloading Mavericks. My programs lag opening if at all. Any suggestions for fixing this?

    My computer is functioning really slowly since downloading Mavericks. My programs lag opening if at all. Any suggestions for fixing this?

    I installed it maybe 2 weeks ago, Here are my results:
    Hardware Information:
        MacBook (13-inch, Late 2009)
        MacBook - model: MacBook6,1
        1 2.26 GHz Intel Core 2 Duo CPU: 2 cores
        2 GB RAM
    Video Information:
        NVIDIA GeForce 9400M - VRAM: 256 MB
    System Software:
        OS X 10.9.2 (13C1021) - Uptime: 0 days 22:44:15
    Disk Information:
        TOSHIBA MK2555GSXF disk0 : (250.06 GB)
            EFI (disk0s1) <not mounted>: 209.7 MB
            Marshmallow (disk0s2) / [Startup]: 249.2 GB (125.02 GB free)
            Recovery HD (disk0s3) <not mounted>: 650 MB
        MATSHITADVD-R   UJ-898 
    USB Information:
        Apple Inc. Built-in iSight
        Apple Inc. Apple Internal Keyboard / Trackpad
        Logitech USB Receiver
        Apple Inc. BRCM2070 Hub
            Apple Inc. Bluetooth USB Host Controller
    Thunderbolt Information:
    Gatekeeper:
        Mac App Store and identified developers
    Kernel Extensions:
        [kext loaded]    at.obdev.nke.LittleSnitch (4052 - SDK 10.8) Support
        [not loaded]    com.devguru.driver.SamsungACMControl (1.4.14 - SDK 10.6) Support
        [not loaded]    com.devguru.driver.SamsungACMData (1.4.14 - SDK 10.6) Support
        [not loaded]    com.devguru.driver.SamsungComposite (1.4.14 - SDK 10.6) Support
        [not loaded]    com.devguru.driver.SamsungMTP (1.4.14 - SDK 10.5) Support
        [not loaded]    com.devguru.driver.SamsungSerial (1.4.14 - SDK 10.6) Support
        [not loaded]    com.mobile-stream.driver.EasyTetherUSBEthernet (1.0.4 - SDK 10.4) Support
        [not loaded]    com.motorola-mobility.driver.MotMobileMS (1.0.0 - SDK 10.5) Support
        [not loaded]    com.motorola-mobility.driver.MotMobileMTP (1.2.2 - SDK 10.5) Support
        [not loaded]    com.motorola-mobility.driver.MotMobileUSB (1.2.2 - SDK 10.5) Support
        [not loaded]    com.motorola-mobility.driver.MotMobileUSBLAN (1.2.2 - SDK 10.5) Support
        [not loaded]    com.motorola-mobility.driver.MotMobileUSBLANMerge (1.2.2 - SDK 10.5) Support
        [not loaded]    com.motorola-mobility.driver.MotMobileUSBSwch (1.2.2 - SDK 10.5) Support
    Launch Daemons:
        [running]    at.obdev.littlesnitchd.plist Support
        [running]    com.adobe.ARM.[...].plist Support
        [loaded]    com.adobe.fpsaud.plist Support
        [loaded]    com.adobe.versioncueCS4.plist Support
        [running]    com.autodesk.backburner_manager.plist Support
        [running]    com.autodesk.backburner_server.plist Support
        [failed]    com.autodesk.backburner_start.plist Support
        [loaded]    com.google.keystone.daemon.plist Support
        [running]    com.motorola-mobility.mmcfgd.plist Support
    Launch Agents:
        [running]    at.obdev.LittleSnitchUIAgent.plist Support
        [loaded]    com.adobe.CS4ServiceManager.plist Support
        [running]    com.Affinegy.InstaLANa.plist Support
        [loaded]    com.google.keystone.agent.plist Support
        [loaded]    com.motorola.MDMUpdater.plist Support
        [running]    com.motorola.motohelper.plist Support
        [loaded]    com.motorola.motohelperUpdater.plist Support
    User Launch Agents:
        [loaded]    com.adobe.ARM.[...].plist Support
        [loaded]    com.adobe.ARM.[...].plist Support
        [running]    com.akamai.single-user-client.plist Support
    User Login Items:
        iTunesHelper
        Skype
        Dropbox
        Android File Transfer Agent
        GrowlHelperApp
        TWC-WiFi Menu
        KiesViaWiFiAgent
        KiesViaWiFiAgent
        fuspredownloader
    Internet Plug-ins:
        o1dbrowserplugin: Version: 5.3.1.18536 Support
        Default Browser: Version: 537 - SDK 10.9
        AdobePDFViewerNPAPI: Version: 11.0.02 - SDK 10.6 Support
        FlashPlayer-10.6: Version: 13.0.0.206 - SDK 10.6 Support
        DivXBrowserPlugin: Version: 2.1 Support
        Silverlight: Version: 5.1.20913.0 - SDK 10.6 Support
        Flash Player: Version: 13.0.0.206 - SDK 10.6 Support
        QuickTime Plugin: Version: 7.7.3
        googletalkbrowserplugin: Version: 5.3.1.18536 Support
        iPhotoPhotocast: Version: 7.0
        AdobePDFViewer: Version: 11.0.02 - SDK 10.6 Support
        CouponPrinter-FireFox_v2: Version: Version 1.1.6 Support
        JavaAppletPlugin: Version: 14.9.0 - SDK 10.7 Check version
    Safari Extensions:
        DivX HiQ: Version: 2.1.1.94
        DivX Plus Web Player HTML5 <video>: Version: 2.1.1.94
    Audio Plug-ins:
        BluetoothAudioPlugIn: Version: 1.0 - SDK 10.9
        AirPlay: Version: 2.0 - SDK 10.9
        AppleAVBAudio: Version: 203.2 - SDK 10.9
        iSightAudio: Version: 7.7.3 - SDK 10.9
    iTunes Plug-ins:
        Quartz Composer Visualizer: Version: 1.4 - SDK 10.9
    User Internet Plug-ins:
        fbplugin_1_0_3: Version: (null) Support
    3rd Party Preference Panes:
        Adobe Version Cue CS4  Support
        Akamai NetSession Preferences  Support
        Flash Player  Support
        Growl  Support
    Time Machine:
        Skip System Files: NO
        Auto backup: YES
        Volumes being backed up:
            Marshmallow: Disk size: 232.09 GB Disk used: 115.65 GB
        Destinations:
            Patrice [Local] (Last used)
            Total size: 465.44 GB
            Total number of backups: 42
            Oldest backup: 2012-07-09 21:31:08 +0000
            Last backup: 2014-04-28 23:46:05 +0000
            Size of backup disk: Adequate
                Backup size 465.44 GB > (Disk used 115.65 GB X 3)
        Time Machine details may not be accurate.
        All volumes being backed up may not be listed.
    Top Processes by CPU:
             5%    WindowServer
             3%    plugin-container
             1%    firefox
             0%    ps
             0%    Dropbox
    Top Processes by Memory:
        381 MB    firefox
        86 MB    plugin-container
        51 MB    Finder
        39 MB    WindowServer
        33 MB    softwareupdated
    Virtual Memory Information:
        30 MB    Free RAM
        548 MB    Active RAM
        523 MB    Inactive RAM
        363 MB    Wired RAM
        1.04 GB    Page-ins
        151 MB    Page-outs

  • Photo Downloader doesn't retain previous settings (again)

    Please see previous post because this issue involves Photo Downloader and ACR. 
    I'm using 10.6.8, CS5.1 and Bridge 4.1.0.54
    I have just reloaded Camera Raw 6.4.1 due to the bug in ACR 6.5 that prevents selecting a destination folder in Photo Downloader and causing  Bridge to freeze. 
    6.4.1 solves the freeze problem, but now it's back to the problem that none of the settings in Advanced Dialog are retained, nor does Photo Downloader default to Advanced Dialog anymore.  I've added the CS5 folder as before (User/Library/Application Support/Adobe) alongside the existing CS5.1 folder, but it hasn't solved the problem.  Is there a new solution to this yet? 
    6.4.1 works fine on my MBP using the above workaround (CS5 folder added).  Because I now have a dozen new student iMacs to set up, my three-part second question is: has ACR 6.6 been tested for these two bugs; should I wait before setting up the iMacs; how long before ACR 6.6 is officially released? 

    Thanks Omke.  I¹ll try that next time I¹m in the lab.  However, on my
    MacBook Pro I checked the CS5.1 folder, and there is no ³APDPreferences.xml²
    in that location (it is there in CS5 folder but I couldn¹t open it).  On the
    iMacs, I¹m only running CS5.1.  Is there a different location for it in
    CS5.1? 
    I¹m wondering if I¹m the only one running Mac OS 10.6.8, Bridge 4.1.0.54 and
    ACR 6.5 who¹s having this problem?
    10.6.8, Bridge 4.1.0.54 ACR 6.5
    From: Omke Oudeman <[email protected]>
    Reply-To: <[email protected]>
    Date: Fri, 02 Dec 2011 01:55:53 -0700
    To: M3fan <[email protected]>
    Subject: Photo Downloader doesn't retain previous
    settings (again)
    Resent-From: <[email protected]>
    Resent-Date: Fri, 02 Dec 2011 00:55:55 -0800
    Re: Photo Downloader doesn't retain previous settings (again)
    created by Omke Oudeman <http://forums.adobe.com/people/Omke+Oudeman>  in
    Bridge Macintosh - View the full discussion
    <http://forums.adobe.com/message/4059004#4059004>
      It¹s baffling,
     That is to put it mildly you mean, can't imagine that is the only word that
    came to your mind...   Have you tried to repair permissions for OSX
    again? I don't have the 5.5 installed so can't compare but if one system
    does work, another not and you have compared both files and folders
    existence in the two systems  it does seem to be OS related to me? There is
    also a file called "APDPreferences.xml" (user/library/Application Support/
    Adobe/Bridge CS5) Can you open the files on both systems and compare the
    content, it contains the settings made in advanced dialog.
    Replies to this message go to everyone subscribed to this thread, not
    directly to the person who posted the message. To post a reply, either reply
    to this email or visit the message page:
    http://forums.adobe.com/message/4059004#4059004 To unsubscribe from this
    thread, please visit the message page at
    http://forums.adobe.com/message/4059004#4059004. In the Actions box on the
    right, click the Stop Email Notifications link. Start a new discussion in
    Bridge Macintosh by email
    <mailto:[email protected]om>
    or at Adobe Forums
    <http://forums.adobe.com/choose-container!input.jspa?contentType=1&container
    Type=14&container=3267>  For more information about maintaining your forum
    email notifications please go to
    http://forums.adobe.com/message/2936746#2936746.

  • I have bought adobe photoshop lightroom  5 (a product code card). My identity has been confirmed. How do I download and install the program?

    Hello:
    I have bought a student and teacher edition of Adobe photoshop Lightroom 5. My identity has been confirmed. But when I was about to install (i believe), there was problem with the password. I have requested for the reset of the password. Now how can I get into the screen for the  download and installation of my program.
    Thanks.
    Hasan Imam

    you can dl and install using the link below. (you may as well dl/install lr 5.7.)
    but you need your serial number to activate it so you can use beyond the 30 day trial period.
    Downloads available:
    Suites and Programs:  CC 2014 | CC | CS6 | CS5.5 | CS5 | CS4 | CS3
    Acrobat:  XI, X | 9,8 | 9 standard
    Premiere Elements:  13 | 12 | 11, 10 | 9, 8, 7 win | 8 mac | 7 mac
    Photoshop Elements:  13 |12 | 11, 10 | 9,8,7 win | 8 mac | 7 mac
    Lightroom:  5.7| 5 | 4 | 3
    Captivate:  8 | 7 | 6 | 5
    Contribute:  CS5 | CS4, CS3
    Download and installation help for Adobe links
    Download and installation help for Prodesigntools links are listed on most linked pages.  They are critical; especially steps 1, 2 and 3.  If you click a link that does not have those steps listed, open a second window using the Lightroom 3 link to see those 'Important Instructions'.

  • Mavericks download doesn't work

    I'm on OS 10.6.8 now, trying to update to Mavericks.
    However, the download doesn't seem to work: for some reason it paused, and I can't get it to start again. Right clicking the Dock icon and hitting "Resume" or "Cancel download" doesn't do anything. The only thing I can do is drag the icon off the Dock, after which it disappears. However, when I try to retry downloading it, clicking "Install App" in the App Store doesn't do anything.
    I've tried logging out and in, and even restarting, but that doesn't fix it. However, when I do log in, the Mavericks download icon appears in the Dock, saying "Paused".
    I also noticed in the Activity Monitor that "kernel_task" uses most of my CPU all the time, even when I have no programs open. This never happened before I tried installing Mavericks. Could it be related?
    Please help!
    Bob_

    Here's a screenshot of the Mavericks download, stuck on Pause.

  • Why can't i download full versions of programs after i purchased them?

    why can't i download full versions of programs after i purchased them?

    Downloadable installation files available:
    Suites and Programs:  CC 2014 | CC | CS6 | CS5.5 | CS5 | CS4, CS4 Web Standard | CS3
    Acrobat:  XI, X | 9,8 | 9 standard
    Premiere Elements:  13 | 12 | 11, 10 | 9, 8, 7 win | 8 mac | 7 mac
    Photoshop Elements:  13 |12 | 11, 10 | 9,8,7 win | 8 mac | 7 mac
    Lightroom:  5.7.1| 5 | 4 | 3
    Captivate:  8 | 7 | 6 | 5.5, 5 | 1
    Contribute:  CS5 | CS4, CS3 | 3,2
    FrameMaker:  12, 11, 10, 9, 8, 7.2
    Download and installation help for Adobe links
    Download and installation help for Prodesigntools links are listed on most linked pages.  They are critical; especially steps 1, 2 and 3.  If you click a link that does not have those steps listed, open a second window using the Lightroom 3 link to see those 'Important Instructions'.

  • Is it possible to install Fireworks CS4 without other "hang-on" programs?

    Hello gentlemen,
    The question at hand is simple indeed;
    Is it possible to install Fireworks CS4 without other "hang-on" programs? Especially Bridge CS4?
    See the problem is were running version cue cs3, and we simply cannot shift to cs4, cause VC CS4 is not recognised by bridge cs3. Hairy yes.
    Some of us need ONLY fireworks cs4, cause its miles better than cs3, but it automatically installs bridge cs4. And this kind of sucks, cause
    we cant use the cs3 version cue server after that.
    Big thanks for your answers!

    leetspeek wrote:
    really noone doesn't have a clue?
    I don't remember my installer program that well, no. I don't remember if it was possible to de-select Bridge. Did you try custom install to see? What have you tried?
    It's possible to remove Bridge....
    This search http://www.google.com/search?hl=en&rlz=1C1GGLS_enUS291US303&q=uninstall+adobe+bridge&aq=f& oq=&aqi=
    Brings up this Adobe TechNote article as the first item:
    Manually remove Adobe Bridge (Windows) http://kb2.adobe.com/cps/328/328358.html
    Have you tried removing the unwanted version and then, possibly, installing/repairing to the old?
    If you're uncomfortable editing your registry, then WinASO has a good registry cleaner: http://www.winaso.com/ (That's for Windows. Don't know how Macs do things.)
    Other than that, I suggest you contact Adobe Support.

  • I bought Photoshop 12/premier package but all I get from premier is the Read Me bit on my computer. The download doesn't seemed to have worked

    I bought PS Elements 12 and Premier as a package but the Premier does not seem to have downloaded...All I have is the "READ ME" pages and no programme

    Noel elliot
    What is your computer operating system, and is it 32 or 64 bit?
    At this time, is Premiere Elements 12 listed in Control Panel/Programs as an installation product?
    Where did you purchase this Photoshop Elements 12/Premiere Elements 12 bundle - from Adobe as an online download or from an authorized reseller offering the box packing with installation discs? From your "The download doesn't seemed to have worked", I am assuming that this was an online download from Adobe.
    On your computer, you should have started with 4 installation files
    Photoshop Elements 12. An .exe file and .7z file specific for Photoshop Elements 12...and file targeted appropriately for 32 or 64 bit computer.
    Premiere Elements 12. An .exe file and .7z file specific for Premiere Elements 12...and file targeted appropriately for 32 or 64 bit computer.
    You double click the .exe first and afterward as indicated .7z.
    Each of these products will have its own serial number.
    Do you now have those components. If not, then you need to start again with the download to get those files on your computer in order to start the product installation.
    Please review and consider. Any questions or need further clarification, please do not hesitate to ask.
    Thank you.
    ATR

  • App folder in the dock doesn't contain all the apps in the main Applications folder

    I have noticed recently that the App folder in the dock doesn't contain all the apps in the main Applications folder (the correct one under Macintosh HD).
    This occurs whether in list, grid, automatic or whatever.
    I've removed the apps folder from the dock and dragged in the current one and yet it doesn't show all the apps from the source folder.
    Any ideas on why this is happening or how I can fix it?
    There are 55 items in the Apps folder but only 51 are shown in the folder located in the dock.
    If I drag it over (as per normal operation), all 55 should appear right?
    Is there a limit on how many can be displayed?
    Can the grid spacing/icon size be changed to fit them all in if that's the case?
    Just dunno why this is happening???
    Cheers
    Frank
    Mac i5 / OS X 10.6.8

    Not sure this is what you want, but if you are an admin user, try this instead. Right-click on /Applications (Applications in the hard drive icon folder, the root folder, not Applications in your user) and select Make Alias, then drag that alias into the Dock to the right of or below the divider (the Trash icon is in that area.) Your Applications will now open from that alias in the Dock. The "original" alias will remain in that location, while creating a new Applications folder in the Dock. I have done this for my home folder, Utilities, and Downloads as well.

  • CS4 Download issue Illustrator/Photoshop missing!

    So due to a corupted user, I had to wipe and reinstall my os as well as all the programs. I logged into my adobe account in order to re download the CS4 Design Premium. After downloading it I started to install the programs and realized that Illustrator and Photoshop are no longer in the setup. I have purchased your softwear numerous times ( twice when it was in disc form and I told my parents that they could throw it away because the last time I purchased it online so I could just download it, and would have access to it if ever there was a problem.) Now when I downloaded it the two programs that I used the most are not in the .dmg or setup and it has backlogged my work for weeks. I've been on chat support the majority of the morning/afternoon getting bounced around to different people only to have them tell me that the downloads department only helps with recent launches and downloads. Completely understand that, however that should not change the link or the download that I purchased. And if it did, why are you not allowing me access to something that I purchased? This was a fail safe for all computer people to be able to access their programs that they purchesed online. So I need help downloading Illustrator and Photoshop that were in the origonal bundle that i purchased so i can get back to work, to make money, so I can upgrade! Please help.

    Hi Spec85, i understand you concern.
    While we only include the option to download a trial of the current version of any of our links, the following link includes information for an alternate means of downloading trials, including older versions. Please read the instructions very carefully, you will be directed to another website to complete the download:
    http://prodesigntools.com/tag/ddl

  • Downloading and Uploading ABAP programs

    I need to move a new GUI program (including all screens, include, subroutines, etc.) that was developed on our SAP 4.5 system to our new, upgraded, ECC 6.0 system.
    There is an old ABAP program that we use to use called ZSABAPUPDOWNLOAD, but it no longer seem to work between these two SAP versions.
    Because of the version differences between these tow systems, our BASIS group does not want us to use a transport to move this code.
    Other than completely recreating this program on the ECC60 system, does anyone know of a program (like the old ZSABAPUPDOWNLOAD) or utility that I could use to transfer this program to the new system?

    welcome to SDN.
    is this the program do u have.
    if not check it with this.
    REPORT ZUPDOWNPROGRAMS LINE-SIZE 132 LINE-COUNT 62 NO STANDARD PAGE HEADING.
      This program up / downloads from / to a local dataset
      all the components of an ABAP - i.e TEXTS, the entire CUA
      including statuses and menus, DYNPROS and source code.
      Program documentation and variants are not handled.
      INCLUDED programs are automatically handled both on upload
      or download. INCLUDE selection can be excluded or generic
      e.g only handle INCLUDES starting with ZIN*
      INCLUDES within INCLUDES also handled.
      The only restriction is on UPLOAD the INCLUDED programs must come
      from the same directory as the main program.
      On Download of course the ABAP must exist in the library.
         Note for LINUX and BATCH users
      This program was originally designed as a one off tool for
      getting ABAPS etc from a SAP R2 (IBM MVS mainframe system) into
      an R3 test system minimising the need for a large amount of
      mainframe sysprogs (anybody remember what they were !!) time
      and support to say nothing of access problems from TSO /JES2 /
      SAP R2. At that time network connections were patchy and the
      transport systems largely incompatable and not very reliable.
      This program was originally designed as a one off tool for
      Must run on Windows front end ---- If you are running SAP with
      LINUX on your work station you will have to change the WS_UPLOAD
      and WS_DOWNLOAD functions to reflect the Linux file system. The
      contents of the data sets themseleves do not need to be changed
      Program can easily be modified to run in batch and store
      the data on a UNIX host. Change the WS_UPLOAD and WS_DOWNLOAD
      to read from and write to UNIX data sets (OPEN FILE etc).
      You will also need to modify the parts of the program that get
      the DOS directory and display the Windows file paths.
      The actual abap data sets do not need to be changed.
    Rel 4.0   names can now be up to 40 bytes long
              Dynpros and CUA have changed from rel 3.1
              Tabstrips now loaded and unloaded in dynpros
       Please note restriction on 4.6 systems for users who
       have ABAP names which include '/'s in their names.
    Rel 4.6b, 4.6c Abap names can include the '/' in their names
    e.g /CUST1/CUST2/ORDER
    This causes problems when storing to a local file.
    a solution is to change the name to %CUST1%CUST2%ORDER i.e / will
    be changed to %. On upload the % should be changed back to /
    again.    This change still needs to be implemented.
    If you don't use the / in the abap name then this is not a problem.
    If file to be uploaded is in rel 3 format then names are only 8
    bytes long.
      program uses 3 datasets per abap
         1) abapname.eee     source, dynpr logic, texts, CUA stuff
         2) abapname.hhh     dynpr header
         3) abapname.fff     dynpro fields.
    because of varying lengths and contents 3 data sets are used. The
    complexity of combining all these to 1 data set would make the
    program far too complex.
      NOTE: This version of the program can only be used on
            release 4.0 or higher. Once an ABAP has been converted
            to rel 4.0 it cannot be converted back to rel 3.0
            on a release 3/3.1 system. Release 4 CUA tables
            are different.  Use release 3 version of this program
           for releases 3.0 and 3.1. Available on SAPFANS website.
      Note that data to be uploaded must have been previously downloaded
      by this program (any version since rel 2.0) - except for Initial
      Load -- see end of these comments.
             Dynpros and CUA statuses have changed since rel 3.1
       This program will handle rel 3.1 format on upload but will
       download in rel 4.0 format. To upload 3.1 format specify an 'X'
       in the rel3 parameter.
       If you have downloaded components in rel 4.0 format and you
       want to re-load to a 3.1 system  you will have to load
       the source via standard upload and re-create dynpros and the CUA
       manually.
       As names can now be longer than 8 characters you can only
       use this program if the SAP front end (SAPGUI) supports
       long file names (WIN 95/98 or WIN NT). Windows 3.x will not
       work as the underlying DOS system cannot handle long file names.
          UPLOAD function and DOS directory.
    When an ABAP is selected for UPLOAD then the DOS
    directory is read into a table. A file called ABAP.BAT is created,
    and down loaded to the 'C' drive and executed.
    This file executes a DOS DIR command and pipes the output
    into a dataset which is then uploaded into an internal
    table on SAP.
    Note on running DOS commands from ABAP
    The first time this procedure is executed you will see a DOS window
    which you will have to close manually. To get round this
    use windows explorer to select the file ABAP.BAT and then
    right mouse click on the file name. Select the
    properties window. From this click the CLOSE on EXIT box. This
    will then automatically close the DOS function after it has
    executed. (Windows restriction).
    The DOS function has not been tested using Windows 2000 so
    it might not work. OK on W95,W98,WME and Windows NT (No Thanks)
    If INCLUDE programs are wanted on UPLOAD only the specified
    directory is searched.
    Instead of entering path name manually you can click on
    the path parameter. Because of Windows restriction you will
    have to select ANY file in the relevant directory.
    The path will then be copied on to the selection screen.
    To do still : Merge 3 files to one and compress output to .ZIP file
                   fix 4.5 4.6 problem of abaps containing '/' in the name
                   possibility to automatically up / download referenced
                   function modules with selection criteria like INCLUDES
    To load the ist time into a system.
    Create program with ABAP editor and Upload the .EEE file.
    Delete ist line  (????SRCE) in the ABAP EDITOR --NOT THE DISK FILE
    Delete all the source from the line that starts ????TEXT (towards
    the end file) till the end so the last line in your source is ENDFORM.
    DO NOT ALTER THE DISK FILE. DO THESE CHANGES IN THE ABAP EDITOR.
    Save file and execute
    Use following parameters (Note the ist time you won't get proper
    text on the selection screen).
    Function      U
    Path          full dos path containing source e.g c:\abaps\
                   NOTE YOU MUST ENTER THE FINAL \ as above.
    REPID         the program name. e.g ZZJIMHXX
                   note that on the DISK you will see 3 files
                   ZZJIMHXX.EEE, ZZJIMHXX.FFF, ZZJIMHXX.HHH
                   just use the name before the dos qualifier - the
                   program will do the rest
    ignore other parameters
    The program will then load itself with all the texts etc.
    It should now be ready for use.
      Macros
    DEFINE DEFINE_TABLE.
      DATA: &1 LIKE &2 OCCURS &3 WITH HEADER LINE.
    END-OF-DEFINITION.
    DEFINE CLS.
      REFRESH &1.
      CLEAR &1.
    END-OF-DEFINITION.
    DEFINE INIT.
      IF &1 NE SPACE.
        SEARCH &1 FOR '. .'.
        IF SY-SUBRC = 0.
          WRITE '*' TO &1+SY-FDPOS(1).
        ENDIF.
        TRANSLATE &1 USING '*%'.
      ELSE.
        MOVE '%' TO &1.
      ENDIF.
    END-OF-DEFINITION.
    end of macros
    /     SAP standard tables                                        */
    TABLES: D020S,                         "Dynpro header
            D020T,                         "Dynpro title
            D021T,                         "Screen field keyword texts
            TRDIR,                         "Attribute table
            TADIR,                         "Dev. class etc.
            EUDB,                          "CUA data
            TSTC,                          "transaction data
            TITLE,                         "CUA titles
            RSMPTEXTS.                     "Function texts (rel 4.0)
    /     Work tables to hold ABAP source etc, and dynpro            */
    /     contents.                                                  */
    DATA: BEGIN OF H.                      "Header
            INCLUDE STRUCTURE D020S.
    DATA: END OF H.
    DATA: BEGIN OF H1 OCCURS 10,           "Header
          NAME(40)               TYPE C,                        "rel 4
          NUMBER(4)              TYPE N.
            INCLUDE STRUCTURE D020S.
    DATA: END OF H1.
    DATA: BEGIN OF H2 OCCURS 0,            "Rel 3  dynp. header
            CNAME(8)   TYPE C,
            CNUM(4)    TYPE C,
            NNAME(8)   TYPE C,
            NNUM(4)    TYPE C,
            FILL(51)   TYPE C,
            CDAT(6)    TYPE C,
            CTIM(6)    TYPE C,
          END OF H2.
    DATA: BEGIN OF F OCCURS 250.           "Dynpro Fields
            INCLUDE STRUCTURE D021S.
    DATA: END OF F.
    DATA: BEGIN OF F1 OCCURS 500,          "Dynpro Fields
          NAME(40)               TYPE C,                        "rel 4
          NUMBER(4)              TYPE N.
            INCLUDE STRUCTURE D021S.
    DATA: END OF F1.
    DATA: BEGIN OF OLD_F1 OCCURS 0,        "Dynpro Fields (rel 3)
          NAME(8)    TYPE C,
          NUMBER(4)     TYPE C.
            INCLUDE STRUCTURE D021SE_OLD.
    DATA: END OF OLD_F1.
    DATA: BEGIN OF F2 OCCURS 0,            "Dynpro Fields (rel 3)
          TFIL(284)  TYPE C,
          END OF F2.
    DATA: BEGIN OF M OCCURS 3.             "Match codes (if any)
            INCLUDE STRUCTURE D023S.
    DATA: END OF M.
    DATA: BEGIN OF E OCCURS 0.             "Dynpro Logic
            INCLUDE STRUCTURE D022S.
    DATA: END OF E.
    DATA: BEGIN OF E1 OCCURS 0,            "Dynpro Logic
          NAME(40)               TYPE C,                        "rel 4
          NUMBER(4)              TYPE N.
            INCLUDE STRUCTURE D022S.
    DATA: END OF E1.
    DATA: BEGIN OF T   OCCURS 0,           "prog name and dynpro nrs
          NAME(40)     TYPE C,                                  "rel 4
          NUMBER(4)    TYPE N,
    END OF T.
    DATA: BEGIN OF R   OCCURS 56,          "prog name and language
          NAME(40)     TYPE C,                                  "rel 4
          LANGUAGE(1)  TYPE C,
       END OF R.
    DATA: BEGIN OF S OCCURS 3000,
          TXT(180)               TYPE C,   "rel 4   was 132
          END OF S.
    DATA: BEGIN OF R1 OCCURS 50,           "for include programs
            NAME(40)             TYPE C,                        "rel 4
            INSTANCE(3)          TYPE P,
          END OF R1.
    DATA: BEGIN OF S1 OCCURS 3000,
          TXT(180)               TYPE C,   "   rel 4  was 132
          END OF S1.
    DATA: BEGIN OF U OCCURS 100,           "Text elements
          TXT(180)               TYPE C,   " rel 4   was 132
          END OF U.
    DATA: BEGIN OF DIR.                    "ABAP Attributes
            INCLUDE STRUCTURE TRDIR.
    DATA: END OF DIR.
    DATA: BEGIN OF DTXT.                   "Dynpro field keyword texts
            INCLUDE STRUCTURE D021T.
    DATA: END OF DTXT.
    /     This data contains all the components of the               */
    /     CUA such as menus, statuses, Pfkeys                        */
    /     As from rel 4.5 Tabstrips are automatically copied as well */
    /     The rel3 parameter must be set however to load the         */
    /     correct version of the CUA tables if uploading rel 3       */
    /     data to a rel 4 system.                                    */
    /     Rel 4.0B can  convert 3.1 and earlier CUA's                */
    /     This could change later however.                           */
    CUA Tables.
    Key of CUA tables in EUDB data set. Name is len 40 in rel 4.0
    DATA BEGIN OF EU_KEY.
            INCLUDE STRUCTURE RSEU1_KEY.
    DATA END OF EU_KEY.
        Status
    DATA BEGIN OF STA OCCURS 0.
            INCLUDE STRUCTURE RSMPE_STAT.                       " rel 4
    DATA END OF STA.
        Functions
    DATA BEGIN OF FUN OCCURS 0.
            INCLUDE STRUCTURE RSMPE_FUNT.                       "rel 4
    DATA END OF FUN.
        Menus
    DATA BEGIN OF MEN OCCURS 0.
            INCLUDE STRUCTURE RSMPE_MEN.   "rel 4.0
    DATA END OF MEN.
        Menus (texts)
    DATA BEGIN OF MTX OCCURS 0.
            INCLUDE STRUCTURE RSMPE_MNLT.  "rel 4.0
    DATA END OF MTX.
        Action Bar
    DATA BEGIN OF ACT OCCURS 0.
            INCLUDE STRUCTURE RSMPE_ACT.   "rel 4.0
    DATA END OF ACT.
        Push Buttons
    DATA BEGIN OF BUT OCCURS 0.
            INCLUDE STRUCTURE RSMPE_BUT.   "rel 4.0
    DATA END OF BUT.
        PF-Keys
    DATA BEGIN OF PFK OCCURS 0.
            INCLUDE STRUCTURE RSMPE_PFK.   "rel 4.0
    DATA END OF PFK.
        Function sets
    DATA BEGIN OF SET OCCURS 0.
            INCLUDE STRUCTURE RSMPE_STAF.  "rel 4.0
    DATA END OF SET.
        Documentation
    DATA BEGIN OF DOC OCCURS 0.
            INCLUDE STRUCTURE RSMPE_ATRT.  "rel 4.0
    DATA END OF DOC.
        Title codes with text
    DATA: BEGIN OF TIT OCCURS 0.
            INCLUDE STRUCTURE RSMPE_TITT.  "rel 4.0
    DATA: END OF TIT.
    DATA BEGIN OF FTX OCCURS 0.            "rel 4.0
            INCLUDE STRUCTURE RSMPTEXTS.
    DATA END OF FTX.
           rel 3.1 CUA components.
        Status
    DATA BEGIN OF OLD_STA OCCURS 0.
            INCLUDE STRUCTURE RSEU1_GEN.   " rel 3.1
    DATA END OF OLD_STA.
        Functions
    DATA BEGIN OF OLD_FUN OCCURS 0.
            INCLUDE STRUCTURE RSEU1_FUN.   "rel 3.1
    DATA END OF OLD_FUN.
        Menus
    DATA BEGIN OF OLD_MEN OCCURS 0.
            INCLUDE STRUCTURE RSEU1_MEN.   "rel 3.1
    DATA END OF OLD_MEN.
        Menus (texts)
    DATA BEGIN OF OLD_MTX OCCURS 0.
            INCLUDE STRUCTURE RSEU1_TXM.   "rel 3.1
    DATA END OF OLD_MTX.
        Action Bar
    DATA BEGIN OF OLD_ACT OCCURS 0.
            INCLUDE STRUCTURE RSEU1_ACT.   "rel 3.1
    DATA END OF OLD_ACT.
        Push Buttons
    DATA BEGIN OF OLD_BUT OCCURS 0.
            INCLUDE STRUCTURE RSEU1_BUT.   "rel 3.1
    DATA END OF OLD_BUT.
        PF-Keys
    DATA BEGIN OF OLD_PFK OCCURS 0.
            INCLUDE STRUCTURE RSEU1_PFK.   "rel 3.1
    DATA END OF OLD_PFK.
        Function sets
    DATA BEGIN OF OLD_SET OCCURS 0.
            INCLUDE STRUCTURE RSEU1_SET.   "rel 3.1
    DATA END OF OLD_SET.
        Documentation
    DATA BEGIN OF OLD_DOC OCCURS 0.
            INCLUDE STRUCTURE RSEU1_ETM.   "rel 3.1
    DATA END OF OLD_DOC.
        Title codes with text
    DATA: BEGIN OF OLD_TIT OCCURS 0.
            INCLUDE STRUCTURE TITLE.       "rel 3.1
    DATA: END OF OLD_TIT.
    dynamic function text
    DATA BEGIN OF FDN OCCURS 1.
            INCLUDE STRUCTURE RSEU1_FDYN.  "not req for rel 4.
    DATA END OF FDN.
    Icons
    DATA BEGIN OF FIN OCCURS 1.
            INCLUDE STRUCTURE RSEU1_ICON.  "not req for rel 4
    DATA END OF FIN.
    dynamic menu texts
    DATA BEGIN OF MDN OCCURS 1.
            INCLUDE STRUCTURE RSEU1_MDYN.  "not req for rel 4.
    DATA END OF MDN.
        Symbol list
    DATA BEGIN OF SYM OCCURS 0.
            INCLUDE STRUCTURE RSEU1_SYMB.
    DATA END OF SYM.
        Status Short text
    DATA BEGIN OF STX OCCURS 0.
            INCLUDE STRUCTURE RSEU1_CTX.
    DATA END OF STX.
        Attributes for function key settings (menu bars)  Rel 3.0
    DATA BEGIN OF ATT OCCURS 0.
            INCLUDE STRUCTURE RSEU1_HAT.
    DATA END OF ATT.
        Include-Menus
    DATA BEGIN OF INC OCCURS 3.
            INCLUDE STRUCTURE RSEU1_INC.
    DATA END OF INC.
    Last used numbers
    DATA BEGIN OF LAST.
            INCLUDE STRUCTURE RSEU1_LST.
    DATA END OF LAST.
      data for call transaction (SE41 to re-generate the CUA)
    DATA: BEGIN OF T_BDC_TAB OCCURS 0.
            INCLUDE STRUCTURE BDCDATA.     "BDC data
    DATA: END OF T_BDC_TAB.
    DATA: BEGIN OF T_MESSTAB OCCURS 0.
            INCLUDE STRUCTURE BDCDATA.
    DATA: END OF T_MESSTAB.
    /     Program data                                               */
    DATA: NUMBER(4)               TYPE N,
          OLDNUM(4)               TYPE N,
          FILESIZE                TYPE I,
          NR_OF_BYTES             TYPE I,
          I(3)                    TYPE P,
          IX(3)                   TYPE P,
          J(3)                    TYPE P,
          L(3)                    TYPE P,
          CUA-FLAG(1)             TYPE C,
          CUA_RETURN(10)          TYPE C,
          DYNPRO_MESSAGE(160)     TYPE C,
          DYNPRO_LINE             TYPE P,
          DYNPRO_WORD(30)         TYPE C,
          NUM(3)                  TYPE N,
          DYNNAME(44)             TYPE C,
          FN1(128)                TYPE C,
          FN2(128)                TYPE C,
          FN3(128)                TYPE C,
          W_ITERATE(1)            TYPE C,
          MAIN(1)                 TYPE C,
          FUNC(1)                 TYPE C,
          OLDNAME(40)             TYPE C,
          OLD-FUNC(8)             TYPE C,
          NEW-FUNC(8)             TYPE C,
          FOUND(1)                TYPE C,
          LANGUAGE                LIKE SY-LANGU,
          FIRST-TIME(1)           TYPE C VALUE 'Y',
          OK-CODE(5)              TYPE C,
          NAME(40)                TYPE C,                       "rel 4
          TXLINE(70)              TYPE C,
          LINE(132)               TYPE C.
    DATA:
          UL_FILE(128)          TYPE C,
          DL_FILE(128)          TYPE C,
          DOSLINE(72)           TYPE C.
    DATA: BEGIN OF DOSDIR OCCURS 0,
            TEXT(72),
          END OF DOSDIR.
    DATA: BEGIN OF I_PROG OCCURS 0,
          NAME(40),
          END OF I_PROG.
    DATA: BEGIN OF I_PROGT OCCURS 0,
          NAME(40),
          END OF I_PROGT.
    DATA: BEGIN OF I_INCLUDE OCCURS 0,
          NAME(40),
          HANDLED(1)   TYPE C,
          END OF I_INCLUDE.
    DATA: BEGIN OF I_INCL OCCURS 0,
          NAME(40),
          END OF I_INCL.
    DATA: BUFFER(1024).
    DATA: WINSYS(3).
    DATA: GLOBAL_FILEMASK_MASK(20), GLOBAL_FILEMASK_TEXT(20).
    DATA: GLOBAL_FILEMASK_ALL(80).
    DATA: T_FILENAME(128),
          TMP_FILENAME(128),
          T_MODE(1),
          FIELDLN     TYPE I.
    DEFINE_TABLE I_DYNPFIELDS DYNPREAD 0.  "dynpro fields to be updated
    DATA: I_FLDS LIKE HELP_VALUE OCCURS 0 WITH HEADER LINE.
    FIELD-SYMBOLS: <F>.
    /     Parameters                                                 */
    SELECTION-SCREEN BEGIN OF BLOCK A1 WITH FRAME TITLE TEXT-001.
    SELECTION-SCREEN SKIP 1.
    SELECT-OPTIONS REPID FOR TRDIR-NAME OBLIGATORY .
    PARAMETERS:
          FUNCTION(1)       TYPE C OBLIGATORY,  "Function
          DSNAME(40)        TYPE C,        "Data set name
          INCLUDES(1)       TYPE C DEFAULT 'N', "Resolve Includes
          IMASK(40)         TYPE C,        "Include Mask
          CLASS             LIKE TRDIR-CLAS,
          AUTHOR            LIKE TRDIR-CNAM,          "Author
          APPL              LIKE TRDIR-APPL,
          PATH(88)          TYPE C DEFAULT 'A:\',
          REL3(1)           TYPE C.
    SELECTION-SCREEN SKIP 1.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(70) TEXT-004.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(70) TEXT-005.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN SKIP 1.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(70) TEXT-002.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(70) TEXT-003.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN END  OF BLOCK A1.
    /          Check users workstation is running WINDOWS,        */
    /          WINDOWS 95, or WINDOWS NT. OS/2 no good for        */
    /          this application.                                  */
    CALL FUNCTION 'WS_QUERY'
         EXPORTING
              QUERY  = 'WS'
         IMPORTING
              RETURN = WINSYS.
    IF WINSYS(2) NE 'WN'.                  "Win 3.X no good either
      WRITE: / 'Windows NT or Windows 95/98 is required'.
      EXIT.
    ENDIF.
    /          Get names of programs to be handled.               */
    /          Name can be a single value, many values or ranges  */
    /          as per standard SELECT-OPTIONS on selection screen */
    / On Download read TRDIR and store program names in a table   */
    / as per selection options.                                   */
    / On upload read the specified directory for all files of     */
    /  type .EEE from specified directory                         */
    /  compare file names with selection criteria                 */
    MOVE FUNCTION TO FUNC.
    MOVE 'Y' TO MAIN.
    CASE FUNC.
      WHEN 'U'.                            "Upload required
        PERFORM READ_DOS_DIRECTORY.
        PERFORM GET_RANGE_UL.              "Get list of progs to process
      WHEN 'D'.                            "Download required
        PERFORM GET_RANGE_DL.              "Get list of progs to process
      WHEN OTHERS.
        WRITE: / 'Function not performed due to user request'.
        EXIT.
    ENDCASE.
    SORT I_PROG.
    DELETE ADJACENT DUPLICATES FROM I_PROG.
    For download INCLUDE handling can be resolved via function
    module call.
    All Includes within Includes are also resolved by the function
    module call.
    Note that this method does not work if program itself is of type
    I (it's an include)
    In this case we can still search the source.
    IF FUNC = 'D'.
      IF INCLUDES = 'Y'.
        PERFORM GET_INCLUDES_DL.
        PERFORM PROCESS_INCLUDES_DL.
      ENDIF.
    ENDIF.
    Program list from selection criteria i.e excluding INCLUDES found
    LOOP AT I_PROG.
      MOVE I_PROG-NAME TO R1-NAME.
      APPEND R1.
      DESCRIBE TABLE R1 LINES I.
      WHILE I NE 0.
        PERFORM EXECUTE-FUNCTION.
      ENDWHILE.
      REFRESH R1.
    ENDLOOP.
    We need to check now for INCLUDES on DOWNLOAD when the INCLUDE
    program itself is of type I. In this case the function call
    will not return the INCLUDES. For example we could be
    downloading ZTESTTOP (an Include itself) which as an include
    ZTEST01.
    The process fortunately is the same as the UPLOAD function
    except of course we need to read the library instead of the
    DOS directory
    process INCLUDE modules for Upload
    On upload the procedure is more complex as Includes within
    Includes can only be resolved by scanning the code and
    searching if the program exists in the directory.
    To get all INCLUDES within INCLUDES entries in table I_INCL
    that do not exist in I_INCLUDE are copied to table I_INCLUDE
    after each entire pass of table i_INCLUDE and table is then
    re-looped through. Programs in table I_INCLUDE that have already
    been processed have a "Y" indicator set in I_INCLUDE-AVAIL.
    if  func = 'U'.
    IF INCLUDES = 'Y'.
      DESCRIBE TABLE I_INCL LINES I.
      IF I > 0.
        W_ITERATE = 'Y'.
      ELSE.
        W_ITERATE = ' '.
      ENDIF.
      WHILE W_ITERATE = 'Y'.
        PERFORM PROCESS_INCLUDES_UL.
        PERFORM LOOP_THROUGH.
        DESCRIBE TABLE I_INCL LINES I.
        IF I > 0.
          W_ITERATE = 'Y'.
        ELSE.
          W_ITERATE = ' '.
        ENDIF.
      ENDWHILE.
    endif.
    ENDIF.
    DESCRIBE TABLE I_INCLUDE LINES I.
    IF I > 0.
      SKIP 1.
      WRITE: / ' Included Programs found'.
      SKIP 1.
      LOOP AT I_INCLUDE.
        WRITE I_INCLUDE-NAME TO LINE(40).
        CONDENSE LINE.
        WRITE: / LINE(80).
      ENDLOOP.
    ENDIF.
    /       Table R contains ABAP names to up / download.            */
    /       Loop through table R and perform up / download           */
    /       for each program.                                        */
    /       Table R1 contains INCLUDE names found (if any)           */
    /       As each                                                  */
    FORM EXECUTE-FUNCTION.
      LOOP AT R1.
        MOVE-CORRESPONDING R1 TO R.
        APPEND R.
      ENDLOOP.
      REFRESH R1.
      LOOP AT R.
        REFRESH : T, E1, H1, F1, S, U.
        PERFORM PROCESS.
        MOVE 'N' TO MAIN.
      ENDLOOP.
      REFRESH R.
      DESCRIBE TABLE R1 LINES I.
    ENDFORM.
    /     Build file names for UP/DOWNLOAD                           */
    /     3 files are generated per ABAP.                            */
    /       1) ABAP    Path\PROGNAME.EEE (ABAP, Attr,Texts)          */
    /          Logic   Path\PROGNAME.EEE (Dynpro Source Logic)       */
    /          CUA     Path\PROGNAME.EEE (CUA components - keys etc) */
    /       2) Header  Path\PROGNAME.HHH (Dynpro Header)             */
    /       3) Fields  Path\PROGNAME.FFF (Dynpro Field definitions  )*/
    / ( If alternate file name specified -DSNAME- this will          */
    /   be used instead. This is only valid for the main program.    */
    /   INCLUDED programs will have file names as specified          */
    /   above).                                                      */
    /  By using this scheme it saves the user from having to         */
    /  be prompted for 3 file names.                                 */
    /  If you want multiple copies / versions on disk either         */
    /  rename the old versions or specify a different directory in   */
    /  the path parameter.                                           */
    FORM PROCESS.
      MOVE PATH TO FN1.
      CASE MAIN.
        WHEN 'Y'.
          IF DSNAME NE SPACE.
            WRITE DSNAME TO FN1+66.                             "rel 4
          ELSE.
            WRITE R-NAME TO FN1+66.                             "rel 4
          ENDIF.
        WHEN OTHERS.
          WRITE R-NAME TO FN1+66.                               "rel 4
      ENDCASE.
      MOVE FN1 TO FN2.
      MOVE FN1 TO FN3.
      WRITE '.HHH' TO FN1+124(4).                               "rel 4
      WRITE '.FFF' TO FN2+124(4).                               "rel 4
      WRITE '.EEE' TO FN3+124(4).                               "rel 4
      CONDENSE FN1 NO-GAPS.
      CONDENSE FN2 NO-GAPS.
      CONDENSE FN3 NO-GAPS.
      NAME   = R-NAME.
      CASE FUNC.
        WHEN 'D'.
          PERFORM DOWNLOAD_OBJECTS.
          CLEAR LINE.
          WRITE : 'ABAP : ' TO LINE.
          WRITE R-NAME TO LINE+8.
          WRITE 'has been unloaded' TO LINE+55.
          CONDENSE LINE.
          WRITE: / LINE.
          DESCRIBE TABLE T LINES I.
          IF I = 0.
            WRITE: / 'No Dynpros were found for unload function'.
          ELSE.
            WRITE: / 'The following Dynpros have been unloaded : '.
            PERFORM LOOP_THROUGH_T.
          ENDIF.
        WHEN 'U'.
          PERFORM UPLOAD_OBJECTS.
          DESCRIBE TABLE T LINES I.
          CASE I.
            WHEN 0.
              WRITE:  / 'No Dynpros were found for restore function'.
            WHEN OTHERS.
              WRITE: / 'The following Dynpros have been restored : '.
              PERFORM LOOP_THROUGH_T.
          ENDCASE.
          IF MAIN EQ 'Y'.
            CASE OLDNAME.
              WHEN SPACE.
                CLEAR LINE.
                WRITE : 'ABAP : ' TO LINE.
                WRITE R-NAME TO LINE+8.
                WRITE 'has been restored' TO LINE+55.
                CONDENSE LINE.
                WRITE: / LINE.
              WHEN OTHERS.
                CLEAR LINE.
                WRITE : 'ABAP : ' TO LINE.
                WRITE R-NAME TO LINE+8.
                WRITE 'has been restored - original name :'
                   TO LINE+55.
                WRITE OLDNAME TO LINE+92.
                CONDENSE LINE.
                WRITE: / LINE.
            ENDCASE.
          ELSE.
            CLEAR LINE.
            WRITE : 'ABAP : ' TO LINE.
            WRITE R-NAME TO LINE+8.
            WRITE 'has been restored' TO LINE+55.
            CONDENSE LINE.
            WRITE: / LINE.
          ENDIF.
      ENDCASE.
    ENDFORM.
    /      print progname + dynpro nrs that have been processed.     */
    FORM LOOP_THROUGH_T.
      LOOP AT T.
        CLEAR LINE.
        WRITE R-NAME TO LINE.
        WRITE T-NUMBER TO LINE+50.
        CONDENSE LINE.
        WRITE: / LINE.
      ENDLOOP.
    ENDFORM.
    /            Download Objects                                    */
    FORM DOWNLOAD_OBJECTS.
      PERFORM UNLOAD_ABAP.                 "ABAP source, texts, attr
      SELECT SINGLE * FROM TRDIR
       WHERE NAME EQ R-NAME.
      IF TRDIR-SUBC = 'I'.
        CASE INCLUDES.                     "Included file wanted
          WHEN 'Y'.
            PERFORM SCAN4-INCLUDES.
        ENDCASE.
      ENDIF.
      PERFORM UNLOAD_CUA.                  "CUA stuff
      PERFORM DOWNLOAD_DATA.               "Download EEE file to PC
      PERFORM BUILD_T.        "Build table of all dynpros in ABAP
      DESCRIBE TABLE T LINES I.
      CASE I.
        WHEN 0.            "if no dynpros exist then cannot download any
          PERFORM DOWNLOAD_DATA.           "Download EEE file to PC
        WHEN OTHERS.
          PERFORM UNLOAD_DYNPROS.          "Get Raw dynpros from SAP
          PERFORM UNLOAD_DYNPRO_COMPONENTS."Convert to table
          PERFORM DOWNLOAD_DATA.           "Download ABAP etc. to PC
          PERFORM DOWNLOAD_BIN_H1.         "Download dynpro header
          PERFORM DOWNLOAD_BIN_F1.         "Download dynpro fields
      ENDCASE.
    ENDFORM.
    /  Split ABAP up into its component parts                        */
    /                           A) Program source (72)               */
    /                           B) Texts          (132)              */
    /                           C) Attributes     (117)              */
    /                           D) CUA stuff      (Various)          */
    FORM UNLOAD_ABAP.
    /    Get ABAP language. Only required on download.               */
      SELECT SINGLE * FROM TRDIR
        WHERE NAME EQ R-NAME.
      MOVE TRDIR-RLOAD TO R-LANGUAGE.
      READ REPORT R-NAME INTO S.           "Get source into table S
      MOVE '????SRCE' TO S-TXT.
      INSERT  S INDEX 1.
    /    Text elements, Numbered texts, headings, selection texts    */
    /    Read text elements with logon language. If they don't       */
    /    exist read with the value taken from TRDIR.                 */
      READ TEXTPOOL R-NAME INTO U LANGUAGE SY-LANGU.
      IF SY-SUBRC NE 0.
        READ TEXTPOOL R-NAME INTO U LANGUAGE R-LANGUAGE.
      ENDIF.
      DESCRIBE TABLE U LINES I.
      CASE I.
        WHEN 0.
        WHEN OTHERS.
          MOVE '????TEXT' TO S-TXT.
          APPEND S.
          LOOP AT U.
            MOVE U-TXT TO S-TXT.
            APPEND S.
            DELETE U.
          ENDLOOP.
      ENDCASE.
    /    Retrieve Attributes from TRDIR and add to table S           */
    /    Change language to logged on language                       */
      MOVE '????ATTR' TO S-TXT.
      APPEND S.
      SELECT SINGLE * FROM TRDIR
             WHERE NAME EQ R-NAME.
      MOVE SY-LANGU TO TRDIR-RLOAD.
      MOVE-CORRESPONDING TRDIR TO DIR.
      MOVE DIR TO S-TXT.
      APPEND S.
    ENDFORM.
    /             retrieve CUA stuff and append to table S.          */
    FORM UNLOAD_CUA.
      MOVE R-NAME TO EU_KEY-NAME.          "Program name for CUA
      MOVE 'D' TO EU_KEY-SPRSL.            "CUA seems to want D as lang
    MOVE R-LANGUAGE TO EU_KEY-SPRSL.     "Language              "rel 2.2
    IMPORT STA FUN MEN MTX ACT BUT PFK SET LAST INC STX DOC    "rel 2.2
      IMPORT STA STX FUN MEN MTX ACT BUT PFK SET LAST INC DOC     "rel 3.0
             ATT FDN MDN SYM FIN           "rel 3.0
              FROM DATABASE EUDB(CU) ID EU_KEY.
      IF SY-SUBRC NE 0.                    "No statuses
        EXIT.
      ENDIF.
    read titles in logged on language. If not present use
    language from TRDIR.
      CASE REL3.
        WHEN SPACE.                        "(rel 4)
          SELECT * FROM RSMPTEXTS WHERE PROGNAME EQ R-NAME
                            AND SPRSL = SY-LANGU.
            MOVE-CORRESPONDING RSMPTEXTS TO FTX.
            APPEND FTX.
          ENDSELECT.
          IF SY-SUBRC NE 0.
            SELECT * FROM RSMPTEXTS WHERE PROGNAME EQ R-NAME
                              AND SPRSL = R-LANGUAGE.
              MOVE-CORRESPONDING RSMPTEXTS TO FTX.
              APPEND FTX.
            ENDSELECT.
          ENDIF.
          DESCRIBE TABLE FTX LINES I.
          IF   I > 0.
            MOVE '????FTXT' TO S-TXT.
            APPEND S.
            LOOP AT FTX.
              MOVE FTX TO S-TXT.
              APPEND S.
            ENDLOOP.
          ENDIF.
        WHEN OTHERS.
          SELECT * FROM TITLE WHERE PROGNAME   EQ R-NAME
                              AND   DDLANGUAGE EQ SY-LANGU.
            MOVE-CORRESPONDING TITLE TO TIT.
            APPEND TIT.
          ENDSELECT.
          IF SY-SUBRC NE 0.
            SELECT * FROM TITLE WHERE PROGNAME   EQ R-NAME
                                AND   DDLANGUAGE EQ R-LANGUAGE.
              MOVE-CORRESPONDING TITLE TO TIT.
              APPEND TIT.
            ENDSELECT.
          ENDIF.
      ENDCASE.
      DESCRIBE TABLE STA LINES I.
      IF   I > 0.
        MOVE '????STAT' TO S-TXT.
        APPEND S.
        LOOP AT STA.
          MOVE STA TO S-TXT.
          APPEND S.
        ENDLOOP.
      ENDIF.
      DESCRIBE TABLE FUN LINES I.
      IF   I > 0.
        MOVE '????FUNC' TO S-TXT.
        APPEND S.
        LOOP AT FUN.
          MOVE FUN TO S-TXT.
          APPEND S.
        ENDLOOP.
      ENDIF.
      DESCRIBE TABLE MEN LINES I.
      IF   I > 0.
        MOVE '????MEN1' TO S-TXT.
        APPEND S.
        LOOP AT MEN.
          MOVE MEN TO S-TXT.
          APPEND S.
        ENDLOOP.
      ENDIF.
      DESCRIBE TABLE MTX LINES I.
      IF   I > 0.
        MOVE '????MTX1' TO S-TXT.
        APPEND S.
        LOOP AT MTX.
          MOVE MTX TO S-TXT.
          APPEND S.
        ENDLOOP.
      ENDIF.
      DESCRIBE TABLE ACT LINES I.
      IF   I > 0.
        MOVE '????ACTN' TO S-TXT.
        APPEND S.
        LOOP AT ACT.
          MOVE ACT TO S-TXT.
          APPEND S.
        ENDLOOP.
      ENDIF.
      DESCRIBE TABLE BUT LINES I.
      IF   I > 0.
        MOVE '????BUTN' TO S-TXT.
        APPEND S.
        LOOP AT BUT.
          MOVE BUT TO S-TXT.
          APPEND S.
        ENDLOOP.
      ENDIF.
      DESCRIBE TABLE PFK LINES I.
      IF   I > 0.
        MOVE '????PFKY' TO S-TXT.
        APPEND S.
        LOOP AT PFK.
          MOVE PFK TO S-TXT.
          APPEND S.
        ENDLOOP.
      ENDIF.
      DESCRIBE TABLE SET LINES I.
      IF   I > 0.
        MOVE '????SETS' TO S-TXT.
        APPEND S.
        LOOP AT SET.
          MOVE SET TO S-TXT.
          APPEND S.
        ENDLOOP.
      ENDIF.
      IF LAST NE SPACE.
        MOVE '????LIST' TO S-TXT.
        APPEND S.
        MOVE LAST TO S-TXT.
        APPEND S.
      ENDIF.
      DESCRIBE TABLE INC LINES I.
      IF   I > 0.
        MOVE '????INCL' TO S-TXT.
        APPEND S.
        LOOP AT INC.
          MOVE INC TO S-TXT.
          APPEND S.
        ENDLOOP.
      ENDIF.
      DESCRIBE TABLE STX LINES I.
      IF   I > 0.
        MOVE '????STXT' TO S-TXT.
        APPEND S.
        LOOP AT STX.
          MOVE STX TO S-TXT.
          APPEND S.
        ENDLOOP.
      ENDIF.
      DESCRIBE TABLE DOC LINES I.
      IF   I > 0.
        MOVE '????DOCN' TO S-TXT.
        APPEND S.
        LOOP AT DOC.
          MOVE DOC TO S-TXT.
          APPEND S.
        ENDLOOP.
      ENDIF.
      DESCRIBE TABLE TIT LINES I.
      IF   I > 0.
        MOVE '????TITL' TO S-TXT.
        APPEND S.
        LOOP AT TIT.
          MOVE TIT TO S-TXT.
          APPEND S.
        ENDLOOP.
      ENDIF.
    Next 5 tables are rel 3.0 specific  (ATT, FDN, MDN, SYM, FIN)
      DESCRIBE TABLE ATT LINES I.
      IF   I > 0.
        MOVE '????VATT' TO S-TXT.
        APPEND S.
        LOOP AT ATT.
          MOVE ATT TO S-TXT.
          APPEND S.
        ENDLOOP.
      ENDIF.
      DESCRIBE TABLE FDN LINES I.
      IF   I > 0.
        MOVE '????VFDN' TO S-TXT.
        APPEND S.
        LOOP AT FDN.
          MOVE FDN TO S-TXT.
          APPEND S.
        ENDLOOP.
      ENDIF.
      DESCRIBE TABLE MDN LINES I.
      IF   I > 0.
        MOVE '????VMDN' TO S-TXT.
        APPEND S.
        LOOP AT MDN.
          MOVE MDN TO S-TXT.
          APPEND S.
        ENDLOOP.
      ENDIF.
      DESCRIBE TABLE SYM LINES I.
      IF   I > 0.
        MOVE '????VSYM' TO S-TXT.
        APPEND S.
        LOOP AT SYM.
          MOVE SYM TO S-TXT.
          APPEND S.
        ENDLOOP.
      ENDIF.
      DESCRIBE TABLE FIN LINES I.
      IF   I > 0.
        MOVE '????VFIN' TO S-TXT.
        APPEND S.
        LOOP AT FIN.
          MOVE FIN TO S-TXT.
          APPEND S.
        ENDLOOP.
      ENDIF.

Maybe you are looking for

  • IWeb crashing upon opening . . .

    Hi all, I have several sites - one in particular is pretty large (movies, files, etc.) for a class that I'm teaching. I tried adding an additional page with links last night and that sent iWeb over the edge. Now I cannot get it to open at all. I just

  • BW upgrade EHP1, data uploads should stop?

    Dear experts, we have plan for system upgrade. current system is BW 7.0 sp 17, Now planned for EHP1 and SP9. I know the there some post upgrade activities, which include consistancy check for objects (infoobject, transfer rules, cubes,dso, etc...) Co

  • Using weblogic security roles in authentication: weblogic 9

    Hi All, I am trying to create a simple application which uses declarative authorization configured in web.xml. I use the simple form based authentication. While trying to deploy my application, I get the error: weblogic.management.DeploymentException

  • Send a map of documents via Invoke Web Service

    Hi,     I have one process with map of documents and 2nd process on other server, where input variable is map od documents too. How can I send this map between these processes via "Invoke Web Service" component? Simple datatypes I can. Petr

  • MDM outputs for PI

    I'm currently working on an installation of MDM where outputs will be injested and moved by PI, thus a requirement for files to be written as 664 instead of the default 644. However, I'm trying to find a solution without changing <sid>adm's umask fro