BSP - Beratung, Schulung, Projekte

BSPSETPF - Set Console Function Keys from Batch or STC

What does it do?

This program will search file PARMLIB for members with the name SETPFKxx (where xx is the console ID), and will then modify the PFK stoarage areas in memory with information found in those members

A member SETPFKxx, where xx is not a valid console id, will be ignored. A console with id yy, where there is no member SETPFKyy will also be ignored.

Sample members are provided in SYS1.PARMLIB(SETPFK01) and SYS1.PARMLIB(SETPFK02)

These definitions are not permanent, With other words, this program should be run on every IPL, preferably via a start command in SYS1.PARMLIB(COMMNDxx). The installation job has provided member COMMND01 in SYS1.PARMLIB as an example

If the operator just changes on PFK definitions, BTW, all the current active definitions will be permanently saved (I just haven't found out how, yet)

JCL Execution Parameters are specified via the PARM statement on the EXEC card:

PARM=NOUPDATE: (default) - PFKs will not be updated, the SETPFXxx members in PARMLIB will only be checked for correct syntax
PARM=UPDATE:The SETPFKxx members will be syntax-checked, and updaes to the in core PFK definition will be made after the operator has replied to message BSPSP80D
PARM=NOREPLYU:The SETPFKxx members will be syntax-checked, and updates to the in core PFK definition will be made. There will be no confirmation request to the operator

Required DD names


Optional DD names

DDNAME Description Default
PARMLIB points to PDS with SETPFKxx members to be processed SYS1.PARMLIB
SYSPRINT output queue for report SYSOUT=X

Layout of SETPFKxx members

An asterisk (*) in colum 1 indicates a comment line, this line will be ignored
Column(s) Description
01 - 02 PFK number
03 Processing flag: Y = Conversational, N nonconversational
04 ignored, should be empty
05 - 71 (first part of) the command as the operator would issue it. Multiple commands are separa by semicolon. Prompt position is specified by an underscore
72 Continuation column. If non-blank then the command extends to the next line of the membe The continuation must begin exactly at col 05 and must end on or before colum 45

If a function key definition line is omitted, that PFK will not updated. If a function key definition is provided with an empty command area, that PFK will be deactivated


Assembly and Link JCL can be found in SYS1.SETUP.CNTL(SETPF$).
Execution JCL can be found in SYS1.SETUP.CNTL(SETPF#)

Sample SETPFK01 Member

*                                                                     *
* Name: SYS1.PARMLIB(SETPFK01)                                        *
*                                                                     *
* Desc: Set console function keys on request                          *
*                                                                     *
01N K E,1
03Y D U,,,_140,16
05Y V _xxx,offline;s dealloc
06Y M _xxx,vol=(SL,vvvvvv),use=uuuuuuuu;v _xxx,online
07N K E,D
08N K D,F
09N D TS,L
10N D A,L
11N K S,DEL=RD,SEG=09,RTME=001,RNUM=19,CON=N;K A,10


Although this program has been tested on the Turnkey MVS system Version 3 it is not guaranteed to be bug-free (which program is?)

Use at your own risk