The Change Signon Text tool allows you to place up to 5 lines of text
(79 bytes each) on the Signon Display. The text will appear the next
time the Signon display appears. The text does not change if the
Signon display is already active. A separate command will allow
refreshing the Signon display by subsystem. Both 10 and 128 password
Signon displays are supported.
You must duplicate the TAADSPLD (10 byte passwords) or TAADSPLE (128
byte passwords) display files or their equivalents for the subsystem
SGNDSPF option. See the later discussion.
You must have *JOBCTL to use CHGSGNTXT.
CHGSGNTXT may be used for:
** Temporary text which is changed periodically or for special
requirements.
** Permanent text that will appear without any intent of ever
changing the value.
A typical command would be:
CHGSGNTXT
The existing text for the messages will appear on a display and may
be changed. CHGSGNTXT is an interactive only command. See the
CHGSGNTXT2 command for making changes in batch.
You must duplicate the supplied TAA Display file (either TAADSPLD or
TAADSPLE) to your own library. Provide your own name for the new
Display file such as SIGNONDSP.
CRTDUPOBJ OBJ(TAADSPLD) FROMLIB(TAATOOL)
OBJTYPE(*FILE) TOLIB(xxx)
NEWOBJ(SIGNONDSP)
You must change the Subsystem Description SGNDSPF parameter to the
Display file you named. Equivalent file definitions may be used (see
later discussion). For example to change the QBASE subsystem Signon
display, you would specify:
CHGSBSD SBSD(QBASE) SGNDSPF(xxx/SIGNONDSP)
********************************************************
* *
* Do not specify the TAADSPLD or TAADSPLE display *
* file names in TAATOOL for the SGNDSPF parameter. *
* *
* The display file cannot be deleted if it is in *
* use. Using your own name in your own library *
* will allow the TAA files in TAATOOL to be *
* deleted when the next version of the *
* TAA Productivity Tools is installed. *
* *
********************************************************
The text will not appear if the Signon display is already shown at
the workstation unless:
** The user signs off. The refreshed Signon display will appear.
** The Enter key is pressed while viewing the Signon display.
This causes a refreshed Signon display to appear.
** The CHGSBSSGN command (another command for the CHGSGNTXT tool)
is used to refresh the text of the workstations that are
currently displaying the signon prompt. See the later
discussion of CHGSBSSGN.
** The VRYDEV (Vary Device Off/On) tool may be used to refresh
the Signon prompt for a specific workstation. See the later
section on 'Vary Device Off/On' tool.
You may use your own version of a Signon display instead of
duplicating the two supplied in the TAATOOL library. See the later
discussion.
Technique used
--------------
The system provides the source used for the Signon displays.
** In Release V5R1 the 128 byte passwords were added and the
source exists as follows:
Password length Src Member Src File Library
--------------- ---------- -------- -------
10 QDSIGNON QAWTSSRC QSYS
128 QDSIGNON2 QAWTSSRC QSYS
** Prior to V5R1, only 10 byte passwords were supported and the
source exists in QDSIGNON in QDDSSRC in QGPL.
On each release, the QDSIGNON and QDSIGNON2 source is copied to the
TAA members TAADSPLD and TAADSPLE and special fields are added to
support CHGSGNTXT.
The special fields use the MSGID keyword to refer to messages
TAA3001-TAA3005 in the TAAMSGF message file in TAATOOL. The
CHGSGNTXT command (or CHGSGNTXT2) changes the text of these messages.
After duplicating either the TAADSPLD or TAADSPLE Display File to
your own library with a different name (such as SIGNONDSP), your new
file must be named on the CHGSBSD SGNDSPF parameter to allow
CHGSGNTXT to be operable.
When a subsystem is started, the Display File specified for the
SGNDSPF parameter is used for the Signon display including the
current text of the special TAA messages.
Note that if the subsystem is active, you cannot re-create the
display file named for the SGNDSPF parameter. You must end the
subsystem to allow a re-create.
When the TAA tools are installed, any existing text for the
TAA3001-TAA3005 messages is retained.
Security
--------
Only a user with *JOBCTL special authority can use CHGSGNTXT or
CHGSGNTXT2. Both processing programs adopt to allow the user of the
command to update the messages in TAAMSGF.
Testing the CHGSGNTXT function
------------------------------
You can test CHGSGNTXT on a single workstation by doing the
following:
** Create a special subsystem:
CRTDUPOBJ OBJ(QINTER) FROMLIB(QSYS) OBJTYPE(*SBSD)
TOLIB(xxx) NEWOBJ(TSTCHGSGN)
** Duplicate the TAA supplied display file (TAADSPLD or TAADSPLE)
to your own file name (such as SIGNONDSP).
CRTDUPOBJ OBJ(TAADSPLD) FROMLIB(TAATOOL)
OBJTYPE(*FILE) TOLIB(xxx)
NEWOBJ(SIGNONDSP)
** Change the subsystem description to the file you duplicated:
CHGSBSD SBSD(TSTCHGSGN) SGNDSPF(xxx/SIGNONDSP)
** Add a specific workstation name to test with:
ADDWSE SBSD(TSTCHGSGN) WRKSTN(DSPxx)
** Use CHGSGNTXT to specify the text you want displayed.
CHGSGNTXT
** When the interactive display appears, enter the desired text.
** Start the test subsystem:
STRSBS SBSD(TSTCHGSGN)
The revised signon display should appear at the workstation
you named. If the workstation is signed on, signoff to see
the display.
** You may also want to try the CHGSBSSGN command described in
the next section with one or more devices in the same
subsystem.
** When the test is complete,
ENDSBS SBS(TSTCHGSGN) OPTION(*IMMED)
CHGSBSSGN (Change Subsystem Signon Text) Command
------------------------------------------------
The CHGSBSSGN command may be used to refresh the Signon prompt for
any workstations in a named subsystem. A typical command would be:
CHGSBSSGN SBS(xxx)
Any devices that the subsystem has in a HELD status (meaning a Signon
prompt exists) would be refreshed. This allows CHGSGNTXT to be used
first to alter the text and then have it appear on the workstations
that are not signed onto.
If another subsystem (such as SBS2) has been started after the named
subsystem and SBS2 holds the device in a HELD status, the Signon
prompt will be removed and the Signon display associated with the
named subsystem will appear.
The named subsystem must be holding a HELD or REQ status for this
function to occur.
You must have *JOBCTL to use CHGSBSSGN.
CHGSBSSGN uses VRYDEV to refresh each device. See the later section
on this tool.
Using CHGSGNTXT for your own Signon Display
-------------------------------------------
Some users have already copied the source from QDSIGNON or QDSIGNON2
to help create their own display. You may add the required TAA DDS
to your own display to allow the use of CHGSGNTXT.
Use CPYTAA to copy either the TAADSPLD or TAADSPLE source from the
archive such as:
CPYTAA TAAARCMBR(TAADSPLD)
Use SEU or PDM to edit your display file source. Use browse mode
(F15) for the member you copied (such as TAADSPLD) in QATTDDS of
TAATOOL to locate the TAA source.
Scan for 'TAAFLD1'. Copy the DDS specs for TAAFLD1 - TAAFLD5 to your
source. You may need to change the line numbers from 15 - 19 to fit
your display file.
Re-create your display file (this can only be done when the subsystem
is not active).
If you do not have room for 5 lines, you may use less (such as
TAAFLD1 - TAAFLD3), but you must ensure that the unused lines are not
specified on CHGSGNTXT.
Using Different Text for Different Subsystems
---------------------------------------------
Both the CHGSGNTXT and CHGSGNTXT2 commands support the MSGF parameter
to allow you to use the function for different text on different
Signon displays depending on the subsystem that controls the display.
To achieve this, a typical approach would be to have a separate
message file for each additional subsystem.
Assuming your message file already exists, duplicate the TAA3001
message from TAAMSGF in TAATOOL:
DUPMSGD FROMID(TAA3001) FROMMSGF(TAATOOL/TAAMSGF)
TOMSGF(xxx)
Repeat this step for messages TAA3002 - TAA3005.
If you already have your own source for a unique subsystem Signon
display, add the TAAFLD1 - TAAFLD5 fields as described in the
previous section.
If you do not have your own DDS source for the additional subsystem,
use CPYTAA as described in the previous section and then copy either
TAADSPLD or TAADSPLE source from QATTCL in TAATOOL to your source
member.
Scan for TAAFLD1 and change the MSGID keyword for fields TAAFLD1 -
TAAFLD5 to reference your message file instead of TAATOOL/TAAMSGF.
Use a qualified library name to ensure your message file is found
without relying on a library list setting.
Create the display file and then use CHGSGNTXT with the MSGF
parameter to describe your message file.
If the subsystem is not referencing the SGNDSPF for your Display
file, use CHGSBSD to specify the Display file.
VRYDEV Off/On tool
------------------
The Vary Device Off/On tool provides a solution for changing the
Signon display text for those workstations that are not signed on.
VRYDEV operates on a single workstation. CHGSBSSGN uses VRYDEV for
each workstation within the subsystem that is not signed on.
For example, you may have Signon text that says
'OK to use Option XX'
and you want to change it to say
'Do not use Option XX'
You could specify:
VRYDEV DEV(xxx)
VRYDEV causes a workstation device to be varied off and then varied
back on. If a single subsystem holds the lock on the device, the
effect is to refresh the Signon display which causes the new Signon
text to appear.
If the same device is requested by multiple subsystems you may name
the subsystem that should hold the device.
For example, assume you have two subsystems started which attempt to
acquire the same device. When the first subsystem is started, it has
a 'HELD' lock on the device (the lock can be seen by DSPOBJLCK). If
a user did not signon and the second subsystem starts, the second
subsystem acquires the 'HELD' lock and the first subsystem's lock is
placed in a 'REQ' status meaning that it is requesting a lock if it
is no longer 'held'. If you end the second subsystem, you will see
this occur as the first subsystem regains the HELD lock.
If a user 'signs-on', the lock is no longer held by the subsystem.
The user job is given the lock to the workstation. If the user
signs-off, the lock is returned to the previous subsystem that 'held'
the lock.
VRYDEV allows you to specify which subsystem should hold the lock.
If the second subsystem holds the lock and you want to change the
signon text, specify the name of that subsystem:
VRYDEV DEV(yyy) SBSD(SBS2)
You will see the workstation device varied off and on. This causes
the subsystem holding the REQ lock to gain control, but the device is
again varied off and on. This causes the 2nd subsystem to re-gain
control and the new signon text would appear.
VRYDEV varies the device off and then on. If a subsystem is named,
VRYDEV determines which subsystem holds the lock. If it is not the
one specified on the command, VRYDEV iterates back thru the vary
off/on process until the proper subsystem holds the lock.
CHGSGNTXT/CHGSGNTXT2 escape messages you can monitor for
--------------------------------------------------------
None. Escape messages from based on functions will be re-sent.
CHGSBSSGN escape messages you can monitor for
---------------------------------------------
TAA9894 The subsystem is not active
TAA9896 Errors occurred while varying devices off/on
CHGSGNTXT Command parameters *CMD
----------------------------
MSGF The qualified name of the message file containing
the message descriptions to be changed. The default
is TAAMSGF in TAATOOL.
You would normally use the default unless you have
different text for unique subsystems. If you name
your own message file, the DDS for the Display File
used must refer to the same message file name and
library. See the prior discussion.
CHGSGNTXT2 Command parameters *CMD
-----------------------------
LINE1 The first line of text. Up to 79 bytes may be
entered. Message TAA3001 is changed.
*SAME may be entered to retain the existing text.
*BLANK may be entered to blank out the existing
text.
LINE2 The second line of text. Up to 79 bytes may be
entered. Message TAA3002 is changed.
*SAME may be entered to retain the existing text.
*BLANK may be entered to blank out the existing
text.
LINE3 The third line of text. Up to 79 bytes may be
entered. Message TAA3003 is changed.
*SAME may be entered to retain the existing text.
*BLANK may be entered to blank out the existing
text.
LINE4 The fourth line of text. Up to 79 bytes may be
entered. Message TAA3004 is changed.
*SAME may be entered to retain the existing text.
*BLANK may be entered to blank out the existing
text.
LINE5 The fifth line of text. Up to 79 bytes may be
entered. Message TAA3005 is changed.
*SAME may be entered to retain the existing text.
*BLANK may be entered to blank out the existing
text.
MSGF The qualified name of the message file containing
the message descriptions to be changed. The default
is TAAMSGF in TAATOOL.
You would normally use the default unless you have
different text for unique subsystems. If you name
your own message file, the DDS for the Display File
used must refer to the same message file name and
library. See the prior discussion.
CHGSBSSGN Command parameters *CMD
----------------------------
SBS The subsystem which describes the display file to be
used to place the Signon prompt on any workstation
that is not signed on.
Any workstations that are currently signed on are
bypassed.
The subsystem must have been started to the device
and must be holding a HELD or REQ status to the
device.
Restrictions
------------
You must have *JOBCTL to use CHGSGNTXT or CHGSBSSGN.
Prerequisites
-------------
The following TAA Tools must be on your system:
CHKOBJ3 Check object 3
CHKSPCAUT Check special authority
EDTVAR Edit variable
RTVMSGD Retrieve message description
RTVSBSD Retrieve subsystem description
SNDCOMPMSG Send completion message
SNDESCMSG Send escape message
VRYDEV Vary device off/on
Implementation
--------------
You must duplicate the display file (TAADSPLD or TAADSPLE in TAATOOL)
to your own file name and library and then use CHGSBSD with the
SGNDSPF parameter specifying your display file.
Objects used by the tool
------------------------
Object Type Attribute Src member Src file
------ ---- --------- ---------- ----------
CHGSGNTXT *CMD TAADSPL QATTCMD
CHGSBSSGN *CMD TAADSPL2 QATTCMD
CHGSGNTXT2 *CMD TAADSPL3 QATTCMD
TAADSPLC *PGM CLP TAADSPLC QATTCL
TAADSPLC2 *PGM CLP TAADSPLC2 QATTCL
TAADSPLC3 *PGM CLP TAADSPLC3 QATTCL
TAADSPLC12 *PGM CLP TAADSPLC12 QATTCL
TAADSPLD *FILE DSPF TAADSPLD QATTDDS
TAADSPLE *FILE DSPF TAADSPLE QATTDDS
TAADSPLF *FILE DSPF TAADSPLF QATTDDS
TAADSPLD and TAADSPLE are copies of QDSIGNON and QDSIGNON2 from
QAWTSSRC with additional fields added for the message text.
Structure
---------
CHGSGNTXT Cmd
TAADSPLC CL pgm
TAADSPLD Display file for prompt of current text
CHGSBSSGN
TAADSPLC2 CL pgm
TAADSPLC12 CL Pgm Does VRYDEV for each controlled device
CHGSGNTXT2 Cmd
TAADSPLC3 CL pgm
|