Google
 

Trailing-Edge - PDP-10 Archives - BB-4148F-BM_1984 - uetp/dbms20.ver
There is 1 other file named dbms20.ver in the archive. Click here to see a list.
!	DBMS20.VER	for DBMS-20 Version 6.1		Jun-84

!                     Copyright (C) 1984 by
!             Digital Equipment Corporation, Maynard, Mass.
! 
!      This software is furnished under a license, and may be used
!      or copied only in accordance with the terms of that license.

!	Installation verification test of DBMS-20 using UETP.
!	Timings: Approx 2 min CPU, 12 min connect.

@DEFINE UTP: PS:<UETP.LIB>
@DEFINE DSK: PS:<UETP.DBMS>,UTP:



BEGIN::

! Files needed in the UETP area:

!	DBMS20.VER	This file
!	DTORD.DDL	General Schema and test
!	DTORDR.CBL
!	DTORDR.FML

@DEFINE JRN: DSK:


@RUN UTP:SENDER
*TYPE START
*BLABEL BEGIN:
*TEST DBMS20
*SEND Start of DBMS test.
*EXIT

!	Clean up area
!	Running in a controlled environment, so wildcards allowed.
@NOERROR
@DELETE DSK:*.*
@EXPUNGE DSK:
@ERROR



TSTCK::
!	Check for required test files.
@ERROR %
@DIRECT UTP:DTORD.DDL,UTP:DTORDR.CBL,UTP:DTORDR.FML
@IF (NOERROR) @GOTO UTLCK

TSTF1::
@ERROR
@RUN UTP:SENDER
*TEST DBMS20
*TYPE ERROR
*BLABEL TSTCK:
*SEND DBMS test files are missing from PS:<UETP.LIB>. Test aborted.
*EXIT
@GOTO ENDIT



UTLCK::
!	Check for all required DBMS utilities.
!	Assume all are OK
@COPY NUL: DSK:DTUTL.OK

UTLC1::
@GET SYS:DBINFO
@IF (ERROR) @GOTO UTLF1
@INFORMATION VERSION
@GOTO UTLC2

UTLF1::
@RUN UTP:SENDER
*TEST DBMS20
*TYPE ERROR
*BLABEL UTLC1:
*SEND DBMS utility SYS:DBINFO.EXE not found.
*EXIT
@NOERROR
@DELETE DSK:DTUTL.OK,
@EXPUNGE
@
@ERROR

UTLC2::
@GET SYS:DBMEND
@IF (ERROR) @GOTO UTLF2
@INFORMATION VERSION
@GOTO UTLC3

UTLF2::
@RUN UTP:SENDER
*TEST DBMS20
*TYPE ERROR
*BLABEL UTLC2:
*SEND DBMS utility SYS:DBMEND.EXE not found.
*EXIT
@NOERROR
@DELETE DSK:DTUTL.OK,
@EXPUNGE
@
@ERROR

UTLC3::
@GET SYS:FORDML
@IF (ERROR) @GOTO UTLF3
@INFORMATION VERSION
@GOTO UTLC4

UTLF3::
@RUN UTP:SENDER
*TEST DBMS20
*TYPE ERROR
*BLABEL UTLC3:
*SEND DBMS utility SYS:FORDML.EXE not found.
*EXIT
@NOERROR
@DELETE DSK:DTUTL.OK,
@EXPUNGE
@
@ERROR

UTLC4::
@GET SYS:SCHEMA
@IF (ERROR) @GOTO UTLF4
@INFORMATION VERSION
@GOTO UTLC5

UTLF4::
@RUN UTP:SENDER
*TEST DBMS20
*TYPE ERROR
*BLABEL UTLC4:
*SEND DBMS utility SYS:SCHEMA.EXE not found.
*EXIT
@NOERROR
@DELETE DSK:DTUTL.OK,
@EXPUNGE
@
@ERROR

UTLC5::
@GET SYS:XDML
@IF (ERROR) @GOTO UTLF5
@INFORMATION VERSION
@GOTO HLPCK

UTLF5::
@RUN UTP:SENDER
*TEST DBMS20
*TYPE ERROR
*BLABEL UTLC5:
*SEND DBMS utility SYS:XDML.EXE not found.
*EXIT
@NOERROR
@DELETE DSK:DTUTL.OK,
@EXPUNGE
@
@ERROR



