Cannot write to external HD from MacBook.  Error Code -36

Whenever I attempt to write to my Western Digital External HD (500 gb formatted HFS+m, USB 2.0 connection), I receive a Finder Error:
"The Finder cannot complete the operation because some data in "filename" could not be read or written. (Error code -36)
This happens just a little bit ago as I was transferring files over with intent to perform a back up >.< I was in the process of transferring one file when the error initially occurred. Had disk utility try to repair the disk, and it says the disk is fine. The knowledge base is...less than useful in regards to this. There was no power issue during transfer (MacBook was plugged in), nothing else except Safari was running for basic web browsing. I can pull information off of the drive just fine. I cannot add, however.
Any idea as to a solution for this?
Message was edited by: Lezard Valeth1

Thanks for the reply, but unfortunately, most of those would not apply since its almost all files that are having issues. None of them are password protected, in use by system (as far as activity monitor tells me. Tried after several restarts to no avail, unplugging the Ext. HD from the system, etc). I removed non-standard formating (tried simple names).
I have noticed, however, that small files seem to copy; it's almost like it's having issues with the file size. Smaller files, for example, a 21.9 mb video I made, copy alright. Larger files do not.
I can copy off of the drive, but not onto the drive. There should be around 320 gb left on the drive. What I would like to do is reformat the Mac or the HD, but unfortunately, I don't have the storage space elsewhere to back up what is on the drive (tis why I downloaded it in the first place), and I need to back stuff up on my MacBook still, hence the attempts at writing to the drive. I could probably have my multimedia machine take some of the data from the Macbook, but I really would rather try to find a direct cause, if possible, for future reference and to see if this is going to be an ongoing issue.

