From:	SMTP%"DSJ@WKUVX1.WKU.EDU" 18-JUL-1994 18:15:54.96
To:	EVERHART
CC:	
Subj:	JUNE94.TABLES

X-FileServer: Digital Systems Journal File Server <DSJ@WKUVX1.WKU.EDU>
Date: Mon, 18 Jul 1994 17:14:27 CDT
Sender: DSJ-Mgr@WKUVX1.WKU.EDU
Errors-To: DSJ-Mgr@WKUVX1.WKU.EDU
Warnings-To: <>
From: DSJ-Mgr@WKUVX1.WKU.EDU
Reply-To: DSJ@WKUVX1.WKU.EDU
Subject: JUNE94.TABLES
To: EVERHART@arisia.gce.com

$! ------------------ CUT HERE -----------------------
$ v='f$verify(f$trnlnm("SHARE_UNPACK_VERIFY"))'
$!
$! This archive created:
$!  Name : TABLES
$!  By   : Hunter Goatley <goathunter@ALPHA.WKU.EDU>
$!  Date :  8-JUN-1994 14:44:37.16
$!  Using: VMS_SHARE 8.4, (C) 1993 Andy Harper, Kings College London UK
$!
$! Credit is due to these people for their original ideas:
$!    James Gray, Michael Bednarek 
$!
$! TO UNPACK THIS SHARE FILE, CONCATENATE ALL PARTS IN ORDER
$! AND EXECUTE AS A COMMAND PROCEDURE  (  @name  )
$!
$! THE FOLLOWING FILE(S) WILL BE CREATED AFTER UNPACKING:
$!       1. TABLES.DSJ;1
$!
$ set="set"
$ set symbol/scope=(nolocal,noglobal)
$ f=f$parse("SHARE_UNPACK_TEMP","SYS$SCRATCH:."+f$getjpi("","PID"))
$ e="write sys$error  ""%UNPACK"", "
$ w="write sys$output ""%UNPACK"", "
$ if .not. f$trnlnm("SHARE_UNPACK_LOG") then $ w = "!"
$ if f$getsyi("CPU") .gt. 127 then $ goto start
$ ve=f$getsyi("version")
$ if ve-f$extract(0,1,ve) .ges. "4.4" then $ goto start
$ e "-E-OLDVER, Must run at least VMS 4.4"
$ v=f$verify(v)
$ exit 44
$unpack: subroutine ! P1=filename, P2=checksum, P3=attributes,P4=size
$ if f$parse(P1) .nes. "" then $ goto dirok
$ dn=f$parse(P1,,,"DIRECTORY")
$ w "-I-CREDIR, Creating directory ''dn'"
$ create/dir 'dn'
$ if $status then $ goto dirok
$ e "-E-CREDIRFAIL, Unable to create ''dn' File skipped"
$ delete 'f'*
$ exit
$dirok:
$ x=f$search(P1)
$ if x .eqs. "" then $ goto file_absent
$ e "-W-EXISTS, File ''P1' exists. Skipped"
$ delete 'f'*
$ exit
$file_absent:
$ w "-I-UNPACK, Unpacking ", P5, " of ", P6, " - ", P1, " - ", P4, " Blocks"
$ n=P1
$ if P3 .nes. "" then $ n=f
$ if .not. f$verify() then $ define/user sys$output nl:
$ EDIT/TPU/NOSEC/NODIS/COM=SYS$INPUT/NOJOURNAL 'f'/OUT='n'
PROCEDURE GetHex(s,p)LOCAL x1,x2;x1:=INDEX(t,SUBSTR(s,p,1))-1;x2:=INDEX(t,
SUBSTR(s,p+1,1))-1;RETURN 16*x1+x2;ENDPROCEDURE;PROCEDURE SkipPartsep LOCAL m;
LOOP m:=MARK(NONE);EXITIF m=END_OF(b);DELETE(m);EXITIF INDEX(ERASE_LINE,
"-+-+-+-+-+-+-+-+")=1;ENDLOOP;ENDPROCEDURE;PROCEDURE ProcessLine LOCAL c,s,l,b,
n,p;c := ERASE_CHARACTER(1);s := ERASE_LINE;IF c = "X" THEN SPLIT_LINE; ENDIF;
MOVE_HORIZONTAL(-1);l := LENGTH(s);p := 1;LOOP EXITIF p > l;c := SUBSTR(s,p,1);
p := p+1;CASE c FROM ' ' TO '`' ['`']: COPY_TEXT(ASCII(GetHex(s,p))); p:=p+2;[
' ']: p:=p+1;[INRANGE,OUTRANGE]: COPY_TEXT(c);ENDCASE;ENDLOOP;ENDPROCEDURE;
PROCEDURE Decode LOCAL m;POSITION(BEGINNING_OF(b));LOOP m:=MARK(NONE);EXITIF m=
END_OF(b);DELETE(m);IF INDEX(CURRENT_LINE,"+-+-+-+-+-+-+-+-")=
1 THEN SkipPartSep;ELSE ProcessLine;MOVE_HORIZONTAL(1);ENDIF;ENDLOOP;
ENDPROCEDURE;SET(FACILITY_NAME,"UNPACK");SET(SUCCESS,OFF);SET(INFORMATIONAL,
OFF);t:="0123456789ABCDEF";f:=GET_INFO(COMMAND_LINE,"file_name");b:=
CREATE_BUFFER(f,f);Decode;WRITE_FILE(b,GET_INFO(COMMAND_LINE,"output_file"));
QUIT;
$ if p3 .eqs. "" then $ goto dl
$ open/write fdl &f
$ write fdl "RECORD"
$ write fdl P3
$ close fdl
$ w "-I-CONVRFM, Converting record format to ", P3
$ convert/fdl=&f &f-1 &P1
$dl: delete 'f'*
$ checksum 'P1'
$ if checksum$checksum .nes. P2 then $ -
  e "-E-CHKSMFAIL, Checksum of ''P1' failed."