HLPCK::
!	Check for required utility help files.
!	Assume all there
@COPY NUL: DSK:DTHLP.OK

HLPC1::
@ERROR %
@DIRECT HLP:DBINFO.HLP
@IF (NOERROR) @GOTO HLPC2
@ERROR
@RUN UTP:SENDER
*TEST DBMS20
*TYPE ERROR
*BLABEL HLPC1:
*SEND DBMS help file HLP:DBINFO.HLP not found.
*EXIT
@NOERROR
@DELETE DSK:DTHLP.OK,
@EXPUNGE
@


HLPC2::
@ERROR %
@DIRECT HLP:DBMEND.HLP
@IF (NOERROR) @GOTO HLPC3
@ERROR
@RUN UTP:SENDER
*TEST DBMS20
*TYPE ERROR
*BLABEL HLPC2:
*SEND DBMS help file HLP:DBMEND.HLP not found.
*EXIT
@NOERROR
@DELETE DSK:DTHLP.OK,
@EXPUNGE
@

HLPC3::
@ERROR %
@DIRECT HLP:FORDML.HLP
@IF (NOERROR) @GOTO HLPC4
@ERROR
@RUN UTP:SENDER
*TEST DBMS20
*TYPE ERROR
*BLABEL HLPC3:
*SEND DBMS help file HLP:FORDML.HLP not found.
*EXIT
@NOERROR
@DELETE DSK:DTHLP.OK,
@EXPUNGE
@

HLPC4::
@ERROR %
@DIRECT HLP:SCHEMA.HLP
@IF (NOERROR) @GOTO HLPC5
@ERROR
@RUN UTP:SENDER
*TEST DBMS20
*TYPE ERROR
*BLABEL HLPC4:
*SEND DBMS help file HLP:SCHEMA.HLP not found.
*EXIT
@NOERROR
@DELETE DSK:DTHLP.OK,
@EXPUNGE
@

HLPC5::
@ERROR %
@DIRECT HLP:XDML.HLP
@IF (NOERROR) @GOTO SCHCK
@ERROR
@RUN UTP:SENDER
*TEST DBMS20
*TYPE ERROR
*BLABEL HLPC5:
*SEND DBMS help file HLP:XDML.HLP not found.
*EXIT
@NOERROR
@DELETE DSK:DTHLP.OK,
@EXPUNGE
@



SCHCK::
!	Now copy the DDL and run SCHEMA
!	Is SCHEMA failure, no point in going on
@ERROR
@COPY UTP:DTORD.DDL
@RUN SYS:SCHEMA
*/HELP
@IF (ERROR) @GOTO SCHF1
@ERROR %
*DTORD=DTORD.DDL
@IF (ERROR) @GOTO SCHF1
*^Z
!	Now copy the database files and lock files
!	for repeated executions using fresh copies
@COPY DSK:DTORD.LOK DSK:DTORD.LOC
@COPY DSK:DTORD1.DBS DSK:DTORD1.DBC
@COPY DSK:DTORD2.DBS DSK:DTORD2.DBC
@COPY DSK:DTORD3.DBS DSK:DTORD3.DBC
@COPY DSK:DTORD4.DBS DSK:DTORD4.DBC
@GOTO FMLCK

SCHF1::
@ERROR
@RESET
@RUN UTP:SENDER
*TEST DBMS20
*TYPE ERROR
*BLABEL SCHCK:
*SEND SCHEMA test produced fatal errors. Test aborted.
*EXIT
@GOTO ENDIT



FMLCK::
!	Do the FORTRAN DML transalation, even if no FORTRAN
@ERROR
@RUN SYS:FORDML
*/HELP
@IF (ERROR) @GOTO FMLF1
@ERROR %
*DTORDR=DTORDR.FML/CHARACTER
@IF (ERROR) @GOTO FMLF1
*^Z
@ERROR
@GOTO XDMCK

FMLF1::
@ERROR
@RESET
@RUN UTP:SENDER
*TYPE ERROR
*BLABEL FMLCK:
*TEST DBMS20
*SEND FORDML test produced fatal errors.
*EXIT
@NOERROR
@DELETE DSK:DTUTL.OK,
@EXPUNGE
@



