|
THANK YOU VERY MUCH SCOTT..That was quite informative!!!!1 ----- Original Message ----- From: Scott Klement To: Midrange Systems Technical Discussion Sent: Monday, May 02, 2005 6:50 PM Subject: Re: SAVDIR not recognizing tape drive Hello, > You could also create a Symbolic Link to associate the path to your tape > dirve as TAP03 using the following command : > ADDLNK OBJ('\qsys.lib\tap03.devd') NEWLNK(tap03) Before doing this, I suggest that you explain what it does and why it would or wouldn't work for them. The way this ADDLNK command works is that it creates a symbolic link from the *DEVD in QSYS to your current IFS directory. If you change your current IFS directory (which should be expected!) this technique will once again require you to specify a directory name or it won't be able to find the device. The current IFS directory is analogous to your current library (*CURLIB). It's a variable that's part of your job that you can change at will. It keeps track of which directory you're currently "in", just as *CURLIB keeps track of the library that you're currently in. When you specify an IFS pathname that does NOT begin with a slash (/) character, the system automatically appends the current directory to the start of it. For example, let's say I have a file called daily_cash.csv and it's located in the /klements/accounting/receivables directory of the IFS. Maybe I want to edit that file to make a quick change. I could type the following command to edit it: EDTF '/klements/accounting/receivables/daily_cash.csv' But, if I have to do that for many files, my fingers will get tired. So, as a shortcut, I can change my current directory: CHDIR '/klements/accounting/receviables' And then I can simply specify the filename: EDTF 'daily_cash.csv' And if there are 10 other files in that directory, I can type them the same way, since /klements/accounting/receivables is now my current directory. And that's how the ADDLNK trick works as well. You create a symbolic link from /QSYS.LIB/TAP03.DEVD to the TAP03 file in your current IFS directory. That means that as long as your current directory does not change, you'll be able to reference the tape device by specifying SAV ... DEV(TAP03) The tricky part is... not everyone starts with the same current directory. By default on the iSeries, people will start with their home directory as their current directory. (usually /home/your-userid -- in my case, /home/klemscot ). If their home directory doesn't exist, the iSeries will default back to the root directory (which is just "/") Since those users can use the CHDIR command (or the longer CHGCURDIR) to change their current directory at any time (just like they can use CHGCURLIB or CHGLIBL to change their current library) the ADDLNK technique will fail as soon as someone has a different value for their current IFS directory. What you might want to do to keep things simple is create a "/tape" directory to store the symlinks in. For example: MKDIR '/tape' ADDLNK OBJ('/qsys.lib/tap03.devd') NEWLNK('/tape/tap03') That way, if someone wants to do a "simple" backup, they could do: CHDIR '/tape' SAV .... DEV(tap03) Or, if they didn't want to change their current directory, they could still do: SAV .... DEV('/tape/tap03') Which is relatively easy to remember, instead of making the user remember their initial directory and making all sorts of symlinks in every users initial directory. Another thought.... if all you're after is a way to specify the device name using the same name as the one you hand off to SAVLIB and SAVOBJ, you might consider simply making a wrapper for the SAV command instead of mucking around with symbolic links. Here's a really simple example to give you the idea: PGM PARM(&OBJ &DEV) DCL VAR(&OBJ) TYPE(*CHAR) LEN(500) DCL VAR(&DEV) TYPE(*CHAR) LEN(10) DCL VAR(&DEVPATH) TYPE(*CHAR) LEN(47) CHGVAR VAR(&DEVPATH) VALUE('/QSYS.LIB/' *CAT &DEV *TCAT '.DEVD') SAV OBJ(&OBJ) DEV(&DEV) ENDPGM Good luck -- This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/mailman/listinfo/midrange-l or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/midrange-l.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.