NIO WatchService and file modifications

Hi everyone,
I am just testing a little bit the new I/O API and facing a fancy issue :
I created a WatchService that prints informations when a file is modified ( StandardWatchEventKinds.ENTRY_MODIFY ).
When I modify the file using NotePad (I work on Windows), all is OK, I have one trace of the modification. But if I modify the file using another "more powerful" text editor like NotePad++ or Eclipse IDE, my WatchService handles two modification events... This can be pretty much annoying as my application behavior depends on this modification and I don't want it to stress because of multiple "useless" events.
Does anybody know why this happens? Is it due to the OS or the software used to modify the file?
Thanks for your answers.

878488 wrote:
But the point of my question was : Is this normal that the WatchService detects multiple modification events when saving files with some editors?I presume this is something new with Java 7, since the only docs I can find appear to be drafts, so the simple answer is: I don't know, because I haven't tried it yet.
I'd also suggest that playing with "bleeding edge" stuff to support a methodology that you already concede is clunky may not be the best way to proceed. Have you voiced your concerns to your management?
Winston
Edited by: YoungWinston on Aug 10, 2011 11:11 AM
PS: I believe that there are already some quite well-established packages around for monitoring file updates but, as I said, I'd only use it as a last resort. On top of everything else, it's likely to be slow.