XDMCK::
!	Use XDML to create an Order Entry database
@ERROR
@RUN SYS:XDML
*HELP
@IF (ERROR) @GOTO XDMF1
@ERROR %
*INVOKE SUB-SCHEMA DTSSOC OF SCHEMA DTORD
*ORDER
*OPEN ALL USAGE-MODE UPDATE
*SHOW DATABASE
*ACCEPT IDAREA
*CUSAREA
*ACCEPT ORDSUM
*1
*
*0
*STORE ORDSUM
*ACCEPT PROD
*KA10
*CENTRAL PROCESSOR
*140000
*0
*0
*0
*0
*0
*0
*STORE PROD
*ACCEPT PROD
*DF10
*DATA CHANNEL
*14000
*0
*0
*0
*0
*0
*0
*STORE PROD
*ACCEPT SLSENG
*HOGAN, R.
*MAYNARD
*617897-5112968
*
*STORE SLSENG
*ACCEPT SLSENG
*CARMICHAEL, R.
*SANTA ANNA
*714979-2460   2
*
*STORE SLSENG
*ACCEPT CUSTOM
*DEC
*0
*
*ACCEPT STREET
*146 MAIN ST.
*ACCEPT CITY
*MAYNARD
*ACCEPT STATE
*MASS.
*ACCEPT ZIP
*01754
*STORE CUSTOM
*ACCEPT SLSENG-NAME
*HOGAN, R.
*FIND SLSENG
*FIND CUSTOM
*INSERT CUSTOM INTO SLSCUS-SET
*ACCEPT PURORD
*1
*071173
*0
*0
*
*STORE PURORD
*ACCEPT ORDSUM
*2
*
*1
*ACCEPT ITEM
*1001
*KA10
*1
*140000
*
*ACCEPT PROD-NO
*KA10
*FIND PROD RECORD
*ACCEPT PROD-ON-ORDER
*1
*MODIFY PROD PROD-ON-ORDER
*STORE ITEM
*FIND PURORD
*ACCEPT PURORD
*
*
*1
*140000
*
*MODIFY PURORD
*FIND FIRST ORDSUM RECORD OF ORDAREA AREA
*MODIFY ORDSUM ORDSUM-ORDERS,ORDSUM-NO
*CLOSE RUN-UNIT
*SHOW DATABASE
*EXIT
@IF (ERROR) @GOTO XDMF1
@ERROR
@GOTO INFCK

XDMF1::
@ERROR
@RESET
@RUN UTP:SENDER
*TEST DBMS20
*TYPE ERROR
*BLABEL XDMCK:
*SEND XDML test produced fatal errors.
*EXIT
@NOERROR
@DELETE DSK:DTUTL.OK,
@EXPUNGE
@



INFCK::
!	Use DBINFO to examine the Order Entry database
@ERROR
@RUN SYS:DBINFO
*HELP
@IF (ERROR) @GOTO INFF1
@ERROR %
*SCHEMA DTORD
*SS
*OPEN ALL
*SUPERSEDE DTORD
*DISPLAY CALC
*DISPLAY USAGE
*DISP DATA
*DIS
*CLOSE ALL
*EXIT
@IF (ERROR) @GOTO INFF1
@DIRECT DTORD.DBI
@IF (ERROR) @GOTO INFF1
@ERROR
@GOTO MNDCK

INFF1::
@ERROR
@RESET
@RUN UTP:SENDER
*TEST DBMS20
*TYPE ERROR
*BLABEL INFCK:
*SEND DBINFO test produced fatal errors.
*EXIT
@NOERROR
@DELETE DSK:DTUTL.OK,
@EXPUNGE
@



MNDCK::
!	Use DBMEND to manipulate and abstract the journal
!	Merge in all before images, then all orig after images
@ERROR
@RUN SYS:DBMEND
*HELP
@IF (ERROR) @GOTO MNDF1
@ERROR %
*JOURNAL DTORD
*START
*END
*ABSTRACT DTORD
*BUILD DTORDB
*CLOSE JOURNAL
*SCHEMA DTORD
*JOURNAL DTORD
*OPEN ALL
*START
*END
*TRACE
*MERGE BEFORE
*ST
*EN *:21
*TRAC
*MERGE AFTER
*CLOSE RUN-UNIT
*EXIT
@IF (ERROR) @GOTO MNDF1
@DIRECT DTORD.ABS
@IF (ERROR) @GOTO MNDF1
@DIRECT DTORDB.ABS
@IF (ERROR) @GOTO MNDF1

