DOWNLOADING a program from a non-identified developer

I'm trying to download a program from a non identified developer.  I've changed by security settings to "open anyway" and it's still not allowing it....

It's usually not necessary to change any security settings, and as a rule you shouldn't.
To make a one-time exception to the security policy, follow these instructions. They apply to Installer packages and other installable items as well as applications.
Some defective software installers may fail when Gatekeeper is enabled. Think carefully about whether you really want to run such an installer. If you do, temporarily change the setting to
Allow applications downloaded from: Anywhere
When the installation is done, revert the setting.
Some applications that don't have a developer signature have been reported not to launch the first time unless Gatekeeper is disabled. The warning message from Gatekeeper is that the application "is damaged and can’t be opened." Again, think carefully about whether you want to trust the application. If you do, disable Gatekeeper as above, launch the application, and then re-enable Gatekeeper. If you still get the warning, delete the application. Do not follow advice to weaken the security of your system in order to run defective third-party software.

Similar Messages

  • I own acrobat 9 pro and had to re-download the program from a computer issue but when i get the serial code from the adobe website it give me serial code invalid error.  i am using copy and paste to prevent miss typing the code.

    i own acrobat 9 pro and had to re-download the program from a computer issue but when i get the serial code from the adobe website it give me serial code invalid error.  i am using copy and paste to prevent miss typing the code.

    Hi Lawrence,
    Please try the steps mentioned in the KB: https://helpx.adobe.com/creative-suite/kb/error-invalid-serial-number-acrobat.html
    Regards,
    Rave

  • TS1702 can not download any program from the App and I can not update any program downloaded in advance .. Seems to me just to wait and remain so throughout the day .. I want a solution to this problem

    can not download any program from the App and I can not update any programdownloaded in advance .. Seems to me just to wait and remain so throughout the day .. I want a solution to this problem 

    Any solution!!!!!!!

  • I tried to download a program from the apple store after I have enter the password I have received a message (your apple ID have been disabled)

    I tried to download a program from the apple store after I have enter the password I have received a message (your apple ID have been disabled)

    Contact iTunes Customer Service and request assistance
    Use this Link  >  Apple  Support  iTunes Store  Contact

  • I am new to Mac. I have iphone and ipad but I bought a used Mac G4 and all is well except I cannot figure out how to download a program from a CD that I need for my business. I think it's a simple fix so HELP!

    I am new to Mac. I own an iphone and an ipad but have always used a PC for my business use.  I bought a used Powerbook G4 and all is well EXCEPT I cannot get a program to download from a CD. I think it's an easy fix so HELP!

    A few questions ....
    What is the program you are trying to download? It is a mac version?
    Is this a vendor's CD or a copy or ?
    What error message or other indication do you get that says the download won't happen?

  • I need to download Adobe programs from my computer and it's not giving me the opitison to do it.

    I just got my iPad air I need to down load the adobe programs that I pay for every mouth. When I try to transfer the information I don't hav the options to get the files from my computer.

    dellmon sadler wrote:
    I just got my iPad air I need to down load the adobe programs
    Which Adobe programs are you trying to download to your iPad?

  • Downloading individual programs from Creative Cloude

    I uninstalled Flash Builder 4.7 because it was not launching, either from the icon or from with in Flash Pro. I am trying to reinstall the program but their does not seem to be the option to download and install just one program. Do I have to uninstall the whole Creative Cloud apps and reinstall? Or is there a way to just download and install Flash Builder 4.7?

    Hi AngryMother,
    You can download it from : http://www.adobe.com/cfusion/tdrc/index.cfm?product=flash_builder

  • HT201276 tried to download  a program from utorrent when i went to open the program my mac needed to restart. once it restarted it s been frozen ever since.

    downloaded u torrent so i could upgrade to snow leopard. once i did that i went to open the program. it restarted itself and has been frozen ever since. when i turn it on it takes way to long to boot up. and when it finnaly does its freezez on the utorrent downloading page..

    Before you tried to download Snow Leopard (via Torrent), what was the OS version you were using?
    Did you check out your machine to see if it was capable of running Snow Leopard?
    If not, read through this document and check your machine.
    Mac OS X v10.6 Snow Leopard -Read the Technical Specifications
    Then post back with your findings and specifically how much RAM you have and whether you have the facilities, Find any File and / or Easy Find.

  • Unable to download any programs from Creative Cloud

    I've been trying to install a number of apps via the Cloud (mainly Illustrator, InDesign and Photoshop - trial versions) however the installs keeping failing.  They all get to between 30%-55% and then go back to 0% and start again and then get to the same point and return to 0% again.  Very frustrating!
    Any ideas?

    KCA1122, May i know which operating system do you have? Looks like it is stuck in some loop. Let's Signout and Signin back to Creative Cloud app and then check.
    At any point, do you get any specific error message? If so, please attach the error screenshot.
    Lets reboot the machine and retry.

  • When I bought my macbook and download the program from the same shop, the seller made me un account and a password and I forgot to ask him What is the password,how I knew it without going there?? , because my time is not allowed..

    macbook

    have you called the shop to see if they remember what the password is?  That seems like that would be the best and most easiest way to start.

  • I have tried to reinstall Photoshop Elements 9. The disc I own and the download installation program from Adobe both do the same thing. "Shared Technologies" failed to install and undoes installation.  Any ideas to get it to install?

    I need help getting Photoshop Elements 9 to install inspite of my "Share Technologies" failing to install.  Any ideas?

    Hi,
    See if this document helps - there are a few things that can clash with the installation.
    Install rollback and Shared Technologies | Windows
    Good luck
    Brian

  • I decided to download the program from app store and I wrote, the necessary checks. and then I wrote that I had no right Idex. though I wrote it correctly

    Я решил скачать программу с магазина приложений, и я написал, необходимые проверки. и тогда я написал, что я не имел права IDEX. хотя я правильно написал

    You need to log into your Apple account and change your country. Take a look at this link,http://support.apple.com/kb/HT1311

  • Problems with the downloaded programs from sites on Internet

    Hi,
    I just recently got interested in downloading a program from the site myspace.com, but I have been interested in other programs earlier in my time as a MacBook user. Unfortunately, I have not discovered how to open them properly. What is the best way to get an understanding of how to open these non-universal programs, such as Instant messenger from myspace.com?
    I would like to know if I need to find the rosetta application somehow on my applications window, because I already know now, that the rosetta application won't work yet on the instant messenger that I tried to install to my computer.
    If anyone has a clue about how to get my application "Install Messenger.exe to open with rosetta, like I have read about yet don't know how to get running yet, please would you be kind to send a thread to mine on apple discussions?!
    This is really confusing, and I need to be able to do the instant messenger on Myspace so that I can become good friends with my new friends on myspace!

    Any applications that ends in .exe is a Windows application and cannot run natively on a Mac. The only way to run those applications would be to install Windows, either via BootCamp or one of the third-party systems such as Parallels Desktop. For any of those, you'd need to purchase a copy of Windows.

  • Is there a place I can download the software from the Droid X.

    Droid X
    When you plug in your phone in to your computer, there is usually a prompt that tries to install a program onto my computer or it automatically opens the software program that lets you download the various media from your phone to your computer (pics, video, music, etc.)  I got a new computer and it doesn't seem to work so I thought I'd install the program from within the computer rather than having the phone try to install it.
    I checked my USB settings and tried all four (charge only, PC mode, Mass storage, and Windows Media sync) and none of those settings seems to start up the program within droid when its plugged into my computer.
    So, can I download this program from anywhere?  I looked around the website but it either right in front of me or its not easy to find.
    Thank you in advance,
    Alex

    Never mind, found it:
    http://products.verizonwireless.com/index.aspx?id=fnd_mediaManager_ty&download_type=pc

  • Download all programs

    Guys,
    I want to download the programs from application server into one folder.If there is any program please help on this.
    If there is any attachment please mail to this id.
    mailid:[email protected]
    regards,
    vijay

    HI Vijay,
    the following program works on 47..
    [code]
    REPORT ZDOWN.
    $$================================================================$$
    Direct download ver 4.12.
    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,
       INDIRECT, SPECIAL OR INCIDENTAL DAMAGES, EVEN IF PROVIDER
       HAS BEEN ADVISED BY CLIENT OF THE POSSIBILITY OF SUCH
       POTENTIAL LOSS OR DAMAGE. CLIENT AGREES TO HOLD PROVIDER
       HARMLESS FROM AND AGAINST ANY AND ALL CLAIMS, LOSSES,
       LIABILITIES AND EXPENSES.  BY INSTALLING OR RUNNING
       THIS PROGRAM YOU ARE AGREEING TO THE TERMS AND CONDITONS STATED
       ABOVE.
    $$----
    $$
    PROGRAM DESCRIPTION
    Allows a user to download ABAPs, 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.
    Compatible with R/3 versions 3 and 4.
    $$----
    $$
    AUTHORS         : E.Mellodew & John Davies-Hale
    PROGRAM HISTORY
    1.0   Original program created
    2.0   Modified selection texts so they are now stored within
            the actual abap program.
          Added functionality to download text elements and selection
            texts for any downloaded online programs.
          Added functionality to download message classes.
          Added functionality to download screens.
    2.1   Fixed program names being truncated when downloading
            programs on version 4 systems.
    3.0   New version - allows you to download files in HTML format as
            well as text format.
    3.1   Added the ability to download nested include programs.
    3.2   Added the ability to download custom dictionary structures
             referenced within programs.
           Added the option to include/exclude local private objects.
           Fixed problem with HTML documents not displaying correctly
             within Netscape Communicator.
    3.21   Added domain name texts to HTML dictionary structure download.
           Fixed issue whereby field symbols displayed incorrectly within
             HTML documents.
    4.00   Re-structured program.
           Increased scope of options on parameter screen
           Created user friendly screen showing downloads
           Allows user to download function modules
           Program is now fully recursive and allows downloading of
             includes within includes/functions
             and functions within functions/includes.
    4.02   Added ability to download module pools
           Added 'key' flag to dictionary downloads
    4.03   Screen 1000's can now be downloaded if they belong to a
             module pool and are not a parameter screen
    4.10   Added ability to download function module documentation
    4.11   Problem with some documentation not being downloaded fixed
    Limitations
    SAP does not have the provision to create sub-folders at present.
    Messages are not downloaded for nested includes
    TABLES - DATABASES
    TABLES: RS38M, TADIR, TRDIR, DD01T, "REPOSRC,
    TRDIRE, T100, TLIBV,
            DD02L, DD03L, DD04T, V_FDIR, TFDIR, TFTIT, D010INC, DD02T.
    TYPES
    *----- Text element structure
    TYPES: T_TEXTTAB LIKE TEXTPOOL.
    *--- Message classes
    TYPES: BEGIN OF T_MESSAGES,
             MSGID LIKE TRDIRE-MSGID,
             MSGNR LIKE T100-MSGNR,
             TEXT  LIKE T100-TEXT,
           END OF T_MESSAGES.
    *--- screen flow.
    TYPES: BEGIN OF T_SCREEN_FLOW,
             SCREEN LIKE D020S-DNUM,
             CODE LIKE D022S-LINE,
           END OF T_SCREEN_FLOW.
    *--- Data dictionary objects - tables, structures.
    TYPES: BEGIN OF T_DICT_STRUCT,
             TABNAME   LIKE DD03L-TABNAME,
             TABTEXT    LIKE DD02T-DDTEXT,
             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 T_DICT_STRUCT.
    *--- Function Modules
    TYPES: BEGIN OF T_FUNCTIONS,
             FUNCNAME LIKE TFDIR-FUNCNAME,
             INCLUDE  LIKE TFDIR-INCLUDE,
             PNAME    LIKE TFDIR-PNAME,
             STEXT    LIKE TFTIT-STEXT,
           END OF T_FUNCTIONS.
    *--- Include program names
    TYPES: BEGIN OF T_INCLUDES,
             PROG LIKE TRDIR-NAME,
             TEXT(255),
           END OF T_INCLUDES.
    *----- ABAP program list
    TYPES: BEGIN OF T_PROGRAMMES,
             DEVCLASS        LIKE TADIR-DEVCLASS,
             PROG            LIKE TRDIR-NAME,
             TEXT(255),
             SUBC(1)         TYPE C,
             FUNCTIONS       TYPE T_FUNCTIONS  OCCURS 0,
           END OF T_PROGRAMMES.
    DATA - INTERNAL TABLES
    *---- Program texts - declaration only not used
    DATA: I_TEXTTAB TYPE T_TEXTTAB OCCURS 0 WITH HEADER LINE.
    DATA: I_MESSAGES TYPE T_MESSAGES OCCURS 0 WITH HEADER LINE.
    DATA: I_SCREEN_FLOW TYPE T_SCREEN_FLOW.
    *----- Program content for text download
    DATA: BEGIN OF CONTENT OCCURS 0,
            LINE(255),
          END OF CONTENT.
    *--- Programme texts.
    DATA: I_PROGRAMME_TEXTS TYPE T_TEXTTAB OCCURS 0 WITH HEADER LINE.
    *--- dictionary object
    DATA: I_DICTIONARY TYPE T_DICT_STRUCT OCCURS 0 WITH HEADER LINE.
    *--- Allows HTML routines to create an HTML without the table name on
         each line.
    DATA: BEGIN OF I_DICT_MINUS_TABNAME OCCURS 0,
             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 I_DICT_MINUS_TABNAME.
    *--- Table names of customer tables, used for searching for tables
    DATA: BEGIN OF TABLE_NAMES OCCURS 0,
            TABNAME LIKE I_DICTIONARY-TABNAME,
            TABTEXT  LIKE DD02T-DDTEXT,
          END OF TABLE_NAMES.
    *--- Function Modules.
    DATA: I_FUNCTIONS TYPE T_FUNCTIONS OCCURS 0 WITH HEADER LINE.
    DATA: I_FUNCTIONS_2 TYPE T_FUNCTIONS OCCURS 0 WITH HEADER LINE.
    *--- Customer function names, used for searching for functions
    DATA: BEGIN OF FUNCTION_NAMES OCCURS 0,
           FUNCNAME LIKE I_FUNCTIONS-FUNCNAME,
          END OF FUNCTION_NAMES.
    DATA: BEGIN OF I_PROGRAMMES OCCURS 0,
            DEVCLASS        LIKE TADIR-DEVCLASS,
            PROG            LIKE TRDIR-NAME,
            TEXT(255),
            SUBC(1)         TYPE C,
            MESSAGES        TYPE T_MESSAGES OCCURS 0,
            TEXT_ELEMENTS   TYPE T_TEXTTAB OCCURS 0,
            SELECTION_TEXTS TYPE T_TEXTTAB OCCURS 0,
            SCREEN_FLOW     TYPE T_SCREEN_FLOW OCCURS 0,
            INCLUDES        TYPE T_INCLUDES OCCURS 0,
            FUNCTIONS       TYPE T_FUNCTIONS OCCURS 0,
            DICT_STRUCT     TYPE T_DICT_STRUCT OCCURS 0,
          END OF I_PROGRAMMES.
    *--- Names of function modules used within programmes
    data: i_prog_includes type t_includes occurs 0 with header line.
    *--- Includes to download
    DATA: I_INCLUDES LIKE I_PROGRAMMES OCCURS 0 WITH HEADER LINE.
    *--- Tree display structure.
    DATA: I_NODE LIKE SNODETEXT OCCURS 0 WITH HEADER LINE.
    *--- Temp table of downloaded objects.
    DATA: BEGIN OF I_DOWNLOADED OCCURS 0,
            OBJECT(30),
          END OF I_DOWNLOADED.
    DATA - WORKING FIELDS
    DATA: FOOTER_MESSAGE LIKE CONTENT-LINE.
    DATA: MESS(100).
    DATA: TEMP_FUNC_NAME LIKE I_FUNCTIONS-FUNCNAME.
    DATA: FORCED_EXIT TYPE I VALUE 0.
    DATA: START_TIME LIKE SY-UZEIT.
    DATA: RUN_TIME LIKE SY-UZEIT.
    DATA: RUN_TIME_CHAR(8).
    RANGES: S_PROG   FOR TRDIR-NAME.
    RANGES: S_DEV    FOR TADIR-DEVCLASS.
    RANGES: S_AUTH   FOR USR02-BNAME.
    RANGES: S_TABLE  FOR DD02L-TABNAME.
    RANGES: S_FNAME  FOR TFDIR-FUNCNAME.
    RANGES: S_FGROUP FOR ENLFDIR-AREA.
    CONSTANTS
    CONSTANTS: C_TABLES(6) VALUE 'TABLES'.
    CONSTANTS: C_LIKE(4) VALUE 'LIKE'.
    CONSTANTS: C_TYPE(4) VALUE 'TYPE'.
    CONSTANTS: C_STRUCTURE(9) VALUE 'STRUCTURE'.
    CONSTANTS: C_COMMA(1) VALUE ','.
    CONSTANTS: C_PERIOD(1) VALUE '.'.
    CONSTANTS: C_VERSION_NO(4) VALUE '4.12'.
    SELECTION SCREEN
    *--- Author
    SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME TITLE T_B1.
      selection-screen begin of line.
      SELECTION-SCREEN COMMENT 5(23) T_AUTH.
      PARAMETERS: P_AUTH LIKE USR02-BNAME.
      selection-screen end of line.
    selection-screen begin of line.
       SELECTION-SCREEN COMMENT 5(36) T_PMOD.
       parameters: p_mod as checkbox.
    selection-screen end of line.
    SELECTION-SCREEN: END OF BLOCK B1.
    SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE T_B2.
    *--- Tables
      selection-screen begin of line.
        PARAMETERS: R_TABLE RADIOBUTTON GROUP R1.
        SELECTION-SCREEN COMMENT 5(20) T_RTABLE.
      selection-screen end of line.
      SELECTION-SCREEN BEGIN OF LINE.
        SELECTION-SCREEN COMMENT 10(18) T_PTABLE.
        PARAMETERS: P_TABLE LIKE DD02L-TABNAME.
      SELECTION-SCREEN END OF LINE.
      selection-screen begin of line.
        SELECTION-SCREEN COMMENT 10(69) T_TNOTE.
      selection-screen end of line.
    selection-screen begin of line.
       SELECTION-SCREEN COMMENT 14(61) T_TNOTE1.
    selection-screen end of line.
    *--- Function Modules
      SELECTION-SCREEN BEGIN OF LINE.
        PARAMETERS: R_FUNC RADIOBUTTON GROUP R1.
        SELECTION-SCREEN COMMENT 5(30) T_RFUNC.
      selection-screen end of line.
      selection-screen begin of line.
        SELECTION-SCREEN COMMENT 10(18) T_PFNAME.
        PARAMETERS: P_FNAME LIKE TFDIR-FUNCNAME.
      selection-screen end of line.
      selection-screen begin of line.
        SELECTION-SCREEN COMMENT 10(18) T_FGROUP.
        PARAMETERS: P_FGROUP LIKE ENLFDIR-AREA.
      selection-screen end of line.
    *--- Programs / Includes
      SELECTION-SCREEN BEGIN OF LINE.
        PARAMETERS: R_PROG RADIOBUTTON GROUP R1.
        SELECTION-SCREEN COMMENT 5(18) T_RPROG.
      SELECTION-SCREEN END OF LINE.
      SELECTION-SCREEN BEGIN OF LINE.
        SELECTION-SCREEN COMMENT 10(18) T_RPNAME.
        PARAMETERS: P_PROG LIKE TRDIR-NAME MEMORY ID RID.
      SELECTION-SCREEN END OF LINE.
      selection-screen begin of line.
        SELECTION-SCREEN COMMENT 10(18) T_SDEV.
       PARAMETERS: P_DEV LIKE TADIR-DEVCLASS.
      selection-screen end of line.
    *--- Local objects
      SELECTION-SCREEN SKIP.
      SELECTION-SCREEN BEGIN OF LINE.
        SELECTION-SCREEN COMMENT 1(27) T_$TMP.
        PARAMETERS: P_$TMP AS CHECKBOX DEFAULT 'X'.
      SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN: END OF BLOCK B2.
    *-----  Additional things to download.
    SELECTION-SCREEN: BEGIN OF BLOCK B3 WITH FRAME TITLE T_B3.
      SELECTION-SCREEN BEGIN OF LINE.
      SELECTION-SCREEN COMMENT 1(30) T_PTEXT.
      PARAMETERS: P_TEXT AS CHECKBOX DEFAULT 'X'.
      SELECTION-SCREEN END OF LINE.
      SELECTION-SCREEN BEGIN OF LINE.
      SELECTION-SCREEN COMMENT 1(30) T_PMES.
      PARAMETERS: P_MES AS CHECKBOX DEFAULT 'X'.
      SELECTION-SCREEN END OF LINE.
      SELECTION-SCREEN BEGIN OF LINE.
      SELECTION-SCREEN COMMENT 1(30) T_PINC.
      PARAMETERS: P_INC AS CHECKBOX DEFAULT 'X'.
      SELECTION-SCREEN COMMENT 40(20) T_RECU.
      PARAMETERS: P_RECI AS CHECKBOX DEFAULT 'X'.
      SELECTION-SCREEN END OF LINE.
      selection-screen begin of line.
      SELECTION-SCREEN COMMENT 1(30) T_PFUNC.
      PARAMETERS: P_FUNC AS CHECKBOX DEFAULT 'X'.
      SELECTION-SCREEN COMMENT 40(20) T_RECF.
      PARAMETERS: P_RECF AS CHECKBOX DEFAULT 'X'.
      selection-screen end of line.
      SELECTION-SCREEN BEGIN OF LINE.
      SELECTION-SCREEN COMMENT 1(30) T_DOC.
      PARAMETERS: P_DOC AS CHECKBOX DEFAULT 'X'.
      SELECTION-SCREEN END OF LINE.
      selection-screen begin of line.
      SELECTION-SCREEN COMMENT 1(30) T_PSCR.
      PARAMETERS: P_SCR AS CHECKBOX.
      selection-screen end of line.
      SELECTION-SCREEN BEGIN OF LINE.
      SELECTION-SCREEN COMMENT 1(30) T_PDICT.
      PARAMETERS: P_DICT AS CHECKBOX DEFAULT 'X'.
      SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN: END OF BLOCK B3.
    *-----  File details
    SELECTION-SCREEN: BEGIN OF BLOCK B4 WITH FRAME TITLE T_B4.
        SELECTION-SCREEN BEGIN OF LINE.
        SELECTION-SCREEN COMMENT 1(20) T_PHTML.
        PARAMETERS: P_HTML RADIOBUTTON GROUP G1 DEFAULT 'X'.
        SELECTION-SCREEN COMMENT 30(20) T_PHEXT.
        PARAMETERS: P_HEX(4) TYPE C DEFAULT 'Html' LOWER CASE.
        SELECTION-SCREEN END OF LINE.
        SELECTION-SCREEN BEGIN OF LINE.
        SELECTION-SCREEN COMMENT 1(20) T_PTXT.
        PARAMETERS: P_TXT RADIOBUTTON GROUP G1.
        SELECTION-SCREEN COMMENT 30(20) T_PEXT.
        PARAMETERS: P_TEX(4) TYPE C DEFAULT 'Txt' LOWER CASE.
        SELECTION-SCREEN END OF LINE.
        SELECTION-SCREEN SKIP.
        SELECTION-SCREEN BEGIN OF LINE.
        SELECTION-SCREEN COMMENT 1(20) T_PPATH.
        PARAMETERS: P_PATH LIKE RLGRAP-FILENAME
                                               OBLIGATORY DEFAULT 'C:\temp'.
        SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN: END OF BLOCK B4.
      INITIALIZATION
    INITIALIZATION.
    *--- parameter screen texts.
    T_B1     = 'Author (Optional)'.
    T_B2     = 'Objects to download'.
    T_B3     = 'Additional downloads'.
    T_B4     = 'Download parameters'.
    T_AUTH   = 'Author name'.
    T_PMOD   = 'Include programs modified by author'.
    T_RTABLE = 'Tables'.
    T_PTABLE = 'Table name'.
    T_TNOTE  = 'Please note: tables are stored under the username of'.
    T_TNOTE1 = '             the last person who modified them.'.
    T_RFUNC  = 'Function modules'.
    T_PFNAME = 'Function name'.
    T_FGROUP = 'Function group'.
    T_RPROG  = 'Programs'.
    T_RPNAME = 'Program name'.
    T_SDEV   = 'Development class'.
    T_PTXT   = 'Text document'.
    T_PHTML  = 'HTML document'.
    T_PTEXT  = 'Text elements'.
    T_PINC   = 'Include programs'.
    T_RECU   = 'Recursive search'.
    T_PHEXT  = 'File extension'.
    T_PEXT   = 'File extension'.
    T_PPATH  = 'File path'.
    T_PMES   = 'Message classes'.
    T_PFUNC  = 'Function modules'.
    T_DOC    = 'Function module documentation'.
    T_RECF   = 'Recursive search'.
    T_PSCR   = 'Screens'.
    T_PDICT  = 'Dictionary structures'.
    T_$TMP   = 'Include local objects'.
    CONCATENATE 'Extracted by Direct download v' C_VERSION_NO
                             ' 1998-2000.' INTO FOOTER_MESSAGE.
    START-OF-SELECTION.
    START-OF-SELECTION.
      PERFORM CHECK_COMBO_BOXES.
      PERFORM FILL_RANGES.
      START_TIME = SY-UZEIT.
      TRANSLATE P_HEX TO LOWER CASE.
      TRANSLATE P_TEX TO LOWER CASE.
    *--- Main program flow.
      CASE 'X'.
    *--- Select tables
        WHEN R_TABLE.
          PERFORM RETRIEVE_TABLES TABLES I_DICTIONARY
                                         TABLE_NAMES
                                         S_TABLE.
        WHEN R_FUNC.
    *--- Select function modules
          PERFORM RETRIEVE_FUNCTIONS TABLES S_FNAME
                                            S_FGROUP
                                            I_PROGRAMMES
                                            I_FUNCTIONS
                                     USING 1.
          LOOP AT I_FUNCTIONS.
             PERFORM FUNC_INCLUDE_NAME USING I_FUNCTIONS-PNAME
                                             I_FUNCTIONS-INCLUDE
                                             TEMP_FUNC_NAME
                                             0.
             PERFORM FIND_INCLUDE_PROGRAMS USING TEMP_FUNC_NAME.
             PERFORM FIND_CUSTOM_FUNCTIONS TABLES I_FUNCTIONS
                                           USING TEMP_FUNC_NAME.
          ENDLOOP.
          SORT I_PROG_INCLUDES ASCENDING BY PROG.
          DELETE ADJACENT DUPLICATES FROM I_PROG_INCLUDES COMPARING PROG.
          perform retrieve_functions tables s_fname
                                            s_fgroup
                                            I_FUNCTIONS
                                            I_FUNCTIONS_2
                                     USING 0.
          I_FUNCTIONS[] = I_FUNCTIONS_2[].
    *--- Select programs
        WHEN R_PROG.
          MESS = 'Processing please wait...'.
          PERFORM DISPLAY_STATUS USING MESS 0.
          PERFORM RETRIEVE_PROGRAMS TABLES I_PROGRAMMES
                                           S_PROG
                                           S_DEV
                                           S_AUTH.
      ENDCASE.
    END-OF-SELECTION
    END-OF-SELECTION.
      IF FORCED_EXIT = 0.
        CASE 'X'.
          WHEN R_TABLE.
            IF NOT ( I_DICTIONARY[] IS INITIAL ).
              PERFORM DOWNLOAD_DD_STRUCTURES TABLES I_DICTIONARY
                                             USING P_PATH.
              PERFORM FILL_TREE_NODE_TABLES TABLES I_DICTIONARY.
            ENDIF.
          WHEN R_FUNC.
            IF NOT ( I_FUNCTIONS[] IS INITIAL ).
              PERFORM DOWNLOAD_FUNCTIONS TABLES I_FUNCTIONS
                                         USING P_PATH.
              PERFORM FILL_TREE_NODE_FUNCTIONS TABLES I_FUNCTIONS.
            ENDIF.
          WHEN R_PROG.
            IF NOT ( I_PROGRAMMES[] IS INITIAL ).
              PERFORM DOWNLOAD_PROGRAMS TABLES I_PROGRAMMES
                                        USING P_PATH.
              PERFORM FILL_TREE_NODE_PROGRAMS TABLES I_PROGRAMMES.
            ENDIF.
        ENDCASE.
        IF NOT ( I_NODE[] IS INITIAL ).
          PERFORM DISPLAY_TREE TABLES I_NODE.
        ELSE.
          MESS = 'No items found matching selection criteria'.
          PERFORM DISPLAY_STATUS USING MESS 2.
        ENDIF.
      ENDIF.
    *--- Name parameters
      SET PARAMETER ID 'RID' FIELD P_PROG.
      SET PARAMETER ID 'DOB' FIELD P_TABLE.
    SET PARAMETER ID 'DVC' FIELD P_DEV.
      SET PARAMETER ID 'LIB' FIELD P_FNAME.
    ****************************SUBROUTINES*******************************
    CHECK_COMBO_BOXES...
    FORM CHECK_COMBO_BOXES.
        IF P_AUTH IS INITIAL.
          CASE 'X'.
            WHEN R_TABLE.
              IF P_TABLE IS INITIAL.
                MESS = 'You must enter a table name or author'.
              ENDIF.
            WHEN R_FUNC.
              IF ( P_FNAME IS INITIAL AND P_FGROUP IS INITIAL ).
                CONCATENATE 'You must enter a function name,'
                            'function group or author'
                            INTO MESS SEPARATED BY SPACE.
              ENDIF.
            WHEN R_PROG.
              IF P_PROG IS INITIAL.
                CONCATENATE 'You must enter a program name'
                            'development class or author'
                            INTO MESS SEPARATED BY SPACE.
              ENDIF.
          ENDCASE.
        ELSE.
          IF R_FUNC = 'X'.
            IF ( ( P_AUTH <> '' ) AND
               ( ( P_FNAME <> '' ) OR ( P_FGROUP <> '' ) ) ).
                  CONCATENATE 'You cannnot enter an author as well as'
                              'a func name or func group'
                              INTO MESS SEPARATED BY SPACE.
            ENDIF.
          ENDIF.
        ENDIF.
        IF NOT MESS IS INITIAL.
          PERFORM DISPLAY_STATUS USING MESS 3.
          FORCED_EXIT = 1.
          STOP.
        ENDIF.
    ENDFORM.                    " CHECK_COMBO_BOXES
    FILL_RANGES...      for selection routines
    FORM FILL_RANGES.
      if not p_auth is initial.
        s_auth-sign = 'I'.
        s_auth-option = 'EQ'.
        s_auth-low = p_auth.
        append s_auth.
      endif.
      IF NOT P_TABLE IS INITIAL.
        S_TABLE-SIGN = 'I'.
        S_TABLE-OPTION = 'EQ'.
        S_TABLE-LOW = P_TABLE.
        APPEND S_TABLE.
      endif.
      IF NOT P_FNAME IS INITIAL.
        S_FNAME-SIGN = 'I'.
        S_FNAME-OPTION = 'EQ'.
        S_FNAME-LOW = P_FNAME.
        APPEND S_FNAME.
      endif.
      IF NOT P_FGROUP IS INITIAL.
        S_FGROUP-SIGN = 'I'.
        S_FGROUP-OPTION = 'EQ'.
        S_FGROUP-LOW = P_FGROUP.
        APPEND S_FGROUP.
      endif.
      IF NOT P_PROG IS INITIAL.
        S_PROG-SIGN = 'I'.
        S_PROG-OPTION = 'EQ'.
        S_PROG-LOW = P_PROG.
        APPEND S_PROG.
      ENDIF.
    IF NOT P_DEV IS INITIAL.
       S_DEV-SIGN = 'I'.
       S_DEV-OPTION = 'EQ'.
       S_DEV-LOW = P_DEV.
       APPEND S_DEV.
    ENDIF.
      IF P_$TMP IS INITIAL.
        S_DEV-SIGN = 'E'.
        S_DEV-OPTION = 'EQ'.
        S_DEV-LOW = '$TMP'.
        APPEND S_DEV.
      ENDIF.
    ENDFORM.
    FIND_TABLES...             Search for tables in dictionary
    FORM RETRIEVE_TABLES TABLES I_DICTIONARY STRUCTURE I_DICTIONARY
                                TABLE_NAMES STRUCTURE TABLE_NAMES
                                RANGE_TABLE STRUCTURE S_TABLE.
      SELECT TABNAME FROM DD02L
                     INTO TABLE_NAMES-TABNAME
                     WHERE TABNAME IN RANGE_TABLE
                     AND AS4USER IN S_AUTH.
        SELECT SINGLE DDTEXT FROM DD02T
                             INTO TABLE_NAMES-TABTEXT
                             WHERE TABNAME = TABLE_NAMES-TABNAME
                             AND DDLANGUAGE = SY-LANGU.
        APPEND TABLE_NAMES.
      ENDSELECT.
      IF NOT ( TABLE_NAMES[] IS INITIAL ).
        PERFORM FIND_TABLE_DEFINITION TABLES I_DICTIONARY
                                             TABLE_NAMES.
      ENDIF.
    ENDFORM.
    find_table_definition... from sap database.
    FORM FIND_TABLE_DEFINITION TABLES I_DICT STRUCTURE I_DICTIONARY
                                      TABLENAMES STRUCTURE TABLE_NAMES.
    DATA gotstate LIKE  dcobjif-gotstate.
    DATA dd02v_wa LIKE dd02v.
    DATA dd09l_wa LIKE dd09l.
    DATA: DEFINITION LIKE DD03P OCCURS 0 WITH HEADER LINE.
      LOOP AT TABLENAMES.
       CALL FUNCTION 'DDIF_TABL_GET'
         EXPORTING
              NAME          = TABLENAMES-TABNAME
              STATE         = 'A'
              LANGU         = 'E'
         IMPORTING
             GOTSTATE      = GOTSTATE
             DD02V_WA      = DD02V_WA
             DD09L_WA      = DD09L_WA
         TABLES
              DD03P_TAB     = DEFINITION
         EXCEPTIONS
              ILLEGAL_INPUT = 1
              OTHERS        = 2.
        IF SY-SUBRC = 0 AND GOTSTATE = 'A'.
          LOOP AT DEFINITION.
            MOVE-CORRESPONDING DEFINITION TO I_DICT.
            MOVE TABLE_NAMES-TABTEXT TO I_DICT-TABTEXT.
            APPEND I_DICT.
          ENDLOOP.
        ENDIF.
      ENDLOOP.
    ENDFORM.
    RETRIEVE_FUNCTIONS...   Retrieve function modules from SAP DB
    FORM RETRIEVE_FUNCTIONS TABLES S_FNAME STRUCTURE S_FNAME
                                   S_FGROUP STRUCTURE S_FGROUP
                                   FUNC_NAMES STRUCTURE I_FUNCTIONS
                                   FOUND_FUNC STRUCTURE I_FUNCTIONS
                            USING MAIN_SCAN.
    RANGES: SEL_FNAME  FOR TFDIR-FUNCNAME.
    RANGES: SEL_FGROUP FOR ENLFDIR-AREA.
      SEL_FNAME[] = S_FNAME[].
      SEL_FGROUP[] = S_FGROUP[].
      IF  MAIN_SCAN = 1.
        IF NOT P_AUTH IS INITIAL.
    *---  select all function groups by author
          SELECT AREA FROM TLIBV INTO SEL_FGROUP-LOW
                           WHERE UNAME = P_AUTH.
            SEL_FGROUP-SIGN = 'I'.
            SEL_FGROUP-OPTION = 'EQ'.
            APPEND SEL_FGROUP.
          ENDSELECT.
        ENDIF.
    *--- Select by function name and/or function group.
          SELECT * FROM V_FDIR
                   WHERE FUNCNAME IN SEL_FNAME
                     AND AREA IN SEL_FGROUP
                     AND GENERATED = ''.
            SELECT SINGLE FUNCNAME
                          PNAME
                          INCLUDE  FROM TFDIR
                                   INTO (FOUND_FUNC-FUNCNAME,
                                         FOUND_FUNC-PNAME,
                                         FOUND_FUNC-INCLUDE)
                                   WHERE FUNCNAME = V_FDIR-FUNCNAME.
            SELECT SINGLE STEXT FROM TFTIT
                                INTO FOUND_FUNC-STEXT
                                WHERE SPRAS = SY-LANGU
                                  AND FUNCNAME = V_FDIR-FUNCNAME.
            APPEND I_FUNCTIONS.
          ENDSELECT.
      ELSE.
        LOOP AT FUNC_NAMES.
            SELECT SINGLE FUNCNAME
                          PNAME
                          INCLUDE  FROM TFDIR
                                   INTO (FOUND_FUNC-FUNCNAME,
                                         FOUND_FUNC-PNAME,
                                         FOUND_FUNC-INCLUDE)
                                   WHERE FUNCNAME = FUNC_NAMES-FUNCNAME.
            SELECT SINGLE STEXT FROM TFTIT
                                INTO FOUND_FUNC-STEXT
                                WHERE SPRAS = SY-LANGU
                                  AND FUNCNAME = FUNC_NAMES-FUNCNAME.
            APPEND FOUND_FUNC.
        ENDLOOP.
      ENDIF.
    ENDFORM.
    RETRIEVE_PROGRAMS...    find programs and sub objects from SAP DB
    FORM RETRIEVE_PROGRAMS TABLES I_PROG STRUCTURE I_PROGRAMMES
                                  SEL_PROG STRUCTURE S_PROG
                                  SEL_DEV  STRUCTURE S_DEV
                                  SEL_AUTH STRUCTURE S_AUTH.
    DATA: COUNTER TYPE I VALUE 1.
    DATA: WA_INCLUDES TYPE T_INCLUDES.
    *----- Select by name, development class and author
      IF P_MOD IS INITIAL.
        SELECT  PROGNAME SUBC FROM REPOSRC
                                  INTO (I_PROG-PROG,
                                        I_PROG-SUBC)
                                  WHERE PROGNAME IN SEL_PROG
                                  AND DEVCLASS IN SEL_DEV
                                    AND CNAM     IN SEL_AUTH.
                                   AND ( SUBC     = '1'
                                         OR SUBC  = 'M' ).
          APPEND I_PROG.
        ENDSELECT.
      ELSE.
        SELECT PROGNAME SUBC FROM REPOSRC
                                  INTO (I_PROG-PROG,
                                        I_PROG-SUBC)
                                  WHERE PROGNAME IN SEL_PROG
                                  AND DEVCLASS IN SEL_DEV
                                   AND SUBC     = '1'
                                    AND ( CNAM     IN SEL_AUTH
                                     OR   UNAM     IN SEL_AUTH ).
          APPEND I_PROG.
        ENDSELECT.
      ENDIF.
    *----- Find extra items
      LOOP AT I_PROG.
        PERFORM FIND_PROGRAM_NAME USING I_PROG-PROG
                                  CHANGING I_PROG-TEXT.
        IF P_TEXT = 'X'.
          PERFORM FIND_PROGRAM_TEXTS TABLES I_PROG.
        ENDIF.
        IF P_MES = 'X'.
          PERFORM FIND_MESSAGES TABLES I_PROG USING I_PROG-PROG.
        ENDIF.
        IF P_SCR = 'X'.
          PERFORM FIND_SCREEN_FLOW TABLES I_PROG USING I_PROG-PROG.
        ENDIF.
        if p_dict = 'X'.
          perform find_custom_dict_structures tables i_prog
                                                     table_names
                                              using i_prog-prog.
        endif.
        if p_func = 'X'.
          PERFORM FIND_CUSTOM_FUNCTIONS TABLES FUNCTION_NAMES
                                        USING I_PROG-PROG.
        endif.
        IF P_INC = 'X'.
           PERFORM FIND_INCLUDE_PROGRAMS USING I_PROG-PROG.
           PERFORM SORT_INCLUDES TABLES I_PROG.
    *---   find all relevant data for the includes table.
           IF NOT ( I_INCLUDES[] IS INITIAL ).
             LOOP AT I_PROG-INCLUDES INTO WA_INCLUDES.
               IF P_DICT = 'X'.
                  PERFORM FIND_CUSTOM_DICT_STRUCTURES TABLES I_PROG
                                                             TABLE_NAMES
                                                     USING WA_INCLUDES-PROG.
               ENDIF.
               IF P_FUNC = 'X'.
                  PERFORM FIND_CUSTOM_FUNCTIONS TABLES FUNCTION_NAMES
                                                USING WA_INCLUDES-PROG.
               ENDIF.
             ENDLOOP.
           ENDIF.
        ENDIF.
        PERFORM SORT_DICT_STRUCTURES TABLES I_PROG TABLE_NAMES.
        PERFORM SORT_FUNCTIONS TABLES I_PROG FUNCTION_NAMES.
        MODIFY I_PROG INDEX COUNTER.
        COUNTER = COUNTER + 1.
      ENDLOOP.
    ENDFORM.
    FIND_PROGRAM_NAME... find programme name
    FORM FIND_PROGRAM_NAME USING PROGramme_name
                           CHANGING programme_TEXT.
      READ TEXTPOOL PROGRAMME_NAME INTO I_PROGRAMME_TEXTS LANGUAGE SY-LANGU.
      READ TABLE I_PROGRAMME_TEXTS WITH KEY 'R'.
      IF SY-SUBRC EQ 0.
        PROGRAMME_TEXT = I_PROGRAMME_TEXTS-ENTRY.
        DELETE I_PROGRAMME_TEXTS INDEX SY-TABIX.
      ENDIF.
    ENDFORM.                               " FIND_PROGRAMME_NAME
      FIND_PROGRAM_TEXTS...  Messages and text elements
    FORM FIND_PROGRAM_TEXTS TABLES I_PROG STRUCTURE I_PROGRAMMES.
    DATA: TEMP_SELECTION TYPE T_TEXTTAB.
    *--- selection texts.
      LOOP AT I_PROGRAMME_TEXTS WHERE ID = 'S'.
        APPEND I_PROGRAMME_TEXTS TO I_PROG-SELECTION_TEXTS.
        DELETE I_PROGRAMME_TEXTS INDEX SY-TABIX.
      ENDLOOP.
    *--- Text elements.
      LOOP AT I_PROGRAMME_TEXTS WHERE ID = 'I'.
        APPEND I_PROGRAMME_TEXTS TO I_PROG-TEXT_ELEMENTS.
      ENDLOOP.
    ENDFORM.
      FIND_MESSAGES... finds all program messages including dynamically
                         called messages - providing they have been
                         declared on one complete line.
    FORM FIND_MESSAGES TABLES I_PROG STRUCTURE I_PROGRAMMES
                       USING PROGNAME.
    *--- lines for main program
    DATA: I_REPORT_LINES LIKE CONTENT OCCURS 0 WITH HEADER LINE.
    *-- Separate working area for internal table
    DATA: WA_MESSAGES TYPE T_MESSAGES.
    DATA: msgid LIKE trdire-msgid.
    DATA: HEAD LIKE I_REPORT_LINES-LINE.
    DATA: TAIL LIKE I_REPORT_LINES-LINE.
    DATA: headlength TYPE i VALUE 0.
    DATA: TAILLENGTH TYPE I VALUE 0.
    *--- Read the program contents into memory
      READ REPORT PROGNAME INTO I_REPORT_LINES.
    *--- Read the report content looking for message calls.
      LOOP AT I_REPORT_LINES.
        TRANSLATE I_REPORT_LINES TO UPPER CASE.
        IF NOT ( I_REPORT_LINES IS INITIAL ) AND I_REPORT_LINES(1) <> '*'.
        Find the main message definition.
          IF I_REPORT_LINES CS 'MESSAGE-ID'.
            SHIFT I_REPORT_LINES LEFT DELETING LEADING SPACE.
            SPLIT I_REPORT_LINES AT 'MESSAGE-ID' INTO HEAD TAIL.
            SPLIT TAIL AT '.' INTO HEAD TAIL.
            SHIFT HEAD LEFT DELETING LEADING SPACE.
            MSGID = HEAD.
          ELSE.
        There are three different ways of calling a message to display
        this routine looks for all three of them and strips the message
        class and number out of the code
            IF I_REPORT_LINES CS 'MESSAGE'.
              SHIFT I_REPORT_LINES-LINE UP TO 'MESSAGE'.
              IF I_REPORT_LINES-LINE CS '('.
                SPLIT I_REPORT_LINES-LINE AT '(' INTO HEAD TAIL.
                HEADLENGTH = STRLEN( HEAD ).
                HEADLENGTH = HEADLENGTH - 3.
                WA_MESSAGES-MSGNR = HEAD+HEADLENGTH(3).
                SPLIT TAIL AT ')' INTO HEAD TAIL.
                WA_MESSAGES-MSGID = HEAD.
              ELSEIF I_REPORT_LINES-LINE CS 'ID'.
                SHIFT I_REPORT_LINES UP TO 'ID'.
                SPLIT I_REPORT_LINES AT SPACE INTO HEAD TAIL.
                SHIFT TAIL LEFT DELETING LEADING SPACE.
                HEAD = TAIL.
                SPLIT HEAD AT SPACE INTO HEAD TAIL.
                WA_MESSAGES-MSGID = HEAD.
                SPLIT TAIL AT 'NUMBER' INTO HEAD TAIL.
                SHIFT TAIL LEFT DELETING LEADING SPACE.
                TAILLENGTH = STRLEN( TAIL ).
                IF TAILLENGTH = 3.
                  WA_MESSAGES-MSGNR = TAIL+0(3).
                ELSE.
                  CONTINUE.
                ENDIF.
              ELSE.
    *---        use message class from main program
                SPLIT I_REPORT_LINES-LINE AT SPACE INTO HEAD TAIL.
                SHIFT TAIL LEFT DELETING LEADING SPACE.
                WA_MESSAGES-MSGID = MSGID.
                WA_MESSAGES-MSGNR = TAIL+1(3).
              ENDIF.
              APPEND WA_MESSAGES TO I_PROG-MESSAGES.
              CLEAR WA_MESSAGES.
            ENDIF.
          ENDIF.
        ENDIF.
      ENDLOOP.
    *--- Sort the messages and delete multiple occurrences from the
       internal table.
      SORT I_PROG-MESSAGES ASCENDING BY MSGID MSGNR.
      DELETE I_PROG-MESSAGES WHERE MSGID(1) <> 'Y'
                               AND MSGID(1) <> 'Z'.
      DELETE ADJACENT DUPLICATES FROM I_PROG-MESSAGES.
      DELETE I_PROG-MESSAGES WHERE MSGID IS INITIAL.
      DELETE I_PROG-MESSAGES WHERE MSGNR IS INITIAL.
      DELETE I_PROG-MESSAGES WHERE MSGNR CN '0123456789'.
      LOOP AT I_PROG-MESSAGES INTO WA_MESSAGES.
        SELECT SINGLE TEXT FROM T100 INTO WA_MESSAGES-TEXT
                           WHERE SPRSL = SY-LANGU
                             AND ARBGB = WA_MESSAGES-MSGID
                             AND MSGNR = WA_MESSAGES-MSGNR.
         MODIFY I_PROG-MESSAGES FROM WA_MESSAGES INDEX SY-TABIX.
      ENDLOOP.
    ENDFORM.
    FIND_SCREEN_FLOW...
    FORM FIND_SCREEN_FLOW TABLES I_PROG STRUCTURE I_PROGRAMMES
                          USING PROGNAME.
    DATA: FLOW TYPE T_SCREEN_FLOW OCCURS 0 WITH HEADER LINE.
       call function 'DYNPRO_PROCESSINGLOGIC'
            exporting
                 REP_NAME  = PROGNAME
            tables
                 SCR_LOGIC = FLOW.
      SORT FLOW ASCENDING BY SCREEN.
      DELETE ADJACENT DUPLICATES FROM FLOW COMPARING SCREEN.
      IF I_PROG-SUBC <> 'M'.
        DELETE FLOW WHERE SCREEN = '1000'.
      ENDIF.
      LOOP AT FLOW.
        APPEND FLOW TO I_PROG-SCREEN_FLOW.
      ENDLOOP.
    ENDFORM.                    " FIND_SCREEN_FLOW
    FIND_INCLUDE_PROGRAMS... Search each program for INCLUDE programs
    FORM FIND_INCLUDE_PROGRAMS USING VALUE(PROGRAM).
    DATA: FIP_PROG(255),
          TAIL(255).
    *--- Lines for include
    DATA: I_INC_LINES LIKE CONTENT OCCURS 0 WITH HEADER LINE.
    *----- Read ABAP
        READ REPORT PROGRAM INTO I_INC_LINES.
    *----- Examine each line of ABAP
        LOOP AT I_INC_LINES.
    *--- find include programs.
          IF I_INC_LINES(1) = '*' OR I_INC_LINES IS INITIAL.
            CONTINUE.
          ENDIF.
          TRANSLATE I_INC_LINES-LINE TO UPPER CASE.
          SHIFT I_INC_LINES-LINE UP TO 'INCLUDE'.
          IF ( I_INC_LINES-LINE(9) EQ 'INCLUDE Z' ) OR
             ( I_INC_LINES-LINE(9) EQ 'INCLUDE Y' )
          AND I_INC_LINES-LINE+8(9) NE SPACE
          AND SY-TABIX <> 1.
            FIP_PROG = I_INC_LINES-LINE+8(64).
            SPLIT FIP_PROG AT '.' INTO FIP_PROG TAIL.
          Append program name to list of include programs
            SELECT SINGLE * FROM TRDIR WHERE NAME EQ FIP_PROG.
            CHECK SY-SUBRC EQ 0.
            I_PROG_INCLUDES-PROG = FIP_PROG.
            APPEND I_PROG_INCLUDES.
    *--- Recursively look for other includes.
            IF P_RECI = 'X'.
              PERFORM FIND_INCLUDE_PROGRAMS USING FIP_PROG.
            ENDIF.
          ENDIF.
        ENDLOOP.
    ENDFORM.                               " FIND_INCLUDE_PROGRAMS
    SORT_INCLUDES.. Remove any duplicates from include table.
    FORM SORT_INCLUDES TABLES I_PROG STRUCTURE I_PROGRAMMES.
      SORT I_PROG_INCLUDES.
      DELETE ADJACENT DUPLICATES FROM I_PROG_INCLUDES COMPARING PROG.
      LOOP AT I_PROG_INCLUDES.
        PERFORM FIND_PROGRAM_NAME USING    I_PROG_INCLUDES-PROG
                                  CHANGING I_PROG_INCLUDES-TEXT.
        MODIFY I_PROG_INCLUDES.
        MOVE-CORRESPONDING I_PROG_INCLUDES TO I_INCLUDES.
        APPEND I_INCLUDES.
      ENDLOOP.
      APPEND LINES OF I_PROG_INCLUDES TO I_PROG-INCLUDES.
      CLEAR I_PROG_INCLUDES. REFRESH I_PROG_INCLUDES.
    ENDFORM.
    FIND_CUSTOM_DICT_STRUCTURES... Look for any dictionary objects
                                    not created by SAP
    FORM FIND_CUSTOM_DICT_STRUCTURES TABLES I_PROG STRUCTURE I_PROGRAMMES
                                            TABLE_NAMES
                                            STRUCTURE TABLE_NAMES
                                     USING VALUE(PROGRAM).
    DATA I_LINES LIKE CONTENT OCCURS 0 WITH HEADER LINE.
    DATA: HEAD(76).
    DATA: TAIL(76).
    DATA: LINETYPE(9).
    DATA: END_OF_LINE TYPE I VALUE 1.
    *--- read abap
       READ REPORT PROGRAM INTO I_LINES.
       LOOP AT I_LINES.
    *--- find custom tables.
         IF I_LINES-LINE(1) = '*' OR I_LINES IS INITIAL.
           CONTINUE.
         ENDIF.
         TRANSLATE I_LINES-LINE TO UPPER CASE.
    Determine the linetype.
         IF END_OF_LINE = 1.
           SHIFT I_LINES-LINE UP TO C_TABLES.
           IF SY-SUBRC = 0.
             LINETYPE = C_TABLES.
           ELSE.
             SHIFT I_LINES-LINE UP TO C_LIKE.
             IF SY-SUBRC = 0.
               LINETYPE = C_TYPE.
             ELSE.
               SHIFT I_LINES-LINE UP TO C_TYPE.
        

