Is there any built-in Hotkeys function to macro regular text inputs?

I've not yet fathomed out the automator to do the function that I used to do on windows with a Keyboard Hotkeys program. I wondered if maybe automator was the wrong road to go down for something fairly basic like that eg I could assign a keyboard shortcut to paste a user name or a password or an email address, or even a postal address into any document just by doing CTRL + a for my full address to be typed out, like a macro.
I know that it's generally regarded as bad to put passwords on shortcuts in case you get hacked, but I never use any important ones in macros such as my banking entries or payment by credit card etc, just in case someone busts into my Macbook Leopard.
I've not found any software out there yet which resembles Avanquest PC Keyboard Hotkeys Pro which I've used for years without problems on my PC.
Knowing how many good applications are lurking on this Macbook it wouldn't surprise me to find it can already do it. I didn't find reference to it in "The Missing Manual"
Does anyone know of one? It needs to be an action that can work on the computer globally so it will paste the result into any texting application like email or a webpage or a document no matter what program one is running.
I'd be glad of some tips
Thank you
Plado

Thank you for that. I've marked that as helpful but not yet solved.
Though it's the perfect solution to what I'm looking for, it's about twice the price I wanted to pay max. At $80 it seems rather a lot to shell out for something that will only ever perform one function from a list of about 15 text pasting jobs.
I will have a look around and use your suggestion as a guide to key words to see if there's something a bit lighter out there that would work like a multi-clipboard and retain the information for each paste.
I may not be lucky, as this is something that many people have misgivings about the security confusing it with devices that show up in windows computers as "Key Press Recording" stealth programs. I remember my anti virus and "hijack this" not liking the presence of Keyboard Express.
So I'll search on a bit and see if anyone else answers this with a 2nd choice - and thanks for your response to my question.
Plado