!	Now verify some orig data, then abort a jrnled transaction
@ERROR
@RUN SYS:XDML
@ERROR %
*INVOKE SUB-SCHEMA DTSSOC SCHEMA DTORD
*ORDER
*OPEN ALL USAGE UPD
*ACCEPT IDAREA
*CUSAREA
*FETCH FIRST ORDSUM RECORD OF ORDAREA AREA
*ACCEPT PROD-NO
*DF10
*FETCH PROD
*ACCEPT CUST-NAME
*DEC
*FIND CUSTOM
*GET CUSTOM
*DISPLAY
*ACCEPT ORDNUM
*1
*FETCH PURORD
*FETCH FIRST ITEM REC OF ORDITM-SET SET
@IF (ERROR) @GOTO MNDF1
*!
*! NOW THE TRANSACTION PART
*!
*OPEN TRANSACTION
*ACC CUSTOM
*DEC-WEST
*
*OREGON
*STORE CUSTOM
*FIND FIRST REC CUSAREA AREA
*MODIFY CUSTOM CUST-KEY
*DEFINE FN
*FIND NEXT REC CUSAREA AREA
*END
*SHOW USER-DEFINED-COMMAND FN
*FN
*MODIFY SLSENG SLSENG-PAD
*FN
*MODIFY CUSTOM CUST-KEY
*FN
*MODIFY SLSENG SLSENG-PAD
*FETCH FIRST REC CUSAREA AREA

!	Generate an illegal-area intercept
*ACCEPT IDAREA
*BOGUS
@IF (ERROR) @GOTO MNDF1
*STORE CUSTOM
@IF (NOERROR) @GOTO MNDF1
@RESET

@ERROR %
@RUN SYS:DBMEND
*SCHEMA DTORD
*DELETE TRANSACTION
*EXIT
@IF (ERROR) @GOTO MNDF1

@ERROR
@RUN SYS:XDML
@ERROR %
*INV SUB DTSSOC SCH DTORD
*ORDER
*OPEN ALL
@IF (ERROR) @GOTO MNDF1
*ACC IDAREA
*CUSAREA
*ACCEPT CUST-NAME
*DEC-WEST
*FIND CUSTOM
@IF (NOERROR) @GOTO MNDF1
*CLO ALL
*EXIT
@ERROR
@RESET
@GOTO UTLDN

MNDF1::
@ERROR
@RESET
@RUN UTP:SENDER
*TEST DBMS20
*TYPE ERROR
*BLABEL MNDCK:
*SEND DBMEND tests produced fatal errors.
*EXIT
@NOERROR
@DELETE DSK:DTUTL.OK,
@EXPUNGE
@
@ERROR



UTLDN::
!	Utility tests complete - give status
@ERROR %
@DIRECT DSK:DTUTL.OK
@IF (ERROR) @GOTO UTLD2
@DIRECT DSK:DTHLP.OK
@IF (ERROR) @GOTO UTLD1
@ERROR
@RUN UTP:SENDER
*TEST DBMS20
*TYPE MAJOR
*BLABEL UTLDN:
*SEND All DBMS utility tests completed OK.
*EXIT
@GOTO HSTTS

UTLD1::
@ERROR
@RUN UTP:SENDER
*TEST DBMS20
*TYPE MAJOR
*BLABEL UTLDN:
*SEND DBMS utility tests ran OK, some help files are missing.
*EXIT
@GOTO HSTTS

UTLD2::
@ERROR
@RUN UTP:SENDER
*TEST DBMS20
*TYPE ERROR
*BLABEL UTLDN:
*SEND Some DBMS utility tests failed.
*EXIT



HSTTS::
!	Should minimally have a DBMS.REL in SYS:. Will check for
!	possibly required DBMSF.REL with FORTRAN check later.
!	Let test proceed, and catch error at load time.
@ERROR %
@DIRECT SYS:DBMS.REL
@IF (NOERROR) @GOTO COBTS
@ERROR
@RUN UTP:SENDER
*TEST DBMS20
*TYPE MAJOR
*BLABEL DBLCK:
*SEND DBMS load library SYS:DBMS.REL not found.
*EXIT