Maybe you are looking for

  • Re: I got a malware, how do I get rid of it?

    I got my MacBook Air corrupted by pop up warm and probably other things through Safari, and decided to go to Genius Bar on Friday the 13th, and asked to do hard reset (or clean install), thinking that I could recover from my Time Machine backup. Howe

  • New itunes update error 7 Windows error 127

    After updating Itunes (BIG Mistake). I got this error: Apple Application Support was not found.  I uninstalled, then installed the newest version itumes over 10 times with NO RESULTS. Same Error I then even tried to install an older version of itunes

  • Auto Fix Red-Eye in Aperture?

    Hello, I'm a newbie to Aperture and I was just trying to figure out where in Aperture can I fix red-eye automatically [similar to how it is done in iPhoto 11]? I realize that I can fix the red eyes manually, but is there a simple button that I can pu

  • Essbase Rule File

    Hi All, I have to build a conditional rule file. I have a huge data in an excel file . Based on two column values , I have to map the data to a different member in the outline. Example : In the excel file , If Col1 = 4321 OR 5443 OR 8766 and Col2 = 7

  • MS Project 60 day trial installation error

    I cannot install the 60 day trial version of Microsoft Project Pro 2013.  I download it from here: https://www.microsoft.com/betaexperience/pd/PROJECT2013RTM64/enus/default.aspx Then I burn it on a disc as it instructs to do.  Then when I try to inst