ACCENT R
Release Notes
Table of Content

Click on the link below to jump to the release notes.

Version 1203

Version 1211

Version 1227-1228

Version 1237

Version 1245

Version 1204

Version 1213

Version 1229

Version 1238

Version 1247

Version 1205

Version 1214

Version 1230

Version 1239

Version 1248

Version 1206

Version 1215

Version 1231

Version 1240

Version 1249

Version 1207

Version 1216

Version 1232

Version 1241

Version 1250

Version 1208

Version 1217-1224

Version 1233

Version 1242

Version 1251

Version 1209

Version 1225

Version 1235

Version 1243

Version 1252

Version 1210

Version 1226

Version 1236

Version 1244

Utilities

 


ACCENT R Utilities for the ALPHA

Version 12.03 Changes:

This version provides a change for the GET NOT LOCKED option of the GET statement in a PM. Previously if you did a GET NOT LOCKED without doing a PUT followed by either a CREATE or a DELETE, you would lose a record from the Data Set, assuming the GET NOT LOCKED operation took place on a record also in the last block of the Data Set.

Version 12.04 Changes:

  1. This version changes the licensing method to be based on the node name and hardware name rather than SID. This was done to be compatible with the new Alpha machines that do not provide for a SID.

To receive your permanent license, execute the command:

@NIS:GETSYI.com

This command will retrieve the necessary data and write its output to "GETSYI.LOG". Fax or e-mail this file to NIS to receive your license.

  1. A bug introduced in V11.74 which caused the DBL hash table to be incorrect, making some items inaccessible, was corrected. This was the case only where a DBL, with a logical as part of it’s name, was being renamed.

  2. When fixing dates with no century, null dates were converted to the year 2000. This has been fixed to return century 0.

  3. We have increased the number of items in the hash record of a DBL, from 400 to 500 in order to make DBL processing more efficient.

Version 12.05 Changes:

  1. When ACCENT R determined that an index needed to be rebuilt, it passed the command "FORM DI DI.name CHECK" to the command dispatcher. In some cases this caused an infinite loop. Previously, the FORM DI command had to be given directly to correct the situation. By removing the CHECK option this condition was corrected.

  2. The SHOWING clause now has a new option that will allow you to suppress printing of the Computed Value fields. The syntax is as follows:

...SHOWING DATA NO CV and

...SHOWING ALL NO CV

This option is now implemented for all commands that allow the SHOWING clause.

  1. Fixed the UNDELETE command to also operate on SD’s.

  2. The FORM DBL command used to clear the deleted space counter is fixed.

  3. The SHOW JOURNAL equated command has been added to the list of equated commands.

  4. New syntax to the TYPE command has been added to operate the same as the LIST command. For example, the following will now give the same results:
    TYPE CM INVOICES LIST CM INVOICES
  1. New syntax to the DELETE command has been added to operate the same as the REMOVE command. For example, the following will now give the same results:

    DELETE DS MONEY
    REMOVE DS MONEY
    Etc.

Version 12.06 Changes:

  1. An error in handling secondary fields under the NO CV option of the SHOW clause has been corrected.

  2. The message which is displayed when you attempt to MODIFY a schema (SD), which is associated with one or more data sets, has been changed with the following information added:

    Use MODIFY SD SD.name ENTRY ONLY (See documentation for restrictions)

    This is to inform the user that it may be possible, under this new option, to make the modification without disconnecting the data set from the schema. This is possible if the change will not affect the data.

  3. The BYE command has been added as an equated command to be equivalent to QUIT QUICK.

  4. A new system field called @CVSW has been added to control the printing of the Computed Value fields with the EXTRACT command and the SHOW clause. It is initialized to "YES" meaning "print the computed field". If set to any other value it will not print the CV fields. The option NO CV specified in the SHOW clause will override the setting if "YES" in @CVSW.

  5. The HOLD command has been added as an equated command and can be used to execute a MODIFY, HOLD and STOP on a DBL item in order to put it into a non-usable state. If a Control file (CF) by the same name exists then a MODIFY, HOLD and STOP will be executed on it to put it into the HOLD state. If an ID is specified then any DI associated with it will also be set to the HOLD state. The syntax is:

    HOLD (DI, CF, ID, CM, PM, GS) DBL.item.name

  6. A new system field called @SAVE_EDIT_FILE has been added to allow the user to not have the ###EDT.TMP file deleted after editing. This will allow the user to keep better control of changes made to a DBL item. It is initialized to "NO", which will cause the files to be deleted. To save the file, set 'yes' to @SAVE_EDIT_FILE.

  7. A new ENABLE/DISABLE option has been added to instruct ACCENT R to display the criteria which controls index reforming. The syntax is:

    ENABLE FORM DI TRACE

    This will cause the following information to be displayed when an FORM DI DI.name CHECK is executed or commands such as EXTRACT is used to access the data.

    >> Checking DI XX reform criteria:
    DI update # is 2 DS update # is 2
    DI supersede # is 0 DS supersede # is 0
    DI file checksum is 1366658659 DBL entry checksum is 1366658659
    DI design gen. is 3 ACCENT R DI design gen. is 3

  8. Added all features from the new features manual and release notes to the HELP system.

  9. The following ENABLE/DISABLE options were not documented in previous versions:

    1. ENABLE/DISABLE FILE TRACE

    This options will print a message containing the name of the file and the operation being performed for file OPEN, CLOSE, DELETE and RENAME options.

