Release notes for SirPro V7.5

From m204wiki
Jump to navigation Jump to search

This document lists the changes that have been made for SirPro version 7.5. SirPro 7.5 requires Model 204 V7.5 or higher.

SirPro is a member of the RKTools product family; see also the release notes for RKTools version 7.5.

The previous version of SirPro was 707, available in March, 2010.

Procedure Search screen (ProcSearch/PS)

Option 1, Procedure List, from the SirPro main menu brings you to this screen.

Field changes

The searching capabilities are enhanced to provide better impact analysis. The following fields are changed or added.

Search Strings

The maximum length has been increased to ??.

# of context lines

Numeric indicator (0 through 9) of number of lines of code to display before and after the line containing the search string.

# occurrences to display

Formerly named # occurrences to find, this is a number (from 1 to 999) that specifies how many occurrences of a search string within a procedure to display.

Hide SEQa/BASEs

SirLib users will see a prompt and entry area that allows the display or hiding of SEQ. and BASE. procedures, which are used in code management functions but are not intended to be edited directly. Enter "Y" to prevent this procedures from being displayed, and "N" to display them.

Ignore Comment Lines

If set to Y it will ignore any Soul formatted comment lines. If set to N all found lines will be included.

New Function Keys

PF5 - Toggle between case sensitive/insensitive

In Case Sensitive mode, a search for "html" would only find the lower-case version of that string. In Case-Insensitive mode the same search would find procedures containing either "html" or "HTML".

PF6 - Create Proc

Other features

Enhanced Procedure Name search

If a procedure name is entered and any matching procedures are found, a procedure list is presented.

Wildcard strings are valid in this field, using "*" as a substitution character for any number of characters in the procedure name. For example: *XYZ will find all procedure names ending in the string XYZ, and XYZ* will find all procedure names beginning with XYZ.

A space indicates "AND", so entering "PU END" would return only those procedures whose names contain both the character sets "PU" and "ND", so, PUNP-END or PUMPKIN.SPENDER.

The "or" bar indicates "OR", so "PU|ND" would find any procedures containing the strings "PU" or "ND". This might include "PUMP", "COLORPURPLE" and "NINTENDO".

Wildcards can be used in conjuntion with the AND/OR selections, so "PUPR*|SCPR*|MOPR*" would find all procedures starting with any of the above strings.

The routine currently has a bias in favor of "OR" selections, so a selection like "PUPR*|SCPR AND" won't work. It will return all procedures beginning with PUPR, then will attempt to add to the list any procedure with the characters "SCPR AND", which will find nothing, because of the embedded space. So take caution when combining AND and OR selections.

Field error tagging

(in progress) If field is in error, e.g. the Context field is invalid, the field is tagged red.

Longer proc names

Better subsystem transfer

Save profile for each change

Procedure List screen (ProcList/PL)

Field changes

Command Line

Most of the functions able to be performed on the Search screen may now be done as commands in the Command Line field. In addition commands can be strung together using the semicolon as a delimiter. For example to switch to a new field and display those procedures that have HELP in their name can be done as:

FL SIRIUS;A HELP

If a command is in error it will now leave the command on the screen so it can be amended.

Most commands have a full name and an abbreviation.

CommandDescription
{PROCS | A} [xxxx]

Changes the procedure name filter to 'xxxx'. Wildcarding is assumed and fully supported, so for instance, the command 'PROCS CADDIE' will find all procedures with the string 'CADDIE' in its name. If specific wildcard characters are used, the search is done for the specified pattern, so 'PROCS I.*' restricts the display to procedures beginning with 'I.' If the filter name 'xxxx' is omitted then all procedures are displayed.

AND xxxx

Changes the procedure name filter by combining 'xxx' with the existing value with AND logic, applying 'distributive law' if necessary. For instance, if the current value of the procedure name filter is 'A|B', an 'AND C' command will change it to 'A C|B C' by applying 'distributive law':

 (A|B) C -> A C|B C.

Hence this filters the current display listing to show only those that also meet the new criteria.

+AND xxxx

Changes the procedure name filter by combining 'xxx' with the existing value with AND logic, but WITHOUT applying 'distributive law'. It just simply appends 'xxxx' to the existing procedure name filter. For instance, if the current value of the procedure name filter is 'A|B', an 'AND C' command will change it to 'A|B C'.

OR xxxx

Changes the procedure name filter by combining 'xxxx' with the existing value with OR logic. For instance, if the current value of the procedure name filter is 'A|B', an 'OR C' command will change it to 'A|B|C'. Hence this adds additional procedures to the display listing.