COBTS::
!	Check for the FORTRAN and COBOL host languages
!	First try COBOL
@ERROR %
@DIRECT SYS:COBOL.EXE
@IF (NOERROR) @GOTO COBCK
@ERROR
@RUN UTP:SENDER
*TYPE MAJOR
*BLABEL COBTS:
*TEST DBMS20
*SEND COBOL host language unavailable, trying FORTRAN.
*EXIT
@GOTO FORTS



COBCK::
!	Now wish to try all flavors of COBOL - at least 1 should work
!	if DBMS has been installed with COBOL.
!	Will try COBOL, CBL74, and CBL68 (via COMPILE switches)
!	However COBOL may actually be one of CBL68 or 74, therfore will
!	also check the generated .REL to avoid replication

!	First, get clean DTORD database files and no .JRN
@NOERROR
@RESET
@DELETE DSK:*.LOK,DSK:*.DBS,DSK:*.JRN
@EXPUNGE DSK:
@ERROR
@COPY DSK:DTORD.LOC DSK:DTORD.LOK
@COPY DSK:DTORD1.DBC DSK:DTORD1.DBS
@COPY DSK:DTORD2.DBC DSK:DTORD2.DBS
@COPY DSK:DTORD3.DBC DSK:DTORD3.DBS
@COPY DSK:DTORD4.DBC DSK:DTORD4.DBS

!	Now begin with generic COBOL
@ERROR %
@COMPILE DTORDR.CBL
@IF (NOERROR) @GOTO COBLD

COBF1::
@ERROR
@RESET
@RUN UTP:SENDER
*TYPE MAJOR
*BLABEL COBCK:
*TEST DBMS20
*SEND Using COBOL: DBMS test failed to compile.
*EXIT
@GOTO C74CK

COBLD::
@ERROR %
@LOAD DTORDR.REL
@IF (ERROR) @GOTO COBF2
@SAVE DTORDR
@IF (ERROR) @GOTO COBF2
@ERROR
@GOTO COBEX

COBF2::
@ERROR
@RESET
@RUN UTP:SENDER
*TYPE MAJOR
*BLABEL COBLD:
*TEST DBMS20
*SEND Using COBOL: DBMS test failed to load.
*EXIT
@GOTO C74CK

COBEX::
!	Run mini ORDR test
@RUN DTORDR
*BEGIN
*ENTER
*PROD
*KA10
*CENTRAL PROCESSOR
*140000
*DF10
*DATA CHANNEL
*14000
*
*SLSENG
*HOGAN, R.
*MAYNARD
*617
*897-5111
*2968
*
*CUSTOM
*DEC
*146 MAIN ST.
*MAYNARD
*MASS.
*01754
*HOGAN, R.
*YES
*070973
*KA10
*3
*DF10
*4
*
*
*INQUIRY
*CUSTOM
*DEC
*YES
*YES
*
*QUIT
@IF (ERROR) @GOTO COBF3
@ERROR
@RUN UTP:SENDER
*TYPE MAJOR
*BLABEL COBEX:
*TEST DBMS20
*SEND Using COBOL: DBMS test completed OK.
*EXIT
!	Copy simple DTORDR.REL for comparison
!	And create DTHOST.OK to show 1 successful host run
@COPY DSK:DTORDR.REL DSK:DTORDR.COB
@COPY NUL: DSK:DTHOST.OK
@GOTO C74CK

COBF3::
@ERROR
@RESET
@RUN UTP:SENDER
*TYPE MAJOR
*BLABEL COBEX:
*TEST DBMS20
*SEND Using COBOL: DBMS test failed to execute.
*EXIT


C74CK::
!	Now try CBL74
!	If no SYS:CBL74.EXE, skip all this
@ERROR %
@DIRECT SYS:CBL74.EXE
@IF (ERROR) @GOTO C68CK
!	First, get fresh copy of .LOK and .DBS, and no .JRNs
!	And delete previous .RELs and .EXEs
@NOERROR
@RESET
@DELETE DSK:*.LOK,DSK:*.DBS,DSK:*.JRN,DSK:*.REL,DSK:*.EXE,DSK:*.TMP
@EXPUNGE DSK:
@ERROR
@COPY DSK:DTORD.LOC DSK:DTORD.LOK
@COPY DSK:DTORD1.DBC DSK:DTORD1.DBS
@COPY DSK:DTORD2.DBC DSK:DTORD2.DBS
@COPY DSK:DTORD3.DBC DSK:DTORD3.DBS
@COPY DSK:DTORD4.DBC DSK:DTORD4.DBS