Example:

>> Opening DBL file SS:STARS.DBL for reading

  1. ENABLE/DISABLE IO READ TRACE

This option will print a message each time a file read operation is performed.

Example:

>> Reading DBL file SS:STARS.DBL at 0 for 4096 bytes

  1. ENABLE/DISABLE IO WRITE TRACE

This option will print a message each time a file write operation is performed. The format of the message is the same as for the read operation.

  1. ENABLE IO TRACE

This option ENABLEs/DISABLEs read trace and write trace.

  1. A bug was reported in the current HLI where the error number was not being returned in the calling variable. This has been fixed.

  2. A change was made to Data Sets with schema’s that have FORM IS LINED. ACCENT R now declares the record length to be the same as the maximum record size defined in the schema.

  3. A change has been made as to when the Record Busy message is displayed. In prior versions, the message "BUSY" was displayed as soon as the busy record was discovered instead of waiting until the @RECORD_WAIT time expired. Accent R now waits for the time in @RECORD_WAIT to elapse before displaying the message.

  4. It has been discovered that on the alpha, numbers in scientific notation MUST have at least 1 digit before the E/D and end with a digit. This is the result of a call on the C library routine STRTOD being different on the Alpha from the VAX. The VAX version accepts a leading or trailing E/D and just a D or E alone.

  5. There are some small differences in the conversion of ASCII floating point numbers to Float_D which may show up in rounding differences on the AXP platforms. To get a definitive explanation, contact the Digital Customer Services.

  6. The HLI is now available with version 12.06.

  7. The Fortran for the Alpha appears to be treating all numeric constants as floating point. This is a problem for the end user who is trying to use integer constants in HLI calls. The work around is to declare an integer variable and load the value into it before making the call.

Version 12.07 Changes:

  1. The problem with integer constants has been fixed in such that the HLI now accepts both 4 byte integer types and 8 byte integer types as inputs the HLI calls where integer input is required. Why Digital's Fortran does this in a 32 bit environment does not compute, but that is how Fortran is implemented for the AXP platforms.

  2. Fixed bug where FORM DBL was allowed when READ ONLY DBL was enabled.

  3. Fixed bug which did not give an error message when FORM DBL DBL.name was entered and the form appeared to work. An error message indicating that only the syntax FORM DBL is valid will now appear.

Version 12.08 Changes:

  1. The ALPHA Fortran codes all Integer constants as INTEGER *8. The ACCENT HLI expects to receive integers as INTEGER. The HLI in this version was changed to examine the value received and if it is type INTEGER *8 then the HLI will go ahead and process it as an INTEGER.

  2. In Version 7.1 of OpenVMS, the C library call "TIME" was changed to return GMT. Previously it returned local time. ACCENT R has been changed such that it now tracks and corrects for this change.

Version 12.09 Changes:

  1. Changes to this version were only for the HLI. In the previous version a second execution of a call to ACCCMD failed to perform. This has been fixed.

Version 12.10 Changes:

  1. A bug was reported which documented errors in handling ANY/ALL with the OR operator. This has been fixed.

