246 lines
7.1 KiB
Plaintext
246 lines
7.1 KiB
Plaintext
|
$INCLUDE UNIVERSE.INCLUDE MTF.INCL.H
|
||
|
$INCLUDE UNIVERSE.INCLUDE FILENAMES.H
|
||
|
$INCLUDE UNIVERSE.INCLUDE MACHINE.NAME
|
||
|
$INCLUDE UNIVERSE.INCLUDE TLOG.H
|
||
|
******************************************************************************
|
||
|
*
|
||
|
* System Admin Transaction Logging - Create Log DIrectory
|
||
|
*
|
||
|
* 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.
|
||
|
* 03/25/96 18212 LAG Windows NT port
|
||
|
* 03/09/95 16118 DTM Forced pathname to be absolute
|
||
|
* 10/21/94 15120 DTM Added checks for Shutdown/Suspend in progress states
|
||
|
* 08/22/94 14725 DTM Added needed STOP(@-1)
|
||
|
* 05/15/94 13286 DTM Initial programming
|
||
|
*
|
||
|
*******************************************************************************
|
||
|
id = "%W%"
|
||
|
*******************************************************************************
|
||
|
|
||
|
******************
|
||
|
** Windows NT port
|
||
|
**
|
||
|
DEFFUN IS.FULLPATH(FILESPEC) CALLING "*IS.FULLPATH"
|
||
|
**
|
||
|
******************
|
||
|
|
||
|
*******************************************************************************
|
||
|
* Call initialization routines
|
||
|
*******************************************************************************
|
||
|
TPRINT @(-1)
|
||
|
|
||
|
temp = NULL
|
||
|
CALL *ISUSER.B(0, temp)
|
||
|
IF temp = 0 THEN
|
||
|
TPRINT UVREADMSG(071000,"")
|
||
|
SLEEP 3
|
||
|
STOP
|
||
|
END
|
||
|
|
||
|
|
||
|
State = ""
|
||
|
RECIO( State, FINFO$AI.STATE, RECIO$FINFO )
|
||
|
|
||
|
IF State = AI$INITIAL OR State = AI$WARM.START OR State = AI$LOGGING OR State = AI$SUSPENDED OR State = AI$SUSP.PROG OR State = AI$SHUT.PROG THEN
|
||
|
PRINT "Cannot Create Logging Directory... Logging must be SHUTDOWN"
|
||
|
STOP
|
||
|
END
|
||
|
|
||
|
|
||
|
IF State = AI$FULL THEN
|
||
|
Cpt = ""
|
||
|
RECIO( Cpt, FINFO$AI.CHECKPOINT, RECIO$FINFO )
|
||
|
IF Cpt = 1 THEN
|
||
|
PRINT "Cannot Create Logging Directory... Logging must be SHUTDOWN"
|
||
|
STOP
|
||
|
END
|
||
|
END
|
||
|
GOSUB init.form
|
||
|
CALL *DRAW.SCRN.B( CDIR.MSG1 ,1 )
|
||
|
GOSUB init.menu
|
||
|
CALL *MNU.BAR.PR.B( Menu.Bar,1 )
|
||
|
|
||
|
*******************************************************************************
|
||
|
* Begin processing
|
||
|
*******************************************************************************
|
||
|
|
||
|
CALL *HELP.PRINT.B( UVREADMSG( 073009,"" ), 2 )
|
||
|
CALL *PUT.FORM.B( form.size, form, temp.form, PRMPT, 1 )
|
||
|
|
||
|
help.loop:
|
||
|
|
||
|
CALL *HELP.PRINT.B( form< form.line, 4 >, 1 )
|
||
|
|
||
|
input.loop:
|
||
|
|
||
|
TPRINT form<1,2>:
|
||
|
temp=temp.form<form.line>
|
||
|
CALL *CINPUT.B(SEC.PRMPT,temp,special,form<form.line,6>,0)
|
||
|
|
||
|
IF special # 0 THEN
|
||
|
BEGIN CASE
|
||
|
CASE special = F.1
|
||
|
CALL *HELP.PRINT.B(form<1,5>,3)
|
||
|
GOTO input.loop
|
||
|
CASE special = ESCAPE
|
||
|
STOP @(-1)
|
||
|
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=CDIR.MSG5
|
||
|
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,1)
|
||
|
GOTO help.loop
|
||
|
CASE 1
|
||
|
GOTO input.loop
|
||
|
END CASE
|
||
|
END
|
||
|
ELSE ;* Valid Data Entered
|
||
|
IF ( temp NE NULL ) THEN
|
||
|
******************
|
||
|
** Windows NT port
|
||
|
**
|
||
|
IF NOT(IS.FULLPATH(temp)) THEN
|
||
|
CALL *HELP.BOX.B( 7,10,50, "Must be an absolute pathname!!" )
|
||
|
temp.form< 1 > = ""
|
||
|
CALL *PUT.FORM.B(form.size,form,temp.form,PRMPT,1)
|
||
|
GOTO input.loop
|
||
|
END
|
||
|
**
|
||
|
******************
|
||
|
temp.form< 1 > = temp
|
||
|
file.name = temp
|
||
|
GOSUB update.uv.logs
|
||
|
END
|
||
|
ELSE
|
||
|
GOTO input.loop
|
||
|
END
|
||
|
END
|
||
|
STOP @(-1)
|
||
|
|
||
|
*************************************************************************
|
||
|
* Init.form
|
||
|
* This routine is used TO initialize the form TO be printed on the
|
||
|
* screen for data input. It also sets up the default answers, if
|
||
|
* any
|
||
|
*
|
||
|
*************************************************************************
|
||
|
init.form:
|
||
|
form = NULL
|
||
|
temp.form = NULL
|
||
|
temp.form<1>= NULL
|
||
|
form<1,1> = @(5,9)
|
||
|
form<1,2> = @(40,9)
|
||
|
form<1,3> = CDIR.MSG2
|
||
|
form<1,4> = CDIR.MSG3:" This pathname should be the absolute pathname"
|
||
|
form<1,5> = form<1,4>
|
||
|
form<1,6> = 36
|
||
|
form.size = 1
|
||
|
form.line = 1
|
||
|
RETURN
|
||
|
|
||
|
***************************************************************************
|
||
|
* update.uv.logs
|
||
|
***************************************************************************
|
||
|
update.uv.logs:
|
||
|
command.string = CDIR.EXEC:file.name:" 1"
|
||
|
EXECUTE command.string CAPTURING trash
|
||
|
trash = trash[1,LEN(trash)-1]
|
||
|
retry = 0
|
||
|
IF trash # NULL THEN
|
||
|
BEGIN CASE
|
||
|
CASE trash = "0"
|
||
|
help.msg = "Directory (":file.name:") already exists! Do you wish to set this directory as your logging directory?"
|
||
|
CALL *YES.NO.BOX.B( 10, help.msg, retry )
|
||
|
IF retry THEN
|
||
|
OPEN "DICT", LOGS.FILE to Log.File ELSE
|
||
|
CALL *HELP.BOX.B(10,10,60,"Cannot open UV_LOGS files")
|
||
|
STOP @(-1)
|
||
|
END
|
||
|
REC = ""
|
||
|
REC<1> = "X"
|
||
|
REC<2> = file.name
|
||
|
WRITE REC ON Log.File, LOGS.DIR ELSE
|
||
|
CALL *HELP.BOX.B(10,10,60,"Cannot write UV_LOGS files")
|
||
|
STOP @(-1)
|
||
|
END
|
||
|
END
|
||
|
CASE trash = "1"
|
||
|
help.msg = "Illegal pathname, please try again."
|
||
|
CALL *HELP.BOX.B(10,10,60,help.msg)
|
||
|
temp.form<1>=""
|
||
|
CALL *PUT.FORM.B(form.size,form,temp.form,PRMPT,1)
|
||
|
GOTO help.loop
|
||
|
CASE 1
|
||
|
CALL *HELP.BOX.B( 10,10,60,trash )
|
||
|
END CASE
|
||
|
END
|
||
|
ELSE
|
||
|
CALL *HELP.BOX.B( 10, 10, 60, CDIR.MSG4:file.name )
|
||
|
END
|
||
|
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
|