!	Now use /74-COBOL, but first, compile the DTORDR prog
!	If failure, report same, else compare with
!	COBOL compile, if the same, skip to CBL68
@ERROR %
@COMPILE DTORDR.CBL/74-COBOL
@IF (ERROR) @GOTO C74F1
@RUN SYS:FILCOM
*=DTORDR.COB,DTORDR.REL/W/Q
@IF (ERROR) @GOTO C74LD
@ERROR
@RUN UTP:SENDER
*TYPE MAJOR
*BLABEL C74CK:
*TEST DBMS20
*SEND Using CBL74: .REL matched COBOL, test skipped.
*EXIT
@GOTO C68CK

C74F1::
@ERROR
@RESET
@RUN UTP:SENDER
*TYPE MAJOR
*BLABEL C74CK:
*TEST DBMS20
*SEND Using CBL74: DBMS test failed to compile.
*EXIT
@GOTO C68CK

C74LD::
@ERROR %
@LOAD DTORDR.REL
@IF (ERROR) @GOTO C74F2
@SAVE DTORDR
@IF (ERROR) @GOTO C74F2
@GOTO C74EX

C74F2::
@ERROR
@RESET
@RUN UTP:SENDER
*TYPE MAJOR
*BLABEL C74LD:
*TEST DBMS20
*SEND Using CBL74: DBMS test failed to load.
*EXIT
@GOTO C68CK

C74EX::
@ERROR %
!	Run mini ORDR test
@RUN DTORDR
*BEGIN
*ENTER
*PROD
*KA10
*CENTRAL PROCESSOR
*140000
*DF10
*DATA CHANNEL
*14000
*
*SLSENG
*HOGAN, R.
*MAYNARD
*617
*897-5111
*2968
*
*CUSTOM
*DEC
*146 MAIN ST.
*MAYNARD
*MASS.
*01754
*HOGAN, R.
*YES
*070973
*KA10
*3
*DF10
*4
*
*
*INQUIRY
*CUSTOM
*DEC
*YES
*YES
*
*QUIT
@IF (ERROR) @GOTO C74F3
@ERROR
@RUN UTP:SENDER
*TYPE MAJOR
*BLABEL C74EX:
*TEST DBMS20
*SEND Using CBL74: DBMS test completed OK.
*EXIT
!	Note a successful host run
@COPY NUL: DSK:DTHOST.OK.1
@GOTO C68CK

C74F3::
@ERROR
@RESET
@RUN UTP:SENDER
*TYPE MAJOR
*BLABEL C74EX:
*TEST DBMS20
*SEND Using CBL74: DBMS test failed to execute.
*EXIT


C68CK::
!	Now try CBL68
!	If no SYS:CBL68.EXE, skip all this
@ERROR %
@DIRECT SYS:CBL68.EXE
@IF (ERROR) @GOTO FORTS
!	First, get fresh copy of .LOK and .DBS, and no .JRNs
!	And delete previous .RELs and .EXEs
@NOERROR
@RESET
@DELETE DSK:*.LOK,DSK:*.DBS,DSK:*.JRN,DSK:*.REL,DSK:*.EXE,DSK:*.TMP
@EXPUNGE DSK:
@ERROR
@COPY DSK:DTORD.LOC DSK:DTORD.LOK
@COPY DSK:DTORD1.DBC DSK:DTORD1.DBS
@COPY DSK:DTORD2.DBC DSK:DTORD2.DBS
@COPY DSK:DTORD3.DBC DSK:DTORD3.DBS
@COPY DSK:DTORD4.DBC DSK:DTORD4.DBS

!	Now use /68-COBOL, but first, compile the DTORDR prog
!	If failure, report same, else compare with
!	COBOL compile, if the same, skip to FORTS
@ERROR %
@COMPILE DTORDR.CBL/68-COBOL
@IF (ERROR) @GOTO C68F1
@RUN SYS:FILCOM
*=DTORDR.COB,DTORDR.REL/W/Q
@IF (ERROR) @GOTO C68LD
@ERROR
@RUN UTP:SENDER
*TYPE MAJOR
*BLABEL C68CK:
*TEST DBMS20
*SEND Using CBL68: .REL matched COBOL, test skipped.
*EXIT
@GOTO FORTS