Version 12.11 Changes:

  1. This version has a fix for the HLI. In previous versions the space used for executing a PM was not being released. The effect was a memory trap. This has been fixed to return the memory correctly.

  2. A warning message number was being return to the HLI when a GET failed in a PM. It should not have been returned. This has been fixed.

  3. Fixed another problem where data sets and reports used in a PM were not being closed in previous versions of Accent R.

  4. Fixed problem where if 2 or more commands were passed by ACCCMD, the second and subsequent commands were not being executed.

  5. Fixed a problem where too many calls to a routine which temporarily turned off control C interrupt produced the message "Too Many Calls to CCOFF".

  6. A change was made to the code generator to correctly execute the UNLESS ANY/ALL and the ANY/ALL used with an OR operator in an expression.

Version 12.13 Changes:

  1. This version has fixed the RECEIVE statement. In previous versions, the RECEIVE statement was returning immediately instead of waiting the specified seconds for the data to be input.

Version 12.14 Changes:

  1. This version has a fix to the routine which requests memory where a certain operation caused an over allocation. This caused the command that made the request to abort.

Version 12.15 Changes:

  1. Fixed an error in the definition of the ACCENT DBL Schema where the hash table was defined with 3000 entries instead of 500 entries.

  2. A new equated command called SHOW_OBJECT_SIZE has been added. This command will print the address of the DBL Objects text and the size of the text in characters. If there is compiled code associated with the object then the address of the code and its size in characters will also be printed.

  3. The RECORD WAIT routine was not correctly calling the system WAIT function. This caused problems with simultaneous updating.

Version 12.16 Changes:

  1. This version fixes problems dealing with simultaneous update. The first problem dealt with record updating after just having created the record. The second problem dealt with deleting a record after just having created and updated the record. It was not discovered before because of the unlikelihood of this particular sequence of events.

Version 12.17 - 12.24 Changes:

  1. Versions 11.17 through 11.24 were changes made on a customer's machine having to do with simultaneous access problems. Most of these problems were dealing with the NOT LOCKED feature and adding records.

  2. A change was made to memory allocation to make all allocation "MOD 8". This avoided a problem caused by the previous algorithm which, under certain conditions, was over allocating memory. This resulted in ACCENT R running out of memory.

  3. An error was corrected dealing with STOP IF ... and END IF ... used with the WHEN clause. The STOP and END clauses were not getting executed when specified in the same command with a WHEN clause.

Version 12.25 Changes:

  1. This version fixes a bug where one user is adding records under the simultaneous access feature and another is searching the data set with the FIND command with RECORD LOCKS enabled.

  2. Two new command forms were added in this version. They are:

    - REMOVE SF 'string-literal'

    where string-literal is any specification of a set of files acceptable by the DCL DELETE command. This makes it easy to remove a set of system files that were created for a specific application.

Example:

REMOVE SF '*.TMP;*'

This will delete all .TMP files in the directory.

REMOVE SF '*.DI;*'

This will delete all data index files in the directory before rebuilding them.

- PURGE SF 'string-literal'

where string-literal is any specification of a set of files acceptable by the DCL PURGE command. This makes it easy to remove older versions of files after an application has been completed.

Example:

    PURGE SF '*.ds,*.di

    This will purge all old versions of DS's and DI's in the directory.

  1. A new system field @BUSY_OWNER has been added to provide more information in a PM when a data set record is found to be in use by another user. It will be set to the following:

PID=pid.number USER user.name

If the HUSH option is used to suppress the normal "busy" messages, the PM could be programmed to inform the user, in a more friendly message, as to who had the record locked.

A new system field @CLEAR_FILE has been added to have ACCENT R remove files before creating them so multiple versions of the file will not be created. It is initialized to "NO". If you wanted the files removed before creating new ones, set the value "YES" to this field.

A new system field @DT_DEC has been added to make the Digital 64 bit Date/Time available to the user. This field stores the current date and time down to the 100th of a second. Its field type is DT.

This version corrects @DTSTR to print the date/time correctly with 100th of seconds showing.

A number of problems were fixed concerning date conversions and the displaying of Date/Time values.

Version 12.26 Changes:

  1. This version fixes a problem with @TIME_STAMP which, in version 12.25, was giving incorrect date/time values.

  2. This version also was fixed to build and run under both V6.x and V7.x of OpenVMS Alpha.

Version 12.27 & 12.28 changes contain internal fixes

