TAA Tools
SCNIFS          SCAN IFS                               TAAIFTK

The Scan IFS  command scans one or  more stream files for  an argument.
If  the  argument is  found  anywhere in  the  stream file,  a  line is
listed  identifying the  IFS object.   SCNIFS assists  in searching for
values in the IFS.

Because the default for SCNIFS is  to run CVTIFS and then scan  data in
the IFS, performance can be a consideration.

A typical command would be:

            SCNIFS        ARGUMENT(xxx)

All stream  files in  the home  directory would be  scanned.   One line
would be listed for each stream file that contained the argument.

The  default for the OBJ  parameter is '*'  meaning the home directory.
A specific directory or stream file may be named.

The TAA CVTIFS  command is used  to create an  outfile of IFS  objects.
CVTIFS offers various selection criteria.

The special value  *EXISTS may be specified to mean  the CVTIFS outfile
already  exists  in which  case the  outfile  name and  member  must be
specified.    If   *EXISTS  is   to  be  used,   CVTIFS  must   specify
OUTFILFMT(*TYPE2).

The default is to  translate the stream file data to  upper case before
scanning.

Scan Technique
--------------

APIs  are  used  to  read  the  stream  files in  64,000  byte  blocks.
Because  the argument  may be  split over  two 64,000 byte  blocks, the
last 20 bytes from  each block is placed in  a scan area with  the next
64,000 byte block before the scan occurs.

SCNIFS escape messages you can monitor for
-------------------------------------------

None.  Escape messages from based on functions will be re-sent.

Command parameters                                    *CMD
------------------

   ARGUMENT      Up  to 20  bytes of  the argument  to be  scanned for.
                 The  argument   value  is  folded  to  upper  case  by
                 command processing.    By  default  the  IFS  data  is
                 folded to upper case before scanning.

                 To  scan for  a  lower case  value  only, specify  the
                 argument in quotes and TRANSLATE(*NO).

   OBJ           The  path  name of  the  object to  be  scanned.   The
                 object path  name can  be either  a simple  name or  a
                 name  that   is  qualified  with   the  name   of  the
                 directory  in  which  the  object  is  located.    The
                 default is *.

                 Specifying  * will  start the  convert process  at the
                 current directory  level.   If  the current  directory
                 level is  at the root ('/'), the  convert process will
                 start at the home directory ('/home').

                 You    must   be    authorized   to    the   TAACVTIFS
                 authorization list to specify a path name.

                 The  special  value  of  *IFS  may  also  be  entered.
                 Specifying  *IFS will  start  the  convert process  at
                 the  root   directory  level  ('/')  excluding  /QDLS,
                 /QOPT and /QSYS.LIB.

                 The special  value *EXISTS  may be  entered if  CVTIFS
                 has already been run  and you want to use  the created
                 outfile.   If *EXISTS is used, the  IFSDIRPLIB and MBR
                 parameters  must  specify  the library  and  member of
                 the existing file.   If *EXISTS is to be  used, CVTIFS
                 must  specify OUTFILFMT(*TYPE2).    See the  OUTFILFMT
                 parameter for the file name.

   TRANSLATE     A  *YES/*NO parameter for whether  the IFS data should
                 be translated  to upper  case before  scanning.   *YES
                 is the default.

                 *NO  may be  specified when  scanning  for a  specific
                 lower case value.  The argument must be in quotes.

   IFSDIRPLIB    The  library of the  existing file  if OBJ(*EXISTS) is
                 specified.  The  default is *LIBL.   *CURLIB may  also
                 be entered.   See the  OUTFILFMT for  the name of  the
                 file.

   MBR           The  member of  the existing  file if  OBJ(*EXISTS) is
                 specified.   The  default is  *FIRST.   *LAST may also
                 be entered.

                 This  parameter   is  ignored   if   *EXISTS  is   not
                 specified for the OBJ parameter.

   MAXSCN        The maximum  number of characters  to be scanned.   Up
                 to  9 digits may be entered.   This allows a method of
                 avoiding very large stream  files such as save  files.
                 The  default  is  999,999,999   or  just  short  of  1
                 billion bytes.

The  number  specified  determines  how  far  into  an object  will  be
scanned.

   USRPRF        The user profile that will  be switched to during  run
                 time.   QSECOFR  is  the default.    For file  systems
                 (such as  QNTC), CVTIFS will fail if  QSECOFR does not
                 exist.

                 *CURRENT  may be used or  a specific user profile, but
                 the profile must have *ALLOBJ special authority.

Restrictions
------------

None.

Prerequisites
-------------

The following TAA Tools must be on your system:

     CHKIFSE         Check IFS entry
     CHKOBJ3         Check object 3
     CHKSPCAUT       Check special authority
     CRTDUPPF        Create duplicate physical file
     CVTIFS          Convert IFS
     EDTVAR          Edit variable
     RSNLSTMSG       Resend last message
     RTVSYSVAL3      Retrieve system value 3
     SNDCOMPMSG      Send completion message
     SNDESCINF       Send escape information
     SNDESCMSG       Send escape message
     SNDJLGMSG       Send job log message
     SNDSTSMSG       Send status message

Implementation
--------------

None, the tool is ready to use.

Objects used by the tool
------------------------

   Object        Type    Attribute      Src member    Src file
   ------        ----    ---------      ----------    ----------

   SCNIFS        *CMD                   TAAIFTK       QATTCMD
   TAAIFTKC      *PGM       CLP         TAAIFTKC      QATTCL
   TAAIFTKC2     *PGM       CLP         TAAIFTKC2     QATTCL
   TAAIFTKR      *PGM       RPGLE       TAAIFTKR      QATTRPG
					

Added to TAA Productivity tools June 1, 2005


Home Page Up to Top