TAA Tools

 RTVVALA         RETRIEVE VALUE ATTR                    TAACLQF

 The  Retrieve Value  Attributes  command  returns information  about  a
 value  (a variable).   Optional return  values exist to  determine such
 things  as the length  of the data  in the variable,  the type of data,
 and is it a valid name.

 A typical command would be:

              DCL           &LENGTH *DEC LEN(3 0)
              DCL           &DATA *CHAR LEN(1)
               .
              RTVVALA       VALUE(&xxxx) LENGTH(&LENGTH) DATA(&DATA)

 The &DATA return variable will describe:

            C = Character data or all blanks
            D = All digits
            P = All digits with a single decimal pos character

 You can also specify  a character to scan  for and return the  location
 such as:

              DCL           &CHKPOS *DEC LEN(3 0)
               .
              RTVVALA       VALUE(&xxxx) CHKCHR(*) CHKPOS(&CHKPOS)

 A leading  minus sign may exist  for decimal data  if LDGMINUS(*YES) is
 specified.

 A  value with a length  greater than 16  is automatically considered to
 be a character value.

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

    VALUE         The value to  be checked.   It may be  up to 50  bytes
                  in length.

    LENGTH        The length  of the  data in  the value.   An  optional
                  return  variable  that  if used  must  be  declared as
                  *DEC LEN(3  0).   A  scan  from the  right  occurs  to
                  determine the last  non-blank value.  If the  value is
                  all blank, a zero will be returned.

    DATA          The  data  type of  the  value.    An optional  return
                  variable  that  if  used  must  be  declared  as *CHAR
                  LEN(1).

                  If the  value contains character  data or all  blanks,
                  a C is returned.

                  If  the value  contains  only  digits (0-9)  excluding
                  the trailing blanks, a D is returned.

                  If  the value contains  only digits (0-9)  or a single
                  single  decimal   format  value   and  excluding   the
                  trailing  blanks,  a  P  is  returned.    The  decimal
                  format  is determined  by  accessing the  system value
                  QDECFMT.  A P  means the data is  valid to be used  as
                  decimal data for the CHGVAR command.

    DECPOS        The leftmost  position within  the data that  contains
                  a  decimal  format  character.    An  optional  return
                  variable  that if used must  be declared as *DEC LEN(3
                  0).   The decimal  format is  determined by  accessing
                  the system value QDECFMT.

    NBRDEC        The number of  digits to the right of  the the decimal
                  format  character.   An optional return  variable that
                  if used  must  be declared  as  *DEC  LEN(3 0).    The
                  decimal format  is determined by accessing  the system
                  value QDECFMT.

    DGTVAL        The value  of the digits if the  TYPE returned is D or
                  P.  This  excludes any decimal  format character.   If
                  TYPE  = D  is  returned  and  the value  is  positive,
                  DGTVAL would  be the same as the  input value (VALUE).
                  If  -123  is input,  DGTVAL  would contain  a negative
                  123.   If 123.45  is input, DGTVAL  would be  returned
                  as 12345.   An optional  return variable that  if used
                  must be declared as *DEC LEN(15 0).

    NAME          Whether  the characters are  a valid name.   This does
                  not include generic names  (see GENNAM).  An  optional
                  return  variable that  if  used  must be  declared  as
                  *CHAR  LEN(1).   It will contain  Y or  N.   The first
                  position of the  value must be  A-Z or $,  #, @ to  be
                  considered  a  valid  name.     Note  that  the  first
                  position  cannot be  blank.   The  remaining positions
                  must  be  the  same  characters or  0-9  or  '_'.   No
                  embedded blanks must  exist to  be considered a  valid
                  name.

    GENNAM        Whether the  characters are a valid generic  name.  An
                  optional   return  variable  that   if  used  must  be
                  declared as *CHAR LEN(1).  It will contain Y or N.

                  See the  rules  for the  NAME  parameter.   A  generic
                  name follows  these rules  and ends  with an  *.   The
                  characters after the * must be blank.

    LDGBLK        Whether  the first  character is  blank.   An optional
                  return variable  that  if  used must  be  declared  as
                  *CHAR LEN(1).  It will contain Y or N.

    EMBEDBLANK    Whether  the value  contains an  embedded  blank.   An
                  optional  return   variable  that  if   used  must  be
                  declared as *CHAR LEN(1).  It will contain Y or N.

    APOSTROPHE    Whether  any character in the  value is an apostrophe.
                  An  optional return  variable  that  if used  must  be
                  declared as *CHAR LEN(1).  It will contain Y or N.

    MAXINPLEN     The  maximum  input  length  of  the  variable.    The
                  default  is 50.   It  must be a  number between  1 and
                  999.  50 was the  old maximum.  The number  determines
                  where  to  start  the  scan  from  the  right  of  the
                  variable.

    CHKCHR        Whether  to  check for  the  existence  of a  specific
                  character.  *NONE is the  default.  A non-blank  value
                  may  be checked  for.   The  first  location found  is
                  returned in the CHKPOS parameter.

    CHKPOS        The  leftmost position within  the data  that contains
                  the  value  to be  checked  for.   An  optional return
                  variable that if used  must be declared as *DEC  LEN(3
                  0).

    ALWMINUS      A  *YES/*NO  value  for  whether to  allow  a  leading
                  minus  sign.   *NO is  the default.   A value  such as
                  -123 would be considered a character field.

                  *YES may be  specified to allow  a leading minus  sign
                  and still consider  the value to be numeric.   A value
                  such as  -123 would be considered type  D (digits).  A
                  value such as -100.15 would be considered type P.

    LDGMINUS      Whether a leading  minus exists.   An optional  return
                  variable  that  if  used must  be  declared  as  *CHAR
                  LEN(1).  It will contain Y or N.

    DECFMT        Which  decimal format type  to consider  when checking
                  for  a decimal  notation.   *SYSVAL is  the default to
                  use  the  system   value  QDECFMT  to   determine  the
                  decimal notation character.

                  *JOBFMT  may be  specified to  use the  RTVJOBA DECFMT
                  value.

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

 Because  the command  returns variables, it  can only  be used  in a CL
 program.

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

 None.

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

 None, the tool is ready to use.

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

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

    RTVVALA       *CMD                   TAACLQF       QATTCMD
    TAACLQFC      *PGM       CLP         TAACLQFC      QATTCL

Added to TAA Productivity Tools May 1, 1996


Home Page

Last modified on November 19, 2014 © 1995, 2014 - TAA Tools, Inc.