Similar Messages

  • I have just tried to sync my iphone. Error message saying it cannot be synced has popped up quoting error code (-50). I have just removed old iphone backups from itunes but was very careful to not delete the current one. What does this code mean?

    Hi there,
    I have just tried to sync my iphone.
    Worryingly an error message saying it cannot be synced has popped up quoting error code (-50)
    I have just removed old iphone backups from itunes but was very careful to not delete the current one
    What does this code mean?

    http://support.apple.com/kb/TS1583

  • HT3529 cannot connect to itunes store from iphone error message

    cannot connect to itunes store from iphone error message

    More than likely its your router. You need to make sure that the router's firewall, if enabled(most are by default), permits connection to these domains as trusted:
    * itunes.apple.com
    * ax.itunes.apple.com
    * albert.apple.com
    * gs.apple.com
    This article may prove helpful in identifying the problem:
    http://support.apple.com/kb/HT3501

  • Credential Roaming failed to write to the Active Directory. Error code 5 (Access is denied.)

    Hi All,
    I could see following error event in all client computers , Could you please some one help me on this ?
    Log Name:      Application
    Source:
    Microsoft-Windows-CertificateServicesClient-CredentialRoaming
    Event ID:      1005
    Level:         Error
    Description: Certificate Services Client: Credential Roaming failed to  write to the Active Directory. Error code 5 (Access is denied.)
    Regards, Srinivasu.Muchcherla

    If you are not using certificates and Credential Roaming for clients then simply ignore the error message.
    If you are using certificates then you are getting access denied message when Credential Roaming is trying to write to your AD. More details about Credential Roaming here: http://blogs.technet.com/b/askds/archive/2009/01/06/certs-on-wheels-understanding-credential-roaming.aspx
    http://blogs.technet.com/b/instan/archive/2009/05/26/considerations-for-implementing-credential-roaming.aspx
    This is probably related to the fact that your schema version not 44 or higher: https://social.technet.microsoft.com/Forums/windowsserver/en-US/5b3a6e61-68c4-47d3-ae79-8296cb3be315/certificateservicesclientcredentialroaming-errors?forum=winserverGP 
    Active Directory
    ObjectVersion
    Windows 2000
    13
    Windows 2003
    30
    Windows 2003 R2
    31
    Windows 2008
    44
    Windows 2008 R2
    47
    This posting is provided AS IS with no warranties or guarantees , and confers no rights.
    Ahmed MALEK
    My Website Link
    My Linkedin Profile
    My MVP Profile

  • The system cannot find the file specified.Windows sockets error code:2.

    Hi All,
      I am on MDM 5.5 SP6.
      I am getting the following error message when trying to logging in to the DM.
    The system cannot find the file specified.Windows sockets error code:2.This application will now exit.
    Runtime Error :
    Program C :\Program Files\SAP MDM 5.5\Data Manager\Datamanager.exe
    R6025.
    -Pure virtual function call.
    And in console also the MDM server is stopped after getting the above error message.
    Can anybody tell me what could be the problem?
    Thanks & Regards
    Sireesha.

    Hi Sireesha,
    According to me, there can be 3 problems,
    1. Kindly check whether the MDM server is stopped. If it is, then restart the MDM Server and Load the repository with Update indices.
    2. If this error is coming with every repository, the problem will be either in the Version mismatch of the Server and the GUI's you are using. Kindly ensure that the versions for the MDM server and the MDM Gui's Match.
    3. If only Data manager Client is giving the problem, then you can un-install and install the DM GUI again.
    Along with this, please refer to the link below :
    [[The system cannot find the file specified.Windows sockets error code:2.;]
    Hope it helps.
    Thanks and Regards
    Nitin jain

  • Problems copying files from an external hard drive to MacBook (error code 36)

    A little while ago I backed up some files on my iMac to an external hard drive (formatted in the Mac format). These were primarily office documents (PDF files, Microsoft Office) and some photos. The documents had orignally been copied to my iMac from a PC (via USB), whilst the photos were imported directly to the iMac. Having brought a MacBook Pro recently, I've been attempting to copy the data over. Unfortunately, I keep getting error code 36 when it attempts to copy the files over. I've tried skipping some of the files it gets stuck on, but it keeps finding more. This also happens when I am just trying to copy over a folder of photos. Another unusual thing that I noticed is that when I try to copy a folder containing just under 300 files, when it attempts to copy it says it is trying to write 1,500+ files... which I don't quite understand.
    I've run the disk utility tool to check the hard drive, but it says it's fine. Prior to copying the data over to the external hard drive in the first place, it had been freshly formatted. Unfortunately, since this was the backup disk, I kinda need to save these files!
    Does anyone know of any solutions out there that could help?

    Launch the Console application in any of the following ways:
    ☞ Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)
    ☞ In the Finder, select Go ▹ Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens.
    ☞ If you’re running Mac OS X 10.7 or later, open LaunchPad. Click Utilities, then Console in the page that opens.
    Click the Clear Display icon in the toolbar. Try the action again. Post any messages that appear in the Console window – the text, please, not a screenshot.
    Important: Some private information, such as your name, may appear in the log. Edit it out by search-and-replace in a text editor before posting.

  • Envy23 cannot download apps from store error code Ox80073cf9

    Cannot download apps from windows store get error code Ox80073cf9

    Hi there
    Try to perform refresh..
    here is the link
    Refresh
    ****Click the White Kudos star to say thanks****
    ****Please mark Accept As Solution if it solves your problem****

  • External hard drives and Error Code -36

    Just wanted to know if anyone knows what this error code means. I tried copying a bunch of video files about 600-700 mb to my USB external hard drive, and this error message popped up and said the disk could not be read or written to. I contacted the manufacturer of the hard drive and they said it was not a manufacturing fault, but an issue regarding the operating system.
    Does anyone know why this might be? And also, does anyone know of anyway to get around it?
    Thanks.

    You can try DiskWarrior to repair the directory. If DW can't do it, you'll need to re-format the drive. I'd also suggest a zero out erase.
    Steps for zeroing the drive Disk Utility:
    1. Insert your Mac OS X CD-ROM disc or Restore DVD disc, then restart the computer while holding the C key until you see the spinning gear.
    2. Once started up from CD or DVD, choose Disk Utility from the Installer menu. (In Mac OS X 10.4 or later, you must select your language first.)

    Important: Do not click Continue in the first screen of the Installer. If you do, you must restart from disc to access Disk Utility.
    3. Choose the entire disk (top icon).
    4. Choose erase tab.
    5. Click on "Security Options"
    6. Choose "write zeros".
    7. Erase
    This will take a bit of time because the computer is physically writing zeros to each block.

  • Can't see external hard drive after error code -36

    Hi, was copying iphoto data from an WD My Passport 750GB external hard drive to my MACBook when the system said it could not complete the copy as it had encountered a problem and indicated error code -36.  Now I can't see the external drive (or any data) on any computer.  I have tried 3 different MACs to no avail.  The drive makes a soft beeping noise but then stops but the light stays on.
    Any ideas on how I can get access to my data??

    Make sure the cable is securely seated on the device side.
    If that's not the problem, then either the drive mechanism or the enclosure has failed. If you don't have backups, you'd better hope it's the latter. Remove the mechanism from the enclosure and install it another enclosure. You can buy fairly inexpensive USB docks that a SATA drive drops into with no need for disassembly.
    Failing that, your only chance is to send the drive to a recovery service such as Drive Savers. They disassemble the drive mechanism in a clean room and mount the platters in another drive. Cost will be in the 4-5 figure range, and the results are uncertain.
    If you don't have backups, you don't have data.

  • Can't write to desktop. I get Error Code -36.

    I recently had a battery problem where my black MacBook unexpected powered off in the middle what I was doing. After restart, I noticed right away that the desktop image was different, and I couldn't change it. A call to Apple got my battery replaced, and the tech support person recommended that I do an archive and reinstall. That helped with some of the problems I was having, but a lingering issue I'm having is that I cannot write to the Desktop. Whenever I try to copy to the Desktop, I get an error with the yellow ! triangle reading, "The Finder cannot complete ther operation because some data in "Filename" could not be read or written. (Error code -36)"
    On what I suspect is a related note, I have not been able to turn off Filevault due to a file read/write error.
    I am othewise able to use my computer, and another account I have on the same machine seems not to be affected.
    I would hugely appreciate any help anyone can offer.

    You can't empty the Trash or move a file to the Trash

  • Finder cannot complete the operation... (Error code -36)

    Hello,
    I'm trying to share a file between my new iMac and my PowerBook via file sharing (Finder, Airport 802.11 n). Both computers are on 10.5.3. The iMac is a brand new one, so it's a fresh install. The PowerBook has a new harddrive and is a fresh install as well. Both are on the most current software.
    Here's what happens: Both computers are visible in each respective Finder, but files can only be shared from the iMac towards the PowerBook, not vice versa. When trying to connect from the PowerBook to the iMac, it tries to connect but to no avail, then I receive an error message "Connection Failed".
    Next thing I tried was to connect via Finder/Connect to Server and typing in the afp:// address (looked it up at System Preferences/Sharing/File Sharing). It again tries to connect, then I receive the error message: "The finder cannot complete the operation because some data in "afp://192.xxx.x.xxx" could not be read or written (Error code -36)".
    Now I'm puzzled and don't know what to do. Any help would be much appreciated, thanks.
    Message was edited by: Thomas Thomaser1
    Message was edited by: Thomas Thomaser1
    Message was edited by: Thomas Thomaser1

    Where can I find AFP I/O errors?
    And by the way - after trying this for two days, it JUST worked! Not sure why or how or for how long, but this seems like massive bully.

  • SQL Server Management Tools - Could not write value to key \SOFTWARE. Error code: 1406

    Detailed Results:
    Feature: Management Tools-Basic
    Status: Failed
    Component Name: Sql Server Management Studio
    Component Error code: 1406
    Error Description: Could not write value to key \SOFTWARE. Verify that you have sufficient access to that key, or contact your support personnel.
    The first time the installer worked installing perfectly, but I needed an named instance of "SQL2008", so I removed the instances. After this re-installing is not working.
    From past 3-4 days I went through most of the links which has provided solutions for error code 1406, and not having success for installing.
    I have tried these options,
    1) Ran the installer using "Run as Administrator"option. I am an Administrator user for the machine.
    2) In Registry Editor, right-click HKEY_CURRENT_USER\Software, and then click Permissions. Click Add, type Everyone, and then click OK. Under Group or user names, click Everyone. Under Permissions, click to select Full Control in the Allow column, and then
    click OK.
    3) Uninstalled the Sql server product, and used Revo Uninstaller / CCleaner to clean the registry and the remaining files and folders.
    4) Multiple versions of SQL installers have been tried (SQL 2008/2012/2014)
    5) Logged in as local/Administrator for the machine, tried the similar steps.
    6) The same installers are still working in one of the virtual machines for multiple times of installation and uninstallation without having any problems.
    Please let me know, if needed further information. Please provide help for installing SQL server management studio.
    Regards,
    Ananth.

    I have the same problem.
    I can not install MSSQLManagementStudio. I suppose
    that is not the fault of permissions
    . I have tried to
    install as an administrator
    on the computer in the domain where the account has domain administrator permissions.The account is added to the local administrators.
    I also have tried to install as local administrator
    account after the removal of the domain.
    With the same result.
    Operating System Windows 8.1 Prof.
    I have tried  2012, 2012with SP1 , 2012x86 , 2014. All with same result:
    Product: SQL Server 2012 Management Studio -- Error 1406. Could not write value  to key \SOFTWARE.  System error .  Verify that you have sufficient access to that key, or contact your support personnel.
    Other elements installs without any problem.
    sql_ssms_Cpu64_1.log show that the problem is in that point:
    MSI (s) (1C:C0) [10:32:51:834]: Executing op: RegOpenKey(Root=-2147483646,Key=SOFTWARE\Microsoft\Microsoft SQL Server\110\Tools\ClientSetup,,BinaryType=0,,)
    MSI (s) (1C:C0) [10:32:51:834]: Executing op: RegAddValue(Name=SqlToolsPath,Value=C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\,)
    MSI (s) (1C:C0) [10:32:51:834]: Executing op: RegAddValue(Name=Path,Value=C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\,)
    MSI (s) (1C:C0) [10:32:51:834]: Executing op: RegAddValue(Name=SQLPath,Value=C:\Program Files (x86)\Microsoft SQL Server\110\Tools,)
    MSI (s) (1C:C0) [10:32:51:834]: Executing op: RegOpenKey(Root=-2147483646,Key=SOFTWARE,,BinaryType=0,,)
    MSI (s) (1C:C0) [10:32:51:834]: Executing op: RegAddValue(,,)
    MSI (s) (1C:C0) [10:32:51:834]: Note: 1: 1406 2:  3: SOFTWARE 4: 5
    MSI (s) (1C:C0) [10:33:19:949]: Product: SQL Server 2012 Management Studio -- Error 1406. Could not write value  to key \SOFTWARE.  System error .  Verify that you have sufficient access to that key, or contact your support personnel.
    Error 1406. Could not write value  to key \SOFTWARE.  System error .  Verify that you have sufficient access to that key, or contact your support personnel.
    07/30/2014 10:33:19.949 [540]: Assembly Install: Failing with hr=80070005 at RemoveDirectoryAndChildren, line 396
    ...... rest of the roolbaack next
    As i the lines:
    MSI (s) (1C:C0) [10:32:51:834]: Executing op: RegOpenKey(Root=-2147483646,Key=SOFTWARE,,BinaryType=0,,)
    MSI i opening the root hive of HKLM/Softftware
    and MSI (s) (1C:C0) [10:32:51:834]: Executing op: RegAddValue(,,)
    and trying to Add Default Value.
    What is impossible regardless of the
    level of permissions.
    Please provide help for installing SQL server management studin in any version
    Regards,
    Michael

  • Cannot download Adobe reader. What is error cod 150105?

    I have a very old laptop. It runs windows XP-32, with Service Pack 3 loaded on it (and those are the only numbers I know connected to my computer).  I run Flashplayer 11 and Java 7.11 on it.  my Internet connection is Internet explorer. It cannot run chrome without crashing and firefox runs very slow. I have the standard Windows essentials anti-virus and firewall. IT does not have a Wi-Fi card in it and only 2 USB ports, which are both first generation and so have a slow data transfer rates.
                   I do run disk cleanup and defrag often as well as the anti-virus after each Internet session.
    That should give you an idea of the specs on my poor old laptop.
    Now to the problem:
         I cannot download and install any version of Adobe reader.  I have gone back all the way to Adobe Reader 6 and still get the same message.
              "Adobe Reader cannot compete its installation. please refer to the minimum system requirements.
              Go to adobe.com/go/reader_system_regs. Error code 150105."
    I could not access that webpage. I cannot find that error code.
    Funny thing is, one of my electronic devices I bought came with Adobe Reader 7 on a CD-rom, and that installed just fine But it won't download the upgrades.
    I am at a loss. I need a PDF reader.
    What is going on with my poor computer?
    What do I need to do to my computer to allow me to download  and install Adobe Reader XI?

    I suggest that you download and run the Acrobat Cleaner Tool http://labs.adobe.com/downloads/acrobatcleaner.html
    Next download and run the offline installer from http://get.adobe.com/reader/enterprise/ - all availabel Reader versions 9.5, 10.1, and 11.0 should run fine on Windows XP.
    [topic moved to Adobe Reader forum]

  • Running the external programs from SM69 t-code and RSBDCOS0 report

    Hi All,
      I am trying to execute the external commands from SM69 and RSBDCOS0. It's throwing the below error:
    26.10.2009 17:26:49 Job started                                                                                00           516
    26.10.2009 17:26:50 Step 001 started                                                                                BT           611
    26.10.2009 17:26:50 External command: ZARCHIVELOG_COPY                                                                BT           630
    26.10.2009 17:26:50 Related parameter:                                                                                BT           613
    26.10.2009 17:26:50 Ext. prog.:   > Function: BtcXpgPanicCan't exec external program (No such file or directory)      BT      606
    26.10.2009 17:26:50 Ext. prog.: External program terminated with exit code 1                                          BT           606
    26.10.2009 17:26:50 Ext. prog.: SAPXPG started on <hostname>_<SID>_00, Process ID 1632, Process Number 12   BT           606
    26.10.2009 17:26:50 External program was cancelled                                                                    BT           614
    26.10.2009 17:26:50 Job cancelled                                                                                00           518
    <SID>adm has full authorization on sapxpg.
    Please let me know what might be the wrong.
    Regards,
    Sridhar

    Dear Markus,
       The dev_xpg file contains the below information
    Trace file of external program (trace level 3)
    < Function: BtcTrcInit> Function: BtcXpgStart  External program: mv
      Process id: 29450
      Parent process id: 29449
      Rearrange StdErr to be collected in memory
      Rearrange StdOut to be collected in memory
    In t-code sm21 dont have any thing.
    Regards,
    sridhar

  • How to run an external application from PL/SQL code?

    Hi,
    I want to call an application like "Notepad" from PL/SQL code in a Windows2000 server. Is there any way to do that?
    Thanks, best regards.
    Paulo.

    declare
    r varchar(4000);
    begin
    dbms_java.set_output(10000);
    system_util.runshell('sh /ora9/runBackup.sh', r);
    dbms_output.put_line(r);
    end;
    System_util package is
    CREATE OR REPLACE PACKAGE System_Util IS
    *System: Generic
    *Package Name: System_util
    *Description: This is an open source package which holds regular used
         * methods by developers and dba's.
    *Created by:         Rae Smith
    *Created Date:       27/06/2001
    *Notes: This ia an free open source package that holds no warranty and
    * therefore no-one connected to the development of this package
    * can be made reasponsible for any outcomes by it's use.
    MODIFICATION LOG**************************************************************
    *DETAILS                                    DATE          VERS          CHANGED BY
    *===============================================================================
    *Created                                 27-06-2001     1.0           Rae Smith
         /********************************* Public Methhods ***************************************/
         --- getDir returns the first directory value held in the init.ora file
         FUNCTION getDir RETURN VARCHAR2;
         --- getPrev.. returns the prevoise day from a gievn date
         FUNCTION getPrevSat(pDate IN DATE) RETURN DATE;
         FUNCTION getPrevSun(pDate IN DATE) RETURN DATE;
         FUNCTION getPrevMon(pDate IN DATE) RETURN DATE;
         FUNCTION getPrevTue(pDate IN DATE) RETURN DATE;
         FUNCTION getPrevWed(pDate IN DATE) RETURN DATE;
         FUNCTION getPrevThu(pDate IN DATE) RETURN DATE;
         FUNCTION getPrevFri(pDate IN DATE) RETURN DATE;
         --- isNumber returns TRUE or FALSE depending on a datatype passed
         FUNCTION isNumber(pnumber IN VARCHAR2) RETURN BOOLEAN;
         FUNCTION isNumber(pnumber IN NUMBER) RETURN BOOLEAN;
         FUNCTION isNumber(pnumber IN DATE) RETURN BOOLEAN;
         --- The writeFile allow you to write data to a file
         --- writeFile has 2 Versions
         --- v1 pass in the file name and the text to write to a file.
         --- v2 pass in the file name, dbms_sql.varhar2s object
         --- and the amount of rows to procces at a time
         --- This enables you to write to afile in batch mode
         PROCEDURE writeFile(pName IN VARCHAR2, pText IN VARCHAR2);
         PROCEDURE writeFile(pName IN VARCHAR2, pText IN DBMS_SQL.VARCHAR2S, pRows IN PLS_INTEGER);
         --- The appendFile methods allow you to append data to a file
    --- This also has the inteligents to create the file if ts does not exist.
         --- appendFile has 2 Versions
         --- v1 pass in the file name and the text to write to a file.
         --- v2 pass in the file name, dbms_sql.varhar2s object
         --- and the amount of rows to procces at a time
         --- This enables you to write to afile in batch mode
         PROCEDURE appendFile(pName IN VARCHAR2, pText IN DBMS_SQL.VARCHAR2S, pRows IN PLS_INTEGER);
         PROCEDURE appendFile(pName IN VARCHAR2, pText IN VARCHAR2);
         --- The clearFile clears the data from a file.
         PROCEDURE clearFile(pName IN VARCHAR2);
         --- checkSyntax is a quick syntax checker for sql statements the is a limit to
         --- the size used in the statement. If you have a error with
         --- a statement then pass in the statement watch as it displays
         --- the point where the error arose.
         PROCEDURE checkSyntax(pSql IN VARCHAR2);
         --- isEmpty this returns TRUE or FALSE
         FUNCTION isEmpty(pValue IN VARCHAR2) RETURN BOOLEAN;
         --- getTimeInMins returns the time in minutes for a specified date
         FUNCTION getTimeInMins (pDate IN DATE) RETURN NUMBER;
         --PROCEDURE get_time_in_mins (pDate IN DATE);
         --- incDate returns a specified date incremented by value
         FUNCTION incDate(pInc IN NUMBER DEFAULT .999999, pDate IN DATE DEFAULT SYSDATE) RETURN DATE;
         --- decDate returns a specified date decremented by value
         FUNCTION decDate(pInc IN NUMBER DEFAULT .999999, pDate IN DATE DEFAULT SYSDATE) RETURN DATE;
         --- getTime returns the time in milliseconds
         FUNCTION getTime RETURN NUMBER;
         --- daysDiff returns the amount of days between two values
         FUNCTION daysDiff(pHigh IN DATE, pLow IN DATE) RETURN NUMBER;
         --- difference returns the diffeence between two numbers always
         --- taking the lowest away from the highest
         FUNCTION difference(pAnum IN NUMBER,pBnum IN NUMBER)RETURN NUMBER;
         --- total returns the value of two numbers added together
         FUNCTION total(pAnum IN NUMBER, pBnum IN NUMBER)RETURN NUMBER;
         --- numberToWords returns the string for a number passed in
         FUNCTION numberToWords(pNumb IN NUMBER) RETURN VARCHAR2;
         --- runShell allows you to run operating commands from pl/sql
         --- Only available with 8i
         --- PROCEDURE runShell(pCmnd IN VARCHAR2, pErrMsg IN OUT VARCHAR2);
         /**************************** Public Vaiables *******************************/
         --- Public variable that holds the operating system directory
         --- that the can be written to from withing the database.
         vDir VARCHAR2(50);
    END;
    CREATE OR REPLACE PACKAGE BODY System_Util IS
         FUNCTION getDir RETURN VARCHAR2
         IS
         BEGIN
              RETURN vDir;
         EXCEPTION
              WHEN OTHERS THEN
                   dbms_output.put_line('ERROR...ERROR...System_Util.getDir');
                   RAISE;
         END getDir;
         /**** Private module to get the first directory for utl_file to use ****/
         PROCEDURE getDir
         IS
              CURSOR cDir(p1 IN VARCHAR2)
              IS
              SELECT DECODE(INSTR(value, ','), 0, value, SUBSTR(value, 1, INSTR(value, ',')-1)) dir
              FROM v$parameter
              WHERE name = p1;
         BEGIN
              FOR rDir IN cDir('utl_file_dir') LOOP
                   vDir := rDir.dir;
              END LOOP;
         EXCEPTION
              WHEN OTHERS THEN
                   dbms_output.put_line('ERROR...ERROR...System_Util.getDir');
                   RAISE;
         END getDir;
         FUNCTION getPrevDate(pDate IN DATE, pDay IN VARCHAR2) RETURN DATE
         IS
         BEGIN
              RETURN NEXT_DAY(pDate - 7, pDay);
         EXCEPTION
              WHEN OTHERS THEN
                   RAISE;
         END getPrevDate;
         FUNCTION getPrevSat(pDate IN DATE) RETURN DATE
         IS
         BEGIN
              RETURN getPrevDate(pDate, 'saturday');
         EXCEPTION
              WHEN OTHERS THEN
                   RAISE;
         END getPrevSat;
         FUNCTION getPrevSun(pDate IN DATE) RETURN DATE
         IS
         BEGIN
              RETURN getPrevDate(pDate, 'sunday');
         EXCEPTION
              WHEN OTHERS THEN
                   RAISE;
         END getPrevSun;
         FUNCTION getPrevMon(pDate IN DATE) RETURN DATE
         IS
         BEGIN
              RETURN getPrevDate(pDate, 'monday');
         EXCEPTION
              WHEN OTHERS THEN
                   RAISE;
         END getPrevMon;
         FUNCTION getPrevTue(pDate IN DATE) RETURN DATE
         IS
         BEGIN
              RETURN getPrevDate(pDate, 'tuesday');
         EXCEPTION
              WHEN OTHERS THEN
                   RAISE;
         END getPrevTue;
         FUNCTION getPrevWed(pDate IN DATE) RETURN DATE
         IS
         BEGIN
              RETURN getPrevDate(pDate, 'wednesday');
         EXCEPTION
              WHEN OTHERS THEN
                   RAISE;
         END getPrevWed;
         FUNCTION getPrevThu(pDate IN DATE) RETURN DATE
         IS
         BEGIN
              RETURN getPrevDate(pDate, 'thursday');
         EXCEPTION
              WHEN OTHERS THEN
                   RAISE;
         END getPrevThu;
         FUNCTION getPrevFri(pDate IN DATE) RETURN DATE
         IS
         BEGIN
              RETURN getPrevDate(pDate, 'friday');
         EXCEPTION
              WHEN OTHERS THEN
                   RAISE;
         END getPrevFri;
         FUNCTION isNumber(pNumber IN VARCHAR2) RETURN BOOLEAN
         IS
         BEGIN
              IF TO_NUMBER(pNumber)> 0 THEN
                   RETURN TRUE;
              ELSE
                   RETURN FALSE;
              END IF;
         EXCEPTION
              WHEN OTHERS THEN
                   RETURN FALSE;
         END isNumber;
         FUNCTION isNumber(pNumber IN NUMBER) RETURN BOOLEAN
         IS
         BEGIN
              IF TO_NUMBER(pNumber) > 0 THEN
                   RETURN TRUE;
              ELSE
                   RETURN FALSE;
              END IF;
         EXCEPTION
              WHEN OTHERS THEN
              RETURN FALSE;
         END isNumber;
         FUNCTION isNumber(pNumber IN DATE) RETURN BOOLEAN
         IS
         BEGIN
              IF TO_NUMBER(TO_CHAR(pNumber, 'YYYYMMDD')) > 0 THEN
                   RETURN TRUE;
              ELSE
                   RETURN FALSE;
              END IF;
         EXCEPTION
              WHEN OTHERS THEN
                   RETURN FALSE;
         END isNumber;
         PROCEDURE writeFile(pName IN VARCHAR2, pText IN VARCHAR2)
         IS
              vFtype utl_file.file_type;
         BEGIN
              vFtype := UTL_FILE.FOPEN(vDir, pName,'w');
              UTL_FILE.PUT_LINE(vFtype,pText);
              UTL_FILE.FCLOSE(vFtype);
         EXCEPTION
              WHEN OTHERS THEN
                   UTL_FILE.FCLOSE(vFtype);
                   RAISE;
         END writeFile;
         PROCEDURE writeFile(pName IN VARCHAR2, pText IN VARCHAR2, pFtyp IN OUT utl_file.file_type)
         IS
              vFtype utl_file.file_type;
         BEGIN
              vFtype := UTL_FILE.FOPEN(vDir, pName,'w');
              UTL_FILE.PUT_LINE(vFtype,pText);
              UTL_FILE.FCLOSE(vFtype);
         EXCEPTION
              WHEN OTHERS THEN
                   UTL_FILE.FCLOSE(vFtype);
                   RAISE;
         END writeFile;
         PROCEDURE writeFile(pName IN VARCHAR2, pText IN DBMS_SQL.VARCHAR2S, pRows IN PLS_INTEGER)
         IS
              vFtype utl_file.file_type;
              vText VARCHAR2(2000);
              vCnt BINARY_INTEGER;
              vRem BINARY_INTEGER;
              vRowcnt PLS_INTEGER := 0;
         BEGIN
              vRem := MOD(pText.COUNT, pRows);
              vFtype := UTL_FILE.FOPEN(vDir, pName, 'w');
              vCnt := pText.FIRST;
              LOOP
                   EXIT WHEN vCnt IS NULL;
              vRowcnt := vRowcnt + 1;
                   IF vCnt = pText.LAST THEN
                        vText := vText||pText(vCnt);
                        UTL_FILE.PUTF(vFtype,vText);
                        UTL_FILE.FFLUSH(vFtype);
                        vText := '';
                   ELSIF MOD(vCnt, pRows) = 0 THEN
                        vText := vText||pText(vCnt)||'\n';
                        UTL_FILE.PUTF(vFtype,vText);
                        UTL_FILE.FFLUSH(vFtype);
                        vText := '';
                   ELSIF vRowcnt = vRem THEN
                        vText := vText||pText(vCnt)||'\n';
                        UTL_FILE.PUTF(vFtype,vText);
                        UTL_FILE.FFLUSH(vFtype);
                   ELSE
                        vText := vText||pText(vCnt)||'\n';
                   END IF;
                   vCnt := pText.NEXT(vCnt);
              END LOOP;
              UTL_FILE.FCLOSE(vFtype);
         EXCEPTION
              WHEN OTHERS THEN
                   dbms_output.put_line('ERROR...ERROR...SYSTEM_UTIL.WRITE_FILE');
                   UTL_FILE.FCLOSE(vFtype);
                   RAISE;
         END writeFile;
         PROCEDURE appendFile(pName IN VARCHAR2, pText IN DBMS_SQL.VARCHAR2S, pRows IN PLS_INTEGER)
         IS
              vFtype utl_file.file_type;
              vText VARCHAR2(2000);
              vCnt BINARY_INTEGER;
              vRem BINARY_INTEGER;
              vMode VARCHAR2(2) := 'a';
              vRowcnt PLS_INTEGER := 0;
         BEGIN
              vRem := MOD(pText.COUNT, pRows);
              vFtype := UTL_FILE.FOPEN(vDir, pName, vMode);
              vCnt := pText.FIRST;
              LOOP
                   EXIT WHEN vCnt IS NULL;
                   vRowcnt := vRowcnt + 1;
                   IF vCnt = pText.LAST THEN
                        vText := vText||pText(vCnt);
                        UTL_FILE.PUTF(vFtype,vText);
                        UTL_FILE.FFLUSH(vFtype);
                        vText := '';
                   ELSIF MOD(vCnt, pRows) = 0 THEN
                        vText := vText||pText(vCnt)||'\n';
                        UTL_FILE.PUTF(vFtype,vText);
                        UTL_FILE.FFLUSH(vFtype);
                        vText := '';
                   ELSIF vRowcnt = vRem THEN
                        vText := vText||pText(vCnt)||'\n';
                        UTL_FILE.PUTF(vFtype,vText);
                        UTL_FILE.FFLUSH(vFtype);
                   ELSE
                        vText := vText||pText(vCnt)||'\n';
                   END IF;
                   vCnt := pText.NEXT(vCnt);
              END LOOP;
                   UTL_FILE.FCLOSE(vFtype);
         EXCEPTION
              WHEN UTL_FILE.INVALID_OPERATION THEN
                   IF vMode = 'a' THEN
                        writeFile(pName, pText, pRows);
                   ELSE
                        RAISE;
              END IF;
         WHEN OTHERS THEN
              dbms_output.put_line('ERROR...ERROR...SYSTEM_UTIL.APPENDFILE');
              UTL_FILE.FCLOSE(vFtype);
              RAISE;
         END appendFile;
         PROCEDURE appendFile(pName IN VARCHAR2, pText IN VARCHAR2)
         IS
              vFtype utl_file.file_type;
              vMode VARCHAR2(2) := 'a';
         BEGIN
              vFtype := UTL_FILE.FOPEN(vDir, pName, vMode);
              UTL_FILE.PUTF(vFtype, pText);
              UTL_FILE.FFLUSH(vFtype);
              UTL_FILE.FCLOSE(vFtype);
         EXCEPTION
         WHEN UTL_FILE.INVALID_OPERATION THEN
         IF vMode = 'a' THEN
              writeFile(pName, pText);
         ELSE
              RAISE;
         END IF;
         WHEN OTHERS THEN
              dbms_output.put_line('ERROR...ERROR...SYSTEM_UTIL.APPENDFILE');
              UTL_FILE.FCLOSE(vftype);
              RAISE;
         END appendFile;
         PROCEDURE clearFile(pName IN VARCHAR2)
         IS
              vFtype utl_file.file_type;
              vText VARCHAR2(2000);
              vCnt BINARY_INTEGER;
              vRem BINARY_INTEGER;
              vRowcnt PLS_INTEGER := 0;
         BEGIN
              vFtype := UTL_FILE.FOPEN(vDir, pName, 'w');
              UTL_FILE.PUTF(vFtype,'');
              UTL_FILE.FFLUSH(vFtype);
              UTL_FILE.FCLOSE(vFtype);
         EXCEPTION
         WHEN OTHERS THEN
         dbms_output.put_line('ERROR...ERROR...System_Util.CLEARFILE');
         UTL_FILE.FCLOSE(vFtype);
         RAISE;
         END clearFile;
         PROCEDURE checkSyntax(pSql IN VARCHAR2)
         IS
         sqlCur PLS_INTEGER := DBMS_SQL.OPEN_CURSOR;
         errPos PLS_INTEGER;
         sqlStmt VARCHAR2(2000);
         BEGIN
              sqlStmt := pSql;
              DBMS_SQL.PARSE(sqlCur, sqlStmt, DBMS_SQL.NATIVE);
         EXCEPTION
              WHEN OTHERS THEN
                   errPos := DBMS_SQL.LAST_ERROR_POSITION;
                   DBMS_OUTPUT.PUT_LINE(SQLERRM);
                   DBMS_OUTPUT.PUT_LINE(sqlStmt);
                   DBMS_OUTPUT.PUT_LINE(' ');
                   DBMS_OUTPUT.PUT_LINE(LPAD('^', errPos, '-'));
                   DBMS_SQL.CLOSE_CURSOR(sqlCur);
         END checkSyntax;
         FUNCTION isEmpty(pValue IN VARCHAR2) RETURN BOOLEAN
         IS
         BEGIN
              IF pValue IS NULL OR pValue = '' OR pValue = ' ' THEN
                   RETURN TRUE;
              ELSE
                   RETURN FALSE;
              END IF;
         END isEmpty;
         FUNCTION getTimeInMins (pDate IN DATE) RETURN NUMBER
         IS
              vHours NUMBER;
              vMins NUMBER;
              vRetval PLS_INTEGER;
         BEGIN
              vHours := TO_NUMBER(TO_CHAR(pDate,'HH24'));
              vMins := TO_NUMBER(TO_CHAR(pDate,'MI'));
              vRetval := ((60 * vHours) + vMins);
              RETURN vRetval;
         EXCEPTION
              WHEN OTHERS THEN
                   RAISE;
         END getTimeInMins;
         PROCEDURE getTimeInMins (pDate IN DATE)
         IS
              vHours NUMBER;
              vMins NUMBER;
              vRetval PLS_INTEGER;
         BEGIN
              vHours := TO_NUMBER(TO_CHAR(pDate,'HH24'));
              vMins := TO_NUMBER(TO_CHAR(pDate,'MI'));
              vRetval := ((60 * vHours) + vMins);
              DBMS_OUTPUT.PUT_LINE('The time IN minutes IS: '||vRetval);
         EXCEPTION
              WHEN OTHERS THEN
                   RAISE;
         END getTimeInMins;
         FUNCTION incDate(pInc IN NUMBER DEFAULT .999999, pDate IN DATE DEFAULT SYSDATE) RETURN DATE
         IS
         BEGIN
         RETURN (TO_DATE(TO_CHAR(pDate + pInc, 'DD/MM/YYYY HH24:MI:SS'), 'DD/MM/YYYY HH24:MI:SS'));
         EXCEPTION
              WHEN OTHERS THEN
                   RAISE;
         END incDate;
         FUNCTION decDate(pInc IN NUMBER DEFAULT .999999, pDate IN DATE DEFAULT SYSDATE) RETURN DATE
         IS
         BEGIN
         RETURN (TO_DATE(TO_CHAR(pDate - pInc, 'DD/MM/YYYY HH24:MI:SS'), 'DD/MM/YYYY HH24:MI:SS'));
         EXCEPTION
              WHEN OTHERS THEN
                   RAISE;
         END decDate;
         FUNCTION getTime RETURN NUMBER
         IS
         BEGIN
              RETURN dbms_utility.get_time;
         END getTime;
         FUNCTION daysDiff(pHigh IN DATE, pLow IN DATE) RETURN NUMBER
         IS
              vHighdate DATE;
              vLowdate DATE;
         BEGIN
         IF pHigh > pLow THEN
                   vHighdate := TO_DATE(TO_CHAR(pHigh, 'YYYYMMDD'), 'YYYYMMDD');
                   vLowdate := TO_DATE(TO_CHAR(pLow, 'YYYYMMDD'), 'YYYYMMDD');
         ELSIF pLow > pHigh THEN
                   vHighdate := TO_DATE(TO_CHAR(pLow, 'YYYYMMDD'), 'YYYYMMDD');
                   vLowdate := TO_DATE(TO_CHAR(pHigh, 'YYYYMMDD'), 'YYYYMMDD');
         END IF;
              RETURN (vHighdate - vLowdate);
         EXCEPTION
              WHEN OTHERS THEN
                   RAISE;
         END daysDiff;
         PROCEDURE dateCheck(pDateFrom IN OUT DATE, pDateTo IN OUT DATE)
         IS
              /* Declare the variable to hold the "from" date */
              vDateFrom DATE;
         BEGIN
              /* If either date_from or date_to is null then set to todays date **
              ** using the sysdate **
              ** today's DATE AND IN the correct format */
              pDateFrom := NVL(pDateFrom, SYSDATE);
              pDateTo := NVL(pDateTo, SYSDATE);
              /* Check that the from date is not greater than the to date if so **
              ** use the system_util.incDate to Increment the date by 1 day */
              IF (pDateFrom > pDateTo) THEN
              vDateFrom := pDateFrom;
              pDateTo := System_Util.incDate(1, vDateFrom);
              END IF;
         EXCEPTION
              WHEN OTHERS THEN
              RAISE;
         END;
         /* calculates the difference of two numbers always taken the high from the low*/
         FUNCTION difference(pAnum IN NUMBER, pBnum IN NUMBER)RETURN NUMBER
         IS
              vTotal NUMBER;
         BEGIN
              IF (pAnum > pBnum )OR (pAnum = pBnum)THEN
                   vTotal := (pAnum - pBnum);
              ELSIF (pAnum < pBnum) THEN
                   vTotal := (pBnum - pAnum);
              END IF;
              RETURN (vTotal);
         EXCEPTION
              WHEN OTHERS THEN
                   RAISE;
         END difference;
         /* calculates the Total of two numbers*/
         FUNCTION total(pAnum IN NUMBER, pBnum IN NUMBER)RETURN NUMBER
         IS
              vTotal NUMBER;
         BEGIN
              vTotal := (pAnum + pBnum);
         RETURN (vTotal);
         EXCEPTION
              WHEN OTHERS THEN
                   RAISE;
         END total;
         FUNCTION numberToWords(pNumb IN NUMBER) RETURN VARCHAR2
         IS
              vRetval VARCHAR2(255);
              vNumb PLS_INTEGER;
         BEGIN
              vNumb := pNumb;
              vRetval := REPLACE(TO_CHAR(TO_DATE(vNumb,'j'),'jsp'),'-',' ');
              RETURN (vRetval);
         EXCEPTION
              WHEN OTHERS THEN
              RAISE;
         END;
    /*************** Only Available on 8i ********************************\
         FUNCTION Catcherr(pStr IN VARCHAR2) RETURN VARCHAR2
         IS
              LANGUAGE JAVA
              NAME 'catchErr.run(java.lang.String) return String';
         PROCEDURE runShell(pCmnd IN VARCHAR2, pErrMsg IN OUT VARCHAR2)
         IS
         BEGIN
              pErrMsg := Catcherr(pCmnd);
         EXCEPTION
         WHEN OTHERS THEN
              RAISE;
         END runShell;
    BEGIN
    getDir;
    END;

Maybe you are looking for