Discovering the Design Behind Legacy Code

Hi all,
There are lots of tools and utilities out there to help us design good code, and lots of design patterns and good methodologies for us to follow. However, when you're looking at legacy code, is there any "standard" way of trying to work out what's going on?
At the moment I'm just going through each class as it is called and trying to work out what it does and what it depends on - but this is really time consuming (not to mention tedious).
Does anyone know of a better way?

Do you have a UML tool that will allow you to build a model of the code, and then use that model to generate additional views?
� {�                                                                                                                                                                                                                                                                       

Similar Messages

  • Legacy code refactoring

    I have inherited a swing Applet project and there's a bunch of dodgy code, once of them is that the first parameter in most of the constructors is an "owner" reference to the Japplet extension.
    Because the code parts are not decoupled it is hard to extract functional units in order to use them for tests, demos or to re-use them in other projects.
    Looking at the code (30 .java modules) about half of the units reference the "owner" to access up to 50 different properties and methods. It's been suggested that I uses the interface segregation principle ("Refactoring: Improving the Design of Existing Code", Martin Fowler) to refactor to use an interface rather than the applet reference.
    Are there any other suggestions on how to reference the Applet in the other Java units without the code being so coupled?
    All comments are appreciated.
    Thanks, Tom.

    I would use interfaces, but I would also look at the code and wonder why 30 classes need to access 50 methods in this monster class. You might be able to move some logical code together or create some utility classes.

  • Can someone please help me re-install my Creative Design 5.5 on my Mac?  My MacBook Pro recently crashed and had to have the hard drive replaced.  The back up from Time Machine is not reinstalling the program.  Since I have the download paid, and codes, I

    Can someone please help me re-install my Creative Design 5.5 on my Mac?  My MacBook Pro recently crashed and had to have the hard drive replaced.  The back up from Time Machine is not reinstalling the program.  Since I have the download paid, and codes, I need direction on how to reinstall -- HELP?

    Hi bodegakc,
    If you have the serial number then please use the below mentioned link to download the product you are looking for .
    CS5.5
    Also before installing Please go to Applications-->Utilities--> Adobe installers and if there is any uninstaller for CS5.5 , you can remove it and do a fresh install.
    You can also use creative cloud cleaner tool before installing.
    Use the CC Cleaner Tool to solve installation problems | CC, CS3-CS6
    Thanks
    Nikhil Gupta

  • The background behind my pages has turned black, how do i get it to go back to grey? i have switched between preview, normal, bleed, slug and presentation and closed and opened in design and it is still black. I can't imagine layouts with the black backgr

    the background behind my pages has turned black, how do i get it to go back to grey? i have switched between preview, normal, bleed, slug and presentation and closed and opened in design and it is still black. I can't imagine layouts with the black background please help!

    or maybe the interface has been set to Dark?
    Go to Preferences > Interface tab, choose Light from Color Theme dropdown on Apearance section (upper part of the window)

  • How to view the design part of th source code

    hi
    i have a source code in NetBeans IDE.i have to view the design part of that source code.because i shared that design part through local address which is designed in another system .Ater sharing i got tha coding part of that design part.But i need designing part of that coding part.i searched that, but i couldnt get it.
    please helpme

    Sorry for this not being helpful, but if there ever was a stronger argument for not using NetBeans generated code, for learning to code Swing from the ground up, I'd like to see it.
    To the OP, this is not so much a Swing question as a NetBeans question. I recommend that you find a NetBeans forum or mail list, rephrase your question for clarity, and repost it there. Good luck.

  • Is there a way to view the code screen and the design screen in separate windows

    Is there a way to view the code screen and the design screen in separate windows instead of connected. I would like to have the code on one monitor and the design on another

    You can open the Code Inspector Window to have the code completely separate from the Design/Document window. You can also then move the CI window to a separate monitor if you like.
    Window > Code Inspector or F10

  • DreamweaverCS3 template(two column liquid) views fine in firefox but in IExplorer I don't get the design only code?  How do I fix this?

    Dreamweaver CS3 template two column liquid views fine in firefox but in Iexplorer I don't get the design only code? How do I fix this?

    random guess- what file extension have you saved the file with.
    second random guess- there may be an unclosed html comment
    third- what do you mean by "I don't get the design only code"
    Do you mean the browser shows the code, or the browser shows nothing, or ???
    for a better reply, please provide a link to the uploaded page please.

  • The Design of Profit Center Code

    Dear SAP Gurus,
    In the design of profit center code, you can design a profit center code that is common across all company codes by flagging the company code assignment in KE51. Alternatively, you can also design a company code specific profit center code. Unlike profit center accounting, this kind of feature is not available in cost center accounting.
    If you would to design your profit center codes in this manner, you can no longer in use of all standard pca reports because there is no company code selection criteria when executing the reports. This is quite inconsistent with the above featute in pca. You can definitely customize your pca reports by bringing in the company code as selection criteria.
    Besides it will help you to reduce the number of profit center codes, can anyone share of any other rationales or pros/cons of designing a common profit center code across all company codes? Thanks in advance for your help.
    Cheers,
    Rebi

    Dear SAP Gurus,
    Anyone has any inputs for my question?
    To elaborate further, here is the example of my question:
    a. When designing profit center code PC1, you can create the code as PC1 and flag it as applicable to company code 1000, 2000
        and 3000 in KE51
    b. Alternatively, you can design company specific profit center code of 1000PC1, 2000PC1 and 3000PC1.
    I need your help to share with me the pros and cons of the above 2 options. Thanks in adavance for your help.
    Cheers,
    Rebi

  • What are the major process to transfer the data from legacy to sap system.

    What are the major process to transfer the data from legacy to sap system using BDC at Real Time only?

    hi,
    BATCH DATA COMMUNICATION
    main methods are:
    1. SESSION METHOD
    2. CALL TRANSACTION
    3. DIRECT INPUT
    Advantages offered by BATCH INPUT method:
    1. Can process large data volumes in batch.
    2. Can be planned and submitted in the background.
    3. No manual interaction is required when data is transferred.
    4. Data integrity is maintained as whatever data is transferred to the table is through transaction. Hence batch input data is submitted to all the checks and validations.
    To implement one of the supported data transfers, you must often write the program that exports the data from your non-SAP system. This program, known as a “data transfer” program must map the data from the external system into the data structure required by the SAP batch input program.
    The batch input program must build all of the input to execute the SAP transaction.
    Two main steps are required:
    • To build an internal table containing every screen and every field to be filled in during the execution of an SAP transaction.
    • To pass the table to SAP for processing.
    Prerequisite for Data Transfer Program
    Writing a Data Transfer Program involves following prerequisites:
    Analyzing data from local file
    Analyzing transaction
    Analyzing transaction involves following steps:
    • The transaction code, if you do not already know it.
    • Which fields require input i.e., mandatory.
    • Which fields can you allow to default to standard values.
    • The names, types, and lengths of the fields that are used by a transaction.
    • Screen number and Name of module pool program behind a particular transaction.
    To analyze a transaction::
    • Start the transaction by menu or by entering the transaction code in the command box.
    (You can determine the transaction name by choosing System – Status.)
    • Step through the transaction, entering the data will be required for processing your batch input data.
    • On each screen, note the program name and screen (dynpro) number.
    (dynpro = dyn + pro. Dyn = screen, pro = number)
    • Display these by choosing System – Status. The relevant fields are Program (dynpro) and Dynpro number. If pop-up windows occur during execution, you can get the program name and screen number by pressing F1 on any field or button on the screen.
    The technical info pop-up shows not only the field information but also the program and screen.
    • For each field, check box, and radio button on each screen, press F1 (help) and then choose Technical Info.
    Note the following information:
    - The field name for batch input, which you’ll find in its own box.
    - The length and data type of the field. You can display this information by double clicking on the Data Element field.
    • Find out the identification code for each function (button or menu) that you must execute to process the batch-input data (or to go to new screen).
    Place the cursor on the button or menu entry while holding down the left mouse button. Then press F1.
    In the pop-up window that follows, choose Technical info and note the code that is shown in the Function field.
    You can also run any function that is assigned to a function key by way of the function key number. To display the list of available function keys, click on the right mouse button. Note the key number that is assigned to the functions you want to run.
    Once you have program name, screen number, field name (screen field name), you can start writing.
    DATA TRANSFER program.
    Declaring internal table
    First Integral Table similar to structure like local file.
    Declaring internal table like BDCDATA
    The data from internal table is not transferred directly to database table, it has to go through transaction. You need to pass data to particular screen and to particular screen-field. Data is passed to transaction in particular format, hence there is a need for batch input structure.
    The batch input structure stores the data that is to be entered into SAP system and the actions that are necessary to process the data. The batch input structure is used by all of the batch input methods. You can use the same structure for all types of batch input, regardless of whether you are creating a session in the batch input queue or using CALL TRANSACTION.
    This structure is BDCDATA, which can contain the batch input data for only a single run of a transaction. The typical processing loop in a program is as follows:
    • Create a BDCDATA structure
    • Write the structure out to a session or process it with CALL TRANSACTION USING; and then
    • Create a BDCDATA structure for the next transaction that is to be processed.
    Within a BDCDATA structure, organize the data of screens in a transaction. Each screen that is processed in the course of a transaction must be identified with a BDCDATA record. This record uses the Program, Dynpro, and Dynbegin fields of the structure.
    The screen identifier record is followed by a separate BDCDATA record for each value, to be entered into a field. These records use the FNAM and FVAL fields of the BDCDATA structure. Values to be entered in a field can be any of the following:
    • Data that is entered into screen fields.
    • Function codes that are entered into the command field. Such function codes execute functions in a transaction, such as Save or Enter.
    The BDCDATA structure contains the following fields:
    • PROGRAM: Name of module pool program associated with the screen. Set this field only for the first record for the screen.
    • DYNPRO: Screen Number. Set this field only in the first record for the screen.
    • DYNBEGIN: Indicates the first record for the screen. Set this field to X, only for the first record for the screen. (Reset to ‘ ‘ (blank) for all other records.)
    • FNAM: Field Name. The FNAM field is not case-sensitive.
    • FVAL: Value for the field named in FNAM. The FVAL field is case-sensitive. Values assigned to this field are always padded on the right, if they are less than 132 characters. Values must be in character format.
    Transferring data from local file to internal table
    Data is uploaded to internal table by UPLOAD of WS_UPLOAD function.
    Population of BDCDATA
    For each record of internal table, you need to populate Internal table, which is similar to BDCDATA structure.
    All these five initial steps are necessary for any type of BDC interface.
    DATA TRANSFER program can call SESSION METHOD or CALL TRANSACTION. The initial steps for both the methods are same.
    First step for both the methods is to upload the data to internal table. From Internal Table, the data is transferred to database table by two ways i.e., Session method and Call transaction.
    SESSION METHOD
    About Session method
    In this method you transfer data from internal table to database table through sessions.
    In this method, an ABAP/4 program reads the external data that is to be entered in the SAP System and stores the data in session. A session stores the actions that are required to enter your data using normal SAP transaction i.e., Data is transferred to session which in turn transfers data to database table.
    Session is intermediate step between internal table and database table. Data along with its action is stored in session i.e., data for screen fields, to which screen it is passed, the program name behind it, and how the next screen is processed.
    When the program has finished generating the session, you can run the session to execute the SAP transactions in it. You can either explicitly start and monitor a session or have the session run in the background processing system.
    Unless session is processed, the data is not transferred to database table.
    BDC_OPEN_GROUP
    You create the session through program by BDC_OPEN_GROUP function.
    Parameters to this function are:
    • User Name: User name
    • Group: Name of the session
    • Lock Date: The date on which you want to process the session.
    • Keep: This parameter is passed as ‘X’ when you want to retain session after
    processing it or ‘ ‘ to delete it after processing.
    BDC_INSERT
    This function creates the session & data is transferred to Session.
    Parameters to this function are:
    • Tcode: Transaction Name
    • Dynprotab: BDC Data
    BDC_CLOSE_GROUP
    This function closes the BDC Group. No Parameters.
    Some additional information for session processing
    When the session is generated using the KEEP option within the BDC_OPEN_GROUP, the system always keeps the sessions in the queue, whether it has been processed successfully or not.
    However, if the session is processed, you have to delete it manually. When session processing is completed successfully while KEEP option was not set, it will be removed automatically from the session queue. Log is not removed for that session.
    If the batch-input session is terminated with errors, then it appears in the list of INCORRECT session and it can be processed again. To correct incorrect session, you can analyze the session. The Analysis function allows to determine which screen and value has produced the error. If you find small errors in data, you can correct them interactively, otherwise you need to modify batch input program, which has generated the session or many times even the data file.
    CALL TRANSACTION
    About CALL TRANSACTION
    A technique similar to SESSION method, while batch input is a two-step procedure, Call Transaction does both steps online, one after the other. In this method, you call a transaction from your program by
    Call transaction <tcode> using <BDCTAB>
    Mode <A/N/E>
    Update <S/A>
    Messages into <MSGTAB>.
    Parameter – 1 is transaction code.
    Parameter – 2 is name of BDCTAB table.
    Parameter – 3 here you are specifying mode in which you execute transaction
    A is all screen mode. All the screen of transaction are displayed.
    N is no screen mode. No screen is displayed when you execute the transaction.
    E is error screen. Only those screens are displayed wherein you have error record.
    Parameter – 4 here you are specifying update type by which database table is updated.
    S is for Synchronous update in which if you change data of one table then all the related Tables gets updated. And sy-subrc is returned i.e., sy-subrc is returned for once and all.
    A is for Asynchronous update. When you change data of one table, the sy-subrc is returned. And then updating of other affected tables takes place. So if system fails to update other tables, still sy-subrc returned is 0 (i.e., when first table gets updated).
    Parameter – 5 when you update database table, operation is either successful or unsuccessful or operation is successful with some warning. These messages are stored in internal table, which you specify along with MESSAGE statement. This internal table should be declared like BDCMSGCOLL, a structure available in ABAP/4. It contains the following fields:
    1. Tcode: Transaction code
    2. Dyname: Batch point module name
    3. Dynumb: Batch input Dyn number
    4. Msgtyp: Batch input message type (A/E/W/I/S)
    5. Msgspra: Batch input Lang, id of message
    6. Msgid: Message id
    7. MsgvN: Message variables (N = 1 - 4)
    For each entry, which is updated in database, table message is available in BDCMSGCOLL. As BDCMSGCOLL is structure, you need to declare a internal table which can contain multiple records (unlike structure).
    Steps for CALL TRANSACTION method
    1. Internal table for the data (structure similar to your local file)
    2. BDCTAB like BDCDATA
    3. UPLOAD or WS_UPLOAD function to upload the data from local file to itab. (Considering file is local file)
    4. Loop at itab.
    Populate BDCTAB table.
    Call transaction <tcode> using <BDCTAB>
    Mode <A/N/E>
    Update <S/A>.
    Refresh BDCTAB.
    Endloop.
    (To populate BDCTAB, You need to transfer each and every field)
    The major differences between Session method and Call transaction are as follows:
    SESSION METHOD CALL TRANSACTION
    1. Data is not updated in database table unless Session is processed. Immediate updation in database table.
    2. No sy-subrc is returned. Sy-subrc is returned.
    3. Error log is created for error records. Errors need to be handled explicitly
    4. Updation in database table is always synchronous Updation in database table can be synchronous Or Asynchronous.
    Error Handling in CALL TRANSACTION
    When Session Method updates the records in database table, error records are stored in the log file. In Call transaction there is no such log file available and error record is lost unless handled. Usually you need to give report of all the error records i.e., records which are not inserted or updated in the database table. This can be done by the following method:
    Steps for the error handling in CALL TRANSACTION
    1. Internal table for the data (structure similar to your local file)
    2. BDCTAB like BDCDATA
    3. Internal table BDCMSG like BDCMSGCOLL
    4. Internal table similar to Ist internal table
    (Third and fourth steps are for error handling)
    5. UPLOAD or WS_UPLOAD function to upload the data from the local file to itab. (Considering file is local file)
    6. Loop at itab.
    Populate BDCTAB table.
    Call transaction <tr.code> using <Bdctab>
    Mode <A/N/E>
    Update <S/A>
    Messages <BDCMSG>.
    Perform check.
    Refresh BDCTAB.
    Endloop.
    7 Form check.
    IF sy-subrc <> 0. (Call transaction returns the sy-subrc if updating is not successful).
    Call function Format_message.
    (This function is called to store the message given by system and to display it along with record)
    Append itab2.
    Display the record and message.
    DIRECT INPUT
    About Direct Input
    In contrast to batch input, this technique does not create sessions, but stores the data directly. It does not simulate the online transaction. To enter the data into the corresponding database tables directly, the system calls a number of function modules that execute any necessary checks. In case of errors, the direct input technique provides a restart mechanism. However, to be able to activate the restart mechanism, direct input programs must be executed in the background only. Direct input checks the data thoroughly and then updates the database directly.
    You can start a Direct Input program in two ways;
    Start the program directly
    This is the quickest way to see if the program works with your flat file. This option is possible with all direct input programs. If the program ends abnormally, you will not have any logs telling you what has or has not been posted. To minimize the chance of this happening, always use the check file option for the first run with your flat file. This allows you to detect format errors before transfer.
    Starting the program via the DI administration transaction
    This transaction restarts the processing, if the data transfer program aborts. Since DI document are immediately posted into the SAP D/B, the restart option prevents the duplicate document posting that occurs during a program restart (i.e., without adjusting your flat file).
    Direct input is usually done for standard data like material master, FI accounting document, SD sales order and Classification for which SAP has provided standard programs.
    First time you work with the Direct Input administration program, you will need to do some preparation before you can transfer data:
    - Create variant
    - Define job
    - Start job
    - Restart job
    Common batch input errors
    - The batch input BDCDATA structure tries to assign values to fields which do not exist in the current transaction screen.
    - The screen in the BDCDATA structure does not match the right sequence, or an intermediate screen is missing.
    - On exceptional occasions, the logic flow of batch input session does not exactly match that of manual online processing. Testing the sessions online can discover by this.
    - The BDCDATA structure contains fields, which are longer than the actual definition.
    - Authorization problems.
    RECORDING A BATCH INPUT
    A B recording allows you to record a R/3 transaction and generate a program that contains all screens and field information in the required BDC-DATA format.
    You can either use SHDB transaction for recording or
    SYSTEM ? SERVICES ? BATCH INPUT ? EDIT
    And from here click recording.
    Enter name for the recording.
    (Dates are optional)
    Click recording.
    Enter transaction code.
    Enter.
    Click Save button.
    You finally come to a screen where, you have all the information for each screen including BDC_OKCODE.
    • Click Get Transaction.
    • Return to BI.
    • Click overview.
    • Position the cursor on the just recorded entry and click generate program.
    • Enter program name.
    • Click enter
    The program is generated for the particular transaction.
    BACKGROUND PROCESSING
    Need for Background processing
    When a large volume of data is involved, usually all batch inputs are done in background.
    The R/3 system includes functions that allow users to work non-interactively or offline. The background processing systems handle these functions.
    Non-interactively means that instead of executing the ABAP/4 programs and waiting for an answer, user can submit those programs for execution at a more convenient planned time.
    There are several reasons to submit programs for background execution.
    • The maximum time allowed for online execution should not exceed 300 seconds. User gets TIMEOUT error and an aborted transaction, if time for execution exceeds 300 seconds. To avoid these types of error, you can submit jobs for background processing.
    • You can use the system while your program is executing.
    This does not mean that interactive or online work is not useful. Both type of processing have their own purposes. Online work is the most common one entering business data, displaying information, printing small reports, managing the system and so on. Background jobs are mainly used for the following tasks; to process large amount of data, to execute periodic jobs without human intervention, to run program at a more convenient, planned time other than during normal working hours i.e., Nights or weekends.
    The transaction for background processing is SM36.
    Or
    Tools ? Administration ? Jobs ? Define jobs
    Or
    System ? services ? Jobs
    Components of the background jobs
    A job in Background processing is a series of steps that can be scheduled and step is a program for background processing.
    • Job name. Define the name of assigned to the job. It identifies the job. You can specify up to 32 characters for the name.
    • Job class. Indicates the type of background processing priority assigned to the job.
    The job class determines the priority of a job. The background system admits three types of job classes: A B & C, which correspond to job priority.
    • Job steps. Parameters to be passed for this screen are as follows:
    Program name.
    Variant if it is report program
    Start criteria for the job: Option available for this are as follows:
    Immediate - allows you to start a job immediately.
    Date/Time - allows you to start a job at a specific name.
    After job - you can start a job after a particular job.
    After event - allows you to start a job after a particular event.
    At operation mode - allows you to start a job when the system switches to a particular operation mode.
    Defining Background jobs
    It is two step process: Firstly, you define the job and then release it.
    When users define a job and save it, they are actually scheduling the report i.e., specifying the job components, the steps, the start time.
    When users schedule program for background processing, they are instructing the system to execute an ABAP/4 report or an external program in the background. Scheduled jobs are not executed until they are released. When jobs are released, they are sent for execution to the background processing system at the specified start time. Both scheduling and releasing of jobs require authorizations.
    HANDLING OF POP UP SCREEN IN BDC
    Many times in transaction pop up screen appears and for this screen you don’t pass any record but some indication to system telling it to proceed further. For example: The following screen
    To handle such screen, system has provided a variable called BDC_CURSOR. You pass this variable to BDCDATA and process the screen.
    Usually such screen appears in many transactions, in this case you are just passing information, that YES you want to save the information, that means YES should be clicked. So you are transferring this information to BDCDATA i.e., field name of YES which is usually SPOT_OPTION. Instead of BDC_OKCODE, you are passing BDC_CURSOR.
    BDC_CURSOR is also used to place cursor on particular field.
    A simple transaction where you are entering customer number on first screen and on next screen data is displayed for the particular customer number. Field, which we are changing here, are name and city. When you click on save, the changed record gets saved.
    Prerequisite to write this BDC interface as indicated earlier is:
    1. To find screen number
    2. To find screen field names, type of the field and length of the field.
    3. To find BDC_OKCODE for each screen
    4. Create flat file.
    generally  Batch Input usually are used to transfer large amount of data. For example you are implementing a new SAP project, and of course you will need some data transfer from legacy system to SAP system.
    CALL TRANSACTION is used especially for integration actions between two SAP systems or between different modules. Users sometimes wish to do something like that click a button or an item then SAP would inserts or changes data automatically. Here CALL TRANSACTION should be considered.
    2. Transfer data for multiple transactions usually the Batch Input method is used.
    check these sites for step by step process:
    For BDC:
    http://myweb.dal.ca/hchinni/sap/bdc_home.htm
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/home/bdc&
    http://www.sap-img.com/abap/learning-bdc-programming.htm
    http://www.sapdevelopment.co.uk/bdc/bdchome.htm
    http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
    http://help.sap.com/saphelp_47x200/helpdata/en/69/c250684ba111d189750000e8322d00/frameset.htm
    http://www.sapbrain.com/TUTORIALS/TECHNICAL/BDC_tutorial.html
    Check these link:
    http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
    http://www.sap-img.com/abap/question-about-bdc-program.htm
    http://www.itcserver.com/blog/2006/06/30/batch-input-vs-call-transaction/
    http://www.planetsap.com/bdc_main_page.htm
    call Transaction or session method ?
    null

  • Windows 7 Backup "The System cannot find the path specified" - Error Code 0x80070003

    I'm having severe problems backing up my own machine to a share on our
    FILE-SERVER as \\FILE-SERVER\Backup\
    I have already backed up another PC successfully using exactly the same settings I have used on my own PC. So I presume it is nothing to do with the
    FILE-SERVER or the Backup settings.  It has to be something to do with what I'm trying to backup from my machine.
    First some background.
     This exercise all began when the Windows Server 2008 r2
    O/S fell over on one of our Servers. I tried reinstalling the O/S several times, without success. In the end I grabbed another drive and re-built the O/S. I then had problems promoting it to a Domain Controller on the network.
     In the end I renamed the Server from FILESERVER
    to FILE-SERVER.
    We routinely share four folders on what is now
    FILE-SERVER:
    \\FILE-SERVER\Backup
    - a Folder where backups from all other machines are written, so that they will be backed up with the Server
    \\FILE-SERVER\Company
    - holds all our Company data
    \\FILE-SERVER\GEM
    - this is the application folder for our own database
    \\FILE-SERVER\Install
    - holds all Install files for the software we use
    These are all held on a RAID 1 Array that is separate from the System Disk that fell over.
    Prior to the Server falling over, I had Backup working fine on my machine. 
    On my Notebook PC I had made these shared folders 'Available Offline', so that I still had everything available to me when I was out of the office. They were
    of course shared as \\FILESERVER\... not \\FILE-SERVER\...
    Having got the Server up and going again, I began to get the Backups from the Windows 7 Client PC's going again.
     I started with a Desktop, which of course did not have any Offline Files.
     That proved relatively straight-forward.
    I then started with my machine. Initially I did not make the above shared folders 'Available Offline'. I set up my Backup using exactly the same settings that
    had worked OK on the desktop machine. But when I ran the backup I got:
    The System cannot find the path specified, Error Code 0x80070003
    I tried all sorts of things to get it to work:
    I restored the system to the earliest point possible,
    I ran chkdsk,
    I defragged the drive
    All to no avail, so I tried backing up:
    with and without a system image,
    reducing the backup to a single folder, 
    a single Folder with only one .txt file in it, 
    making the Folders 'Available Offline' again.
    Nothing made any difference.
     In the end I looked in the Sync Center to look at the Offline Files Folder.
     Under Mapped Network Drives I discovered I still had the Files and Folders from
    \\FILESERVER.  In their Shortcut Menu 'Always Available Offline' was greyed out. So I deleted the Offline Copies. This deleted the Files in the Folders but not the Folders.
    Since I could find no way of deleting the old Mapped Network Drives, I decided I'd painted myself into a corner by renaming the Server.
     So I bit the bullet and re-installed my Notebook too.  This did get rid of the unwanted old Mapped Network Drives - BUT NOT THE ERROR!!
    I’ve been through all the troubleshooting procedures in: 
    http://social.technet.microsoft.com/Forums/windows/en-US/629597bb-7be0-455c-b81e-a149472d3f9b/windows-7-backup-the-system-cannot-find-the-path-specified-error-0x80070003?forum=w7itprogeneral
    Method 1
    It had none of the symptoms reported in  
    http://support.microsoft.com/kb/973455 
    but I scanned for ‘reparse’ points anyway.  Found several “Junction Points” but none that were “Mounted Volumes”, just ordinary ‘File Folders’.
    Method 2
    Check a drive for errors. 
    Looked at: 
    http://windows.microsoft.com/en-us/windows7/Check-a-drive-for-errors
    Checked
    both boxes.  I closed machine down, to check for errors when it re-started. 
    It didn’t seem to find anything. 
    I say seem, because I did not actually see it finishing checking the empty space, but stages 1-4 found no problems and Windows 7 restarted normally. 
    It did detect 66 ‘Reparse’ Points, which is more than it found when I scanned for them earlier. 
    Method 3
    Yes, I am an administrator or my own machine and, as such, I have ‘Full Access’.
    I downloaded an ran the Process Monitor, filtering for Process Name “Wbengine.exe”, but did dot get a single event. 
    So I’m not sure what’s going on.
    HELP - I'm out of ideas!
    I have a WORD Document that documents all the Settings I've used on both the Server and the Clients, together with the reasoning behind those settings, but
    I cannot find a way of uploading it.

    I am having the exact same problem with Windows 7 Professional. Out of the blue, this issue just started a few months ago when running my monthly Windows Backup where I have used a USB drive for the last 3 years, and never ever had this issue before. Most
    of the solutions listed on the Microsoft websites and answers deal with
    "Restore" functions, not the
    "Backup" itself. I have 3 folders being skipped during the backup.
    So I went and changed the Backup from "let Microsoft choose files, directories, etc" to "Let me choose". I included the files and folders that were being skipped, and ran the "Backup" again, and got the same error message,
    but the files that were skipped the first time were "Backed up" finally. This issue is somehow related to my "Libraries"?
    The 3 backup problems are:
    Backup encountered a problem while backing up file C:\Windows\System32\config\systemprofile\My Audio Books\Audio Book Recordings. Error:(The system cannot find the path specified. (0x80070003))
    Backup encountered a problem while backing up file C:\Windows\System32\config\systemprofile\My Audio Books\Audio Book CD Label-Cover Art. Error:(The system cannot find the path specified. (0x80070003))
    Backup encountered a problem while backing up file C:\Windows\System32\config\systemprofile\My Audio Books\Audio Book MP3 Tag Art. Error:(The system cannot find the path specified. (0x80070003))
    Did a "checkdisk" - no problems. Ran a program to fix registry - no problems. All updates up to date. I guess I could eliminate these folders from the Backup folders in the
    Library, and just choose them under the "Users" locations, and be done with it. But I really want to understand this, and fix it. This is within Windows 7 and may be related to Windows Media Player or
    some recent Windows update.  Thanks.

  • What is the Design to Deployment Workflow using DW with WordPress?

    I am a Designer and Developer/programmer. This is a complete workflow question: What is the Design to Deployment Workflow using DW with WordPress? For example, is it:
    PS/IL > DW > WP? (Photoshop or Illustrator, Dreamweaver, WordPress?)
    Or is Edge Reflow inserted between PS and DW?
    PS > ER > DW > WP?
    Are these workflows iterative and, whats the word, recursive - we are able to go back and forth?
    My understanding is that the Edge tools are not up to the coding standards of DW, and ER > DW (Edge Reflow to Dreamweaver) is not seamless or even practical.
    Where does the Stack come in? MAMP (or LAMP/WAMP) of course, jQuery/jQuery UI, WordPress and other items; how integrated are these things?
    I used to be a Flex developer and quite comfortable with the Design to Dynamic Deployment workflow of Illustrator or Photoshop to Flash Catalyst to Flash Builder; moreover, I thought the Eclipse IDE was excellent with its database introspection capabiliities, debugging etc. Adobe really pushed this workflow, then instead of innovating and standing behind its own product with 98% market penetration, Adobe disembowelled Flash right before everyones eyes.
    What about Prototyping, which is certainly part of the process? Fireworks is on the kibosh. Illustrator, while excelling at some aspects falls short of making a functional prototype (unless you're tying in Acrobat to link the pages), and while Photoshop is Edge Reflows darling, Edge seems redundant with DW and spits out twacky code.
    (Muse of course is unusable for professional developers, but it makes you wonder why some of those UI elements where not employed in DW whose interface seems antiquated by comparison).
    It seems Adobe is bloody all over the place, more like a rabbing drunk with a microphone rather than the dependable go-to software company for creatives the world over.
    In my opinion, workflow from beginning to end is important. Having a million different options to try to accomodate everyone is not. Some guidance in this department is greatly appreciated!
    Best,
    Dylan

    I have not used Edge Reflow myself.  Nor do I espically like WordPress.  But my typical workflow is:
    PS for Design Concept and web images.
    DW for CSS, HTML & JavaScript.
    3rd party editors like Zend Studio & Navicat for PHP & MySql development.
    Nancy O.

  • AS3 - 1) Countdown Timer to the designated Date for Live-Broadcast-Event yet to take place; 2) Detect End of Live Stream on FLVPlayback with FLVPlayback.isLive = true - ActionScript 3 - flash cs3 cs4

    Hi folks,
    Ronny's here again on forums, having particularly 2 (two) questions/problems to resolve:
    1) Countdown Timer to the designated Date for Live-Broadcast-Event yet to take place
    2) Detect End of Live Stream on FLVPlayback with FLVPlayback.isLive = true
    attached is the .zip file (as3_Countdown Timer_ver 1.0.1_by Ronny Depp.zip) with all flash source files containing:
    a) The FLash Source (file: timer_module.fla) - (FLA flash source file - Flash CS3 Professional, Flash Player 9, actionscript 3.0)
    b) com.othenticmedia.utils.dateAndTimeManagement package including 2 .as actionscript 3.0 Class files.
           i) com.othenticmedia.utils.dateAndTimeManagement.DateAndTimeManager Class in the said package. (file: DateAndTimeManager.as)
           ii) com.othenticmedia.utils.dateAndTimeManagement.CountdownTimer Class in the package. (file: CountdownTimer.as)
    c) The compiled SWF file version of this Application's blueprint. (file: timer_module.swf).
    What i need to confirm is: ........................................................ see the next post of mine. (for Problems  need to be Resolved)

    Problems to Resolve:
    Problem#1) - Countdown Timer to the designated Date for Live-Broadcast-Event yet to take place.
    Problem#2) - Detect End of Live Stream on FLVPlayback with FLVPlayback.isLive = true;
    Problem#1 Description:
    I need to pinpoint the Logical TimeSync Exception, i am still unable to figure out. That is I'm using a webservice in my Application to Synchronize the Time with the actual ET (eastern time) with accomodation of auto-adjustment for EDT GMT-4 (eastern daylight time) & EST GMT-5 (eastern standard time), times. I am using the zipcode: "10012" to pass it to the Web Service in urlRequest object, to retrieve the Current ET eastern time according to EDT & EST time settings for Manhattan/Brooklyn areas or others within  New York, NY 10012.
    Currently the Web Service is returning accurate date/time based on local EDT GMT-4 daylight time.
    Is there some defined set of dates for EDT & EST times for New York region that I can check for to ensure the correct Dates/Times for Eastern Time in New York area ??? I am using NY zipcodes because i am sure to get correct ET values.
    The Major Problem Part: is I need to correct the time by 2 seconds or approx. 2 secs, some millisecs.
    When I retrieve the Time Value from WebService, it lags behind for 2 seconds as compared to DateObj i create using computer's local time, on my Windows XP Service Pack 2 with Automatic Updates turned-on. And I'm sure about my Windows will be having latest updates for Time Management already installed. I also added the 2 secs. to the TimeSync(ed) Date to make correction to this Date obj.
    I call my custom fucntion addSeconds(dateObj:Date, secs:int) to add 2 seconds to the Date by Converting Seconds to Milliseconds.
    Please comb through the as code in files attached and Help Me Out !!!
    Problem#2 Description:
    Secondly I need to Detect the End of Stream state while using FLVPlayback component, an rtmp:// live Stream from FLASH MEDIA SERVER.
    I need to Play a YuMe Post-Roll Ad when Steam Finishes/Ends.
    Live Broadcast Stream Event starts every night on Wednesdays & Saturdays exactly  at 10:59 PM EDT GMT-4.
    Live Events only Streams/Broadcasts the stream for 50secs. exactly. When [playback stopped] it plays a PostRoll Ad and after the CountdownTimer again comes back to life. The Next upcoming Event is calculated & the Countdown begins until Next Event's time/date is reached.
    Here is the  code on the frame 1 on the MainTimeline: (rest of the params like source, volume, skinAutoHide are Set using Property Inspector for FLVPlayback instance on Stage)
    //myStream instance of FLVPlayback is on the Stage
    myStream.isLive = true;// Frame 1 Actions in the FLA
    myStream.addEventListener(VideoEvent.COMPLETE, onEndOfStream);
    myStream.addEventListener(VideoEvent.STATE_CHANGE, onState);
    myStream.addEventListener(String(VideoError.NO_CONNECTION), onStreamError);
    myStream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
    /*if(myStream.stopped){
         trace("tracy: "+myStream.state);
    } else if(myStream.state == VideoState.STOPPED){
         trace("tracy: "+myStream.state);
    function onStreamError(event:VideoError) {
         trace(event.code + "\n\t" + event);
    function onState(event:VideoEvent) {
         trace(event.state + "\n\t" + event.toString());
    function onEndOfStream(event:VideoEvent) {
         trace(event.state + "\n\t" + event.toString());
    function netStatusHandler(event:NetStatusEvent):void {
         switch (event.info.code) {
              case "NetConnection.Connect.Success":
                   //connectStream();
                   break;
              case "NetStream.Play.StreamNotFound":
                   trace("Stream not found: "/* + myStream.source*/);
                   break;

  • Can you make the view size of Code page bigger?

    If I change the View by zooming it only seems to work on the Design parts of the screen and not the text within the code section.
    Is it possible to make this larger when I am editing?
    Thanks, Ian

    Sure. Go into Edit > Preferences > Fonts and change the Code View Font and Font-Size. If you work with CSS stylesheets, I have discovered that changing my Code View Font to Verdana makes more pronounced curly brackets, and makes it easier to distinguish them from ordinary parentheses.
    Beth

  • Can't view my user control in the designer (An Unhandled Exception has occurred)

    I'm using VS 2012, looking at some code I wrote some time ago. For some reason I cannot view the XAML in the design view, only the XAML view. I'm getting an error that says, "An Unhandled Exception has occurred". I can compile the solution fine,
    but it won't let me view it. I don't know why I can't view it in the designer. Here's the error details:
    Microsoft.Expression.DesignHost.Isolation.Remoting.RemoteException
    Object reference not set to an instance of an object.
       at System.Windows.StyleHelper.FindNameInTemplateContent(DependencyObject container, String childName, FrameworkTemplate frameworkTemplate)
       at System.Windows.TemplateNameScope.System.Windows.Markup.INameScope.FindName(String name)
       at MS.Internal.Data.ElementObjectRef.GetObject(DependencyObject d, ObjectRefArgs args)
       at MS.Internal.Data.ObjectRef.GetDataObject(DependencyObject d, ObjectRefArgs args)
       at System.Windows.Data.BindingExpression.MS.Internal.Data.IDataBindEngineClient.VerifySourceReference(Boolean lastChance)
       at MS.Internal.Data.DataBindEngine.Task.Run(Boolean lastChance)
       at MS.Internal.Data.DataBindEngine.Run(Object arg)
       at MS.Internal.Data.DataBindEngine.OnLayoutUpdated(Object sender, EventArgs e)
       at System.Windows.ContextLayoutManager.fireLayoutUpdateEvent()
       at System.Windows.ContextLayoutManager.UpdateLayout()
       at System.Windows.UIElement.UpdateLayout()
       at System.Windows.Interop.HwndSource.SetLayoutSize()
       at System.Windows.Interop.HwndSource.set_RootVisualInternal(Visual value)
       at System.Windows.Interop.HwndSource.set_RootVisual(Visual value)
       at Microsoft.Expression.DesignHost.Isolation.Remoting.RemoteUIElement.<>c__DisplayClass12.<Microsoft.Expression.DesignHost.Isolation.Remoting.IRemoteUIElement.CreateContent>b__11()
       at Microsoft.Expression.DesignHost.Isolation.Remoting.ThreadMarshaler.<>c__DisplayClass16`1.<MarshalIn>b__15()
       at Microsoft.Expression.DesignHost.Isolation.Remoting.STAMarshaler.Call.InvokeWorker()
       at Microsoft.Expression.DesignHost.Isolation.Remoting.STAMarshaler.Call.Invoke(Boolean waitingInExternalCall)
       at Microsoft.Expression.DesignHost.Isolation.Remoting.STAMarshaler.InvokeCall(Call call)
       at Microsoft.Expression.DesignHost.Isolation.Remoting.STAMarshaler.ProcessQueue(CallQueue queue)
       at Microsoft.Expression.DesignHost.Isolation.Remoting.STAMarshaler.ProcessInboundAsyncQueue(Int32 identity)
       at Microsoft.Expression.DesignHost.Isolation.Remoting.STAMarshaler.ProcessMessage(Int32 msg, IntPtr wParam, Boolean elevatedQuery, Boolean& handled)
       at Microsoft.Expression.DesignHost.Isolation.Remoting.STAMarshaler.OnWindowMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
       at Microsoft.Expression.DesignHost.Isolation.Remoting.MessageOnlyHwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
       at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
       at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
       at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
       at System.Windows.Threading.Dispatcher.Run()
       at System.Windows.Application.RunDispatcher(Object ignore)
       at System.Windows.Application.RunInternal(Window window)
       at System.Windows.Application.Run(Window window)
       at Microsoft.Expression.DesignHost.Isolation.IsolationProcess.RunApplication()
       at Microsoft.Expression.DesignHost.Isolation.IsolationProcess.<>c__DisplayClass2.<Main>b__0()
       at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
       at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Threading.ThreadHelper.ThreadStart()
    Rod

    I stopped when I saw stuff about databinding.
    I guess your problem is you have code in your constructor.
    A prameterless constructor of a view will be called by the designer.
    This is probably trying to use things which aren't there at design time.
    You can mock them or just exit out the constructor if you're in the designer.
    public YourUserControlConstructor()
    InitializeComponent();
    if (DesignerProperties.GetIsInDesignMode(this)
    return;
    // Dependent code which produces errors
    http://social.technet.microsoft.com/wiki/contents/articles/29874.wpf-tips-designer-detection.aspx
    Hope that helps.
    Recent Technet articles: Property List Editing;
    Dynamic XAML

  • Unit testing legacy code - best approach?

    Hi,
    I've got a project full of legacy code (by this I simply mean untested) and I'm experimenting with retrofitting unit testing to it. I'm sure this entails a great many problems, but here's the first one.
    We have a central class with the Singleton pattern - it's instantiated once and then fetched all over the code. It's a concrete class at the moment, not an interface. Let's call this CentralControl.
    Because the code I want to test relies on the presence of this class, and yet it's too complex/heavyweight to properly instantiate in a test scenario, I need to mock it.
    I guess the ideal way is to turn what's now CentralControl into an interface, and have both a real and mock implementation. The code that enforces the singleton behaviour could have a new method to instantiate the mock version rather than the real thing.
    Would you do this yourself rather than alternatives like extending it, and are there any tools to help automate the process?
    Thanks,
    Rob

    I guess the ideal way is to turn what's now CentralControl into an interface...I think that's the better idea, but you can mock classes as well as interfaces; e.g., EasyMock 2.2.2 and higher.
    ~

Maybe you are looking for

  • Ipod freezes in middle of loading itunes library

    After reformatting the hard drive on my Powerbook G4 drive (per Apple instruction), I reconnected my ipod clickwheel and it hasn't been working since (using Tiger 10.4 and latest version of ipod updater), mostly showing the folder & exclamation point

  • Standby sync problem.

    Hi, DB Version:10g R2 OS:LINUX We have configured the physical standby database and it was running as expected, but due to some un know reasons one of the archivelog at primary side has been deleted and it is no longer available to be transferred and

  • Wifi connection problem 4s

    The last one month I am having problems connecting to wi-fi.  The phone is over a year old and never had problems before.  Did upgrade to all recent software ios6+

  • Accessing media card data

    I had major issues with my Sprint BB and had to change phones. Luckily, everything is supposedly on my media card. I've inserted the media card, but I don't know how to get its data to load on to currrent phone. Please help; I don't want to have to r

  • Upgrading Snow Leopard for security patch

    I have a Macbook Pro with Snow Leopard.  Can it be upgraded to Mavericks or Lion?  The most recent security patch does not seem to available for my system.  Thanks