Similar Messages

  • Is there any built in function that prints numbers in words inXMLP

    Hi Team,
    This is regarding SR#3-7005716301 from Syntel Limited.
    Customer is asking Is there any built in function that prints numbers in words in an rtf teamplate using xml publisher?
    For example if the net amount is 100 dollars then it should print "ONE HUNDRED DOLLARS AND ZERO CENTS ONLY"
    Thanks in advance!
    Leo

    I do not know of any function available that lets you print the currency words (dollars, cents etc). Here is a link to a blog post that will allow you to print numbers in words.
    https://blogs.oracle.com/xmlpublisher/entry/numbers_to_words_update
    Thanks,
    Bipuser

  • Is there any OOTB audit report functionality in OAM?

    I configure audit policy and audits log to files.
    I'm wondering is there any built-in audit report functionality in oam without crystal report or any other outside report tools?

    OAM has very limited Audit functionality when it comes to comply the industry standards. It all depends on what exactly you are trying to Audit.
    - If you are looking for OAM Components Diagnostics - Refer to Access System - System Management - Diagnostics
    - If you are looking to track the access reports of users - Refer to Access System - System Management - Manage Reports. You can create custom reports in this section to track who accessed what and when?
    - If you are looking to track the system statistics like number of AU/AZ, LDAP calls, SLA's, Health Monitoring - You can use Oracle Enterprise Manager - Identity Management Pack
    http://www.oracle.com/technology/products/oem/prod_focus/idm_mgmt.html
    - If you need to track down the changes of what users changed on their profiles and password failures, Group History, Identity/User History, you can go for BI Publisher Reports for OAM. Oracle provides OOTB report templates for most of the reports in OAM. Refer to the Zip file on OAM Home Page
    http://www.oracle.com/technology/products/id_mgmt/coreid_acc/index.html
    Again, it all depends on your requirement to judge what will be feasible to achieve the desired audit.
    Hope this helps !

  • Is there any built in software for reading EPUB. In iTunes or iMac ?

    Hi All,
    Is there any built in software for reading EPUB. In iTunes or iMac ?
    Is there a kind of plug in for iTunes that let you read EPUB files ?
    If nothing is provided, what woul be the best alternative ?
    What's the best software for reading EPUB on an iMac ?
    Many thanks.
    Bests,

    There's nothing built in. I don't know what the best is, but you could try this:
    calibre - E-book management

  • I have photos in a DVD. In order to visualize them in iPhoto, must I necessarily import them? Can't I see the pictures from the media without importing? If not, is there any application with this functionality? I dont't like pre-visualization for photos.

    I have photos in a DVD. In order to visualize them in iPhoto, must I necessarily import them? Can't I see the pictures from the media without importing? If not, is there any application with this functionality? I need an app that allows me to navigate through the photos without selecting all of them. I realy dont't like pre-visualization for photos...

    In order to visualize them in iPhoto, must I necessarily import them?
    iPhoto is a Database. Before it can work with any data it must be imported to the database, so yes it is necessry to import them.
    Can't I see the pictures from the media without importing?
    See above.
    If not, is there any application with this functionality?
    Hundreds. Any image viewer will do the job. On your Mac the Finder has QuickLook and there is the Preview app as well. Online you can download any of these:
    http://www.macupdate.com/find/mac/image%20viewer

  • Is there any built in program

    is there any built in program to convert a wmv to a readable format? If there isn't is there a way I can do I with apple script

    Not built-in, since WMV is a proprietary format. VLC is a free player, and Flip4Mac is a free QuickTime plugin that handles WMV.

  • Is there any delivered BAPI or Functional modules available for MCHB table

    Hi Experts,
    I have a requirement where I have to pull inventory data from MCHB table without custom code. Is there any delivered BAPI or Functional modules available for MCHB table?
    Kindly help!
    Thanks
    Gopal

    Hi,
    Can you check using the Fun Modules
    MG_BATCH_CHECK_STOCK
    VB_READ_BATCH_WITHOUT_STOCK
    VB_BATCH_GET_ALL_STOCKS
    Regards,
    Anji

  • Is there any way to find out where a standard text is used?

    Is there any way to find out where a standard text is used?
    We can see the text from SO10, but i want to find out where it is used.

    HI
    juct check out this thread
    How to find Standard Text
    a similar query is answered here
    hope this helps
    regards
    Aakash Banga

  • Is there any way to convert the selected rows to text in javascript??

    Hi All,
    I have place some word file to indesign cs 5.5 it is almost in one table, i need to separate the text from the real tables, Is there any way to convert the selected rows to text in javascript??
    If there is no way to make that, any one can help me to make a script to cut the selected rows and place it in privies pointer of the table to make it independent table and after that convert it to text ?

    This insert the rows contents after the table instead of being before:
    for (var r = app.selection.length - 1; r >= 0; r--) {
        for (var t = app.selection[r].rows.length - 1; t >= 0; t--) {
            for (var u = app.selection[r].rows[t].cells.length - 1; u >= 0; u--) {
                for (var c = app.selection[r].rows[t].cells[u].paragraphs.length - 1; c >= 0; c--) {
                    app.selection[r].rows[t].cells[u].paragraphs[0].move (LocationOptions.AFTER, app.selection[r].rows[t].parent.parent.storyOffset.parent.insertionPoints.nextItem(app.se lection[r].rows[t].parent.parent.storyOffset));
                    if (c != 0)
                        app.selection[r].rows[t].parent.parent.storyOffset.parent.insertionPoints.nextItem(app.se lection[r].rows[t].parent.parent.storyOffset).contents += "\r";
                if (u != 0) {
                    app.selection[r].rows[t].parent.parent.storyOffset.parent.insertionPoints.nextItem(app.se lection[r].rows[t].parent.parent.storyOffset).contents += "\t";
                else {
                    app.selection[r].rows[t].parent.parent.storyOffset.parent.insertionPoints.nextItem(app.se lection[r].rows[t].parent.parent.storyOffset).contents += "\r";
    for (var r = 0; r < app.selection.length; r++) {
        for (var t = app.selection[r].rows.length - 1; t >= 0; t--) {
            app.selection[r].rows[t].remove ();

  • Is Ref Cursor Supported in Froms 10g . If not is there any built-ins

    Hi Experts,
    I need to use ref cursor in my from 10g. My cursor query should be dynamically append the "where clause column name". Hence I used the dynamic query with ref cursor.
    But my problem is , when I compile the form it gives error "this feature is not supported in clinet-side programs'
    Is there any solution for this in forms?
    Will "EXEC_SQL" package works.
    Is there any alternative other than writing pl/sql refcursor....
    Thanks
    Jana

    There are only strong ref cursors allowed in forms (they are not dynamic). you can use exec_sql in forms, or you can use a record group to do dynamic sql. Third option would be to write a database procedure where you can make use ref cursors.
    regards

  • Is there any way in RH9 to search on the text that appears in images?

    I have a Webhelp project with many screen shots. Some of these screen shots contain messages. I think users mights want to search the help project when these messages appear on the screen. Are there any options in RH9 that would allow this?
    Thank you very much for any help or guidance you can provide.
    nankinnankin

    I doubt there is a chance with any software. The messages are part of an image so as far as any search tool is concerned, there is no text.
    See www.grainge.org for RoboHelp and Authoring tips
    @petergrainge

  • Is there any plug-ins that will show the missing text that couldn't be fitted in the created text box?

    Hello,
    I often work with long pieces of text that are too long to be fitted inside a pre-determined text box.
    I want to know how much text is not appearing inside of my text box without having to change the size of the text box. Is there any way of doing that? Perhaps via plug-in?

    If there is more text than will fit inside an area text object, the out port of the object will show as a red + sign. Select the object with the Selection tool. Click on the red + and the pointer becomes a "loaded text" icon. Click and drag on an empty space of the artboard, creating a new text object containing the overflow text. It may be necessary to resize the new text object to view all remaining text.

  • Is there any benefit to the "System" if I regularly log out?

    Hi all,
    Is there any system changes that occur when I log out that could be considered a benefit  for performance?
    Or is there a downside to it?
    So long for now, TOM

    HI,
    Responding to the comment, "If you're using it as a workstation/desktop system then that's a different issue that requires additional thought."
    Yes. I am speaking of good "old fashioned" desktop computing.  We used to have things happen in the bad old days, like memory leaks which got swept out after a reboot.
    I understand Mac OS is a modern OS and got past those issues.
    I was just wondering what actually goes on when you "log out." After a week of running all kinds of different apps, I was wondering if a "clean page" log in was a smart idea or not.
    For example, weekly I run Cocktail which I understand does a bit of "housecleaning" that is desirable.
    I love being able to have such a reliable OS. Thanks Apple!
    Thanks, and so long for now, TOM

  • Is there any solution for scanner functions in windows8 consumer preview yet? I use HP 8500A AOI

    HP 8500 AOI
    Toshiba Satellite P755
    Windows 8 Consumer Preview
    New Install of W8
    Want to know if there is a solution for scanner functions for the HP 8500 in W8.  I understand it is new beta OS and all drivers are not released yet.  I have no problem with printing, but scanner is not recognized from computer, computer not recognized from printer.  Have not found any solution in web search.  Thanks

    I suggest for you to wait for the Windows 8 full version to be released. The scanner function will be available then for sure.
    Works every time.

  • Is there any program to download function group?

    Hi
    I just want to download whole function group  and dictionary object (table type and structure) in specific package.
    not need to table contents though.
    is there anyway to download these object quick?

    Hi
    You can try this code
    [code]tables: trdir, seoclass, tfdir, enlfdir, dd02l.
    Types
    text element structure
    types: tTextTable like textpool.
    GUI titles
    types: tGUITitle like d347t.
    Message classes
    types: begin of tMessage,
             arbgb like t100-arbgb,
             stext like t100a-stext,
             msgnr like t100-msgnr,
             text  like t100-text,
           end of tMessage.
    Screen flow.
    types: begin of tScreenFlow,
             screen like d020s-dnum,
             code like d022s-line,
           end of tScreenFlow.
    Holds a table\structure definition
    types: begin of tDictTableStructure,
             fieldname like dd03l-fieldname,
             position  like dd03l-position,
             keyflag   like dd03l-keyflag,
             rollname  like dd03l-rollname,
             domname   like dd03l-domname,
             datatype  like dd03l-datatype,
             leng      like dd03l-leng,
             ddtext    like dd04t-ddtext,
           end of tdictTableStructure.
    Holds a tables attributes + its definition
    types: begin of tDictTable,
             tablename    like dd03l-tabname,
             tableTitle   like dd02t-ddtext,
             iStructure type tDictTableStructure occurs 0,
           end of tDictTable.
    Include program names
    types: begin of tInclude,
             includeName like trdir-name,
             includeTitle like tftit-stext,
           end of tInclude.
    Exception class texts
    types: begin of tConcept,
             constName type string,
             concept type sotr_conc,
           end of tConcept.
    Method
    types: begin of tMethod,
             cmpName like vseomethod-cmpname,
             descript like vseomethod-descript,
             exposure like vseomethod-exposure,
             methodKey type string,
           end of tMethod.
    Class
    types: begin of tClass,
             scanned(1),
             clsname like vseoclass-clsname,
             descript like vseoclass-descript,
             msg_id like vseoclass-msg_id,
             exposure like vseoclass-exposure,
             state like vseoclass-state,
             clsfinal like vseoclass-clsfinal,
             r3release like vseoclass-r3release,
             iMethods type tMethod occurs 0,
             iDictStruct type tDictTable occurs 0,
             iTextElements type tTextTable occurs 0,
             iMessages type tMessage occurs 0,
             iConcepts type tConcept occurs 0,
             textElementKey type string,
             publicClassKey type string,
             privateClassKey type string,
             protectedClassKey type string,
             typesClassKey type string,
             exceptionClass type i,
           end of tClass.
    function modules
    types: begin of tFunction,
             functionName like tfdir-funcName,
             functionGroup like enlfdir-area,
             includeNumber like tfdir-include,
             functionMainInclude like tfdir-funcName,
             functionTitle like tftit-stext,
             topIncludeName like tfdir-funcName,
             progname like tfdir-pname,
             programLinkName like tfdir-pname,
             messageClass like t100-arbgb,
             iTextElements type tTextTable occurs 0,
             iSelectiontexts type tTextTable occurs 0,
             iMessages type tMessage occurs 0,
             iIncludes type tInclude occurs 0,
             iDictStruct type tDictTable occurs 0,
             iGUITitle type tGUITitle occurs 0,
             iScreenFlow type tScreenFlow occurs 0,
           end of tFunction.
    types: begin of tProgram,
             progname like trdir-name,
             programTitle like tftit-stext,
             subc like trdir-subc,
             messageClass like t100-arbgb,
             iMessages type tMessage occurs 0,
             iTextElements type tTextTable occurs 0,
             iSelectiontexts type tTextTable occurs 0,
             iGUITitle type tGUITitle occurs 0,
             iScreenFlow type tScreenFlow occurs 0,
             iIncludes type tInclude occurs 0,
             iDictStruct type tDictTable occurs 0,
           end of tProgram.
    Internal tables
    Dictionary object
    data: iDictionary type standard table of tDictTable with header line.
    Function modules.
    data: iFunctions type standard table of tFunction with header line.
    Tree display structure.
    data: iTreeDisplay type standard table of snodetext with header line.
    Message class data
    data: iMessages type standard table of tMessage with header line.
    Holds a single message class an all of its messages
    data: iSingleMessageClass type standard table of tMessage with header line.
    Holds program related data
    data: iPrograms type standard table of tProgram with header line.
    Classes
    data: iClasses type standard table of tClass with header line.
    Table of paths created on the SAP server
    data: iServerPaths type standard table of string with header line.
    Table prototypes
    data: dumiDictStructure type standard table of tDictTableStructure.
    data: dumiTextTab type standard table of tTextTable.
    data: dumiIncludes type standard table of tInclude.
    data: dumiHtml type standard table of string.
    data: dumiHeader type standard table of string .
    data: dumiScreen type standard table of tScreenFlow .
    data: dumIGUITitle type standard table of tGUITitle.
    data: dumiMethods type standard table of tMethod.
    data: dumiConcepts type standard table of tConcept.
      Global objects
    data: objFile type ref to cl_gui_frontend_services.
    data: objRuntimeError type ref to cx_root.
    Constants
    constants: VERSIONNO type string value '1.3.1'.
    constants: TABLES type string value 'TABLES'.
    constants: TABLE type string value 'TABLE'.
    constants: LIKE type string value 'LIKE'.
    constants: TYPE type string value 'TYPE'.
    constants: TYPEREFTO type string value 'TYPE REF TO'.
    constants: STRUCTURE type string value 'STRUCTURE'.
    constants: LOWSTRUCTURE type string value 'structure'.
    constants: OCCURS type string value 'OCCURS'.
    constants: FUNCTION type string value 'FUNCTION'.
    constants: CALLFUNCTION type string value ' CALL FUNCTION'.
    constants: MESSAGE type string  value 'MESSAGE'.
    constants: INCLUDE type string value 'INCLUDE'.
    constants: LOWINCLUDE type string value 'include'.
    constants: DESTINATION type string value 'DESTINATION'.
    constants: IS_TABLE type string value 'T'.
    constants: IS_PROGRAM type string value 'P'.
    constants: IS_SCREEN type string value 'S'.
    constants: IS_GUITITLE type string value 'G'.
    constants: IS_DOCUMENTATION type string value 'D'.
    constants: IS_MESSAGECLASS type string value 'MC'.
    constants: IS_FUNCTION type string value 'F'.
    constants: IS_CLASS type string value 'C'.
    constants: IS_METHOD type string value 'M'.
    constants: ASTERIX type string value '*'.
    constants: COMMA type string value ','.
    constants: PERIOD type string value '.'.
    constants: DASH type string value '-'.
    constants: TRUE type i value 1.
    constants: FALSE type i value 0.
    constants: LT type string value '&lt;'.
    constants: GT type string value '&gt;'.
    constants: UNIX type string value 'UNIX'.
    constants: NON_UNIX type string value 'not UNIX'.
    constants: BACKGROUND_COLOUR type string value '#FFFFE0'.
    constants: COLOUR_WHITE type string value '#FFFFFF'.
    constants: COLOUR_BLACK type string value '#000000'.
    constants: COLOUR_YELLOW type string value '#FFFF00'.
    constants: COMMENT_COLOUR type string value '#0000FF'.
    constants: HTMLEXTENSION type string value 'html'.
    constants: TEXTEXTENSION type string value 'txt'.
    Global variables
    data: statusBarMessage(100).
    data: forcedExit type i value 0.
    data: startTime like sy-uzeit.
    data: runTime like sy-uzeit.
    data: downloadFileExtension type string.
    data: downloadFolder type string.
    data: serverSlashSeparator type string.
    data: frontendSlashSeparator type string.
    data: slashSeparatorToUse type string.
    data: serverFilesystem type filesys_d.
    data: serverFolder type string.
    data: frontendOpSystem type string.
    data: serverOpSystem type string.
    data: customerNameSpace type string.
    ranges: soProgramName for trdir-name.
    ranges: soAuthor for usr02-bname.
    ranges: soTableNames for dd02l-tabname.
    ranges: soFunctionName  for tfdir-funcName.
    ranges: soClassName for vseoclass-clsname.
    ranges: soFunctionGroup for enlfdir-area.
    field-symbols: <waDictStruct> type tDictTable.
    Selection screen declaration
    Author
    selection-screen: begin of block b1 with frame title tBlock1.
      selection-screen begin of line.
        selection-screen comment 5(23) tAuth.
        parameters: pAuth like usr02-bname memory id MAUTH.
      selection-screen end of line.
      selection-screen begin of line.
        selection-screen comment 5(36) tPmod.
        parameters: pMod as checkbox.
      selection-screen end of line.
    Local objects
      selection-screen begin of line.
        selection-screen comment 5(36) t$tmp.
        parameters: p$tmp as checkbox default ''.
      selection-screen end of line.
    selection-screen: end of block b1.
    selection-screen begin of block b2 with frame title tBlock2.
    Tables
      selection-screen begin of line.
        parameters: rTable radiobutton group r1.
        selection-screen comment 5(15) tRtable.
      selection-screen end of line.
      selection-screen begin of line.
        selection-screen comment 10(15) tPtable.
        select-options: soTable for dd02l-tabname.
      selection-screen end of line.
      selection-screen begin of line.
        selection-screen comment 10(79) tTnote.
      selection-screen end of line.
    Message classes
      selection-screen begin of line.
        parameters: rMess radiobutton group r1.
        selection-screen comment 5(18) tPMes.
      selection-screen end of line.
      selection-screen begin of line.
        selection-screen comment 10(18) tMname.
        parameters: pMname like t100-arbgb memory id MMNAME.
      selection-screen end of line.
    Function modules
      selection-screen begin of line.
        parameters: rFunc radiobutton group r1.
        selection-screen comment 5(30) tRfunc.
      selection-screen end of line.
      selection-screen begin of line.
        selection-screen comment 10(15) tPfname.
        select-options: soFname for tfdir-funcName.
      selection-screen end of line.
      selection-screen begin of line.
        selection-screen comment 10(15) tFgroup.
        select-options: soFgroup for enlfdir-area.
      selection-screen end of line.
    Classes
      selection-screen begin of line.
        parameters: rClass radiobutton group r1.
        selection-screen comment 5(30) tRClass.
      selection-screen end of line.
      selection-screen begin of line.
        selection-screen comment 10(15) tPcName.
        select-options: soClass for seoclass-clsname.
      selection-screen end of line.
    Programs / includes
      selection-screen begin of line.
        parameters: rProg radiobutton group r1 default 'X'.
        selection-screen comment 5(18) tProg.
      selection-screen end of line.
      selection-screen begin of line.
        selection-screen comment 10(15) tRpname.
        select-options: soProg for trdir-name.
      selection-screen end of line.
      selection-screen skip.
    Language
      selection-screen begin of line.
        selection-screen comment 1(18) tMLang.
        parameters: pMLang like t100-sprsl default 'EN'.
      selection-screen end of line.
    Package
      selection-screen begin of line.
        selection-screen comment 1(18) tPack.
        parameters: pPack like tadiv-devclass memory id MPACK.
      selection-screen end of line.
    Customer objects
      selection-screen begin of line.
        selection-screen comment 1(27) tCust.
        parameters: pCust as checkbox default 'X'.
        selection-screen comment 32(25) tNRange.
        parameters: pCName type namespace memory id MNAMESPACE.
      selection-screen end of line.
    selection-screen: end of block b2.
    Additional things to download.
    selection-screen: begin of block b3 with frame title tBlock3.
      selection-screen begin of line.
        selection-screen comment 1(33) tPtext.
        parameters: pText as checkbox default 'X' memory id MTEXT.
      selection-screen end of line.
      selection-screen begin of line.
        selection-screen comment 1(33) tMess.
        parameters: pMess as checkbox default 'X' memory id MMESS.
      selection-screen end of line.
      selection-screen begin of line.
        selection-screen comment 1(33) tPinc.
        parameters: pInc as checkbox default 'X' memory id MINC.
        selection-screen comment 40(20) tRecc.
        parameters: pReci as checkbox default 'X' memory id MRECI.
      selection-screen end of line.
      selection-screen begin of line.
        selection-screen comment 1(33) tPfunc.
        parameters: pFunc as checkbox default 'X' memory id MFUNC.
        selection-screen comment 40(20) tRecf.
        parameters: pRecf as checkbox default 'X' memory id MRECF.
      selection-screen end of line.
      selection-screen begin of line.
        selection-screen comment 1(33) tDoc.
        parameters: pDoc as checkbox default 'X' memory id MDOC.
      selection-screen end of line.
      selection-screen begin of line.
        selection-screen comment 1(33) tPscr.
        parameters: pScr as checkbox default 'X' memory id MSCR.
      selection-screen end of line.
      selection-screen begin of line.
        selection-screen comment 1(33) tPdict.
        parameters: pDict as checkbox default 'X' memory id MDICT.
      selection-screen end of line.
      selection-screen begin of line.
        selection-screen comment 1(33) tSortT.
        parameters: pSortT as checkbox default ' ' memory id MSORTT.
      selection-screen end of line.
    selection-screen: end of block b3.
    File details
    selection-screen: begin of block b4 with frame title tBlock4.
      selection-screen begin of line.
        selection-screen comment 1(20) tPhtml.
        parameters: pHtml radiobutton group g1 default 'X'.
      selection-screen end of line.
      selection-screen begin of line.
        selection-screen comment 5(29) tComm.
        parameters: pComm as checkbox default 'X'.
      selection-screen end of line.
      selection-screen begin of line.
        selection-screen comment 5(29) tBack.
        parameters: pBack as checkbox default 'X'.
      selection-screen end of line.
      selection-screen begin of line.
        selection-screen comment 1(20) tPtxt.
        parameters: pTxt radiobutton group g1.
      selection-screen end of line.
      selection-screen skip.
    Download to SAP server
      selection-screen begin of line.
        selection-screen comment 1(25) tServ.
        parameters: pServ radiobutton group g2.
      selection-screen end of line.
      selection-screen begin of line.
        selection-screen comment 8(20) tSPath.
        parameters: pLogical like filename-fileintern memory id MLOGICAL.
      selection-screen end of line.
      selection-screen comment /28(60) tSDPath.
    Download to PC
      selection-screen begin of line.
        selection-screen comment 1(25) tPc.
        parameters: pPc radiobutton group g2 default 'X'.
      selection-screen end of line.
      selection-screen begin of line.
        selection-screen comment 8(20) tPpath.
        parameters: pFolder like rlgrap-filename memory id MFOLDER.
      selection-screen end of line.
    selection-screen: end of block b4.
    Display options
    selection-screen: begin of block b5 with frame title tBlock5.
    Display final report
      selection-screen begin of line.
        selection-screen comment 1(33) tRep.
        parameters: pRep as checkbox default 'X'.
      selection-screen end of line.
    Display progress messages
      selection-screen begin of line.
        selection-screen comment 1(33) tProMess.
        parameters: pProMess as checkbox default 'X'.
      selection-screen end of line.
    selection-screen: end of block b5.
    Display a directory picker window
    at selection-screen on value-request for pFolder.
    data: objFile type ref to cl_gui_frontend_services.
    data: pickedFolder type string.
    data: initialFolder type string.
      if sy-batch is initial.
        create object objFile.
        if not pFolder is initial.
          initialFolder = pFolder.
        else.
          objFile->get_temp_directory( changing temp_dir = initialFolder
                                       exceptions cntl_error = 1
                                                 error_no_gui = 2
                                                 not_supported_by_gui = 3 ).
        endif.
        objFile->directory_browse( exporting initial_folder = initialFolder
                                   changing selected_folder = pickedFolder
                                   exceptions cntl_error = 1
                                              error_no_gui = 2
                                              not_supported_by_gui = 3 ).
        if sy-subrc = 0.
          pFolder = pickedFolder.
        else.
          write: / 'An error has occured picking a folder'.
        endif.
      endif.
    at selection-screen.
      case 'X'.
        when pPc.
          if pFolder is initial.
          User must enter a path to save to
            message e000(oo) with 'You must enter a file path'.
          endif.
        when pServ.
          if pLogical is initial.
          User must enter a logical path to save to
            message e000(oo) with 'You must enter a logical file name'.
          endif.
      endcase.
    at selection-screen on pLogical.
      if not pServ is initial.
        call function 'FILE_GET_NAME' exporting logical_filename = pLogical
                                      importing file_name = serverFolder
                                      exceptions file_not_found = 1
                                                 others = 2.
        if sy-subrc = 0.
          if serverFolder is initial.
            message e000(oo) with 'No file path returned from logical filename'.
          else.
          Path to display on the selection screen
            tSDPath = serverFolder.
          Remove the trailing slash off the path as the subroutine buildFilename will add an extra one
            shift serverFolder right deleting trailing serverSlashSeparator.
            shift serverFolder left deleting leading space.
          endif.
        else.
          message e000(oo) with 'Logical filename does not exist'.
        endif.
      endif.
    at selection-screen on value-request for soProg-low.
      call function 'REPOSITORY_INFO_SYSTEM_F4' exporting object_type  = 'PROG'
                                                          object_name  = soProg-low
                                                          suppress_selection   = 'X'
                                                          use_alv_grid = ''
                                                          without_personal_list = ''
                                                importing object_name_selected = soProg-low
                                                exceptions cancel = 1.
    at selection-screen on value-request for soProg-high.
      call function 'REPOSITORY_INFO_SYSTEM_F4' exporting object_type  = 'PROG'
                                                          object_name  = soProg-high
                                                          suppress_selection   = 'X'
                                                          use_alv_grid = ''
                                                          without_personal_list = ''
                                                importing object_name_selected = soProg-high
                                                exceptions cancel = 1.
    at selection-screen on value-request for soClass-low.
      call function 'F4_DD_ALLTYPES' exporting object = soClass-low
                                               suppress_selection = 'X'
                                               display_only = ''
                                               only_types_for_clifs = 'X'
                                     importing result = soClass-low.
    at selection-screen on value-request for soClass-high.
      call function 'F4_DD_ALLTYPES' exporting object = soClass-high
                                               suppress_selection = 'X'
                                               display_only = ''
                                               only_types_for_clifs = 'X'
                                     importing result = soClass-high.
    at selection-screen on value-request for soFName-low.
      call function 'REPOSITORY_INFO_SYSTEM_F4' exporting object_type  = 'FUNC'
                                                          object_name  = soFname-low
                                                          suppress_selection   = 'X'
                                                          use_alv_grid = ''
                                                          without_personal_list = ''
                                                importing object_name_selected = soFName-low
                                                exceptions cancel = 1.
    at selection-screen on value-request for soFName-high.
      call function 'REPOSITORY_INFO_SYSTEM_F4' exporting object_type  = 'FUNC'
                                                          object_name  = soFname-high
                                                          suppress_selection   = 'X'
                                                          use_alv_grid = ''
                                                          without_personal_list = ''
                                                importing object_name_selected = soFName-high
                                                exceptions cancel = 1.
    at selection-screen on value-request for soFGroup-low.
      call function 'REPOSITORY_INFO_SYSTEM_F4' exporting object_type  = 'FUGR'
                                                          object_name  = soFGroup-low
                                                          suppress_selection   = 'X'
                                                          use_alv_grid = ''
                                                          without_personal_list = ''
                                                importing object_name_selected = soFGroup-low
                                                exceptions cancel = 1.
    at selection-screen on value-request for soFGroup-high.
      call function 'REPOSITORY_INFO_SYSTEM_F4' exporting object_type  = 'FUGR'
                                                          object_name  = soFGroup-high
                                                          suppress_selection   = 'X'
                                                          use_alv_grid = ''
                                                          without_personal_list = ''
                                                importing object_name_selected = soFGroup-high
                                                exceptions cancel = 1.
    initialisation
    initialization.
    Parameter screen texts.
      tBlock1 = 'Author (Optional)'.
      t$tmp   = 'Programs only: include local objects'.
      tBlock2 = 'Objects to download'.
      tBlock3 = 'Additional downloads for programs, function modules and classes'.
      tBlock4 = 'Download parameters'.
      tBlock5 = 'Display options'.
      tAuth   = 'Author name'.
      tPmod   = 'Include programs modified by author'.
      tCust   = 'Only customer objects'.
      tNRange = 'Alt customer name range'.
      tRtable = 'Tables / Structures'.
      tPtable = 'Table name'.
      tTnote  = 'Note: tables are stored under the username of the last person who modified them'.
      tRfunc  = 'Function modules'.
      tPfname = 'Function name'.
      tFgroup = 'Function group'.
      tRClass  = 'Classes'.
      tPcname = 'Class name'.
      tMess   = 'Message class'.
      tMName  = 'Class name'.
      tMLang  = 'Language'.
      tProg   = 'Programs'.
      tRpname = 'Program name'.
      tPack   = 'Package'.
      tPtxt   = 'Text document'.
      tPhtml  = 'HTML document'.
      tComm   = 'Highlight comments'.
      tBack   = 'Include background colour'.
      tPtext  = 'Text elements'.
      tPinc   = 'Include programs'.
      tRecc   = 'Recursive search'.
      tPpath  = 'File path'.
      tSPath  = 'Logical file name'.
      tPmes   = 'Message classes'.
      tPfunc  = 'Function modules'.
      tDoc    = 'Function module documentation'.
      tRecf   = 'Recursive search'.
      tPscr   = 'Screens'.
      tPdict  = 'Dictionary structures'.
      tSortT  = 'Sort table fields alphabetically'.
      tServ   = 'Download to server'.
      tPc     = 'Download to PC'.
      tRep    = 'Display download report'.
      tProMess  = 'Display progress messages'.
    Determine the frontend operating system type.
      if sy-batch is initial.
        perform determineFrontendOPSystem using frontendSlashSeparator frontendOpSystem.
      endif.
      perform determineServerOpsystem using serverSlashSeparator serverFileSystem serverOpsystem.
    Determine if the external command exists.  If it doesn't then disable the server input field
      perform findExternalCommand.
    start-of-selection.
    start-of-selection.
      perform checkComboBoxes.
      perform fillSelectionRanges.
      startTime = sy-uzeit.
    Don't display status messages if we are running in the background
      if not sy-batch is initial.
        pProMess = ''.
      endif.
    Fool the HTML routines to stop them hyperlinking anything with a space in them
      if pCName is initial.
        customerNameSpace  = '^'.
      else.
        customerNameSpace = pCName.
      endif.
    Determine which operating slash and download directory to use
      case 'X'.
        when pPc.
          slashSeparatorToUse = frontendSlashSeparator.
          downloadFolder = pFolder.
        when pServ.
          slashSeparatorToUse = serverSlashSeparator.
          downloadFolder = serverFolder.
      endcase.
    Main program flow.
      case 'X'.
      Select tables
        when rTable.
          perform retrieveTables using iDictionary[]
                                       soTableNames[]
                                       soAuthor[].
      Select message classes tables
        when rMess.
          perform retrieveMessageClass using iMessages[]
                                             soAuthor[]      "Author
                                             pMname          "Message class name
                                             pMLang          "Message class language
                                             pMod.           "Modified by author
      Select function modules
        when rFunc.
          perform retrieveFunctions using soFunctionName[]   "Function name
                                          soFunctionGroup[]  "Function group
                                          iFunctions[]       "Found functions
                                          soAuthor[]         "Author
                                          pText              "Get text elements
                                          pScr               "Get screens
                                          pCust              "Customer data only
                                          customerNameSpace. "Customer name range
          loop at iFunctions.
          Find Dict structures, messages, functions, includes etc.
            perform scanForAdditionalFuncStuff using iFunctions[]
                                                     pRecI                   "Search for includes recursively
                                                     pRecF                   "Search for functions recursively
                                                     pInc                    "Search for includes
                                                     pFunc                   "Search for functions
                                                     pDict                   "search for dictionary objects
                                                     pMess                   "Search for messages
                                                     pCust                   "Customer data only
                                                     customerNameSpace.      "Customer name range
          endloop.
      Select Classes
        when rClass.
          perform retrieveClasses using iClasses[]
                                        iFunctions[]
                                        soClassName[]       "Class name
                                        soAuthor[]          "Author
                                        customerNameSpace   "Customer name range
                                        pMod                "Also modified by author
                                        pCust               "Customer object only
                                        pMess               "Find messages
                                        pText               "Text Elements
                                        pDict               "Dictionary structures
                                        pFunc               "Get functions
                                        pInc                "Get includes
                                        pRecF               "Search recursively for functions
                                        pRecI               "Search recursively for includes
                                        'X'                 "Search recursively for classes
                                        pMLang.             "Language
          loop at iFunctions.
          Find Dict structures, messages, functions, includes etc.
            perform scanForAdditionalFuncStuff using iFunctions[]
                                                     pRecI                   "Search for includes recursively
                                                     pRecF                   "Search for functions recursively
                                                     pInc                    "Search for includes
                                                     pFunc                   "Search for functions
                                                     pDict                   "search for dictionary objects
                                                     pMess                   "Search for messages
                                                     pCust                   "Customer data only
                                                     customerNameSpace.      "Customer name range
          endloop.
      Select programs
        when rProg.
          perform retrievePrograms using iPrograms[]
                                         iFunctions[]
                                         soProgramName[]    "Program name
                                         soAuthor[]         "Author
                                         customerNamespace  "Customer name range
                                         pMod               "Also modified by author
                                         pCust              "Customer object only
                                         pMess              "Find messages
                                         pText              "Text Elements
                                         pDict              "Dictionay structures
                                         pFunc              "Get functions
                                         pInc               "Get includes
                                         pScr               "Get screens
                                         pRecF              "Search recursively for functions
                                         pRecI              "Search recursively for includes
                                         p$Tmp              "local objects
                                         pPack.             "Package
      endcase.
    end-of-selection
    end-of-selection.
      if forcedExit = 0.
      Set the file extension and output type of the file
        if pTxt is initial.
          downloadFileExtension = HTMLEXTENSION.
        else.
          downloadFileExtension = TEXTEXTENSION.
        endif.
      Decide what to download
        case 'X'.
        Download tables
          when rTable.
            if not ( iDictionary[] is initial ).
              perform downloadDDStructures using iDictionary[]
                                                 downloadFolder
                                                 HTMLEXtension
                                                 space
                                                 pSortT
                                                 slashSeparatorToUse
                                                 pServ
                                                 pProMess.
            Free up any memory used for caching HTML versions of tables
              loop at iDictionary.
                free memory id iDictionary-tablename.
              endloop.
            Display donwload report
              if not pRep is initial.
                get time.
                runTime = sy-uzeit - startTime.
                perform fillTreeNodeTables using iDictionary[]
                                                 iTreeDisplay[]
                                                 runTime.
              endif.
              clear iDictionary[].
            endif.
        Download message class
          when rMess.
            if not ( iMessages[] is initial ).
              sort iMessages ascending by arbgb msgnr.
              loop at iMessages.
                append iMessages to iSingleMessageClass.
                at end of arbgb.
                  perform downloadMessageClass using iSingleMessageClass[]
                                                     iMessages-arbgb
                                                     downloadFolder
                                                     downloadFileExtension
                                                     pHtml
                                                     space
                                                     pComm
                                                     customerNameSpace
                                                     pInc
                                                     pDict
                                                     pMess
                                                     slashSeparatorToUse
                                                     pServ
                                                     pProMess.
                  clear iSingleMessageClass[].
                endat.
              endloop.
            Display download report
              if not pRep is initial.
                get time.
                runTime = sy-uzeit - startTime.
                perform fillTreeNodeMessages using iMessages[]
                                                   iTreeDisplay[]
                                                   runTime.
              endif.
             clear iMessages[].
           endif.
        Download functions
          when rFunc.
            if not ( iFunctions[] is initial ).
               perform downloadFunctions using iFunctions[]
                                               downloadFolder
                                               downloadFileExtension
                                               space
                                               pDoc
                                               pHtml
                                               pComm
                                               customerNameSpace
                                               pInc
                                               pDict
                                               TEXTEXTENSION
                                               HTMLEXTENSION
                                               pSortT
                                               slashSeparatorToUse
                                               pServ
                                               pProMess.
            Free up any memory used for caching HTML versions of tables
              loop at iFunctions.
                loop at iFunctions-iDictStruct assigning <waDictStruct>.
                  free memory id <waDictStruct>-tablename.
                endloop.
              endloop.
            Display donwload report
              if not pRep is initial.
                get time.
                runTime = sy-uzeit - startTime.
                perform fillTreeNodeFunctions using iFunctions[]
                                                    iTreeDisplay[]
                                                    runTime.
              endif.
              clear iFunctions[].
            endif.
        Download Classes
          when rClass.
            if not ( iClasses[] is initial ).
              perform downloadClasses using iClasses[]
                                            iFunctions[]
                                            downloadFolder
                                            downloadFileExtension
                                            HTMLEXTENSION
                                            TEXTEXTENSION
                                            pHtml
                                            pComm
                                            custo

Maybe you are looking for