$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 CALL *CINPUT.B(SEC.PRMPT,temp,special,form,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