Similar Messages

  • Nio ByteBuffer and memory-mapped file size limitation

    I have a question/issue regarding ByteBuffer and memory-mapped file size limitations. I recently started using NIO FileChannels and ByteBuffers to store and process buffers of binary data. Until now, the maximum individual ByteBuffer/memory-mapped file size I have needed to process was around 80MB.
    However, I need to now begin processing larger buffers of binary data from a new source. Initial testing with buffer sizes above 100MB result in IOExceptions (java.lang.OutOfMemoryError: Map failed).
    I am using 32bit Windows XP; 2GB of memory (typically 1.3 to 1.5GB free); Java version 1.6.0_03; with -Xmx set to 1280m. Decreasing the Java heap max size down 768m does result in the ability to memory map larger buffers to files, but never bigger than roughly 500MB. However, the application that uses this code contains other components that require the -xMx option to be set to 1280.
    The following simple code segment executed by itself will produce the IOException for me when executed using -Xmx1280m. If I use -Xmx768m, I can increase the buffer size up to around 300MB, but never to a size that I would think I could map.
    try
    String mapFile = "C:/temp/" + UUID.randomUUID().toString() + ".tmp";
    FileChannel rwChan = new RandomAccessFile( mapFile, "rw").getChannel();
    ByteBuffer byteBuffer = rwChan.map( FileChannel.MapMode.READ_WRITE,
    0, 100000000 );
    rwChan.close();
    catch( Exception e )
    e.printStackTrace();
    I am hoping that someone can shed some light on the factors that affect the amount of data that may be memory mapped to/in a file at one time. I have investigated this for some time now and based on my understanding of how memory mapped files are supposed to work, I would think that I could map ByteBuffers to files larger than 500MB. I believe that address space plays a role, but I admittedly am no OS address space expert.
    Thanks in advance for any input.
    Regards- KJ

    See the workaround in http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4724038

  • After editing file in ACR 8.6 (Mac) , the file (NEF and XMP) modification dates are not updated

    With both my Mac's, reset Photoshop C  (2014) to previous version 2014.0. Now find that after editing file in ACR 8.6 (Mac) , the file (NEF and XMP) modification dates are not updated. Reloaded camera raw, etc., but still find modification dates are not updated, either using Finder or using Bridge to view dates. Editing other files, PSD, DNG, TIFF, etc., are updated and the information is correctly displayed.

    Ok, not entirely sure what I did but it's now working (Bizarre!). The only thing I did was 'eject' the ACR 8.6 .dmg file from the finder side bar and restart PS CC, so that may have been where I was going wrong all along!
    However, I now have another issue in that there is no preview of the shot in Finder on my iMac when I highlight the NEF file. I assume this is simply because Apple haven't yet released an update for the new D810 NEF files and so the computer doesn't know what it's looking at?!?
    If anyone has any other ideas though, then I'm more than willing to listen.
    Thanks again.

  • WebDAV file info, type and last modification empty

    I am using LV2013 SP1 and working to replace existing FTP functionality with WebDAV. 
    For this task, I need to get a listing of files (*.tdms) on the RT (cRIO) and allow the user to select those for transfer.
    My current FTP method displays name, date & size in a listbox for sorting and selection.
    Regardless of whether I use WebDAV Synchronous or Asynchronous VIs to retreive a directory list, the file info's cluster type and last modification elements are empty.  The RT has WebDAV Server 13.5.0 installed.
    I did notice that the type is populated for text files (text/plain), but last modified is still empty.
    I'm guessing the MIME type of TDMS files doesn't exist?  I don't require that information for sorting.
    However, the last modified information is very important for my applications & users for sorting the file list.
    Could this possible be an issue with any RT settings or missing software?
    Thanks for any suggestions/assistance.
    James
    Systems Engineering
    LabVIEW 5.0 - 2014
    Solved!
    Go to Solution.

    Hi Thomas,
    Thanks for the response.
    You can use the NI Example Finder and enter "WebDAV" to locate the WebDAV Data Acquisition.lvproj and simply run the Windows WebDAV Sync.vi to see the problem with WebDAV Asynchronous VIs.  
    I decided to use WebDAV Synchronous VIs in my application, but see the same problem.
    Here's the WebDAV section of my code.
    Thanks for any suggestions.
    James
    Systems Engineering
    LabVIEW 5.0 - 2014

  • How do I identify the latest file modifications, application install, and registry key modification for Security Forensics.... using GP Audit for registry/file system

    Hello,
    Title pretty much states it all. I initially set out (as part of a Security Forensics initiative) to identify the most recently installed applications, modified files, and registry key changes using PowerShell. I attempted to pull this information and sort
    them by date installed/last modified, but it was brought to my attention this information isn't always present and can be modified - so it's not accurate.
    At that time it was suggested we use Group Policy auditing for Registry and File System -  but I'm not sure how I'm going to use/pull these in PowerShell? This will be used on remote host all over the world so local physical access isn't an option.
    My question is:
    Once Group Policy Auditing for Registry and File System has been enabled, how would I go about pulling those audit logs for review once a system has been identified as compromised? I'm brand new to this GP Auditing (we have a separate team for that) so feel
    free to take it from the beginning. :)
    Thanks in advance!

    Hi,
    Here are a few suggestions for you:
    Ensure Remote Registry service is started on local and remote machines.
    Add the – Credential option and supply administrative credentials within the command.
    More information for you:
    Get-Eventlog doesn't work against Vista/W7 clients
    https://social.technet.microsoft.com/Forums/en-US/c5185a01-b0d2-49a7-9aa7-52e6534ada04/geteventlog-doesnt-work-against-vistaw7-clients?forum=winserverpowershell
    PowerShell - How to Get XML EventData - Remote Eventlogs - Exchange Events
    https://social.technet.microsoft.com/Forums/scriptcenter/en-US/382b10c9-d740-46b1-b81c-b24de911eb14/powershell-how-to-get-xml-eventdata-remote-eventlogs-exchange-events-?forum=ITCG
    Powershell script to gather failed logon attempts by event id and type from the security events log
    https://social.technet.microsoft.com/Forums/scriptcenter/es-ES/00a62492-c63a-4c8b-92f9-1cc857223a00/powershell-script-to-gather-failed-logon-attempts-by-event-id-and-type-from-the-security-events-log?forum=ITCG
    Best Regards,
    Amy
    Please remember to mark the replies as answers if they help and un-mark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact [email protected]

  • While intending to perform a clean install of Mountain Lion while continuing with old apps and files, is it a waste to restore a backup that was made while running Mountain Lion as an UPgrade from Lion?

    While intending to perform a clean install of Mountain Lion while continuing with old apps and files, is it a waste to restore a backup that was made while running Mountain Lion as an UPgrade from Lion?
    Originally I was running Mountain Lion as an UPgrade from Lion. I created a backup in Time Machine, performed a clean install of Mountain Lion, then I proceeded to use Time Machine to restore the back up.
    When thinking about the essence of a back up restore, it occurrs to me that for all I know, I may have just wated my time IF Time Machine also restores all the old unneeded files that remain from Lion after an upgrade.
    Since the backup was made while running Mountain Lion as an upgrade from Lion, did restoring this backup defeat the purpose of a clean install by reinstalling old Lion files?
    If so, how can I re-do the last portion of the process so that I get all my home-folder files and apps back without the full bulk of old Lion files? Migration assistant I'm guessing?
    -Chris

    Hello John!
    Thank you for your response which solved my problem. For other users who may stumble upon this, I'll clear up the confusion and share how I solved the problem with your help; When looking for answers to my computer problems, finding unresolved questions where person B offers a solution and person A never comes back and says "That worked, thank you.", it demonstrates a "k-thnx-bye" user mentality that leaves others with the same problem lost. Without further ado:
    It is not clear what you did because the meaning of "clean install" is vague. You can erase a volume and install an OS which leaves none of its previous content intact,
    This is what I did: I erased the volume leaving no previous content intact, while then installing OS X Mountain Lion.
    or you can upgrade an existing OS (or reinstall the same one) which does not alter your user - installed files.
    An upgrade to Mountain Lion from Lion is what I started with initially before erasing anything. This was undesirable. Since this can cause Macs to run slower (especially whereas I'm using a mid-2011 Mac Mini), my goal was to go from operating within an upgrade to Mountain Lion, to operating within an installation of Montain Lion that was not preceded by any other oprating system.
    Hence a "clean install of Mountain Lion while continuing with old apps and files" is confusing.
    Well put and understood. What I should have said was:
    1.Erase the volume
    2.Install Mountain Lion clean
    3.Confirm that Mountain Lion is functioning properly
    4.Proceed to use either Time Machine or Migration Assistant to Import/Migrate/Copy over only two things; My old apps (That had been stored originally in the designated Applications folder) and all files and folders originally stored in the home folder under users.
    If you restore from a Time Machine backup then all modifications that occurred subsequent to that backup become erased. It renders moot any OS X upgrade performed subsequent to that backup.
    That makes sense and is just as I later suspected.
    If so, how can I re-do the last portion of the process so that I get all my home-folder files and apps back without the full bulk of old Lion files? Migration assistant I'm guessing?
    Yes.
    This is what I did and everything works perfectly. Thank you so much once again!
    -Chris

  • File path and file name?

    hi could anyone give code for filename and file path name from application and presentation server....
    I need to give file name and file path on selection screen for both the servers....

    Hi Abhay,
    Refer to the below code:
    *& Report  ZHYPERION                                                   *
    *& Project : SubSea7
    Created on : 07/02/2007
    Created by : Puneet Jhari.
    *& Purpose : For SAP Interface download Hyperion.
    REPORT  zhyperion NO STANDARD PAGE HEADING  MESSAGE-ID zhyper.
    Start of Data Declaration
    TYPE-POOLS : truxs,vrm.
    TABLES : glpct,cepc.
    DATA : var TYPE i,
            total TYPE f.
    DATA : BEGIN OF wa2,
           ryear LIKE glpct-ryear,
           rbukrs LIKE glpct-rbukrs,
           racct LIKE glpct-racct,
           ksl01 LIKE glpct-ksl01,
           END OF wa2.
    DATA : BEGIN OF wa3,
           ryear LIKE glpct-ryear,
           rbukrs LIKE glpct-rbukrs,
           racct LIKE glpct-racct,
           ksl01 LIKE glpct-ksl01,
           END OF wa3.
    DATA : BEGIN OF wa4,
           racct LIKE glpct-racct,
           END OF wa4.
    DATA : BEGIN OF wa5,
           rbukrs LIKE glpct-rbukrs,
           racct LIKE glpct-racct,
           total1(8) TYPE p DECIMALS 2,
           END OF wa5.
    DATA : BEGIN OF wa9,
           khinr LIKE cepc-khinr,
           racct LIKE glpct-racct,
           total1(8) TYPE p DECIMALS 2,
           END OF wa9.
    DATA : BEGIN OF wa6,
           khinr LIKE cepc-khinr,
           prctr LIKE cepc-prctr,
           rprctr LIKE glpct-rprctr,
           ryear LIKE glpct-ryear,
           rbukrs LIKE glpct-rbukrs,
           racct LIKE glpct-racct,
           ksl01 LIKE glpct-ksl01,
           END OF wa6.
    DATA : BEGIN OF wa7,
           khinr LIKE cepc-khinr,
           prctr LIKE cepc-prctr,
           rprctr LIKE glpct-rprctr,
           ryear LIKE glpct-ryear,
           rbukrs LIKE glpct-rbukrs,
           racct LIKE glpct-racct,
           ksl01 LIKE glpct-ksl01,
           END OF wa7.
    DATA : itab3 LIKE TABLE OF wa2,
           itab4 LIKE TABLE OF wa3,
           itab5 LIKE TABLE OF wa4 WITH HEADER LINE,
           itab6 LIKE TABLE OF wa5 WITH HEADER LINE,
           itab7 LIKE TABLE OF wa6,
           itab8 LIKE TABLE OF wa7,
           itab10 LIKE TABLE OF wa9.
    DATA : flag(1) TYPE c,
           temp(6) TYPE c.
    DATA : itab2 TYPE truxs_t_text_data,
           itab9 TYPE truxs_t_text_data WITH HEADER LINE.
    DATA : name TYPE vrm_id,
           list TYPE vrm_values,
           value LIKE LINE OF list,
           FILNAM11 TYPE STRING,
           FILNAM21 TYPE STRING.
    End of Data Declaration
    Begin of Selection Screen
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    PARAMETERS: r1 DEFAULT 'X' RADIOBUTTON GROUP g1 USER-COMMAND rad1,
    r2 RADIOBUTTON GROUP g1 .
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-005.
    PARAMETERS: rbukrs1 TYPE glpct-rbukrs MODIF ID ful,
                khinr1 TYPE cepc-khinr AS LISTBOX VISIBLE LENGTH 20
                MODIF ID sam ,
                ryear1 TYPE glpct-ryear MODIF ID ful,
                ryear2 TYPE glpct-ryear MODIF ID sam,
                rpmax1 TYPE i MODIF ID ful,
                rpmax2 TYPE i MODIF ID sam,
                filnam1 TYPE rlgrap-filename MODIF ID ful,
                filnam2 TYPE RLGRAP-FILENAME MODIF ID sam.
    SELECTION-SCREEN END OF BLOCK b3.
    End of Selection Screen
    AT SELECTION-SCREEN OUTPUT
    AT SELECTION-SCREEN OUTPUT.
    PERFORM populate.          "For populating the drop-down list.
    CLEAR VALUE.
    REFRESH LIST.
    NAME = 'KHINR1'.
    VALUE-KEY = '1S7_NOCASV'.
    VALUE-TEXT = '1S7_NOCASV'.
    APPEND VALUE TO LIST.
    VALUE-KEY = '1S7_NOCJOT'.
    VALUE-TEXT = '1S7_NOCJOT'.
    APPEND VALUE TO LIST.
    LOOP AT SCREEN.            "For toggling between the selection screens.
        IF r1 EQ 'X'.
          IF screen-group1 = 'SAM'.
            screen-active = 0.
          ENDIF.
        ELSEIF r2 EQ 'X'.
          IF screen-group1 = 'FUL'.
            screen-active = 0.
          ENDIF.
        ENDIF.
        MODIFY SCREEN.
      ENDLOOP.
    For the Drop-Down Listbox
      CALL FUNCTION 'VRM_SET_VALUES'
        EXPORTING
          id                    = name
          values                = list
    EXCEPTIONS
      ID_ILLEGAL_NAME       = 1
      OTHERS                = 2
      IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    Begin of Data Selection
    START-OF-SELECTION.
    When Company Code radio button is selected.
      IF r1 EQ 'X'.            "If Company Code radio button is selected.
        IF rbukrs1 IS INITIAL.
          MESSAGE i002.
          LEAVE TO SCREEN 1000.
        ENDIF.
        IF rpmax1 IS INITIAL.
          MESSAGE i002.
          LEAVE TO SCREEN 1000.
        ENDIF.
        IF ryear1 IS INITIAL.
          MESSAGE i002.
          LEAVE TO SCREEN 1000.
        ENDIF.
        IF filnam1 IS INITIAL.
          MESSAGE i002.
          LEAVE TO SCREEN 1000.
        ENDIF.
    MOVE FILNAM1 TO FILNAM11.
        CASE rpmax1.
          WHEN '01'.
            SELECT ryear rbukrs racct ksl01
    FROM glpct INTO TABLE itab3 WHERE rbukrs EQ rbukrs1 AND ryear EQ ryear1.
          WHEN '02'.
            SELECT ryear rbukrs racct ksl02
    FROM glpct INTO TABLE itab3 WHERE rbukrs EQ rbukrs1 AND ryear EQ ryear1.
          WHEN '03'.
            SELECT ryear rbukrs racct ksl03
    FROM glpct INTO TABLE itab3 WHERE rbukrs EQ rbukrs1 AND ryear EQ ryear1.
          WHEN '04'.
            SELECT ryear rbukrs racct ksl04
    FROM glpct INTO TABLE itab3 WHERE rbukrs EQ rbukrs1 AND ryear EQ ryear1.
          WHEN '05'.
            SELECT ryear rbukrs racct ksl05
    FROM glpct INTO TABLE itab3 WHERE rbukrs EQ rbukrs1 AND ryear EQ ryear1.
          WHEN '06'.
            SELECT ryear rbukrs racct ksl06
    FROM glpct INTO TABLE itab3 WHERE rbukrs EQ rbukrs1 AND ryear EQ ryear1.
          WHEN '07'.
            SELECT ryear rbukrs racct ksl07
    FROM glpct INTO TABLE itab3 WHERE rbukrs EQ rbukrs1 AND ryear EQ ryear1.
          WHEN '08'.
            SELECT ryear rbukrs racct ksl08
    FROM glpct INTO TABLE itab3 WHERE rbukrs EQ rbukrs1 AND ryear EQ ryear1.
          WHEN '09'.
            SELECT ryear rbukrs racct ksl09
    FROM glpct INTO TABLE itab3 WHERE rbukrs EQ rbukrs1 AND ryear EQ ryear1.
          WHEN '10'.
            SELECT ryear rbukrs racct ksl10
    FROM glpct INTO TABLE itab3 WHERE rbukrs EQ rbukrs1 AND ryear EQ ryear1.
          WHEN '11'.
            SELECT ryear rbukrs racct ksl11
    FROM glpct INTO TABLE itab3 WHERE rbukrs EQ rbukrs1 AND ryear EQ ryear1.
          WHEN '12'.
            SELECT ryear rbukrs racct ksl12
    FROM glpct INTO TABLE itab3 WHERE rbukrs EQ rbukrs1 AND ryear EQ ryear1.
          WHEN '13'.
            SELECT ryear rbukrs racct ksl13
    FROM glpct INTO TABLE itab3 WHERE rbukrs EQ rbukrs1 AND ryear EQ ryear1.
          WHEN '14'.
            SELECT ryear rbukrs racct ksl14
    FROM glpct INTO TABLE itab3 WHERE rbukrs EQ rbukrs1 AND ryear EQ ryear1.
          WHEN '15'.
            SELECT ryear rbukrs racct ksl15
    FROM glpct INTO TABLE itab3 WHERE rbukrs EQ rbukrs1 AND ryear EQ ryear1.
          WHEN '16'.
            SELECT ryear rbukrs racct ksl16
    FROM glpct INTO TABLE itab3 WHERE rbukrs EQ rbukrs1 AND ryear EQ ryear1.
        ENDCASE.
        MOVE itab3 TO itab4.
        LOOP AT itab3 INTO wa2.
          flag = 0.
          LOOP AT itab5 INTO wa4.
            IF wa2-racct EQ wa4-racct.
              flag = 1.
              EXIT.
            ENDIF.
          ENDLOOP.
          DELETE ADJACENT DUPLICATES FROM itab5.
          IF flag = 1.
            CONTINUE.
          ENDIF.
          LOOP AT itab4 INTO wa3.
            IF wa2-rbukrs EQ wa3-rbukrs AND wa2-racct EQ wa3-racct AND
            wa2-ryear EQ wa3-ryear.
              total = total + wa3-ksl01.
            ENDIF.
          ENDLOOP.
          wa5-rbukrs = wa2-rbukrs.
          wa5-racct = wa2-racct+4(6).
          wa5-total1 = total.
          APPEND wa5 TO itab6.
          CLEAR total.
          APPEND wa2-racct TO itab5.
        ENDLOOP.
    If no data is available corresponding to the values entered.
        IF itab6[] IS INITIAL.
          MESSAGE i003.
        ENDIF.
    For making the file Comma separated
        CALL FUNCTION 'SAP_CONVERT_TO_TEX_FORMAT'
          EXPORTING
            i_field_seperator          = ','
    I_LINE_HEADER              =
      I_FILENAME                 =
      I_APPL_KEEP                = ' '
          TABLES
            i_tab_sap_data             = itab6
         CHANGING
           i_tab_converted_data       = itab2
    EXCEPTIONS
      CONVERSION_FAILED          = 1
      OTHERS                     = 2
        IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
    For downloading it to the Presentation Server
       MOVE itab2[] TO itab9[].
       OPEN DATASET filnam1 FOR OUTPUT IN LEGACY TEXT MODE.
       LOOP AT itab9.
         TRANSFER itab9 TO filnam1.
       ENDLOOP.
       CLOSE DATASET filnam1.
       IF sy-subrc EQ 0.
         MESSAGE s004.
       ENDIF.
    CALL FUNCTION 'GUI_DOWNLOAD'
      EXPORTING
      BIN_FILESIZE                    =
        filename                        = FILNAM11
      FILETYPE                        = 'ASC'
      APPEND                          = ' '
      WRITE_FIELD_SEPARATOR           = ' '
      HEADER                          = '00'
      TRUNC_TRAILING_BLANKS           = ' '
      WRITE_LF                        = 'X'
      COL_SELECT                      = ' '
      COL_SELECT_MASK                 = ' '
      DAT_MODE                        = ' '
      CONFIRM_OVERWRITE               = ' '
      NO_AUTH_CHECK                   = ' '
      CODEPAGE                        = ' '
      IGNORE_CERR                     = ABAP_TRUE
      REPLACEMENT                     = '#'
      WRITE_BOM                       = ' '
      TRUNC_TRAILING_BLANKS_EOL       = 'X'
      WK1_N_FORMAT                    = ' '
      WK1_N_SIZE                      = ' '
      WK1_T_FORMAT                    = ' '
      WK1_T_SIZE                      = ' '
      WRITE_LF_AFTER_LAST_LINE        = ABAP_TRUE
    IMPORTING
      FILELENGTH                      =
      tables
        data_tab                        = itab2
      FIELDNAMES                      =
    EXCEPTIONS
      FILE_WRITE_ERROR                = 1
      NO_BATCH                        = 2
      GUI_REFUSE_FILETRANSFER         = 3
      INVALID_TYPE                    = 4
      NO_AUTHORITY                    = 5
      UNKNOWN_ERROR                   = 6
      HEADER_NOT_ALLOWED              = 7
      SEPARATOR_NOT_ALLOWED           = 8
      FILESIZE_NOT_ALLOWED            = 9
      HEADER_TOO_LONG                 = 10
      DP_ERROR_CREATE                 = 11
      DP_ERROR_SEND                   = 12
      DP_ERROR_WRITE                  = 13
      UNKNOWN_DP_ERROR                = 14
      ACCESS_DENIED                   = 15
      DP_OUT_OF_MEMORY                = 16
      DISK_FULL                       = 17
      DP_TIMEOUT                      = 18
      FILE_NOT_FOUND                  = 19
      DATAPROVIDER_EXCEPTION          = 20
      CONTROL_FLUSH_ERROR             = 21
      OTHERS                          = 22
    IF sy-subrc eq 0.
    message s004.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    When Region radio button is selected.
      ELSEIF r2 EQ 'X'.
        IF khinr1 IS INITIAL.
          MESSAGE i002.
          LEAVE TO SCREEN 1000.
        ENDIF.
        IF rpmax2 IS INITIAL.
          MESSAGE i002.
          LEAVE TO SCREEN 1000.
        ENDIF.
        IF ryear2 IS INITIAL.
          MESSAGE i002.
          LEAVE TO SCREEN 1000.
        ENDIF.
        IF filnam2 IS INITIAL.
          MESSAGE i002.
          LEAVE TO SCREEN 1000.
        ENDIF.
    MOVE FILNAM2 TO FILNAM21.
        CASE rpmax2.
          WHEN '01'.
           SELECT ckhinr cprctr grprctr gryear grbukrs gracct g~ksl01
           INTO CORRESPONDING FIELDS OF TABLE itab7
           FROM (  glpct AS g
                   INNER JOIN cepc AS c ON grprctr = cprctr )
           WHERE c~khinr = khinr1 AND
                 g~ryear = ryear2.
          WHEN '02'.
           SELECT ckhinr cprctr grprctr gryear grbukrs gracct g~ksl02
           INTO CORRESPONDING FIELDS OF TABLE itab7
           FROM (  glpct AS g
                   INNER JOIN cepc AS c ON grprctr = cprctr )
           WHERE c~khinr = khinr1 AND
                 g~ryear = ryear2.
          WHEN '03'.
           SELECT ckhinr cprctr grprctr gryear grbukrs gracct g~ksl03
           INTO CORRESPONDING FIELDS OF TABLE itab7
           FROM (  glpct AS g
                   INNER JOIN cepc AS c ON grprctr = cprctr )
           WHERE c~khinr = khinr1 AND
                 g~ryear = ryear2.
          WHEN '04'.
           SELECT ckhinr cprctr grprctr gryear grbukrs gracct g~ksl04
           INTO CORRESPONDING FIELDS OF TABLE itab7
           FROM (  glpct AS g
                   INNER JOIN cepc AS c ON grprctr = cprctr )
           WHERE c~khinr = khinr1 AND
                 g~ryear = ryear2.
          WHEN '05'.
           SELECT ckhinr cprctr grprctr gryear grbukrs gracct g~ksl05
           INTO CORRESPONDING FIELDS OF TABLE itab7
           FROM (  glpct AS g
                   INNER JOIN cepc AS c ON grprctr = cprctr )
           WHERE c~khinr = khinr1 AND
                 g~ryear = ryear2.
          WHEN '06'.
           SELECT ckhinr cprctr grprctr gryear grbukrs gracct g~ksl06
           INTO CORRESPONDING FIELDS OF TABLE itab7
           FROM (  glpct AS g
                   INNER JOIN cepc AS c ON grprctr = cprctr )
           WHERE c~khinr = khinr1 AND
                 g~ryear = ryear2.
          WHEN '07'.
           SELECT ckhinr cprctr grprctr gryear grbukrs gracct g~ksl07
           INTO CORRESPONDING FIELDS OF TABLE itab7
           FROM (  glpct AS g
                   INNER JOIN cepc AS c ON grprctr = cprctr )
           WHERE c~khinr = khinr1 AND
                 g~ryear = ryear2.
          WHEN '08'.
           SELECT ckhinr cprctr grprctr gryear grbukrs gracct g~ksl08
           INTO CORRESPONDING FIELDS OF TABLE itab7
           FROM (  glpct AS g
                   INNER JOIN cepc AS c ON grprctr = cprctr )
           WHERE c~khinr = khinr1 AND
                 g~ryear = ryear2.
          WHEN '09'.
           SELECT ckhinr cprctr grprctr gryear grbukrs gracct g~ksl09
           INTO CORRESPONDING FIELDS OF TABLE itab7
           FROM (  glpct AS g
                   INNER JOIN cepc AS c ON grprctr = cprctr )
           WHERE c~khinr = khinr1 AND
                 g~ryear = ryear2.
          WHEN '10'.
           SELECT ckhinr cprctr grprctr gryear grbukrs gracct g~ksl10
           INTO CORRESPONDING FIELDS OF TABLE itab7
           FROM (  glpct AS g
                   INNER JOIN cepc AS c ON grprctr = cprctr )
           WHERE c~khinr = khinr1 AND
                 g~ryear = ryear2.
          WHEN '11'.
           SELECT ckhinr cprctr grprctr gryear grbukrs gracct g~ksl11
           INTO CORRESPONDING FIELDS OF TABLE itab7
           FROM (  glpct AS g
                   INNER JOIN cepc AS c ON grprctr = cprctr )
           WHERE c~khinr = khinr1 AND
                 g~ryear = ryear2.
          WHEN '12'.
           SELECT ckhinr cprctr grprctr gryear grbukrs gracct g~ksl12
           INTO CORRESPONDING FIELDS OF TABLE itab7
           FROM (  glpct AS g
                   INNER JOIN cepc AS c ON grprctr = cprctr )
           WHERE c~khinr = khinr1 AND
                 g~ryear = ryear2.
          WHEN '13'.
           SELECT ckhinr cprctr grprctr gryear grbukrs gracct g~ksl13
           INTO CORRESPONDING FIELDS OF TABLE itab7
           FROM (  glpct AS g
                   INNER JOIN cepc AS c ON grprctr = cprctr )
           WHERE c~khinr = khinr1 AND
                 g~ryear = ryear2.
          WHEN '14'.
           SELECT ckhinr cprctr grprctr gryear grbukrs gracct g~ksl14
           INTO CORRESPONDING FIELDS OF TABLE itab7
           FROM (  glpct AS g
                   INNER JOIN cepc AS c ON grprctr = cprctr )
           WHERE c~khinr = khinr1 AND
                 g~ryear = ryear2.
          WHEN '15'.
           SELECT ckhinr cprctr grprctr gryear grbukrs gracct g~ksl15
           INTO CORRESPONDING FIELDS OF TABLE itab7
           FROM (  glpct AS g
                   INNER JOIN cepc AS c ON grprctr = cprctr )
           WHERE c~khinr = khinr1 AND
                 g~ryear = ryear2.
          WHEN '16'.
           SELECT ckhinr cprctr grprctr gryear grbukrs gracct g~ksl16
           INTO CORRESPONDING FIELDS OF TABLE itab7
           FROM (  glpct AS g
                   INNER JOIN cepc AS c ON grprctr = cprctr )
           WHERE c~khinr = khinr1 AND
                 g~ryear = ryear2.
        ENDCASE.
        MOVE itab7 TO itab8.
        LOOP AT itab7 INTO wa6.
          flag = 0.
          LOOP AT itab5 INTO wa4.
            IF wa6-racct EQ wa4-racct.
              flag = 1.
              EXIT.
            ENDIF.
          ENDLOOP.
          DELETE ADJACENT DUPLICATES FROM itab5.
          IF flag = 1.
            CONTINUE.
          ENDIF.
          LOOP AT itab8 INTO wa7.
            IF wa6-rbukrs EQ wa7-rbukrs AND wa6-racct EQ wa7-racct AND
            wa6-ryear EQ wa7-ryear.
              total = total + wa7-ksl01.
            ENDIF.
          ENDLOOP.
          wa9-khinr = khinr1.
          wa9-racct = wa6-racct+4(6).
          wa9-total1 = total.
          APPEND wa9 TO itab10.
          CLEAR total.
          APPEND wa6-racct TO itab5.
        ENDLOOP.
    *If no data is available corresponding to the values entered.
        IF itab10 IS INITIAL.
          MESSAGE i003.
        ENDIF.
    For making the file Comma separated
        CALL FUNCTION 'SAP_CONVERT_TO_TEX_FORMAT'
          EXPORTING
            i_field_seperator          = ','
      I_LINE_HEADER              =
      I_FILENAME                 =
      I_APPL_KEEP                = ' '
          TABLES
            i_tab_sap_data             = itab10
         CHANGING
           i_tab_converted_data       = itab2
    EXCEPTIONS
      CONVERSION_FAILED          = 1
      OTHERS                     = 2
        IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
    For downloading it to the Presentation Server
       MOVE itab2[] TO itab9[].
       OPEN DATASET filnam2 FOR OUTPUT IN LEGACY TEXT MODE.
       LOOP AT itab9.
         TRANSFER itab9 TO filnam2.
       ENDLOOP.
       CLOSE DATASET filnam2.
       IF sy-subrc EQ 0.
         MESSAGE s004.
       ENDIF.
    CALL FUNCTION 'GUI_DOWNLOAD'
      EXPORTING
      BIN_FILESIZE                    =
        filename                        = FILNAM21
      FILETYPE                        = 'ASC'
      APPEND                          = ' '
      WRITE_FIELD_SEPARATOR           = ' '
      HEADER                          = '00'
      TRUNC_TRAILING_BLANKS           = ' '
      WRITE_LF                        = 'X'
      COL_SELECT                      = ' '
      COL_SELECT_MASK                 = ' '
      DAT_MODE                        = ' '
      CONFIRM_OVERWRITE               = ' '
      NO_AUTH_CHECK                   = ' '
      CODEPAGE                        = ' '
      IGNORE_CERR                     = ABAP_TRUE
      REPLACEMENT                     = '#'
      WRITE_BOM                       = ' '
      TRUNC_TRAILING_BLANKS_EOL       = 'X'
      WK1_N_FORMAT                    = ' '
      WK1_N_SIZE                      = ' '
      WK1_T_FORMAT                    = ' '
      WK1_T_SIZE                      = ' '
      WRITE_LF_AFTER_LAST_LINE        = ABAP_TRUE
    IMPORTING
      FILELENGTH                      =
      tables
        data_tab                        = itab2
      FIELDNAMES                      =
    EXCEPTIONS
      FILE_WRITE_ERROR                = 1
      NO_BATCH                        = 2
      GUI_REFUSE_FILETRANSFER         = 3
      INVALID_TYPE                    = 4
      NO_AUTHORITY                    = 5
      UNKNOWN_ERROR                   = 6
      HEADER_NOT_ALLOWED              = 7
      SEPARATOR_NOT_ALLOWED           = 8
      FILESIZE_NOT_ALLOWED            = 9
      HEADER_TOO_LONG                 = 10
      DP_ERROR_CREATE                 = 11
      DP_ERROR_SEND                   = 12
      DP_ERROR_WRITE                  = 13
      UNKNOWN_DP_ERROR                = 14
      ACCESS_DENIED                   = 15
      DP_OUT_OF_MEMORY                = 16
      DISK_FULL                       = 17
      DP_TIMEOUT                      = 18
      FILE_NOT_FOUND                  = 19
      DATAPROVIDER_EXCEPTION          = 20
      CONTROL_FLUSH_ERROR             = 21
      OTHERS                          = 22
    IF sy-subrc eq 0.
    message s004.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
      ENDIF.
    *&      Form  POPULATE
          text
    FORM populate.
      CLEAR value.
      REFRESH list.
      name = 'KHINR1'.
      value-key = '1S7_SUBSEA'.
      value-text = '1S7_SUBSEA'.
      APPEND value TO list.
      value-key = '1S7_GEN'.
      value-text = '1S7_GEN'.
      APPEND value TO list.
      value-key = '1S7'.
      value-text = '1S7'.
      APPEND value TO list.
      value-key = '1S7_CORPTP'.
      value-text = '1S7_CORPTP'.
      APPEND value TO list.
      value-key = '1S7_BRRE'.
      value-text = '1S7_BRRE'.
      APPEND value TO list.
      value-key = '1S7_BRCON'.
      value-text = '1S7_BRCON'.
      APPEND value TO list.
      value-key = '1S7_BRCJOB'.
      value-text = '1S7_BRCJOB'.
      APPEND value TO list.
      value-key = '1S7_BRCJBU'.
      value-text = '1S7_BRCJBU'.
      APPEND value TO list.
      value-key = '1S7_BRCJCO'.
      value-text = '1S7_BRCJCO'.
      APPEND value TO list.
      value-key = '1S7_BRCJIR'.
      value-text = '1S7_BRCJIR'.
      APPEND value TO list.
      value-key = '1S7_BRCJEN'.
      value-text = '1S7_BRCJEN'.
      APPEND value TO list.
      value-key = '1S7_BRCJPI'.
      value-text = '1S7_BRCJPI'.
      APPEND value TO list.
      value-key = '1S7_BRCJSU'.
      value-text = '1S7_BRCJSU'.
      APPEND value TO list.
      value-key = '1S7_BRCJFL'.
      value-text = '1S7_BRCJFL'.
      APPEND value TO list.
      value-key = '1S7_BRCJOT'.
      value-text = '1S7_BRCJOT'.
      APPEND value TO list.
      value-key = '1S7_BRCASV'.
      value-text = '1S7_BRCASV'.
      APPEND value TO list.
      value-key = '1S7_BRCASE'.
      value-text = '1S7_BRCASE'.
      APPEND value TO list.
      value-key = '1S7_BRCOOC'.
      value-text = '1S7_BRCOOC'.
      APPEND value TO list.
      value-key = '1S7_BRCOHD'.
      value-text = '1S7_BRCOHD'.
      APPEND value TO list.
      value-key = '1S7_BRCGEN'.
      value-text = '1S7_BRCGEN'.
      APPEND value TO list.
      value-key = '1S7_BRDRI'.
      value-text = '1S7_BRDRI'.
      APPEND value TO list.
      value-key = '1S7_BRDJOB'.
      value-text = '1S7_BRDJOB'.
      APPEND value TO list.
      value-key = '1S7_BRDASV'.
      value-text = '1S7_BRDASV'.
      APPEND value TO list.
      value-key = '1S7_BRDASE'.
      value-text = '1S7_BRDASE'.
      APPEND value TO list.
      value-key = '1S7_BRDAEW'.
      value-text = '1S7_BRDAEW'.
      APPEND value TO list.
      value-key = '1S7_BRDAEO'.
      value-text = '1S7_BRDAEO'.
      APPEND value TO list.
      value-key = '1S7_BRDAET'.
      value-text = '1S7_BRDAET'.
      APPEND value TO list.
      value-key = '1S7_BRDOOC'.
      value-text = '1S7_BRDOOC'.
      APPEND value TO list.
      value-key = '1S7_BRDOHD'.
      value-text = '1S7_BRDOHD'.
      APPEND value TO list.
      value-key = '1S7_BRVER'.
      value-text = '1S7_BRVER'.
      APPEND value TO list.
      value-key = '1S7_BRVJOB'.
      value-text = '1S7_BRVJOB'.
      APPEND value TO list.
      value-key = '1S7_BRVASV'.
      value-text = '1S7_BRVASV'.
      APPEND value TO list.
      value-key = '1S7_BRVASE'.
      value-text = '1S7_BRVASE'.
      APPEND value TO list.
      value-key = '1S7_BRVOOC'.
      value-text = '1S7_BRVOOC'.
      APPEND value TO list.
      value-key = '1S7_BRVOHD'.
      value-text = '1S7_BRVOHD'.
      APPEND value TO list.
      value-key = '1S7_UKRE'.
      value-text = '1S7_UKRE'.
      APPEND value TO list.
      value-key = '1S7_UKCON'.
      value-text = '1S7_UKCON'.
      APPEND value TO list.
      value-key = '1S7_UKCJOB'.
      value-text = '1S7_UKCJOB'.
      APPEND value TO list.
      value-key = '1S7_UKCJBU'.
      value-text = '1S7_UKCJBU'.
      APPEND value TO list.
      value-key = '1S7_UKCJCO'.
      value-text = '1S7_UKCJCO'.
      APPEND value TO list.
      value-key = '1S7_UKCJIR'.
      value-text = '1S7_UKCJIR'.
      APPEND value TO list.
      value-key = '1S7_UKCJEN'.
      value-text = '1S7_UKCJEN'.
      APPEND value TO list.
      value-key = '1S7_UKCJPI'.
      value-text = '1S7_UKCJPI'.
      APPEND value TO list.
      value-key = '1S7_UKCJSU'.
      value-text = '1S7_UKCJSU'.
      APPEND value TO list.
      value-key = '1S7_UKCJFL'.
      value-text = '1S7_UKCJFL'.
      APPEND value TO list.
      value-key = '1S7_UKCJOT'.
      value-text = '1S7_UKCJOT'.
      APPEND value TO list.
      value-key = '1S7_UKCASV'.
      value-text = '1S7_UKCASV'.
      APPEND value TO list.
      value-key = '1S7_UKCASE'.
      value-text = '1S7_UKCASE'.
      APPEND value TO list.
      value-key = '1S7_UKCOOC'.
      value-text = '1S7_UKCOOC'.
      APPEND value TO list.
      value-key = '1S7_UKBA'.
      value-text = '1S7_UKBA'.
      APPEND value TO list.
      value-key = '1S7_UKBATE'.
      value-text = '1S7_UKBATE'.
      APPEND value TO list.
      value-key = '1S7_UKCOHD'.
      value-text = '1S7_UKCOHD'.
      APPEND value TO list.
      value-key = '1S7_UKCGEN'.
      value-text = '1S7_UKCGEN'.
      APPEND value TO list.
      value-key = '1S7_UKDRI'.
      value-text = '1S7_UKDRI'.
      APPEND value TO list.
      value-key = '1S7_UKDJOB'.
      value-text = '1S7_UKDJOB'.
      APPEND value TO list.
      value-key = '1S7_UKDASV'.
      value-text = '1S7_UKDASV'.
      APPEND value TO list.
      value-key = '1S7_UKDASE'.
      value-text = '1S7_UKDASE'.
      APPEND value TO list.
      value-key = '1S7_UKDAEW'.
      value-text = '1S7_UKDAEW'.
      APPEND value TO list.
      value-key = '1S7_UKDAEO'.
      value-text = '1S7_UKDAEO'.
      APPEND value TO list.
      value-key = '1S7_UKDAET'.
      value-text = '1S7_UKDAET'.
      APPEND value TO list.
      value-key = '1S7_UKDOOC'.
      value-text = '1S7_UKDOOC'.
      APPEND value TO list.
      value-key = '1S7_UKDOHD'.
      value-text = '1S7_UKDOHD'.
      APPEND value TO list.
      value-key = '1S7_UKVER'.
      value-text = '1S7_UKVER'.
      APPEND value TO list.
      value-key = '1S7_UKVJOB'.
      value-text = '1S7_UKVJOB'.
      APPEND value TO list.
      value-key = '1S7_UKVASV'.
      value-text = '1S7_UKVASV'.
      APPEND value TO list.
      value-key = '1S7_UKVASE'.
      value-text = '1S7_UKVASE'.
      APPEND value TO list.
      value-key = '1S7_UKVOOC'.
      value-text = '1S7_UKVOOC'.
      APPEND value TO list.
      value-key = '1S7_UKVOHD'.
      value-text = '1S7_UKVOHD'.
      APPEND value TO list.
      value-key = '1S7_NORE'.
      value-text = '1S7_NORE'.
      APPEND value TO list.
      value-key = '1S7_NOCON'.
      value-text = '1S7_NOCON'.
      APPEND value TO list.
      value-key = '1S7_NOCJOB'.
      value-text = '1S7_NOCJOB'.
      APPEND value TO list.
      value-key = '1S7_NOCJBU'.
      value-text = '1S7_NOCJBU'.
      APPEND value TO list.
      value-key = '1S7_NOCJCO'.
      value-text = '1S7_NOCJCO'.
      APPEND value TO list.
      value-key = '1S7_NOCJIR'.
      value-text = '1S7_NOCJIR'.
      APPEND value TO list.
      value-key = '1S7_NOCJEN'.
      value-text = '1S7_NOCJEN'.
      APPEND value TO list.
      value-key = '1S7_NOCJPI'.
      value-text = '1S7_NOCJPI'.
      APPEND value TO list.
      value-key = '1S7_NOCJSU'.
      value-text = '1S7_NOCJSU'.
      APPEND value TO list.
      value-key = '1S7_NOCJFL'.
      value-text = '1S7_NOCJFL'.
      APPEND value TO list.
      value-key = '1S7_NOCJOT'.
      value-text = '1S7_NOCJOT'.
      APPEND value TO list.
      value-key = '1S7_NOCASV'.
      value-text = '1S7_NOCASV'.
      APPEND value TO list.
      value-key = '1S7_NOCASE'.
      value-text = '1S7_NOCASE'.
      APPEND value TO list.
      value-key = '1S7_NOCOOC'.
      value-text = '1S7_NOCOOC'.
      APPEND value TO list.
      value-key = '1S7_NOCOHD'.
      value-text = '1S7_NOCOHD'.
      APPEND value TO list.
      value-key = '1S7_NOCGEN'.
      value-text = '1S7_NOCGEN'.
      APPEND value TO list.
      value-key = '1S7_NODRI'.
      value-text = '1S7_NODRI'.
      APPEND value TO list.
      value-key = '1S7_NODJOB'.
      value-text = '1S7_NODJOB'.
      APPEND value TO list.
      value-key = '1S7_NODASV'.
      value-text = '1S7_NODASV'.
      APPEND value TO list.
      value-key = '1S7_NODASE'.
      value-text = '1S7_NODASE'.
      APPEND value TO list.
      value-key = '1S7_NODAEW'.
      value-text = '1S7_NODAEW'.
      APPEND value TO list.
      value-key = '1S7_NODAEO'.
      value-text = '1S7_NODAEO'.
      APPEND value TO list.
      value-key = '1S7_NODAET'.
      value-text = '1S7_NODAET'.
      APPEND value TO list.
      value-key = '1S7_NODOOC'.
      value-text = '1S7_NODOOC'.
      APPEND value TO list.
      value-key = '1S7_NODOHD'.
      value-text = '1S7_NODOHD'.
      APPEND value TO list.
      value-key = '1S7_NOVER'.
      value-text = '1S7_NOVER'.
      APPEND value TO list.
      value-key = '1S7_NOVJOB'.
      value-text = '1S7_NOVJOB'.
      APPEND value TO list.
      value-key = '1S7_NOVASV'.
      value-text = '1S7_NOVASV'.
      APPEND value TO list.
      value-key = '1S7_NOVASE'.
      value-text = '1S7_NOVASE'.
      APPEND value TO list.
      value-key = '1S7_NOVOOC'.
      value-text = '1S7_NOVOOC'.
      APPEND value TO list.
      value-key = '1S7_NOVOHD'.
      value-text = '1S7_NOVOHD'.
      APPEND value TO list.
      value-key = '1S7_GORE'.
      value-text = '1S7_GORE'.
      APPEND value TO list.
      value-key = '1S7_GOCON'.
      value-text = '1S7_GOCON'.
      APPEND value TO list.
      value-key = '1S7_GOCJOB'.
      value-text = '1S7_GOCJOB'.
      APPEND value TO list.
      value-key = '1S7_GOCJBU'.
      value-text = '1S7_GOCJBU'.
      APPEND value TO list.
      value-key = '1S7_GOCJCO'.
      value-text = '1S7_GOCJCO'.
      APPEND value TO list.
      value-key = '1S7_GOCJIR'.
      value-text = '1S7_GOCJIR'.
      APPEND value TO list.
      value-key = '1S7_GOCJEN'.
      value-text = '1S7_GOCJEN'.
      APPEND value TO list.
      value-key = '1S7_GOCJPI'.
      value-text = '1S7_GOCJPI'.
      APPEND value TO list.
      value-key = '1S7_GOCJSU'.
      value-text = '1S7_GOCJSU'.
      APPEND value TO list.
      value-key = '1S7_GOCJFL'.
      value-text = '1S7_GOCJFL'.
      APPEND value TO list.
      value-key = '1S7_GOCJOT'.
      value-text = '1S7_GOCJOT'.
      APPEND value TO list.
      value-key = '1S7_GOCASV'.
      value-text = '1S7_GOCASV'.
      APPEND value TO list.
      value-key = '1S7_GOCASE'.
      value-text = '1S7_GOCASE'.
      APPEND value TO list.
      value-key = '1S7_GOCOOC'.
      value-text = '1S7_GOCOOC'.
      APPEND value TO list.
      value-key = '1S7_GOCOHD'.
      value-text = '1S7_GOCOHD'.
      APPEND value TO list.
      value-key = '1S7_GOCGEN'.
      value-text = '1S7_GOCGEN'.
      APPEND value TO list.
      value-key = '1S7_GODRI'.
      value-text = '1S7_GODRI'.
      APPEND value TO list.
      value-key = '1S7_GODJOB'.
      value-text = '1S7_GODJOB'.
      APPEND value TO list.
      value-key = '1S7_GODASV'.
      value-text = '1S7_GODASV'.
      APPEND value TO list.
      value-key = '1S7_GODASE'.
      value-text = '1S7_GODASE'.
      APPEND value TO list.
      value-key = '1S7_GODAEW'.
      value-text = '1S7_GODAEW'.
      APPEND value TO list.
      value-key = '1S7_GODAEO'.
      value-text = '1S7_GODAEO'.
      APPEND value TO list.
      value-key = '1S7_GODAET'.
      value-text = '1S7_GODAET'.
      APPEND value TO list.
      value-key = '1S7_GODOOC'.
      value-text = '1S7_GODOOC'.
      APPEND value TO list.
      value-key = '1S7_GODOHD'.
      value-text = '1S7_GODOHD'.
      APPEND value TO list.
      value-key = '1S7_GOVER'.
      value-text = '1S7_GOVER'.
      APPEND value TO list.
      value-key = '1S7_GOVJOB'.
      value-text = '1S7_GOVJOB'.
      APPEND value TO list.
      value-key = '1S7_GOVASV'.
      value-text = '1S7_GOVASV'.
      APPEND value TO list.
      value-key = '1S7_GOVASE'.
      value-text = '1S7_GOVASE'.
      APPEND value TO list.
      value-key = '1S7_GOVOOC'.
      value-text = '1S7_GOVOOC'.
      APPEND value TO list.
      value-key = '1S7_GOVOHD'.
      value-text = '1S7_GOVOHD'.
      APPEND value TO list.
      value-key = '1S7_GVRE'.
      value-text = '1S7_GVRE'.
      APPEND value TO list.
      value-key = '1S7_GVCON'.
      value-text = '1S7_GVCON'.
      APPEND value TO list.
      value-key = '1S7_GVCJOB'.
      value-text = '1S7_GVCJOB'.
      APPEND value TO list.
      value-key = '1S7_GVCJBU'.
      value-text = '1S7_GVCJBU'.
      APPEND value TO list.
      value-key = '1S7_GVCJCO'.
      value-text = '1S7_GVCJCO'.
      APPEND value TO list.
      value-key = '1S7_GVCJIR'.
      value-text = '1S7_GVCJIR'.
      APPEND value TO list.
      value-key = '1S7_GVCJEN'.
      value-text = '1S7_GVCJEN'.
      APPEND value TO list.
      value-key = '1S7_GVCJPI'.
      value-text = '1S7_GVCJPI'.
      APPEND value TO list.
      value-key = '1S7_GVCJSU'.
      value-text = '1S7_GVCJSU'.
      APPEND value TO list.
      value-key = '1S7_GVCJFL'.
      value-text = '1S7_GVCJFL'.
      APPEND value TO list.
      value-key = '1S7_GVCJOT'.
      value-text = '1S7_GVCJOT'.
      APPEND value TO list.
      value-key = '1S7_GVCASV'.
      value-text = '1S7_GVCASV'.
      APPEND value TO list.
      value-key = '1S7_GVCASE'.
      value-text = '1S7_GVCASE'.
      APPEND value TO list.
      value-key = '1S7_GVCOOC'.
      value-text = '1S7_GVCOOC'.
      APPEND value TO list.
      value-key = '1S7_GVCOHD'.
      value-text = '1S7_GVCOHD'.
      APPEND value TO list.
      value-key = '1S7_GVCGEN'.
      value-text = '1S7_GVCGEN'.
      APPEND value TO list.
      value-key = '1S7_GVDRI'.
      value-text = '1S7_GVDRI'.
      APPEND value TO list.
      value-key = '1S7_GVDJOB'.
      value-text = '1S7_GVDJOB'.
      APPEND value TO list.
      value-key = '1S7_GVDASV'.
      value-text = '1S7_GVDASV'.
      APPEND value TO list.
      value-key = '1S7_GVDASE'.
      value-text = '1S7_GVDASE'.
      APPEND value TO list.
      value-key = '1S7_GVDOOC'.
      value-text = '1S7_GVDOOC'.
      APPEND value TO list.
      value-key = '1S7_GVDOHD'.
      value-text = '1S7_GVDOHD'.
      APPEND value TO list.
      value-key = '1S7_GVVER'.
      value-text = '1S7_GVVER'.
      APPEND value TO list.
      value-key = '1S7_GVVJOB'.
      value-text = '1S7_GVVJOB'.
      APPEND value TO list.
      value-key = '1S7_GVVASV'.
      value-text = '1S7_GVVASV'.
      APPEND value TO list.
      value-key = '1S7_GVVASE'.
      value-text = '1S7_GVVASE'.
      APPEND value TO list.
      value-key = '1S7_GVVOOC'.
      value-text = '1S7_GVVOOC'.
      APPEND value TO list.
      value-key = '1S7_GVVOHD'.
      value-text = '1S7_GVVOHD'.
      APPEND value TO list.
      value-key = '1S7_GCRE'.
      value-text = '1S7_GCRE'.
      APPEND value TO list.
      value-key = '1S7_GCCON'.
      value-text = '1S7_GCCON'.
      APPEND value TO list.
      value-key = '1S7_GCCJOB'.
      value-text = '1S7_GCCJOB'.
      APPEND value TO list.
      value-key = '1S7_GCCJBU'.
      value-text = '1S7_GCCJBU'.
      APPEND value TO list.
      value-key = '1S7_GCCJCO'.
      value-text = '1S7_GCCJCO'.
      APPEND value TO list.
      value-key = '1S7_GCCJIR'.
      value-text = '1S7_GCCJIR'.
      APPEND value TO list.
      value-key = '1S7_GCCJEN'.
      value-text = '1S7_GCCJEN'.
      APPEND value TO list.
      value-key = '1S7_GCCJPI'.
      value-text = '1S7_GCCJPI'.
      APPEND value TO list.
      value-key = '1S7_GCCJSU'.
      value-text = '1S7_GCCJSU'.
      APPEND value TO list.
      value-key = '1S7_GCCJFL'.
      value-text = '1S7_GCCJFL'.
      APPEND value TO list.
      value-key = '1S7_GCCJOT'.
      value-text = '1S7_GCCJOT'.
      APPEND value TO list.
      value-key = '1S7_GCCASV'.
      value-text = '1S7_GCCASV'.
      APPEND value TO list.
      value-key = '1S7_GCCASE'.
      value-text = '1S7_GCCASE'.
      APPEND value TO list.
      value-key = '1S7_GCCOOC'.
      value-text = '1S7_GCCOOC'.
      APPEND value TO list.
      value-key = '1S7_GCCOHD'.
      value-text = '1S7_GCCOHD'.
      APPEND value TO list.
      value-key = '1S7_GCCRD'.
      value-text = '1S7_GCCRD'.
      APPEND value TO list.
      value-key = '1S7_GCCGEN'.
      value-text = '1S7_GCCGEN'.
      APPEND value TO list.
      value-key = '1S7_GCDRI'.
      value-text = '1S7_GCDRI'.
      APPEND value TO list.
      value-key = '1S7_GCDJOB'.
      value-text = '1S7_GCDJOB'.
      APPEND value TO list.
      value-key = '1S7_GCDASV'.
      value-text = '1S7_GCDASV'.
      APPEND value TO list.
      value-key = '1S7_GCDASE'.
      value-text = '1S7_GCDASE'.
      APPEND value TO list.
      value-key = '1S7_GCDOOC'.
      value-text = '1S7_GCDOOC'.
      APPEND value TO list.
      value-key = '1S7_GCDOHD'.
      value-text = '1S7_GCDOHD'.
      APPEND value TO list.
      value-key = '1S7_GCVER'.
      value-text = '1S7_GCVER'.
      APPEND value TO list.
      value-key = '1S7_GCVJOB'.
      value-text = '1S7_GCVJOB'.
      APPEND value TO list.
      value-key = '1S7_GCVASV'.
      value-text = '1S7_GCVASV'.
      APPEND value TO list.
      value-key = '1S7_GCVASE'.
      value-text = '1S7_GCVASE'.
      APPEND value TO list.
      value-key = '1S7_GCVOOC'.
      value-text = '1S7_GCVOOC'.
      APPEND value TO list.
      value-key = '1S7_GCVOHD'.
      value-text = '1S7_GCVOHD'.
      APPEND value TO list.
      value-key = '1S7_APRE'.
      value-text = '1S7_APRE'.
      APPEND value TO list.

  • Wrong file modification times through api?

    Hello guys,
    it seems to me that the CS5 server has a problem with the file modification date. The first time I saw this was when I tried to get the modification time of the current document opened on the server through app.documents[0].filePath.modified. It always returned the wrong time and I was not able to fix this, so I let the feature down. Now I think I found another situation where this "bug" seems to take place.
    - Export a story into incopy format (icml)
    - change the local icml-file
    - update the link on the server, everything ok
    - another change on the local file
    - update the link, and now, the content is not updated
    - save document
    - restart server
    - open document again
    - update link, and the content is updated correctly
    Maybe this two problems are connected but I can not say this for sure. I hope a developer can take a look at this.
    Thanks

    Hi
    This class uses XML?. Because it may be a problem with the MSXML Parser version. What version do you have?
    In this link <b><a href="http://support.microsoft.com/kb/269238">MSXML Parser Versions</a></b> you can check the latest versions.
    I hope its helps,
    Greetings

  • DNG file modification date not changed by writing metadata?

    I use LR 2.7 on Windows XP.   To my surprise, I just noticed that writing metadata updates (e.g., new keywords) from LR to the DNG files does NOT appear to update the file modification date, which suggests obvious issues for backup strategies (yes, I understand that a changed modification date introduces other backup issues).   I have verfifed that the metatdata does indeed change in the DNG files, so I am mystified.   Can someone shed some light on this?   Thanks.
    js
    www.johnshorephoto.com

    Yes, I explicitely invoke "save metadata to file".   Furthemore, I have checked the behavior by (a) modifying DNGs in LR; (b) saving the metatdata to the DNG; (c) creating a new LR catalog and importing the revised DNGs.    The metadata changes do show up in the re-imported DNGs (and the metadata field "Metadata Date" correctly shows the recent change).  Morevover, the file sizes do change (wth the metadata changes) even though the modification dates shown in windows explorer do not change.
    However, I just redid the experiment to double check, and discovered an important clue - the mysterious behavior occurs when the DNG files are on a NAS device (in particular a Netgear ReadyNAS Duo.   To summarize:
         - When the DNG files are on a local hard drive, the file modification dates change as expected
         - When the DNG files are non local (i.e., on the network but on a NAS device), the file modification dates do not change even though the file sizes do change;
    What's more, I see the same behavior when accessing the DNGs via Adobe Bridge (CS5) - i.e., if I change the metadata, I'm asked if I want to apply the metadata changes to the DNG, and I say yes (and confirm by looking via Bridge at a copy of the changed file).   On a local disk, the file modificaiton dates change (as do the modification date displayed in Bridge), but if the files are on the NAS, the modification dates do not.
    Any additional thoughts?
    js

  • WatchService and SwingWorker: how to do it correctly?

    cross-posted to SOF:
    http://stackoverflow.com/questions/7784909/watchservice-and-swingworker-how-to-do-it-correctly
    For maximum feedback (though many regulars roam everywhere :-), here's a copy
    WatchService sounded like an exciting idea ... unfortunately it seems to be as low-level as warned in the tutorial/api plus doesn't really fit into the Swing event model (or I'm missing something obvious, a not-zero probability ;-)
    Taking the code from WatchDir (simplyfied to handle a single directory only), I basically ended up
    extend SwingWorker
    do the registration stuff in the constructor
    put the endless loop waiting for a key in doInBackground
    publish each WatchEvent when retrieved via key.pollEvents()
    process the chunks by firing propertyChangeEvents with the deleted/created files as newValue
    @SuppressWarnings("unchecked")
    public class FileWorker extends SwingWorker<Void, WatchEvent<Path>> {
        public static final String DELETED = "deletedFile";
        public static final String CREATED = "createdFile";
        private Path directory;
        private WatchService watcher;
        public FileWorker(File file) throws IOException {
            directory = file.toPath();
            watcher = FileSystems.getDefault().newWatchService();
            directory.register(watcher, ENTRY_CREATE, ENTRY_DELETE, ENTRY_MODIFY);
        @Override
        protected Void doInBackground() throws Exception {
            for (;;) {
                // wait for key to be signalled
                WatchKey key;
                try {
                    key = watcher.take();
                } catch (InterruptedException x) {
                    return null;
                for (WatchEvent<?> event : key.pollEvents()) {
                    WatchEvent.Kind<?> kind = event.kind();
                    // TBD - provide example of how OVERFLOW event is handled
                    if (kind == OVERFLOW) {
                        continue;
                    publish((WatchEvent<Path>) event);
                // reset key return if directory no longer accessible
                boolean valid = key.reset();
                if (!valid) {
                    break;
            return null;
        @Override
        protected void process(List<WatchEvent<Path>> chunks) {
            super.process(chunks);
            for (WatchEvent<Path> event : chunks) {
                WatchEvent.Kind<?> kind = event.kind();
                Path name = event.context();
                Path child = directory.resolve(name);
                File file = child.toFile();
                if (StandardWatchEventKinds.ENTRY_DELETE == kind) {
                    firePropertyChange(DELETED, null, file);
                } else if (StandardWatchEventKinds.ENTRY_CREATE == kind) {
                    firePropertyChange(CREATED, null, file);
    }The basic idea is to make using code blissfully un-aware of the slimy details: it listens to the property changes and f.i. updates arbitrary models as appropriate:
        String testDir = "D:\\scans\\library";
        File directory = new File(testDir);
        final DefaultListModel<File> model = new DefaultListModel<File>();
        for (File file : directory.listFiles()) {
            model.addElement(file);
        final FileWorker worker = new FileWorker(directory);
        PropertyChangeListener l = new PropertyChangeListener() {
            @Override
            public void propertyChange(PropertyChangeEvent evt) {
                if (FileWorker.DELETED == evt.getPropertyName()) {
                    model.removeElement(evt.getNewValue());
                } else if (FileWorker.CREATED == evt.getPropertyName()) {
                    model.addElement((File) evt.getNewValue());
        worker.addPropertyChangeListener(l);
        JXList list = new JXList(model);Seems to work, but I feel uncomfortable
    Outing myself as the thread agnostic I am: all example snippets I have seen so far do block the waiting thread by using watcher.take(). Why do they do it? Would expect at least some use watcher.poll() and sleep a bit.
    the SwingWorker publish method doesn't quite seem to fit: for now it's okay, as I'm watching one directory only (didn't want to galopp too far into the wrong direction :) When trying to watch several directories (as in the original WatchDir example) there are several keys and the WatchEvent relative to one of those. To resolve the path, I would need both the event and the key - but can pass on only one. Most probably got the distribution of logic wrong, though
    Feedback (here or there, will take all :-) highly welcome!
    Cheers
    Jeanette

    finally settled on a version that's good enough (for now, at least), published over at SOF, copied here:
    Actually, @Eels's comment didn't stop knocking in the back of my head - and finally registered: it's the way to go, but there is no need for any "artificial" struct, because we already have the perfect candidate - it's the PropertyChangeEvent itself :-)
    Taking the overall process description from my question, the first three bullets remain the same
    - same: extend SwingWorker
    - same: do the registration stuff in the constructor
    - same: put the endless loop waiting for a key in doInBackground
    - changed: create the appropriate PropertyChangeEvent from each WatchEvent when retrieved via key.pollEvents and publish the PropertyChangeEvent
    - changed: fire the previously created event in process(chunks)
    @SuppressWarnings("unchecked")
    public class FileWorker extends SwingWorker<Void, PropertyChangeEvent> {
        public static final String FILE_DELETED = StandardWatchEventKinds.ENTRY_DELETE.name();
        public static final String FILE_CREATED = StandardWatchEventKinds.ENTRY_CREATE.name();
        public static final String FILE_MODIFIED = StandardWatchEventKinds.ENTRY_MODIFY.name();
        // will change to a map of key/directories, just as the tutorial example
        private Path directory;
        private WatchService watcher;
        public FileWorker(File file) throws IOException {
            directory = file.toPath();
            watcher = FileSystems.getDefault().newWatchService();
            directory.register(watcher, ENTRY_CREATE, ENTRY_DELETE, ENTRY_MODIFY);
        @Override
        protected Void doInBackground() throws Exception {
            for (;;) {
                // wait for key to be signalled
                WatchKey key;
                try {
                    key = watcher.take();
                } catch (InterruptedException x) {
                    return null;
                for (WatchEvent<?> event : key.pollEvents()) {
                    WatchEvent.Kind<?> kind = event.kind();
                    // TBD - provide example of how OVERFLOW event is handled
                    if (kind == OVERFLOW) {
                        continue;
                    publish(createChangeEvent((WatchEvent<Path>) event, key));
                // reset key return if directory no longer accessible
                boolean valid = key.reset();
                if (!valid) {
                    break;
            return null;
         * Creates and returns the change notification. This method is called from the
         * worker thread while looping through the events as received from the Watchkey.
         * @param event
         * @param key
        protected PropertyChangeEvent createChangeEvent(WatchEvent<Path> event, WatchKey key) {
            Path name = event.context();
            // evolve into looking up the directoy from the key/directory map
            Path child = directory.resolve(name);
            PropertyChangeEvent e = new PropertyChangeEvent(this, event.kind().name(), null, child.toFile());
            return e;
        @Override
        protected void process(List<PropertyChangeEvent> chunks) {
            super.process(chunks);
            for (PropertyChangeEvent event : chunks) {
                getPropertyChangeSupport().firePropertyChange(event);
    }Feedback still highly welcome, of course, especially if there's something wrong :-)
    Thanks
    Jeanette

  • File modification time with WEBDAV

    Can I change the file modification time when uploading a file using WEBDAV in Sun One 6.1 ?
    Exists some way to maintain the files modification times of a WeBDAV collection and all its files when I copy them in another one?
    Where can I obtain information in this respect ?
    Thanks

    COPY is supposed to work the way as a normal file system's "cp" works. The last modification time of target file should be set to the time the copy was made. There is no way to preserve the modification and access time of the source file into the target file.
    Meena

  • Lag with large brushes and files

    I typically work with large files around 10000 pixels, 300 dpi.  But I'm getting a lot of lag when I use brushes larger than 1000 px as well as a long wait to open and save the files.
    Is this a RAM issue?
    Here are my specs:
    OS Name             Microsoft Windows 7 Home Premium
    Version 6.1.7601 Service Pack 1 Build 7601
    System Manufacturer      Alienware
    System Model    M18xR1
    System Type       x64-based PC
    Processor            Intel(R) Core(TM) i7-2630QM CPU @ 2.00GHz, 2001 Mhz, 4 Core(s), 8 Logical Processor(s)
    Installed Physical Memory (RAM)               8.00 GB
    Total Physical Memory    7.98 GB
    Available Physical Memory            4.43 GB
    Total Virtual Memory      16.0 GB
    Available Virtual Memory              11.2 GB
    Page File Space  7.98 GB
    And two GPUs: NIVIDIA Geforce GTX 460m
    I'm upgrading my RAM and GPU soon anyway but wanted to check and make sure it wasnt some other underlying problem?

    I'm having some trouble deciphering what is going on here. I'm useing Paul Tuersley's response as a starting point. Here is my modification not that it matters since it isn't working at the moment. I don't actually know what some of the script is doing. Right now "theFiles" is returning all of the files that are not real files, folders and .DS_Store when I want it to be an array of all of the files in the folder.
    Could you help me break it down?
    // Log the selected footage
    var selectedFiles = app.project.selection;
    // Choose the folder to scan
    var theFolder = Folder.selectDialog("Please select folder.");
    if(theFolder != null){
        var resultArray = new Array();
        folderFiles = checkForFiles(theFolder, "");
        $.writeln(resultArray.toString().replace(new RegExp(",", "g"), ""));
        // Compare selected files to files in the folder
        for (var i = 0; i < selectedFiles.length; i++){
            compareFiles (selectedFiles[i], folderFiles);
    function compareFiles(file, folderFiles) {
              for (var i = 0; i < folderFiles.length; i++){
                             if (folderFiles[i].name==file.name) {
                                            alert(folderFiles[i].name + " and " + file.name + " match!");
    function checkForFiles(folderItem, tabString) {
        var theFiles = folderItem.getFiles();
        for(var c = 0; c < theFiles.length; c++){
            resultArray.push(tabString + theFiles[c].name + "\r");
            if (theFiles[c] instanceof Folder) {
                checkForFiles(theFiles[c], tabString + "\t");
        return(theFiles);

  • MY system folder, including hidden folders are littered with duplicate folders and files with the suffix (from old Mac) How do I remove them

    I have a Macbook Pro running Leopard 10.5.8. I had a problem with my my operating system (my fault, I moved a file I shoudnt have) couldnt boot up but was able to boot up from a backup. I managed to repair my original system except now all the system folders, including hidden folders are littered with duplicate folders and files with the suffix (from old Mac).  For the most part the dupes are an exact copy, but not always.  I want to remove them to free up space and cant imagine duplicate folders in the /system/library are not hindering my computer. But I dont know where to start and am afraid of doing irreparable damage. Any ideas

    pacull,
    Use iCal>View>Show Notifications to choose what to do with the notification.

  • Can't read or write some files, internet is failing, youtube won't load, software I tried to install was in Slovenian, not dutch or english like in my systempreferences settings, pictures and files won't preview with spacebar, etc. Malware?

    Specs:
    iMac 10.8.5
    3,4 GHz Intel Core i7
    32 GB 1600 MHz DDR3
    Can't read or write some files, internet is failing, youtube won't load, security software I tried to install was in Slovenian, not dutch or english like in my systempreferences settings, pictures and files won't preview with spacebar and are randomly corrupted, when I entered something in the Youtube searchbar (when it was still working) it send me to a site with sexadds.
    I tried restart my iMac and when I was logged back in, my dock preferences were reset.
    Also tried to download some security software to check my Mac for malware, but when I did, I tried several, I got a notification that said something like 'dumpfiles (don't know if this is the right translation...) damaged'.
    I'm taking screenshots from all the weird notifications I get and even three quarters off the screenshots I took in the last three hours are already unreadable.
    It started this morning when I tried opening a Premiere Pro file on which I worked the night before.
    When I tried opening it, it said the file was damaged and could not be openend.
    I tried opening it with AE or importing the file in a new project but nothing helped.
    When I tried looking for autosaves, this is the really weird part, there were none.
    Even though there are autosaves from my other projects, this one was completely gone.
    It looked like the day before never happened on my computer.
    Also when I openend Premiere all the recent projects had been wiped.
    So at first I thought it was a Premiere Pro failure.
    But than, later on the day, I tried loading some RAW files from my compact flash card.
    This is where I would get an error (error -36) which said some data cannot be read or written.
    I tried importing the files with a view different technics, from dragging to importing via Lightroom and I succeeded with Image Browser.
    But when I tried moving the files to an other folder the same error occurred.
    While dealing with this issue I wanted to put on some soothing music on youtube.
    This is when the next weird thing occurred: youtube wasn't completely loading in Chrome. I refreshed a view times, checked the internet connection and still no difference.
    When I tried in Safari it did work but when I clicked enter on the searchbar in Youtube, a page with sexadds appeared (I didn't install AdBlock in Safari...).
    I read about this 'phishing' where you are redirected to a site were a possible malware installment can take place...
    I don't know if it's connected to any of the problems I've been having but I just never experienced this on a mac, I have been a Mac user for 10 years now.
    On top of it all, internet started working worse and worse and now it's not even working at all. I had to fill in the password over and over, normally it remembers.
    Just like my system preferences, all the preferences I had with Chrome where also reset.
    Also somewhere in between I got this notification: Mac OS X must restore library to run programs. Type your password to allow.
    To me this is all very weird and suspicious. I have clearly no idea what's going on. Could this be another sort of trojan horse or malware?
    Some background info which could be helpful for solving this mystery:
    two months ago the one year old Fusion Drive in my iMac just broke out of nowhere.
    I got it replaced by a qualified apple repair store.
    When I got my computer back, all the files where gone.
    I got on the internet without AdBlock installed yet.
    A game or whatever it was, can't clearly remember, got installed by accident.
    I deleted it immediately.
    Only two weeks later, I couldn't log in to my account. It didn't recognize my password and username. 
    So I brought my mac back to the store.
    Here the repair guy said it was a minor thing and he just needed to reconnect my account. He also mentioned he found a downloaded game name Sparta and it probably had something to do with the error.
    I asked him; could it be a virus? He replied no way.
    I don't know why I couldn't be a virus, just because it's a mac doesn't mean it cannot be done.
    So today I tried installing anti virus software (such as avast- was in a weird language looked like slovenian, clamxav - was in slovenian) but I couldn't install them.
    PLEASE help me! I don't know what to do anymore, I work fulltime and I need my computer, I have no time to bring it in for repair, are there other perhaps easier ways?
    Could this be the work of a virus or a malware? Or is it a disk permissions issue?

    It sounds like you may have multiple problems, but none of them are likely to be caused by malware.
    First, the internet-related issues may be related to adware or a network compromise. I tend to lean more towards the latter, based on your description of the problem. See:
    http://www.adwaremedic.com/kb/baddns.php
    http://www.adwaremedic.com/kb/hackedrouter.php
    If investigation shows that this is not a network-specific issue, then it's probably adware. See my Adware Removal Guide for help finding and removing it. Note that you mention AdBlock as if it should have prevented this, but it's important to understand that ad blockers do not protect you against adware in any way. Neither would any kind of anti-virus software, which often doesn't detect adware.
    As for the other issues, it sounds like you've got some serious corruption. I would be inclined to say it sounds like a failing drive, except it sounds like you just got it replaced. How did you get all your files back after the new drive was installed?
    (Fair disclosure: I may receive compensation from links to my sites, TheSafeMac.com and AdwareMedic.com, in the form of buttons allowing for donations. Donations are not required to use my site or software.)

  • Unable to see the logical path and file created in FILE tcode from AL11 and unable to upload the file to this path from front end

    Hi Experts,
    I have created the logical path and filename in FILE tcode.I am trying to upload the pdf file to application server by using this path.But
    I am getting message like "Unable to open the file".Even I cannot find the this path in AL11 tcode.Kindly anyone advise how to upload pdf file using
    custom path and file created from FILE tcode.
    Thanks & Regards,
    Anusha.

    Hi Anusha,
    Please give as below.
    I forget to say you cannot open the PDF in AL11 and for that you need some configuration, i think it can be done using content server,not sure completely please wait for some more suggestions.
    Regards,
    Pavan

Maybe you are looking for