C68F1::
@ERROR
@RESET
@RUN UTP:SENDER
*TYPE MAJOR
*BLABEL C68CK:
*TEST DBMS20
*SEND Using CBL68: DBMS test failed to compile.
*EXIT
@GOTO FORTS

C68LD::
@ERROR %
@LOAD DTORDR.REL
@IF (ERROR) @GOTO C68F2
@SAVE DTORDR
@IF (ERROR) @GOTO C68F2
@GOTO C68EX

C68F2::
@ERROR
@RESET
@RUN UTP:SENDER
*TYPE MAJOR
*BLABEL C68LD:
*TEST DBMS20
*SEND Using CBL68: DBMS test failed to load.
*EXIT
@GOTO FORTS

C68EX::
@ERROR %
!	Run mini ORDR test
@RUN DTORDR
*BEGIN
*ENTER
*PROD
*KA10
*CENTRAL PROCESSOR
*140000
*DF10
*DATA CHANNEL
*14000
*
*SLSENG
*HOGAN, R.
*MAYNARD
*617
*897-5111
*2968
*
*CUSTOM
*DEC
*146 MAIN ST.
*MAYNARD
*MASS.
*01754
*HOGAN, R.
*YES
*070973
*KA10
*3
*DF10
*4
*
*
*INQUIRY
*CUSTOM
*DEC
*YES
*YES
*
*QUIT
@IF (ERROR) @GOTO C68F3
@ERROR
@RUN UTP:SENDER
*TYPE MAJOR
*BLABEL C68EX:
*TEST DBMS20
*SEND Using CBL68: DBMS test completed OK.
*EXIT
!	Note a successful host run
@COPY NUL: DSK:DTHOST.OK.1
@GOTO FORTS

C68F3::
@ERROR
@RESET
@RUN UTP:SENDER
*TYPE MAJOR
*BLABEL C68EX:
*TEST DBMS20
*SEND Using CBL68: DBMS test failed to execute.
*EXIT



FORTS::
!	See if a FORTRAN to run
@ERROR %
@DIRECT SYS:FORTRA
@IF (NOERROR) @GOTO DBFCK
@ERROR
@RUN UTP:SENDER
*TYPE MAJOR
*BLABEL FORTS:
*TEST DBMS20
*SEND FORTRAN host language unavailable.
*EXIT
@GOTO HSTCK


DBFCK::
!	Will need FORTRAN specific DBCS SYS:DBMSF.EXE
@ERROR %
@DIRECT SYS:DBMSF.EXE
@IF (NOERROR) @GOTO DFLCK
@ERROR
@RUN UTP:SENDER
*TYPE MAJOR
*BLABEL DBFCK:
*TEST DBMS20
*SEND FORTRAN only DBCS file SYS:DBMSF.EXE not found.
*EXIT


DFLCK::
!	Now see if there is a DBMSF.REL. If not, it is possible
!	that the current FORLIB will require one. See if this is so.
@ERROR %
@DIRECT SYS:DBMSF.REL
@IF (NOERROR) @GOTO FORCK

@RUN SYS:LINK
*/REQUIRE:SBIND
*SYS:FORLIB.REL/SEARCH
@IF (NOERROR) @GOTO FORCK
@ERROR
@RUN UTP:SENDER
*TYPE MAJOR
*BLABEL DFLCK:
*TEST DBMS20
*SEND FORTRAN only DBMS load library SYS:DBMSF.REL not found.
*EXIT



FORCK::

!	First, get fresh copy of .LOK and .DBS, and no .JRNs
!	And delete previous .RELs and .EXEs
@NOERROR
@RESET
@DELETE DSK:*.LOK,DSK:*.DBS,DSK:*.JRN,DSK:*.REL,DSK:*.EXE,DSK:*.TMP
@EXPUNGE DSK:
@ERROR
@COPY DSK:DTORD.LOC DSK:DTORD.LOK
@COPY DSK:DTORD1.DBC DSK:DTORD1.DBS
@COPY DSK:DTORD2.DBC DSK:DTORD2.DBS
@COPY DSK:DTORD3.DBC DSK:DTORD3.DBS
@COPY DSK:DTORD4.DBC DSK:DTORD4.DBS

!	Now use DML translated FORTRAN program
@ERROR %
@COMPILE DTORDR.FOR/LANG:"/NOWARN:CNM"
@IF (NOERROR) @GOTO FORLD

