nas is data base management system ibm tss …b. standard tss-id profile the current mode of...
TRANSCRIPT
NASA CR-13446 1
NASA-CR-134461) NASIS DATA BASE N73-3014
MANAGEMENT SYSTEM: IBM 360 TSS
IMPLEMENTATION. VOLUME 7: OPERATING 4,q.(Neoterics, Inc., Cleveland, Ohio.) -44 p UnclasHC $4.25 CSCL 09B G3/08 13483
NAS IS DATA BASE MANAGEMENT SYSTEM - IBM 360 TSS IMPLEMENTATION
VII -OPERATING SPECIFICATIONS
NEOTERICS, INC.
prepared for
NATIONAL AERONAUTICS AND SPACE ADMINISTRATION
Reproduced by
NATIONAL TECHNICALINFORMATION SERVICE
US Department of CommerceSpringfield, VA. 22151
NASA Lewis Research Center
Contract NAS 3-14979
AA
https://ntrs.nasa.gov/search.jsp?R=19730021413 2020-08-03T12:20:02+00:00Z
NOTICE
THIS DOCUMENT HAS BEEN REPRODUCED FROM THE
BEST COPY FURNISHED US BY THE SPONSORING
AGENCY. ALTHOUGH IT IS RECOGNIZED THAT CER-
TAIN PORTIONS ARE ILLEGIBLE, IT IS BEING RE-
LEASED IN THE INTEREST OF MAKING AVAILABLE
AS MUCH INFORMATION AS POSSIBLE.
PAGE 2
TAELE OF CONTENTS
I. INTBODUCTICN . . . . . . . . . . . . . .* * 3
II. ENVIRONMENT. . . . * * . ..* * * . 3A. ISS/360 . . . . . . . . . . . . . 3B. Standard Profile (TSS-ID) , . . . . . . . 3C, NASIS System Structure. . . . . . .* . . 4E. NASIS System Generation . . . . . . . . . . 8
E. Module Modificaticn Procedure . . . . .. 13
F. Joining Users . . . . . . . . . . . . . 16G. Reserved Datasets, Modules, Procdefs. . . . . 17H. How tc prcgram new modules and new commands . . 17I, LINKEEITinq NASIS . . . . . . . . . . . . 19
III. APPENDICES . . . . . . . . . . .. . . . . . . . . 22A. The USERID ANALYSIS . . . . . . . . . . . . 22B. The USIRIL CREATION . . . . . . . . . . . . 23C, USERJCIN,. . . . . . . . . . . . . . . . . . 34D, NASIS Modules . . . . . . . . . . . . . . . . . 40
PAGE 3
I. INTBODUCTICN
This section of the documentation concerns itself withthe environment which surrounded the design,implementation and installation of NASIS. It describeshow the various components of NASIS fit together andhow the system is to be installed and modified.
It is assumed that any individual involved in themodification or installation of NASIS has a completeworking kncwledge of TSS as well as PL/I.
II. ENVIRONMEN
NASIS is a data management system which runs underTSS/360 on the IB? System 360 Model 67.
A. ISS/360
TSS/360 is a programming system that givesmultiple simultaneous user access to the computerfacilities. The full system is explained in otherdocuments which are published by IBM. Some ofthese are:
'Concepts and Facilities,' C28-2003
'Terminal User's Guide,' GC28-2017
'Command System User's Guide,' C28-2001
'System Messages,' GC28-2037
'PL/I Programmer's Guide,' GC28-2049
'PL/I Lanquage Reference Manual,' GC28-2045.
The above list is by no means comprehensive. Itmerely indicates the most commonly used of theavailable manuals.
B. Standard TSS-ID Profile
The current mode of operation uses four primeTSS-Its which control and operate NASIS. Each ofthese TSS-IDs serves a fundamental and importantrole in the operation of NASIS. These TSS-IDs areSALISR**, SABBA***, SACWNER*, and SAMTT***.
SAtISR's responsibility is to contain and maintainthe source and object code of all NASIS modules.It also maintains the libraries from which NASISis executed as well as other supporting data sets.
PAGE 4
In cther words, the entire physical entity knownas NASIS is maintained by SALISR. The personresponsible for maintaining SALISR is responsiblefor the integrity of NASIS.
SADBA is the Data Base Administrator's TSS-ID.This Ir contains a library for all user writtenmodules, such as file loading and formattingroutines. This library is also used to containall ressages and explanations pertaining tospecific data bases. The data set NASIS.USERIDS,which contains a list of all JOINed NASISIDs, isalso maintained here.
SAOWNER is the owner of all the files which are tobe used with NASIS. This TSS-ID is maintained bythe rata Ease Administrator. The integrity andthe use of all data bases is the responsibilityof the DBA (Eata Base Administrator).
SAMTT is the TSS-ID under which operation in MT/Tmode is possible. There is only one suchTSS-IC. This is practical because the one MT/TTSS-ID will permit many people to use NASISconcurrently, and also because this ID must have aspecial privilege class because of systemlimitations.
Any number of other TSS-IDs can and do exist andeach of these can run NASIS in stand-alone mode.
In crder to create a common environment,compatable with NASIS, for the various TSS-IDswhich may exist, two executable data sets havebeen created: THE.USERID.CREATION andTHE.USERID.ANAIYSIS. These data sets are owned bySALISR. Therefore, for any new TSS-ID on whichthis environment is desired, the followingcommands must be executed:
SHARE THE.USERID,SALISR,THE.USERIDBACK HE.,USEBID.CREATION(wait for completion)
(if ycu wish to review your TSS-ID)EXECUTE THE, USERID.ANALYSIS
Please refer to Appendix A for the details ofTHE.USERID.ANALYSIS and Appendix B for the detailsof THF.USFRID.CREATION.
C. NASIS System Structure
PAGE 5
Because of the increasing size and complexity, aswell as the prospect for distribution of the NASISsystem, it was decided to structure the NASIS datasets. This structuring was approached with thefunctions of system backup and restore in mind.The structure is explained below and is currentlyin effect.
A private VAM disk pack (LABEL=SAFETY) has beenincorporated as the foundation for thisstructure. This disk pack will function as theon-line residence volume for NASIS. It willcontain everything necessary to bring up NASIS atany other TSS installation. The backup copies ofall actively used NASIS data sets, as well as themaster copies of all non-actively used NASIS datasets, from SALISR, SADBA, and SAMTT will be onthis volume. The data sets currently defined forresidence on SAFETY are:
LINK.NASISLIB (BACKUP)tASIS.NASYSIIB (BACKUP)NASIS.MTTLIE (BACKUP) (FROM: SAMTT)NASIS.DEALIB (BACKUP) (FROM: SADBA)NASIS.USERJOIN (BACKUP)NASIS.SAIIS. USERLIB (BACKUP)NASIS.SAMTT.USERLIB (BACKUP) (FROM: SAMTT)NASIS.SCURCE. module (MASTER)NASIS.SCURCE.LISRMAC (BACKUP)IINK.SOUECE.module (MASTER)NASIS.RSOURCE (BACKUP)NASIS.RIVDEX (BACKUP)NASIS.UTILITYS (BACKUP) (FROM: SAUTY)NASIS.ANALYSIS (BACKUP)NASIS.CSEATICN (BACKUP)NASIS.USERIS (BACKUP) (FROM: SADBA)
This structure also provides a simplified,efficient, flexible method of NASIS backup andrestore, i.e., to use the TSS command DMPRST todump cr restore the entire disk pack.
None of the data sets on disk pack SAFETY arePERMITted; therefore, they cannot be accessed byanyone but their owner, TSS userid SALISR. Thedata sets necessary for the use and maintenanceof NASIS and its files are all maintained inpublic storage under TSS userid SALISR. Datasets USERJCIN, and NASISLIB are PERMITted to allusers with read-only access. These are the onlydata sets necessary for the normal use of NASIS.
The remaining data sets, NASYSLIB, RSOURCE,
PAGE 6
RINDEX, THE.USERIE.CREATION, THE USERID.ANALYSIS,and all SOURCE data sets (includingSOURCE.LISRMAC) are PERMITted to the systemirpleventors with read-only access so that theymay modify and test the system (i.e., these datasets should be SHAREd from SALISR).
The ccntents and functions of the NASIS data setsare as follows:
NASISLIB(O) - the job library which contains theIINKEDITed stand-alone version of NASIS andthe NASIS message file. Upon thoroughtesting, this library is copied to SANTT asthe new MTT system.
LINK.NASISLIB - the backup copy of NASISLIB(O).
NASYSLIB(O) - the job library which contains thenon-LINKEDITed stand-alone version of theNASIS and the NASIS system message file.This data set should be used only by systemimplementors for testing new or modifiedmodules.
NASIS.NASYSLIE - the backup copy of NASYSLIB(O),
NASIS.MTTLIB - the backup copy of MTTLIB(O). FromSAMTT.
NASIS.DBALIE - the backup copy of DBALIB(O). FromSADBA.
USERJCIN - the input command stream for creatingthe appropriate BUILTINs, PROCDEFs andmessages necessary to allow a TSS userid tofunction as a NASIS data base user. It alsoprovides shared access to the necessary joblibraries and PERMITted data bases.
NASIS.USERJCIN - the backup copy of USERJOIN.
NASIS.SALISR,USERLIB - the backup copy of theUSERLIB from TSS-Ir salisr. This librarycontains all the procdefs necessary tomaintain NASIS and SALISR.
NASIS.SAMT.USERLIB - the backup copy of theUSERLIE from TSS-ID SAMTT. This librarycontains all the procdefs necessary to runNASIS in MTT mode and maintain SAMTT.
SOURCE.module - the temporary copy of the source
PAGE 7
code for a NASIS module. It should be sharedand copied by system iplementors to serve asa basis for modifications. (These datasetscnly exist while actually being modified.)
NASIS.SOURCE.module - the master copy of thesource code for a NASIS module.
SOURCILISRPAC - the working copy of the PL/Imacro library, containing all of thepreprocessor components, as well as any otherstandard sections of coding included into anycf the NASIS modules.
NASIS.SOURCE.LISBMAC - the backup copy of theNASIS Pt/I macro library.
LINE.SOURCE.module - the master copy of the sourcecode for the modules required forlinkediting.
RSOURCE - the working copy of the source portionof the NASIS assembler language macrolibrary.
NASIS.RSOURCE - the backup copy of RSOURCE.
RINDEX - the working copy of the index to theNASIS assembler language macro library4RSOURCE).
NASIS.RINDEX - the backup ccpy of RINDEX.
NASIS.UTILITYS - the backup copy of the UTILITYS.From SAUTY.
THE.USEBID.ANAIYSIS - the working copy of the dataset which is executed to yield the current[SS status of a given TSS-ID.
NASIS.ANAIYSIS - the backup copy ofTHE.USERID. ANALYSIS.
THE.USERID.CREATICE - the workinq copy of the dataset which is executed to create a standarduserid.
NASIS.CREATICN - the backup copy ofTH. USERI. CREATION.
NASIS.USERIDS - the backup copy of NASIS.USERIDS.From SAEEA.
PAGE 8
D. NASIS System Procedures
This section lists the procedures used for themaintenance of NASIS:
1. LINKALL
PROCDEF LINKAILEISPLAY ' SUPPORT SYSTEM'IINKSUFErISPLAY ' RETRIEVAL SYSTEM'IINKRETCISPLAY ' MAINTENANCE SYSTEM'IINKMAIWEISPLAY ' PRINT MONITOR'IINKPRNIrISPLAY ' REST OF THE SYSTEM'LINKREST
2. LINKMAIN
PROCDEF LINKMAINDEFAULT LINKWMSG=NVV LINK.SOURCE.MAINTANO,SOURCE.MAINTANOVV LINK. SOUCE. MAINTAIN,SOURCE. MAINTAINtDEF NASYSLIB,VP,NASYSLIB(0) ,,,,,,OLDDDEF MAINTANO,VP,MAINTANOERASE MAINTANODDEF MAINTANO,VP,MAINTANO,,,,,,NEW,,TLUEISPLAY * INCLUDING'INK MAINIANO,Y,MAINTANO,,N,N,NEEL NASYSLIBrDEF NASISLIB,VP,NASISLIB(0),,,,, OLDERASE NASISLIB(0) (MAINTAIN)DISPLAY ' CCMBINING'INK MAINTAIN,Y,NASISLIB,,N,Y,YBEL MAIVNANO,NASISLIEERASE MAINTANOPR LISI.MAINTAIN(0),,,EDIT,YERASE SOURCE.MAINTANOERASE SCURCE. MAINTAIN
3. IINKOUT
PROCDEF LINKCUTPARAM $01,$02RELEASE EACKUPDDIF '$02' = '';ERASE LINK.SOURCE.$01;-EDEF EACKUPED,VI,LINK.SOURCE.$01,DISP=NEW,-
UNIT=(DA,2314) ,VOLUME=(,SAFETY) ;-VV SOURCE.$01,LINK.SOURCE.$01IF '$02' -= ";ERASE LINK.$01;-DDEF BACKUPDD,$02,LINK.S01,DISP=NEW,-
PAGE 9
UNIT=(DA,2314),VOLUME = (,SAFETY) ;-VV $01(0) ,LINK. $01RELEASE BACKUPDD
4. LINKPFNT
PROCDEF LIVKPRNTEEFAULT IINWMSG=NVV LINK.SOURCE.PRINTSO,SOURCE.PRINTSOVV LINK. SCURCE. PRINTMON,SOURCE. PRINT4TONLEEF NASYSLIB,VP,NASYSLIB(O) ,,,,,,OLDDDEF PRINTSO,VP,PRINTSOERASE PRINTSODDEF PRINTSO,VP,PRINTSO,,,,,,NEW,,TLUDISPLAY ' INCLUDING'INK PRINTSO,YPRINTSO,,N,N,NEEL NASYSLIBDDEF NASISLIBVPNASISLIB(0) ,,,,,OLDERASE NASISLIB(0) (PRINTMON)DISPLAY I CCMBINING'LNK PRINTMON,Y,NASISLIB,,N,Y,YREL PRINHSO,NASISLIBERASE PRINTSOPRINT LIST. PRITMON(0).,,,EDIT,YERASE SOURCE.PRINTSOERASE SCURCE.PINTMON
5. LINKREST
PROCDEF IINKRESTERASE NASISLIB.(0) (NASISX)CES NASYSLIB(O) (NASISX) ,NASISLIB(0)ERASE NASISIUB(O) (FTS11X10)CES NASYSLIB(O) (RTS11X1O),NASISLIB (0)ERASE NASISIIB(O) (NASISPRO)CES NASYSLIB(0) (NASISPRO),NASISLIB (0)ERASE NASISLIB(0) (LISRMLF)CDS NASYSLIB(0) (LISRNLF) ,NASISLIB(0)ERASE NASISLIB(O) (RDBPENTB)CES NASYSLIB(0) (RDBPRNTR) ,NASISLIB(0)ERASE NASISLIB(0) (RDBACCUN)CDS NASYSLIB(O) (RDBACCUn) ,NASISLIB (0)ERASE NASISLIB(O) (DUSERID)CES NASYSLIB(0) (RUSERID) ,NASISLIB (0)ERASE NASISLIB(0) (STATIC)CDS NASYSLIV (0) (STATIC) ,NSISLIB (0)ERASE NASISLIB(O) (TRNSCT)CES NASYSLIB(0)(TRNSCT) ,NASISLIB(0)ERASE NASISLIB(0) (TPNSCT#)CES NASYSLI (0) (TRNSCT) ,NASISLIB (0)ERASE NASISLIB(C) (RDEVS)CDS NASYSLIB (0) (RDBVS),NASISLIB (0)ERASE NASISLIBIO) (RDBMLF)
PAGE 10
CDS NASYSLIBfO) (RDB!MLF),N4ASISLIE(0)ERASE NASISLIB(0) (RDBDRIVE)CDS NASYSLIB(0) (RDBDRtIVE) ,NASISLIB (0)
6. tINiTRET
PRiOCDEF LIWKRETrELFAUIT IIVISG=NVV LTV~KSOURCE.ETRIEVL,SOURCE.RETRIEVIVV LIIVK.SOUtCERETRIEV0,SOURCE. RETRIEVOED!? WASYSLIB,VP,VASYSLIB(0),t ... ,OLDDDE? RETRIEVO,VP,PETRIEVOERASE RETRIFVODDE? RE'RIEVO,VP,RETRIEVO,,,,..NEW,,TLUEISPLAY I IWCL-UDINGlINK RETRIEV0,Y,EETFIEVO,,N,N,NEEL NASYSLIErDEF NASISLIE.VP,NASISLIB(0) ...... OLDERASE WASISLIB(0) (PETRIBYL)DISPlAY I COPMBIVIEGIINK PETRIEVL,Y,VASISLIB,,N,Y,YEEL BETSIEVOONASISIIBERASE RErRIEVOPRINT LIST.N!TRIEVL(0) ... EDITrYERASE SCURCE.RETRIEVLERASE SCURCE.RFTRIEVO
7. LINKSUPF
PROCDEF LIliKSUPFDEFAUT III4KWSG=14VV LINK.SOURCESUPPORI,SOIIRCE.SUPPORIVV LItK.SCIJCESUPPOTO,SOURCE.SUPPORTOrEEF NASYSLIB,VPNASYSLIB(0) ...... OLDDDEF SOPFORTO,VfSUPPORTOERAS! SIIPPOPTODDE? SUPPCRTO,VP,SUPPCRTO6,,,,EW.,TLUrISPIAY I INCLUDING'INK SUPfCRTOY,SUI'PORTO,vN,N,VEEL FASYSLIBDDE? NASISLIB,VPOVASISLIB(0) ...... OLDERASE NASISLIB(0) (SUPPORT)rISPtAY I COMBIVhtEG'INK SUPPORT,Y,NASISLIB,,B,Y,YEEL SUPTCRTO,NASISLIB
ERASE SUPPORTOPRINT LIST. SUPPORT (0),, ,EDIT.,YERASE SCURCE.SUPPOP'ERASE SCURCE*SUPPOBTO
8. NASISASM
PROCDEF NASISASH
PAGE 11
PARAM $01,$02VV NASIS.SOURCE.$O01,SOURCE.$01rDEF ASFFAC,VI,ASPlMAC(0),DISP=OLDTEEF ASMNDX,VS,ASMNDX(0),DISP=OLDDDEF BSOURCE,VI,RSOURCE,DISP=OLDDDEF RINDEX,VS,RINDEX,DISP=OLDrDEF ASMIIB,VP,MODLIB(O),OPTION=JOBLIB;-ERASE MCDLIB(0) ($01)£ISPLAY '(ASSEMBLY INITIATED $01)1ASM $01,P,(ASEMACASMNDX,RSOURCE,RINDEX),,-N,N,Y,Y,N,N,Y,YPRINT LIST. $01(0),,,EDIT,YRELEASE ASMLIBPELEASE ASMMACRELEASE ASMNDXRELEASE RSOURCERELEASE FINDEXESS? SOURCE.$01POD? CODIIB(0),Y,Y,$01
9. NASISASX
PROCDEF NASISASXPARAM $01,$02VV NASIS.SOURCE.S01,SOURCE.$01DDEF ASWMAC,VI,ASHMAC(0),DISP=-OLDEDEF ASMNDX,VSASHNDX(0),DISP=OLDEDEF ASPIIB,VP,ODLIE(O),OPTION=JOBLIB;-ERASE MODLIB(0) ($01)DISPLAY '(ASSEMBLY INITIATED $01)ASM $01,,(ASHMAC,ASMNDX),,N,N,Y,Y,N,N,Y,YPRINT LIST.$01(0) ,,,EDIT,YRELEASE ASMLIBRELEASE ASHMACRELEASE ASMNDXDSS? SOURCE.$01FOD? NOtLIB(0),Y,Y,$01
10. NASISIN
PROCDEP NASISINPARAM $01ERASE SCURCE.$01VV NASIS.SOURCE.$01,SOURCE.$01
11. NASISOUT
PROCDEF NASTSOCUTPARAM $C1,$02RELEASE BACKUPDDIF '$02' = '";ERASE NASIS.SOURCE.$01;-EDEF BACUPDD,VI,NASIS.SOURCE.$01,DISP=NEW,-UNIT=(DA,2314) ,VOLUME=(,SAFETY) ;-
PAGE 12
VV SOURC.$01,NASIS.SOURCE.$01IF '$02' -= '';ERASE NASIS.$01:-rEEF BACKUPDD,$02,NASIS.$01,DISP=NEM,-UNIT= (DA, 2314) ,VOLUME = (,SAFETY)IF '$02' = '' ( '$01' = 'MODLIB' I '$01' ='NASYSLIE' );VV $G1(0),NASIS.$01IF '$02' -,= 1 8 '$01' -= 'IODLIE' & '$01' ='NASYSLIE' :VV $01,NASIS.$01RELEASE EACKUPDD
12. VASISPLI
PROCDEF NASISPLIPARAM $017V NASIS.SOURCE.$01,SOURCE.$01rDEF LISRMAC,VP,SOURCE.LISRMAC,DCB=-
(PECFM=V,KEYLEN=7,RKP=4,LRECL=255)CATALOG GDG=LIST.$01,1,O,YDDEF PLIIIST,VS,LIST.$01(+1),DCB=-(RECFM=V,LRECL=133),DISP=NEW,RET=TLU
DDEF PLIIIB,VP,MODLIE(0),OPTION=JOBLIBPLI $01,(NT,M,0=2,SM=(2,72,1),LC=60,-A,X,L,E) , (NOPRINT)PRINT LIST.$01 (0) ,,,EDIT,YRELEASE PLILIBRELEASE LISRMACERASE LOAD.$01DELETE ICAD.$01ERASE MAC.$01DELETE MAC.$01DEFAULT SYSINX=EWHI MODIIB(0)PAT $01+. 00RUNDEFAULT SYSINX=GDSS? SOURCE.$01FOD? MOELIB(0),Y,Y,$01
13. SEQUENCE
There exists (in UTILITYS) a program calledSEQPGF. The function of the program is todate stamp lines of a modified program orsequence number new source decks. Theprogram always places the current date incolumns 73-80 of the first line of thedataset. Further, it makes every line appearas though it were generated from a card,i.e., post the keyboard/cardboard indicator,post the length to 92, pad with blanksthrough column 72 (or truncate) and post thesequence field. In the update mode the
PAGE 13
current date is posted in the sequence fieldof any line that is not exactly 80 characterslong or which does not indicate a cardorigin. In the sequence mode a uniqueprogram ID is placed into columns 73-76 ofeach line after the first, the dataset isrekeyed from line 100 in increments of 100,and digits 2-5 of the line number are postedinto cclumns 77-80 of each line. Thefollowing command should be executed prior tousing the program for the first time,
BUILTIN SEQ, SEQPARMS.
The format for the program is,
SEQ deckname, deckid
where:
deckname - is the fully qualified dsnameof the dataset to be processed,
deckid - indicates by its presence thatthe program is to run in seauencemode and that this 1-4 character idis to be posted into columns 73-76of all cards following the first.
EXAMPLE:
USER: SEC SOURCE.SEQPGM,SEQSYSTEM: THE FOLLOWING LINES HAVE BEENTRUNCATED - 0012000SYSTEM: OK.
(at this point the user may examinedataset SEQ.ERROR.DATASET which willccntain, intact, all lines indicated tohave been truncated.)
E. Module Modification Procedure
This procedure for the modification and testing ofthe NASIS system modules is now in effect. Theprocedure covers the addition of new modules, aswell as the modification of existing NASISmodules. The procedure can be logically dividedinto four phases - preparation, modification,testing, and insertion.
1. Preparation
PAGE 14
The preparation phase begins with the releasecf the module for modification by the systemmaintenance task leader. Care must be takento insure that no more than one person isconcurrently modifying a particular module.Following this manual step, the source codefor the module is copied, using the NASISINFrocdef, from the master copy(NASIS.SOURCE.uodule) to the working copy(SOUPCE.aodule) under the TSS useridSALISR.
At this point the implementor should use thefollowing commands to gain access to themodule under his TSS userid:
LOGCN useridDEIETE NASIS.SOURCESHARE NASIS.SOURCE,SALISR,SOURCEERASE SOURCE.moduleVV NASIS.SOURCE.module,-
SOURCE. module
The source code for the module is now readyfor modification by the implementor.
2., Podification
The cdification phase will consist of themodification of the source code by theimplementor followed by the re-compilation orre-assemkly of the code. All modified or newlines of source code should be date stamped.This can be accomplished using the SEQprogram previously described. Preliminarytesting of the module will take place underthe iilementor's userid. The commandsnecessary for re-compilation are:
DDEF LISRMAC,VP,NASIS.SOURCE.LISRMAC,-DCB = (RKP=4,RECFM=V,LRECL=255,-KEYLEN=7)DDEF JCBLIB,VP,joblib,OPTION=JOELIBPLI module,(0=02,SM=(2,72,1),LC=60,-M,WT,A,X, ,E)
The commands necessary for re-assembly are:
DDEF ASMMAC,VI,ASMMAC(O),DISP=OLDDDEF ASMNDX,VS,ASMNtX(O),DISP=OLDDDEF RSOURCE,VI,RSOURCE,DISP=OLDDDEF RINDEX,VS,RINDEX,DISP=OLDDDEF JOBLIB,VP, oblib,OPTION=JOBIIB
PAGE 15
ASM moduleY,(RSOURCE,RINDEX,ASMMAC,-ASMNDX), N,NYYNNY
It is assumed that the macro libraries havebeen properly shared before issuing thecommands listed above.
3. Testing
To test the new module with the othercomponents of the NASIS system, theimplementor must gain access to theun-LINKEtITed version of the system. Thiscan be accomplished by the followingcommands:
DELETE NASISLIBSHAEE NASISLIB,SALISR,NASYSLIB
After modifying or adding any BUILTINs,PROCDEFs or DEFAULTs required for themodified module the implementor is ready totest. The following DDEFs will cause themodules involved in the test to be loaded inthe proper sequence..
DDEF NASISLIB,VP,NASISLIB(O),-CPTICN=JCELIEDDE! JOBLIB,VP,joblib,OPTION=JOBLIB
Any new or modified messages should beinserted into member LISRMLF of NASYSLIB(O)tefore testing.
4. Insertion
When the module has been completely testedand 'debugged' and is ready for insertioninto the system, the implementor shouldinform the system maintenance task leader.Ee must then give TSS userid SALISR sharedaccess to the modified source code andindicate to system maintenance any changes inthe BUIITINs, PROCDEFs, DEFAULTs or messagesused by the module.
System maintenance will then perform thefollowing operations, under TSS useridSALISR, to insert the updated module in thesystem.
a. Compile or assemble the module with theappropriate options, placing the output
PAGE 16
intc MODLIB(O), using the NASISASM,NASISASX, or NASISPLI procdefs.
t. After a clean compile or assembly copythe object module to NASYSLIB(O).
c. Copy the new object code toNASIS.NASYSLIB.
d. Update the master copy of the sourcecode. Use the NASISOUT procdef.
e. Make any changes necessary to the textof USEBJCIN and its backup, or to themessage file and its backup, to reflectthe new requirements of the module.
f. Inform the imolementor that he musterase his copy of the module sourcecode.
q. LINEEDIT the new or modified module intoNASISLIB(O). This is discussed inSection II, Topic I of this document.
F. Joining Users
The USERJOIN procedure is to be used to join allusers of the NASIS system. It includes allaspects of the system. The procedure forexecuting USEDJOIN is as follows:
The first time that a TSS-ID is to be JOINed, typein the following commands:
1. RELEASE SYSULIP2. CATALOG USERLIB,,U,NEW. NASIS.SYSTEM.USERLIB3. SHARE USERLIB,SALISR,USERJOIN4. ABEND
The rest of the procedure is automatic. Inaddition, USERJCIN creates a procedure calledREJOIN which contains the above commands.Therefore, sutsequent joins can be effected bysimply typing REJOIN.
NOTE: a second ABEND is prompted for, and MUST beentered to restore your original USERLIB.
The fcllowing is an example of this procedure:
>>>>>>>> IOGCN OP HANG UP.
PAGE 17
LOGON SAISR3,,24,,XTSS/360 LEVEL 8.1ENTER PASSWORDXXXXXXX
TASKID=006C LOGON AT 10:20 ON 10/15... RELEASE SYSULIB...CATALOG USEPLIB,U,U,NEW.NASIS.SYSTEN.USERLIB...SHARE USERLIE,SALISR,USERJOIN.. ABEND
NASIS JOIN INITIATED.NASIS MESSAGES INSERTEDNASIS PROCEDURES CREATED.NASIS FILES SHARED.
NASIS JOIN CCMPLETED.BSN=0359
NOTE: A USERID ANALYSIS IS BEING EXECUTEDSO THAT YOU MAY EXANINE THE RESULTSOF THE JCIN PROCEDURE.
*** TYPE ABENE TO RESTORE YOUR USERLIB ***TASK DELETED EY CONMANDNEW TASK LOGGED ON AT 10:32 ON 10/15/71. TASKID =
006FABENC
TASK DELETED EY CCMPANDNEW TASK LOGGED ON AT 10:33 ON 10/15/71. TASKID =
0071
G. Reserved Datasets, Modules, and Procdefs.
All NASIS system external names are reserved forthose TSS-IDs joined to the system. The reservedprocdef, builtin, synonym, default, libraries anddataset names can be determined by perusal ofAppendices A, B, and C. The TSS-ID SALISR** hasother restrictions on its datasets and procdefswhich can be determined by perusal of Section Cand Appendix r.
H. How tc program new modules and new commands.
In order to program new modules and/or commands towork in conjunction with the NASIS system, certainminimum requirements must be met. These are asfollows:
a. A working kncwledge of TSS.b. A working knowledge of PL/I,c. A wcrking knowledge of DBPL/I.d. A working kncwledge of TSPL/I
PAGE 18
e. A wocrking knowledge of NASIS.
1. Introduction
The design of the NASIS system is such thatspecial retrieval commands may be designedand irplemented in order to extend or refinethe system for a limited user population.This document will identify the steps to betaken to effect the addition of the newcommand. It is assumed that the design andimplementation of the command make use of thecapabilities of DEPAC and TS in the properfashion.
2. Implementation
After the new command modules have beendesigned and coded, the user should define ajob library to house the new command modules.He should then share the NASIS PL/I macrolibrary to obtain access to the preprocessorsand any of the data tables that are requiredby the new command. The command may then becompiled.
EXAMPLE:
USER: SHARE NASIS.SOURCE,SALISPSOURCE(cnly once)
USER: DDEF MYIIB,VP,MYLIB,OPTION=JOBLI8USER: DEEP LISRMAC,VP,NASIS.SOURCE.IISRMACUSER: VII ACOFMAND, ...
(supply PL/I options)
NOTE: The last three steps should berepeated as many times as necessary to obtainan error free compilation.
The next step is to define the command to thesystem. This can be accomplished by enteringSYNONYM myverb=*COEMAND.
where:
nyverb - identifies the command to beadded.
Specified as: a 1-8 charactername.
Next, assuming the command is a retrieval command,the user must modify the default symbol for user
PAGE 19
specified retrieval commands, RETVERBS. This canbe accomplished by entering
DEFAULT PETVERBS='myverb=mypqm'
where:
mvpgm - identifies the entry point to becalled when the command isencountered.
Finally, the changes should be stored in theuser's permanent profile by enteringPROFILE.
EXAMPLE:
The follcwinq example illustrates the abovesteps as they relate to the addition of the'FIELDS' command to the retrieval system.
USER: EDIT SOURCE.RDEFLDSSYSTEM: 0000100 (user enters sourcestatements)
USER: ENDUSER: DEF MODLIB,VP,MODLIB(O) ,OPTICN=JOBLIBUSER: DEEF IISRMAC,VP,SOUPCE.LISPMACUSER: PLI REBFLDS,(O=02,M,NT,SM=(2,72,1),-IC=60,A,X,L,E)SYSTFM: (compiles the program)USER: BEGIN NASISSYSTEM: -ENTER NASIS COMMAND:USER: SYNONYM FIELDS=*COMMAND;-rEFAULT BETVERBS='FIELDS=DBFLDS';-PROFILE.
NOTE: At execution time the job library mustbe defined before entering the 'BEGIN NASIS'command, so that the modules may be properlyloaded.
If the modules require any prompting ordiagnostic messages, these should beinserted into member LISPMLF ofNASYSIIB(0).
SLINKEITing NASIS
LINKEDITinq NASIS is done to accomplish two goals.First, to improve the running speed of the system.
PAGE 20
Secondly, to reduce the size of the objectlibrary, and thus increase the loadinq time of thesystem.
1. When to LINEEDIT
NASISLIE(0) is the LINKEDITed experimentalversion cf NASIS. It is usually being testedfor approval as the new running MTT system.Therefore, LINKEDITing into this libraryshould only be done after consulting withyour ERA.
2. How to LINKEDIT
Procdefs have been created to makeLINKEVITing as automatic as possible. Theseprocdefs are all listed in Section II, TopicL. Basically these procdefs do thefollowinq:
IINKALI - IINKEDITs all components ofNASIS.
IINKMAIN - LINKEDITS only the MaintenanceSubsystem.
IINKOUT - is used to backup all IINKEDITsource and object modules.
1INKPPNV - IINKEDITs the Batch PrintMonitor.
IINKREST - copies all miscellaneous modulesinto NASYSLIB(0).
IINKPET - LINKEDITs the RetrievalSubsystem.
LINKSUPF - LINKEDITs all support modules.
To LINKEDIT NASIS you must:
a. Insure that your task is in '32-bit'mode. Use the SET32 procdef.
t. Enter the appropriate LINK....,prccdef.
c. Backup the results.
EXAMPIE:
P&GE 21
SE132IIFKALLIIEKOUT NASISLIBVP
PAGE 22
APPENDIX A.
THE USERID ANALYSIS
LOGON TSSI
* ***,.....STANDARD USERID ANALYSIS..(09/09/71).....*****
$SPACEUSAGE$SPACEPROCDEFS$SPACEBUILTINS$SPACESYNONYMS$SPACEDEFAULTS$SPACEPOD? USERLIB$SPACEPC?$SPACEEDIT USERLIE(SYSHLF)LISTEND$SPACEEDIT USERLIE (SYSPRO)LIST
END$SPACEPOD? USEELIE,Y,Y,*ALL$SPACEDSS?$SPACE$APPENDPROCDEF TELLUSEEXCISE 100,LASTINSERT 100
PARAH $01,USERIE=$02PHONE $02,'*** $01 ***'ENDTELLUSER IUSERID ANALYSIS COMPLETE'PROCDEF TELLUSEFEXCISE 0,LASTEND
LOGOFF
PAGE 23
APPENDIX B.
THE USERIC CREATION
' *****.....SANDARD USERID CREATION.. (09/09/71).....***** '
* **********......DEFINE MSG IN ZLOGON.........**********PROCDEF ZLOGONEXCISE 0,LAST
ENDPROCDEF ZLOGONZZLOGONDISPLAY tUSERID CREATION FAILED IN EXECUTION.'DISPLAY IRE-ENTER BACK COMMAND.'END
I *
DEFAULT LIMEN=NDEFAULT LINENO=NDEFAULT DEPEOMPT=N* *
* *
*****.....DEFINE TEEPCRAVY PRCCDEF ISRSHARE.......****** V
PROCDEF ISRSHAREPARAM DATASET,OWNERIDSET OD='OnNERID*****'IF SYSTCM. (8,8) =0D; DELETE DATASETIF SYSTCM.(8,8)-=0DERASE DATASETIF SYSTCM° (8,8)-=OD;ELETE DATASETIF SYSTCM (8,8)-=0D;SHARE DATASET,OWNERID,DATASETEND
****.......EXCISE STANDARD USERID BUILTINS........**** V* |
PROCEEF EUILTINSEXCISE O,LASTPROCDEF CHECKEXCISE O,LASTPROCDEF CONEDITEXCISE O,LASTPROCEEF DEFAULTSEXCISE 0,LAST
PROCCEF DICTEXCISE 0,LAST
PROCEEF DSEXCISE 0,LAST
PROCEEF EMEXCISE 0,lASTPROCDEF ITCEXCISE 0,LAST
PAGE 24
PROCDEF LOOKIEEXCISE O,LAST
PROCDEF OWNSEXCISE O,LAST
PROCDEF PLI8EXCISE O,LASTPROCDEF PROCDEFSEXCISE O,LASTPROCDEF PRTEXCISE 0,LASTPROCDEF PTEXCISE 0,LAST
PROCDEF REDITEXCISE 0,LAST
PROCDEF SEQEXCISE 0,LAST
PROCDEF SORTEXCISE O,LAST
PROCDEF SYNONYMSEXCISE 0,LASTPROCDEF USERSEXCISE O,LASTPROCDEF VIEXCISE O,LASTPROCDEF WHIZEXCISE 0,LAST
* *****,.... .....DFLETE POSSIBLE SYNONYMS...........* *
SYNONYM BUILTINS=SYNONYM CHECKSYNONYM CONEDIT =SYNONYM DEFAULTS=SYNONYM DICT =SYNONYM DS =SYNONYM DM =SYNONYM ITCSYNONYM LOOKIE =SYNONYM OWNS =SYNONYM PLI8 =SYNONYM PROCCEPS=
SYNONYM PRT =SYNONYM PT =SYNONYM REDIT =SYNONYM SEQ =SYNONYM SORT =SYNONYM SYNONYMS=SYNONYM USERSSYNONYM VISYNONYM WHIZ =I |I
PAGE 25
* ****.......DEFINE SIANDARD USERID BUILTINS..°.....***
BUILTIN CHECK ITIMERBUILTIN CONEDIT ,CONECITBUILTIN DICT ,CZDICEBUILTIN DEFAULTS,DEFAULTSBUILTIN DS ,DISPAFfSBUILTIN DM ,tUMPAErSBUILTIN ITC ,CZCOTAI1BUILTIN LOOKIE ,ISLABBUILTIN OWNS ,OWNEPBUILTIN PLIS ,CFEAA8BUILTIN PROCDEFS,PRCCDEFSBUILTIN PRT ,PRTPAEMSBUILTIN PT ,PATPAEESBUILTIN REDIT ,REDITBUILTIN SEQ ,SEQPAF SBUILTIN SORT ,SRTBPKEBUILTIN SYNONYMS,SYNCNHISBUILTIN USERS ,CZAIE1EBUILTIN VI ,VIPARAFSBUILTIN WHIZ ,WHIZPAEMBUILTIN BUILTINS,BUILTINS
* *
S***.......EXCISE STANDARD USERID SYNONYMS........***** I
* *
PROCtEF EEXCISE 0,LAST
PROCDEF CANEXCISE 0,LASTPROCDEF CATEXCISE 0,LASTPROCDEF CONEXCISE 0,LASTPROCDEF COREXCISE O,LASTPROCDEFPEXCISE 0,LAST
PROCEEF DDEXCISE 0,LASTPROCEEF DDSEXCISE 0,LASTPROCEEF DEFEXCISE 0,LASTPROCEEF DIEEXCISE 0,LASTPROCEEF DSSEXCISE 0,LASTPROCCEF EREXCISE 0,LASTPROCCEF EXEXCISE 0,LAST
PAGE 26
PROCDEF EXPEXCISE O,LAST
PROCDEF GETEXCISE 0,LASTPROCDEF IEXCISE 0,LASTPROCDEF JBSEXCISE 0,LASTPROCDEF L?.EXCISE O,LASTPROCDEF LOEXCISE O,LAST
PROCDEF MODEXCISE 0,LAST
PROCDEF NUMEXCISE 0,LASTPROCDEF OFFEXCISE 0,LASTPROCDEF PCEXCISE 0,LASTPROCDEF PEREXCISE 0,LAST
PROCDEF PODEXCISE 0,LASTPROCDEF PREXCISE 0,LAST
PROCDEF PROCEXCISE 0,LASTPROCDEF PROFEXCISE 0,IAST,PROCDEF PUEXCISE 0,LASTPROCDEF QEXCISE 0,LASTPROCDEF REGEXCISE 0,LASTPROCDEF RELEXCISE 0,LASTPROCDEF REMEXCISE 0,LASTPROCDEF REVEXCISE 0,LASTPROCDEF SECEXCISE 0,LASTPROCDEF SHEXCISE 0,LASTPROCDEF SYNEXCISE 0,LAST
PROCDEF UNLEXCISE 0,LAST
PROCDEF UPDEXCISE 0,LASTPROCDEF X
PAGE 27
EXCISE OLASTPROCDEF XBTEXCISE 0,LAST
S*****.......DEFINE STANDARD USERID SYNONYMS.......*****
SYNONYM B =BRANCH ,CAT =CATALOGSYNONYM CON =CONTEIT COR =CORRECT ,D =DISPLAYSYNONYM DD =DDEF ,DDS =DDNAME? ,DEF =DEFAULTSYNONYM DIE =ABEND ,DSS =DSS?SYNONYM EX =EXECUTE ,EXP =EXPLAIN ,GET =EXCERPTSYNONYM I =INSERI ,JBS =JOBLIBS ,L? =LINE?SYNONYM LO =LOCATE ,MOD =MODIFY ,NUM =NUMBERSYNONYM OFF =IOGCFF ,PC =PC? ,PER =PERMITSYNONYM POD =POD? ,PR =PRINT ,PROC =PROCDEFSYNONYM PROF =PROFILE ,PU =PUNCR ,Q =QUALIFYSYNONYM REG =REGION ,REM =REMOVESYNONYM REV =REVISE ,SEC =SECURE ,SH =SHAPESYNONYM SYN =SYNONYM ,UNL =UNLOAD ,UPD =UPDATESYNONYM X =EXCISE ,XBT =EXHIBITI 1
S S
$ ***** °.....DIYINE STANDARD USERID DEFAULTS........**I S
DEFAULT ACCESS =RODEFAULT BREVITY =TDEFAULT BRIEF =MPDEFAULT LINES =60DEFAULT PMDLIST =YDEFAULT STORED =YDEFAULT PLIOPT =(O=02,M,NT,SM=(2,72,1),LC=60,A,X,L,E)DEFAULT PLIPACK =NDEFAULT PLCOPT =(NOPRINT)DEFAULT BATCHOUI=*********............ .BATCH OUTPUT -SEPARATOR............. ****
* *****.......EXCISE STANDARD USEPID PDOCDEFS........*****S *
PROCDEF $SPACEEXCISE 0,LAST
PROCDEF BATCHEXCISE 0,LAST
PROCDEF BATCH$$1EXCISE 0,LAST
PROCDEF BATCH$$2EXCISE 0,LAST
PROCDEF BATCH$$3EXCISE 0,IAST
PROCDEF BATCH$$4EXCISE 0,LAST
PROCDEF BATCHS$5
PAGE 28
EXCISE O,LASTPROCDEF CANEXCISE O,LASI
PROCDEF DAEXCISE O,LAST
PROCEEP EELEXCISE O,LASTPROCEEP DISEXCISE O,LASTPROCDEF DREXCISE O,LASIPROCDEF DUMEXCISE O,LASTPROCEEF EREXCISE )(LASTPROCDEF HALTEXCISE 0,LASTPROCVEF IDEXCISE 0,LAST
PROCEEF LPROCEXCISE OvLASPROCEEF PATEXCISE 0,LASTPROCrEF PLITEXCISE O,LAST
PROCDEF BELEXCISE O,LAST
PROCDEF RENAMEEXCISE O,LASTPROCEEF BETREGSEXCISE O,LASI
PROCDEF SETREGSEXCISE OLAST
PROCDEP SET24EXCISE O,LAST
PROCDEF SET32EXCISE O,LASTPROCEEF ZZLOGCNEXCISE O,LASI
*****..........DEIEIE POSSIBLE SYNONYMS............****** *
SYNONYM $SPACESYNCNYM BATCHSYNONYM BATCH$$1=SYNCNYM BATCH$$2=SYNONYM BATCH$$3=SYNCNYH EBATCH$$S =
SYNONYM BATCH$$5=SYNCNYM CAN =SYNONYM DA =
PAGE 29
SYNONYM DELSYNONYM DIS =SYNONYM DR =SYNONYM DUM =SYNONYM ER =SYNCNYM HALT =SYNONYM ID =SYNONYM LPROC =SYNONYM PAT =SYNONYM PLIT =SYNONYM REI =SYNONYM RENAME =SYNONYM RETREGS =SYNCNYM SETREGS =SYNONYM SET24 =SYNONYM SET32 =SYNONYM ZZLOGON
*****......DEFINE STANDARD USERID PROCDEFS........***+
PROCDEF $APPENDEND
PROCDEF $SPACEPARAM BATCHOUT=$01DISPLAY ' $01'DISPLAY ' $01'DISPLAY ' $C1'DISPLAY ' $01'DISPLAY ' $C1'
END
PROCDEF EATCHPARAM $01,$02,$03IF '$01'="';DISPLAY 'CANCELLEr: PROCEDURE NAME MISSING.'IF '$01'-1=' 8 ('$02'='I' I *$02'='E'):BATCH$$4 $01,$02IF '$01'-,='*;EFAULT EATCHPRO=$01,BATCHPRH=IF ('$01' -='' '$03'-='');DEFAULT BATCHPRM=',$03'IF '$01='';BACH$$1END
PROCDEF EATCH$$1PARAM BATCHPRO=$01,LIMEN=$W,LINENO=$YDEFAULT LINEVO=,LIMEN=N,SYSINX=EPROCDEF BATCH$$2
REVISE 200EXCERPT BATCH.$01.NAMES,,100END
DEFAULT LIMEN=$W,LINENO=$Y,SYSINX=GSET EATCHBIT=0BATCHS$2IF EATCHBIT=0;EPASE EATCH.$01.NAMES;SET BATCHBIT=1
PAGE 30
END*
PROCDEF EATCH$$2DEFAULT BATCH$ID=-BATCH$$2BATCH$$3END
I I
PROCDEF EATCH$$3PARAM BATCH$ID=$01,BATCHERC=$02,EATCHPRM=$03IF .('$01*='**END**' I '$01'='**SKIP**);$02 $01$03IF *$01'-=l**END**l;BATCH$$5IF *$01-I=**ENt**';EATCH$$1END
*
PROCDEF EATCH$$4PARAM $01,$02,LIMEN=$W,LINENO=$YDEFAULT LIMEN=N,LINENO=N,SYSINX=EIF '$02'='I':ERASE BATCH.$01.NABESEDIT BATCH.$01.NAMES
IF '$02'='E';CONTEXT 100,LAST,**END**'v.**SKIP**lEND
DEFAULT SYSINX=GDISPLAY 'ENTER THE NAMES TO BE PROCESSED.'EDIT BATCH.$O1.NAMES
INSERT LASTDEFAULT SYSINX=EEDIT BATCH.*01.NAMES**END**
ENDDEFAULT SYSINX=G,tINENC=$Y,LIMEN=$WEND
I I
PROCDEF EATCH$$5PARAM BATCHPRO=$01,IIEN=$V,LINENO=$YDEFAULT LIMEN=N,LINENO=N,SYSINX=EEDIT BATCH.$01NAES
EXCISE 100NUMBER 200,LAST,100,100END
DEFAULT LIMEN=$~LINENC=$Y,SYSINX=GEND
1 9
PROCDEF CANPARAM$01,$02,$03,$04,$05,$06,$07,$C8,$09,$10,$11,$12,$13,$14,$15CANCEL $01;IF '$02'- =';-CAN $02,$03,$04,$05,$06,$07,$08,$09,$10,$11,$12,$13,$14,$15END
* S
PROCDEF DAPARAM $01DISPLAY A'$01'
PAGE 31
END
PROCDEF DELPARAM$01,$02,$03,$04,$050,$6,$07,$08,$09,$10,$11,$12,$13,$14,$15DELETE $01;IF '$C2'-=";-DEL $02,$03,$04,$05,$06,$07,$C8,$09,$10,$11,$12,$13,$14,$15END
PROCDEF DISPARAM $01,$02,$03SETEGSDS $01,$02,$03END
I I
PROCEEF DRPARAN $01,$02IF '$01'=' & '$02'='';ISPLAY 0:15RIF 0$01-,='' 9 '$024-,=';DISPAY $01:$02RIF '$01'1='' 6 '$02'=';DISPLAY $01R
IF '$01'='' & '$02-'='';DISPLAY 0:$02REND
PROCDEF DUNPARAM $01,$02,$03SETREGSDM $01,$02,$03END
PROCDEF ERPARAM$01,$02,$03,$04,$05,$06,$07,$08,$09,$10,$11,$12,$13,$14,$15ERASE $01;IF '$02' =';-ER $02,$03,$04,$05,$C6,$07,$08,$C9,$10,$11,$12,$13,$14,$15END
PROCDEF HALTPARAM HALTADDR=$C1,$02,$03SET SAVE$$$=OD,SAVE$$$2=2D,OD='$01 ',2D='0
IF *$01'-,= & OC > 2D:DEFAULT HALTADDR='$01';AT $01.-(X'0$02') $03;STOPIF 0D -I> 2D;DEFAULT HAITADDR='$01';AT L'$01'.(X'O$02')-$03;STOPSET OD=SAVE$$$1,2D=SAVE$$$2END
PROCDEF IDPARAM $01DISPLAY ID? L'$C1'END
SPROCPROCDEF LPROC
PAGE 32
PARAM $01,PRLINE=$02,SYSINX=$G,LIMEN=$W,LINENO=$YDEFAULT SYSINX=E,LIMEN=TIF 1$021- =":DEFAULT LINENC=NDISPLAY '....... $01 ........EDIT USERLIB(SYSPRO)
REGION $01LIST O,LASTEND
DEFAULT SYSINX=$G,LIMEN=$W,LINENO=$YEND
PROCDEF PATPARAM $01,$02,$C3SETREGSPT $01,$02,$03END
PROCDEF PLITPARAM NAME=$01,FLIOPT=$02,PLCOPT=$03,SOURCEDS=$04,-MACRODS=$05,TOPITB=$06DDEF PLILIB,VP,PLILIE,,,,,,OLD,JOBLIBLOAD CFBAACATALOG GDG=LIST.$01,1,0,YDDEF PLILIST,VS,IIST.$01 (+1) ,,,,,,NEW,RET=TLUIF '$061='.;JCBLIBS SYSULIBIF '$06'-=";JOELIBS $06PLI8 NAME=$01,PLIOPT=$02,PLCOPT=$03,SOURCEDS=$04,MACBODS=$05RELEASE PLILIBEND
PROCDEF RELPARAM$01,$02,$03,$04,$05,$06,$07,$08,$09,$10,$11,$12,$13,$14,$15RELEASE $01;I *$02'-='';-REL $02,$03,$04,$05,$06,$07,$08,$09,$10,$11,$12,$13,$14,$15END
PROCEEF RENAMEPARAN $01,$02CATALOG $01,U,U,$02END
PROCDEF RETREGSPARAM LIMEN=$01DEFAULT LIMEN=W;SETL'6E4':L'6E7'=REGS. (52,4),L'6EC':L'6F3'=REGS. (56,8)SET L'6F4':L'727'=REGS. (0,52);DEFAULT LIMEN=$01END
I I
PROCDEF SETREGSPARAM LIMEN=$01DEFAULT LIMEN=W;-SET REGS.(52,4)=1'6E4:1'6E7',REGS. (56,8)=L6EC' :L'6F3'
PAGE 33
SET REGS.(0,52)=1'674':1'727';DEFAULT LIMEN=$01END
I I
PROCDEF SET24SET L692'=X'08'ABENDEND
7 1
PROCDEF SET32SET L'692'=X'OA'ABENDEND
t I
PROCEEF ZZLCGONDDEF UTILITYS,VP,UTIII!YS(O) ,CPTICN=JOBLIBJOBLIES SYSULIBEND
I I
* ****...........SHARE UTILITYS DATASET.......,...***** '
ISRSHARE UTILITYS,SAUTYISRSHARE PLILIB,SALISBI I
* *
S*****... .. DELETE TEMPORARY PROCDEF ISRSHARE,......*****
PROCCEF ISRSHARIEXCISE 0,LAST
END* I
* *****..........FINISH JOE AND LOGCFF...... ..... *****
DEFAULT LINEN=WDEFAULT LINENO=YDEFAULT DEPROMPI=YPROFILE
PROCDEF ZLOGONEXCISE 200,300END
PHONE SALISR,'USERID CREATICN COMPLETE.'
LOGOFF
PAGE 34
APPENDIX C,
USERJCIN
*,..LISTING OF THE COMICNENTS OF THE NASIS SYSTEM USERJOIN..*
********.........USERJOIN 21OGON PROCEDURE..........********
PROCDEF ZLOGONDISPLAY INASIS JOIN INITIATED.'JOINRECORDDISPLAY ' NASIS FILES SHARED.'RELEASE SYSULIBDELETE USERLIBCATALOG NEW.NASIS.SYSTIM.USERLIB,U,U,USERLIBDISPLAY 'NASIS JOIN COPTIETED.'DELETE THE.USERIDSHARE THE.USERID,SALISE,THE.USERIDEXECUTE THE.USEFID.ANALYSISDISPLAY 'NOTE: A USERID ANALYSIS IS BEING EXECUTED'DISPLAY ' SO THAT YOU MAY EXAMINE THE RESULTS'DISPLAY ' CF THE JCIN PROCEDURE.'DISPLAY '*** TYPE AB!NE TO RESTORE YOUR USERLIB ***'
*******.,........USERJOIN JOIN PROCEDURE..........*******
PROCDEP JOINPARAM LIMEN=$WDEFAULT SYSINX=EERASE NEW.NASIS.SYSTEM.USERLIB(SYSPRD)EDIT NEW. NASIS.SYSTEM.USERLIB (SYSLF)REGION CZCDL003; REVISE 0
ISA $1 IN $2 UNrEFINED.REGION CZCDL005;_REVISE 0
ISA MODULE $1 HAS LEVEL $2 ERRORS.REGION CZCDL02C;_REVISE 0
ISA PROCEEEING: ENTRY POINT $01, MODULE $02 DUPLICATES ENTRYPOINT IN MODULE $03.REGION CZCrL021;_REVISE 0
ISA PROCEEDING: CSECT $01, MODULE $02 DUPLICATES A CSECT INMODULE $03.REGION MTTSUP01;_EXCISE 0,LASTREGION MTTSUP02;_EXCISE 0,LASTREGION MTTSUP03;_EXCISE 0,LASTREGION MTTSUPO4;_EXCISE 0,1ASTREGION MTTSUPO5;_EXCISE 0,LASTREGION MTTSUP06;_ EXCISE 0,1AST
PAGE 35
REGION MTTSUP07;_ EXCISE 0,1ASTREGION MTTSUP08; EXCISE 0,LASTREGION MTTSUP09;_EXCISE 0,1ASTREGION MTTSUP10;_EXCISE 0,LASTREGION MTTSUP11; _EXCISE 0,ASTREGION MTTSUP12; EXCISE 0,LASTREGION MTTSUP13;_EXCISE 0,IASTREGION MTTSUP14;_EXCISE O,LASTREGION MTTSUP15; _EXCISE 0,IASTREGION MTTSUP16;_EXCISE 0,LASTREGION MTTSUP17;_EXCISE 0,IASTREGICN MTTSUP18; _EXCISE 0,LASTREGION MTTSUP1S;_EXCISE 0,LASTREGION MTTSUP20:;EXCISE 0,LAST
_REGION MTTSUP21;_EXCISE 0,IASTREGION MTTSUP22;_EXCISE 0,LASTREGION MTTSUP23; _EXCISE 0,LASTREGION MTTSUP24;_EXCISE O,LASTREGION MTTSUP25; _EXCISE 0,ASTREGION MTTSUP99;_EXCISI 0,LASTEND
DISPLAY ' NASIS MESSAGES INSERTED.'EDIT NEW.NASIS.SYSTEM.USERIIB(SYSPRO)REGION EACKEXSF;_EXCISE 0,LASTREGION BACKSRCH;_EXCISE 0,LASTREGION $BEGIN;_EXCISE 0,LASTREGION ACCUM; EXCIS 0,LAST;_INSERT 0,100
PROCDEF ACCUM;PARAM $01,$02,$03,$04,$05,$06,$07,$08,$09,$10IF NASISMTT-=1;DDEFNASISLIB,VP,NASISLIB(0),DISP=CLD,OPTION=JOBLIBCALL RDBACCUM,'$01,$02,$03,$04,$05,$06,$07,$08,$09,$10'REGION BEGIN; _EXCISE 0,LAST;_INSERT 0,100PROCDEF EEGINPARAM $01IF NASISMTT-=1: DDEF NASISLIB,VP,NASISLIB(0),OPTION=JOBLIBIF NASISMTT-=1; DDEF DEALIB,VE,DEALIE(0),OPTION=JOELIBIF NASISMTT-=1; LOAD NASISX; SET NASISMTT=1IF '$01'='NASIS'; CALL NASISIIF $l01'='PRINTS'; CALL NASISPREGION CANSRCH;_EXCISE 0,LASTREGION COPY;_EXCISE 0,IAST; _INSERT 0,100PROCDEF COPY
PARAM OPTION=$01,NAME=$02IF '$01'='PROFILE'; COPYPROIF '$01'='FORMAT' & '$02'-=''; CCPYFMT '$02'IF '$01'='STRATEGY' C '$02'=''; COPYSTR '$02'IF "('$01'='PROFILE' '$01'='FORMAT' I '$01'='STRATEGY') I('$01'='FORMAT' 8 '$02'=9') -
I ('$01'='STRATEGY' & '$020=''); DISPLAY 'CANCELLED: INVALIDOR MISSING PARAMETERS.'REGION COPYFMT;_EXCISE 0,LAST;INSERT 0,100
PROCDEF COPYFMT
PAGE 36
PARAM REGION=$O1,WNERID=$02,CLDID=$03,NEWID=$04DELETE ORIGINAL. STRATEGY.LIBRARYSHARE ORIGINAL.STRATEGY.LIBBARY,$02,$03.STRATEGY.LIERARYCDS ORIGINAL.STRATEGY.LIERARY( $01),$04.STRATEGY.LIBRARYDELETE ORIGINAL.STRATEGY.LIBRARYREGION COPYPRO;_EXCISE 0,LAST;_INSERT 0,100PROCDEF COPYPEC
PARAM OWNERID=$01,OLDID=$02,NEWID=$03,LIMEN=$WDEFAULT LIMEN=TDELETE ORIGINAL. PROFILE.LIBRARYSHARE ORIGINAI.PROFILE.LIBRARY,$01,NASIS.PROFILE.LIBRARYERASE INTERIM.PRCFILE.LIERARYRELEASE PROCOPY1DDEF PROCOPY1,VP,INTERIr.PROFILE.LIBRARYCDS ORIGINAL.PRCFILE.LIBEAFY ($02) ,INTRIM.PROFILE.LIERARYIF '$02'-='$03'; WHIZPRO '$02','$03'RELEASE PROCOPY2DDEF PROCOPY2,VP,NASIS.PROFILE.LIBRARYCDSINTERIM. PROFILE.LIERARY ($03) ,NASIS.PROFILE.LIBRARY,REPLACE=RERASE INTERIM.PRCPILE.IERARYRELEASE PROCOPY2DELETE ORIGINAL.PROFILE.LIBRARYDEFAULT LIMEN=$WREGION COPYSTR;_EXCISE 0,IAST;INSERT 0,100PRCCDEF COPYSTE
PARAN REGION=$01,0WNERID=$02,OLDID=$03,NEWID=$04DELETE ORIGINAL.STRATEGY.LIERARYSHARE ORIGINAL.STRATEGY.LIBRARY,$02,$03.STRATEGY.LIBRARYCDS ORIGINAL.STRATEGY.LIBRARY($01),$04.STRATEGY.LIBRARYDELETE ORIGINAL.STRATEGY.LIBRARYREGION $CORRECT;_EXCISE 0,LASTREGION DELSTRAT; EXCISE 0,1ASTREGION ENTER;_EXCISE 0,LASTREGION EXPAND;_EXCISE O,LASTREGION EXSEARCB;_EXCIST 0,LASTREGION FIELDS;_EXCISE 0,LASTREGION FINISH;_EXCISE O,LASTREGION FORMAT;_EXCISE 0,LASTREGION GENERATE;_EXCISE 0,LASTREGION GFIELDS;_EXCISE 0,IASTREGION READER;_EXCISE 0,LASTREGION KEEP;_EXCISE 0,IASTREGION LATLON; FXCISE C,LASTREGION LIMIT;_EXCISE O,LASTREGION MTTRESET;_EXCISE O,LASTREGION NAME;_EXCISE 0,IASTREGION NASISMTT;_EXCISE 0,LAST;_INSERT 0,100PROCDEF NASISMTTPARAM $01IF NASISMTT-=1; DDEF NASISIIB,VP,NASISLIB(O),OPTION=JOBLIBIF NASISMTT-=1: EDEF DEALIE,VP,DEALIB(O) ,OPTION=JOBLIBIF NASISMTT-=I; DDEF MITLIB,VPMTTLIB(O) ,,,,,,OLD,JGBLIB
PAGE 37
IF NASISHTT-=1; LOAD NASIS; SET NASISMTT=1IF '$01'='; NTT NASIS,50,102,256REGION PAGE;_EXCISE 0,IASTREGION PRTDESC;_EXCISE 0,LASTREGION RECORD; EXCISE 0,LASTREGION PRCOPIES;_EXCISE 0,LAST;INSERT 0,100
PROCDEF PRCOPIESIF CCOUNT>0;PRINT LIST.STATS(0),PRTSP=EDIT;SETCCOUNT=CCOUNT-1;FRCOPIESREGION REJOIN;_ EXCISE 0,LAST;_INSERT 0,100
PROCDEF REJOINRELEASE SYSULIBCATALOG USERLIB,U,U,NE.NASIS.SYSTEM.USERLIBSHAPE USERLIB,SALISR,USERJOINABENDREGION EEPOPT;_EXCIS! 0,LAST;INSERT 0,100PROCDEF REPORTPARAM COPIES=$01SET CCOUNT=1IF '$01''='";SET CCOUNT=$01IF NASISMTT-=1;DDEFNASISLIB,VP,NASISLIB (0) ,DISP=CLD,OPTION=JOBLIBCATALOG GDG=LIST.STATS,1,O,YDDEF REPORT,VS,IIST.STATS(+1),DISP=NEW,RET=TLUCALL FDBPFNTRRELEASE REPORTPRCOPIESREGION RERUN;_EXCISE 0,LASTREGION RESTART;_EXCISE 0,LASTREGION REVIEW;_EXCISE 0,LAST;_INSERT 0,100PROCEEF REVIEWPARAM $01,SYSINX=$G,LINENO=$YDEFAULT SYSINX=E,LINENO=NEDIT NASIS.NEWS
IF 9$01'-='';_REGION $01;_LIST 100,LASTIF '$01'='';_IISTEND
DEFAULT SYSINX=$G,LINENC=$YREGICON SAVE;_EXCISF 0,LASTREGION SEARCH;_EXCISE 0,LASTREGION SELECT;_EXCISE 0,LASTREGION SHARING;_EXCISE 0,1AST;_INSERT 0,100PROCDEF SHARING
PARAM MODE=$01,NASISID=$02,1IMEN=$WDEFAULT LIMEN=TIF ('$01'='ON I '$01'='OFF) I '$02'='; DISPLAY'CANCELLED: INVALID OR HISSING PAPAMETERS,'IF '$01'='ON' 8 '$02'-=I; PERMIT$02.STRATEGY.LIERARY,*AIL,RO; -PERMIT NASIS.PRCFILE.LIERARY,*AI,RCIF '$01'=*'OF' & '$021,=',; PERMIT$02.STRATEGY.LIPRARY,*AIR; -PERMIT NASIS.PRCFILE.LIERARY,*ALL,R
PAGE 38
DEFAULT LIMEN=$WREGION STORE;_EXCISE 0,IASTREGION STRATEGY;_EXCISE 0,LASTREGION TITLE;_EXCISE 0,1ASTREGION USING;_EXCISE C,LAST;_INSERT 0,100
PROCDEF USINGPARAE OWNERID=$01,OLDIE=$02,NEWID=$03IF ('$01'='' I '$02'='); DISPLAY 'CANCELLED: INVALID ORHISSING PARAMETERS.'IF -('$01'='' I '$029=''); DEFAULT CWNERID=$01; DEFAULTCLDID=$02; DEFAULT NEWIt=$03IF - ($01'="'' '$02'='') 8 '$03'='': DEFAULT NEWID=$02REGION VHIZPRO;_EXCISE 0,1AST;_INSEBT 0,100
PROCDEF WHIZPEOPARAM $01,$02,SYSINX=$GDEFAULT SYSINX=EWHIZ INTERIM.PRCFILE.IIBRARYSTOW C $01,$02RUNDEFAULT SYSINX=$GREGION ZLOGON: EXCISE C,LAST;_INSERT 0,100PRCCDEF ZLOGONSET NASISMTT=OZZLOGONENDDISPLAY ' NASIS PROCEURS CREATED.'ISRSHARE NASISLIB,SAISE,NASISLIBDDEF NASISLIB,VP,NASISLIB(0) ,,,,,,OLD,JOBLIBCALL RUSERIDISRSHARE MTTLIB,SALISRISRSHARE NASIS.USERIDS,SADBAISRSHARE DELIB,SAEAISRSHARE SACWNEP.DB2TDE,SADBA,SADBA.DB2TDBISREUILD TRNSCTDEFAULT LIMEN=TDELETE NASIS.STATICERASE NASIS.STAIICDEFAULT LIMEN=$WDDEF NS,VI,NASIS.STATIC,DISP=NEWCDS NASISLIE(0) (STATIC) ,NASIS.STATICRELEASE NSISRSHARE JOINIDS,SAEEAMODIDSDELETE JOINIDSDEFAULT SYSINX=G
*********.........USEPJCIN RECORD PROCEDURE........* 1
PROCDEF RECORDPARAM USERID=$01,SYSINX=$EDEFAULT SYSINX=E
PAGE 39
EDIT NEW.NASIS.SYSTEM.USERLIB(SYS.MLF)REGION NASISVI:;_EXCISE 0,LAST:;INSERT 0
ISA $01 HAS BEEN JOINED TO BASIS VERSION 2.0 (12-01-72)°.END
DEFAULT SYSINX=$E
PAGE 40
APPENDIX D.
VASIS MODULES
MODULE NAME LANGUAGE
ANALYSIS TSSCREATION TSSLISRMAC PtALISI11IF ENGMODLIP NONM TT LIE N/ANASISLIB N/ANASYSLIF N/IANASISPRO N/ANASISX ASMRCCLIST PLIRDELIST PLIRDBACCUM PLIUDDATTV PI
RDBCLPN Pt IBDBCMNE PLIRDBCO!FNT PLIRDECOPR PLTRDBD!1IVE PLIPDBESFL PLTRDBEDAC PLTRDBEDAB PIRDBEDCM DLiRDEUCP PIRDBEDCS PL1RrEfrlE PLARDBEDDI PIRDEEDtl PTRDBEDrp PLIRrBEDID PITDBEDF1 PIPDBDES PL1RDBEDIN PLTPDBED1V PLTIFDBEDMO Pt IEDBDD!' PLIRDBEDFB PLIRDEELS I'LTRDBBDFT PLIRDfDDV PIRDBEDSS PL I
RDBEXI2S. Pt IRDBIEL PLIRDBEXSR PLIRDBFLD.S Pt!
PAGE 41
RrBFOFMPLIRDBGEIVR PL IRDBGIrS Pt!RDBII4DH2 PLIRVEIVIT PLIRDBJOIN DLI
RDPLATIPLIRDBIDEK PLIFrBLIST PUIRDBIOAD PLIREBAIN PLIRDBPIEEGE DL!RUEPILT Pt!RDBHNIW PLI
RDBHTTPUIRDBPAC Pt'RuplltIK ASPIRDBPRIWT PLI
RDBPRNTMPL!RDBPBR P LIRDEPRINT Pt!RDBPPC PL IRDBSETS PliRDBSFI!T PLIRrEsIVRT DLIRDBSICT PLIREBSTAT PLIRDBSTVIP PLIRDBSTPT PLIRDBIIE AS HRrBTSSIO ASPIRDBUDDST PLIFrBUSTR Pt!RDBVERBS PLIRUBV S ASHRDBVR'IT Pt!RrEpyNU DLIRINDEX ASHRETTSUP ASHRSOURCE ASHRTIPIEFS ASHRTSATTW ASPIRTSPRC ASPIFTSSTRT ASHRTS'TFSTX ASHR!ESUPER AS HRTS11iX 10 ASHRUSEPID ASPIST AT IC TSSTR NSCI TSSTR BNS Cl TSSTSERJCIN TSSUTILITY S NON