Activate user syntax file and change SDF option settings
Component: | SDF |
Functional area: | SDF control |
Domain: | SDF |
Privileges: | STD-PROCESSING |
Function
With the MODIFY-SDF-OPTIONS command, the user can
activate or deactivate user syntax files (user syntax files are generated using the SDF-A utility routine; see the “SDF-A” manual [33])
change the settings of SDF options for specific tasks:
type of dialog guidance (GUIDANCE operand)
extent of logging (LOGGING)
input interface for utilities (UTILITY-INTERFACE operand)
syntax error dialog in procedures (PROCEDURE-DIALOGUE operand)
position of the continuation character (CONTINUATION operand)
syntax checking of commands (MODE operand)
syntax checking of statements (DEFAULT-PROGRAM-NAME operand)
selection of function key assignment (FUNCTION-KEYS operand)
storage of input (INPUT-HISTORY operand)
The settings of SDF options are taken from the global information of the activated system or group syntax file at the beginning of the task. If the user activates a user syntax file, the settings of SDF options are modified according to the global information contained in that file. When the OMNIS utility routine is used, however, the GUIDANCE=*EXPERT mode is set at the beginning of the task and if the user syntax file is switched.
In (temporarily) guided dialog the operand form of the MODIFY-SDF-OPTIONS command contains as preset values the current settings, which can also be queried using the SHOW-SDF-OPTIONS command. The *UNCHANGED operand states that the current setting is not to be modified.
In programs with an SDF interface, MODIFY-SDF-OPTIONS is available as a standard statement with the same syntax and functionality but without the MODE, DEFAULT-PROGRAM-NAME and COMMAND-STATISTICS operands.
Privileged functions
Systems support (privilege TSOS) can use the CMD-STATISTICS operand to activate and deactivate the statistical recording of all commands issued in the system. All commands contained in the system or subsystem syntax files are taken into account.
The statistics are recorded in the SYS.SDF.CMD.STATISTICS file. If the statistics routine is active (CMD-STATISTICS=*YES), SDF counts every command issued by running a counter for each command and each alias.
If the statistics routine is deactivated (CMD-STATISTICS=*NO), SDF evaluates the count and writes the edited statistics to the above-named file. Any existing statistics file is overwritten. SDF then resets the command counter to zero.
The edited statistics file contains:
a header showing the date and time when the statistics routine was activated and deactivated.
for each subsystem a title containing the name of the subsystem
for each command of a subsystem the command name and the count.
Format
MODIFY-SDF-OPTIONS Alias: MDSDFO | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Operands
SYNTAX-FILE = *UNCHANGED / *ADD(...) / *REMOVE(...)
Indicates whether a user syntax file is to be activated or deactivated. Two or more user syntax files can be active at the same time.
A user syntax file to be activated must be accessible and shareable (if the job submitter is not the owner of the syntax file). If the syntax file is protected by basic ACL or GUARDS, the job submitter must have at least execute authorization (see the USER-ACCESS, BASIC-ACL and GUARDS operands in the CREATE-FILE and MODIFY-FILE-ATTRIBUTES commands respectively).
If the file is protected by an execute password, the password must be contained in the password table for the job (see ADD-PASSWORD command).
Note
For performance reasons, user syntax files which were created in an SDF version < V2.0A should be converted to the new syntax file format. This is done either while processing with SDF-A or by means of the SDF-I utility routine (CONVERT-SYNTAX-FILE statement).
SYNTAX-FILE = *UNCHANGED
The previous declaration continued to apply.
SYNTAX-FILE = *ADD(...)
One or more additional user syntax files are to be activated.
ADD-NAME = list-poss(2000): *STD / <filename 1..54>
Specifies the user syntax file to be activated.
A list of two or more syntax files can also be specified.
ADD-NAME = *STD
The user syntax file with the standard file name SDF.USER.SYNTAX is activated if it exists in the user ID.
ADD-NAME = <filename 1..54>
The specified user syntax file is activated.
SYNTAX-FILE = *REMOVE(...)
One or more user syntax files are to be deactivated.
REMOVE-NAME = *LAST / *ALL / list-poss(2000): <filename 1..54> / *STD
Specifies the user syntax file to be deactivated.
A list of two or more syntax files can also be specified.
REMOVE-NAME = *LAST
The last user syntax file activated is deactivated.
REMOVE-NAME = *ALL
All activated user syntax files are deactivated.
REMOVE-NAME = *BY-SELECTION
All activated user syntax files are displayed in a selection mask. Those which are to be deactivated can be marked in a mark column.
REMOVE-NAME = <filename 1..54>
The specified user syntax file is deactivated.
REMOVE-NAME = *STD
The user syntax file with the standard file name SDF.USER.SYNTAX is deactivated.
SYNTAX-FILE = *NONE
No user syntax file has been activated for the job.
Currently active user syntax files are deactivated.
GUIDANCE =
Specifies the type of dialog guidance.
GUIDANCE = *UNCHANGED
The previous declaration still applies.
GUIDANCE = *EXPERT
The EXPERT form of unguided dialog is set:
The system requests command input with “/” and statement input with “//”. No syntax error dialog is carried out. Blocked input of commands/statements is possible, i.e. several commands/statements, separated by logical end-of-line characters, can be issued at the same time.
GUIDANCE = *NO
The NO form of unguided dialog is set:
Depending on the language set (English (E) or German (D)), the system requests
command input with “%CMD:” or “%KDO:” and statement input with “%STMT:” or ”%ANW:”. A syntax error dialog allows input errors to be corrected without having to repeat the entire command/ statement. Blocked input of commands/statements is possible, i.e. several commands/statements, separated by logical-end-of-line characters, can be issued at the same time.
GUIDANCE = *MAXIMUM
Guided dialog, maximum help level, is set:
All alternative operand values with suffixes, and all help texts for the displayed application domains, commands, statements and operands are displayed.
GUIDANCE = *MEDIUM
Guided dialog, medium help level, is set:
All alternative operand values without suffixes, and all help texts for the displayed application domains, commands and statements are displayed.
GUIDANCE = *MINIMUM
Guided dialog, minimum help level, is set:
Only default values for operands without suffixes are displayed.
LOGGING =
Specifies how inputs are to be logged. Input for operands defined as “secret” (attribute SECRET=*YES) is never listed in a log.
LOGGING = *UNCHANGED
The previous declaration still applies.
LOGGING = *INPUT-FORM
In unguided dialog, input strings are logged exactly as entered. In guided dialog or following an error dialog, logging is performed as with *ACCEPTED-FORM.
LOGGING = *ACCEPTED-FORM
The following is logged:
all names in their extended form
all specified operands, each with its name and the specified value
the final representation resulting from a correction dialog, if any.
Inputs of the guided dialog are concatenated to form a single string.
LOGGING = *INVARIANT-FORM
The following is logged:
all names with the default names defined in the syntax file
all specified operands, each with its name and the specified value
all optional operands implicitly contained in the input, each with its name and its default value
the final representation resulting from a correction dialog, if any.
Inputs of the guided dialog are concatenated to form a single string.
UTILITY-INTERFACE = *UNCHANGED / *OLD-MODE / *NEW-MODE
Controls the input interface of utility routines which offer an old and a new (SDF) interface in parallel.
PROCEDURE-DIALOGUE = *UNCHANGED / *YES / *NO
Specifies whether the user is to be requested to correct error procedure commands during the execution of a procedure (syntax error dialog in procedures). At the same time, the operand controls the help request (“?” in the input) within procedures.
CONTINUATION = *UNCHANGED / *OLD-MODE / *NEW-MODE
Determines the column in which the command continuation character is to be specified in procedure and ENTER files. If *OLD-MODE is set, the continuation character must be in column 72 precisely. If *NEW-MODE is set, it may be entered in any column from column 2 through 72.
MENU-LOGGING = *UNCHANGED / *NO / *YES
Specifies whether menus of the guided dialog are to be logged in their entirety. This operand is restricted to diagnostic purposes.
CMD-STATISTICS = *UNCHANGED / *NO / *YES
Only systems support can specify this operand (privilege TSOS):
Determines whether statistics on the issued commands are to be created from the system syntax file.
MODE = *UNCHANGED / *EXECUTION / *TEST(...)
Specifies whether test mode is activated or deactivated.
MODE = *EXECUTION
Test mode is deactivated.
MODE = *TEST(...)
Test mode is activated. Commands issued after the MODIFY-SDF-OPTIONS command are subjected to a syntax check but not executed. The MODIFY-SDF-OPTIONS and SHOW-SDF-OPTIONS commands are always executed.
The lower-ranking CHECK-PRIVILEGES operand determines whether the user has the privileges necessary for the input.
The treatment of statements in test mode can be defined in the DEFAULT-PROGRAM-NAME operand.
In S procedures, SDF-P control flow commands are executed as well. This may cause errors, since commands declaring or setting S variables are not executed in test mode. The chargeable SDF-P subsystem offers a special debugger for S procedures (see the section dealing with debugging aids in the “SDF-P” manual [34]).
CHECK-PRIVILEGES = *UNCHANGED / *NO / *YES
Specifies whether the user’s privileges are checked in addition to the syntax check.
CHECK-PRIVILEGES = *NO
The user’s privileges are not checked. This setting may be necessary, for example, if the procedure to be tested is created for other users.
CHECK-PRIVILEGES = *YES
As well as the syntax check, SDF checks whether the user has the necessary privileges for the input.
DEFAULT-PROGRAM-NAME = *UNCHANGED / *NONE / <structured-name 1..30>
Determines whether in test mode (see MODE operand) SDF program statements (beginning with //) are to undergo a syntax check.
This check is performed on the basis of the syntax of the statements defined in the syntax file for the specified program name. The check is independent of the program call, since START-/LOAD-EXECUTABLE-PROGRAM commands (or START-/LOAD-PROGRAM) are not executed in test mode.
FUNCTION-KEYS = *UNCHANGED / *STYLE-GUIDE-MODE / *BY-TERMINAL-TYPE / *OLD-MODE
Determines the assignment of the function keys.
FUNCTION-KEYS = *STYLE-GUIDE-MODE
The function keys are assigned according to the Fujitsu Technology Solutions Style Guide.
[K2] | Interrupt function |
[F1] | Help function |
[F3] | Exit function |
[F5] | Refresh function (only in guided dialog) |
[F6] | Exit-all function |
[F7] | Scroll backward (only in guided dialog) |
[F8] | Scroll forward (only in guided dialog) |
[F9] | Execute RESTORE-SDF-INPUT INPUT=*LAST |
[F11] | Execute function (only in guided dialog) |
[F12] | Cancel function |
FUNCTION-KEYS = *BY-TERMINAL-TYPE
The function key assignment depends on the terminal type. If the terminal type supports the wider-ranging functionality of the Style Guide, SDF chooses the setting *STYLE-GUIDE-MODE. Otherwise, SDF chooses the setting *OLD-MODE.
Note
Such configuration evaluates the terminal type needed for calling terminal emulation. The type setting is defined by the description of the emulation program.
FUNCTION-KEYS = *OLD-MODE
The function keys are assigned in Old mode, which is supported by all terminal types.
[K1] | Exit function |
[K2] | Interrupt function |
[K3] | Refresh function (only in guided dialog) |
[F1] | Exit-all function |
[F2] | Test function (only in guided dialog) |
[F3] | Execute function (only in guided dialog) |
INPUT-HISTORY = *UNCHANGED / *ON(...) / *OFF / *RESET
Determines whether the input buffer is activated, deactivated or reset.
INPUT-HISTORY = *ON(...)
The input buffer is activated. SDF saves all syntactically correct inputs (commands and statements) to the input buffer. The commands or standard statements RESTORE-SDF-INPUT and SHOW-INPUT-HISTORY are not saved. Whether ISP commands are saved depends on what is specified in the PASSWORD-PROTECTION operand.
The SHOW-INPUT-HISTORY command (or standard statement) enables the user to display the saved inputs, while the RESTORE-SDF-INPUT command can be used to redisplay a specific input for entering again, either as it is or in modified form.
Note
Values specified for “secret” operands which match neither the default value nor a value defined via SECRET=*NO are stored in the input buffer with “^” or in plain text, depending on the PASSWORD-PROTECTION operand.
Values specified for operands which are not “secret” are always stored in the input buffer in plain text. In individual cases these inputs can contain sensitive information (e.g. procedure parameters). The following steps will prevent such inputs from being displayed again via SHOW-INPUT-HISTORY or RESTORE-SDF-INPUT:
Before entering sensitive input, the input buffer must be deactivated and then activated again. If the inputs have already been saved, the input buffer can be reset with *RESET, but it must be remembered that this will delete all saved inputs.
NUMBER-OF-INPUTS = *UNCHANGED / <integer 1..100>
Maximum number of inputs to be saved.
PASSWORD-PROTECTION = *UNCHANGED / *YES / *NO
This operand is not permitted in procedure mode.
For security reasons, this operand is only evaluated in interactive dialog and ignored otherwise.
PASSWORD-PROTECTION = *YES
Values specified for “secret” operands are saved with “^” (equivalent to the operand value *SECRET). ISP commands are not stored in the input buffer.
PASSWORD-PROTECTION = *NO
Values specified for “secret” operands are stored in plaintext. ISP commands are also stored in the input buffer.
PASSWORD-PROTECTION = *SDF-ONLY
Values specified for “secret” operands are saved with “^” and ISP commands are stored in the input buffer.
Note
Under this setting, passwords are displayed on the screen in plaintext with the SHOW-INPUT-HISTORY or RESTORE-SDF-INPUT command, and so may be seen by unauthorized users. Therefore, you should ensure that whenever you leave your terminal no unauthorized users can output the contents of the input buffer. If your terminal does not possess any appropriate security mechanisms (e.g. chipcard terminal), you should at least delete the input buffer before you leave.
INPUT-HISTORY = *OFF
The input buffer is deactivated. Subsequent inputs are not saved, but all previously saved inputs can still be accessed.
INPUT-HISTORY = *RESET
The input buffer is reset. The stored inputs are deleted and can no longer be accessed, while subsequent inputs are saved.
Return codes
(SC2) | SC1 | Maincode | Meaning/Guaranteed messages |
---|---|---|---|
0 | CMD0001 | Command terminated without errors | |
1 | 32 | CMD0500 | Syntax description in current syntax file invalid. |
64 | CMD0554 | Command execution not successful. |
Example
/show-sdf-opt
———————————————————————————————————— (1)
%SYNTAX FILES CURRENTLY ACTIVATED : % SYSTEM : :1OSH:$TSOS.SYSSDF.SDF.048 % VERSION : SESD04.8A00 % SUBSYSTEM : :1OSH:$TSOS.SYSSDF.ACS.200 % VERSION : SESD20.0A300 . . % SUBSYSTEM : :1OSH:$TSOS.SYSSDF.SDF-A.041 % VERSION : SESD04.1G100 % SUBSYSTEM : :1OSH:$TSOS.SYSSDF.TASKDATE.190 % VERSION : SESD19.0A000 % GROUP : *NONE % USER : :2OSG:$USER1.SDF.USER.SYNTAX % VERSION : 13.01.2017 %CURRENT SDF OPTIONS : % GUIDANCE : *EXPERT % LOGGING : *INPUT-FORM % CONTINUATION : *NEW-MODE % UTILITY-INTERFACE : *NEW-MODE % PROCEDURE-DIALOGUE : *NO % MENU-LOGGING : *NO % MODE : *EXECUTION % CHECK-PRIVILEGES : *YES % DEFAULT-PROGRAM-NAME : *NONE % FUNCTION-KEYS : *STYLE-GUIDE-MODE % INPUT-HISTORY : *ON % NUMBER-OF-INPUTS : 20 % PASSWORD-PROTECTION: *YES
/modify-sdf-opt syntax-file=*add(syssdf.example.03) — (2)
/show-sdf-opt information=*user ————————————————————— (3)
% USER : :2OSG:$USER1.SDF.USER.SYNTAX % VERSION : 13.01.2017 % USER : :2OSG:$USER1.SYSSDF.EXAMPLE.03 % VERSION : 16.01.2017 %CURRENT SDF OPTIONS : % GUIDANCE : *EXPERT % LOGGING : *INPUT-FORM % CONTINUATION : *NEW-MODE % UTILITY-INTERFACE : *NEW-MODE % PROCEDURE-DIALOGUE : *NO % MENU-LOGGING : *NO % MODE : *EXECUTION % CHECK-PRIVILEGES : *YES % DEFAULT-PROGRAM-NAME : *NONE % FUNCTION-KEYS : *STYLE-GUIDE-MODE % INPUT-HISTORY : *ON % NUMBER-OF-INPUTS : 20 % PASSWORD-PROTECTION: *YES
/modify-sdf-opt guid=*max ——————————————————————————————— (4)
.
(in guided dialog:)
. NEXT = mod-sdf-opt synt-file=*remove,guid=*expert — (5)
.
/show-sdf-opt information=*user ——————————————————————————— (6)
% USER : :2OSG:$USER1.SDF.USER.SYNTAX % VERSION : 13.01.2017 %CURRENT SDF OPTIONS : % GUIDANCE : *EXPERT % LOGGING : *INPUT-FORM % CONTINUATION : *NEW-MODE % UTILITY-INTERFACE : *NEW-MODE % PROCEDURE-DIALOGUE : *NO % MENU-LOGGING : *NO % MODE : *EXECUTION % CHECK-PRIVILEGES : *YES % DEFAULT-PROGRAM-NAME : *NONE % FUNCTION-KEYS : *STYLE-GUIDE-MODE % INPUT-HISTORY : *ON % NUMBER-OF-INPUTS : 20 % PASSWORD-PROTECTION: *YES
(1) | The SHOW-SDF-OPTIONS command provides information on all activated syntax files and the SDF options that are set. The output of the subsystem syntax files can be very extensive, depending on the number of activated subsystems. This example shows only an excerpt. |
(2) | A user syntax file SYSSDF.EXAMPLE.03 is additionally activated. |
(3) | The user-specific information is displayed. The old user syntax file SDF.USER.SYNTAX remains active and the user syntax file SYSSDF.EXAMPLE.03 is additionally activated. The command definitions from SYSSDF.EXAMPLE.03 are used for commands defined in both user syntax files, as these are activated last. |
(4) | The system switches to guided dialog mode. |
(5) | The most recently activated user syntax file is deactivated and the system switches back to unguided dialog mode. |
(6) | The repeated output of the user-specific SDF options shows that only the user syntax file SYSSDF.EXAMPLE.03 was deactivated. |