On 07-Jan-2014 05:51 -0800, Alan Cassidy wrote:
I've looked at the archives, searched on the Web, and so it's come
to  this...
The IFS root directory apparently stores the PC read-only attribute.
I'm creating some files in an IFS root subfolder and need to know if
it is possible to create it with the read-only attribute set, or at
least to change the attribute after creating the file.
  Paraphrasing from a reply to a similar inquiry:
<
https://groups.google.com/forum/#!topic/comp.sys.ibm.as400.misc/rnKEReDi_xY>
   I am unaware of the ability to set the attribute during any 
particular /create/ interface; e.g. the Qshell touch utility does not 
have an option.  Although after-the-fact, i.e. not as-specified during 
the create of the file, a later request can be made to change that 
attribute\setting using:
     CHGATR 'path-to-object' ATR(*HIDDEN) VALUE(*YES)
   And optionally with SUBTREE(*YES) if the specified OBJ() is a 
directory, to set for all objects under that directory]
     CHGATR 'path-to-directory' ATR(*HIDDEN) VALUE(*YES) SUBTREE(*YES)
<
http://pic.dhe.ibm.com/infocenter/iseries/v7r1m0/topic/cl/chgatr.htm>
_i Change Attribute (CHGATR) i_
"...
The Change Attribute (CHGATR) command allows a single attribute to be 
changed for a single object or a group of objects. An object name 
pattern can be used to change a single attribute for a group of related 
objects.
The CHGATR command can also be used to change an attribute of a 
directory tree where the specified directory, its contents, and the 
contents of all of its subdirectories have the attribute changed. If 
SUBTREE(*ALL) is specifed, the command will attempt to change the 
attribute for as many objects as possible within the subtree. A 
diagnostic message will be sent for each object that could not have its 
attribute changed. When all of the objects have been attempted, an 
escape message will be sent if there were any errors. If all of the 
objects had the attribute changed with no errors, then a completion 
message will be sent.
 ...
Attribute (ATR)
Specifies the attribute to be changed.
 ...
*HIDDEN
    Whether the object can be displayed using an ordinary directory list.
    Allowed values for the VALUE parameter are:
    *YES  The object is hidden and cannot be displayed using an 
ordinary directory listing.
    *NO   The object is not hidden and can be displayed using an 
ordinary directory listing.
 ..."
   The same function as ChgAtr CL command is available from the 
following API and shell (QSH) utility:
<
http://pic.dhe.ibm.com/infocenter/iseries/v7r1m0/topic/apis/qsetattr.htm>
_i Qp0lSetAttr()--Set Attributes i_
"...
  Service Program Name: QP0LLIB3
  ...
_Attribute identification_ The constant identifying the attribute being 
set. Valid values are:
  ...
  18    QP0L_ATTR_PC_HIDDEN: (CHAR(1)) Whether the object can be 
displayed using an ordinary directory listing.
      x'00'  QP0L_PC_NOT_HIDDEN: The object is not hidden.
      x'01'  QP0L_PC_HIDDEN: The object is hidden.
  ..."
<
http://pic.dhe.ibm.com/infocenter/iseries/v7r1m0/topic/rzahz/rzahzattr.htm>
IBM i 7.1 Information Center -> Programming -> Shells and utilities -> 
Qshell -> Utilities -> Working with files and directories
_i attr - Get or set attributes for files i_
"Synopsis
attr [ -hp ] file [ attribute [ =value ] ... ]
Description
The attr utility gets or sets attributes for the object specified by 
file. When no attributes are specified, attr displays all of the 
attributes for the object in a re-entrable format to standard output.
  ...
PC_HIDDEN
    An indicator if the object is hidden. This attribute can be 
displayed or set.
  ..."
As an Amazon Associate we earn from qualifying purchases.