{CREATEPROC | CREATE | CP} [xxxx]

Creates a new procedure named 'xxxx' in the current file/group context. If there is no 'xxxx' specified, an unnamed procedure will be created.

{FILE | FL} xxx

Changes the file context using the existing privileges to the file.

FLP xxx

Changes the file context with prompt for password.

{GROUP | GP} xxx

Changes the group context using the existing privileges to the group.

GPP xxx

Changes the group context with prompt for password.

PASSWORD | PWD

Reopens the current file or group with prompt for password. It implies a switch of privileges associated with the password to the current file or group.

{LASTID | LID} [xxx]

Changes the value of 'Last Updater ID'. The valid value for 'xxx' is a string not longer than 10, or blank.

{HAS | HA | H} [xxx]

Changes the selection to procedures containing the specified string 'xxx'. 'HAS $GETG' restricts procedures to those containing $GETG. HAS does not support wildcards, so a search for 'locate*' will look for the string 'locate*'. If the string 'xxx' is omitted the search string is cleared.

{DISPLAY | CODE | SHOW | CL} [n]

With these commands you can alter the number of lines of code to be displayed beginning with the first of any found search string. Obviously, if no search string was specified on the previous screen, this command has no effect. Valid values for 'n' are 0 through 9. If there is no 'n' specified,it will give a default value of 0 to the '# of context lines'

OCC [nnn]

Changes the value of '# of occurrences to find'. The valid value for the optional 'nnn' is either a number between 1 and 999 or 'ALL'. If there is no 'nnn' specified, it will give a default value of 1 to the '# of occurrences to find'.

IC [x]

Changes the value of 'Ignore Comment lines'. The valid value for the optional 'x' is 'Y' or 'N'. If there is no 'x' specified, it will give a default value of 'Y' to the 'Ignore Comment lines'.

HS [x]

Changes the value of 'Hide SEQs/BASEs'. The valid value for the optional 'x' is 'Y' or 'N'. If there is no 'x' specified, it will give a default value of 'Y' to the 'Hide SEQs/BASEs'.

Selection field

The following procedure selection option has been added:

 E  (Edit):  Invokes the SoulEditor. 

The following new selection options a part of the Sirius Configuration and Change Control System (SirLib). If SirLib is not installed then these commands are not valid. Further information on managed updates and the Configuration Management system is in the SirLib User's Guide.

CommandDescription
U (Undo)

May only be executed against a change deck. This command performes the same operation as a Q, resulting in a "working" procedure and a sequenced copy of that procedure being created in the user's selected development procfile. However, the U command specifically includes the change deck against which it is executed in the code for the working procedure, but NOT in the code from the sequenced copy. In other words, it recreates the state of the development procedures that created the change deck against which the U command is executed.

Typically, the U command is used to recreate the state of development when the programmer has accidentally deleted the procedures she was working on, either manually, or via the "Clean-up" switch on the Xcompare screen.

The U command is a special-use feature, and there are a number of ways in which it will fail to work -- most notably, if the selected change deck is somewhere in the middle of a series of changes and, by excluding it from procedure creation, some code dependency is missing. However, for its primary function -- recovering from a mistake that was made very recently, typically as the most recent change to a procedure, it should always work.

Y

This change-control prefix command provides a special check-out ability in which the user can "refresh" their local working copy of a procedure with changes that have been checked in by other programmers since the working copy was originally taken from the source procedure file. "Y" is applied against the working procedure, a screen is presented, and the result is a new working procedure with all updates applied AND the user's current changes still in place, and a sequenced copy that has all updates applied, but the user's current changes not in place.

In other words, the "Y" command is very much like a "Q" command, but it is done while changes are in progress, and it slips into place other changes that have occurred since the original procedure check-out.

New PL subsystem

(Adrian to complete)

A new command PL allows direct entry to the Procedure List screen in SirPro. The format is:

PL [<procedurePattern>] [FILE <fileName>|GROUP <groupName>]

If FILE or GROUP is not supplied then the current open context will be used. The context is obtained using $view('APDFCNTX') (see APDFCNTX_parameter).

Note - If a procedure search is required for the words 'FILE' or 'GROUP', then it must be entered as:

PL file FILE <filename>

where the first 'file' is for procedures containing the word 'file'. The second 'FILE' is required as the context is not automatically added if searching for the words 'FILE' or 'GROUP'.

Enhanced Help

(in progress)