FORF1::
@ERROR
@RESET
@RUN UTP:SENDER
*TYPE MAJOR
*BLABEL FORCK:
*TEST DBMS20
*SEND Using FORTRAN: DBMS test failed to compile.
*EXIT
@GOTO HSTCK

FORLD::
@ERROR %
@LOAD DTORDR.REL
@IF (ERROR) @GOTO FORF2
@SAVE DTORDR
@IF (ERROR) @GOTO FORF2
@GOTO FOREX

FORF2::
@ERROR
@RESET
@RUN UTP:SENDER
*TYPE MAJOR
*BLABEL FORLD:
*TEST DBMS20
*SEND Using FORTRAN: DBMS test failed to load.
*EXIT
@GOTO HSTCK

FOREX::
@ERROR %
!	Run mini ORDR test
@RUN DTORDR
*BEGIN
*ENTER
*PROD
*KA10
*CENTRAL PROCESSOR
*140000
*DF10
*DATA CHANNEL
*14000
*
*SLSENG
*HOGAN, R.
*MAYNARD
*617
*897-5111
*2968
*
*CUSTOM
*DEC
*146 MAIN ST.
*MAYNARD
*MASS.
*01754
*HOGAN, R.
*YES
*070973
*KA10
*3
*DF10
*4
*
*
*INQUIRY
*CUSTOM
*DEC
*YES
*YES
*
*QUIT
@IF (ERROR) @GOTO FORF3
@ERROR
@RUN UTP:SENDER
*TYPE MAJOR
*BLABEL FOREX:
*TEST DBMS20
*SEND Using FORTRAN: DBMS test completed OK.
*EXIT
!	Note a successful host run
@COPY NUL: DSK:DTHOST.OK.1
@GOTO HSTCK

FORF3::
@ERROR
@RESET
@RUN UTP:SENDER
*TYPE MAJOR
*BLABEL FOREX:
*TEST DBMS20
*SEND Using FORTRAN: DBMS test failed to execute.
*EXIT



HSTCK::
!	Now verify that at least one host language test succeeded
@ERROR %
@DIRECT DTHOST.OK
@IF (NOERROR) @GOTO ENDIT
@ERROR
@RUN UTP:SENDER
*TYPE ERROR
*BLABEL HSTCK:
*TEST DBMS20
*SEND No DBMS host language test ran correctly.
*EXIT
@GOTO ENDIT



%TERR::
!	Job timeout
@
@ERROR
@RESET
@RUN UTP:SENDER
*TYPE ERROR
*BLABEL ERR:
*TEST DBMS20
*SEND DBMS20 timed out - rerun test with larger time limit.
*EXIT
@GOTO ENDIT



%ERR::
@GOTO UERR

UERR::
!	An unexpected error occurred somewhere.
@
@ERROR
@RESET
@RUN UTP:SENDER
*TYPE ERROR
*BLABEL ERR:
*TEST DBMS20
*SEND Unexpected DBMS test error - check .LOG file.
*EXIT
@GOTO ENDIT



ENDIT::
!	Cleanup and finish

@NOERROR
@RESET
@DELETE DSK:DTORD.DDL,DSK:DTORD.JRN,DSK:DTORD.LOK,DSK:DTORD.SCH
@DELETE DSK:DTORDR.FOR,DSK:DTORDR.REL,DSK:DTORDR.EXE,DSK:DTSSOF.SUB
@DELETE DSK:DTORD1.DBS,DSK:DTORD2.DBS,DSK:DTORD3.DBS,DSK:DTORD4.DBS
@DELETE DSK:DTORD.LOC,DSK:DTORD1.DBC,DSK:DTORD2.DBC,DSK:DTORD3.DBC
@DELETE DSK:DTORD4.DBC,DSK:DTORD.DBI,DSK:DTORD.ABS,DSK:DTORDB.ABS
@DELETE DSK:DTHOST.OK,DSK:DTUTL.OK,DSK:DTHLP.OK,DSK:DTORDR.COB
@DELETE DSK:*.TMP
@EXPUNGE DSK:
@ERROR

@RUN UTP:SENDER
*TYPE END
*BLABEL ENDIT
*TEST DBMS20
*SEND End of DBMS test.
*EXIT

%FIN::

!	End of test.