Version 12.29 Changes:

  1. This version fixes a problem reported by Cruz Blanca concerning how the decimal and comma are displayed in numeric fields. The System Field @DECIMAL_POINT should cause decimals and commas to be reversed if @DECIMAL_POINT contains a comma in numbers.

    Example:

"," TO @DECIMAL_POINTER
TYPE 12345678.90@'ZZZ,ZZZ,ZZZ.DD'

Will print as follows:

12.345.678,90

In versions before V12.29 it would print as follows:

12,345,678.90

Version 12.30 Changes:

  1. This version fixes a problem with a memory access error in the screen management package.

  2. Integrates changes made for the UNIX version. This will have no effect on OpenVMS users.

Version 12.31 Changes:

  1. This version fixes the problems with inputting dates in to a screen date field. In previous versions, if an invalid date was inputted, ACCENT R would store @nodate in the field and move to the next field. This has been changed so the field on the screen is cleared and the cursor stays on that field until a valid date is entered or the user moves to the next field with a carriage return or arrow key.

  2. Fixed a problem with a "TYPE dblitem" statement in a CM. During compilation ACCENT R tries to execute the statement which it obviously should not be doing.

  3. Implemented a new system field called @CLR_DATE which is used to print blanks when using @DATSTR with a format string if the date is nodate or invalid. The initial value of @CLR_DATE is "N". When it is set to "N" it will operate as before. If it is set to "Y" then the format will be filled with blanks if the date is invalid or is nodate.

  4. Fixed a problem where computed fields, when used in a PM or SHOWing clause, caused an access violation.

Version 12.32 Changes:

  1. Added an error message to PMDBUG when the user tries to type a designator name's value.

  2. Fixed a problem in the @DATSTR function. When @CLR_DATE was set to "Y", ACCENT R was not clearing the day and month to blanks when a field containing no date was being processed. This only appeared when the user specified the month and day names to be output.

Version 12.33 Changes:

  1. Fixed a problem with the @RANDOM System Function. The problem occurred when @RANDOMIZE is set to 0. The number of seconds from midnight is used as seed for the random number calculation. In Versions 12.27 thru 12.32 the number of seconds was being incorrectly calculated.

  2. Under some situations when an SD was changed, related DI's were not being mark to be reFORMed. They should not be reFORMed if the changed didn't effect the record format.

Version 12.35 Changes:

  1. Fixed a problem in PM debug. The command CLEAR ALL BREAK was not clearing the breakpoints.

  2. Computed fields in expressions were failing with an access violation.

  3. Because floating point accuracy in the DEC C library on the Alpha is 1 bit less than on the VAX, the default value for @EPS is being changed to 1E-15 to provide near the same comparisons as the VAX.

  4. Fixed a problem with the CONVERT command which did not allow converting date time data to date or full date.

  5. In previous versions, lines stored in the command area were being executed incorrectly when the user was in PM DEBUG mode.

  6. The character table has been extended to recognize the multinational character set.

  7. The operator ALPHA was returning okay incorrectly on characters in the range of 128 to 255. This has been corrected.

  8. If @DECIMAL.POINT contains a comma, indicating multinational, then the operator ALPHA will return okay for the multinational character set.

Version 12.36 Changes:

  1. Fixed a problem with @RTRIM which was coming up with a length of -1 when the variable contained 1 space.

  2. Added a new system field called @CFDATE which outputs the full date in the form mm/dd/yyyy.

Version 12.37 Changes:

  1. In this version, a space is allowed as the first character of a date field in SMF which is converted to a zero. This will allow a user to clear a date field by entering a space. Before, a zero had to be entered to accomplish this; zero was not an obvious choice.

  2. In previous versions, if the command:

    FORM DI DI.name CHECK

    was executed on a DI defined by an ID, the index was always rebuilt. This has been fixed to not reform the index unless required.

  3. The use of a date in a WHEN clause, used in a command on an RMS ASCII data set, failed to find a match. This has been fixed.

Version 12.38 Changes:

  1. The only change in this version is reorganizing the linking of the Oracle Gateway Interface by adding its own object library.

Version 12.39 Changes:

  1. In this version some changes have been made to the information displayed when ENABLE MEMORY TRACE is executed. In previous versions not all memory allocations and deallocations were being displayed.

  2. @FDATE has been fixed to display the year 2000 when OpenVMS returns "2000" as the century.

  3. Fixed a problem with concatenating a string literal and a field of type VARCHAR. Previous versions responded with the error message:

