• Please review our updated Terms and Rules here

RSX-11M Scripting language for (I assume) RMS databases

GreyHairedDECfan

Experienced Member
Joined
Dec 5, 2021
Messages
127
Location
Northern Maryland
I have in my memory examples of a scripting language we used to use on our PDP-11's running RSX11M. These"programs" were used to drive database entry using either video terminals or printers w/keyboards. In other words, these scripts were the editing facility for the database tables.

I'm trying to determine what this coding was. I don't have samples available so just going by memory. These systems were used for building automation systems.

So my question is, were there any DEC-furnished scripting languages such as this for interfacing with RMS (that's my assumption but I could be wrong on that too, it could have been a home-grown database engine)?
 
DCL was available on RSX-11 and had hooks for controlling RMS. Do you remember any of the syntax of the scripting language?
 
Script file for RMSDEF.TSK:

Code:
GET SY:[]ACCOUNT.DSC
CREATE
GET SY:[]DEVSTAT.DSC
CREATE

ACCOUNT.DSC:

Code:
SYSTEM
  Target                   RSX
  Source                   RSX
FILE
  Name                     SY:ACCOUNT.SYS;1
  Organization             INDEXED
  Allocation               16
  Extension                0
  Bucket_Size              4
  Protection               (SYSTEM:RWE , OWNER:    , GROUP:    , WORLD:    )
  Owner                    [1,54]
  Max_Record_Number        0
  Contiguous               NO
  Supersede                YES
RECORD
  Size                     60
  Format                   FIXED
  Control_Field_Size       0
  Carriage_Control         CARRIAGE_RETURN
KEY    0
  Name                     FULL
  Type                     STRING
  Null_Key                 NO
  Null_Value               0
  Duplicates               NO  
  Changes                  NO  
  Seg0_Position            0  
  Seg0_Length              30  
  Data_Fill                100  
  Data_Area                0  
  Index_Fill               100  
  Level1_Index_Area        1  
  Index_Area               2  
AREA    0
  Allocation               8  
  Extension                4  
  Bucket_Size              4  
  Contiguous               NO  
  Position                 NONE  0  
  Exact_Positioning        NO  
AREA    1
  Allocation               4  
  Extension                4  
  Bucket_Size              4  
  Contiguous               NO  
  Position                 NONE  0  
  Exact_Positioning        NO  
AREA    2
  Allocation               0  
  Extension                4  
  Bucket_Size              4  
  Contiguous               NO  
  Position                 NONE  0  
  Exact_Positioning        NO
 
DCL was available on RSX-11 and had hooks for controlling RMS. Do you remember any of the syntax of the scripting language?
The scenario was this: you had a (non-DEC) task called EDITAA.tsk (presumably home-grown) that would interpret the scripts (.MSK files) and prompt the user, validate some of the input, and update or add fields to the database.

So if your database table was called SCORES, EDITAA (command EDIT) would run the SCORES.MSK to handle the back and forth interaction with the user.

I don't remember much of the 'language'... something like this:

GETNAM: (a jump-to label)
MOVE,6
READV,12

I remember READV, READI, maybe READS as keywords, not much more.

The middleware component (between any task, such as the EDIT task as well as application tasks, accessing the database) was a task named ACSTSK (I guess "access task"). There was also an indexed list table dump utility called ILTDYN.
 
Last edited:
Script file for RMSDEF.TSK:

Code:
GET SY:[]ACCOUNT.DSC
CREATE
GET SY:[]DEVSTAT.DSC
CREATE

ACCOUNT.DSC:

Code:
SYSTEM
  Target                   RSX
  Source                   RSX
FILE
  Name                     SY:ACCOUNT.SYS;1
  Organization             INDEXED
  Allocation               16
  Extension                0
  Bucket_Size              4
  Protection               (SYSTEM:RWE , OWNER:    , GROUP:    , WORLD:    )
  Owner                    [1,54]
  Max_Record_Number        0
  Contiguous               NO
  Supersede                YES
RECORD
  Size                     60
  Format                   FIXED
  Control_Field_Size       0
  Carriage_Control         CARRIAGE_RETURN
KEY    0
  Name                     FULL
  Type                     STRING
  Null_Key                 NO
  Null_Value               0
  Duplicates               NO 
  Changes                  NO 
  Seg0_Position            0 
  Seg0_Length              30 
  Data_Fill                100 
  Data_Area                0 
  Index_Fill               100 
  Level1_Index_Area        1 
  Index_Area               2 
AREA    0
  Allocation               8 
  Extension                4 
  Bucket_Size              4 
  Contiguous               NO 
  Position                 NONE  0 
  Exact_Positioning        NO 
AREA    1
  Allocation               4 
  Extension                4 
  Bucket_Size              4 
  Contiguous               NO 
  Position                 NONE  0 
  Exact_Positioning        NO 
AREA    2
  Allocation               0 
  Extension                4 
  Bucket_Size              4 
  Contiguous               NO 
  Position                 NONE  0 
  Exact_Positioning        NO
None of that is along the lines of what I'm remembering, but thanks.
 
Back
Top