757 lines
23 KiB
Plaintext
Executable File
757 lines
23 KiB
Plaintext
Executable File
$INCLUDE UNIVERSE.INCLUDE MTF.INCL.H
|
|
$INCLUDE UNIVERSE.INCLUDE MACHINE.NAME
|
|
$INCLUDE UNIVERSE.INCLUDE FILENAMES.H
|
|
******************************************************************************
|
|
*
|
|
* Routine to handle Account Importation
|
|
*
|
|
* Module %M% Version %I% Date %H%
|
|
*
|
|
* (c) Copyright 1998 Ardent Software Inc. - All Rights Reserved
|
|
* This is unpublished proprietary source code of Ardent Software Inc.
|
|
* The copyright notice above does not evidence any actual or intended
|
|
* publication of such source code.
|
|
*
|
|
*******************************************************************************
|
|
*
|
|
* Maintenence log - insert most recent change descriptions at top
|
|
*
|
|
* Date.... GTAR# WHO Description........................................
|
|
* 10/14/98 23801 SAP Change copyrights.
|
|
* 08/18/96 18335 MAA Ported release 9 to the SNI
|
|
* 06/28/96 16464 DJL Allow restore from linked device
|
|
* 04/16/96 18292 AGM Change OS.TYPE for NT
|
|
* 02/27/96 17917 JJV Port to NT.
|
|
* 02/24/94 10694 WLG Made SNI changes for IN2 tape acct import.
|
|
* 02/10/94 11724 JWF Fixed tape corruption problem caused by closeseq
|
|
* 04/30/93 10271 DTM Allowed multiple acct. save format for reality flavor
|
|
* 11/06/92 8137 PVW Allow restoring tape image from disk
|
|
* 05/15/91 6444 LPC Add -m option to create REALITY flavored accounts
|
|
* 05/13/91 8345 DTM changed print to tprint
|
|
* 3/19/91 7673 DTM Added support for F.4 key
|
|
* 3/14/91 7673 DTM Made changes to CHOICE.BOX.B
|
|
* 1/9/91 7673 DTM Final changes for internationalization and things
|
|
* 11/27/90 7403 DTM Initial programming
|
|
*
|
|
*******************************************************************************
|
|
* This subroutine will accept as an argument the value of the operation
|
|
* to perform. It can perform the following functions on spooler jobs:
|
|
******************************************************************************
|
|
id = "%W%"
|
|
******************************************************************************
|
|
* Various Prompts and Help string values
|
|
******************************************************************************
|
|
equ PRMPT.LOC to 2
|
|
equ SHRT.HELP to 4
|
|
equ LONG.HELP to 5
|
|
******************************************************************************
|
|
* Various other variables
|
|
******************************************************************************
|
|
equ PAINT to 1 ;* flag to paint forms
|
|
equ Default to 1
|
|
******************************************************************************
|
|
* Strings representing shell scripts to be executed and files used
|
|
******************************************************************************
|
|
equ device.record to "&DEVICE&"
|
|
equ account.record to "UV.ACCOUNT"
|
|
|
|
temp=NULL
|
|
CALL *ISUSER.B(0,temp)
|
|
IF temp=0 THEN
|
|
TPRINT UVREADMSG(071000,"")
|
|
SLEEP 3
|
|
STOP
|
|
END
|
|
DECLARE GCI access
|
|
user.file.open=FALSE
|
|
device.file.open=FALSE
|
|
|
|
GOSUB init.messages
|
|
GOSUB init.files ;* Initialize /usr/spool/uv/sp.config
|
|
GOSUB init.vars ;* initialize local variables
|
|
GOSUB init.form ;* Initialize forms to be used
|
|
GOSUB init.menu
|
|
******************************************************************************
|
|
* In this section, we draw the first screen, print the menu bar and help
|
|
* areas, and put up the first title and form to fill out.
|
|
******************************************************************************
|
|
CALL *DRAW.SCRN.B(UVREADMSG(073120,""),1)
|
|
CALL *HELP.PRINT.B(UVREADMSG(073009,""),2)
|
|
CALL *PUT.FORM.B(form.size,form,temp.form,PRMPT,PAINT)
|
|
CALL *MNU.BAR.PR.B(Menu.Bar,1)
|
|
|
|
******************************************************************************
|
|
* Starting point for routines actual activity. Paint help message and
|
|
* continue
|
|
******************************************************************************
|
|
help.loop:
|
|
|
|
CALL *HELP.PRINT.B(form<form.line,SHRT.HELP>,1)
|
|
|
|
******************************************************************************
|
|
* Starting point for actual data input. Here we position the cursor to the
|
|
* place of the secondary prompt and get the input character, which is returned
|
|
* in special, if a special character was encountered, or in temp, is data
|
|
* was entered.
|
|
******************************************************************************
|
|
input.loop:
|
|
|
|
TPRINT form<form.line,PRMPT.LOC>: ;* position cursor
|
|
temp=temp.form<form.line>
|
|
CALL *CINPUT.B(SEC.PRMPT,temp,special,form<form.line,6>,form<form.line,7>)
|
|
|
|
******************************************************************************
|
|
* First section handles all the special characters.
|
|
******************************************************************************
|
|
IF special # 0 THEN ;* if special character encountered
|
|
BEGIN CASE
|
|
******************************************************************************
|
|
* Up arrow was pressed.
|
|
******************************************************************************
|
|
CASE special = UP.ARROW ;* Up arrow was pressed
|
|
TPRINT form<form.line,2>:PRMPT:
|
|
IF temp.form<form.line> # NULL THEN
|
|
TPRINT temp.form<form.line>:
|
|
TPRINT STR(SPACE,form<form.line,6>-LEN(temp.form<form.line>))
|
|
END
|
|
form.line-=1
|
|
IF form.line < 1 THEN
|
|
form.line=form.size
|
|
END
|
|
GOTO help.loop ;* get more input
|
|
******************************************************************************
|
|
* Down arrow was pressed.
|
|
******************************************************************************
|
|
CASE special = DOWN.ARROW ;* Down arrow was pressed
|
|
TPRINT form<form.line,2>:PRMPT:
|
|
IF temp.form<form.line> # NULL THEN
|
|
TPRINT temp.form<form.line>:
|
|
TPRINT STR(SPACE,form<form.line,6>-LEN(temp.form<form.line>))
|
|
END
|
|
form.line+=1
|
|
IF form.line > form.size THEN
|
|
form.line=1
|
|
END
|
|
GOTO help.loop ;* get more input
|
|
******************************************************************************
|
|
* Function key F1 was pushed. This key is used to display more involved
|
|
* Help messages
|
|
******************************************************************************
|
|
CASE special = F.1
|
|
CALL *HELP.PRINT.B(form<form.line,LONG.HELP>,3)
|
|
GOTO input.loop ;* get more input
|
|
******************************************************************************
|
|
* Escape key pressed. This is the systems signal to return to the calling
|
|
* procedure. First clear the screen however
|
|
******************************************************************************
|
|
CASE special = ESCAPE ;* escape was pressed
|
|
STOP @(-1)
|
|
CASE special = F.4
|
|
temp="*"
|
|
GOTO new.enter
|
|
CASE special = F.10
|
|
action.value=1
|
|
CALL *DO.MNU.BAR.B(Menu.Bar,action.value,form.size,form,temp.form)
|
|
BEGIN CASE
|
|
CASE action.value = 1
|
|
STOP @(-1)
|
|
CASE action.value = 2
|
|
STOP @(-1)
|
|
CASE action.value = 3
|
|
message=UVREADMSG(073123,"")
|
|
CONVERT @FM TO " " IN message
|
|
CALL *HELP.BOX.B(3,10,60,message)
|
|
CASE action.value = 4
|
|
message=UVREADMSG(076001,"")
|
|
CONVERT @FM TO " " IN message
|
|
CALL *HELP.BOX.B(3,10,60,message)
|
|
CASE action.value = 5
|
|
CALL *HELP.BOX.B(3,10,45,UVREADMSG(076000,""))
|
|
END CASE
|
|
CALL *PUT.FORM.B(form.size,form,temp.form,PRMPT,PAINT)
|
|
GOTO help.loop
|
|
CASE Default
|
|
GOTO help.loop
|
|
END CASE ;* end of case
|
|
END ;* end of if statement
|
|
|
|
******************************************************************************
|
|
* If we reach here, we must have had data input, which is returned from
|
|
* *NINPUT in the variable temp. Therefore, process it and execute the
|
|
* desired operation.
|
|
******************************************************************************
|
|
ELSE ;* DAVE
|
|
new.enter:
|
|
sel.val=1
|
|
CALL *HELP.PRINT.B(NULL,3) ;* Clears help area
|
|
BEGIN CASE
|
|
CASE form.line=1 ;*
|
|
IF temp=temp.form<form.line> THEN GOTO jump.spot
|
|
IF temp="*" THEN
|
|
CALL *HELP.PRINT.B(UVREADMSG(073058,""),3)
|
|
CALL *HELP.PRINT.B(help.message,2)
|
|
CALL *PTBCODE(fvuv.account,11,sel.val)
|
|
CALL *HELP.PRINT.B(NULL,3)
|
|
IF sel.val = -1 THEN
|
|
temp=NULL
|
|
CALL *PUT.FORM.B(form.size,form,temp.form,PRMPT,PAINT)
|
|
GOTO help.loop
|
|
END
|
|
ELSE
|
|
temp=sel.val
|
|
temp.form<form.line>=temp
|
|
END
|
|
CALL *PUT.FORM.B(form.size,form,temp.form,PRMPT,PAINT)
|
|
END
|
|
IF temp=NULL THEN
|
|
CALL *HELP.BOX.B(17,5,50,msg2)
|
|
GOTO help.loop
|
|
END
|
|
|
|
IF OS.TYPE = "MSWIN" THEN
|
|
temp = CONVERT( "\", "/", temp )
|
|
END
|
|
|
|
temp.directory=temp
|
|
parent.directory=temp
|
|
|
|
IF temp[1,1] <> "/" AND (OS.TYPE = "UNIX" OR temp MATCH "1A~':/'0X") THEN
|
|
READ parent.directory.rec FROM fvuv.account,temp ELSE
|
|
READ parent.directory.rec FROM fvuv.account,UPCASE(temp) ELSE
|
|
CALL *HELP.BOX.B(5,5,50,msg5)
|
|
temp.form<form.line>=NULL
|
|
CALL *PUT.FORM.B(form.size,form,temp.form,PRMPT,PAINT)
|
|
GOTO help.loop
|
|
END
|
|
END
|
|
parent.directory=parent.directory.rec<11>
|
|
temp.directory=parent.directory
|
|
END
|
|
IF access(temp.directory,6) THEN
|
|
CALL *HELP.BOX.B(5,5,50,Warn:UVREADMSG(073107,temp.directory))
|
|
temp.form<form.line>=NULL
|
|
CALL *PUT.FORM.B(form.size,form,temp.form,PRMPT,PAINT)
|
|
GOTO help.loop
|
|
END
|
|
temp.form<form.line>=temp.directory
|
|
IF temp.directory#temp THEN
|
|
temp.form<form.line>=temp:" ":temp.directory
|
|
END
|
|
CASE form.line=2 ;* Device name
|
|
IF temp=temp.form<form.line> THEN GOTO jump.spot
|
|
IF temp="*" THEN
|
|
sel.val=1
|
|
CALL *HELP.PRINT.B(UVREADMSG(073058,""),3)
|
|
CALL *HELP.PRINT.B(help.message,2)
|
|
CALL *PTBCODE(device.file,2,sel.val)
|
|
CALL *HELP.PRINT.B(NULL,3)
|
|
IF sel.val=-1 THEN
|
|
temp=NULL
|
|
CALL *PUT.FORM.B(form.size,form,temp.form,PRMPT,PAINT)
|
|
GOTO help.loop
|
|
END
|
|
ELSE
|
|
temp=sel.val
|
|
temp.form<form.line>=temp
|
|
END
|
|
CALL *PUT.FORM.B(form.size,form,temp.form,PRMPT,PAINT)
|
|
END
|
|
IF temp=NULL THEN
|
|
CALL *HELP.BOX.B(17,5,50,msg2)
|
|
GOTO help.loop
|
|
END
|
|
DEV.REC=NULL
|
|
|
|
temp.path=temp
|
|
IF temp[1,1] <> "/" THEN
|
|
READ DEV.REC FROM device.file,temp THEN
|
|
device.pathname=DEV.REC<2>
|
|
device.rewind=DEV.REC<6>
|
|
device.type=DEV.REC<4>
|
|
temp.path=device.pathname
|
|
ibs=DEV.REC<16>
|
|
temp.form<3>=device.rewind
|
|
temp.form<4>=device.type
|
|
temp.form<5>=ibs
|
|
IF ibs=NULL THEN
|
|
form.jump=5
|
|
END
|
|
ELSE
|
|
form.jump=6
|
|
END
|
|
IF device.type="T" OR device.type="DT" THEN
|
|
IF ibs=NULL THEN
|
|
ibs=8192
|
|
temp.form<5>=ibs
|
|
END
|
|
END
|
|
ELSE IF device.type= "C" or device.type = "F" OR device.type="DC" THEN
|
|
IF ibs=NULL THEN
|
|
ibs=512
|
|
temp.form<5>=ibs
|
|
END
|
|
END
|
|
END ELSE
|
|
READ DEV.REC FROM device.file,UPCASE(temp) THEN
|
|
temp=UPCASE(temp)
|
|
device.rewind=DEV.REC<6>
|
|
temp.form<3>=device.rewind
|
|
device.type=DEV.REC<4>
|
|
temp.form<4>=device.type
|
|
device.pathname=DEV.REC<2>
|
|
temp.path=device.pathname
|
|
ibs=DEV.REC<16>
|
|
temp.form<5>=ibs
|
|
IF device.type="T" OR device.type="DT" THEN
|
|
IF ibs=NULL THEN
|
|
ibs=8192
|
|
temp.form<5>=ibs
|
|
END
|
|
END
|
|
ELSE IF device.type="C" or device.type = "F" OR device.type="DC" THEN
|
|
IF ibs=NULL THEN
|
|
ibs=512
|
|
temp.form<5>=ibs
|
|
END
|
|
END
|
|
IF ibs=NULL THEN
|
|
form.jump=5
|
|
END
|
|
ELSE
|
|
form.jump=6
|
|
END
|
|
END ELSE
|
|
CALL *HELP.BOX.B(5,5,50,msg5)
|
|
temp.form<form.line>=NULL
|
|
CALL *PUT.FORM.B(form.size,form,temp.form,PRMPT,PAINT)
|
|
GOTO help.loop
|
|
END
|
|
END
|
|
END ELSE
|
|
CALL *HELP.PRINT.B(NULL,3)
|
|
CALL *HELP.PRINT.B(UVREADMSG(073112,""),2)
|
|
device.pathname=temp
|
|
END
|
|
IF OS.TYPE = "UNIX" THEN
|
|
EXECUTE OS.EXEC:"'ls -l ":temp.path:"'" CAPTURING OUTPUT
|
|
user.permissions = OUTPUT[1,3]
|
|
IF user.permissions # "crw" AND user.permissions # "lrw" THEN
|
|
NoRewindDevice.Error:
|
|
CALL *HELP.BOX.B(5,5,50,Warn:UVREADMSG(073107,temp.path))
|
|
temp.form<form.line>=NULL
|
|
CALL *PUT.FORM.B(form.size,form,temp.form,PRMPT,PAINT)
|
|
GOTO help.loop
|
|
END
|
|
END
|
|
device.name=temp
|
|
IF device.pathname#temp THEN
|
|
temp.form<form.line>=temp:" ":device.pathname
|
|
END
|
|
ELSE
|
|
temp.form<form.line> = temp
|
|
END
|
|
CALL *PUT.FORM.B(form.size,form,temp.form,PRMPT,PAINT)
|
|
CASE form.line=3
|
|
IF OS.TYPE = "MSWIN" THEN
|
|
temp = CONVERT( "\", "/", temp )
|
|
END
|
|
|
|
IF temp="*" THEN GOTO help.loop
|
|
IF temp=NULL AND temp.form<form.line>=NULL THEN
|
|
CALL *HELP.BOX.B(5,5,50,msg2)
|
|
CALL *PUT.FORM.B(form.size,form,temp.form,PRMPT,PAINT)
|
|
GOTO help.loop
|
|
END
|
|
IF temp=NULL THEN
|
|
temp=temp.form<form.line>
|
|
END
|
|
IF temp[1,1] <> "/" THEN
|
|
CALL *HELP.BOX.B(5,5,50,msg5)
|
|
temp.form<form.line>=NULL
|
|
CALL *PUT.FORM.B(form.size,form,temp.form,PRMPT,PAINT)
|
|
GOTO help.loop
|
|
END
|
|
IF access(temp,4) THEN
|
|
CALL *HELP.BOX.B(5,5,50,Warn:UVREADMSG(073107,temp))
|
|
temp.form<form.line>=NULL
|
|
CALL *PUT.FORM.B(form.size,form,temp.form,PRMPT,PAINT)
|
|
GOTO help.loop
|
|
END
|
|
device.rewind=temp
|
|
temp.form<form.line>=temp
|
|
CASE form.line=4 ;* Enter Device Type
|
|
IF temp="*" THEN GOTO help.loop
|
|
IF temp=NULL THEN
|
|
CALL *HELP.BOX.B(17,5,50,msg2)
|
|
GOTO help.loop
|
|
END
|
|
temp=UPCASE(temp)
|
|
IF temp # "T" AND temp # "C" AND temp # "F" AND temp # "DT" AND temp # "DC"
|
|
THEN
|
|
CALL *HELP.BOX.B(5,5,50,Warn:UVREADMSG(073108,""))
|
|
temp.form<form.line>=NULL
|
|
CALL *PUT.FORM.B(form.size,form,temp.form,PRMPT,PAINT)
|
|
GOTO help.loop
|
|
END
|
|
IF temp="T" OR temp="DT" THEN
|
|
IF ibs=NULL THEN
|
|
ibs=8192
|
|
temp.form<5>=ibs
|
|
END
|
|
END
|
|
ELSE IF temp="C" or temp = "F" OR temp="DC" THEN
|
|
IF ibs=NULL THEN
|
|
ibs=512
|
|
temp.form<5>=ibs
|
|
END
|
|
END
|
|
device.type=temp
|
|
temp.form<form.line>=temp
|
|
CALL *PUT.FORM.B(form.size,form,temp.form,PRMPT,PAINT)
|
|
CASE form.line=5 ;* Enter Block size
|
|
IF temp="*" THEN GOTO help.loop
|
|
IF temp=NULL THEN
|
|
CALL *HELP.BOX.B(17,5,50,msg2)
|
|
GOTO help.loop
|
|
END
|
|
ICONV.TEMP=ICONV(temp,"MD0")
|
|
IF STATUS()#0 THEN
|
|
CALL *HELP.BOX.B(5,5,50,msg4)
|
|
temp.form<form.line>=NULL
|
|
CALL *PUT.FORM.B(form.size,form,temp.form,PRMPT,PAINT)
|
|
GOTO help.loop
|
|
END
|
|
ibs=temp
|
|
temp.form<form.line> = temp
|
|
CASE form.line=6 ;* tape type
|
|
IF temp="*" THEN GOTO help.loop
|
|
IF temp=NULL THEN
|
|
CALL *HELP.BOX.B(17,5,50,msg2)
|
|
GOTO help.loop
|
|
END
|
|
temp=UPCASE(temp)
|
|
FLAGIN2=0
|
|
MAXINK=0
|
|
|
|
BEGIN CASE
|
|
|
|
CASE temp="I"
|
|
FLAGIN2="IN8000"
|
|
FLAVOR=" -i"
|
|
CASE temp="J"
|
|
FLAGIN2="IN5000"
|
|
CASE temp="K"
|
|
FLAGIN2="IN8000"
|
|
FLAVOR=" -i"
|
|
MAXINK=-1
|
|
CASE temp="L"
|
|
FLAGIN2="IN5000"
|
|
MAXINK=-1
|
|
CASE temp="P"
|
|
FLAVOR=""
|
|
CASE temp="M"
|
|
FLAVOR=" -m"
|
|
form.size = 8
|
|
CALL *PUT.FORM.B(form.size,form,temp.form,PRMPT,PAINT)
|
|
CASE Default
|
|
CALL *HELP.BOX.B(5,5,50,Warn:UVREADMSG(073109,""))
|
|
temp.form<form.line>=NULL
|
|
CALL *PUT.FORM.B(form.size,form,temp.form,PRMPT,PAINT)
|
|
GOTO help.loop
|
|
END CASE
|
|
tape.type=temp
|
|
temp.form<form.line>=temp
|
|
CALL *PUT.FORM.B(form.size,form,temp.form,PRMPT,PAINT)
|
|
CASE form.line=7 ;* type 19 files
|
|
IF temp="*" THEN GOTO help.loop
|
|
IF temp=NULL THEN
|
|
CALL *HELP.BOX.B(17,5,50,msg2)
|
|
GOTO help.loop
|
|
END
|
|
temp=UPCASE(temp)
|
|
IF temp # "Y" AND temp # "N" THEN
|
|
CALL *HELP.BOX.B(5,5,50,Warn:UVREADMSG(073110,""))
|
|
temp.form<form.line>=NULL
|
|
CALL *PUT.FORM.B(form.size,form,temp.form,PRMPT,PAINT)
|
|
GOTO help.loop
|
|
END
|
|
temp.form<form.line> = temp
|
|
type19=temp
|
|
CASE form.line = 8 ;* mult.account save format
|
|
IF temp="Y" OR temp="y" THEN masf = " -mas" ELSE masf = ""
|
|
temp.form<form.line> = temp
|
|
CALL *PUT.FORM.B(form.size,form,temp.form,PRMPT,PAINT)
|
|
END CASE
|
|
jump.spot:
|
|
TPRINT form<form.line,PRMPT.LOC>:PRMPT:temp.form<form.line>:
|
|
TPRINT STR(SPACE,form<form.line,6>-LEN(temp.form<form.line>)):
|
|
form.line +=1
|
|
IF form.jump#0 THEN
|
|
form.line=form.jump
|
|
form.jump=0
|
|
END
|
|
IF form.line <= form.size THEN
|
|
GOTO help.loop
|
|
END
|
|
flag=0
|
|
CALL *YES.NO.BOX.B(17,UVREADMSG(073065,""),flag)
|
|
IF flag=1 THEN
|
|
form.line=1
|
|
GOTO help.loop
|
|
END
|
|
IF flag=-1 THEN RETURN
|
|
B.array=NULL
|
|
B.array<1>=1
|
|
B.array<2>=UVREADMSG(073029,"")
|
|
sel.val=1
|
|
CALL *CHOICE.BOX.B(17,3,LEN(msg10)+3,msg10,B.array,sel.val,"")
|
|
IF sel.val = -1 THEN
|
|
RETURN
|
|
END
|
|
* commented out for gtar 8137
|
|
* CMD=NULL
|
|
* IF device.type="F" THEN
|
|
* CMD=UV.BIN:"/acct.restore -a ":device.pathname
|
|
* IF type19="Y" THEN CMD = CMD:" -19"
|
|
* END
|
|
* ELSE
|
|
LOOPINK=0
|
|
TPRINT @(-1)
|
|
IF MAXINK = -1 THEN
|
|
TPRINT UVREADMSG(073128,""):
|
|
INPUT MAXINK
|
|
MAXINK = MAXINK -1
|
|
END
|
|
|
|
IF FLAGIN2 = "IN5000" AND device.type = "DC" THEN
|
|
TPRINT UVREADMSG(073129,""):
|
|
INPUT NBVOL
|
|
END
|
|
LOOPK:
|
|
|
|
CMD=""
|
|
IF FLAGIN2 # 0 THEN
|
|
FORWARD.TAPE=DEV.REC<10>
|
|
PATHNAME=device.pathname
|
|
CMD="tape=":PATHNAME:";"
|
|
IF LOOPINK = 0 THEN CMD:= FORWARD.TAPE:";":FORWARD.TAPE:";" ELSE CMD:= FORWARD.TAPE:";"
|
|
IF FLAGIN2 = "IN5000" AND device.type = "DC" THEN
|
|
CMD:=UV.BIN:"/ddm ":NBVOL
|
|
CMD1 = " if=":PATHNAME:" | ":UV.BIN:"/INfilter | ":UV.BIN:"/acct.restore -i -"
|
|
CMD := CMD1
|
|
GOTO end.rest
|
|
END
|
|
END
|
|
|
|
CMD := UV.BIN:"/tapein"
|
|
CMD := " -p":UV.BIN:"/acct.restore"
|
|
CMD := " -f":device.pathname
|
|
CMD := " -g":device.rewind
|
|
CMD := " -b":ibs
|
|
CMD := FLAVOR
|
|
CMD := masf
|
|
if type19 = "Y" then CMD := " -t"
|
|
if device.type = "C" or device.type = "DC" then CMD := " -c"
|
|
if not(ImageFromDisk) then CMD := " -a" else CMD := " -r"
|
|
if LOOPINK # 0 THEN CMD := " -I"
|
|
* END
|
|
|
|
end.rest:
|
|
TPRINT @(-1)
|
|
TTYGET tty$ ELSE NULL
|
|
tmptty=tty$
|
|
CRMODE.ICRNL=1
|
|
CRMODE.ONLCR=1
|
|
TTYSET tty$ ELSE NULL
|
|
|
|
IF OS.TYPE = "UNIX" THEN
|
|
EXECUTE OS.EXEC:"'cd ":parent.directory:"; ":CMD:"'"
|
|
END ELSE
|
|
* NT needs slash's in correct format for execute
|
|
parent.directory = CONVERT( "/", "\", parent.directory )
|
|
EXECUTE OS.EXEC:" 'cd ":parent.directory :"& ":CMD:"'"
|
|
END
|
|
IF LOOPINK # MAXINK THEN
|
|
LOOPINK = LOOPINK +1
|
|
GOTO LOOPK
|
|
END
|
|
|
|
TTYGET tty$ ELSE NULL
|
|
tty$=tmptty
|
|
TTYSET tty$ ELSE NULL
|
|
CALL *HELP.BOX.B(5,5,50,UVREADMSG(001403,""))
|
|
END
|
|
|
|
|
|
******************************************************************************
|
|
* Init.form
|
|
* This routine initializes all the positional parameters, help strings,
|
|
* text strings, and default values for the two forms used in this subroutine
|
|
******************************************************************************
|
|
|
|
init.form:
|
|
scratch=UVREADMSG(073101,"")
|
|
masf = ""
|
|
form.size=7
|
|
form.line=1
|
|
temp.form=NULL
|
|
form=NULL
|
|
form<1,1>=@(2,5)
|
|
form<1,2>=@(25,5)
|
|
form<1,3>=scratch<1>
|
|
form<1,4>=scratch<2>
|
|
form<1,5>=form<1,4>:SPACE:scratch<3>
|
|
form<1,6>=50
|
|
form<1,7>=0
|
|
form<2,1>=@(2,6)
|
|
form<2,2>=@(25,6)
|
|
form<2,3>=scratch<4>
|
|
form<2,4>=scratch<5>
|
|
form<2,5>=form<2,4>
|
|
form<2,6>=30
|
|
form<2,7>=0
|
|
form<3,1>=@(2,7)
|
|
form<3,2>=@(25,7)
|
|
form<3,3>=scratch<6>
|
|
form<3,4>=scratch<5>
|
|
form<3,5>=form<3,4>
|
|
form<3,6>=30
|
|
form<3,7>=0
|
|
form<4,1>=@(2,8)
|
|
form<4,2>=@(25,8)
|
|
form<4,3>=scratch<7>
|
|
form<4,4>=scratch<8>
|
|
form<4,5>=form<4,4>
|
|
form<4,6>=2
|
|
form<4,7>=1
|
|
form<5,1>=@(2,9)
|
|
form<5,2>=@(25,9)
|
|
form<5,3>=scratch<9>
|
|
form<5,4>=scratch<10>
|
|
form<5,5>=form<5,4>
|
|
form<5,6>=10
|
|
form<5,7>=1
|
|
form<6,1>=@(2,10)
|
|
form<6,2>=@(25,10)
|
|
scratch1=UVREADMSG(073121,"")
|
|
form<6,3>=scratch1<1>
|
|
form<6,4>=scratch1<2>
|
|
form<6,5>=form<6,4>
|
|
form<6,6>=1
|
|
form<6,7>=1
|
|
form<7,1>=@(2,11)
|
|
form<7,2>=@(25,11)
|
|
form<7,3>=scratch<14>
|
|
form<7,4>=scratch<15>
|
|
form<7,5>=form<7,4>
|
|
form<7,6>=1
|
|
form<7,7>=1
|
|
form<8,1>=@(2,12)
|
|
form<8,2>=@(25,12)
|
|
form<8,3>="Mult Acct Save Format"
|
|
form<8,4>="Enter Y if the tape is in Multiple Account Save Format"
|
|
form<8,5>=form<8,4>
|
|
form<8,6>=1
|
|
form<8,7>=1
|
|
type19="N"
|
|
temp.form<9>="N"
|
|
RETURN
|
|
|
|
******************************************************************************
|
|
* Init.files
|
|
* It also opens up the &DEVICE& File so they can both be used to modify
|
|
* entries, existing or not, for printers on system.
|
|
******************************************************************************
|
|
init.files:
|
|
m1=UVREADMSG(073614,"")
|
|
IF device.file.open = FALSE THEN
|
|
OPEN "",device.record TO device.file ELSE
|
|
retry=0
|
|
CALL *ERROR.BOX.B(5,5,50,UVREADMSG(073005,device.record),retry,m1)
|
|
IF retry#0 THEN STOP @(-1)
|
|
ELSE GOTO init.files
|
|
END
|
|
device.file.open=TRUE
|
|
END
|
|
inf.2:
|
|
IF user.file.open = FALSE THEN
|
|
OPEN "",account.record TO fvuv.account ELSE
|
|
retry=0
|
|
CALL *ERROR.BOX.B(5,5,50,UVREADMSG(073005,account.record),retry,m1)
|
|
IF retry#0 THEN STOP @(-1)
|
|
ELSE GOTO inf.2
|
|
END
|
|
user.file.open=TRUE
|
|
END
|
|
RETURN
|
|
|
|
******************************************************************************
|
|
* Init.vars -
|
|
* Routine which initializes various global variables
|
|
******************************************************************************
|
|
init.vars:
|
|
form.jump=0
|
|
parent.directory=NULL
|
|
device.name=NULL
|
|
device.rewind=NULL
|
|
device.pathname=NULL
|
|
device.type=NULL
|
|
ibs=NULL
|
|
ImageFromDisk=1
|
|
tape.type=NULL
|
|
type19=NULL
|
|
NEW.ITEM=TRUE
|
|
FLAVOR=NULL
|
|
RETURN
|
|
|
|
******************************************************************************
|
|
* Strings from help messages and such
|
|
******************************************************************************
|
|
init.messages:
|
|
help.message=CONVERT(@FM," ",UVREADMSG(073644,""))
|
|
Warn=UVREADMSG(073613,""):": "
|
|
msg2=Warn:UVREADMSG(071004,"")
|
|
msg4=Warn:UVREADMSG(073103,"")
|
|
msg5=Warn:UVREADMSG(073105,PROD.NAME)
|
|
word=UVREADMSG(073122,"")
|
|
msg10=UVREADMSG(073111,word)
|
|
RETURN
|
|
|
|
***************************************************************************
|
|
* init.menu - initializes menu bar
|
|
***************************************************************************
|
|
init.menu:
|
|
scratch=UVREADMSG(073087,"")
|
|
Menu.Bar = NULL
|
|
Menu.Bar<1,1> = 3 ;* Number of Items in Menu.Bar
|
|
Menu.Bar<1,2> = 1 ;* Line # on which to print the Menu Bar
|
|
* First Item
|
|
Menu.Bar<2,1,1>=scratch<1> ;* SubMenu Title
|
|
Menu.Bar<2,1,2>=1 ;* # of items in SubMenu
|
|
* SubMenu #1
|
|
Menu.Bar<2,2,1>=scratch<6> ;* SubMenu Item
|
|
Menu.Bar<2,2,2>=1 ;* Action Code (Returned to calling process)
|
|
Menu.Bar<2,2,3>=scratch<7>
|
|
* Second Item
|
|
Menu.Bar<3,1,1>=scratch<8> ;* SubMenu Title
|
|
Menu.Bar<3,1,2>=1 ;* # of items in SubMenu
|
|
* SubMenu #1
|
|
Menu.Bar<3,2,1>=scratch<6> ;* SubMenu Item
|
|
Menu.Bar<3,2,2>=2 ;* Action Code
|
|
Menu.Bar<3,2,3>=scratch<7>
|
|
scratch=UVREADMSG(073089,"")
|
|
Menu.Bar<4,1,1>=scratch<1>
|
|
Menu.Bar<4,1,2>=3
|
|
Menu.Bar<4,2,1>=scratch<2>
|
|
Menu.Bar<4,2,2>=3
|
|
Menu.Bar<4,2,3>=scratch<3>
|
|
Menu.Bar<4,3,1>=scratch<4>
|
|
Menu.Bar<4,3,2>=4
|
|
Menu.Bar<4,3,3>=scratch<5>
|
|
Menu.Bar<4,4,1>=scratch<6>
|
|
Menu.Bar<4,4,2>=5
|
|
Menu.Bar<4,4,3>=scratch<7>
|
|
RETURN
|
|
STOP @(-1)
|
|
END
|