"Operand is incompatible in this expression"

This has been fixed to compile and execute correctly.

  1. The system field @CENTURY has been changed.  It is now initialized to the century "2000" for years 00 through 50 and "1900" for years 51 through 99.

New Enhancements for Version 12.39:

  1. Sending Email

A new function @SEND_MAIL was added that makes it possible to send email through ACCENT R to another user on the local system or to a remote user, depending on the local system's mail configuration. The input to the function has four basic elements. Each element must be present within the command in the order specified. The function will return either "YES" or "NO" depending on whether it was successful or not in sending the message.

Example:

SET @SEND_MAIL("[email protected]","","Monthly Sales Report", &
"FILE:SALES.REP") TO @STRING(1)

This would sent the contents of the file SALES.REP to [email protected] with the subject "Monthly Sales Report". If @SEND_MAIL fails to send the message, @STRING(1) would contain the string "NO". If it succeeded then @STRING(1) would contain "YES".

  1. HTTP Access

ACCENT R now provides for a direct path to begin ACCENT R from a HTTP server through a script invoked via URL paths. Accent R recognizes that it is being called as part of a script and sets up certain System Fields with information helpful in developing WEB applications. This makes it easy to develop database applications to respond to WEB related inquiries.

This information assumes you are running at least 3.2 of the DEC threads-based HTTP Server from Ohio State University. If you do not have it, it can be obtained off the Internet with ftp.

Rather than write scripts to select pages, you can develop this in ACCENT R and select pages from a database. ACCENT R can also be used to combine data from several databases to be displayed by the browser.

The following information is provided to assist you in developing HTML applications which use ACCENT R as the backend processor for database type applications. The HTTP Server on your system may be configured differently.

The following is the example STARS.HTML.

----------------------------------------------------------------------

<HTML>

<HEAD>

<TITLE>Stars Inquiry Form</TITLE>

<! Written by A. Scott 9/1/98 -->

</HEAD>

<BODY>
<H1>Sales Tracking and Reporting Inquiry</H1>
<FORM ACTION="/htbin/stars.com" METHOD="GET">

<HR>

<P>
Stars Number is... <INPUT TYPE="int" NAME="starsno">
</P>
<BR>
<INPUT TYPE="checkbox" NAME="company" VALUE="company"> Company
<BR>
<INPUT TYPE="checkbox" NAME="person" VALUE="persons"> Persons

<HR>

<BR>
<INPUT TYPE="reset" VALUE="Clear">
<BR>
<INPUT TYPE="submit" VALUE="Submit">
</FORM>
</BODY>
</HTML>
------------------------------------------------------------------------

The .com file specified in the ACTION statement "STARS.COM" must be stored in the directory WWW_ROOT:[BIN] or wherever the bin is defined to be in your WWW_ROOT:[SYSTEM]HTTP_SCRIPTS.CONF configuration. When the user executes a "submit", WWW_ROOT:[BIN]STARS.COM is executed.

The following is the contents of STARS.COM showing an example of the requirements:

--------------------------------------------------------------------- $ WRITE NET_LINK "<DNETRECMODE>" ! Set implied carriage control.
$ CGI_SYMBOLS "WWW_" "FORM_"
$ DEFINE SYS$OUTPUT NL: ! Send the output to nl; so processing
$! messages will not show on the users
$! screen.
$!
$! Define any logicals that the ACCENT R Program will be using.
$! These directories must be open for RWE to the world. (Use SET PROTECTION)
$!
$ DEFINE SOS U1:[WEB.DATA]
$ DEFINE WEBP U1:[WEB.PROGRAMS]
$!
$! WWW_REQUEST_METHOD must be set to GET for ACCENT R to process this
$! request as a WEB request. POST does not work on the Alpha Web Server
$!
$! WEB_COMMAND is used to give ACCENT R startup commands and is only
$! read if ACCENT R is being called by a WEB.COM file.
$! The "_" is used for spaces and "~" (tilde) is used to start a new command.
$!
$ DEFINE WEB_COMMAND USE_DBL_[WWW.BIN]WEBPRO~USE_CM_WEBRESPONSE
$!
$! It may be necessary to define where ACCENT R executable is located.
$!
$ ACCENT:== $NIS:ACCV1239.EXE
$!
$! Set up to send the output to the browser.
$!
$ DEFINE SYS$OUTPUT NET_LINK
$!
$! Call ACCENT R -- BEGIN.ACC will not be executed at any level.
$!
$ ACCENT
$!
$! Restore output destination to normal and exit.
$!
$ DEASSIGN SYS$OUTPUT
$ EXIT
---------------------------------------------------------------------------

