TAA Tools

 UNADOPT         UNADOPT                                TAASECV

 The Unadopt command is not intended to be executed.

 Instead, the TAASECVC program  should be called with a  qualified name.
 A  single  parameter  contains the  command  which  is  to be  executed
 without  the benefit  of adopted authority.   TAASECVC  is specified as
 USEADPAUT(*NO).

 A typical use of the function would be:

              DCL        &CMD *CHAR LEN(3000)
               .
              CHGVAR     &CMD (xxx)
              CALL       PGM(TAATOOL/TAASECVC) PARM(&CMD)

 The UNADOPT function is intended for the situation where you are:

   **   Executing a program  that adopts its  owners profile (by use  of
        the USRPRF(*OWNER) function).

   **   You  want to execute  a command  that should  not run  under the
        adopted  authority (It  should  run under  the authority  of the
        current user only).

   **   No variables are  being passed back  from the command.   If  you
        have variables,  you normally  need a specific  sub-program that
        is specified as USEADPAUT(*NO).

 For example,  assume you executing a program  that was created by QPGMR
 and adopts his  authority.   The QPGMR profile  has *JOBCTL  authority.
 You now  want to use  WRKOUTQ for an  output queue (assume  its QPRINT)
 that multiple users use.

 If you specify:

           WRKOUTQ   OUTQ(QPRINT)

 The WRKOUTQ display will appear, but the user can now:

   **   Control  any spooled file  (e.g.   delete another  users spooled
        file)

   **   Execute  additional  commands  on the  command  line  unless the
        user is LMTCPB(*YES).

 To avoid these possibilities,  you specify a CALL to TAASECVC  and pass
 the command to be executed:

           DCL         &CMD *CHAR LEN(3000)
            .
           CHGVAR      &CMD 'WRKOUTQ OUTQ(QPRINT)'
           CALL        PGM(TAATOOL/TAASECVC) PARM(&CMD)

 Any  escape messages caused  by the  command that  is executed  will be
 re-sent to your program.

 For  the best  security  control, you  should use  a qualified  call to
 TAATOOL/TAASECVC.  This  avoids the  possibility of  a user  attempting
 to bypass  your security function by  manipulating the library  list so
 that a different program is called.

 The TAASECVC  program is written to execute  the command using QCMDEXC.
 When the UNADOPT tool is created,  the TAASECVC program is created  and
 then the CHGPGM command is run as:

           CHGPGM  PGM(TAASECVC) USEADPAUT(*NO)

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

 The command  is not intended  to be executed.   You should  execute the
 function using a qualified call to the CPP:

          CALL    PGM(TAATOOL/TAASECVC) PARM(&CMD)

 If  you  execute  the  UNADOPT  command,  you will  receive  an  escape
 message describing how to call the TAASECVC program directly.

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

 The command being executed cannot return any variables.

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

 The following TAA Tools must be on your system:

         SNDESCMSG     Send escape message

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

 None, the tool is ready to use.

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

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

    UNADOPT       *CMD                   TAASECV       QATTCMD
    TAASECVC      *PGM       CLP         TAASECVC      QATTCL
    TAASECVC2     *PGM       CLP         TAASECVC2     QATTCL

 The  TAASECVC2 program  is the  CPP for the  UNADOPT command.   It will
 send an escape message describing how to call TAASECVC.

Added to TAA Productivity Tools April 1, 1995


Home Page

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