$ exit
$ endsubroutine
$start:
$!
$ create 'f'
X`5Binsert`201`5D
X
X$!+
X$!`20Create`20a`20dummy`20logical`20name`20table`20to`20be`20used`20as`20a`20r
Vegular`20logical
X$!`20name.`20`20We`20will`20later`20define`20Product_Select`20to`20point`20to
V`20other`20real
X$!`20logical`20name`20tables.
X$!-
X$`20Create/Name_Table`20Product_Select
X$!+
X$!`20Include`20this`20dummy`20logical`20name`20table`20in`20the`20LNM$JOB`20se
Varch`20list.
X$!`20Note`20after`20invoking`20TABLES.COM`20that`20LNM$JOB_nnnnnnnn`20is`20sti
Vll
X$!`20included`20in`20the`20definition`20of`20LNM$JOB.
X$!-
X$`20Show`20Logical/Table=LNm$Process_Directory`20LNM$JOB
X
X`20`20`20"LNM$JOB"`20=`20"LNM$JOB_829DDD20"`20(LNM$PROCESS_DIRECTORY)
X
X$`20@Tables.Com`20Product_Select`20Job
X$`20Show`20Logical/Table=LNm$Process_Directory`20LNM$JOB
X
X`20`20`20"LNM$JOB"`20=`20"LNM$JOB_829DDD20"`20(LNM$PROCESS_DIRECTORY)
X`20`20`20`20`20`20`20`20=`20"PRODUCT_SELECT"
X1`20`20"PRODUCT_SELECT"`20`5Btable`5D`20=`20""`20(LNM$PROCESS_DIRECTORY)
X
X$!+
X$!`20Create`20separate`20logical`20name`20tables`20for`20each`20product.
X$!-
X$`20Create/Name_Table`20Product_A
X$`20Create/Name_Table`20Product_B
X$!+
X$!`20Fill`20each`20products`20logical`20name`20table`20with`20the`20products
V`20logical
X$!`20name`20definitions.
X$!-
X$`20Define/Table=Product_A`20Logical_01`20String_A01
X$`20Define/Table=Product_A`20Logical_02`20String_A02
X$`20Define/Table=Product_A`20Logical_03`20String_A03
X$`20Define/Table=Product_B`20Logical_01`20String_B01
X$`20Define/Table=Product_B`20Logical_02`20String_B02
X$`20Define/Table=Product_B`20Logical_03`20String_B03
X$!+
X$!`20Define`20DCL`20symbols`20to`20cause`20TABLES.COM`20to`20define`20the`20du
Vmmy`20logical
X$!`20name`20table`20to`20point`20to`20the`20product`20table`20of`20your`20choi
Vce.`20`20This
X$!`20will`20include`20one`20and`20only`20one`20PRODUCT_x`20table`20in`20the`20
VLNM_$JOB
X$!`20search`20list.
X$!-
X$`20PRODA`20:==`20@Tables.Com`20Product_A`20Product_Select`20User
X$`20PRODB`20:==`20@Tables.Com`20Product_B`20Product_Select`20User
X$!+
X$!`20Invoke`20the`20DCL`20symbol`20of`20your`20choice.`20`20Product`20switchin
Vg`20is`20fast
X$!`20and`20cheap.`20`20Note`20after`20invoking`20TABLES.COM`20to`20redefine
X$!`20Product_Select`20that`20either`20Product_A`20or`20Product_B`20is`20automa
Vtically
X$!`20in`20the`20job`20list,`20but`20never`20both`20at`20the`20same`20time.
X$!-
X$`20PRODA
X$`20Show`20Logical/Table=LNm$Process_Directory`20LNM$JOB
X
X`20`20`20"LNM$JOB"`20=`20"LNM$JOB_829DDD20"`20(LNM$PROCESS_DIRECTORY)
X`20`20`20`20`20`20`20`20=`20"PRODUCT_SELECT"
X1`20`20"PRODUCT_SELECT"`20=`20"PRODUCT_A"`20(LNM$PROCESS_DIRECTORY)
X2`20`20"PRODUCT_A"`20`5Btable`5D`20=`20""`20(LNM$PROCESS_DIRECTORY)
X
X$`20Show`20Logical/Job`20Logical_*
X
X(LNM$JOB_829DDD20)
X
X(PRODUCT_A)
X
X`20`20"LOGICAL_01"`20=`20"STRING_A01"
X`20`20"LOGICAL_02"`20=`20"STRING_A02"
X`20`20"LOGICAL_03"`20=`20"STRING_A03"
X
X$`20PRODB
X$`20Show`20Logical/Table=LNm$Process_Directory`20LNM$JOB
X
X`20`20`20"LNM$JOB"`20=`20"LNM$JOB_829DDD20"`20(LNM$PROCESS_DIRECTORY)
X`20`20`20`20`20`20`20`20=`20"PRODUCT_SELECT"
X1`20`20"PRODUCT_SELECT"`20=`20"PRODUCT_B"`20(LNM$PROCESS_DIRECTORY)
X2`20`20"PRODUCT_B"`20`5Btable`5D`20=`20""`20(LNM$PROCESS_DIRECTORY)
X
X$`20Show`20Logical/Job`20Logical_*
X
X(LNM$JOB_829DDD20)
X
X(PRODUCT_B)
X
X`20`20"LOGICAL_01"`20=`20"STRING_B01"
X`20`20"LOGICAL_02"`20=`20"STRING_B02"
X`20`20"LOGICAL_03"`20=`20"STRING_B03"
X
X=
X
X`5Binsert`202`5D
X
X$`20CREATE/NAME_TABLE/PARENT_TABLE=LNM$PROCESS_DIRECTORY`20PRODUCT_SELECT`20
X$`20DEASSIGN/TABLE=LNM$PROCESS_DIRECTORY`20PRODUCT_SELECT
X
X=
X
X`5Binsert`203`5D
X
X$`20DEFINE/TABLE=LNM$PROCESS_DIRECTORY`20PRODUCT_SELECT`20PRODUCT_A
X
X=
X
X`5Binsert`204`5D
X
X$`20DEFINE/TABLE=LNM$PROCESS_DIRECTORY`20LNM$JOB`20-
XLNM$JOB_xxxxxxxx,PRODUCT_SELECT
X
X=
X
X`5BFigure`201`5D
X
X
X
X$!+
X$!`20T`20A`20B`20L`20E`20S`20.`20C`20O`20M
X$!`20Shelley`20McClanahan`20`26`20Bill`20Law,`20Cincom`20Systems`20Inc.`201993
V
X$!`20See`20help`20text`20below`20for`20information`20regarding`20function`20an
Vd`20use.
X$!-
X$`20GoSub`20Do_Initialization
X$`20If`20P1.EqS.""`20.Or.`20P1.EqS."?"
X$`20Then
X$`20`20`20`20`20`20`20GoSub`20Output_Help
X$`20`20`20`20`20`20`20Finished`20=`20True
X$`20EndIf`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20
V`20`20`20`20`20`20`20`20`20`20!End`20of`20help
X$`20If`20.Not.`20Finished`20Then`20GoSub`20Validate_Parameters
X$`20If`20.Not.`20Finished`20Then`20GoSub`20Has_Logical_Been_Defined
X$`20If`20.Not.`20Finished`20Then`20GoSub`20Set_Up_Logical_Value
X$`20If`20.Not.`20Finished`20Then`20-
X`20`20`20`20`20`20`20`20Define/NoLog/Table='Directory_Name'`20'Logical_Name_Ta
Vble'`20'Value'
X$`20Exit
X$!****************************************************************************
V**
X$!+
X$!`20Do_Initialization`20Subroutine
X$!-
X$`20Do_Initialization:`20
X$`20`20`20`20`20`20`20Set`20:=`20Set`20`20`20`20`20`20`20`20`20`20`20`20`20`20
V`20`20`20`20`20`20`20`20!Prevent`20external`20symbols`20from`20altering
X$`20`20`20`20`20`20`20Set`20Symbol/Scope=NoGlobal`20`20`20`20`20`20`20!`20`20o
Vur`20behaviour`20here
X$`20`20`20`20`20`20`20Set`20NoOn
X$`20`20`20`20`20`20`20P1`20=`20F$Edit(P1,"Upcase")`20`20`20`20`20`20`20`20!Let
V's`20not`20be`20case`20sensitive
X$`20`20`20`20`20`20`20P2`20=`20F$Edit(P2,"Upcase")`20`20`20`20`20`20`20`20!`20
V`20"
X$`20`20`20`20`20`20`20P3`20=`20F$Edit(P3,"Upcase")`20`20`20`20`20`20`20`20!`20
V`20"
X$`20`20`20`20`20`20`20Wso`20:=`20Write`20Sys$Output`20`20`20`20`20`20`20`20`20
V!Convenient`20shorthand
X$`20`20`20`20`20`20`20True`20=`201.Eq.1`20`20`20`20`20`20`20`20`20`20`20`20`20
V`20`20`20`20`20`20!`20`20"
X$`20`20`20`20`20`20`20False`20=`20.Not.True`20`20`20`20`20`20`20`20`20`20`20
V`20`20`20`20!`20`20"
X$`20`20`20`20`20`20`20Finished`20=`20False`20`20`20`20`20`20`20`20`20`20`20`20
V`20`20`20`20!If`20true`20then`20exit
X$`20Return`20!`20End`20of`20Do_Initialization
X$!****************************************************************************
V**
X$!+
X$!`20Subroutine`20to`20Validate_Parameters
X$!
X$!`20`20`20`20`20`20When`20P3`20is`20defined`20as`20shown`20in`20the`20below
V`20table,`20Logical_Table_Name
X$!`20`20`20`20`20`20will`20have`20the`20below`20value:
X$!
X$!`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20P3`20`7C`20`20<blank>`20
V`20`20`7C`20`20`20`20USER`20`20`20`20`7C`20`20`20`20LIST`20`20`20`20`7C
X$!`20-------------------+------------+------------+------------+
X$!`20Logical_Table_Name`20`7C`20LNM$'P2'`20`20`20`7C`20'P2'`20`20`20`20`20`20
V`20`7C`20'P2'`20`20`20`20`20`20`20`7C
X$!
X$!`20`20`20`20`20`20In`20all`20cases`20the`20parent`20logical`20name`20table,
V`20Directory_Name,`20will
X$!`20`20`20`20`20`20be`20"LNM$PROCESS_DIRECTORY".
X$!-
X$`20Validate_Parameters:`20
X$`20`20`20`20`20`20`20If`20P3.NES.""`20.And.`20P3.NES."USER"`20.And.`20P3.NES.
V"LIST"
X$`20`20`20`20`20`20`20Then
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20Wso`20"P3`20=`20""''P3'""`20is
V`20not`20a`20valid`20entry-"
X
X
X
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20Wso`20"P3`20must`20be`20either
V`20blank,`20USER,`20LIST"
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20Wso`20"Use`20""$`20@TABLES.COM
V`20?""`20for`20help."
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20Finished`20=`20True
X$`20`20`20`20`20`20`20Else
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20Directory_Name`20=`20"LNM$PROCES
VS_DIRECTORY"
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20If`20P3.EqS.""
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20Then
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20Logical_
VName_Table`20=`20"LNM$"`20+`20(P2-"LNM$")
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20Else`20`20`20`20`20`20`20`20`20
V`20`20`20!`20P3`20is`20either`20USER`20or`20LIST
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20Logical_
VName_Table`20=`20P2
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20EndIf
X$`20`20`20`20`20`20`20EndIf
X$`20Return`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20!`20End`20of`20Subro
Vutine`20Validate_Parameters
X$!****************************************************************************
V**
X$!+
X$!`20Subroutine`20Has_Logical_Been_Defined
X$!
X$!`20`20`20`20`20`20Has`20this`20logical`20been`20defined`20as`20a`20non-searc
Vh`20list`20logical?
X$!-
X$Has_Logical_Been_Defined:`20
X$!+
X$!`20`20`20`20`20`20Max_Index`20starts`20at`200,`20so`20the`20number`20of`20el
Vements`20in`20the`20search`20list`20is
X$!`20`20`20`20`20`20Max_Index`20+`201.
X$!-
X$`20`20`20`20`20`20`20Max_Index`20=`20F$TrnLNm(Logical_Name_Table,`20Directory
V_Name,,,,`20"Max_Index")
X$!+
X$!`20`20`20`20`20`20If`20Max_Index`20is`20a`20null`20string`20then`20the`20ent
Vered`20logical`20name`20is
X$!`20`20`20`20`20`20undefined.
X$!
X$!`20`20`20`20`20`20If`20the`20logical`20passed`20in`20was`20already`20defined
V,`20and`20not`20part`20of`20a`20search
X$!`20`20`20`20`20`20list,`20then`20set`20the`20flag`20to`20exit.
X$!-
X$`20`20`20`20`20`20`20If`20Max_Index.EqS.""
X$`20`20`20`20`20`20`20Then`20
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20Wso`20"''Logical_Name_Table'`20i
Vs`20not`20defined"
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20Finished`20=`20True
X$`20`20`20`20`20`20`20Else
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20If`20Max_Index.Eq.0`20.And.`20-
V
X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20P1.EqS.F$TrnLNm(Logic
Val_Name_Table,Directory_Name)
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20Then
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20Finished
V`20=`20True
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20EndIf
X$`20`20`20`20`20`20`20EndIf
X$Return`20`20`20`20`20`20`20`20`20!`20End`20of`20Subroutine`20Has_Logical_Been
V_Defined
X$!****************************************************************************
V**
X$!+
X$!`20Subroutine`20Set_Up_Logical_Value:
X$!
X$!`20`20`20`20`20`20Determine`20whether`20this`20is`20a`20search`20list`20logi
Vcal,`20or`20a`20USER`20logical
X$!`20`20`20`20`20`20name`20table,`20as`20opposed`20to`20a`20standard`20VMS`20l
Vogical`20(LNM$??).`20`20If`20the
X$!`20`20`20`20`20`20logical`20name`20exists,`20but`20does`20not`20have`20any
V`20values,`20Max_Index`20will`20be`20-1.
X
X
X
X$!
X$!`20`20`20`20`20`20Run`20through`20the`20existing`20search`20list`20and`20the
Vn`20add`20the`20new`20one`20to
X$!`20`20`20`20`20`20the`20end`20of`20the`20list.`20`20For`20example,`20if`20LN
VM$JOB`20is`20defined`20as`20A,B,C
X$!`20`20`20`20`20`20and`20we`20invoke`20this`20procedure`20as`20"$`20@TABLES.C
VOM`20X`20JOB`20LIST"`20then
X$!`20`20`20`20`20`20LNM$JOB`20will`20become`20A,B,C,X.
X$!-
X$`20Set_Up_Logical_Value:
X$`20`20`20`20`20`20`20If`20Max_Index.Eq.-1`20.Or.`20P3.EqS."USER"
X$`20`20`20`20`20`20`20Then
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20Value`20=`20P1
X$`20`20`20`20`20`20`20Else
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20Index`20=`200
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20Value`20=`20""
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20GoSub`20Find_Name_Loop
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20If`20.Not.`20Finished`20Then`20V
Value`20=`20Value`20+`20P1
X$`20`20`20`20`20`20`20EndIf
X$`20Return`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20!`20End`20of`20Subro
Vutine`20Set_Up_Logical_Value
X$!****************************************************************************
V**
X$!+
X$!`20Subroutine`20Loop.`20`20Uses`20Recursion`20to`20control`20the`20loop.
X$!-
X$`20Find_Name_Loop:`20
X$`20`20`20`20`20`20`20If`20.Not.`20Finished
X$`20`20`20`20`20`20`20Then
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20Next_Value`20=`20F$TrnLNm(Logica
Vl_Name_Table,Directory_Name,Index)
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20If`20Next_Value.EqS.P1
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20Then
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20Wso`20"'
V'P1'`20is`20already`20in`20the`20list`20''Logical_Name_Table'"
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20Finished
V`20=`20True
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20Else
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20Value`20
V=`20Value`20+`20Next_Value`20+`20","
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20Index`20
V=`20Index`20+`201
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20If`20Ind
Vex.LE.Max_Index`20Then`20GoSub`20Find_Name_Loop
X$`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20EndIf
X$`20`20`20`20`20`20`20EndIf
X$`20Return`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20!`20End`20of`20Subro
Vutine`20Find_Name_Loop
X$!****************************************************************************
V**
X$!+
X$!`20Subroutine`20Output_Help
X$!`20`20`20`20`20`20
X$!`20`20`20`20`20`20Displays`20the`20usage`20of`20Tables.Com`20including`20pas
Vsing`20of`20parameters.
X$!-
X$`20Output_Help:
X$`20`20`20`20`20`20`20Type/Page`20Sys$Input
X
XThis`20procedure`20will`20enter`20a`20specified`20logical`20name`20table`20as
V`20either
Xpart`20of`20a`20search`20string`20redefinition`20of`20a`20standard`20VMS`20Log
Vical`20Name
XTable,`20or`20as`20the`20definition`20of`20a`20user-defined`20Logical`20Name
V`20Table.
XThe`20definition`20of`20the`20user-defined`20Logical`20Name`20Table`20may`20be
V`20a`20search
Xlist.
X
X
X
X
XP1`20-`20The`20name`20of`20the`20logical`20name`20table`20to`20be`20entered
X
XP2`20-`20This`20will`20either`20be`20a`20standard`20VMS`20logical`20name,`20or
V`20a`20user
X`20`20`20`20`20defined`20logical`20name`20table.`20`20The`20VMS`20logicals`20t
Vhat`20may`20be
X`20`20`20`20`20specified`20are:
X
X`20`20`20`20`20LNM$JOB`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20Passed`20in
V`20as`20JOB
X`20`20`20`20`20LNM$PROCESS`20`20`20`20`20`20`20`20`20`20`20Passed`20in`20as`20
VPROCESS
X`20`20`20`20`20LNM$GROUP`20`20`20`20`20`20`20`20`20`20`20`20`20Passed`20in`20a
Vs`20GROUP
X
XP3`20-`20Optional.`20`20This`20parameter`20may`20be`20used`20to`20give`20furth
Ver
X`20`20`20`20`20instructions`20regarding`20the`20logical`20entered`20as`20P1:
X
X`20`20`20`20`20USER`20`20`20-`20Just`20define`20the`20logical`20(P1)`20in`20th
Ve`20table`20specified
X`20`20`20`20`20`20`20`20`20`20`20`20`20`20(P2).
X
X`20`20`20`20`20LIST`20`20`20-`20This`20will`20also`20define`20the`20logical`20
V(P1)`20in`20the`20table
X`20`20`20`20`20`20`20`20`20`20`20`20`20`20specified`20(P2).`20`20The`20only`20
Vdifference`20between`20this
X`20`20`20`20`20`20`20`20`20`20`20`20`20`20and`20USER`20is`20that`20LIST`20logi
Vcal`20may`20be`20a`20search`20list.
X
X$!
X$`20Return`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20!`20End`20of`20Subro
Vutine`20Output_Help
X
$ call unpack TABLES.DSJ;1 1797745246 "" 19 1 1 
$ v=f$verify(v)
$ exit