When ACCENT R starts, it will read the contents of the following logicals (environmental variables in Unix terms):

1:   WWW_PWD
CHAR 120

@PWD - This is the path to your executing directory.

2:   WWW_HOME
CHAR 120

@HOME - This is the path to your home directory which can be the same as @PWD.

3:   WWW_QUERY_STRING
CHAR 4096

@QUERY_STRING - Contains the query string where the name pairs are defined.

4:   WWW_WEB
CHAR 256

@WEB - The contents are defined by you to pass information from your script.

5:   WEB_COMMAND
CHAR 512

@WEB_COMMAND - This contains ACCENT R statements to be executed on startup. It will not execute unless ACCENT R is being called from a WEB browser. Spaces must be replaced by the underscore character. A new command must begin with ~ (tilde). Spaces are not valid except in a constant. An example would be:

DEFINE WEB_COMMAND USE_DBL_DEMO~USE_CM_ACCOUNT.QUERY

6:   ACCENT_HOME
CHAR 120

@ACCENT_HOME - Contains the path where ACCENT R is located.

7:   WWW_REMOTE_HOST
CHAR 32

@REMOTE_HOST - The host name of the machine making the request. Either the DNS name or alias.

8:   WWW_REMOTE_ADDR
CHAR 32

@REMOTE_ADDR - The IP address of the REMOTE_HOST.

9:   WWW_REMOTE_USER
CHAR 32

@REMOTE_USER - The user name making the request.

10: WWW_REQUEST_METHOD
CHAR 16

@REQUEST_METHOD - Either GET or POST (Alpha only works with GET).

11: WWW_CONTENT_LENGTH
INTEGER 4

@CONTENT_LENGTH - Contains the number of characters  returned in @QUERY_STRING.

Data in @QUERY_STRING is scanned and name value pairs are counted and stored into the following System Fields. The arrays @QUERY_NAMES and @QUERY_VALUES can contain up to 200 entries.

@QUERY_COUNT

Integer 4 - This system field contains the number of name/value pairs returned in @QUERY_NAMES and @QUERY_VALUES.

@QUERY_NAMES

Char 40 - This system field occurs 200 times and contains the names derived from @QUERY_STRING.

@QUERY_VALUES

Char 256 - This system field occurs 200 times and contains the values derived from @QUERY_STRING.

The following is a copy of a CM that might be executed from a WWW.BIN script by setting WWW_COMMAND to the following:

- USE_DBL_WEBSTUFF~USE_CM_START_RESPONSE

then the CM might contain:

USE GS WEBGS

USE PM WEBRESPONSE

The following is an example of a PM responding to the STARS.HTML inquiry show earlier.

!==================

CONTROL SECTION

!==================

RELATE DI SOS:ACTIVE IN DBL SOS:STARS AS INP FOR INPUT
RELATE DI SOS:PERSONS IN DBL SOS:STARS AS PER FOR INPUT
RELATE TERMINAL AS REPORT 1

!==================
DECLARE SECTION
!==================

ID,I,6
IX,I,3
PR,I,1
COM,I,1
STARSNO,C,10
CNT,I,1
CHR,C,1

!==================
DETAIL SECTION
!==================

TURN HEADINGS OFF
TURN FILL OFF

PRINT "Content-type: text/html"
PRINT ""

! First name in the response table should be STARSNO

IF @QUERY_NAMES(1) # 'starsno'
! an error

   PRINT "<PRE>"
   PRINT "Did not see a stars number in the request information."
   PRINT "<HR>"
   PRINT "</PRE>"
ELSE

! Check if the user requested a person list

1 TO PR:D IF @QUERY_VALUES(2) HAS 'PERSON'
! Check if the user wants the company name
1 TO COM:D IF @QUERY_VALUES(2) HAS 'COMPANY' or @QUERY_VALUES(3) HAS 'COMPANY'
! Get the stars number from the query
@QUERY_VALUES(1) TO STARSNO
! Convert it to numeric
@IVAL(STARSNO:D) TO ID:D
! Get the record from the STARS data set
GET FROM INP MATCH BY ID:D HUSH
! Was there a matching record for this ID?

IF:10 @AUX = 'YES'
   
PRINT "<PRE>"
    PRINT "Match found for stars number ", STARSNO:D@''
    PRINT ".........."

! Now check if we should print the company name

IF:20 COM:D = 1
   
PRINT "<H1>", COMPANY:INP@'', "</H1>"
    PRINT '<P><img src="/www/pictures/buck.jpg"></P>'
    CONTINUE:20

! Does the user want a list of persons in the company
IF:20 PR:D = 1
! Get the list from the PEOPLE data set
0 TO CNT:D
   
GET FROM PER MATCH BY ID:D HUSH

    START:30
    LEAVE:30 IF @AUX # 'YES'
    PRINT "<OL>" IF CNT:D = 0
    PRINT "<LI> ", PERSON:PER@''
    INCR CNT:D
    GET FROM PER NEXT MATCH BY ID:D HUSH
    REPEAT:30

! Check if no persons found
IF:30 CNT:D = 0
    PRINT "<H1>Currently no persons associated with this company</H1>"
    ELSE:30
    PRINT "</OL>"
    CONTINUE:30
  CONTINUE:20
ELSE:10

! Print a message to let the user know there was no record for this stars no.

PRINT " N0 matching stars record for this number"
CONTINUE
STORE 'QUIT' IN COMMAND AREA

Version 12.40 Changes:

    1. Fixed a problem with exceeding user virtual memory when too many windows are created and the space not released. It was not setting @ERROR.NUMBER and @ERROR.MESSSAGE.

    2. The screen statement SCREEN KILL_SCREEN was not releasing the user virtual memory space used by the windows that were created on the current PASTE_BOARD. ACCENT R now keeps track of all windows and deletes the space as part of the KILL_SCREEN statement.

    3. In the HLI, if you are passing a floating point number from ACCENT R to the HLI, ACCENT R would normally pass it as D FLOAT. This has been changed to check the receiving variable and convert from D FLOAT to G FLOAT if the receiving variable is declared G FLOAT. This is the case with Oracle tables which are G FLOAT.

    Version 12.41 Changes:

    1. Made internal fixes to ACCENT R licensing.

    2. Corrected the calculation for @UNIQUE.ID to 3 digit base 34 enabling this system field to be consistent with previous ACCENT R versions.

    Version 12.42 Changes:

    1. Fixed a bug causing an access violation when entering records with RECORD LOCKS enabled.

    Version 12.43 Changes:

    1. Fixed an error when using a BB or BS field in a FOR clause. ACCENT R was not showing this as an error and would fail at run time with a memory access error.

    2. Fixed a bug which was introduced after fixing a previous error where numeric to integer conversion was not happening correctly. It appears as if our QA tests did not test this condition since it is so basic. Now a new regression test has been added to catch this problem should it somehow arise again.

    3. Corrected an error in @FILE.EXISTS. The system function was returning ERROR when the file did exist but was empty.

    Version 12.44 Changes:

    1. When Oracle returned a date without the century, ACCENT R failed to include the century when storing it in ACCENT R variables.

    2. ACCENT R was accepting floating point numbers from Oracle as floating D when it should be converting from floating G to floating D before storing the numbers in ACCENT R variables.

    Version 12.45 Changes:

    1. ACCENT R was allocating additional memory when one CM called another CM then restarted the first CM on completion of the second CM. This eventually, if executed a large number of times, would cause the process to run out of memory and abort whatever was executing at the time.

      This has now been corrected in this version to check if sufficient memory has already been allocated.

    2. A change was made in version V12.40 to handle FLOAT G numbers in the HLI introduced a bug which affected all floating point double precision numbers that were not declared FLOAT G.

      This has been corrected in this version. If you are running versions V12.40, V12.41, V12.42, V12.43 or V12.44 of the HLI you should update to V12.45 as soon as possible.

    Version 12.47 Changes:

    1. This version fixes a problem with the FILL statement with fields for “ENTER” that were defined with a validation clause.  In initializing the field for “ENTER” the validation code was being executed which in many cases caused a validation error.  This has been fixed.

    2. Several new system fields have been added which are only useful on UNIX platforms.

    Version 12.48 Changes:

    1. The routine name PARINI was changed because of a conflict with an Oracle routine by the same name, which showed up in the linking process for Oracle version 8.

    2. A change was made to correct the formatting of numeric values whose formatted value was zero.  It was incorrectly print a "0" to the left of the decimal point when it should have the specified format character.  For instance, the value 0.000123 with the format "3z.3z" would be printed two spaces and 0.000 when it should print three spaces and .000.

    3. In a date express using n days, if the n days preceded a date variable, ACCENT R was rejecting the syntax and indicating a syntax error.  This has been corrected.

    Version 12.49 Changes:

    1. Version 12.49 implements multiple cursors (up to 19) for the Oracle interface.

    Version 12.50 Changes:

    1. This new version includes a code to recognize the new format of ROWID as presented by Oracle version 8.

    Version 12.51 Changes:

    1. Version 12.51 contains code to make the Linux, Unix and Alpha versions use all the same source code. There is no effect to the end users of any current complied code.

    2. Also included, are additional messages for tracing memory usage and operations.

    Version 12.52 Changes:

    1. Version 12.52 changes were made to create a version of the HLI with the Oracle Interface included to allow processing Oracle tables through the HLI.


    ACCENT R Utilities - Flatten and Rebuild Version 16:

    1. This version contains an option to set the INSERT for FLATTEN to your option. This is accomplished by setting @STRING to the insert command you want used.

      Example:

      SET 'INSERT 1,1' TO @STRING(1)

      Will cause FLATTEN to use this statement after every DEFINE statement in the flattened file.

      If you use the CLEAN option, FLATTEN will now generate the save statement as 'SAVE BUT HOLD AND STOP ON ERROR' instead of just SAVE.

    2. Changes to the equated command FLATTEN

      This version is now setup with ERROR ABORT turned off, so that the DBL can be built from the SF. It will instead check if the errors are in the compilation and emit an error message indicating there were compilation errors. This will eliminate the printing of many errors when an item is compiled that was in the process of being developed.

      Also, this will eliminate errors being printed for equated commands not defined.

      One should be sure that all EQUATED COMMANDS are defined that are used in all items of the DBL before attempting to rebuild it.

      Error messages are only turned off if you use the 'CLEAN' option of FLATTEN. When you use the clean option you must rebuild the DBL with the command "USE flattened.file.name".

    3. New equated command FLATTEN_ALL:

    This version also contains the new command FLATTEN_ALL which will take a DIRECTORY specification and flatten all DBL’s found in the path defined. It will tell you whether or not the current version of ACCENT R can FLATTEN the DBL and if not, will show you which version created the DBL.

    The following files are created by the FLATTEN_ALL command:

    1. New equated command SYNC:

    This command is used to synchronize the information between the DS and DI DBL entries along with the DI and CF files by setting the conditions so that ACCENT R will accept the index as is and not re-form it. It assumes that the DS, DI and CF names are the same. You can set all indexes in a given DBL or set individual indexes.

    The syntax of the command is:

    SYNC DI {ALL; DI.name} IN DBL.name
    SYNC HELP
    SYNC SYNTAX

    ACCCUST Version 20:

    1. In the previous version there was a coding error which prevented the reporting of compilation errors being reported in the COMPILE command. This has been fixed.

    2. The COMPILE command now reports each item as compilation is completed with the message:

      Compiled item_type item_name

      This gives the user visual feedback as to the progress of the compilation process.

    3. The command "COMPILE ALL" now will compile all SD's, ID's, DI's, GS's, CF's, CM's and PM's in the declared DBL.

    COMPOSE_STYLIZE Version V8:

    1. This version has been changed to ignore any errors while trying to restore a declared Data Set or Index. This could happen if the currently declared Data Set does not exist in the current DBL. Compose and Stylize attempts to restore the Data Set and Index that was declare at the time Compose or Stylize was executed.

    PMMOD Version 12.00:

    1. Increased the maximum number of PM's to be modified from 500 to 5000.

    2. Cleaned up code to remove temporary files created by PMMOD.

    3. Rewrote documentation under the HELP function.

    Previous Page     Top of Page