0% found this document useful (0 votes)
303 views102 pages

BPSAMP

Uploaded by

Prashant Bobde
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
303 views102 pages

BPSAMP

Uploaded by

Prashant Bobde
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 102

Rec# Diagnostic file

4 Loganalyzer for Job 5558


44 *BD/0005558/000000000000/SUMMARY ON BDLOGPACK.
5113 (UTEST)BPSAMP/GEN_SOURCE/GSD/PROGRAM/ERRORS ON USER.
LOGANALYZER : SSR 54.1 (54.189.8015), SDASUPPORT : SSR 54.1 ( 00000100
54.189.8008/IG), JOBFORMATTER : SSR 54.1 ( 00000200
54.189.8035). 00000300
MCP *SYSTEM/541/DELTA/MCP/1898329 : SSR 54.1 (54.189.8329) 00000400
ANALYZED BY * AT CS523-080 (SYSTEM SERIAL = 44) ON 04/15/2011 05:18:02 00000500
00000600
REQUEST: TEXT "LOG/005414 ON USER" LOG JOB 5558 DIAG ALL UC. 00000700
00000800
SUMLOG #000053 CREATED BY CS523-080 (SYSTEM SERIAL = 44) ON 04/14/2011 00000900

20:37:49 00001000
TITLE = *SYSTEM/SUMLOG ON BDLOGPACK (CURRENT SUMLOG). 00001100
00001200
FILE CONTAINS 68001 RECORDS FROM 04/14/2011 20:37:49 TO 04/15/2011 05:1800001300
:03 00001400
00001500
SECURITYLOG #000053 CREATED BY CS523-080 (SYSTEM SERIAL = 44) ON 04/14/ 00001600
2011 20:37:49 00001700
TITLE = *SYSTEM/SECURITYLOG ON BDLOGPACK (CURRENT SECURITYLOG). 00001800
00001900
FILE CONTAINS 53 RECORDS FROM 04/14/2011 20:37:49 TO 04/15/2011 05:17:2700002000

00002100
HWERRORSUPPORT : SSR 54.1 (54.189.8005), IOM REVISION LEVEL: 64. 00002200
00002300
Friday, April 15, 2011 00002400
05:17:56 EI 5558 TASKNAME: BPSAMP/GEN. 00002500
STACK NUMBER: 0061 TASK TYPE: JOB STACK 00002600
USERCODE: UTEST. 00002700
05:17:56 JOB 5558 DSED: INVALID QUEUE SPECIFIED: QUEUE 70 00002800
05:17:56 EI 5558 *** END OF IDENTITY *** 00002900
05:17:57 PRINT 4366 PRINT REQUEST CREATION REQUEST NUMBER: 178500003000
JOB: BPSAMP/GEN. JOB NUMBER: 5558 00003100
TASK NUMBER: 5538 USERCODE00003200
: UTEST. 00003300
JOB TYPE: JOB SUMMARY REQUEST VOLUME: 5081 00003400
ORIGIN: 00003500
DESTINATION: BLACKHOLE. 00003600
00003700
00003800
NORMAL TERMINATION FOR LOGANALYZER PROGRAM. 00003900

>>> *BD/0005558/000000000000/SUMMARY ON BDLOGPACK.


Fri, Apr 15, 2011 05:17:56, SYSTEM SERIAL: 44, CS520 MCP: *SYSTEM/541/DELTA/MCP/
1898329. 54.189.8329, HOSTNAME: ECCSN
W O R K F L O W S T A T E M E N T S
00000160 BEGIN JOB GENERATE23 (
00000200
00000240 % Copyright (c) 2010 Unisys Corporation. All rights reserved.
00000250 % UNISYS CONFIDENTIAL
00000320 %%VERSION 22.1.100
00000480
00000560 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%
00000640 %% NOTE:
%%
00000720 %% USER TAILORABLE VARIABLES FOLLOW THESE PARAMET
ERS. %%
00000800 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%
00000880
00000960 % PARAMETERS:
00001040 STRING SUSER, %OPTION; USER - For Server Builder
SYSTEM
00001120 STRING SSYSTEM, %SYSTEM-NAME (TARGET)
00001200 STRING SDATABASE, %DATABASE NAME
00001280 STRING STDATABASE, %TARGET DATABASE NAME ( NAME TO GEN
ERATE )
00001360 STRING SDMSLOC, %DMS SW LOCATION - USERCODE/PACK
00001520 STRING SADHOCROCDW, %A FOR ADHOC, R FOR ROC AND D FOR D
W
00001760 STRING SDICTPK, %DICTIONARY PACK - (LOCATION CONTRO
L FILES)
00001840 STRING SINITSTN, %INITIATING STATION (GLB.STN)
00001920 STRING SNEW, %"NEW" IF NEW-DATABASE
00002000 STRING SOBJECTPK, %OBJECT PACK (CODE FILES & DMS CODE
FILES)
00002080 STRING SREORGPK, %WHERE WORK REORG FILES ARE TO GO
00002160 STRING SRDBPARAM, %RDB PARAMETER
00002240 STRING SEXTPK, %EXTRACT PACK FOR GLBPAK
00002320 STRING SPARE3, %SPARE
00002400 STRING SLINCSYS, %NAME AND LOCATION FOR NGEN22SYS
00002480 STRING SFORMPACK, %PACK WHERE LINCFORM WAS PUT
00002640 STRING SBNACFGNAME, %TARGET CFG PARAMETER NAME
00002720 STRING SSTREAMS, %NUMBER OF PARALLEL STREAMS (RRRRCC
PP)
00002733 BOOLEAN REBUILD OPTIONAL DEFAULT = FALSE, %TRUE if
this is REBUILD
00002746 REAL ABSYSTEM OPTIONAL, %our syst
em index
00002759 REAL ABCBINX OPTIONAL, %our CB i
ndex
00002772 BOOLEAN ABADHOC OPTIONAL DEFAULT = FALSE, %true if
adhoc sys
00002786 BOOLEAN ABDW OPTIONAL DEFAULT = FALSE, %true if
DW sys
00002793 BOOLEAN ABRM OPTIONAL DEFAULT = FALSE, %true if
OLTP
00002795 BOOLEAN ABAUTOSWAP OPTIONAL DEFAULT = FALSE, %true if
dbreorg AUTOSWAP
00002797 BOOLEAN DODBSCHEMA OPTIONAL DEFAULT = FALSE, %true if
HDBA
00002800 %is enabl
ed
00002820 STRING CHOSTNAME OPTIONAL DEFAULT = "." %valid if
compile host set
00002840 );
SUSER = "BPSAMP \USER "
SSYSTEM = "BPSAMP "
SDATABASE = "BPSAMP "
STDATABASE = "BPSAMP "
SDMSLOC = "/ "
SADHOCROCDW = " D"
SDICTPK = "USER "
SINITSTN = "A_BLD"
SNEW = " NEW YN "
SOBJECTPK = "USER "
SREORGPK = "USER "
SRDBPARAM = " "
SEXTPK = "USER "
SPARE3 = " "
SLINCSYS = "U=RT020,D=LDES,O=LDES. "
SFORMPACK = " "
SBNACFGNAME = " "
SSTREAMS = "00010101"
REBUILD = TRUE
ABSYSTEM = 19
ABCBINX = 0
ABADHOC = FALSE
ABDW = TRUE
ABRM = FALSE
ABAUTOSWAP = FALSE
DODBSCHEMA = FALSE
CHOSTNAME = "." (DEFAULT)
00002880 JOBSUMMARY = UNCONDITIONAL;
00002960 NAME= #(HEAD(TAIL(SSYSTEM," "),NOT " ") & "/GEN");
00003040 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%
00003120 %
00003200 % THE ABOVE PARAMETERS ARE USED IN VARING COMBINATIONS FOR
00003280 % THE DIFFERENT TYPES OF "GENERATES".
00003360 %
00003440 % THIS JOB CAN BE FIRED OFF MANUALLY FOR GENERATES.
00003520 %
00003600 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%
00003680 %
00003760 % USER INTERFACE
00003840 %
00003920 % THIS AREA CONTAINS VARIABLES THAT PERMIT THE USER TO
00004000 % TAILOR THE OPERATION OF THE WFL GENERATE JOB
00004080 %
00004160 % DEFAULT VALUES:
00006320 BOOLEAN
00006400 BPRINTJOB := FALSE
00006480 % THIS OPTION CONTROLS WHETHER THE W
FL AND
00006560 % JOB SUMMARY WILL BE PRINTED AT THE
END
00006640 % OF A SUCCESSFUL GENERATE. DEFAULT
= NO
00007760 ,BSUSPENDIFCOMPILE := FALSE
00007840 % THIS OPTION CONTROLS WHETHER THE G
ENERATE
00007920 % JOB WILL BE SUSPENDED TO FORCE USE
RS
00008000 % TO TAKE THEIR DB DOWN RATHER THAN
TO
00008080 % AUTOMATICALLY INSTALL THEIR NEW UP
DATE
00008160 % PROGRAMS WHEN THERE IS NO DATABASE
00008240 % REORGANIZATION.
00008320 % DEFAULT = NO
00008330 ,WANTSUPPORT := FALSE
00008340 % SET TO TRUE TO CAPTURE ADDITIONAL
DATA
00008350 % FOR SUBSEQUENT ANALYSIS FOLLOWING
A
00008360 % GENERATE OR RUNTIME FAILURE.
00008400 ;
00008480 INTEGER
00008560 IMAXCOMPILE := 10
00008640 % THIS SPECIFIES THE MAXIMUM NUMBER
OF
00008720 % UPDATE PROGRAMS (FOR THIS SYSTEM)
THAT
00008800 % WILL BE COMPILED CONCURRENTLY
00008880 ,IMAXREORG := 4096
00008960 % THIS SPECIFIES THE MAXIMUM NUMBER
OF
00009040 % TASKS THAT WILL BE USED CONCURRENT
LY
00009120 % DURING ANY DATABASE REORGANIZATION
00009200 % REQUIRED BY THIS GENERATE
00009280 ,IMAXPGEN := 10
00009360 % THIS SPECIFIES THE MAXIMUM FOR IPA
RSTREAMS
00009440 ,IMAXWAIT := 30
00009760 % THIS SPECIFIES THE MAXIMUM WAIT TI
ME
00009840 % (IN SECONDS) FOR THE UPDATE PROGRA
MS.
00009920 % IF THIS PERIOD IS EXCEEDED, THE PR
OGRAM
00010000 % WILL BE RESUMED, AND THE ABORTED D
MS
00010080 % COMMAND WILL RETURN AN EXCEPTION E
RROR.
00010240 ;
00010720 %
00010800 % SUBROUTINE
00010880 % THESE SUBROUTINES ARE INCLUDED TO PROVIDE THE USER WI
TH
00010960 % STANDARDISED LOCATIONS FOR MODIFYING THE GENERATE WFL
00011040 % IN AREAS TO DO WITH THE REORGANIZATION OF THE DATABAS
E.
00011120
00011200 % DBHOOKBEGIN
00011280 % THIS SUBROUTINE IS INVOKED WHEN A REORGANIZATION IS R
EQUIRED
00011360 % DURING THE GENERATE. IT WILL BE CALLED AFTER ALL THE
COMPILES
00011440 % ARE COMPLETED, BUT BEFORE THE DATABASE REORGANIZATION
STARTS.
00011520
00011600 % DBHOOKREORGFAIL1
00011680 % IF AN OFFLINE REORGANIZATION FAILS,
00011760 % A NORESTART REORGANIZATION FAILS, OR
00011840 % AN ONLINE REORGANIZATION FAILS DURING ITS SETUP
00011920 % THIS SUBROUTINE WILL BE INVOKED. THE STRING PARAMETER
MAY BE
00012000 % SET TO BYPASS THE OPERATOR INTERVENTION THAT NORMALLY
IS
00012080 % REQUIRED PRIOR TO RE-STARTING THE REORGANIZATION. IF
THE
00012160 % REORGANIZATION IS NOT TO BE RESTARTED, THE INCLUDED L
OGIC
00012240 % SHOULD ABORT THE WFL.
00012320
00012400 % DBHOOKREORGFAIL2
00012480 % IF AN ONLINE REORGANIZATION FAILS AFTER ITS SET UP PH
ASE
00012560 % (AND THE REORGANIZATION IS RESTARTABLE), THIS SUBROUT
INE
00012640 % WILL BE INVOKED. THE STRING PARAMETER MAY BE SET TO
BYPASS
00012720 % THE OPERATOR ACCEPT INPUT THAT NORMALLY IS REQUIRED P
RIOR
00012800 % TO RE-STARTING THE REORGANIZATION. FOLLOWING THE SUBR
OUTINE,
00012880 % THE GENERATE WILL EITHER RESTART THE REORGANIZATION,
OR IT
00012960 % WILL RESTORE THE FILES AND TERMINATE.
00013040
00013120 % DBHOOKREORGFAIL3
00013200 % IF AN ONLINE REORGANIZATION FAILS AFTER ITS SET UP PH
ASE
00013280 % (AND THE REORGANIZATION IS NOT RESTARTABLE), THIS SUB
ROUTINE
00013360 % WILL BE INVOKED. THE STRING PARAMETER MAY BE SET TO
BYPASS
00013440 % THE OPERATOR INPUT THAT NORMALLY IS REQUIRED PRIOR TO
00013520 % ABORTING THE REORGANIZATION. FOLLOWING THE SUBROUTINE
, THE
00013600 % GENERATE WILL EITHER JUST ABORT THE REORGANIZATION, O
R IT
00013680 % WILL RESTORE THE FILES AND THEN ABORT THE GENERATION,
00013760
00014080 % DBHOOKRDBFAIL
00014160 % IF A REORGANIZATION OF THE SECONDARY DATABASE FAILS,
THIS
00014240 % SUBROUTINE WILL BE INVOKED. THE STRING PARAMETER MAY
BE SET
00014320 % TO BYPASS THE OPERATOR INPUT THAT NORMALLY IS REQUIRE
D
00014400 % BEFORE THE GENERATE WFL CONTINUES.
00014480 % NOTE: THERE IS NO PROVISION WITHIN THE SUPPLIED WFL T
O
00014560 % RESTART THE FAILED REORGANIZATION.
00014640
00014720 % DBHOOKEND
00014800 % FOLLOWING THE SUCCESSFUL COMPLETION OF THE REORGANIZA
TION
00014880 % (OF THE PRIMARY DATABASE), THIS SUBROUTINE WILL BE IN
VOKED.
00014960 % NOTE: THIS OCCURS BEFORE THE REORGANIZATION OF A SECO
NDARY
00015040 % (RDB) DATABASE IS ATTEMPTED.
00015120 %
00016480 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
00016560 % LOCAL VARIABLES:
00016600 CONSTANT RTPREFIX = "NGEN23";
00016880 INTEGER IDMSLEVEL, % DATABASE LEVEL TO COMPILE
39, ETC
00017040 IMCPLEVEL; % LEVEL TAKEN FROM MCP LEVEL
00017120 BOOLEAN BINTERIMREORG,% INTERIM DASDL COMPILE SET REO
RG FLAG
00017200 BDASDLREORG,% DASDL COMPILE SET REORG FLAG
00017280 BREORGDB, % NEED TO RUN REORG TO COMPLETE
GENERATE
00017360 BREORGUT, % NEED TO RUN UTILITY TO COMPLETE
GENERATE
00017440 BREORGWORKSIZE,% TRUE = GLB-WORK CHANGED,UPDAT
EA,DBI COM
00017520 BNEWDB, % TRUE = NEW DATABASE
00017600 BUPDATEDB, % TRUE = DASDL UPDATE REQUIRED
00017840 BREORGUPDATEDB, % TRUE= REORG WILL OCCUR
00017920 BRMSUPPORT, % TRUE = WE NEED AN RMSUPPORT
00017960 BLCCMISSING, % no LINCCNTL file for DAC
00018000 BDACREORG, % DAC BUILT A REORG FILE
00018080 BCHANGEDB, % TRUE = CHANGES TO DASDL
00018160 % = BREORGUT OR BUPDATEDB OR BREO
RGUPDATEDB
00018200 BROCCHANGED, % TRUE = ROC OR HDBA FLAG CHANGED
-
00018202 % COMPILE DBI (DAC)
00018220 BDICTCHANGED,% dcitionary pack changed cannot r
eorg
00018240 BRESTARTED, % JOB HAS RESTARTED
00018242 BNEEDDBINT, % DBINTERFACE source has been upda
ted must compile
00018244 BNEEDDBI, % DBILIBRARY source is updated mus
t compile
00018245 BNEWDBI; % true when new DBILIBRARY compile
d ok
00018250 INTEGER INOPOSTDUMP;% TRUE = REORG WILL USE 'NOPOSTDUM
P'
00018300 % 3 = REORGDB
00018320 BOOLEAN BNORESTART, % TRUE = REORG WILL USE 'NORESTART
'
00018480 BSORT; % TRUE = REORG WILL SORT SET DATA
FROM ITSEL
00018640 BOOLEAN BCLONE ; % DATABASE CLONE FOR RDB REQUIRED
00018720 BOOLEAN BRDBPARAM; % RDB/CONTROL FILE PRESENT
00018800 BOOLEAN BSAVERDB; % RDB SECONDARY DB FILES SAVED
00018880 BOOLEAN BFINALUPDATE; %SO RDB KNOWS ITS THE FINAL ONE
00018960 BOOLEAN BCONVERT; % CONVERT FROM PRIOR RELEASE (DAC)
00019120 BOOLEAN BCLEARDI; % CLEAR DIALOGINFO
00019200 BOOLEAN BVERSIONCHANGE; % SOFTWARE VERSION CHANGE (
DAC)
00019210 BOOLEAN BCANCHANGE; % RETURNED VIA SW8 FROM UPD
00019280 BOOLEAN BCOMPILEALL; % DICTPACK OR SUBSYSTEM CHANGE
(DAC)
00019360 BOOLEAN BDESCRIPTIONSAVED; % TRUE IF DESCRIPTION FILE
COPIED
00019440 BOOLEAN BCONTROLSAVED; % TRUE IF D/B CONTROL FILE
COPIED
00019480 BOOLEAN BDBRECSAVED; % TRUE IF DBRECORD LAYOUT S
AVED
00019520 BOOLEAN BSETTYPECHANGED; % TRUE IF COMP NAME CHANGED
AND
00019600 % TRUE IF SET TO SUBSET OR VICE VE
RSA (DAC)
00019680 BOOLEAN BPACKCHANGED;
00019760 % TRUE IF DATABASE FILE PACK CHANG
ED (DAC)
00019840 BOOLEAN BDELETESTRUCTURE;
00019920 % TRUE IF DATASET/SET DELETED
(DAC)
00020000 BOOLEAN BDMSLEVELCHANGED; % TRUE IF DMS VERSION/LEVEL
CHANGED
00020160 BOOLEAN BBNAGEN; % TRUE = CROSS-HOST GENERATE
00020480 BOOLEAN BLOCKEDDB; % TRUE = DATABASE IS LOCKED
00020560 BOOLEAN BCOMPFAIL; % TRUE = UPDATES COMPILE FAILED
00020640 BOOLEAN BTEMP, % TEMP IN STARTING PARALLEL UPDATE
COMPILES
00020720 B1,B2,B3,B4,B5,B6,B7,B8,B9,B10; % PAR. COMPILE
FLAGS
00020800 INTEGER ICOUNTI, % PARALLEL STREAMS INITIATED
00020880 ICOUNTC, % PARALLEL STREAMS COMPLETED
00021200 IPARCOMPILE, % # PARALLEL COMPILE STREAMS
00021280 IPARREORG, % # PARALLEL REORG TASKS
00021360 IPARSTREAMS; % # PARALLEL GENERATE STREAM
S
00021600 TASK T1,T2,T3,T4,T5,T6,T7,T8,T9,T10; % PARALLEL TAS
KS
00023360 BOOLEAN BRECOMP10,
00023440 BPOPWARN, % TRUE OUTSTANDING POPULATION INCR
/WARN MSGS
00023520 BADHOC, % TRUE = CREATE SUBSYSTEM A - ADH
OC INQUIRY
00023600 BADHOCNEW, % TRUE = ADDING ADHOC TO EXISTING
SYSTEM
00023760 BWDP, % TRUE = USES WDP
00024000 BROC; % TRUE = CREATE SUBSYSTEM C - REP
ORT OUTPUT
00024080 BOOLEAN BPRINTSUMM; % TRUE = PRINT JOB SUMMARY EVEN IF
END OK
00024240 BOOLEAN BFULLCONFIG;% TRUE => LOAD FULL COMS CONFIG
00024320 BOOLEAN BCOMSLOAD; % TRUE => OK TO LOAD COMS CONFIG
00024400 BOOLEAN BPGENFAILED,% TRUE => PGEN FAILED
00024480 BPGENDCOMPLETED; % TRUE => PGEND HAS COMPLETED
00024560 BOOLEAN BCECFAILED; % TRUE => PROGRAM FAILURE IN CEC
00024640 BOOLEAN BUNIQUE2; % TRUE => MOVE OF UNIQUE/SAVE 2ND
FILE
00024680 BOOLEAN BNAPSYSTEM; % TRUE NEED NAP_COMS_TP
00024720 BOOLEAN
00024880 BFAILADHL, % " ADHOC LIBR
ARY
00024960 BFAILADHLD, % " ADHOC LOAD
REP
00025040 BFAILROCL, % " ROC LIBRAR
Y
00025120 BFAILROCU, % " ROC LOGIC
00025200 BFAILROC, % " ROC
00025360 BFAILDBI, % " DBILIBRARY
00025600 BFAILLINCS, % " LINCSUPPOR
T
00025680 BFAILLSS, % " LSS
00025712 BFAILCOMSTP,% " COMSTP
00025744 BFAILENV ,% " ENVIRONMEN
T
00025748 BFAILDAC ,% " DAC IN RUN
LINCDAC
00025752 BFAILUPD % " UPD IN RUN
LINCDAC
00025756 ;
00026560 % BOOLEAN BIREORGERR; % DB Reorg failed immediately flag
00026566 BOOLEAN
00026572 BRESTOREALLOWED, %IF RESTOREDMSFILES IS OK
00026578 BWARNCRITIC, %FAILED TO CREATE UNIQUE F
ILE
00026584 BWARNRDBRESTORE, %RDB FAILED TO RESTORE FIL
ES
00026590 BWARNBNACOPY, %BNAGEN FAILED TO COPY MOD
ELS
00026596 BWARNDBMOVE, %MOVE OF DB FILES FAILED
00026602 BWARNDMNUM, %LINCCNTL UPDATE OF DMSUPP
ORT NUM
00026608 BWARNDASDLUPDATE, %DASDL UPDATE FAILED
00026614 BWARNDBCOPY, %COPY OF DB FILES FAILED
00026620 BWARNPOPCHK, %FAILED TO COMPLETE POP CH
ECK
00026626 BWARNDMSLEVELUPDATE; %FAILED TO UPDATE DMS LEVE
L
00026633
00026640
00026720 STRING LINCPREFIX, % NGEN22SYS FOR PROGRAMS
00026800 LINCPREFIXDEV,
00026880 LINCPFX,
00026960 LINCOBJECTPACK,
00027040 LINCDICTPACK,
00027120 LINCUSER,
00027150 LHOSTNAME;
00027200
00027280 STRING OBJECTPACK, % THE OBJECT PACK
00027320 EXTRACTPACK,% THE EXTRACT PACK
00027360 DICTPACK, % THE ACTUAL DICT-PACK (CONTROL FI
LE)
00027400 FORMPACK, % THE ACTUAL PACK CONTAINING LINCF
ORM FILE
00027520 REORGPACK; % THE WORK PACK USED BY DMS REORG
00027600 STRING SCOBOL, % THE COBOL COMPILER
00027680 SCOBOLN, % THE COBOL COMPILER SIMPLE NAME
00027760 SDMALGOL, % THE DMALGOL COMPILER
00027840 SDMALGOLN, % THE DMALGOL COMPILER SIMPLE NAME
00027920 TDMSUSER, % TARGET DMS USERCODE,BNA GEN
00028000 TDMSPACK, % TARGET DMS PACK ,BNA GEN
00028080 SDMSUSER, % USERCODE OF DMS SOFTWARE
00028160 SDMSPACK; % PACK LOCATION OF DMS SOFTWARE
00028320 STRING PREFIX; % THE FILE PREFIX
00028400 STRING SYSPREFIX; % THE SYSTEM PREFIX - FOR INCLUDE
FILES
00028480 STRING DBPREFIX; % THE TARGET DATABASE NAME
00028560 STRING DBNAME; % THE DATABASE NAME (INC USER & PA
CK)
00029440 STRING SFAMILY; % FAMILY NAME
00029520 STRING PRIMARYPACK; % PRIMARY PACK FROM FAMILY STATEME
NT
00029600 STRING ALTERNATEPACK; % ALTERNATE PACK FROM FAMILY STA
TEMENT
00029640 STRING MYFAMILY; % STORAGE OF WHOLE FAMILY STATEM
ENT
00029680 STRING SYSUSER; % USERCODE OF SYSTEM INCLUDES (
& )
00029840 STRING SUSERCODE; % USERCODE WITHOUT ( OR )
00029920 STRING MYUSERCODE; % USED IN EXTRACTDI - IN HERE F
OR LCONF
00030000 STRING SCHARGE; % CHARGECODE FOR THIS JOB
00030080 STRING SNEWDB;
00030240 STRING CECPARAM;
00030320 STRING CELPARAM;
00030560 STRING SDMSUPPORTNEW; % DMSUPPORT SUFFIX "NEW" OR NUMB
ER(IF 39)
00030800 INTEGER IDMSUPPORTNEW; % INTEGER VERSION FOR RESTART 0
= 3.8
00030880 %
00031120 STRING THOSTNAME, % THE TARGET HOSTNAME
00031200 TDICTPACK, % THE TARGET DICTIONARY PACK
00031280 TOBJECTPACK,% THE TARGET TRANSFER OBJECT PACK
00031360 TWORKPACK, % THE TARGET TRANSFER WORK PACK
00031440 TDEFPACK, % THE TARGET DEFAULT PACK
00031520 TSYSUSER, % THE TARGET HOST USERCODE
00031600 TTARGET, % THE TARGET MACHINE TYPE (VSERIES
,ASERIES)
00031760 TWORKLIT, % THE LEVEL IN WORK NAME (VSERIES
OR WORK)
00031840 TINITSTN; % THE INITIATING STATION NAME
00031920
00032160
00032240 FILE F;
00032250 FILE MYF;
00032320 INTEGER C, I, COUNT, P;
00032400 STRING S1, S2, S3, S4, S9, TEMP;
00032480 TASK T, TA, TB, TC, CT;
00032560 TASK TISTATUS, TREORG , TCFG;
00032640 %-------------------------------------------------------------
----------
00032720 % **** SUBROUTINES FOR USER INTERFACES ****
00032800 %-------------------------------------------------------------
----------
00032880 SUBROUTINE DBHOOKBEGIN;
00032960 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%
00033040 %
00033120 % D B H O O K B E G I N
00033200 %
00033280 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%
00033360 BEGIN
00033440 % INSERT USER LOGIC
00034240 END;
00034320 %-------------------------------------------------------------
----------
00034400 SUBROUTINE DBHOOKREORGFAIL1 (STRING REPLY);
00034480 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%
00034560 %
00034640 % D B H O O K R E O R G F A I L 1
00034720 %
00034800 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%
00034880 % INPUT : REPLY = ""
00034960 % OUTPUT : REPLY = "" : WAIT <MIX>OK BEFORE RESTARTING RE
ORG.
00035040 % OUTPUT : REPLY = "OK" : BYPASS <MIX>OK BEFORE RESTARTING RE
ORG.
00035120 BEGIN
00035200 % INSERT USER LOGIC
00036000 END;
00036080 %-------------------------------------------------------------
----------
00036160 SUBROUTINE DBHOOKREORGFAIL2 (STRING REPLY);
00036320 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%
00036400 %
00036480 % D B H O O K R E O R G F A I L 2
00036560 %
00036640 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%
00036720 % INPUT : REPLY = ""
00036800 % OUTPUT : REPLY = "" : WAIT <MIX>AX <YES/NO> BEFORE CONTI
NUING
00036880 % OUTPUT : REPLY = "YES" , BYPASS <MIX>AX.. AND CONTINUE
00036960 % OUTPUT : REPLY = "NO" , BYPASS <MIX>AX.. AND CONTINUE
00037040 % UPON CONTINUING: "YES" : RESTART THE REORGANIZATION
00037120 % "NO" : ABORT THE GENERATE AFTER RESTORIN
G
00037200 % THE FILES.
00037280 BEGIN
00037360 % INSERT USER LOGIC
00038160 END;
00038240 %-------------------------------------------------------------
-------
00038320 SUBROUTINE DBHOOKREORGFAIL3 (STRING REPLY);
00038400 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%
00038480 %
00038560 % D B H O O K R E O R G F A I L 3
00038640 %
00038720 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%
00038800 % INPUT : REPLY = ""
00038880 % OUTPUT : REPLY = "" : WAIT <MIX>AX <YES/NO> BEFORE CONTI
NUING
00038960 % OUTPUT : REPLY = "YES" : BYPASS <MIX>AX.. AND CONTINUE
00039040 % OUTPUT : REPLY = "NO" : BYPASS <MIX>AX.. AND CONTINUE
00039120 % UPON CONTINUING: "YES" : ABORT THE GENERATE IMMEDIATELY
00039200 % "NO" : ABORT THE GENERATE AFTER RESTORIN
G
00039280 % THE FILES.
00039360 BEGIN
00039440 % INSERT USER LOGIC
00040240 END;
00040320 %-------------------------------------------------------------
-------
00040400 SUBROUTINE DBHOOKRDBFAIL (STRING REPLY);
00040480 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%
00040560 %
00040640 % D B H O O K R D B F A I L
00040720 %
00040800 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%
00040880 % INPUT : REPLY = ""
00040960 % OUTPUT : REPLY = "" : WAIT FOR <MIX>OK BEFORE CONTINUING
00041040 % OUTPUT : REPLY = "<ANYTHING>" : BYPASS THE <MIX>OK AND CONT
INUE
00041120 % FOLLOWING THE SUBROUTINE, THE GENERATE WILL CONTINUE AS IF
THE
00041200 % REORGANIZATION WAS SUCCESSFUL.
00041280 BEGIN
00041360 % INSERT USER LOGIC
00042160 END;
00042240 %-------------------------------------------------------------
----------
00042320 SUBROUTINE DBHOOKEND;
00042400 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%
00042480 %
00042560 % D B H O O K E N D
00042640 %
00042720 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%
00042800 BEGIN
00042880 % INSERT USER LOGIC
00043680 END;
00043760 %-------------------------------------------------------------
--------
00043840 % **** END OF SUBROUTINES FOR USER INTERFACES ****
00043920 %-------------------------------------------------------------
--------
00044000 SUBROUTINE CREATEFILE (STRING FILEID VALUE, STRING PACKID VALU
E);
00044080 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%
00044160 %
00044240 % C R E A T E F I L E
00044320 %
00044400 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%
00044480 BEGIN
00044560 F(NEWFILE = TRUE);
00044640 F(TITLE = #(FILEID &" ON "& PACKID));
00044720 OPEN(F);
00044800 LOCK(F);
00044880 END ;
00044960 %-------------------------------------------------------------
----------
00045040 SUBROUTINE REMOVEIT (STRING FILEID VALUE, STRING PACKID VALUE)
;
00045120 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%
00045200 %
00045280 % R E M O V E I T
00045360 %
00045440 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%
00045520 BEGIN
00045600 IF FILE #FILEID ON #PACKID IS RESIDENT THEN
00045680 REMOVE #FILEID ON #PACKID;
00045760 END ;
00045840 %-------------------------------------------------------------
----------
00045920 SUBROUTINE ASKQUESTION(STRING QUESTION , INTEGER REPLY);
00046000 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%
00046080 %
00046160 % A S K Q U E S T I O N
00046240 %
00046320 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%
00046400 BEGIN
00046480 ASKAGAIN:
00046560 S1:=ACCEPT(QUESTION );
00046640 IF LENGTH(S1) < 2 THEN
00046720 BEGIN
00046800 DISPLAY("** INVALID RESPONSE **");
00046880 GO TO ASKAGAIN;
00046960 END
00047040 ELSE IF TAKE(S1,2) = "NO" THEN REPLY:=0
00047120 ELSE IF LENGTH(S1) < 3 THEN
00047200 BEGIN
00047280 DISPLAY("** INVALID RESPONSE **");
00047360 GO TO ASKAGAIN;
00047440 END
00047520 ELSE IF TAKE(S1,3) = "YES" THEN REPLY:=1
00047600 ELSE
00047680 BEGIN
00047760 DISPLAY("** INVALID RESPONSE **");
00047840 GO TO ASKAGAIN;
00047920 END;
00048000 END;
00048003 %-------------------------------------------------------------
----------
00048006 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
00048009 %
00048012 % D I S P L A Y W A R N I N G
00048015 %
00048018 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
00048021 SUBROUTINE DISPLAYWARNING;
00048024 BEGIN
00048028 % JUST DISPLAY WARNING MSG DEPENDING ON THE FLAGS
00048032 IF BWARNRDBRESTORE THEN
00048036 DISPLAY("RDB FAILED TO RESTORE FILES.");
00048040 IF BWARNBNACOPY THEN
00048044 DISPLAY("BNAGEN FAILED TO COPY MODELS.");
00048048 IF BWARNDBMOVE THEN
00048052 DISPLAY("MOVE OF DB FILES FAILED.");
00048056 IF BWARNDMNUM THEN
00048060 DISPLAY("LINCCNTL UPDATE OF DMSUPPORT NUMBER FAILED.");
00048064 IF BWARNDASDLUPDATE THEN
00048068 DISPLAY("DASDL UPDATE FAILED.");
00048072 IF BWARNDBCOPY THEN
00048076 DISPLAY("COPY OF DB FILES FAILED.");
00048077 IF BWARNPOPCHK THEN
00048078 DISPLAY("FAILED TO COMPLETE POP CHECK.");
00048079 IF BWARNCRITIC THEN
00048080 DISPLAY("FAILED TO CREATE UNIQUE FILE.");
00048081 IF BWARNDMSLEVELUPDATE THEN
00048082 DISPLAY("FAILED TO UPDATE DMS LEVEL.");
00048083 END;
00048084 %-------------------------------------------------------------
------
00048085 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
00048086 %
00048087 % D O A B O R T
00048088 %
00048089 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
00048090 SUBROUTINE DOABORT(STRING ABORTMSG);
00048091 BEGIN
00048092 BPRINTSUMM := TRUE; % LEAVE TRACKS
00048093 DISPLAYWARNING;
00048094 ABORT ABORTMSG;
00048095 END;
00048096 %-------------------------------------------------------------
----------
00048097 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
00048099 %
00048103 % A B O R T T A S K S T A T U S
00048107 %
00048111 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
00048115 SUBROUTINE ABORTSTATUS(TASK T, STRING ABORTMSG);
00048119 BEGIN
00048123 IF T ISNT COMPLETEDOK THEN DOABORT(ABORTMSG);
00048139 END;
00048143 %-------------------------------------------------------------
----------
00048147 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
00048151 %
00048152 % W A R N T A S K S T A T U S
00048157 %
00048162 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
00048163 SUBROUTINE WARNSTATUS(TASK T, STRING WARNMSG);
00048164 BEGIN
00048165 % NEED TO CONTINUE & NOT ABORT, JUST DISPLAY WARNING
00048166 IF T ISNT COMPLETEDOK THEN DISPLAY(WARNMSG);
00048167 END;
00048168 %-------------------------------------------------------------
------
00048169 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%
00048170 %
00048171 % C H E C K T A S K
00048172 %
00048173 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%
00048174 SUBROUTINE CHECKTASK(TASK T, BOOLEAN BWARNFLAG);
00048175 BEGIN
00048176 IF T ISNT COMPLETEDOK THEN BWARNFLAG := TRUE;
00048177 END;
00048178 %-------------------------------------------------------------
----------
00048179 SUBROUTINE PISTATUS ( INTEGER MSG VALUE );
00048240 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%
00048320 %
00048400 % P I S T A T U S
00048480 % (Parallel ISTATUS)
00048560 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%
00048640 BEGIN
00048720 TASK TISTATUS;
00048744 TISTATUS(VALUE=MSG);
00048752 TISTATUS(LOCKED=FALSE);
00048760 RUN #(LINCUSER & LINCPFX)/ABMONITOR ON #LINCDICTPACK
00048768 (ABSYSTEM, ABCBINX)[TISTATUS];
00049360 END ;
00049440 %-------------------------------------------------------------
----------
00049520 SUBROUTINE SISTATUS;
00049600 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%
00049680 %
00049760 % I S T A T U S
00049840 %
00049920 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%
00050000 BEGIN
00050080 TISTATUS(TARGET=999999);
00050160 TISTATUS(LOCKED=FALSE);
00050192 RUN #(LINCUSER & LINCPFX)/ABMONITOR ON #LINCDICTPACK
00050208 (ABSYSTEM, ABCBINX) [TISTATUS];
00050560 END ;
00050640 %-------------------------------------------------------------
----------
00057120 SUBROUTINE ABORTCOMPILE(STRING ABORTSTRING);
00057200 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00057280 %
00057360 % A B O R T C O M P I L E
00057440 %
00057520 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00057760 BEGIN
00057840 % SET NEED COMPILE FLAGS FOR ALL SUBSYSTEMS TO BE COMPILE
D
00060080 TISTATUS(TASKVALUE = 1281);
00060160 SISTATUS;
00060720
00060800 IF BCOMPFAIL THEN
00060880 BEGIN
00061280 IF BFAILADHL THEN
00061360 DISPLAY ("COMPILE ERRORS IN ADHOC INQUIRY LIBRARY");
00061440 IF BFAILADHLD THEN
00061520 DISPLAY ("COMPILE ERRORS IN ADHOC LOAD REPORT");
00061600 IF BFAILROCL THEN
00061680 DISPLAY ("COMPILE ERRORS IN ROC LIBRARY");
00061760 IF BFAILROCU THEN
00061840 DISPLAY ("COMPILE ERRORS IN ROC LOGIC");
00061920 IF BFAILROC THEN
00062000 DISPLAY ("COMPILE ERRORS IN ROC");
00062080 IF BFAILDBI THEN
00062160 DISPLAY ("COMPILE ERRORS IN DBILIBRARY");
00062560 IF BFAILLINCS THEN
00062640 DISPLAY ("COMPILE ERRORS IN LINCSUPPORT");
00062720 IF BFAILLSS THEN
00062800 DISPLAY ("COMPILE ERRORS IN LSS");
00062811 IF BFAILCOMSTP THEN
00062822 DISPLAY ("COMSTP NOT INSTALLED");
00062856 IF BFAILENV THEN
00062868 DISPLAY ("ENVIRONMENT NOT INSTALLED");
00062870 IF BFAILDAC OR
00062874 BFAILUPD THEN
00062875 BEGIN
00062876 IF FILE #(SYSUSER & PREFIX)/LINCCNTL/OLD ON #DICT
PACK
00062877 IS RESIDENT THEN
00062878 BEGIN
00062879 CHANGE #(SYSUSER & PREFIX)/LINCCNTL/OLD
00062880 TO #(SYSUSER & PREFIX)/LINCCNTL
00062881 FROM #DICTPACK;
00062882 DISPLAY ("OLD LINCCNTL FILE HAS BEEN REINSTA
TED");
00062883 END;
00062884 END;
00064480 END;
00064560
00064636
00065120 REMOVEIT(SYSUSER & PREFIX&"/SYSTEM/GENERATING",LINCDICTPA
CK);
00065200 REMOVEIT(SYSUSER & PREFIX&"/DISALLOWREP/GENERATE",PRIMARY
PACK);
00065280 ABORT ABORTSTRING;
00065360 END;
00065365 %-------------------------------------------------------------
----------
00065366 SUBROUTINE SETFAMILY(STRING WHICHFAM);
00065367 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00065368 %
00065369 % S E T F A M I L Y
00065370 %
00065371 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00065372 BEGIN
00065373 STRING SFAM;
00065374 IF WHICHFAM = "." THEN
00065375 BEGIN
00065376 IF ALTERNATEPACK = "DISK" THEN
00065377 MYSELF(FAMILY="."); % RESET FAMILY FOR DISK SYSTEMS
00065378 ELSE
00065379 BEGIN
00065380 SFAM := ALTERNATEPACK & "=" & ALTERNATEPACK & " ONLY";
00065381 MYSELF (FAMILY=SFAM);
00065382 END;
00065383 END
00065384 ELSE
00065385 MYSELF(FAMILY=WHICHFAM);
00065386 END;
00065387 %-------------------------------------------------------------
----------
00065388 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00065390 %
00065395 % C H A N G E I T
00065401 %
00065407 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00065413 %
00065419 SUBROUTINE CHANGEIT(STRING FILE1, STRING FILE2, STRING WHICHPA
CK);
00065425 BEGIN
00065431 IF FILE #(SYSUSER & SYSPREFIX)/#FILE1 ON #WHICHPACK IS RESID
ENT THEN
00065437 CHANGE #(SYSUSER & SYSPREFIX)/#FILE1
00065443 TO #(SYSUSER & SYSPREFIX)/#FILE2 FROM #WHICHPACK;
00065449 END;
00065455 %-------------------------------------------------------------
----------
00065520 SUBROUTINE RESTOREDMSFILES;
00065600 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00065680 %
00065760 % R E S T O R E D M S F I L E S
00065840 %
00065920 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00066160 BEGIN
00066480 BPRINTSUMM := TRUE; % PRINT JOB SUMMARY
00066560
00067440 IF BDESCRIPTIONSAVED THEN
00067520 BEGIN
00067600 DISPLAY "*** RESTORING DMS SOURCE FILES ***";
00067680 CHANGE #(SYSUSER & "DESCRIPTION")/#DBPREFIX
00067760 TO #(SYSUSER & "DESCRIPTION")/#DBPREFIX/BAD,
00067840 #(SYSUSER & SYSPREFIX)/SOURCE/DMS
00067920 TO #(SYSUSER & SYSPREFIX)/SOURCE/DMS/BAD
00068000 FROM #DICTPACK;
00068080 CHANGE #(SYSUSER & "DESCRIPTION")/#DBPREFIX/SAVED
00068160 TO #(SYSUSER & "DESCRIPTION")/#DBPREFIX,
00068240 #(SYSUSER & SYSPREFIX)/SOURCE/DMS/SAVED
00068320 TO #(SYSUSER & SYSPREFIX)/SOURCE/DMS
00068400 FROM #DICTPACK;
00068480 IF FILE #(SYSUSER & SYSPREFIX)/LINCCNTL/SAVED ON #DICTPAC
K
00068520 IS RESIDENT THEN
00068560 CHANGE #(SYSUSER & SYSPREFIX)/LINCCNTL/SAVED
00068640 TO #(SYSUSER & SYSPREFIX)/LINCCNTL
00068720 FROM #DICTPACK;
00068800 END;
00068880
00068960 IF BCONTROLSAVED THEN
00069040 BEGIN
00069120 CHANGE #(SYSUSER & DBPREFIX)/CONTROL
00069200 TO #(SYSUSER & DBPREFIX)/CONTROL/BAD
00069280 FROM #DICTPACK;
00069360 CHANGE #(SYSUSER & DBPREFIX)/CONTROL/SAVED
00069440 TO #(SYSUSER & DBPREFIX)/CONTROL
00069520 FROM #DICTPACK;
00069600 IF FILE #(SYSUSER & "DMSUPPORT")/#DBPREFIX/SAVED ON #OBJE
CTPACK
00069680 IS RESIDENT THEN
00069760 CHANGE #(SYSUSER & "DMSUPPORT")/#DBPREFIX/SAVED
00069840 TO #(SYSUSER & "DMSUPPORT")/#DBPREFIX FROM #OBJECT
PACK;
00069920 IF FILE #(SYSUSER & "RMSUPPORT")/#DBPREFIX/SAVED ON #OBJE
CTPACK
00070000 IS RESIDENT THEN
00070080 CHANGE #(SYSUSER & "RMSUPPORT")/#DBPREFIX/SAVED
00070160 TO #(SYSUSER & "RMSUPPORT")/#DBPREFIX FROM #OBJECT
PACK;
00070200 CHANGEIT("DBINTERFACE/SAVED", "DBINTERFACE", OBJECTPACK);
00070240 END;
00070320
00070400 IF BSAVERDB THEN % RESTORE SAVED RDB FILES ON SECONDARY
00070480 BEGIN
00070560 T(STATUS = NEVERUSED);
00070720 RUN #(LINCUSER & LINCPFX)/RDB ON #LINCDICTPACK [T];
00070800 FILE DBCONTROL = #(SYSUSER & DBPREFIX)/#SYSPREFIX
00070880 ON #DICTPACK;
00070960 TASKVALUE=6;
00071000 CHECKTASK(T, BWARNRDBRESTORE);
00071040 END ;
00072720
00072727 IF BDBRECSAVED THEN %RESTORE SAVED DBRECORD LAYOUT FILE
00072734 BEGIN
00072741 DISPLAY "*** RESTORING DBRECORD LAYOUT FILE ***";
00072748 CHANGE #PREFIX/SOURCE_FILE/DBRECORD/LAYOUT
00072755 TO #PREFIX/SOURCE_FILE/DBRECORD/LAYOUT/BAD
00072762 FROM #DICTPACK;
00072769 CHANGE #PREFIX/SOURCE_FILE/DBRECORD/LAYOUT/SAVED
00072776 TO #PREFIX/SOURCE_FILE/DBRECORD/LAYOUT
00072784 FROM #DICTPACK;
00072792 END;
00072796
00072800 IF LENGTH(SDMSUPPORTNEW) > 0 THEN
00073040 REMOVEIT("DMSUPPORT/"&DBPREFIX&"/"&SDMSUPPORTNEW,OBJECT
PACK);
00073120 % Restore RDB PARAMS file
00073840 END; % RESTOREDMSFILES
00073920 %-------------------------------------------------------------
----------
00074000 SUBROUTINE SETUPTARGETS;
00074080 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00074160 %
00074240 % S E T U P T A R G E T S
00074320 %
00074400 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00074640 BEGIN
00074720 T( STATUS = NEVERUSED );
00074800 S1:= "BNA_LOCALS " & SDATABASE & " " & SBNACFGNAME & " ";
00075040 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK
00075120 (S1 REFERENCE )[T];
00075440
00075520 IF T ISNT COMPLETEDOK THEN
00075600 DOABORT("PROBLEMS GETTING LOCAL PACK NAME AND USERCODE");
00075680
00075840 TWORKPACK := TAKE(S1,17); % Target workpack
00075920 TWORKPACK := TAIL(TWORKPACK," ");
00076000 TWORKPACK := HEAD(TWORKPACK,NOT " ");
00076080 %
00076160 S1 := DROP(S1,17);
00076240 TSYSUSER := TAKE(S1,17); % Target usercode
00076320 TSYSUSER := TAIL(TSYSUSER," ");
00076400 TSYSUSER := HEAD(TSYSUSER,NOT " ");
00076480 IF LENGTH(TSYSUSER) = 0
00076560 THEN
00076640 % default to Runtime usercode if none entered (already b
racketed)
00076720 TSYSUSER := LINCUSER
00076800 ELSE
00076880 IF LENGTH(TSYSUSER) > 0 AND TSYSUSER NEQ "*" THEN
00076960 % Put it in brackets if not "*"
00077040 TSYSUSER := "(" & TSYSUSER & ")";
00077120 %
00077200 S1 := DROP(S1,17);
00077280 THOSTNAME := TAKE(S1,17); % Target Hostname
00077360 THOSTNAME := TAIL(THOSTNAME," ");
00077440 THOSTNAME := HEAD(THOSTNAME,NOT " ");
00077520 %
00077600 S1 := DROP(S1,17);
00077680 TOBJECTPACK:= TAKE(S1,17); % Target Objectpack
00077760 TOBJECTPACK:= TAIL(TOBJECTPACK," ");
00077840 TOBJECTPACK:= HEAD(TOBJECTPACK,NOT " ");
00077920 %
00078080 S1 := DROP(S1,17);
00078160 TDICTPACK := TAKE(S1,17); % Target Dictpack
00078240 TDICTPACK := TAIL(TDICTPACK," ");
00078320 TDICTPACK := HEAD(TDICTPACK,NOT " ");
00078400 %
00078480 S1 := DROP(S1,17);
00078560 TDEFPACK := TAKE(S1,17); % Target Defpack
00078640 TDEFPACK := TAIL(TDEFPACK," ");
00078720 TDEFPACK := HEAD(TDEFPACK,NOT " ");
00078800 %
00078880 S1 := DROP(S1,17);
00078960 TDMSUSER := TAKE(S1,17); % Target DMS usercod
e,
00079040 TDMSUSER := TAIL(TDMSUSER," "); % for use in reorgan
ization
00079120 TDMSUSER := HEAD(TDMSUSER,NOT " ");
00079200 IF LENGTH(TDMSUSER) > 0 AND TDMSUSER NEQ "*" THEN
00079280 TDMSUSER := "(" & TDMSUSER & ")"; % - put it in bracke
ts
00079360 %
00079440 S1 := DROP(S1,17);
00079520 TDMSPACK := TAKE(S1,17); % target DMS packnam
e, to
00079600 TDMSPACK := TAIL(TDMSPACK," "); % be used in reorgan
ization
00079680 TDMSPACK := HEAD(TDMSPACK,NOT " ");
00079760 IF LENGTH(TDMSPACK) > 0 THEN
00079840 TDMSPACK := " ON " & TDMSPACK; % - needs " ON " pre
fix
00080320
00081120 DISPLAY ("WILL COPY FILES FROM " & TSYSUSER & " ON " & TDICT
PACK
00081200 & " AT " & THOSTNAME);
00081680 %
00082880
00083040 END;
00083200 %-------------------------------------------------------------
----------
00083280 SUBROUTINE COPYBNAGEN;
00083360 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00083440 %
00083520 % C O P Y B N A G E N
00083600 %
00083680 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00083920 BEGIN
00084000 % REMOVE FILES BEFORE COPY , SO NO CONFUSION
00084160 REMOVEIT(DBPREFIX&"/CONTROL/NEW",DICTPACK) ;
00084400 REMOVEIT("DESCRIPTION/"&DBPREFIX&"/NEW",DICTPACK);
00084560 REMOVEIT(PREFIX&"/SOURCE/DMS/NEW",DICTPACK);
00084720 REMOVEIT(PREFIX&"/LINCCNTL/NEW",DICTPACK);
00084760 REMOVEIT(PREFIX&"/SOURCE_FILE/DBRECORD/LAYOUT",DICTPACK);
00084880 %
00084960 CHANGE #PREFIX/LINCCNTL TO #PREFIX/LINCCNTL/SAVED FROM #DI
CTPACK;
00085040
00085120 COPYBNARETRY:
00085200 T(STATUS=NEVERUSED);
00085280 COPY #(TSYSUSER & DBPREFIX)/CONTROL AS #DBPREFIX/CONTROL
/NEW,
00085360 #(TSYSUSER & "DESCRIPTION")/#DBPREFIX
00085440 AS DESCRIPTION/#DBPR
EFIX/NEW,
00085520 #(TSYSUSER & PREFIX)/SOURCE/DMS AS #PREFIX/SOURCE/DM
S/NEW,
00085600 #(TSYSUSER & PREFIX)/LINCCNTL AS #PREFIX/LINCCNTL/
NEW,
00085626 #(TSYSUSER & PREFIX)/SOURCE_FILE/DBRECORD/LAYOUT
00085653 AS #PREFIX/SOURCE_FILE/DBRECORD/LAYOUT/NEW
00085680 FROM #TDICTPACK(PACK,HOSTNAME=#THOSTNAME)
00085760 TO #DICTPACK(PACK) [T];
00085913
00085920 %MAKE SURE THERE IS A COPY OF DMSUPPORT FOR OTHER CONFIGURES
00086000 IF FILE DMSUPPORT/#DBPREFIX ON #OBJECTPACK ISNT RESIDENT AND
00086080 T IS COMPLETEDOK AND T(TASKVALUE) EQL 0 THEN
00086160 BEGIN
00086240 T(STATUS=NEVERUSED);
00086320 COPY #(TSYSUSER&"DMSUPPORT")/#DBPREFIX AS DMSUPPORT/#D
BPREFIX
00086400 FROM #TOBJECTPACK(PACK,HOSTNAME=#THOSTNAME)
00086480 TO #OBJECTPACK(PACK)[T] ;
00086560 END;
00086640
00086720 IF T ISNT COMPLETEDOK
00086800 OR T(TASKVALUE) NEQ 0 THEN
00086880 BEGIN
00086960 DISPLAY("** UNABLE TO COPY PRODUCTION DMS FILES **");
00087040 WAIT("** TO RETRY COPY ENTER: <MX> OK ",OK);
00087120 GO TO COPYBNARETRY;
00087200 END;
00087280 %
00087286 %
00087355 %
00087357 %
00087360 IF FILE #PREFIX/LINCCNTL/SAVED ON #DICTPACK
00087440 IS RESIDENT THEN
00087520 BEGIN
00087560 T(STATUS=NEVERUSED);
00087600 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK ("BNAMDL") [T
];
00087680 FILE LINCCONTROL = #(SYSUSER&PREFIX)/LINCCNTL/SAVED ON
#DICTPACK;
00087760 FILE LINCCNTLNEW = #(SYSUSER&PREFIX)/LINCCNTL/NEW ON #D
ICTPACK;
00087800 CHECKTASK(T, BWARNBNACOPY);
00087840 END;
00087920
00088000 CHANGE #DBPREFIX/CONTROL/NEW TO #DBPREFIX/CONTROL,
00088080 DESCRIPTION/#DBPREFIX/NEW TO DESCRIPTION/#DBPREFIX,
00088160 #PREFIX/SOURCE/DMS/NEW TO #PREFIX/SOURCE/DMS,
00088240 #PREFIX/LINCCNTL/NEW TO #PREFIX/LINCCNTL,
00088266 #PREFIX/SOURCE_FILE/DBRECORD/LAYOUT/NEW
00088293 TO #PREFIX/SOURCE_FILE/DBRECOR
D/LAYOUT,
00088302 #PREFIX/SOURCE_FILE/BUILD/MEMDB/NEW
00088311 TO #PREFIX/SOURCE_FILE/BUILD/M
EMDB
00088320 FROM #DICTPACK;
00088400
00088464
00088880 END;
00088960 %-------------------------------------------------------------
----------
00089040 SUBROUTINE CHECKDBSTATUS;
00089120 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00089200 %
00089280 % C H E C K D B S T A T U S
00089360 %
00089440 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00089680 BEGIN
00089760
00089840 %% Check to see if Database is currently running
00090000
00090080 CHECKDBOK:
00090160
00090240 T( STATUS = NEVERUSED );
00090320 RUN #(LINCUSER & LINCPFX)/CFC ON #LINCDICTPACK [T];
00090400 FILE CONTROL = #(SYSUSER & DBPREFIX)/CONTROL ON #DICTP
ACK;
00090420 LIBRARY LINCSUPPORT(
00090440 TITLE = #(LINCUSER & LINCPFX)/1/LINCSUPPORT ON #LINCDI
CTPACK);
00090480
00090560 IF T(SW1) AND INOPOSTDUMP NEQ 3 THEN % DATABASE IN USE CON
TROL FILE
00090640 BEGIN
00090720 TISTATUS(TASKVALUE=1287); % WAITDBCLOSE
00090800 SISTATUS;
00090880 S1:= DBPREFIX & " CONTROL FILE IN USE"
00090960 & "-- WHEN DB CLOSED,ENTER OK";
00091040 WAIT(S1,OK);
00091120 GO TO CHECKDBOK;
00091200 END;
00091280
00091360 IF T(SW2) THEN % DATABASE LOCK WORD SET
00091440 BEGIN
00091520 TISTATUS(TASKVALUE=1287); % WAITDBCLOSE
00091600 SISTATUS;
00091680 S1:= DBPREFIX & " DATABASE LOCK WORD SET "
00091760 & "-- WHEN RUN COMPLETE,ENTER OK";
00091840 WAIT(S1,OK);
00091920 GO TO CHECKDBOK;
00092000 END;
00092080
00092160 IF T(SW3) THEN % DATABASE NEEDS RECOVERY
00092240 BEGIN
00092320 S1:= DBPREFIX & " NEEDS RECOVERING -- RECOVERY WILL RUN
";
00092400 DISPLAY(S1);
00092480 T( STATUS = NEVERUSED );
00092560 RUN #(SDMSUSER & "SYSTEM")/#("DMRECOVERY" & SDMSPACK)
00092640 ("DB=" & DBPREFIX & " ON " &DICTPACK)[T];
00092720
00092800 IF T ISNT COMPLETEDOK THEN
00092880 BEGIN
00092960 S1:= DBPREFIX & " FAILED TO RECOVER -- HELP!!!!!!";
00093040 WAIT(S1,OK);
00093120 END
00093200 ELSE
00093280 BEGIN
00093360 T( STATUS = NEVERUSED );
00093440 RUN #(LINCUSER & LINCPFX)/CFC ON #LINCDICTPACK [T];
00093520 FILE CONTROL = #(SYSUSER & DBPREFIX)/CONTROL ON
#DICTPACK;
00093530 LIBRARY LINCSUPPORT(
00093540 TITLE = #(LINCUSER & LINCPFX)/1/LINCSUPPORT ON #
LINCDICTPACK);
00093600 IF (T(SW1) AND INOPOSTDUMP NEQ 3) % DATABASE IN USE
00093680 OR T(SW2)
00093760 OR T(SW3) THEN
00093840 BEGIN
00093920 IF T ISNT COMPLETEDOK THEN
00094000 BEGIN
00094080 TISTATUS(TASKVALUE=1289); %WAITWAIT
00094160 SISTATUS;
00094240 S1:= DBPREFIX & " FAILED TO RECOVER -- HELP!!!
";
00094320 WAIT(S1,OK);
00094400 END;
00094480 END;
00094560 END;
00094640 GO TO CHECKDBOK;
00094720 END;
00094800
00094880 IF T(SW8) THEN
00094960 BEGIN
00095040 TISTATUS(TASKVALUE=1289); % WAITWAIT
00095120 SISTATUS;
00095200 S1:= DBPREFIX &" DATABASE IS AN RDB SECONDARY,CHANGE TO
PRIMARY";
00095280 WAIT(S1,OK);
00095360 GO TO CHECKDBOK;
00095440 END;
00095520
00095600 IF T(SW7) THEN % CONTROL FILE NOT F
OUND
00095680 DISPLAY("DATABASE CONTROL FILE NOT FOUND");
00095760
00095840 IF T ISNT COMPLETEDOK THEN
00095920 DISPLAY( "DATABASE CHECK PROGRAM FAILED");
00096160
00096240 END; % CHECKDBSTATUS
00101040
00101120 %-------------------------------------------------------------
----------
00101200 SUBROUTINE COMPILEDMSUPPORT;
00101280 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
00101360 %%
00101440 %% C O M P I L E D M S U P P O R T
00101520 %%
00101600 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
00101680 BEGIN
00101760 TASK T;
00101840 T( STATUS = NEVERUSED );
00101920 COMPILE #(SYSUSER & "DMSUPPORT")/#DBPREFIX/#SDMSUPPORTNEW
00102000 ON #OBJECTPACK WITH #SDMALGOL[T] LIBRARY;
00102080 COMPILER FILE CODE (KIND=DISK,FAMILYNAME=#OBJECTPACK
);
00102160 %% SECURITYTYPE=PUBLIC,SECURITYUSE=I
O);
00102240 COMPILER FILE TAPE (KIND=DISK, TITLE =
00102320 #(SDMSUSER & "DATABASE")/#("DMSUPPORT" & SDMSPACK)
);
00102400 COMPILER FILE DASDL (KIND=DISK,TITLE=
00102480 #(SYSUSER & "DESCRIPTION")/#DBPREFIX ON #DICTPACK
);
00102560 COMPILER FILE XCODE (KIND=DISK,TITLE=
00102640 #(SDMSUSER & "SYSTEM")/#("DMINTERFACE" & SDMSPACK)
);
00102720 COMPILER FILE DMCONTROL (KIND=DISK,TITLE=
00102800 #(SDMSUSER & "DATABASE")/#("DMCONTROL" & SDMSPACK)
);
00102880 COMPILER FILE PROPERTIES(KIND=DISK,TITLE=
00102960 #(SDMSUSER & "DATABASE")/#("PROPERTIES" & SDMSPACK
) );
00103040 COMPILER FILE RECOVERSYM(KIND=DISK, TITLE =
00103120 #(SDMSUSER & "DATABASE")/#("RECOVERYSYMBOLIC" & SD
MSPACK) );
00103140 COMPILER FILE INTL(KIND=DISK, TITLE =
00103160 #(SDMSUSER & "SYMBOL/INTL/ALGOL/DMS")/#("PROPERTIE
S" & SDMSPACK) );
00103200 COMPILER DATA CARD
00103440 ? %%% END OF DATA %%%
00103520
00103600 IF T ISNT COMPILEDOK
00103680 OR T ISNT COMPLETEDOK THEN
00103760 BEGIN
00103840 RESTOREDMSFILES;
00103920 ABORTCOMPILE("ERRORS COMPILING DMSUPPORT");
00104000 END;
00104080
00104160
00104240 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK ("SEC") [T];
00104320 IF T(TASKVALUE) = 999 THEN
00104400 WAIT
00104480 ("MP " & SYSUSER & "DMSUPPORT/" & DBPREFIX & "/" & SDMSUP
PORTNEW
00104560 & " ON " & OBJECTPACK & " + EXECUTABLE" ,OK);
00104880
00104960 END; % COMPILEDMSUPPORT
00105040 %-------------------------------------------------------------
----------
00105120 SUBROUTINE COMPILERMSUPPORT;
00105200 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
00105280 %%
00105360 %% C O M P I L E R M S U P P O R T
00105440 %%
00105520 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
00105600 BEGIN
00105680 TASK T;
00105920 T( STATUS = NEVERUSED );
00106000 COMPILE #(SYSUSER & "RMSUPPORT")/#DBPREFIX/NEW
00106080 ON #OBJECTPACK WITH #SDMALGOL[T] LIBRARY;
00106160 COMPILER FILE CODE (KIND=DISK,FAMILYNAME=#OBJECTPACK
);
00106320 COMPILER FILE TAPE (KIND=DISK, TITLE =
00106400 #(SDMSUSER & "DATABASE")/#("RMSUPPORT" & SDMSPACK)
);
00106480 COMPILER FILE DASDL (KIND=DISK,TITLE=
00106560 #(SYSUSER & "DESCRIPTION")/#DBPREFIX ON #DICTPACK
);
00106640 COMPILER FILE XCODE (KIND=DISK,TITLE=
00106720 #(SDMSUSER & "SYSTEM")/#("DMINTERFACE" & SDMSPACK)
);
00106800 COMPILER FILE DMCONTROL (KIND=DISK,TITLE=
00106880 #(SDMSUSER & "DATABASE")/#("DMCONTROL" & SDMSPACK)
);
00106960 COMPILER FILE PROPERTIES(KIND=DISK,TITLE=
00107040 #(SDMSUSER & "DATABASE")/#("PROPERTIES" & SDMSPACK
) );
00107120 COMPILER FILE RECOVERSYM(KIND=DISK, TITLE =
00107200 #(SDMSUSER & "DATABASE")/#("RECOVERYSYMBOLIC" & SD
MSPACK) );
00107220 COMPILER FILE INTL(KIND=DISK, TITLE =
00107240 #(SDMSUSER & "SYMBOL/INTL/ALGOL/DMS")/#("PROPERTIE
S" & SDMSPACK) );
00107280 COMPILER DATA CARD
00107520 ? %%% END OF DATA %%%
00107600
00107680 IF T ISNT COMPILEDOK
00107760 OR T ISNT COMPLETEDOK THEN
00107840 BEGIN
00107920 RESTOREDMSFILES;
00108000 ABORTCOMPILE("ERRORS COMPILING RMSUPPORT");
00108080 END;
00108160
00108240
00108320 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK ("SEC") [T];
00108400 IF T(TASKVALUE) = 999 THEN
00108480 WAIT
00108560 ("MP " & SYSUSER & "RMSUPPORT/" & DBPREFIX & "/NEW ON "
00108640 & OBJECTPACK & " + EXECUTABLE" ,OK);
00108720
00111520 END; % COMPILERMSUPPORT
00111530
00111532 SUBROUTINE COMPILEDBINTERFACE;
00111534 BEGIN
00111536 TASK T;
00111538
00111540 STRING RELID;
00111542 MYF(NEWFILE=FALSE, DEPENDENTSPECS=TRUE, KIND=DISK,FILEUSE=I
N,
00111544 TITLE=#(LINCUSER&LINCPFX)/1/DBINTERFACE ON #LINCDICTPACK
);
00111546 OPEN(MYF);
00111548 RELID:=MYF(RELEASEID); %apply release of source to codefile
00111550 RELID:=HEAD(DROP(RELID,1), NOT """");
00111552 LOCK(MYF);
00111554
00111556 INITIALIZE(T);
00111558 COMPILE #PREFIX/WORK/DBINTERFACE WITH #SDMALGOL [T] LIBRARY
;
00111560 COMPILER FILE CARD(KIND=DISK,DEPENDENTSPECS,
00111562 TITLE=#(LINCUSER&LINCPFX)/1/DBINTERFACE ON #LINCDICTP
ACK);
00111564 COMPILER FILE CODE(KIND=DISK,FAMILYNAME=#OBJECTPACK,
00111566 RELEASEID=RELID);
00111568 COMPILER FILE DASDL = DESCRIPTION/#DBPREFIX ON #DICTPACK;
00111570 COMPILER FILE XCODE (TITLE =
00111572 #(SDMSUSER & "SYSTEM")/#("DMINTERFACE" & SDMSPACK) );
00111574 COMPILER FILE PROPERTIES(KIND=DISK,TITLE=
00111576 #(LINCUSER & LINCPFX)/1/DBPROPERTIES ON #LINCDICTPACK);
00111578 LIBRARY SYSLIB(TITLE=#(SYSUSER & SYSPREFIX)/LINCSUPPORT
00111580 ON #OBJECTPACK);
00111582 IF T ISNT COMPILEDOK OR
00111584 T ISNT COMPLETEDOK THEN
00111586 BEGIN
00111588 RESTOREDMSFILES;
00111590 ABORTCOMPILE("ERRORS COMPILING DBINTERFACE");
00111592 END;
00111594 S1 := PREFIX & "/WORK/DBINTERFACE";
00111596 INITIALIZE(T);
00111598 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK ("SEC2") [T]
;
00111600 IF T(TASKVALUE) = 99 THEN
00111602 WAIT ("MP " & SYSUSER & S1 & " ON " & OBJECTPACK &
00111604 " +PU +TASKING")
00111606 ELSE
00111608 BEGIN
00111610 INITIALIZE(T);
00111612 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK
00111614 ("MP " & SYSUSER & S1 & " ON " & OBJECTPACK &
00111616 " +PU +TASKING") [T];
00111618 IF T ISNT COMPLETEDOK THEN
00111620 DISPLAY "***** MP " & SYSUSER & S1 & " ON " & OBJECT
PACK &
00111622 " +PU +TASKING" & " NOT DONE *****";
00111624 END;
00111626 END;
00111628 %-------------------------------------------------------------
----------
00111630 SUBROUTINE COMPILERECONSTRUCT;
00111632 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
00111634 %%
00111636 %% C O M P I L E R E C O N S T R U C T
00111638 %%
00111640 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
00111642 BEGIN
00111644
00111646 T( STATUS = NEVERUSED );
00111648 COMPILE #(SYSUSER & "RECONSTRUCT")/#DBPREFIX ON #OBJECTPAC
K
00111650 WITH #SDMALGOL[T] LIBRARY;
00111652 COMPILER FILE CODE (KIND=DISK,FAMILYNAME=#OBJECTPACK,
00111654 SECURITYTYPE=PUBLIC,SECURITYUSE=IO);
00111656 COMPILER FILE DASDL (KIND=DISK, TITLE =
00111660 #(SYSUSER & "DESCRIPTION/" & DBPREFIX) ON #DICTPACK);
00111664 COMPILER FILE XCODE (KIND=DISK,TITLE =
00111668 #(SDMSUSER & "SYSTEM")/#("DMINTERFACE" & SDMSPACK) );
00111672 COMPILER FILE DMCONTROL (KIND=DISK,TITLE =
00111676 #(SDMSUSER & "DATABASE")/#("DMCONTROL" & SDMSPACK) );
00111677 COMPILER FILE PROPERTIES(KIND=DISK,TITLE =
00111678 #(SDMSUSER & "DATABASE")/#("PROPERTIES" & SDMSPACK) )
;
00111679 COMPILER FILE RECOVERSYM(KIND=DISK, TITLE =
00111680 #(SDMSUSER & "DATABASE")/#("RECOVERYSYMBOLIC" & SDMSP
ACK));
00111681 COMPILER DATA CARD
00111693 ? %%% END OF DATA %%%
00111694
00111695 IF T ISNT COMPILEDOK OR
00111696 T ISNT COMPLETEDOK THEN
00111697 BEGIN
00111698 WAIT("** ERROR-RECONSTRUCT COMPILE FAILED **",OK);
00111699 DISPLAY ("** CONTINUING **");
00111700 END;
00111701
00111702 END; % COMPILERECONSTRUCT
00111703 %-------------------------------------------------------------
----------
00111704 SUBROUTINE DOAGEN ( INTEGER ICOUNT VALUE);
00111760 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%
00111840 %
00111920 % D O A G E N
00112000 %
00112080 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%
00112320 BEGIN
00112400 TASK T;
00112480
00112880 RUN #(LINCUSER & LINCPREFIXDEV)/PGEN ON #LINCOBJECTPACK [T
];
00112960 FILE LINCDUMMYF (TITLE = #SDATABASE ); % NOT #PREF
IX !!
00113040 FILE GLBPAK (TITLE = #SDATABASE );
00113120 FILE ITIEXT (NOTE = TINITSTN);
00113360
00113440 CASE ICOUNT OF
00113520 BEGIN
00113600 (1): B1 := TRUE;
00113680 (2): B2 := TRUE;
00113760 (3): B3 := TRUE;
00113840 (4): B4 := TRUE;
00113920 (5): B5 := TRUE;
00114000 (6): B6 := TRUE;
00114080 (7): B7 := TRUE;
00114160 (8): B8 := TRUE;
00114240 (9): B9 := TRUE;
00114320 (0): B10 := TRUE;
00114400 END;
00114480 IF T IS ABORTED OR
00114560 T(TASKVALUE) = 8 THEN
00114640 BEGIN
00114720 BPGENFAILED := TRUE;
00114800 ABORT [MYSELF];
00114880 END;
00114960 END; % DOAGEN
00115040 %-------------------------------------------------------------
----------
00126240 %-------------------------------------------------------------
----------
00126400 SUBROUTINE RUNLINCDAC;
00126480 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%
00126560 %
00126640 % R U N L I N C U P D
00126720 %
00126800 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00127120 BEGIN
00127133 TASK T;
00127146 REMOVEIT(PREFIX&"/LINCCNTL/OLD",DICTPACK);
00127186
00127187 IF FILE #(SYSUSER & PREFIX)/LINCCNTL ON #DICTPACK IS RESIDEN
T
00127188 THEN
00127189 BLCCMISSING := FALSE
00127190 ELSE
00127191 BEGIN
00127192 DISPLAY("RUNNING DAC WITHOUT A LINCCNTL FILE");
00127193 BLCCMISSING := TRUE;
00127194 END;
00127195 % DAC will now complete without DSing if there is no LINCCNTL
file
00127196 % and the <sys>/WORK/LINCCNTL file created by UPD (or copied f
rom DG)
00127198 % can be copied as <sys>/LINCCNTL
00127199 %
00127440 T( STATUS = NEVERUSED );
00127520 RUN #(LINCUSER & LINCPFX)/DAC ON #LINCDICTPACK
00127600 ( PREFIX,
00127680 DBPREFIX,
00127760 DICTPACK,
00127840 OBJECTPACK,
00127920 REORGPACK
00128000 ) [T];
00128016 FILE OLINCCONTROL =
00128032 #(SYSUSER & PREFIX)/LINCCNTL ON #DICTPACK;
00128048 FILE LINCCONTROL =
00128064 #(SYSUSER & PREFIX)/#TWORKLIT/LINCCNTL ON #DICTPACK;
00128080 FILE DBDMCONTROL =
00128160 #(SDMSUSER & "DATABASE")/#("DMCONTROL" & SDMSPACK);
00128240 FILE DBREORGSYMBOLIC =
00128320 #(SDMSUSER & "DATABASE")/#("REORGSYMBOLIC" & SDMSPAC
K);
00128400 SW7 = TRUE; % CHECK DMS LEVEL & ABSUITE VERSI
ON ONLY
00128480 SW8 = BNEWDB; % SW8 TRUE SAYS NEW DB
00128640 %
00128646 IF T ISNT COMPLETEDOK THEN
00128652 BEGIN
00128688 BCOMPFAIL := TRUE;
00128694 BFAILDAC := TRUE;
00128700 ABORTCOMPILE("DAC IN RUNLINCDAC DID NOT COMPLETE");
00128706 END;
00128713
00128880 IDMSLEVEL := T(VALUE);
00129040 DISPLAY(" DMS LEVEL = " & STRING(IDMSLEVEL,*) );
00129520 %
00129600 IF T(SW6) THEN
00129680 BEGIN
00129760 BVERSIONCHANGE := TRUE;
00129840 DISPLAY(" AB SUITE SUPPORT SOFTWARE VERSION UPDATED");
00129920 END;
00130000 %
00130080 IF T(SW7) THEN
00130160 BEGIN
00130240 BCONVERT := TRUE;
00130320 DISPLAY(" CONVERTING FROM OLD RELEASE");
00130331 % IF APPLBLD THEN %JUST GIVE A WARNING
00130342 % BEGIN
00130353 BCONVERT:=FALSE;
00130364 TISTATUS(TASKVALUE=0809);
00130376 SISTATUS;
00130388 % END;
00130400 END;
00130480 %
00130560
00130640 RUNUPD:
00130720 % This is where UPD ran for host builder.
00138080
00148306 BADHOCNEW:=ABADHOC;
00148315 BRMSUPPORT:=ABRM;
00149000
00149100 IF BLCCMISSING
00149200 THEN
00149300 BEGIN
00149500 S9 := "FROM DG";
00149800 DISPLAY("LINCCNTL BEING COPIED " & S9 & " WORK/LINCCNT
L");
00149900 TC(STATUS=NEVERUSED);
00150000 COPY #(SYSUSER & PREFIX)/#TWORKLIT/LINCCNTL
00150100 AS #(SYSUSER & PREFIX)/LINCCNTL
00150200 FROM #DICTPACK(PACK) TO #DICTPACK (PACK) [TC];
00150300 IF TC IS COMPLETEDOK
00150400 AND TC(TASKVALUE) EQL 0
00150500 THEN
00150600 DISPLAY("WORK/LINCCNTL COPIED SUCCESSFULLY")
00150700 ELSE
00150800 ABORTCOMPILE("WORK/LINCCNTL COPY IN RUNLINCDAC FAI
LED");
00150900 END;
00151760 %
00153600 END;
00154240 %-------------------------------------------------------------
---------
00154244 SUBROUTINE CHECKFORMODIFY (STRING NAME, STRING TYPE, BOOLEAN
RESULT);
00154248 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%
00154252 %
00154256 % C H E C K F O R M O D I F Y
00154260 %
00154264 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%
00154268 BEGIN
00154272 IF TYPE = "COMSTP" AND IMAXWAIT NEQ 0 THEN
00154276 BEGIN
00154280 IF FILE #PREFIX/#NAME ON #OBJECTPACK IS RESIDENT THEN
00154284 BEGIN
00154288 INITIALIZE(T);
00154292 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK ("MAXWA
IT") [T];
00154296 FILE FILE1 = #PREFIX/#NAME ON #OBJECTPACK;
00154300 IF T(MAXWAIT) NEQ IMAXWAIT THEN
00154305 RESULT := TRUE;
00154310 END;
00154315 END;
00156320 END;
00156321 %-------------------------------------------------------------
----------
00156358 SUBROUTINE MODIFYIT(STRING NAM, STRING TYPE);
00156359 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
00156360 %
00156361 % M O D I F Y I T
00156362 %
00156363 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
00156364 BEGIN
00156365 IF FILE #NAM ON #OBJECTPACK IS RESIDENT THEN
00156366 BEGIN
00156367 IF TYPE = "LINCSUPP" THEN
00156368 BEGIN
00156370 IF TAKE(CECPARAM,1) NEQ "." AND TAKE(CECPARAM,1) NEQ "
" THEN
00156371 BEGIN %have a second unique file
00156372 S4:=TAKE(CECPARAM,17);
00156373 MODIFY #NAM ON #OBJECTPACK;
00156374 FILE LINCCONTROL=#(SYSUSER&SYSPREFIX)/LINCCNTL ON #
DICTPACK;
00156375 FILE SAVE_UNIQUE2=#(SYSUSER&SYSPREFIX)/UNIQUE/SAVE
ON #S4;
00156376 FILE SAVE_UNIQUE=#(SYSUSER&SYSPREFIX)/UNIQUE/SAVE
00156377 ON #DICTPACK
00156378 END
00156379 ELSE
00156380 MODIFY #NAM ON #OBJECTPACK;
00156381 FILE LINCCONTROL=#(SYSUSER&SYSPREFIX)/LINCCNTL ON #
DICTPACK;
00156382 FILE SAVE_UNIQUE=#(SYSUSER&SYSPREFIX)/UNIQUE/SAVE
00156383 ON #DICTPACK
00156384 END
00156385 ELSE IF TYPE = "ADHLOAD" THEN
00156386 MODIFY #NAM ON #OBJECTPACK;
00156388 FILE GLBPAK(FAMILYNAME=#EXTRACTPACK);
00156389 FILE LINCGLI(TITLE=#(SYSUSER & SYSPREFIX)/LINCGLI ON #
DICTPACK);
00156390 FILE PROFILES(TITLE=#(SYSUSER&SYSPREFIX)/PROFILES ON #
DICTPACK);
00156391 FILE OFFSETS(TITLE=#(SYSUSER & SYSPREFIX)/OFFSETS ON #
DICTPACK)
00156392 ELSE IF TYPE = "COMSTP" THEN
00156393 MODIFY #NAM ON #OBJECTPACK;
00156394 MAXWAIT = IMAXWAIT;
00156399 ELSE IF TYPE = "LINCCNTL" THEN
00156400 MODIFY #NAM ON #OBJECTPACK;
00156402 FILE LINCCONTROL = #(SYSUSER&SYSPREFIX)/LINCCNTL ON #D
ICTPACK
00156408 ELSE IF TYPE = "ADHOCINQ" THEN
00156409 MODIFY #NAM ON #OBJECTPACK;
00156410 FILE PORTFILE (TITLE = #STDATABASE)
00156411 ELSE IF TYPE = "SQLSPORT" THEN
00156412 BEGIN
00156413 S4:=SYSUSER&"DMSUPPORT/"&DBPREFIX&" ON "&OBJECTPACK&".
";
00156414 MODIFY #NAM ON #OBJECTPACK;
00156415 TASKSTRING = S4;
00156416 END;
00156417 END;
00156418 END;
00156427 %-------------------------------------------------------------
----------
00156429 SUBROUTINE COPYSPECIAL (STRING USERFILE, STRING WORKFILE,
00156430 BOOLEAN BFAIL, STRING MODTYPE);
00156431 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
00156433 %
00156435 % C O P Y S P E C I A L
00156437 %
00156439 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
00156441 BEGIN
00156443 BOOLEAN DOCOPY, DOMODIFY; % TRUE IF COPY, OR MODIFY NEEDED
00156445 %- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - -
00156447 %
00156448 IF BVERSIONCHANGE OR
00156449 BCOMPILEALL OR
00156450 BNEWDB OR
00156452 ( BUNIQUE2 AND MODTYPE = "LINCSUPP") OR
00156453 (MODTYPE NEQ "LINCSUPP" AND
00156454 FILE #PREFIX/#WORKFILE ON #OBJECTPACK ISNT RESIDENT) THEN
00156455 BEGIN % need a new copy of file
00156456 IF FILE #(LINCUSER & LINCPFX)/#USERFILE ON #LINCDICTPACK
00156457 ISNT RESIDENT THEN
00156458 BEGIN
00156459 ASKFORIT:
00156460 DISPLAY ("NO FILE " & LINCPFX/USERFILE & " - PLEASE CHECK
");
00156462 S4:=ACCEPT("AX OK TO CONTINUE");
00156464 IF LENGTH(S4) < 2 THEN
00156466 BEGIN
00156468 DISPLAY("** INVALID RESPONSE **");
00156470 GO TO ASKFORIT;
00156472 END
00156474 ELSE
00156476 IF TAKE(S4,2) NEQ "OK" THEN
00156478 BEGIN
00156480 DISPLAY("** INVALID RESPONSE **");
00156482 GO TO ASKFORIT;
00156484 END
00156486 END;
00156488
00156489 IF FILE #(LINCUSER & LINCPFX)/#USERFILE ON #LINCDICTPACK
00156490 IS RESIDENT THEN DOCOPY := TRUE;
00156491 END; % of needed a new copy of file
00156492 IF NOT DOCOPY THEN
00156493 BEGIN
00156494 % CHECK TO SEE IF WE NEED TO UPDATE DUE TO A MORE RECENT I
C
00156495 INITIALIZE(T);
00156496 IF FILE #PREFIX/#WORKFILE ON #OBJECTPACK IS RESIDENT THEN
00156497 BEGIN
00156498 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK("COMPARE")
[T];
00156499 FILE FILE1=#(LINCUSER & LINCPFX)/#USERFILE ON #LINCDICTPAC
K;
00156500 FILE FILE2=#PREFIX/#WORKFILE ON #OBJECTPACK;
00156501 END
00156502 ELSE IF MODTYPE = "LINCSUPP" THEN
00156503 BEGIN
00156504 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK("COMPARE")
[T];
00156505 FILE FILE1=#(LINCUSER & LINCPFX)/#USERFILE ON #LINCDICTPAC
K;
00156506 FILE FILE2=#PREFIX/LINCSUPPORT ON #OBJECTPACK;
00156507 END;
00156508 IF T IS COMPLETEDOK THEN
00156509 BEGIN
00156510 IF T(VALUE) = 1 THEN
00156511 CHECKFORMODIFY (WORKFILE, MODTYPE, DOMODIFY)
00156512 ELSE
00156513 IF T(VALUE) = 2 THEN
00156514 DOCOPY := TRUE;
00156515 END;
00156516 END;
00156517 IF DOCOPY THEN
00156532 BEGIN
00156533 MYFAMILY:=MYSELF(FAMILY);
00156534 IF LINCDICTPACK="DISK" OR LINCDICTPACK=ALTERNATEPACK THEN
00156535 SETFAMILY(".");
00156536 COPY #(LINCUSER & LINCPFX)/#USERFILE
00156537 AS #PREFIX/#WORKFILE
00156538 FROM #LINCDICTPACK(PACK) TO #OBJECTPACK(PACK);
00156539 SETFAMILY(MYFAMILY);
00156540 IF MODTYPE NEQ " " THEN
00156541 MODIFYIT(PREFIX/WORKFILE, MODTYPE);
00156542
00156543 IF FILE #PREFIX/#WORKFILE ON #OBJECTPACK ISNT RESIDENT TH
EN
00156544 BEGIN
00156545 BCOMPFAIL:=TRUE;
00156546 BFAIL:=TRUE;
00156547 DISPLAY ("** " & PREFIX & "/" & WORKFILE & " NOT INSTALLE
D **");
00156548 END;
00156549 END;
00156550 ELSE
00156551 IF DOMODIFY THEN
00156552 BEGIN
00156553 IF MODTYPE NEQ " " THEN
00156554 MODIFYIT(PREFIX/WORKFILE, MODTYPE);
00156555 END;
00156599 END;
00156600 %-------------------------------------------------------------
----------
00156601 SUBROUTINE COMPILEADHOC;
00156603 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
00156640 %
00156720 % C O M P I L E A D H O C
00156800 %
00156880 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
00157120 BEGIN
00157200 %
00157280 % DELETE SQLSUPPORT ERROR FILE , WHETHER COMPILE OR NOT
00157360 %
00158080 REMOVEIT(PREFIX&"/ERRORS/SQLSUPPORT",OBJECTPACK);
00158320 %
00158400 % REMOVE PROFILES/LOADED FILE (USED IN PREVIOUS RELEASES)
00158480 %
00158560 REMOVEIT(PREFIX&"/PROFILES/LOADED",DICTPACK);
00160640 %
00160720 % COMPILE ADHOC INQUIRY IF REQUIRED
00160800 %
00162880 REMOVEIT(PREFIX&"/"&TWORKLIT&"/SQLSUPPORT",OBJECTPACK);
00163120 REMOVEIT(PREFIX&"/"&TWORKLIT&"/QPRLIBRARY",DICTPACK);
00163280
00163360 IF BVERSIONCHANGE
00163440 OR BCOMPILEALL
00163520 OR BNEWDB
00163600 OR BREORGUT OR BDASDLREORG OR BDELETESTRUCTURE OR BREORGUP
DATEDB
00163920 OR FILE #PREFIX/SQLSUPPORT ON #OBJECTPACK ISNT RESIDENT THEN
00164080 BEGIN
00165040 T(STATUS = NEVERUSED);
00165120 RUN #(LINCUSER & LINCPFX)/GEN ON #LINCDICTPACK
00165200 ( PREFIX & " " & DBPREFIX & " ON " & DICTPACK
00165280 & " ADH NOZIP ") [T];
00165520 FILE PRINT =
00165600 #(LINCUSER & LINCPFX)/1/QPRLIBRARY ON #LINCDICTP
ACK;
00166000 FILE LINCGLI =
00166080 #(SYSUSER & PREFIX )/#TWORKLIT/LINCGLI ON #DICT
PACK;
00166160 FILE OFFSETS =
00166240 #(SYSUSER & PREFIX )/#TWORKLIT/OFFSETS ON #DICT
PACK;
00166320 FILE PROFILES =
00166400 #(SYSUSER & PREFIX )/#TWORKLIT/PROFILES ON #DIC
TPACK;
00166426 FILE SRCOUT =
00166453 #PREFIX/#TWORKLIT/QPRLIBRARY ON #DICTPACK;
00166560 SW4 = TRUE;
00166720 % TO READ <SYSTEM>/WORK/LINCCNTL IF "A
SERIES"
00166800
00166880 IF T ISNT COMPILEDOK THEN
00166960 BEGIN
00167040 RESTOREDMSFILES;
00167120 ABORTCOMPILE("ERRORS IN ADHOC INQ GENERATE");
00167200 END;
00167280
00167360 END;
00167440 %
00167520 %-----------------------------------------------------------
-------
00167600 %
00167626 IF NOT BBNAGEN THEN
00167653 BEGIN
00168254 COPYSPECIAL("ADHOC/LOAD", "ADHOC/LOAD", BCOMPFAIL, "A
DHLOAD");
00168268 COPYSPECIAL("CODE_LIBRARY/ADHOC","CODE_LIBRARY/ADHOC",
00168271 BCOMPFAIL, " ");
00168282 IF BROC THEN % QPR WITH ROC
00168283 COPYSPECIAL("QPR", "QPR", BCOMPFAIL, "ADHLOAD")
00168285 ELSE % STANDARD QPR ie QPS
00168287 COPYSPECIAL("QPS", "QPS", BCOMPFAIL, "ADHLOAD");
00168289 IF BROC THEN
00168304 COPYSPECIAL("1/ADHOCINQUIRY", "ADHOCINQUIRY", BCOMPF
AIL,
00168308 "ADHOCINQ");
00168310 END;
00173520 %
00173600 %-----------------------------------------------------------
-------
00173680 %
00173760 IF BVERSIONCHANGE
00173840 OR BCOMPILEALL
00174000 OR BNEWDB
00174080 OR BREORGUT OR BDASDLREORG OR BDELETESTRUCTURE OR BREORGUP
DATEDB
00174240 OR FILE #PREFIX/SQLSUPPORT ON #OBJECTPACK ISNT RESIDENT THEN
00174400 BEGIN
00186560 T(STATUS = NEVERUSED);
00186640 COMPILE #PREFIX/#TWORKLIT/SQLSUPPORT ON #OBJECTPACK
00186720 WITH #SDMALGOL [T] LIBRARY;
00186800 COMPILER FILE CARD(KIND=DISK,DEPENDENTSPECS,
00186880 TITLE=#PREFIX/#TWORKLIT/QPRLIBRARY ON #DICTPACK )
;
00186960 COMPILER FILE DASDL=DESCRIPTION/#DBPREFIX ON #DICTPAC
K;
00187040 COMPILER FILE DMSUPPORT (TITLE =
00187120 #(SDMSUSER & "DATABASE")/#("DMSUPPORT" & SDMSPACK
) );
00187200 COMPILER FILE ERRORFILE (KIND=DISK,NEWFILE,
00187280 TITLE=#PREFIX/ERRORS/SQLSUPPORT ON #OBJECTPACK);
00187360 COMPILER FILE XCODE (TITLE =
00187440 #(SDMSUSER & "SYSTEM")/#("DMINTERFACE" & SDMSPACK
) );
00187520 OPTION = (FAULT, ARRAYS, LIBRARIES);
00187600
00187680 IF T ISNT COMPILEDOK THEN
00187760 BEGIN
00187840 DISPLAY ("COMPILE OF SQLSUPPORT FAILED");
00187920 BCOMPFAIL:=TRUE;
00188000 BFAILADHL:=TRUE;
00188320 IF FILE #PREFIX/ERRORS/SQLSUPPORT ON #OBJECTPACK
00188400 IS RESIDENT THEN
00188480 BEGIN
00188560 T(STATUS = NEVERUSED);
00188640 RUN #(LINCUSER & LINCPFX)/GEN ON #LINCDICTPACK
00188720 ( PREFIX & " " & DBPREFIX & " ON " & DICTPACK & " E
RR ") [T];
00188800 FILE SRCIN = #PREFIX/ERRORS/SQLSUPPORT ON #OBJE
CTPACK;
00188960 FILE SRCOUT= #PREFIX/#TWORKLIT/SQLSUPPORT ON #O
BJECTPACK;
00189040 END;
00189120 END
00189146 ELSE
00189173 MODIFYIT(PREFIX/TWORKLIT & "/SQLSUPPORT", "SQLSPORT")
;
00191840 END;
00191920
00192000 ENDADHOC:
00192160 END;
00192367 %-------------------------------------------------------------
----------
00192368 SUBROUTINE RESTORELINCFILES;
00192400 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
00192480 %
00192560 % R E S T O R E L I N C F I L E S
00192640 %
00192720 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
00192800 BEGIN
00192880 % DATABASE REORG FAILED; WE NEED TO RESTORE ALL THE ORIGI
NAL
00192960 % FILES
00193040 %
00193120 IF FILE #PREFIX/OLD/#TWORKLIT/COMS/CONFIG/FULL ON #DICTPACK
00193200 IS RESIDENT THEN
00193280 IF FILE #PREFIX/COMS/CONFIG/FULL ON #DICTPACK IS RESIDENT TH
EN
00193360 BEGIN
00193760 CHANGE #PREFIX/COMS/CONFIG/NOF
00193840 TO #PREFIX/#TWORKLIT/COMS/CONFIG/NOF FROM #DICTPACK;
00193920 CHANGE #PREFIX/OLD/#TWORKLIT/COMS/CONFIG/NOF
00194000 TO #PREFIX/COMS/CONFIG/NOF FROM #DICTPACK;
00194400 CHANGE #PREFIX/COMS/CONFIG/FULL
00194480 TO #PREFIX/#TWORKLIT/COMS/CONFIG/FULL FROM #DICTPACK;
00194560 CHANGE #PREFIX/OLD/#TWORKLIT/COMS/CONFIG/FULL
00194640 TO #PREFIX/COMS/CONFIG/FULL FROM #DICTPACK;
00194720 COPY #PREFIX/COMS/DELETE/= AS #PREFIX/#TWORKLIT/COMS/DELE
TE/=
00194800 FROM #DICTPACK(PACK) TO #DICTPACK(PACK);
00194880 COPY #PREFIX/OLD/#TWORKLIT/COMS/DELETE/= AS #PREFIX/COMS/
DELETE/=
00194960 FROM #DICTPACK(PACK) TO #DICTPACK(PACK);
00195040 REMOVE #PREFIX/OLD/#TWORKLIT/COMS/DELETE/= FROM #DICTPACK
;
00195120 END;
00195200 %
00198400 %
00200000 IF FILE #PREFIX/OLD/#TWORKLIT/DBILIBRARY ON #OBJECTPACK IS R
ESIDENT
00200080 THEN
00200160 IF FILE #PREFIX/DBILIBRARY ON #OBJECTPACK IS RESIDENT THEN
00200240 BEGIN
00200320 CHANGE #PREFIX/DBILIBRARY
00200400 TO #PREFIX/#TWORKLIT/DBILIBRARY FROM #OBJECTPACK;
00200480 CHANGE #PREFIX/OLD/#TWORKLIT/DBILIBRARY
00200560 TO #PREFIX/DBILIBRARY FROM #OBJECTPACK;
00200640 END;
00200720 %
00201600 IF FILE #PREFIX/OLD/#TWORKLIT/LINCSUPPORT ON #OBJECTPACK IS
RESIDENT
00201680 THEN
00201760 IF FILE #PREFIX/LINCSUPPORT ON #OBJECTPACK IS RESIDENT THEN
00201840 BEGIN
00201920 CHANGE #PREFIX/LINCSUPPORT
00202000 TO #PREFIX/#TWORKLIT/LINCSUPPORT FROM #OBJECTPACK;
00202080 CHANGE #PREFIX/OLD/#TWORKLIT/LINCSUPPORT
00202160 TO #PREFIX/LINCSUPPORT FROM #OBJECTPACK;
00202240 END;
00204080 IF FILE #PREFIX/MULTILANG ON #DICTPACK IS RESIDENT THEN
00204240 CHANGE #PREFIX/MULTILANG
00204320 TO #PREFIX/#TWORKLIT/MULTILANG FROM #DICTPACK;
00204400 IF FILE #PREFIX/OLD/#TWORKLIT/MULTILANG ON #DICTPACK IS RESI
DENT THEN
00204480 CHANGE #PREFIX/OLD/#TWORKLIT/MULTILANG
00204560 TO #PREFIX/MULTILANG FROM #DICTPACK;
00204880 IF FILE #PREFIX/MULTILANG/KEY01 ON #DICTPACK IS RESIDENT
00204960 THEN
00205120 CHANGE #PREFIX/MULTILANG/KEY01
00205200 TO #PREFIX/#TWORKLIT/MULTILANG/KEY01 FROM #DICTPACK;
00205280 IF FILE #PREFIX/OLD/#TWORKLIT/MULTILANG/KEY01 ON #DICTPACK I
S RESIDENT
00205360 THEN
00205440 CHANGE #PREFIX/OLD/#TWORKLIT/MULTILANG/KEY01
00205520 TO #PREFIX/MULTILANG/KEY01 FROM #DICTPACK;
00205840 IF FILE #PREFIX/MULTILANG/KEY02 ON #DICTPACK IS RESIDENT THE
N
00206000 CHANGE #PREFIX/MULTILANG/KEY02
00206080 TO #PREFIX/#TWORKLIT/MULTILANG/KEY02 FROM #DICTPACK;
00206160 IF FILE #PREFIX/OLD/#TWORKLIT/MULTILANG/KEY02 ON #DICTPACK I
S RESIDENT
00206240 THEN
00206320 CHANGE #PREFIX/OLD/#TWORKLIT/MULTILANG/KEY02
00206400 TO #PREFIX/MULTILANG/KEY02 FROM #DICTPACK;
00206560 %
00206640 IF FILE #PREFIX/OLD/#TWORKLIT/OFFSETS ON #DICTPACK IS RESIDE
NT THEN
00206720 IF FILE #PREFIX/OFFSETS ON #DICTPACK IS RESIDENT THEN
00206800 BEGIN
00206880 CHANGE #PREFIX/OFFSETS
00206960 TO #PREFIX/#TWORKLIT/OFFSETS FROM #DICTPACK;
00207040 CHANGE #PREFIX/OLD/#TWORKLIT/OFFSETS
00207120 TO #PREFIX/OFFSETS FROM #DICTPACK;
00207200 END;
00207280 IF FILE #PREFIX/OLD/#TWORKLIT/PROFILES ON #DICTPACK IS RESID
ENT THEN
00207360 IF FILE #PREFIX/PROFILES ON #DICTPACK IS RESIDENT THEN
00207440 BEGIN
00207520 CHANGE #PREFIX/PROFILES
00207600 TO #PREFIX/#TWORKLIT/PROFILES FROM #DICTPACK;
00207680 CHANGE #PREFIX/OLD/#TWORKLIT/PROFILES
00207760 TO #PREFIX/PROFILES FROM #DICTPACK;
00207840 END;
00207920 %
00207940 IF FILE #PREFIX/OLD/#TWORKLIT/LINCCNTL ON #DICTPACK IS RESIDEN
T THEN
00207960 IF FILE #PREFIX/LINCCNTL ON #DICTPACK IS RESIDENT THEN
00207980 BEGIN
00208000 CHANGE #PREFIX/LINCCNTL
00208080 TO #PREFIX/#TWORKLIT/LINCCNTL FROM #DICTPACK;
00208160 CHANGE #PREFIX/OLD/#TWORKLIT/LINCCNTL
00208240 TO #PREFIX/LINCCNTL FROM #DICTPACK;
00208280 END;
00208281
00208282 IF FILE #PREFIX/LINCCNTL ON #DICTPACK IS RESIDENT AND
00208283 FILE #PREFIX/LINCCNTL/NEW ON #DICTPACK IS RESIDENT THEN
00208284 % reorg has bombed but new LINCCNTL not yet installed
00208285 BEGIN
00208286 CHANGE #PREFIX/LINCCNTL/NEW
00208287 TO #PREFIX/LINCCNTL/BAD FROM #DICTPACK;
00208296 END;
00208297
00208298 IF FILE #PREFIX/OLD/#TWORKLIT/LINCOFF ON #DICTPACK IS RESIDE
NT THEN
00208300 IF FILE #PREFIX/LINCOFF ON #DICTPACK IS RESIDENT THEN
00208310 BEGIN
00208320 CHANGE #PREFIX/LINCOFF
00208400 TO #PREFIX/#TWORKLIT/LINCOFF FROM #DICTPACK;
00208480 CHANGE #PREFIX/OLD/#TWORKLIT/LINCOFF
00208560 TO #PREFIX/LINCOFF FROM #DICTPACK;
00208600 END;
00208640 %
00209040 IF FILE #PREFIX/OLD/#TWORKLIT/LINCGLI ON #DICTPACK IS RESIDE
NT THEN
00209120 IF FILE #PREFIX/LINCGLI ON #DICTPACK IS RESIDENT THEN
00209200 BEGIN
00209280 CHANGE #PREFIX/LINCGLI TO
00209360 #PREFIX/#TWORKLIT/LINCGLI FROM #DICTPACK;
00209440 CHANGE #PREFIX/OLD/#TWORKLIT/LINCGLI
00209520 TO #PREFIX/LINCGLI FROM #DICTPACK;
00209600 END;
00209680 IF FILE #PREFIX/OLD/#TWORKLIT/LINCGLI/KEY01 ON #DICTPACK IS
RESIDENT
00209760 THEN
00209840 IF FILE #PREFIX/LINCGLI/KEY01 ON #DICTPACK IS RESIDENT THEN
00209920 BEGIN
00210000 CHANGE #PREFIX/LINCGLI/KEY01
00210080 TO #PREFIX/#TWORKLIT/LINCGLI/KEY01 FROM #DICTPAC
K;
00210160 CHANGE #PREFIX/OLD/#TWORKLIT/LINCGLI/KEY01
00210240 TO #PREFIX/LINCGLI/KEY01 FROM #DICTPACK;
00210320 END;
00210400 IF FILE #PREFIX/OLD/#TWORKLIT/LINCGLI/KEY02 ON #DICTPACK IS
RESIDENT
00210480 THEN
00210560 IF FILE #PREFIX/LINCGLI/KEY02 ON #DICTPACK IS RESIDENT THEN
00210640 BEGIN
00210720 CHANGE #PREFIX/LINCGLI/KEY02
00210800 TO #PREFIX/#TWORKLIT/LINCGLI/KEY02 FROM #DICTPAC
K;
00210880 CHANGE #PREFIX/OLD/#TWORKLIT/LINCGLI/KEY02
00210960 TO #PREFIX/LINCGLI/KEY02 FROM #DICTPACK;
00211040 END;
00211048
00211056 IF FILE #PREFIX/#TWORKLIT/LINCFORM ON #DICTPACK IS RESIDENT
AND
00211064 (FILE #PREFIX/LINCFORM ON #DICTPACK IS RESIDENT
OR
00211072 FILE #PREFIX/LINCFORM/LOADED ON #DICTPACK IS RESIDENT)
THEN
00211080 % reorg has bombed but new LINCFORM not yet installed
00211088 BEGIN
00211096 CHANGE #PREFIX/#TWORKLIT/LINCFORM
00211104 TO #PREFIX/LINCFORM/BAD FROM #DICTPACK;
00211112 END;
00211120 %
00213296 %
00213304 % RESTORE CODE_LIBRARY/= (WHERE /= IS /nnn, /ROC, /ADHOC)
00213312 %
00213320 COPY #PREFIX/OLD/CODE_LIBRARY/= AS #PREFIX/CODE_LIBRARY/=
00213328 FROM #OBJECTPACK(PACK) TO #OBJECTPACK(PACK);
00213336 %
00213344 % CHECK IF OBJECT FILES FOR ADHOC EXIST , AND CHANGE NAMES
00213352 %
00215040 IF FILE #PREFIX/OLD/#TWORKLIT/SQLSUPPORT ON #OBJECTPACK IS R
ESIDENT
00215120 THEN
00215200 IF FILE #PREFIX/SQLSUPPORT ON #OBJECTPACK IS RESIDENT THEN
00215280 BEGIN
00215360 CHANGE #PREFIX/SQLSUPPORT
00215440 TO #PREFIX/#TWORKLIT/SQLSUPPORT FROM #OBJECTPACK;
00215520 CHANGE #PREFIX/OLD/#TWORKLIT/SQLSUPPORT
00215600 TO #PREFIX/SQLSUPPORT FROM #OBJECTPACK;
00215680 END;
00215760 %
00216560 % CHECK IF OBJECT FILES FOR ROC EXIST , AND CHANGE NAMES OF BO
TH
00216640 % SOURCE AND OBJECT.
00216720 %
00217600 IF FILE #PREFIX/OLD/#TWORKLIT/ROC ON #OBJECTPACK IS RESIDENT
THEN
00217680 BEGIN
00217840 IF FILE #PREFIX/ROC ON #OBJECTPACK IS RESIDENT THEN
00217920 CHANGE #PREFIX/ROC TO #PREFIX/#TWORKLIT/ROC FROM #OBJE
CTPACK;
00218000 CHANGE #PREFIX/OLD/#TWORKLIT/ROC TO #PREFIX/ROC FROM #OBJ
ECTPACK;
00218080 END;
00218160
00218240 IF FILE #PREFIX/OLD/#TWORKLIT/ROCSUPPORT ON #OBJECTPACK IS R
ESIDENT
00218400 THEN
00218480 BEGIN
00218560 IF FILE #PREFIX/ROCSUPPORT ON #OBJECTPACK IS RESIDENT THE
N
00218640 CHANGE #PREFIX/ROCSUPPORT
00218720 TO #PREFIX/#TWORKLIT/ROCSUPPORT FROM #OBJECTPACK;
00218800 CHANGE #PREFIX/OLD/#TWORKLIT/ROCSUPPORT
00218880 TO #PREFIX/ROCSUPPORT FROM #OBJECTPACK;
00218960 END;
00219200 END;
00219280 %-------------------------------------------------------------
----------
00219600 SUBROUTINE LOADCOMSCONFIG;
00219680 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00219760 %
00219840 % L O A D C O M S C O N F I G
00219920 %
00220000 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00220240 BEGIN
00220480
00221280 INITIALIZE(T);
00221360 IF BFULLCONFIG THEN
00221440 CELPARAM := "LOAD FULL "
00221520 ELSE
00221600 CELPARAM := "LOAD DELTA ";
00221680
00221760 CELPARAM := CELPARAM & " USER= " & SUSERCODE
00221840 & ",SYS= " & SYSPREFIX
00221920 & ",DICT= " & DICTPACK
00222000 & ",DB= " & DBPREFIX
00222080 & " WIN = & "
00222160 ;
00222240
00223040 INITIALIZE (T);
00223120 RUN #(LINCUSER & LINCPFX)/CEL ON #LINCDICTPACK (CELPARAM) [T]
;
00223200 FILE ERRORFILE = #(SYSUSER & SYSPREFIX)/COMS/CONFIG/ERRORS
00223280 ON #DICTPACK;
00223360 FILE PARAMF = #(SYSUSER & SYSPREFIX)/CEL/PARAMS
00223440 ON #DICTPACK;
00223520
00223600 IF T ISNT COMPLETEDOK THEN
00223680 BEGIN
00223760 TISTATUS(TASKVALUE=1290); % WAITCOMSERROR
00223840 SISTATUS;
00223920 S4 := ">> COMS UTILITY LOAD FAILED, OK THIS JOB AND "
00224000 & "CHECK JOBSUMMARY FOR REASON <<";
00224080 WAIT(S4, OK);
00224160 END
00224240 ELSE
00224320 IF T(TASKVALUE) > 0 THEN
00224400 BEGIN
00224480 TISTATUS(TASKVALUE=1290); % WAITCOMSERROR
00224560 SISTATUS;
00224640 S1 := ">> COMS UTILITY LOAD FAILED, CHECK ERROR FILE: "
00224720 & SYSUSER & SYSPREFIX & "/COMS/CONFIG/ERRORS ON "
00224800 & DICTPACK & " <<";
00224880 WAIT(S1, OK);
00224960 END;
00225280
00225360 IF T ISNT COMPLETEDOK OR
00225440 T(TASKVALUE) > 0 THEN
00225520 BPRINTSUMM := TRUE;
00225600
00227120
00227200 END;
00227280 %-------------------------------------------------------------
----------
00227360 SUBROUTINE ADHOCLOAD;
00227840 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00227920 %
00228000 % A D H O C L O A D
00228080 %
00228160 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00228320 BEGIN
00228400
00228480 TISTATUS(TASKVALUE=1355); %% LOADING ADHOC INFO
00228560 SISTATUS;
00228720
00229760 ADHLOADRETRY:
00229840
00229920 T( STATUS = NEVERUSED );
00230000 RUN #PREFIX/ADHOC/LOAD ON #OBJECTPACK [T];
00230480
00230560 IF T ISNT COMPLETEDOK
00230640 OR T(TASKVALUE) NEQ 0 THEN
00230720 BEGIN
00230800 TISTATUS(TASKVALUE=1289); %WAITWAIT
00230880 SISTATUS;
00230960 DISPLAY("** ERRORS WHILE LOADING DATA INTO ADHOC **");
00231040 DISPLAY("** RUN DMU IF LIMIT ERRORS HAVE OCCURRED **");
00231120 WAIT("WHEN PROBLEM RESOLVED ENTER OK ",OK);
00231200 GO TO ADHLOADRETRY;
00231280 END;
00231760
00232480 END;
00232640 %-------------------------------------------------------------
----------
00232720 SUBROUTINE COMPILEROC;
00232800 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
00232880 %
00232960 % C O M P I L E R O C
00233040 %
00233120 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
00233360 BEGIN
00233520 %
00233600 % COMPILE ROC (REPORT OUTPUT CONTROL) IF REQUIRED
00233680 %
00234240 REMOVEIT(PREFIX&"/"&TWORKLIT&"/GLOBALROC",DICTPACK);
00234400 REMOVEIT(PREFIX&"/"&TWORKLIT&"/GLOBALROC",OBJECTPACK);
00234640
00234720 IF BVERSIONCHANGE
00234800 OR BCOMPILEALL
00234880 OR BNEWDB
00234960 OR BREORGWORKSIZE
00235040 OR FILE #PREFIX/ROCSUPPORT ON #OBJECTPACK ISNT RESIDENT THEN
00235120 BEGIN
00235200 T(STATUS = NEVERUSED);
00235280 RUN #(LINCUSER & LINCPFX)/GEN ON #LINCDICTPACK
00235360 ( PREFIX & " " & DBPREFIX & " ON " & DICTPACK & " ROC NOZ
IP ") [T];
00235440 FILE SRCIN =
00235520 #(LINCUSER & LINCPFX)/1/LGLOBALROC ON #LINCDICTP
ACK;
00235546 FILE SRCOUT =
00235573 #PREFIX /#TWORKLIT/GLOBALROC ON #DICTPACK;
00235760 SW4 = TRUE; % TO READ <SYSTEM>/WORK/LINCCNTL IF "A
SERIES"
00235840
00235920 IF T ISNT COMPILEDOK THEN
00236000 BEGIN
00236080 RESTOREDMSFILES;
00236160 ABORTCOMPILE("ERRORS IN ROC LIBRARY GENERATE");
00236240 END;
00236320 %
00236400 REMOVEIT(PREFIX&"/ERRORS/ROCSUPPORT",OBJECTPACK);
00236560 %
00236640 T(STATUS = NEVERUSED);
00236720 COMPILE #PREFIX/#TWORKLIT/ROCSUPPORT ON #OBJECTPACK
00236800 WITH #SCOBOL[T] LIBRARY;
00236880 COMPILER FILE CARD(KIND=DISK,DEPENDENTSPECS,
00236960 TITLE=#PREFIX/#TWORKLIT/GLOBALROC ON #DICTPACK );
00237040 COMPILER FILE DASDL=DESCRIPTION/#DBPREFIX ON #DICTPAC
K;
00237080 COMPILER FILE USERDB=DESCRIPTION/#DBPREFIX ON #DICTPA
CK;
00237120 COMPILER FILE ERRORFILE (KIND=DISK,NEWFILE,
00237200 TITLE=#PREFIX/ERRORS/ROCSUPPORT ON #OBJECTPACK);
00237280 COMPILER FILE XCODE (TITLE =
00237360 #(SDMSUSER & "SYSTEM")/#("DMINTERFACE" & SDMSPACK
) );
00237400 DATABASE USERDB (TITLE = #(SYSUSER & DBPREFIX) ON #DI
CTPACK);
00237440 OPTION = (FAULT, ARRAYS, LIBRARIES);
00237520
00237600 IF T ISNT COMPILEDOK THEN
00237680 BEGIN
00237760 DISPLAY ("SYNTAX ERRORS IN ROC LIBRARY");
00237840 BCOMPFAIL:=TRUE;
00237920 BFAILROCL:=TRUE;
00238240 IF FILE #PREFIX/ERRORS/ROCSUPPORT ON #OBJECTPACK
00238320 IS RESIDENT THEN
00238400 BEGIN
00238480 T(STATUS = NEVERUSED);
00238560 RUN #(LINCUSER & LINCPFX)/GEN ON #LINCDICTPACK
00238640 ( PREFIX & " " & DBPREFIX & " ON " & DICTPACK & " E
RR ") [T];
00238720 FILE SRCIN = #PREFIX/ERRORS/ROCSUPPORT ON #OBJE
CTPACK;
00238880 FILE SRCOUT= #PREFIX/#TWORKLIT/ROCSUPPORT ON #
OBJECTPACK
00238960 END;
00239040 END;
00239120
00239200 END;
00239280 %
00239360 %-----------------------------------------------------------
-------
00239440 %
00239520 IF BBNAGEN THEN GO TO ENDROC; % only compiled programs requ
ired
00239600
00239630 COPYSPECIAL("CODE_LIBRARY/ROC","CODE_LIBRARY/ROC", BFAILROCU
, " ");
00239640 COPYSPECIAL("ROC", "ROC", BFAILROC, " ");
00239660
00248560 ENDROC:
00248640
00248720 END;
00248723 %-------------------------------------------------------------
----------
00248880 SUBROUTINE COMPILESPECIAL;
00248960 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
00249040 %
00249120 % C O M P I L E S P E C I A L
00249200 %
00249280 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
00249520 BEGIN
00249600 %
00254000 %
00254080 % COMPILE DBILIBRARY IF REQUIRED
00254160 %
00254180 STRING RELID;
00254200
00254240 REMOVEIT(PREFIX&"/"&TWORKLIT&"/DBILIBRARY",OBJECTPACK);
00254400 REMOVEIT(PREFIX&"/ERRORS/DBILIBRARY",OBJECTPACK);
00254420
00254440 MYF(NEWFILE=FALSE, DEPENDENTSPECS=TRUE, KIND=DISK, FILEUSE=I
N,
00254460 TITLE=#(LINCUSER&LINCPFX)/1/LGLOBALDBI ON #LINCDICTPACK)
;
00254480 OPEN(MYF);
00254500 RELID:=MYF(RELEASEID); %apply release of source to codefile
00254510 RELID:=HEAD(DROP(RELID,1), NOT """");
00254520 LOCK(MYF);
00254560
00254640 IF BNEWDB
00254720 OR BREORGWORKSIZE
00254800 OR BVERSIONCHANGE
00254850 OR BNEEDDBI
00254880 OR BCOMPILEALL
00254920 OR BROCCHANGED
00254960 OR FILE #PREFIX/DBILIBRARY ON #OBJECTPACK ISNT RESIDENT
00254980 OR (DODBSCHEMA AND
00255000 (BCHANGEDB OR BDELETESTRUCTURE)) THEN
00255040 BEGIN
00255120 T(STATUS = NEVERUSED);
00255200 RUN #(LINCUSER & LINCPFX)/GEN ON #LINCDICTPACK
00255280 ( PREFIX & " " & DBPREFIX & " ON " & DICTPACK
00255360 & " DBI NOZIP ") [T];
00255440 FILE SRCIN =
00255520 #(LINCUSER & LINCPFX)/1/LGLOBALDBI ON #LINCDICTP
ACK;
00255546 FILE SRCOUT =
00255573 #PREFIX /#TWORKLIT/GLOBALDBI ON #DICTPACK;
00255760 SW4 = TRUE; % TO READ <SYSTEM>/WORK/LINCCNTL IF "A
SERIES"
00255840
00255920 IF T ISNT COMPILEDOK THEN
00256000 BEGIN
00256080 RESTOREDMSFILES;
00256160 ABORTCOMPILE("ERRORS IN DBILIBRARY GENERATE");
00256240 END;
00256320
00256400 T(STATUS = NEVERUSED);
00256402 IF DODBSCHEMA THEN
00256404 BEGIN
00256406 T(TASKSTRING = "$ SET HDBA");
00256408 COMPILE #PREFIX/#TWORKLIT/DBILIBRARY ON #OBJECTPACK
00256410 WITH #SCOBOL[T] LIBRARY;
00256412 COMPILER FILE CARD(KIND=DISK,DEPENDENTSPECS,
00256414 TITLE=#PREFIX/#TWORKLIT/GLOBALDBI ON #DICTPACK
);
00256416 COMPILER FILE DASDL=DESCRIPTION/#DBPREFIX ON #DICT
PACK;
00256418 COMPILER FILE CODE(RELEASEID= RELID);
00256420 COMPILER FILE USERDB=DESCRIPTION/#DBPREFIX ON #DIC
TPACK;
00256422 COMPILER FILE ERRORFILE (KIND=DISK,NEWFILE,
00256424 TITLE=#PREFIX/ERRORS/DBILIBRARY ON #OBJECTPACK
);
00256426 COMPILER FILE XCODE (TITLE =
00256428 #(SDMSUSER & "SYSTEM")/#("DMINTERFACE" & SDMSP
ACK) );
00256430 DATABASE USERDB (TITLE = #(SYSUSER & DBPREFIX) ON
#DICTPACK);
00256432 FILE LINCCONTROL=#PREFIX/LINCCNTL ON #DICTPACK;
00256434 OPTION = (FAULT, ARRAYS, LIBRARIES);
00256436 MAXWAIT = 1;
00256438 END
00256440 ELSE
00256442 BEGIN
00256480 COMPILE #PREFIX/#TWORKLIT/DBILIBRARY ON #OBJECTPACK
00256560 WITH #SCOBOL[T] LIBRARY;
00256640 COMPILER FILE CARD(KIND=DISK,DEPENDENTSPECS,
00256720 TITLE=#PREFIX/#TWORKLIT/GLOBALDBI ON #DICTPACK
);
00256800 COMPILER FILE DASDL=DESCRIPTION/#DBPREFIX ON #DICT
PACK;
00256840 COMPILER FILE USERDB=DESCRIPTION/#DBPREFIX ON #DIC
TPACK;
00256860 COMPILER FILE CODE(RELEASEID= RELID);
00256880 COMPILER FILE ERRORFILE (KIND=DISK,NEWFILE,
00256960 TITLE=#PREFIX/ERRORS/DBILIBRARY ON #OBJECTPACK
);
00257040 COMPILER FILE XCODE (TITLE =
00257120 #(SDMSUSER & "SYSTEM")/#("DMINTERFACE" & SDMSP
ACK) );
00257160 DATABASE USERDB (TITLE = #(SYSUSER & DBPREFIX) ON
#DICTPACK);
00257280 FILE LINCCONTROL=#PREFIX/LINCCNTL ON #DICTPACK;
00257360 OPTION = (FAULT, ARRAYS, LIBRARIES);
00257400 MAXWAIT = 1;
00257420 END;
00257440
00257520 IF T ISNT COMPILEDOK THEN
00257600 BEGIN
00257680 DISPLAY ("SYNTAX ERRORS IN DBILIBRARY");
00257760 BCOMPFAIL:=TRUE;
00257840 BFAILDBI:=TRUE;
00258160 IF FILE #PREFIX/ERRORS/DBILIBRARY ON #OBJECTPACK
00258240 IS RESIDENT THEN
00258320 BEGIN
00258400 T(STATUS = NEVERUSED);
00258480 RUN #(LINCUSER & LINCPFX)/GEN ON #LINCDICTPACK
00258560 ( PREFIX & " " & DBPREFIX & " ON " & DICTPACK & " E
RR ") [T];
00258640 FILE SRCIN = #PREFIX/ERRORS/DBILIBRARY ON #OBJE
CTPACK;
00258800 FILE SRCOUT= #PREFIX/#TWORKLIT/DBILIBRARY ON #
OBJECTPACK
00258880 END;
00258960 END
00258980 ELSE
00259000 BNEWDBI:=TRUE;
00259040
00259050 END; %% COMPILEDBI
00259060 %%%%%%% COMPILE EXTERNAL/COLLECTION %%%%%%%
00259080 IF FILE #PREFIX/GEN_SOURCE/EXTERNAL/COLLECTION
00259100 ON #DICTPACK IS RESIDENT THEN
00259120 BEGIN
00259140 T(STATUS = NEVERUSED);
00259160 COMPILE #PREFIX/#TWORKLIT/EXTERNAL/COLLECTION ON #OBJECTP
ACK
00259180 WITH #SDMALGOL[T] LIBRARY;
00259200 COMPILER FILE CARD(KIND=DISK,DEPENDENTSPECS,
00259220 TITLE=#PREFIX/GEN_SOURCE/EXTERNAL/COLLECTION ON #
DICTPACK);
00259260 COMPILER FILE ERRORFILE (KIND=DISK,NEWFILE,
00259280 TITLE=#PREFIX/ERRORS/EXTERNAL/COLLECTION ON #OBJE
CTPACK);
00259300 OPTION = (FAULT, ARRAYS, LIBRARIES);
00259320
00259340 IF T ISNT COMPILEDOK THEN
00259360 BEGIN
00259380 DISPLAY ("SYNTAX ERRORS IN EXTERNAL/COLLECTION");
00259400 BCOMPFAIL:=TRUE;
00259402 %% RETITLE FILE TO AVOID PROBLEMS IN NEXT BUILD IF CAL
LS TO
00259404 %% RSS ARE DISABLED.
00259406 COPY #PREFIX/GEN_SOURCE/EXTERNAL/COLLECTION
00259408 AS #PREFIX/GEN_SOURCE/EXTERNAL/COLLECTION/BAD
00259410 FROM #DICTPACK(PACK) TO #DICTPACK(PACK);
00259412 REMOVE #PREFIX/GEN_SOURCE/EXTERNAL/COLLECTION ON #DICT
PACK;
00259420 END;
00259440 END;
00259460
00259500 %
00269040
00272000 % ------------------------------------------------------------
----------
00272080 %
00272100
00272120 WHILE (T1(STATUS) ISNT NEVERUSED AND %Uses LINCCNTL
00272140 T1(STATUS) ISNT TERMINATED) DO
00272160 WAIT(T1);
00272180
00272200 IF BBNAGEN THEN GO TO COMPILEDPROGS;
00272240 %
00274800 %
00274880 % CREATE COMS CONFIGURATION FILE
00274960 %
00275040 INITIALIZE(T);
00275120 IF BNEWDB THEN
00275200 SNEWDB := "Y"
00275280 ELSE
00275360 SNEWDB := "N";
00275440
00275840
00275920 CECPARAM := PREFIX & " "
00276000 & DBPREFIX & " "
00276080 & DICTPACK & " "
00276160 & SUSERCODE & " "
00276240 & SCHARGE & " "
00276320 & SNEWDB & " "
00276480 ;
00276560 RUN #(LINCUSER & LINCPFX)/CEC ON #LINCDICTPACK
00276640 (CECPARAM REFERENCE) [T];
00276720 FILE LINCCONTROL = #(SYSUSER & PREFIX)/#TWORKLIT/LINCCNT
L
00276760 ON #DICTPACK;
00276800 FILE OLDLNCONTROL = #(SYSUSER &PREFIX)/LINCCNTL ON #DICT
PACK;
00276880 FILE COMSFILE = #PREFIX/WORK/COMS/CONFIG/FULL ON #DICTP
ACK;
00276960 FILE PARAMF = #(SYSUSER & PREFIX)/CEL/PARAMS ON #DICTPA
CK;
00277040
00277120 % A TASKVALUE OF 2 => NO CHANGES WERE DETECTED
00277200 % SO NO COMS CONFIGURATION UPDATE REQUIRED
00277280
00277360 BUNIQUE2:=T(SW8); % the unique file modify for lincsuppo
rt changed
00277440 % The audit pack name or . will be in
CECPARAM
00277480 BNAPSYSTEM:=T(SW3); % nap system need nap_linc_tp
00277500
00277503 IF T(SW4) THEN % buffer warnings
00277506 BEGIN
00277509 TISTATUS(TASKVALUE=1480); %warnings in cec for big b
uffers
00277512 SISTATUS;
00277516 END;
00277520 IF T ISNT COMPLETEDOK THEN
00277600 BEGIN
00277680 BCECFAILED := TRUE;
00277760 BCOMSLOAD := FALSE
00277840 END
00277920 ELSE
00278000 BEGIN
00278080 IF T(TASKVALUE) NEQ 2 THEN
00278160 BCOMSLOAD := TRUE;
00278240 IF T(TASKVALUE) = 1 THEN
00278320 BFULLCONFIG := TRUE;
00278400 END;
00278480 %-------------------------------------------------------------
----------
00278560 %
00278640 % COPY SPECIAL PROGRAMS
00278720 %
00278800 COPYSPECIAL("1/LINCSUPPORT", TWORKLIT/"LINCSUPPORT",
00278840 BFAILLINCS, "LINCSUPP");
00278960 COPYSPECIAL("1/3270", "3270/LIBRARY", BCOMPFAIL , " "
);
00290256 COPYSPECIAL("LSS", "LSS", BFAILLSS, " "
);
00290264 COPYSPECIAL("COMS_LINC_TP", "COMS_LINC_TP", BFAILCOMSTP,"CO
MSTP");
00290266
00290268 IF BNAPSYSTEM THEN
00290272 BEGIN
00290275 COPYSPECIAL("NAP_LINC_TP", "NAP_LINC_TP", BCOMPFAIL,"CO
MSTP");
00290278 COPYSPECIAL("NAP_ENVIRONMENT","NAP_ENVIRONMENT", BFAILEN
V, " ");
00290281 END;
00290284
00290288 COPYSPECIAL("ENVIRONMENT", "ENVIRONMENT", BFAILENV, " "
);
00295120 COPYSPECIAL("1/LOGLIBRARY", "1/LOGLIBRARY", BCOMPFAIL, " "
);
00295160 %
00298400 COMPILEDPROGS: % required for BBNAGEN
00306640 %
00311360 END;
00311440 %-------------------------------------------------------------
----------
00311600 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
00311650 %
00311700 % X M L S C H E M A
00311750 %
00311800 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
00311850 SUBROUTINE XMLSCHEMA;
00311900 BEGIN
00311950 T(STATUS=NEVERUSED);
00312000 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK("DBSCHEMA"
)[T];
00312050 FILE REMFILE = #(SYSUSER & PREFIX)/DBILIBRARY ON #OBJECTP
ACK;
00312100 IF T IS COMPLETEDOK THEN
00312102 BEGIN
00312104 %% REMOVE OLD TRANSFER FILE
00312106 IF FILE #(PREFIX & "/DBSCHEMA/XML/TRANSFER")
00312108 ON #DICTPACK IS RESIDENT THEN
00312110 REMOVE #(PREFIX & "/DBSCHEMA/XML/TRANSFER") FROM #D
ICTPACK;
00312120 %% SAVE DBSCHEMA/XML FOR RUNTIME TRANSFER
00312150 CHANGE #(PREFIX & "/DBSCHEMA/XML") ON #DICTPACK
00312170 TO #(PREFIX & "/DBSCHEMA/XML/TRANSFER");
00312172 END
00312200 ELSE
00312250 DISPLAY ("SCMEMA XML FAILED TO LOAD");
00312300 END;
00316320 %-------------------------------------------------------------
----------
00346963 %-------------------------------------------------------------
------
00346966 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
00346969 %
00346972 % W A I T S T A T U S
00346976 % PUT OUT DISPLAY MSG AND WAIT FOR OK TO CONTINUE
00346980 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
00346984 SUBROUTINE WAITSTATUS(TASK T, STRING ABORTMSG);
00346988 BEGIN
00346996
00347000 IF T ISNT COMPLETEDOK THEN
00347004 BEGIN
00347028 IF BRESTOREALLOWED AND BREORGDB THEN
00347032 IF TREORG IS COMPLETEDOK THEN BRESTOREALLOWED := FALSE;
00347036 IF BRESTOREALLOWED THEN
00347037 BEGIN
00347038 TEMP := ABORTMSG & "REPLY AX: YES=RESTORE, NO=ABORT";
00347039 ASKQUESTION(TEMP, C);
00347042 IF C = 1 THEN
00347043 BEGIN
00347045 RESTOREDMSFILES;
00347046 RESTORELINCFILES;
00347047 IF NOT BBNAGEN AND BCOMSLOAD THEN
00347048 BEGIN
00347049 BFULLCONFIG := TRUE;
00347050 LOADCOMSCONFIG;
00347051 END;
00347052 DISPLAY("** FILES RESTORED **");
00347053 END;
00347054 END
00347055 ELSE
00347056 BEGIN
00347057 S1 := ABORTMSG & "REPLY: OK TO ABORT";
00347058 WAIT(S1,OK);
00347059 END;
00347060 DOABORT("** JOB TERMINATED **");
00347062 END;
00347063 END;
00349600 %-------------------------------------------------------------
----------
00349680 SUBROUTINE CHANGENAMES;
00349760 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
00349840 %
00349920 % C H A N G E N A M E S
00350000 %
00350080 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
00350320 BEGIN
00350400 % ALL UPDATE ETC COMPILES ARE NOW OK ,
00350480 % SO CHANGE WORK FILES TO FINAL NAMES
00350560 %
00350600 BRESTOREALLOWED := FALSE; % restoredmsfiles not allowed afte
r this pt
00350640 IF FILE #PREFIX/#TWORKLIT/COMS/CONFIG/FULL ON #DICTPACK IS R
ESIDENT
00350720 THEN
00350800 BEGIN
00351040 CHANGE #PREFIX/#TWORKLIT/COMS/CONFIG/NOF
00351120 TO #PREFIX/COMS/CONFIG/NOF FROM #DICTPACK;
00351360 CHANGE #PREFIX/#TWORKLIT/COMS/CONFIG/FULL
00351440 TO #PREFIX/COMS/CONFIG/FULL FROM #DICTPACK;
00351520 COPY #PREFIX/#TWORKLIT/COMS/DELETE/= AS #PREFIX/COMS/DE
LETE/=
00351600 FROM #DICTPACK(PACK) TO #DICTPACK(PACK);
00351680 REMOVE #PREFIX/#TWORKLIT/COMS/DELETE/= FROM #DICTPACK;
00351760 END;
00351840 %
00352561 IF FILE #PREFIX/#TWORKLIT/DBINTERFACE ON #OBJECTPACK IS RESI
DENT THEN
00352562 BEGIN
00352563 CHANGE #PREFIX/#TWORKLIT/DBINTERFACE
00352564 TO #PREFIX/DBINTERFACE FROM #OBJECTPACK;
00352565 SECURITY #(SYSUSER & PREFIX)/DBINTERFACE ON #OBJECTPAC
K
00352566 PUBLIC IN;
00352600 MODIFY #(SYSUSER & PREFIX)/DBINTERFACE ON #OBJECTPACK;
00352800 FILE DUMMY_FILE(FAMILYNAME=#SEXTPK);
00353000 END;
00353200 %
00353840 %
00353920 IF NOT BWDP THEN
00354000 BEGIN
00354080 REMOVEIT(PREFIX&"/WDP",OBJECTPACK);
00354160 REMOVEIT(PREFIX&"/SDGN",OBJECTPACK);
00354200 REMOVEIT(PREFIX&"/WDP/MAPATTR",DICTPACK);
00354240 END;
00354320
00354330 %
00354340 IF FILE #PREFIX/#TWORKLIT/EXTERNAL/COLLECTION ON #OBJECTPACK
00354350 IS RESIDENT THEN
00354360 CHANGE #PREFIX/#TWORKLIT/EXTERNAL/COLLECTION
00354370 TO #PREFIX/EXTERNAL/COLLECTION FROM #OBJECTPACK;
00354380 %
00354720 IF FILE #PREFIX/#TWORKLIT/DBILIBRARY ON #OBJECTPACK IS RESID
ENT THEN
00354800 BEGIN
00354880 REMOVEIT(PREFIX&"/"&TWORKLIT&"/GLOBALDBI",DICTPACK);
00354960 CHANGE #PREFIX/#TWORKLIT/DBILIBRARY
00355040 TO #PREFIX/DBILIBRARY FROM #OBJECTPACK;
00355120 COPY #PREFIX/DBILIBRARY AS #PREFIX/DBILIBRARY/2
00355200 FROM #OBJECTPACK(PACK) TO #OBJECTPACK(PACK);
00355360 END;
00355440 %
00355600 IF FILE #PREFIX/DBILIBRARY/2 ON #OBJECTPACK ISNT RESIDENT TH
EN
00355680 COPY #PREFIX/DBILIBRARY AS #PREFIX/DBILIBRARY/2
00355760 FROM #OBJECTPACK(PACK) TO #OBJECTPACK(PACK);
00355840 %
00356240 IF FILE #PREFIX/#TWORKLIT/LINCSUPPORT ON #OBJECTPACK IS RESI
DENT THEN
00356320 CHANGE #PREFIX/#TWORKLIT/LINCSUPPORT
00356400 TO #PREFIX/LINCSUPPORT FROM #OBJECTPACK;
00356480 %
00357520 IF FILE #PREFIX/#TWORKLIT/MULTILANG ON #DICTPACK IS RESIDENT
THEN
00357600 CHANGE #PREFIX/#TWORKLIT/MULTILANG
00357680 TO #PREFIX/MULTILANG FROM #DICTPACK
00357760 ELSE
00357840 REMOVEIT(PREFIX&"/MULTILANG",DICTPACK);
00357920 IF FILE #PREFIX/#TWORKLIT/MULTILANG/KEY01 ON #DICTPACK IS RE
SIDENT
00358000 THEN
00358080 CHANGE #PREFIX/#TWORKLIT/MULTILANG/KEY01
00358160 TO #PREFIX/MULTILANG/KEY01 FROM #DICTPACK
00358240 ELSE
00358320 REMOVEIT(PREFIX&"/MULTILANG/KEY01",DICTPACK);
00358400 IF FILE #PREFIX/#TWORKLIT/MULTILANG/KEY02 ON #DICTPACK IS RE
SIDENT
00358480 THEN
00358560 CHANGE #PREFIX/#TWORKLIT/MULTILANG/KEY02
00358640 TO #PREFIX/MULTILANG/KEY02 FROM #DICTPACK
00358720 ELSE
00358800 REMOVEIT(PREFIX&"/MULTILANG/KEY02",DICTPACK);
00358880 %
00358960 IF FILE #PREFIX/#TWORKLIT/OFFSETS ON #DICTPACK IS RESIDENT T
HEN
00359040 CHANGE #PREFIX/#TWORKLIT/OFFSETS
00359120 TO #PREFIX/OFFSETS FROM #DICTPACK;
00359200 IF FILE #PREFIX/#TWORKLIT/PROFILES ON #DICTPACK IS RESIDENT
THEN
00359280 CHANGE #PREFIX/#TWORKLIT/PROFILES
00359360 TO #PREFIX/PROFILES FROM #DICTPACK;
00359440 %
00361040 % CHANGE #PREFIX/#TWORKLIT/LINCGLIS TO #PREFIX/LINCGLIS FROM #
DICTPACK;
00361120 CHANGE #PREFIX/#TWORKLIT/LINCGLI TO #PREFIX/LINCGLI FROM #
DICTPACK;
00361200 IF FILE #PREFIX/#TWORKLIT/LINCGLI/KEY01 ON #DICTPACK IS RESI
DENT THEN
00361280 CHANGE #PREFIX/#TWORKLIT/LINCGLI/KEY01
00361360 TO #PREFIX/LINCGLI/KEY01 FROM #DICTPACK;
00361440 IF FILE #PREFIX/#TWORKLIT/LINCGLI/KEY02 ON #DICTPACK IS RESI
DENT THEN
00361520 CHANGE #PREFIX/#TWORKLIT/LINCGLI/KEY02
00361600 TO #PREFIX/LINCGLI/KEY02 FROM #DICTPACK;
00361620
00361640 CHANGE #PREFIX/WORK/LINCOFF TO #PREFIX/LINCOFF FROM #DICTPAC
K;
00361660
00361680 %
00361760 % CHECK IF OBJECT FILES FOR THE UPDATES EXIST , AND CHANGE NAM
ES OF BOTH
00361840 % SOURCE AND OBJECT.
00361920 %
00363851
00363862 %
00363873 % INSTALL CODE_LIBRARY/= (WHERE /= IS /nnn)
00363884 %
00363896 COPY #PREFIX/GEN_LIBRARY/= AS #PREFIX/CODE_LIBRARY/=
00363908 FROM #OBJECTPACK(PACK) TO #OBJECTPACK(PACK);
00368080 %
00368160 % CHECK IF OBJECT FILES FOR ADHOC INQ EXIST , AND CHANGE NAMES
OF BOTH
00368240 % SOURCE AND OBJECT.
00368320 %
00370160 IF FILE #PREFIX/#TWORKLIT/SQLSUPPORT ON #OBJECTPACK IS RESID
ENT THEN
00370240 BEGIN
00370320 REMOVEIT(PREFIX&"/"&TWORKLIT&"/QPRLIBRARY",DICTPACK);
00370400 CHANGE #PREFIX/#TWORKLIT/SQLSUPPORT
00370480 TO #PREFIX/SQLSUPPORT FROM #OBJECTPACK;
00370560 END;
00371200 %
00371280 % CHECK IF OBJECT FILES FOR ROC EXIST , AND CHANGE NAMES OF BO
TH
00371360 % SOURCE AND OBJECT.
00371440 %
00372960 IF FILE #PREFIX/#TWORKLIT/ROCSUPPORT ON #OBJECTPACK IS RESID
ENT THEN
00373040 BEGIN
00373120 REMOVEIT(PREFIX&"/"&TWORKLIT&"/GLOBALROC",DICTPACK);
00373200 CHANGE #PREFIX/#TWORKLIT/ROCSUPPORT
00373280 TO #PREFIX/ROCSUPPORT FROM #OBJECTPACK;
00373360 END;
00373440 %
00373520 IF FILE #(SYSUSER&"RMSUPPORT")/#DBPREFIX/NEW ON #OBJECTPACK
00373600 IS RESIDENT THEN
00373680 BEGIN
00373760 REMOVEIT(SYSUSER&"RMSUPPORT/"&DBPREFIX,OBJECTPACK);
00373840 COPY #(SYSUSER&"RMSUPPORT")/#DBPREFIX/NEW
00373920 AS #(SYSUSER&"RMSUPPORT")/#DBPREFIX FROM #OBJECTPACK(
PACK)
00373970 TO #OBJECTPACK(PA
CK);
00374000 END;
00374720 %
00374800 REMOVEIT(PREFIX&"/SOURCE/DMS/CARD", DICTPACK);
00374880 END;
00375040 %-------------------------------------------------------------
----------
00375120 SUBROUTINE SAVENAMES;
00375200 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
00375280 %
00375360 % S A V E N A M E S
00375440 %
00375520 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
00375680 BEGIN
00375760 % ALL UPDATE ETC COMPILES ARE NOW OK ,
00375840 % SO SAVE THE CURRENT FILES B4 SELECTING THE NEW
00375920 %
00376000 IF FILE #PREFIX/#TWORKLIT/COMS/CONFIG/FULL ON #DICTPACK IS R
ESIDENT
00376080 THEN
00376160 IF FILE #PREFIX/COMS/CONFIG/FULL ON #DICTPACK IS RESIDENT TH
EN
00376240 BEGIN
00376480 CHANGE #PREFIX/COMS/CONFIG/NOF
00376560 TO #PREFIX/OLD/#TWORKLIT/COMS/CONFIG/NOF FROM #DICTPA
CK;
00376800 CHANGE #PREFIX/COMS/CONFIG/FULL
00376880 TO #PREFIX/OLD/#TWORKLIT/COMS/CONFIG/FULL FROM #DICTP
ACK;
00376960 COPY #PREFIX/COMS/DELETE/= AS #PREFIX/OLD/#TWORKLIT/COMS/
DELETE/=
00377040 FROM #DICTPACK(PACK) TO #DICTPACK(PACK);
00377120 REMOVE #PREFIX/COMS/DELETE/= FROM #DICTPACK;
00377200 END;
00377280 %
00377290 IF FILE #PREFIX/#TWORKLIT/EXTERNAL/COLLECTION ON #OBJECTPACK
00377300 IS RESIDENT THEN
00377310 IF FILE #PREFIX/EXTERNAL/COLLECTION ON #OBJECTPACK IS RESIDE
NT THEN
00377320 CHANGE #PREFIX/EXTERNAL/COLLECTION
00377330 TO #PREFIX/OLD/#TWORKLIT/EXTERNAL/COLLECTION
00377340 FROM #OBJECTPACK;
00377350 %
00379840 IF FILE #PREFIX/#TWORKLIT/DBILIBRARY ON #OBJECTPACK IS RESID
ENT THEN
00379920 IF FILE #PREFIX/DBILIBRARY ON #OBJECTPACK IS RESIDENT THEN
00380000 CHANGE #PREFIX/DBILIBRARY
00380080 TO #PREFIX/OLD/#TWORKLIT/DBILIBRARY FROM #OBJECTPACK;
00380160 %
00380640 IF FILE #PREFIX/#TWORKLIT/LINCSUPPORT ON #OBJECTPACK IS RESI
DENT THEN
00380720 IF FILE #PREFIX/LINCSUPPORT ON #OBJECTPACK IS RESIDENT THEN
00380800 CHANGE #PREFIX/LINCSUPPORT
00380880 TO #PREFIX/OLD/#TWORKLIT/LINCSUPPORT FROM #OBJECTPACK
;
00380960 %
00381040 IF FILE #PREFIX/#TWORKLIT/ADHOCINQUIRY ON #OBJECTPACK IS RES
IDENT THEN
00381120 IF FILE #PREFIX/ADHOCINQUIRY ON #OBJECTPACK IS RESIDENT THEN
00381200 CHANGE #PREFIX/ADHOCINQUIRY
00381280 TO #PREFIX/OLD/#TWORKLIT/ADHOCINQUIRY FROM #OBJECTPAC
K;
00381360 %
00382320 IF FILE #PREFIX/MULTILANG ON #DICTPACK IS RESIDENT THEN
00382400 CHANGE #PREFIX/MULTILANG
00382480 TO #PREFIX/OLD/#TWORKLIT/MULTILANG FROM #DICTPACK;
00382720 IF FILE #PREFIX/MULTILANG/KEY01 ON #DICTPACK IS RESIDENT
00382800 THEN
00382880 CHANGE #PREFIX/MULTILANG/KEY01
00382960 TO #PREFIX/OLD/#TWORKLIT/MULTILANG/KEY01 FROM #DICTPA
CK;
00383200 IF FILE #PREFIX/MULTILANG/KEY02 ON #DICTPACK IS RESIDENT
00383280 THEN
00383360 CHANGE #PREFIX/MULTILANG/KEY02
00383440 TO #PREFIX/OLD/#TWORKLIT/MULTILANG/KEY02 FROM #DICTPA
CK;
00383520 %
00383600 IF FILE #PREFIX/#TWORKLIT/OFFSETS ON #DICTPACK IS RESIDENT T
HEN
00383680 IF FILE #PREFIX/OFFSETS ON #DICTPACK IS RESIDENT THEN
00383760 CHANGE #PREFIX/OFFSETS
00383840 TO #PREFIX/OLD/#TWORKLIT/OFFSETS FROM #DICTPACK;
00383920 IF FILE #PREFIX/#TWORKLIT/PROFILES ON #DICTPACK IS RESIDENT
THEN
00384000 IF FILE #PREFIX/PROFILES ON #DICTPACK IS RESIDENT THEN
00384080 CHANGE #PREFIX/PROFILES
00384160 TO #PREFIX/OLD/#TWORKLIT/PROFILES FROM #DICTPACK;
00384240 %
00384320 CHANGE #PREFIX/LINCCNTL TO
00384400 #PREFIX/OLD/#TWORKLIT/LINCCNTL FROM #DICTPACK;
00384480 CHANGE #PREFIX/LINCOFF TO
00384560 #PREFIX/OLD/#TWORKLIT/LINCOFF FROM #DICTPACK;
00384640 %
00384720 % CHANGE #PREFIX/LINCGLIS TO
00384800 % #PREFIX/OLD/#TWORKLIT/LINCGLIS FROM #DICTPACK;
00384880 IF FILE #PREFIX/#TWORKLIT/LINCGLI ON #DICTPACK IS RESIDENT T
HEN
00384960 IF FILE #PREFIX/LINCGLI ON #DICTPACK IS RESIDENT THEN
00385040 CHANGE #PREFIX/LINCGLI TO
00385120 #PREFIX/OLD/#TWORKLIT/LINCGLI FROM #DICTPACK;
00385200 IF FILE #PREFIX/#TWORKLIT/LINCGLI/KEY01 ON #DICTPACK IS RESI
DENT THEN
00385280 IF FILE #PREFIX/LINCGLI/KEY01 ON #DICTPACK IS RESIDENT THEN
00385360 CHANGE #PREFIX/LINCGLI/KEY01
00385440 TO #PREFIX/OLD/#TWORKLIT/LINCGLI/KEY01 FROM #DIC
TPACK;
00385520 IF FILE #PREFIX/#TWORKLIT/LINCGLI/KEY02 ON #DICTPACK IS RESI
DENT THEN
00385600 IF FILE #PREFIX/LINCGLI/KEY02 ON #DICTPACK IS RESIDENT THEN
00385680 CHANGE #PREFIX/LINCGLI/KEY02
00385760 TO #PREFIX/OLD/#TWORKLIT/LINCGLI/KEY02 FROM #DIC
TPACK;
00385840 %
00387448
00387457 %
00387466 % SAVE CODE_LIBRARY/= (WHERE /= IS /nnn, /ROC, /ADHOC)
00387475 %
00387484 COPY #PREFIX/CODE_LIBRARY/= AS #PREFIX/OLD/CODE_LIBRARY/=
00387493 FROM #OBJECTPACK(PACK) TO #OBJECTPACK(PACK);
00387502 %
00387511 % CHECK IF OBJECT FILES FOR ADHOC EXIST , AND CHANGE NAMES
00387520 %
00388880 IF FILE #PREFIX/#TWORKLIT/SQLSUPPORT ON #OBJECTPACK IS RESID
ENT THEN
00388960 IF FILE #PREFIX/SQLSUPPORT ON #OBJECTPACK IS RESIDENT THEN
00389120 CHANGE #PREFIX/SQLSUPPORT
00389200 TO #PREFIX/OLD/#TWORKLIT/SQLSUPPORT FROM #OBJECTPACK;
00390000 %
00390080 % CHECK IF OBJECT FILES FOR ROC EXIST , AND CHANGE NAMES
00390160 %
00391280 IF FILE #PREFIX/#TWORKLIT/ROCSUPPORT ON #OBJECTPACK IS RESID
ENT OR
00391360 NOT BROC THEN
00391440 IF FILE #PREFIX/ROCSUPPORT ON #OBJECTPACK IS RESIDENT THEN
00391600 CHANGE #PREFIX/ROCSUPPORT
00391680 TO #PREFIX/OLD/#TWORKLIT/ROCSUPPORT FROM #OBJECTPACK;
00391840 %
00391920 END;
00392000 %-------------------------------------------------------------
----------
00392080 SUBROUTINE REMOVESAVENAMES;
00392160 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
00392240 %
00392320 % R E M O V E S A V E N A M E S
00392400 %
00392480 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
00392640 BEGIN
00392720 % THE REORG HAS NOW COMPLETED SUCCESSFULLY
00392800 % SO REMOVE THE SAVED (ORIGINAL) FILES
00392880 %
00393280 REMOVEIT(PREFIX&"/OLD/"&TWORKLIT&"/COMS/CONFIG/NOF",DICTPACK
);
00393440 REMOVEIT(PREFIX&"/OLD/"&TWORKLIT&"/COMS/CONFIG/FULL",DICTPAC
K);
00393520 REMOVE #PREFIX/OLD/#TWORKLIT/COMS/DELETE/= FROM #DICTPACK;
00393680 %
00395360 REMOVEIT(PREFIX&"/OLD/"&TWORKLIT&"/DBILIBRARY",OBJECTPACK);
00395920 %
00396000 REMOVEIT(PREFIX&"/OLD/"&TWORKLIT&"/LINCSUPPORT",OBJECTPACK);
00396240 %
00397200 REMOVEIT(PREFIX&"/OLD/"&TWORKLIT&"/MULTILANG",DICTPACK);
00397360 REMOVEIT(PREFIX&"/OLD/"&TWORKLIT&"/MULTILANG/KEY01",DICTPACK
);
00397600 REMOVEIT(PREFIX&"/OLD/"&TWORKLIT&"/MULTILANG/KEY02",DICTPACK
);
00397840 %
00397920 REMOVEIT(PREFIX&"/OLD/"&TWORKLIT&"/OFFSETS",DICTPACK);
00398080 REMOVEIT(PREFIX&"/OLD/"&TWORKLIT&"/PROFILES",DICTPACK);
00398240 %
00398320 REMOVEIT(PREFIX&"/OLD/"&TWORKLIT&"/LINCCNTL",DICTPACK);
00398400 REMOVEIT(PREFIX&"/OLD/"&TWORKLIT&"/LINCOFF",DICTPACK);
00398480 %
00398640 REMOVEIT(PREFIX&"/OLD/"&TWORKLIT&"/LINCGLI",DICTPACK);
00398800 REMOVEIT(PREFIX&"/OLD/"&TWORKLIT&"/LINCGLI/KEY01",DICTPACK);
00399040 REMOVEIT(PREFIX&"/OLD/"&TWORKLIT&"/LINCGLI/KEY02",DICTPACK);
00399280 %
00400640 %
00400648
00400657 %
00400666 % REMOVE OLD CODE_LIBRARY/= (WHERE /= IS /nnn, /ROC, /ADHOC)
00400675 %
00400684 REMOVE #PREFIX/OLD/CODE_LIBRARY/= FROM #OBJECTPACK;
00400693 %
00400702 % CHECK IF OLD OBJECT FILES FOR ADHOC EXIST , AND REMOVE
00400711 %
00401280 REMOVEIT(PREFIX&"/OLD/"&TWORKLIT&"/SQLSUPPORT",OBJECTPACK);
00401760 %
00401840 % CHECK IF OLD OBJECT FILES FOR ROC EXIST , AND REMOVE
00401920 %
00402320 REMOVEIT(PREFIX&"/OLD/"&TWORKLIT&"/ROCSUPPORT",OBJECTPACK);
00402560 %
00402640 END;
00402720 %-------------------------------------------------------------
----------
00402800 SUBROUTINE CHECKPOPOPTIONS;
00402880 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00402960 %
00403040 % C H E C K P O P O P T I O N S
00403120 %
00403200 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00403280 BEGIN
00403440 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK
00403520 ("POPCHCK") [TCFG];
00403600 FILE DASDL= DESCRIPTION/#DBPREFIX ON #DICTPACK;
00403680 FILE CF = #(SYSUSER & DBPREFIX)/CONTROL ON #DICTPAC
K;
00403720 CHECKTASK(TCFG, BWARNPOPCHK);
00403760 IF TCFG(VALUE) = 1 THEN
00403840 BPOPWARN:= TRUE;
00404000
00404080 END;
00404160 %-------------------------------------------------------------
----------
00404240 SUBROUTINE RUNDMCONTROL;
00431040 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00431120 %
00431200 % R U N D M C O N T R O L
00431280 %
00431360 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00431600 BEGIN
00431680 T(STATUS=NEVERUSED);
00431760 IF BNEWDB THEN
00431840 BEGIN
00431920 RUN #(SDMSUSER & "SYSTEM")/#("DMCONTROL" & SDMSPACK)
00432000 ("DB=" & DBNAME & " INITIALIZE") [T];
00432080
00432160 IF T ISNT COMPLETEDOK
00432240 OR (T(TASKVALUE) NEQ 0 AND
00432320 T(TASKVALUE) NEQ 2) THEN
00432400 BEGIN
00432480 RESTOREDMSFILES;
00432560 ABORTCOMPILE("ERRORS IN DMCONTROL INITIALIZE");
00432640 END;
00432720 END
00432800 ELSE
00432880 BEGIN
00432960
00433760 T(STATUS=NEVERUSED);
00433840 RUN #(SDMSUSER & "SYSTEM")/#("DMCONTROL" & SDMSPACK)
00433920 ("UPDATE") [T];
00434000 FILE DASDL = #(SYSUSER & "DESCRIPTION/" & DBPREFIX
)
00434080 ON #DICTPACK;
00434160 FILE CFOLD = #(SYSUSER & DBPREFIX)/CONTROL ON #DIC
TPACK;
00434240
00434320 IF T ISNT COMPLETEDOK OR
00434400 (T(TASKVALUE) NEQ 0 AND
00434480 T(TASKVALUE) NEQ 2) THEN
00434560 BEGIN
00434640 RESTOREDMSFILES;
00434720 ABORTCOMPILE("ERRORS IN DMCONTROL UPDATE");
00434800 END;
00435120
00435200 IF BRDBPARAM AND NOT BCLONE THEN
00435360 BEGIN
00436080 TISTATUS(TASKVALUE= 1330);
00436160 SISTATUS;
00436240 T(STATUS = NEVERUSED);
00437280 RUN #(LINCUSER & LINCPFX)/RDB ON #LINCDICTPACK [T
];
00437360 FILE DBCONTROL = #(SYSUSER & DBPREFIX)/#SYSPREFIX
00437440 ON #DICT
PACK;
00437520 SW4; TASKVALUE = 3; SW2=BSAVERDB;%from gen wfl,upd
ate reorg
00437600 SW7 = (FILE
00437680 #(SYSUSER & SYSPREFIX)/#TWORKLIT/RDB/INIT
ON
00437760 #OBJECTPACK IS RESIDENT);
00437840 IF T(SW1) OR T ISNT COMPLETEDOK THEN
00438320 BEGIN
00438400 TISTATUS(TASKVALUE=1331);
00438480 SISTATUS;
00438560 WAIT("SECONDARY UPDATE FAILED OK WHEN FIXED",OK)
;
00438640 END;
00438720 TISTATUS(TASKVALUE=1291);
00438800 SISTATUS;
00438880 IF NOT T(SW2) THEN BSAVERDB:=TRUE;
00438960 END;
00439680 END;
00439840 END;
00439920 %-------------------------------------------------------------
----------
00440000 SUBROUTINE SAVEDMSFILES;
00440080 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00440160 %
00440240 % S A V E D M S F I L E S
00440320 %
00440400 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00440640 BEGIN
00440720
00441280 IF BCHANGEDB THEN
00441360 BEGIN
00441440 COPY #(SYSUSER & DBPREFIX)/CONTROL
00441520 AS #(SYSUSER & DBPREFIX)/CONTROL/SAVED
00441600 FROM #DICTPACK(PACK) TO #DICTPACK(PACK);
00441680
00441760 IF FILE #(SYSUSER & "RMSUPPORT")/#DBPREFIX ON #OBJECTPACK
00441840 IS RESIDENT THEN
00441920 COPY #(SYSUSER & "RMSUPPORT")/#DBPREFIX
00442000 AS #(SYSUSER & "RMSUPPORT")/#DBPREFIX/SAVED
00442080 FROM #OBJECTPACK(PACK) TO #OBJECTPACK(PACK);
00442160
00442240 IF FILE #(SYSUSER & "DMSUPPORT")/#DBPREFIX ON #OBJECTPACK
00442320 IS RESIDENT THEN
00442400 COPY #(SYSUSER & "DMSUPPORT")/#DBPREFIX
00442480 AS #(SYSUSER & "DMSUPPORT")/#DBPREFIX/SAVED
00442560 FROM #OBJECTPACK(PACK) TO #OBJECTPACK(PACK);
00442640
00442651 IF FILE #(SYSUSER & PREFIX)/DBINTERFACE ON #OBJECTPACK
00442662 IS RESIDENT THEN
00442673 COPY #(SYSUSER & PREFIX)/DBINTERFACE
00442684 AS #(SYSUSER & PREFIX)/DBINTERFACE/SAVED
00442696 FROM #OBJECTPACK(PACK) TO #OBJECTPACK(PACK);
00442708
00442720 BCONTROLSAVED:=TRUE;
00442800 END;
00444720
00444800 END; % SAVEDMSFILES
00444880 %-------------------------------------------------------------
----------
00444960 SUBROUTINE COMPILEDASDL;
00445040 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00445120 %
00445200 % C O M P I L E D A S D L
00445280 %
00445360 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00445760 BEGIN
00445840 TISTATUS(TASKVALUE=1283); %% COMPILEDB
00445920 SISTATUS;
00449120 %
00449200 INITIALIZE (T);
00449440 COMPILE #DBPREFIX WITH #(SDMSUSER&"DASDL"&SDMSPACK) [T] L
IBRARY;
00449520 COMPILER FILE CARD(KIND=DISK,DEPENDENTSPECS,
00449600 TITLE=#PREFIX/#TWORKLIT/DMS ON #DICTPACK);
00449920 COMPILER FILE HOST(KIND=DISK,FAMILYNAME=#DICTPACK);
00450000 COMPILER FILE CODE(KIND=DISK,FAMILYNAME=#DICTPACK);
00450080 COMPILER FILE PROPERTIES(KIND=DISK,TITLE=
00450160 #(SDMSUSER & "DATABASE")/#("PROPERTIES" & SDMSPAC
K) );
00450240 COMPILER VALUE = HEX("0000D3C9D5C3"); % "--LINC
" LITERAL
00450320
00450400 IF T ISNT COMPILEDOK THEN
00450480 BEGIN
00450560 RESTOREDMSFILES;
00450640 ABORTCOMPILE("ERRORS COMPILING DATABASE DASDL");
00450720 END;
00450800
00451600 IF T(SW1) THEN
00451680 BEGIN
00451760 BDASDLREORG := TRUE;
00451840 DISPLAY(" DASDL DECIDED THAT REORGANIZATION WILL OCCU
R");
00451920 TISTATUS(TASKVALUE=1284);
00452000 SISTATUS;
00452026 IF BDICTCHANGED THEN
00452035 BEGIN
00452044 RESTOREDMSFILES;
00452053 ABORTCOMPILE("CANNOT CHANGE DICT PACK AND REORG");
00452066 END;
00452160 END;
00452240
00452320 IF MYJOB (VALUE) = 0 THEN
00452560 BEGIN
00452640 SDMSUPPORTNEW := "NEW";
00452720 IDMSUPPORTNEW := 0;
00452800 END
00452880 ELSE
00452960 BEGIN
00453040 SDMSUPPORTNEW := STRING (MYJOB (VALUE),*);
00453120 IDMSUPPORTNEW := MYJOB(VALUE);
00453200 END;
00453205 IF WANTSUPPORT THEN
00453210 BEGIN
00453215 COPY #(SYSUSER & PREFIX)/#TWORKLIT/DMS AS
00453220 #(SYSUSER & PREFIX)/SUPPORT_BACKUP/#TWORKLIT/DMS/#TIMEDA
TE(YYYYMMDDHHMMSS)
00453225 FROM #DICTPACK(PACK) TO #DICTPACK(PACK);
00453230 COPY #(SYSUSER & PREFIX)/SOURCE/DMS AS
00453235 #(SYSUSER & PREFIX)/SUPPORT_BACKUP/SOURCE/DMS/#TIMEDAT
E(YYYYMMDDHHMMSS)
00453240 FROM #DICTPACK(PACK) TO #DICTPACK(PACK);
00453245 END;
00453280 CHANGE #PREFIX/#TWORKLIT/DMS TO #PREFIX/SOURCE/DMS FROM
00453360 #DICTPACK
00453440
00453520 END;
00453760 %-------------------------------------------------------------
----------
00453840 SUBROUTINE COMPILEOLDDASDL;
00453920 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00454000 %
00454080 % C O M P I L E O L D D A S D L
00454160 %
00454240 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00454560 BEGIN
00454640
00454720 SAVEDMSFILES;
00455200
00455280 IF BCHANGEDB THEN
00455360 IF FILE #(SYSUSER & "RECONSTRUCT")/#DBPREFIX ON #OBJECTPA
CK
00455440 IS RESIDENT THEN
00455520 REMOVE #(SYSUSER & "RECONSTRUCT")/#DBPREFIX ON #OBJECT
PACK;
00455600
00455680 T( STATUS = NEVERUSED );
00455760 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK
00455840 ("DROPINI U=" & SDMSUSER & ";P=" & SDMSPACK & ";") [T]
;
00456000 FILE DASDL = #PREFIX/SOURCE/DMS ON #DICTPACK;
00456040 IF T ISNT COMPLETEDOK THEN
00456160 DOABORT("UPDATE OF TARGET DASDL FILE FAILED");
00456240
00458480 T( STATUS = NEVERUSED );
00458560 COMPILE #DBPREFIX WITH #(SDMSUSER&"DASDL"&SDMSPACK) [T] LIBR
ARY;
00458960 COMPILER FILE CARD (KIND=DISK,
00459040 TITLE=#PREFIX/SOURCE/DMS ON #DICTPACK );
00459280 COMPILER FILE HOST(KIND=DISK,FAMILYNAME=#DICTPACK);
00459440 COMPILER FILE CODE(KIND=DISK,FAMILYNAME=#DICTPACK);
00459520 COMPILER FILE PROPERTIES(KIND=DISK,TITLE=
00459600 #(SDMSUSER & "DATABASE")/#("PROPERTIES" & SDMSPACK) );
00459680 COMPILER VALUE = HEX("0000D3C9D5C3"); % "--LINC" LIT
ERAL
00460000
00460240 IF T ISNT COMPILEDOK THEN
00460320 BEGIN
00460400 RESTOREDMSFILES;
00460480 ABORTCOMPILE("ERRORS COMPILING OLD DATABASE DASDL");
00460560 END;
00460640
00460720 IF T(SW1) THEN
00460800 BEGIN
00460880 RESTOREDMSFILES;
00460960 ABORTCOMPILE (" ERROR - CANT REORG WHILE UPDATING DMS LE
VEL");
00461040 END;
00461120
00461200 IF NOT BBNAGEN THEN RUNDMCONTROL;
00461280
00461360 SDMSUPPORTNEW := "NEW";
00461440 COMPILEDMSUPPORT;
00461520
00461600 CHANGE DMSUPPORT/#DBPREFIX/NEW TO
00461680 DMSUPPORT/#DBPREFIX FROM #OBJECTPACK;
00461760 COPY #DBPREFIX/CONTROL AS #DBPREFIX/CONTROL/OLD
00461840 FROM #DICTPACK(PACK) TO #DICTPACK(PACK);
00462000
00462080 COPY DESCRIPTION/#DBPREFIX AS DESCRIPTION/#DBPREFIX/OLD
00462160 FROM #DICTPACK(PACK) TO #DICTPACK(PACK);
00462240
00462480 END;
00462560 %-------------------------------------------------------------
----------
00462640 SUBROUTINE COMPILEINTERIMDASDL;
00462720 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00462800 %
00462880 % C O M P I L E I N T E R I M D A S D L
00462960 %
00463040 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00463280 BEGIN
00463520 IF BSETTYPECHANGED THEN
00463600 BEGIN
00463608
00463617 T( STATUS = NEVERUSED );
00463626 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK
00463635 ("DROPINI U=" & SDMSUSER & ";P=" & SDMSPACK & ";") [T];
00463644 FILE DASDL = #PREFIX/#TWORKLIT/DMS/INTERIM ON #OBJECT
PACK;
00463648 IF T ISNT COMPLETEDOK THEN
00463662 DOABORT("UPDATE OF TARGET DASDL FILE FAILED");
00463671
00463680 T( STATUS = NEVERUSED );
00463760 COMPILE #DBPREFIX WITH #(SDMSUSER&"DASDL"&SDMSPACK) [T] L
IBRARY;
00463840 COMPILER FILE CARD (KIND=DISK,
00463920 TITLE=#(SYSUSER & PREFIX)/#TWORKLIT/DMS/INTERIM O
N
00464000 #OBJECTPACK
);
00464080 COMPILER FILE HOST(KIND=DISK,FAMILYNAME=#DICTPACK);
00464160 COMPILER FILE CODE(KIND=DISK,FAMILYNAME=#DICTPACK);
00464240 COMPILER FILE PROPERTIES(KIND=DISK,TITLE=
00464320 #(SDMSUSER & "DATABASE")/#("PROPERTIES" & SDMSPACK)
);
00464400 COMPILER VALUE = HEX("0000D3C9D5C3"); % "--LINC"
LITERAL
00464480
00464560 IF T ISNT COMPILEDOK THEN
00464640 BEGIN
00464720 RESTOREDMSFILES;
00464800 ABORTCOMPILE("ERRORS COMPILING DATABASE DASDL FOR REOR
G");
00464880 END;
00464960
00465840 IF T(SW1) THEN
00465920 BEGIN
00466000 BINTERIMREORG := TRUE;
00466080 DISPLAY(" INTERIM DASDL DECIDED THAT A REORG WILL OCC
UR");
00466160 END;
00466240
00466720 IF MYJOB(VALUE) = 0 THEN
00466880 BEGIN
00466960 SDMSUPPORTNEW := "NEW" ;
00467040 IDMSUPPORTNEW := 0;
00467120 END
00467200 ELSE
00467280 BEGIN
00467360 SDMSUPPORTNEW := STRING (MYJOB (VALUE),*);
00467440 IDMSUPPORTNEW := MYJOB(VALUE);
00467520 END;
00467600 COMPILEDMSUPPORT;
00467920
00468000 COPY DESCRIPTION/#DBPREFIX AS DESCRIPTION/#DBPREFIX/INTER
IM
00468080 FROM #DICTPACK(PACK) TO #DICTPACK(PACK);
00468160
00468240 END;
00471760
00471840 END;
00471920 %-------------------------------------------------------------
----------
00472000 SUBROUTINE COMPILEREORG;
00472080 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00472160 %
00472240 % C O M P I L E R E O R G
00472320 %
00472400 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00472640 BEGIN
00472720 T( STATUS = NEVERUSED );
00472960 RUN #(SDMSUSER & "SYSTEM")/#("BUILDREORG" & SDMSPACK)[T];
00473040 FILE DASDL( TITLE=DESCRIPTION/#DBPREFIX ON #DICTPACK);
00473120 FILE NEWDASDL(TITLE=
00473200 DESCRIPTION/REORGANIZATION/#DBPREFIX ON #DICTPAC
K);
00473280 FILE CARD ( KIND = DISK,
00473360 TITLE= #PREFIX/#TWORKLIT/BUILDREORG ON #OBJECTPA
CK );
00474480 %
00474560 IF T ISNT COMPILEDOK THEN
00474640 BEGIN
00474720 RESTOREDMSFILES;
00474800 ABORTCOMPILE("BUILDREORG ERROR WHILE REORGANIZING");
00474880 END;
00474960 %
00475040 T( STATUS = NEVERUSED );
00475120 COMPILE REORGANIZATION/#DBPREFIX ON #OBJECTPACK
00475200 WITH #SDMALGOL[T] LIBRARY;
00475280 COMPILER FILE TAPE (TITLE=
00475360 #(SDMSUSER & "DATABASE")/#("REORGSYMBOLIC" & SDMSPAC
K) );
00475520 COMPILER FILE DASDL(TITLE=
00475600 DESCRIPTION/REORGANIZATION/#DBPREFIX ON #DICTPACK);
00475680 COMPILER FILE PROPERTIES(TITLE=
00475760 #(SDMSUSER & "DATABASE")/#("PROPERTIES" & SDMSPACK)
);
00475840 COMPILER FILE DMCONTROL(TITLE=
00475920 #(SDMSUSER & "DATABASE")/#("DMCONTROL" & SDMSPACK) )
;
00476000 COMPILER FILE XCODE (TITLE =
00476080 #(SDMSUSER & "SYSTEM")/#("DMINTERFACE" & SDMSPACK) )
;
00476100 COMPILER FILE INTL(KIND=DISK, TITLE =
00476120 #(SDMSUSER & "SYMBOL/INTL/ALGOL/DMS")/#("PROPERTIES"
& SDMSPACK) );
00476160 FILE DMCONTROL(TITLE=
00476240 #(TDMSUSER & "SYSTEM")/#("DMCONTROL" & TDMSPACK) );
00476320 COMPILER DATA
00476480 ?
00476560 IF T ISNT COMPILEDOK THEN
00476640 BEGIN
00476720 RESTOREDMSFILES;
00476800 ABORTCOMPILE("ERRORS IN REORGANIZATION PROGRAM");
00476880 END;
00476960 %
00477040 END;
00477120 %-------------------------------------------------------------
----------
00477200 SUBROUTINE COMPILEINTERIMREORG;
00477280 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00477360 %
00477440 % C O M P I L E I N T E R I M R E O R G
00477520 %
00477600 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00477840 BEGIN
00477920 T( STATUS = NEVERUSED );
00478000 RUN #(SDMSUSER & "SYSTEM")/#("BUILDREORG" & SDMSPACK)[T];
00478080 FILE DASDL( TITLE=DESCRIPTION/#DBPREFIX/INTERIM ON #DICT
PACK);
00478160 FILE NEWDASDL(TITLE=
00478240 DESCRIPTION/REORGANIZATION/#DBPREFIX ON #DICTPAC
K);
00478320 FILE CARD ( KIND = READER );
00478400 DATA CARD
00478640 ? %%% END OF DATA
00478720 %
00478800 IF T ISNT COMPILEDOK THEN
00478880 BEGIN
00478960 RESTOREDMSFILES;
00479040 ABORTCOMPILE("BUILDREORG ERROR WHILE REORGANIZING");
00479120 END;
00479200 %
00479280 T( STATUS = NEVERUSED );
00479360 COMPILE REORGANIZATION/#DBPREFIX/INTERIM ON #OBJECTPACK
00479440 WITH #SDMALGOL[T] LIBRARY;
00479520 COMPILER FILE TAPE (TITLE=
00479600 #(SDMSUSER & "DATABASE")/#("REORGSYMBOLIC" & SDMSPAC
K) );
00479680 COMPILER FILE DASDL(TITLE=
00479760 DESCRIPTION/REORGANIZATION/#DBPREFIX ON #DICTPACK);
00479840 COMPILER FILE PROPERTIES(TITLE=
00479920 #(SDMSUSER & "DATABASE")/#("PROPERTIES" & SDMSPACK)
);
00480000 COMPILER FILE DMCONTROL(TITLE=
00480080 #(SDMSUSER & "DATABASE")/#("DMCONTROL" & SDMSPACK) )
;
00480160 COMPILER FILE XCODE (TITLE =
00480240 #(SDMSUSER & "SYSTEM")/#("DMINTERFACE" & SDMSPACK) )
;
00480320 FILE DMCONTROL(TITLE=
00480400 #(TDMSUSER & "SYSTEM")/#("DMCONTROL" & TDMSPACK) );
00480480 COMPILER DATA
00480640 ?
00480720 IF T ISNT COMPILEDOK THEN
00480800 BEGIN
00480880 RESTOREDMSFILES;
00480960 ABORTCOMPILE("ERRORS IN REORGANIZATION PROGRAM");
00481040 END;
00481120 %
00481200 END;
00481280 %-------------------------------------------------------------
----------
00486160 SUBROUTINE REORGINTERIMDATABASE;
00490640 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00490720 %
00490800 % R E O R G I N T E R I M D A T A B A S E
00490880 %
00490960 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00491200 BEGIN
00491280 %
00491520 DISPLAY("INTERIM REORG " & DBPREFIX);
00491600 %
00491840 % SAVE CURRENT DESCRIPTION FILE
00491920 % REINSTATE "INTERIM" DESCRIPTION FILE
00492000 %
00492080 CHANGE DESCRIPTION/#DBPREFIX TO DESCRIPTION/#DBPREFIX/NEW
00492160 FROM #DICTPACK;
00492240 COPY DESCRIPTION/#DBPREFIX/INTERIM AS DESCRIPTION/#DBPREF
IX
00492320 FROM #DICTPACK(PACK) TO #DICTPACK(PACK);
00492400 %
00492480 IF BINTERIMREORG THEN
00492560 BEGIN
00492640 DISPLAY "INTERIM REORG";
00492720
00492800 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK ("SEC")
[T];
00492880 IF T(TASKVALUE) = 999 THEN
00492960 WAIT
00493040 ("MP REORGANIZATION/" & DBPREFIX & "/INTERIM ON " & OBJECTP
ACK &
00493120 " + EXECUTABLE " ,OK);
00493200 T( STATUS = NEVERUSED );
00493360 T ( STATUS = NEVERUSED );
00493520 RUN REORGANIZATION/#DBPREFIX/INTERIM ON #OBJECTPACK [T
];
00493600 FILE DASDL=DESCRIPTION/#DBPREFIX ON #DICTPACK;
00493680 OPTION = (SORTLIMITS);
00493760 %
00494080 IF T ISNT COMPLETEDOK THEN
00494160 BEGIN
00494240 RESTOREDMSFILES;
00494320 ABORTCOMPILE("INTERIM REORG FAILED");
00494400 END;
00494480 END
00494560
00494640 ELSE
00494720 BEGIN
00494800 %
00494880 % UPDATE CONTROL FILE TO LEVEL OF INTERIM DESCRIPTI
ON FILE
00494960 %
00495040 T(STATUS=NEVERUSED);
00495120 RUN #(SDMSUSER&"SYSTEM")/#("DMCONTROL"&SDMSPACK)("UPDA
TE") [T];
00495200 FILE DASDL=DESCRIPTION/#DBPREFIX ON #DICTPACK;
00495360
00495440 IF T ISNT COMPLETEDOK OR
00495520 (T(TASKVALUE) NEQ 0 AND
00495600 T(TASKVALUE) NEQ 2) THEN
00495680 BEGIN
00495760 RESTOREDMSFILES;
00495840 ABORTCOMPILE("DMCONTROL UPDATE FAILED");
00495920 END;
00496000
00496080 IF BRDBPARAM AND NOT BCLONE THEN
00496240 BEGIN
00496960 TISTATUS(TASKVALUE=1330);
00497040 SISTATUS;
00497120 T(STATUS = NEVERUSED);
00497440 RUN #(LINCUSER & LINCPFX)/RDB ON #LINCDICTPACK [T];
00497520 FILE DBCONTROL = #(SYSUSER & DBPREFIX)/#SYSPREFIX
00497600 ON #DICTPACK;
00497680 SW4; TASKVALUE=3; SW2=BSAVERDB; %from GEN ,UPDATE re
org
00497760 IF T(SW1) OR T ISNT COMPLETEDOK THEN
00498240 BEGIN
00498320 TISTATUS(TASKVALUE=1331);
00498400 SISTATUS;
00498480 WAIT("SECONDARY UPDATE FAILED OK WHEN FIXED",OK);
00498560 END;
00498640 TISTATUS(TASKVALUE=1291);
00498720 SISTATUS;
00498800 IF NOT T(SW2) THEN BSAVERDB:=TRUE;
00498880 END;
00499200 END;
00499280 %
00499360 % REINSTATE CURRENT DESCRIPTION FILE
00499440 %
00499680 CHANGE DESCRIPTION/#DBPREFIX/NEW TO DESCRIPTION/#DBPREFIX
00499760 FROM #DICTPACK;
00500000 %
00500080 END;
00501600 %
00501680 %-------------------------------------------------------------
----------
00501760 SUBROUTINE REORGDATABASEPREP;
00501840 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%
00501920 %
00502000 % R E O R G D A T A B A S E P R E P
00502080 %
00502160 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00502400 BEGIN
00502480 %
00502560 TISTATUS(TASKVALUE=1286) ; %% REORGDB
00502640 SISTATUS;
00502800 DISPLAY("REORGANIZING " & DBPREFIX);
00502880 %
00503280 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK ("SEC") [T];
00503360 IF T(TASKVALUE) = 999 THEN
00503440 WAIT
00503520 ("MP REORGANIZATION/" & DBPREFIX & " ON " & OBJECTPACK &
00503600 " + EXECUTABLE ", OK);
00504080
00504160 END;
00504240 %-------------------------------------------------------------
----------
00504320 SUBROUTINE CHECKREORGDATABASE;
00504400 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%
00504480 %
00504560 % C H E C K R E O R G D A T A B A S E
00504640 %
00504720 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00504960 BEGIN
00505040
00505120 WAITREORG:
00505200
00505280 IF TREORG IS INUSE THEN
00505360 WAIT("WAITING FOR DATABASE REORGANISE TO COMPLETE", TREORG
);
00505490
00505520 IF DICTPACK NEQ PRIMARYPACK THEN
00505600 REMOVEIT("DESCRIPTION/"&DBPREFIX,PRIMARYPACK);
00505680
00505760 IF TREORG ISNT COMPLETEDOK AND TREORG(TASKVALUE) = 2 THEN
00505840 BEGIN
00505920 %% taskvalue of 2 means that REORG cannot be restarted
00506000 %% without manual intervention. Hence, RESTART not offer
ed
00506080 S1 := "";
00506160 DBHOOKREORGFAIL3 (S1);
00506240 IF LENGTH (S1) = 0 THEN
00506320 BEGIN
00506400 TISTATUS (TASKVALUE=1288); %% WAITDBERROR
00506480 SISTATUS;
00506560 DISPLAY ("REORGANIZATION PROCESS DIDN'T COMPLETE");
00506640 ASKQUESTION("'YES': TO ABORT GEN; START ANOTHER GEN
WHEN "
00506680 & "FIXED / "
00506720 & "'NO': TO ABORT GEN & RELOAD FROM BACK
UP",C);
00506800 END
00506880 ELSE
00506960 BEGIN
00507040 C := 0;
00507120 IF LENGTH (S1) = 3 AND S1 = "YES" THEN
00507200 C:= 1;
00507280 END;
00507360 IF C = 1 THEN
00507440 BEGIN
00507520 %% Database is unusable until completion of this REO
RG.
00507600 %% Specs can be corrected and gen resubmitted to nor
mal
00507680 %% EOJ, though. (Allows fixes to profile Dup options
, etc)
00507760 DISPLAY ("ABORTING - RESTART GENERATE");
00507840 DISPLAY (".. AFTER CORRECTING SPECIFICATION ");
00507920 END
00508000 ELSE
00508080 BEGIN
00508160 DISPLAY ("ABORTING - RELOAD DB, CORRECT AND REPEAT G
EN");
00508240 %% Database MUST be reloaded from dump. Once done, i
t is
00508320 %% usable (in old format). This allows fixes to data
base
00508400 %% records before repeated generate (handy for dupli
cates).
00508480 RESTOREDMSFILES;
00508560 RESTORELINCFILES;
00508800 IF NOT BBNAGEN AND BCOMSLOAD THEN
00508880 BEGIN
00508960 BFULLCONFIG := TRUE;
00509040 LOADCOMSCONFIG;
00509120 END;
00509200 END;
00509232 ABORTCOMPILE("REORGANIZATION FAILED: " &
00509248 "PLEASE START NEXT GENERATE WITHOUT RECOVERY INFORMA
TION");
00509360 END;
00509440
00509520 IF TREORG ISNT COMPLETEDOK THEN
00509600 BEGIN
00510080 BPRINTSUMM:=TRUE; % PRINT JOB SUMMARY IF ANY REORG
ERROR
00510240 S1 := "";
00510320 DBHOOKREORGFAIL2 (S1);
00510400 IF LENGTH (S1) = 0 THEN
00510480 BEGIN
00510560 TISTATUS(TASKVALUE= 1288); %% WAITDBERROR
00510640 SISTATUS;
00510720 DISPLAY ("** " & LINCPFX & "/WFL DATABASE REORG RUN FAI
LED **");
00510800 ASKQUESTION("** DO YOU WISH TO RESTART THIS REORG,AX YE
S OR NO *"
00510880 ,C);
00510960 TISTATUS(TASKVALUE= 1291);
00511040 SISTATUS;
00511120 END
00511200 ELSE
00511280 BEGIN
00511360 C:= 0;
00511440 IF LENGTH (S1) = 3 THEN
00511520 IF S1 = "YES" THEN
00511600 C := 1;
00511680 END;
00512240 IF C = 0 THEN
00512320 DISPLAY ("** MANUAL RESTART REQUIRED **");
00512400 ELSE
00513040 BEGIN
00513120 % WILL CONTINUE REORG USING REORG/CONTROL FILE
00513200 DISPLAY("** REORG RUN WILL BE RESTARTED **");
00513280 REORGDATABASEPREP;
00513440 TREORG ( STATUS = NEVERUSED );
00513600 PROCESS RUN REORGANIZATION/#DBPREFIX ON #OBJECTPACK [T
REORG];
00513680 FILE DASDL=DESCRIPTION/#DBPREFIX ON #DICTPACK;
00513760 OPTION = (SORTLIMITS);
00513840 GO TO WAITREORG;
00513920 END;
00514400 %
00514480 % WILL REINSTATE THINGS FOR MANUAL REORG
00514560 % REINSTATE DESCRIPTION FILE , SOURCE/DMS AND CONTROL FIL
E
00514640 % -- WILL HAVE TO REDO DASDL COMPILE AND COPY BACK DATAB
ASE BACKUP
00514720 RESTOREDMSFILES;
00514800 RESTORELINCFILES;
00515280 IF NOT BBNAGEN AND
00515360 BCOMSLOAD THEN
00515440 BEGIN
00515520 BFULLCONFIG := TRUE; % RELOAD SAVED FULL CONFIG
00515600 LOADCOMSCONFIG;
00515680 END;
00515760 ABORTCOMPILE("REORGANIZATION FAILED");
00515840 END;
00515920 %
00516880 %
00517680 END;
00517682 %-------------------------------------------------------------
----------
00517684 SUBROUTINE CHECKDBLOCK;
00517686
00517688 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00517690 %
00517692 % C H E C K D B L O C K
00517694 %
00517696 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00517698
00517700 BEGIN
00517702 STRING SLINCCNTL,TEMP1;
00517704
00517706 T(STATUS = NEVERUSED, VALUE = 0);
00517708 SLINCCNTL:= SYSUSER & SYSPREFIX & "/" & TWORKLIT & "/LINCC
NTL";
00517710 IF FILE #SLINCCNTL ON #DICTPACK ISNT RESIDENT THEN
00517712 SLINCCNTL:= SYSUSER & SYSPREFIX & "/LINCCNTL";
00517714
00517716 DISPLAY ("Checking database lock");
00517718 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK("CHECKDBLOC
K") [T];
00517720
00517722 FILE LINCCONTROL = #SLINCCNTL ON #DICTPACK;
00517724
00517726 IF T(VALUE) = 1 THEN
00517728 BEGIN
00517730
00517732 DISPLAY ("Database is locked");
00517734 TEMP1:= "Reply AX YES to Unlock or NO to retain Lock"
;
00517736 ASKQUESTION(TEMP1, C);
00517738 IF C = 1 THEN
00517740 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK("UNL
OCK") [T];
00517742 FILE LINCCONTROL = #SLINCCNTL ON #DICTPACK;
00517744
00517746 ELSE
00517748
00517750 BEGIN
00517752 DISPLAY "Database remains locked";
00517754 TEMP1:= "Do you wish to abort the generate: AX YES
or NO";
00517756 ASKQUESTION(TEMP1, C);
00517758 IF C = 1 THEN
00517760 DOABORT("Generate aborted due to Locked Database"
);
00517762 END;
00517764 END;
00517766 END;
00517840 %-------------------------------------------------------------
----------
00517844 SUBROUTINE UNLOCKDATABASE;
00517848 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00517852 %
00517856 % U N L O C K D A T A B A S E
00517860 %
00517865 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00517870 BEGIN
00517875 STRING SLINCCNTL , SFNAME;
00517876 SFNAME:=SYSUSER & SYSPREFIX & "/RETAIN/DBLOCK ON " & DICTP
ACK;
00517877 F(NEWFILE=FALSE);
00517878 F(TITLE=#SFNAME);
00517879 IF F(RESIDENT) AND BREORGDB THEN
00517880 BEGIN
00517881 BLOCKEDDB:=FALSE;
00517882 DISPLAY "Database Lock Retained"
00517883 END
00517884 ELSE
00517885 BEGIN
00517886 T(STATUS = NEVERUSED);
00517890
00517895 SLINCCNTL:= SYSUSER & SYSPREFIX & "/" & TWORKLIT & "/LINCC
NTL";
00517905
00517910 IF FILE #SLINCCNTL ON #DICTPACK ISNT RESIDENT THEN
00517915 SLINCCNTL:= SYSUSER & SYSPREFIX & "/LINCCNTL";
00517916
00517917 DISPLAY ("Unlocking database");
00517918 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK("UNLOCK") [
T];
00517919 FILE LINCCONTROL = #SLINCCNTL ON #DICTPACK;
00517920
00517921 IF T IS COMPLETEDOK THEN
00517922 BLOCKEDDB:= FALSE;
00517923 END;
00517924 END;
00517925 %-------------------------------------------------------------
----------
00517926 SUBROUTINE LOCKDATABASE;
00517927 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00517928 %
00517929 % L O C K D A T A B A S E
00517930 %
00517931 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00517932 % Caller should call CHECKDBSTATUS; immediately after this
00517933 % to ensure the database is actually down.
00517934 %-------------------------------------------------------------
----------
00517935 BEGIN
00517936 STRING SLINCCNTL ;
00517937
00517938 T(STATUS = NEVERUSED);
00517939
00517940 SLINCCNTL:= SYSUSER & SYSPREFIX & "/" & TWORKLIT & "/LINCC
NTL";
00517942
00517943 IF FILE #SLINCCNTL ON #DICTPACK ISNT RESIDENT THEN
00517944 SLINCCNTL:= SYSUSER & SYSPREFIX & "/LINCCNTL";
00517945
00517946 DISPLAY ("Locking database");
00517947 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK("LOCK") [T]
;
00517948 FILE LINCCONTROL = #SLINCCNTL ON #DICTPACK;
00517949
00517950 IF T IS COMPLETEDOK THEN
00517951 BLOCKEDDB:= TRUE;
00517952
00517953 END;
00517954 %-------------------------------------------------------------
----------
00517955 SUBROUTINE EXTRACTDI;
00518000 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00518080 %
00518160 % E X T R A C T D I
00518240 %
00518320 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00518400 BEGIN
00518480 %% Extract Dialoginfo data - Run the already-compiled program
00518560
00522080 I := 1;
00522160 WHILE (I = 1) DO
00522240 BEGIN
00522320 T(STATUS = NEVERUSED);
00522400 RUN #SYSPREFIX/#TWORKLIT/EXTRACTDI ON #OBJECTPACK [T];
00522480 FILE EXTRACT =
00522560 #SYSPREFIX/#TWORKLIT/EXTRACT/DATA ON #DICTPACK;
00522640 %%
00522720 IF T ISNT COMPLETEDOK THEN
00522800 BEGIN
00522960 DISPLAY ("ERRORS IN EXTRACTDI RUN");
00523040 ASKQUESTION
00523120 ("DO YOU WANT TO RERUN EXTRACTDI, AX YES OR NO",C);
00523200 IF C NEQ 1 THEN
00523280 BEGIN
00523360 % Repeat Unload not requested; - continue on anyh
ow
00523440 BPRINTSUMM := TRUE;
00523520 DISPLAY ("EXTRACTDI RUN NOT REPEATED - WFL CONTIN
UING");
00523600 I := 2; % So we fall out
00523680 END
00523760 ELSE
00523840 I := 1; % So we repeat the EXTRACTDI
00523920 END
00524000 ELSE
00524080 % Finished ok
00524160 I := 0;
00524240 END;
00524320 IF FILE #SYSPREFIX/#TWORKLIT/EXTRACT/DATA ON #DICTPACK
00524400 ISNT RESIDENT THEN
00524480 BEGIN
00524560 DISPLAY ("EXTRACT/DATA FILE NOT VISIBLE - CONTINUING");
00524720 BPRINTSUMM := TRUE;
00524800 END;
00524880
00524960 END; %% Of EXTRACTDI subroutine
00525040 %
00525120 %-------------------------------------------------------------
-
00525200 %
00534320 SUBROUTINE RUNUTILITY;
00534480 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00534560 %
00534640 % R U N U T I L I T Y
00534720 %
00534800 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00535040 BEGIN
00535120 RUNUTIL:
00535200
00535280 T( STATUS = NEVERUSED );
00535360 IF BNEWDB THEN
00535440 BEGIN
00535520 RUN #(SDMSUSER&"SYSTEM")/#("DMUTILITY"&SDMSPACK)
00535680 ("DB=" & DBNAME & " INITIALIZE =")[T];
00535760 END
00535840 ELSE
00535920 BEGIN
00536000 RUN #(SDMSUSER&"SYSTEM")/#("DMUTILITY"&SDMSPACK) ("*")[T]
;
00536080 FILE CARD(KIND=DISK,
00536240 TITLE=#(SYSUSER&PREFIX)/#TWORKLIT/UTILITY/INIT ON #OB
JECTPACK);
00536480 END;
00536560 %
00536640 IF T(VALUE) = 0
00536720 OR T ISNT COMPLETEDOK THEN
00536800 BEGIN
00536960
00537040 BPRINTSUMM:=TRUE; % PRINT JOB SUMMARY IF ANY UTIL
ERROR
00537120 DISPLAY ("** " & LINCPFX & "/WFL DMUTILITY INITIALIZE RUN
FAILED **");
00537200 ASKQUESTION("** DO YOU WISH TO RESTART THIS RUN,AX YES OR
NO **",
00537280 C);
00537840 IF C = 0 THEN
00537920 BEGIN
00538000 IF NOT BNEWDB THEN
00538080 BEGIN
00538160 RESTOREDMSFILES;
00538320 UNLOCKDATABASE;
00538560 END;
00538880 ABORTCOMPILE ("** MANUAL RESTART REQUIRED **");
00538960 END
00539040 ELSE
00539680 BEGIN
00539760 % WILL REDO DMUTILITY USING REORG/CONTROL FILE
00539840 DISPLAY("** DMUTILITY RUN WILL BE RESTARTED **");
00539920 RUN #(SDMSUSER&"SYSTEM")/#("DMUTILITY"&SDMSPACK)
00540000 ("DB=" & DBNAME & " CANCEL")[T];
00540160 GO TO RUNUTIL;
00540240 END;
00540720 END;
00540800 %
00541600 END;
00541680 %-------------------------------------------------------------
----------
00541760 SUBROUTINE CONVERTDB;
00541840 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00541920 %
00542000 % C O N V E R T D B
00542080 %
00542160 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00542400 BEGIN
00542960
00543040 RUNCONVERT:
00543120
00543200 T( STATUS = NEVERUSED );
00543280 RUN #(SDMSUSER & "SYSTEM")/#("DMUTILITY" & SDMSPACK)
00543360 ("DB=" & DBNAME & " INITIALIZE " & "AUDITAREA");
00543440 %
00543520
00549520
00549600 REMOVEIT(PREFIX&"/"&TWORKLIT&"/UPDATEB",OBJECTPACK);
00549680 REMOVEIT(PREFIX&"/UPDATEB",OBJECTPACK);
00549685
00549690 IF FILE #(SYSUSER & SYSPREFIX)/WDP ON #OBJECTPACK IS RESIDENT
THEN
00549695 BEGIN
00549700 INITIALIZE(T);
00549705 RUN #(SYSUSER & SYSPREFIX)/WDP ON #OBJECTPACK [T];
00549710 SW4;
00549715 FILE SDFS-FILE = #(SYSUSER & SYSPREFIX & "/LINCSDFS" )
00549720 ON #DICTPACK;
00549725
00549730 IF T ISNT COMPLETEDOK THEN
00549735 WAIT("WDP LISTBOX FILE UNLOAD FAILED",OK);
00549740
00549760 INITIALIZE(T);
00549800 RUN #(LINCUSER & LINCPFX)/MUL ON #LINCDICTPACK
00550000 (SYSPREFIX & " ON " & DICTPACK & " SLISTI") [T];
00550200 FILE SDFF-FILE =#(SYSUSER&SYSPREFIX)/LINCSDFS ON #DICTPA
CK;
00550400 FILE SDF-FILE =#(SYSUSER & SYSPREFIX)/LINCSDF/NEW ON #DI
CTPACK;
00550500 SW3;
00550600
00550800 IF T ISNT COMPLETEDOK THEN
00551000 WAIT("STATIC LISTBOX FILE LOAD FAILED",OK);
00551200
00551400 % Remove the just-used flat file
00551600 REMOVEIT(SYSUSER & SYSPREFIX&"/LINCSDFS",DICTPACK);
00551800 END;
00552000
00552200
00553600 END;
00553680 %-------------------------------------------------------------
----------
00561680 SUBROUTINE COMPILEDATABASE;
00561920 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00562000 %
00562080 % C O M P I L E D A T A B A S E
00562160 %
00562240 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00562480 BEGIN
00562560 % REMOVE PREVIOUS REORG FILES , JUST IN CASE
00562960 REMOVEIT("REORGANIZATION/"&DBPREFIX,OBJECTPACK);
00563120 REMOVEIT(SYSUSER & PREFIX&"/"&TWORKLIT&"/UTILITY/INIT",OBJEC
TPACK);
00565280 REMOVEIT(PREFIX&"/"&TWORKLIT&"/EXTRACTDI",OBJECTPACK);
00565440 REMOVEIT(PREFIX&"/"&TWORKLIT&"/UPDATEDI",OBJECTPACK);
00565520 IF BBNAGEN THEN %delete files that trigger dmsii compile
00565600 BEGIN
00565840 REMOVEIT("DESCRIPTION/"&DBPREFIX&"/INTERIM",DICTPACK);
00565920 REMOVEIT("DESCRIPTION/"&DBPREFIX&"/OLD",DICTPACK);
00566000 END;
00566160 %
00566240 % DELETE FILES THAT ARE CREATED BY DAC
00566320 REMOVEIT(PREFIX&"/"&TWORKLIT&"/MOVE/FILES",OBJECTPACK);
00566480 IF FILE #PREFIX/#TWORKLIT/COPY/FILES ON #OBJECTPACK IS RESI
DENT THEN
00566560 REMOVE #(SYSUSER & PREFIX)/#TWORKLIT/COPY/FILES ON #OBJEC
TPACK;
00566800 REMOVEIT(PREFIX&"/"&TWORKLIT&"/DELETE/FILES",OBJECTPACK);
00566960 REMOVEIT(PREFIX&"/"&TWORKLIT&"/RDB/UTILITY",OBJECTPACK);
00567200 REMOVEIT(PREFIX&"/"&TWORKLIT&"/RDB/INIT",OBJECTPACK);
00567240
00567360 %
00568880 IF BNEWDB THEN
00569040 BCOMPILEALL := TRUE
00569200 ELSE % NOT NEW
00569280 BEGIN
00570000 %
00570080 T( STATUS = NEVERUSED );
00570240 RUN #(LINCUSER & LINCPFX)/DAC ON #LINCDICTPACK
00570320 ( SYSPREFIX,
00570400 DBPREFIX,
00570480 TDICTPACK,
00570560 TOBJECTPACK,
00570640 REORGPACK %%% WORK PACK FO
R REORG
00570720 ) [T];
00570800 FILE DBDMCONTROL =
00570880 #(SDMSUSER & "DATABASE")/#("DMCONTROL" & SDMSPA
CK);
00570960 FILE DBREORGSYMBOLIC =
00571040 #(SDMSUSER & "DATABASE")/#("REORGSYMBOLIC" & SD
MSPACK);
00571120 FILE OLINCCONTROL =
00571200 #(SYSUSER & PREFIX)/LINCCNTL ON #DICTPACK;
00571280 FILE LINCCONTROL =
00571360 #(SYSUSER & PREFIX)/#TWORKLIT/LINCCNTL ON #DIC
TPACK;
00571440 FILE DMCONTROL =
00571520 #(SYSUSER & DBPREFIX)/CONTROL ON #DICTPACK;
00571760 FILE IGLBDDL =
00571840 #(SYSUSER & PREFIX)/WORK/DMS/INTERIM ON #OBJEC
TPACK;
00571920 FILE OGLBDDL =
00572000 #(SYSUSER & PREFIX)/SOURCE/DMS ON #DICTPACK;
00572080 FILE NGLBDDL =
00572160 #(SYSUSER & PREFIX)/WORK/DMS ON #DICTPACK; % F
ROM UPD
00572240 FILE REORG =
00572320 #(SYSUSER & PREFIX)/#TWORKLIT/BUILDREORG ON #O
BJECTPACK;
00572400 FILE DELFILE =
00572480 #(SYSUSER & PREFIX)/#TWORKLIT/DELETE/FILES ON
00572560 #OBJECTPACK;
00572640 FILE REORGUPDATE =
00572720 #(SYSUSER & PREFIX)/#TWORKLIT/BUILDREORG/UPDAT
E
00572800 ON #OBJECTPACK;
00572880 FILE UTILITY =
00573040 #(SYSUSER&PREFIX)/#TWORKLIT/UTILITY/INIT ON #O
BJECTPACK;
00573520 FILE REMFILE =
00573600 #(SYSUSER & PREFIX)/#TWORKLIT/MOVE/FILES ON #O
BJECTPACK;
00573680 FILE COPYFILE =
00573760 #(SYSUSER & PREFIX)/#TWORKLIT/COPY/FILES ON #O
BJECTPACK;
00574000 FILE RDBINIT =
00574080 #(SYSUSER & PREFIX)/#TWORKLIT/RDB/INIT ON #O
BJECTPACK;
00574106 FILE UPD-DBRECORD (TITLE = #PREFIX/#TWORKLIT/UPDDBR
EC_DAC
00574133 ON #D
ICTPACK);
00574135 FILE APPLBLD-RFILE =
00574140 #(SYSUSER & PREFIX)/DASDL/REORG ON #DICTPACK;
00574145
00574160 SW1 = BNORESTART;
00574200 MAXCARDS = INOPOSTDUMP; % 2 if nopostdump needed
00574240 SW3 = BBNAGEN;
00574320 SW4 = BSORT;
00574400 SW5 = (BRDBPARAM AND NOT BCLONE) OR
00574480 (BBNAGEN AND FILE #PREFIX/RDB/PARAMS ON #OBJE
CTPACK IS
00574560 RESIDENT);
00574640 TASKVALUE = IPARREORG; % # PARALLEL REORG TASKS
00574646 S1:=T(NETPATH);
00574652 IF LENGTH(HEAD(S1,NOT " ")) > 0 THEN %we have an ol
d name
00574658 BEGIN
00574664 DISPLAY("OLD OBJECT PACK = "& S1);
00574670 %dont copy dbinterface, we want to recompile it
to get
00574676 %correct lincsupport location
00574682 COPY #PREFIX/CODE_LIBRARY/=,
00574688 #PREFIX/CODE_FILE/=,
00574694 #PREFIX/ENVIRONMENT,
00574700 #PREFIX/LINCSUPPORT FROM #S1(PACK) TO
00574706 #OBJECTPACK(PACK);
00574713 END;
00574800
00574880 IF T(VALUE) < 0
00574960 OR T ISNT COMPLETEDOK THEN
00575040 BEGIN
00575120 BPRINTSUMM :=TRUE; % PRINT JOB SU
MMARY
00575200 % TO ENABLE REPORT COMPILATION AND FURTHER GENERATES
00575280 TISTATUS(TASKVALUE = 1281);
00575360 SISTATUS;
00575440 ABORTCOMPILE("ERRORS IN DASDL COMPARE (DAC)");
00575520 END;
00575600 %
00575620 IF T(MAXCARDS) MOD 2 = 1 THEN BROCCHANGED := TRUE;
00575626 IF T(MAXCARDS) DIV 2 = 1 THEN BDICTCHANGED :=TRUE;
00575633
00576080 %
00576720 %
00577520 IDMSLEVEL := T(VALUE);
00577680 DISPLAY(" DMS LEVEL = " & STRING(IDMSLEVEL,*) );
00578080 %
00578160 IF T(SW2) THEN
00578240 BEGIN
00578320 BUPDATEDB:=TRUE;
00578400 DISPLAY(" DASDL COMPILE WILL OCCUR");
00578480 END;
00578560 %
00578640 IF T(SW3) THEN
00578720 BEGIN
00578800 BSETTYPECHANGED:=TRUE;
00578880 DISPLAY(" INTERIM REORG DASDL COMPILE WILL OCCUR");
00579040 END;
00579120 %
00579200 IF T(SW4) THEN
00579280 BEGIN
00579360 BREORGWORKSIZE := TRUE;
00579600 DISPLAY(" GLB-DIALOGINFO HAS CHANGED");
00579680 END;
00579760 %
00579840 IF T(SW5) THEN
00579920 BEGIN
00580000 BDMSLEVELCHANGED := TRUE;
00580080 DISPLAY(" DMS FORMAT LEVEL WILL BE UPDATED");
00580160 END;
00580240 %
00580320 IF T(SW6) THEN
00580400 BEGIN
00580480 BVERSIONCHANGE := TRUE;
00580560 DISPLAY(" AB SUITE SUPPORT SOFTWARE VERSION UPDATED
");
00580640 END;
00580720 %
00580800 IF T(SW7) THEN
00580880 BEGIN
00580960 BCONVERT := TRUE;
00581040 DISPLAY(" CONVERTING FROM OLD RELEASE");
00581051 % IF APPLBLD THEN %JUST GIVE A WARNING
00581062 % BEGIN
00581073 BCONVERT:=FALSE;
00581084 TISTATUS(TASKVALUE=0809);
00581096 SISTATUS;
00581108 % END;
00581120 END;
00581200 %
00581280 IF T(SW8) THEN
00581360 BEGIN
00581440 BCOMPILEALL :=TRUE;
00581520 DISPLAY(" ALL AB SUITE SUPPORT PROGRAMS WILL BE CHA
NGED")
00581600 END;
00581680 %
00581760 IF T(TARGET) NEQ 0 AND T(TARGET) NEQ 98 THEN
00581840 BEGIN
00581920 BDACREORG :=TRUE;
00582000 IF T(TARGET) = 9 OR T(TARGET) = 99 THEN
00582040 BEGIN
00582080 BREORGUPDATEDB:=TRUE;
00582106 DISPLAY(" REORGUPDATEDB FLAG NOW TRUE");
00582133 END;
00582160 END;
00582240 %
00582400 END; % IF NOT NEWDB
00582480 %-------------------------------------------------------------
---------
00583280 IF FILE #PREFIX/#TWORKLIT/MOVE/FILES ON #OBJECTPACK IS RESI
DENT THEN
00583360 BEGIN
00583440 BPACKCHANGED:=TRUE;
00583520 DISPLAY(" DATABASE FILE(S) HAVE CHANGED PACKS");
00583600 END;
00583680
00583760 IF FILE #(SYSUSER & PREFIX)/#TWORKLIT/UTILITY/INIT ON #OBJECT
PACK IS
00583840 RESIDENT
THEN
00583920 BEGIN
00584000 BREORGUT:=TRUE;
00584080 DISPLAY(" NEW COMPONENTS/PROFILES WILL BE INITIALIZED");
00584160 END;
00584170
00584180 IF FILE #PREFIX/#TWORKLIT/DELETE/FILES ON #OBJECTPACK IS RESI
DENT OR
00584190 T(TARGET) = 98 THEN
00584200 BEGIN
00584210 BDELETESTRUCTURE :=TRUE;
00584220 DISPLAY(" OLD STRUCTURE(S) WILL BE DELETED");
00584230 END;
00585600 %%
00592640 %%
00602480 %------------------------------------------------------------
---------
00602560
00602720 IF BREORGUT % NEW DATASETS
00602800 OR BSETTYPECHANGED % SET TO SUBSET E
TC
00602880 OR BCONVERT % CONVERSION FROM
PRIOR RELEASE
00602960 OR BDMSLEVELCHANGED % DMS VERSION CHA
NGE
00603040 OR BREORGUPDATEDB
00603120 OR BDACREORG %DAC BUILD REORG
FILE
00603280 OR BUPDATEDB THEN % DASDL CHANGES
00603360 BEGIN
00603440 WHILE BRDBPARAM AND NOT BCLONE
00603490 AND (BNORESTART OR INOPOSTDUMP = 3) DO
00603520 BEGIN
00603600 S1 :=
00603680 "UNAUDITED DB CHANGES WITH RDB: AX REQ'D - RECLONE OR
ABORT";
00603760 TISTATUS(TASKVALUE = 1289);
00603840 SISTATUS;
00603920 S1 := ACCEPT(S1);
00604000 IF LENGTH(S1) = 7 THEN
00604080 BCLONE := S1 = "RECLONE";
00604160 IF LENGTH(S1) = 5 THEN
00604240 IF S1 = "ABORT" THEN
00604320 BEGIN
00604400 TISTATUS(TASKVALUE = 1281);
00604480 SISTATUS;
00604560 DOABORT("RDB CLONE PROBLEM; ABORT REQUESTED");
00604640 END;
00604720 END; %% Of while statement
00604800
00604880 BCHANGEDB:=TRUE;
00605120
00605200 %- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00605280 % CHECK THAT DMS LEVELS OF ANY MODEL DATABASES ARE OK
00605360 %
00605440 IF NOT BNEWDB THEN
00605520 BEGIN
00605600 T(STATUS = NEVERUSED);
00605680 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK("CHKMDL")
[T];
00605760 FILE LINCCONTROL = #(SYSUSER & PREFIX)/LINCCNTL ON #DICT
PACK;
00605840 IF T ISNT COMPLETEDOK
00605920 OR T(TASKVALUE) NEQ 0 THEN
00606000 BEGIN
00606080 TISTATUS(TASKVALUE=1289);
00606160 SISTATUS;
00606240 DISPLAY ("DMS MODEL LEVEL ERROR DETECTED");
00606320 ASKQUESTION("** DO YOU WANT TO ABORT THIS RUN,AX YES OR
NO **",C);
00606400 IF C NEQ 0 THEN
00606480 DOABORT ("** JOB TERMINATED **");
00606560 END;
00606640 END;
00606720 COPY #PREFIX/SOURCE/DMS AS #PREFIX/SOURCE/DMS/SAVED,
00606800 DESCRIPTION/#DBPREFIX AS DESCRIPTION/#DBPREFIX/SAVED
00606880 FROM #DICTPACK(PACK) TO #DICTPACK(PACK);
00606960 BDESCRIPTIONSAVED:=TRUE;
00607040 REMOVEIT("DESCRIPTION/"&DBPREFIX&"/INTERIM",DICTPACK);
00607120 REMOVEIT("DESCRIPTION/"&DBPREFIX&"/OLD",DICTPACK);
00607200 END;
00607280
00608560 %- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - -
00608640
00608720 IF BDMSLEVELCHANGED THEN
00608800 COMPILEOLDDASDL;
00608880
00608960 %- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - -
00609040
00609120 IF BSETTYPECHANGED THEN
00609200 BEGIN
00609280 COMPILEINTERIMDASDL;
00609360 IF BINTERIMREORG THEN % REORG DETECTED
BY DASDL
00609920 COMPILEINTERIMREORG;
00610160 END;
00610240 %- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - -
00610320 IF BCHANGEDB OR BNEWDB THEN
00610400 BEGIN
00610480 COMPILEDASDL;
00610560 IF BDASDLREORG THEN % REORG DETECTED BY
DASDL
00610640 BEGIN
00610720 % DROP IN 'UPDATE' BUILDREORG DECK; DASDL SAYS SO
00610800 COPY #(SYSUSER & PREFIX)/#TWORKLIT/BUILDREORG/UPDATE
00610880 AS #(SYSUSER & PREFIX)/#TWORKLIT/BUILDREORG
00610960 FROM #OBJECTPACK(PACK) TO #OBJECTPACK(PACK);
00611120
00611200 END;
00611280
00611360 IF BDASDLREORG
00611440 OR BREORGUPDATEDB THEN % DASDL HAS NEW SETS OR SUBSETS
00611520 BEGIN
00611920 COMPILEREORG;
00612000 BREORGDB:= TRUE;
00612080 END;
00612560 END
00612640 ELSE
00612960
00613840 END;
00620480 %-------------------------------------------------------------
----------
00628240 SUBROUTINE CLEANUPFILES;
00628320 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00628400 %
00628480 % C L E A N U P F I L E S
00628560 %
00628640 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00628880 BEGIN
00628960 %
00629040 % DATABASE COMPILES COMPLETE OK, REMOVE DATABASE SAVE F
ILES
00629120 %
00629159 TISTATUS(TASKVALUE= 142);
00629172 SISTATUS;
00629200 REMOVEIT(PREFIX&"/"&TWORKLIT&"/BUILDREORG",OBJECTPACK);
00629360 IF NOT (BBNAGEN AND BDASDLREORG) THEN
00629440 REMOVEIT(PREFIX&"/"&TWORKLIT&"/BUILDREORG/UPDATE",OBJECTPACK
);
00629680 REMOVEIT(PREFIX&"/"&TWORKLIT&"/DMS",OBJECTPACK);
00630960 IF NOT BBNAGEN THEN
00631040 BEGIN
00631280 REMOVEIT(SYSUSER&PREFIX&"/"&TWORKLIT&"/UTILITY/INIT",OBJEC
TPACK);
00632160 END;
00633680 %
00633760 REMOVEIT(PREFIX&"/"&TWORKLIT&"/EXTRACTDI",OBJECTPACK);
00633920 REMOVEIT(PREFIX&"/"&TWORKLIT&"/UPDATEDI",OBJECTPACK);
00634080 %
00634400 IF BBNAGEN THEN
00634480 BEGIN
00634560 IF FILE #PREFIX/#TWORKLIT/LINCFORM ON #DICTPACK IS RESIDE
NT THEN
00634640 CHANGE #PREFIX/#TWORKLIT/LINCFORM TO #PREFIX/LINCFORM F
ROM
00634720 #DICTPACK;
00634800 COPY #PREFIX/LINCFORM AS #PREFIX/LINCFORM/LOADED FROM
00634880 #DICTPACK(PACK) TO #DICTPACK(PACK) ;
00634960 REMOVEIT(PREFIX&"/LINCCNTL/SAVED",DICTPACK);
00635040 END;
00635120 %
00635200 IF BDESCRIPTIONSAVED
00635280 OR BNEWDB THEN
00635360 BEGIN
00635440 REMOVEIT(PREFIX&"/SOURCE/DMS/BAD",DICTPACK);
00635600 REMOVEIT(DBPREFIX&"/CONTROL/BAD",DICTPACK);
00635760 REMOVEIT("DESCRIPTION/"&DBPREFIX&"/BAD",DICTPACK);
00635920 REMOVEIT(PREFIX&"/SOURCE/DMS/SAVED",DICTPACK);
00636080 REMOVEIT(DBPREFIX&"/CONTROL/SAVED",DICTPACK);
00636240 REMOVEIT("DESCRIPTION/"&DBPREFIX&"/SAVED",DICTPACK);
00636480 REMOVEIT("DMSUPPORT/"&DBPREFIX&"/SAVED",OBJECTPACK);
00636880 END;
00636960 %
00637040 % IF NOT BBNAGEN % leave this file for model databases as
well
00637120 % AND FILE DESCRIPTION/#DBPREFIX/INTERIM ON #DICTPACK
00637200 % IS RESIDENT THEN
00637280 % REMOVE DESCRIPTION/#DBPREFIX/INTERIM ON #DICTPACK;
00637360 %
00637440 REMOVEIT(PREFIX&"/WORK/OFFSETS",DICTPACK);
00637680 REMOVEIT(PREFIX&"/WORK/PROFILES",DICTPACK);
00637920 %
00638000 IF NOT BADHOC THEN
00638080 BEGIN
00638160 REMOVEIT(PREFIX&"/SQLSUPPORT",OBJECTPACK);
00638320 REMOVEIT(PREFIX&"/QPR",OBJECTPACK);
00638480 REMOVEIT(PREFIX&"/QPS",OBJECTPACK);
00638560 REMOVEIT(PREFIX&"/PROFILES",DICTPACK);
00638640 REMOVEIT(PREFIX&"/OFFSETS",DICTPACK);
00638680 REMOVEIT(PREFIX&"/ADHOCINQUIRY",OBJECTPACK);
00638800 REMOVEIT(PREFIX&"/CODE_LIBRARY/ADHOC",OBJECTPACK);
00638960 REMOVEIT(PREFIX&"/ADHOC/LOAD",OBJECTPACK);
00639120 END;
00639200 %
00639280 REMOVEIT(SYSUSER&"RMSUPPORT/"&DBPREFIX&"/SAVED",OBJECTPACK);
00639360 IF NOT BRMSUPPORT THEN
00639440 BEGIN
00639600 REMOVEIT(SYSUSER&"RMSUPPORT/"&DBPREFIX,OBJECTPACK);
00639680 REMOVEIT(PREFIX&"/LINCOLTP/IP",OBJECTPACK);
00639760 END;
00639840 %
00639920 IF BADHOC
00640000 AND NOT BROC THEN
00640160 REMOVEIT(PREFIX&"/QPR",OBJECTPACK);
00640400 %
00640480 IF BADHOC
00640560 AND BROC THEN
00640720 REMOVEIT(PREFIX&"/QPS",OBJECTPACK);
00640960 %
00641520 IF NOT BROC THEN
00641600 BEGIN
00641640 REMOVEIT(PREFIX&"/OLD/"&TWORKLIT&"/ROCSUPPORT",OBJECTPACK
);
00641680 REMOVEIT(PREFIX&"/ROCSUPPORT",OBJECTPACK);
00641840 REMOVEIT(PREFIX&"/ROC",OBJECTPACK);
00642000 REMOVEIT(PREFIX&"/CODE_LIBRARY/ROC",OBJECTPACK);
00642160 END;
00642240
00642400 IF BPACKCHANGED AND NOT BBNAGEN THEN %REMOVE DB FILES FROM
OLD PACKS
00642480 BEGIN
00642560 T(STATUS=NEVERUSED);
00642640 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK ("REM") [
T];
00642656 FILE REMFILE =
00642672 #(SYSUSER & PREFIX)/#TWORKLIT/MOVE/FILES ON #OBJECT
PACK;
00642688 CHECKTASK(T, BWARNDBMOVE);
00642704 END;
00642720
00642800 IF BINTERIMREORG AND NOT BBNAGEN THEN
00642880 REMOVEIT("REORGANIZATION/"&DBPREFIX&"/INTERIM",OBJECTPACK
);
00642960
00643360 REMOVEIT(PREFIX&"/"&TWORKLIT&"/DMS",OBJECTPACK);
00643520 REMOVEIT(SYSUSER & PREFIX&"/"&TWORKLIT&"/DMS/INTERIM",OBJECT
PACK);
00643560 REMOVEIT(PREFIX&"/"&TWORKLIT&"/UPDDBREC_DAC",DICTPACK);
00643562 REMOVEIT(PREFIX&"/GEN_SOURCE/DBRECORD/LAYOUT",DICTPACK);
00643564
00643568 IF BDBRECSAVED
00643572 OR BNEWDB THEN
00643576 BEGIN
00643584 REMOVEIT(PREFIX&"/SOURCE_FILE/DBRECORD/BAD",DICTPACK);
00643588 REMOVEIT(PREFIX&"/SOURCE_FILE/DBRECORD/SAVED",DICTPACK);
00643592 END;
00643596
00643760
00643766 IF BVERSIONCHANGE THEN % An upgrade from Linc17
00643772 BEGIN
00643778 C := 0;
00643784 WHILE C < 10 DO
00643790 BEGIN
00643796 REMOVEIT(PREFIX&"/SOURCE/UPDATE" & STRING(C,1),DICT
PACK);
00643802 REMOVEIT(PREFIX&"/UPDATE" & STRING(C,1),OBJECTPACK)
;
00643808 C:= C+1;
00643814
00643820 END;
00643826 END;
00643833
00643840 END;
00643920 %-------------------------------------------------------------
----------
00648320 %-------------------------------------------------------------
----------
00648400 SUBROUTINE ANALYZEPARAMS;
00648480 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00648560 %
00648640 % A N A L Y Z E P A R A M S
00648720 %
00648800 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00649040 BEGIN
00649120
00649200 SDMALGOLN := "DMALGOL";
00649280 SCOBOLN := "COBOL85";
00649360
00649440 SUSERCODE := MYSELF(USERCODE);
00649520 IF LENGTH(SUSERCODE) = 0 THEN
00649600 SUSERCODE := "*";
00649680
00649760 IF TAKE(SUSERCODE,1) = "*"
00649840 OR TAKE(SUSERCODE,1) = "(" THEN
00649920 BEGIN
00650080 SYSUSER := SUSERCODE;
00650160 MYUSERCODE := SUSERCODE;
00650240 END
00650320 ELSE
00650400 BEGIN
00650480 SYSUSER := "(" & SUSERCODE & ")";
00650640 MYUSERCODE := SYSUSER;
00650720 END;
00650800 %
00650880 SCHARGE := MYSELF(CHARGE);
00650960 IF LENGTH(SCHARGE) = 0 THEN
00651040 SCHARGE := ".";
00651120 %
00651200 S1:= MYSELF(FAMILY);
00651280 IF LENGTH(S1) = 0 THEN
00651360 S1:= "DISK = DISK ONLY";
00651440 SFAMILY:=HEAD(S1,ALPHA);
00651520 S1:=TAIL(TAIL(S1,ALPHA),NOT ALPHA);
00651600 PRIMARYPACK:=HEAD(S1,ALPHA);
00651680 S1:=TAIL(TAIL(S1,ALPHA),NOT ALPHA);
00651760 IF TAKE(S1,4) = "ONLY" THEN
00651840 BEGIN
00651920 DISPLAY("FAMILY " & SFAMILY & " = " & PRIMARYPACK & " ONL
Y");
00652000 ALTERNATEPACK:=PRIMARYPACK;
00652080 END
00652160 ELSE
00652240 IF TAKE(S1,9) = "OTHERWISE" THEN
00652320 BEGIN
00652400 S3:=DROP(S1,9);
00652480 ALTERNATEPACK:=HEAD(TAIL(S3,NOT ALPHA),ALPHA);
00652560 DISPLAY("FAMILY " & SFAMILY & " = " & PRIMARYPACK
00652640 & " OTHERWISE " & ALTERNATEPACK);
00652720 END;
00652800 %
00652880 IMCPLEVEL := DECIMAL( TAKE( SYSTEM(MCPLEVEL) ,2) );
00652960 DISPLAY "MCP LEVEL = "& STRING(IMCPLEVEL,2);
00653040 %
00653120 IF LENGTH(TAIL(SDICTPK," ")) = 0 THEN
00653200 DICTPACK := PRIMARYPACK
00653280 ELSE
00653440 DICTPACK:= HEAD(TAIL(SDICTPK," "),NOT " ");
00653920
00653933 IF LENGTH(TAIL(SEXTPK," ")) = 0 THEN
00653946 EXTRACTPACK := PRIMARYPACK
00653959 ELSE
00653972 EXTRACTPACK:= HEAD(TAIL(SEXTPK," "),NOT " ");
00653986
00654000 IF LENGTH(TAIL(SOBJECTPK," ")) = 0 THEN
00654080 OBJECTPACK := DICTPACK
00654160 ELSE
00654320 OBJECTPACK:= HEAD(TAIL(SOBJECTPK," "),NOT " ");
00654640
00654720 IF LENGTH(TAIL(SREORGPK," ")) = 0 THEN
00654800 REORGPACK := OBJECTPACK
00654880 ELSE
00654960 REORGPACK:= HEAD(TAIL(SREORGPK," "),NOT " ");
00655040
00655920 PREFIX := HEAD(TAIL(SSYSTEM," "), NOT " ");
00656000 DBPREFIX := HEAD(TAIL(STDATABASE," "), NOT " ");
00656080 SYSPREFIX := PREFIX;
00656160
00656240 DBNAME := SYSUSER & DBPREFIX & " ON " & DICTPACK;
00656320
00656400 IF DICTPACK = SFAMILY THEN % HANDLE FAMILY SUBSTITUTION
00656480 DICTPACK:=PRIMARYPACK;
00656560
00656640 IF OBJECTPACK = SFAMILY THEN % HANDLE FAMILY SUBSTITUTION
00656720 OBJECTPACK:=PRIMARYPACK;
00656800
00656880 IF REORGPACK = SFAMILY THEN % HANDLE FAMILY SUBSTITUTION
00656960 REORGPACK:=PRIMARYPACK;
00657040
00657120 S3:= TAIL(SADHOCROCDW ," ") & " " ; %drop leading spaces
00657360 S1:= TAKE(S3,1);
00657440 S2:= TAKE(DROP(S3,1),1);
00657520 S3:= TAKE(DROP(S3,2),1);
00657600 IF S1 = "A" OR S2 = "A" OR S3 = "A" THEN
00657760 BEGIN
00657840 BADHOC := TRUE;
00657920 DISPLAY ("ADHOC INQUIRY REQUESTED");
00658000 END;
00658080
00658160 IF S1 = "R" OR S2 = "R" OR S3 = "R" THEN
00658320 BEGIN
00658400 BROC := TRUE;
00658480 DISPLAY ("REPORT OUTPUT CONTROL REQUESTED");
00658560 END;
00658640
00658720 % IF S1 = "D" OR S2 = "D" OR S3 = "D" THEN
00658800 % BEGIN
00658960 %% WDP DEIMPLEMENTED
00659040 % END;
00659120 BWDP := FALSE;
00662960
00663040 S1 := TAIL(SDMSLOC," "); % Drop leading spaces
00663120 S1 := HEAD(S1, NOT " "); % Drop trailing spaces
00663200 IF LENGTH(S1) > 1 THEN
00663280 BEGIN
00663360 % Not a blank parameter (more than just "/")
00663440 SDMSUSER := HEAD (S1, NOT "/" ); % Up to
"/"
00663520 SDMSPACK := DROP (S1,(LENGTH(SDMSUSER)+1)); % After
"/"
00663600 SDMSPACK := TAIL (SDMSPACK," ");
00663680 IF LENGTH(SDMSUSER) > 0 THEN
00663760 IF SDMSUSER NEQ "*" THEN
00663840 SDMSUSER := "(" & HEAD(SDMSUSER, NOT " ") & ")";
00663920 IF LENGTH(SDMSPACK) > 0 THEN
00664000 SDMSPACK := " ON " & SDMSPACK;
00664080 DISPLAY ("DMS IS " & SDMSUSER & SDMSPACK ) ;
00664160 END
00664240 ELSE
00664320 BEGIN
00664400 SDMSUSER := "";
00664480 SDMSPACK := "";
00664560 END;
00664640
00664720 TDMSPACK:=SDMSPACK;
00664800 TDMSUSER:=SDMSUSER;
00664880 SDMALGOL := SDMALGOLN;
00664960 IF FILE #(SDMSUSER & "SYSTEM/"&SDMALGOL & SDMSPACK) IS RESID
ENT THEN
00665040 SDMALGOL := SDMSUSER & SDMALGOL & SDMSPACK;
00665120
00665200 SCOBOL := SCOBOLN;
00665280 IF FILE #(SDMSUSER & "SYSTEM/"&SCOBOL & SDMSPACK) IS RESIDEN
T THEN
00665360 SCOBOL := SDMSUSER & SCOBOL & SDMSPACK;
00665440
00665520 LINCPREFIX := RTPREFIX & "SYS";
00665600 LINCPREFIXDEV := RTPREFIX & "SYS";
00665680 LINCPFX := RTPREFIX;
00665760 LINCDICTPACK := PRIMARYPACK;
00665840 LINCOBJECTPACK:= PRIMARYPACK;
00665920 LINCUSER := SUSERCODE;
00666000
00666160
00666240 S1 := TAIL(SLINCSYS," "); % DROP LEADING
SPACES
00666320 WHILE LENGTH(S1) > 0 DO
00666400 BEGIN
00666480 S2 := HEAD(S1,NOT "=, ");
00666560 S1 := TAIL(DROP(S1,LENGTH(S2)),"=, "); % DROP OPTIO
N & =
00666640 S3 := HEAD(S1,NOT "=, ");
00666720 S1 := TAIL(DROP(S1,LENGTH(S3)),"=, "); % DROP VALUE
& SPACES
00666800 IF S2 = "N" THEN
00666880 LINCPREFIX := S3;
00666960 IF S2 = "U" THEN
00667040 LINCUSER := S3;
00667120 IF S2 = "D" THEN
00667200 LINCDICTPACK := S3;
00667280 IF S2 = "O" THEN
00667360 LINCOBJECTPACK := S3;
00667440 END;
00667520 IF LINCUSER NEQ "*"
00667600 AND LINCUSER NEQ " "
00667680 AND LENGTH(LINCUSER) > 0 THEN
00667760 LINCUSER := "(" & LINCUSER & ")";
00667840 S1 := LINCUSER & LINCPREFIX;
00667920 IF LENGTH(LINCOBJECTPACK) > 0 THEN
00668000 S1 := S1 & " ON " & LINCOBJECTPACK;
00668080 DISPLAY ("RUNTIME IS " & S1 & " - " & LINCDICTPACK);
00668720
00668733 IF LENGTH(HEAD(TAIL(SFORMPACK," "),NOT " ")) > 0 THEN
00668746 FORMPACK:= HEAD(TAIL(SFORMPACK," "),NOT " ")
00668759 ELSE
00668763 BEGIN
00668767 DISPLAY ("LINCFORM PACK WILL DEFAULT TO DICT PACK");
00668772 FORMPACK := DICTPACK;
00668779 END;
00668786 DISPLAY ("LINCFORM ON " & FORMPACK );
00669200
00669280 BNEWDB := HEAD(TAIL(SNEW," "), NOT " ") = "NEW";
00669360 S1 := HEAD(TAIL(TAIL(TAIL(SNEW," "),NOT " ")," "),NOT " ");
00669440 IF LENGTH(S1) < 2 THEN
00669520 S1 := "NN";
00669540 IF TAKE(S1,1) = "O" THEN
00669560 INOPOSTDUMP := 2 % nopostdump requested
00669565 ELSE
00669566 IF TAKE(S1,1) = "R" THEN % REORGDB
00669570 INOPOSTDUMP := 3
00669573 ELSE
00669586 INOPOSTDUMP := 1;
00669600 BNORESTART := TAKE(S1,1) = "Y" OR TAKE(S1,1) = "O";
00669680 BSORT := TAKE(DROP(S1,1),1) = "Y";
00669760
00670160 COUNT:=LENGTH(HEAD(TAIL(SRDBPARAM ," "),NOT " "));
00670320 IF COUNT > 0 THEN
00670400 BEGIN
00670480 BRDBPARAM:=TRUE;
00670560 COUNT :=COUNT-2;
00670640 TEMP:=TAKE(DROP(TAIL(SRDBPARAM," ") ,COUNT ),2);
00670720 IF TEMP = "/Y" THEN BCLONE:=TRUE ELSE BCLONE:=FALSE;
00670800 COUNT:=0;
00670880 END;
00670960
00672400 IF LENGTH(HEAD(TAIL(SBNACFGNAME ," "),NOT " ")) > 0 THEN
00672480 BBNAGEN :=TRUE;
00672720
00673600
00673760 TWORKLIT := "WORK";
00673780
00673788 IF FILE #PREFIX/#TWORKLIT/LINCFORM ON #FORMPACK ISNT RESIDEN
T THEN
00673796 BEGIN
00673804 DISPLAY ("NOTE: FILE " & PREFIX & "/" & TWORKLIT &
00673812 "/LINCFORM ON " & FORMPACK & " NOT RESIDENT");
00673820 END;
00674080
00674160 TINITSTN := HEAD(TAIL(SINITSTN," "),NOT " ");
00674240 IF LENGTH(TINITSTN) = 0 THEN
00674320 TINITSTN := "BATCH"
00674400 ELSE
00674480 IF LENGTH(TINITSTN) = 17 THEN
00674640 BEGIN
00674720 S1:= DROP(TINITSTN,16);
00674800 IF S1 = "/" THEN
00674960 TINITSTN:="BATCH";
00675040 END;
00675120
00675280 THOSTNAME := MYSELF(HOSTNAME);
00675360 TDICTPACK := DICTPACK;
00675440 TOBJECTPACK := OBJECTPACK;
00675520 TWORKPACK := OBJECTPACK;
00675600
00676400 S1 := HEAD(TAIL(SSTREAMS," "), NOT " ");
00676480 IPARSTREAMS := DECIMAL(S1);
00676560 IF IPARSTREAMS > 9999 THEN
00676640 BEGIN
00676720 IPARREORG := IPARSTREAMS DIV 10000;
00676800 IPARSTREAMS := IPARSTREAMS MOD 10000;
00676880 END;
00676960 IF IPARSTREAMS > 99 THEN
00677040 BEGIN
00677120 IPARCOMPILE := IPARSTREAMS DIV 100;
00677200 IPARSTREAMS := IPARSTREAMS MOD 100;
00677280 END;
00677360
00677440 %set correct minimums
00677520 IF IPARSTREAMS = 0 THEN
00677600 IPARSTREAMS := 1;
00677840 IF IPARCOMPILE = 0 THEN
00677920 IPARCOMPILE := 1;
00678000 IF IPARREORG = 0 THEN
00678080 IPARREORG := 1;
00678160
00678240 % check physical maximums
00678320 IF IPARREORG > 4096 THEN
00678400 IPARREORG := 4096;
00678480 IF IPARCOMPILE > 10 THEN
00678560 IPARCOMPILE := 10;
00678640 IF IPARSTREAMS > 10 THEN
00678720 IPARSTREAMS := 10;
00678800
00678880 % check user maximums
00678960 IF IPARCOMPILE > IMAXCOMPILE THEN
00679040 IPARCOMPILE := IMAXCOMPILE;
00679120 IF IPARSTREAMS > IMAXPGEN THEN
00679200 IPARSTREAMS := IMAXPGEN;
00679280 IF IPARREORG > IMAXREORG THEN
00679360 IPARREORG := IMAXREORG;
00680960
00681040 END;
00681045 %-------------------------------------------------------------
----------
00681050 SUBROUTINE CHECKLOGSECURITY;
00681055 BEGIN
00681060
00681065 STRING S;
00681070
00681075 T( STATUS = NEVERUSED );
00681080
00681085 IF FILE #(PREFIX & "/WORK/LINCGLI ON " & DICTPACK) IS RESIDENT
THEN
00681090 S:= PREFIX & "/WORK/LINCGLI ON " & DICTPACK
00681095 ELSE
00681100 S:= PREFIX & "/LINCGLI ON " & DICTPACK;
00681105
00681110
00681115 IF FILE #PREFIX/LINCLOG/SECURE ON #DICTPACK IS RESIDENT THEN
00681120 BEGIN
00681125 RUN #(LINCUSER & LINCPFX)/LOGLIBSECURITY ON #LINCDICTPACK[
T];
00681130 FILE DFI(TITLE=#PREFIX/LINCLOG/SECURE ON #DICTPACK);
00681135 FILE DFO(TITLE=#PREFIX/LOGLIBRARY/PARAMS ON #DICTPACK);
00681140 FILE GLIFILE(TITLE=#S);
00681145
00681150 IF T ISNT COMPLETEDOK THEN
00681155 DISPLAY("CREATION OF LOGLIBRARY PARAMS FILE UNSUCCESSFUL
")
00681160 ELSE
00681165 IF T(SW1) THEN
00681170 DISPLAY("SOME MASK/ENCRYPT ITEMS NOT FOUND");
00681175 END;
00681180 END;
00681185 %-------------------------------------------------------------
----
00681200 ON RESTART,
00681280 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00681360 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00681440 %%
%%
00681520 %% O N R E S T A R T
%%
00681600 %%
%%
00681680 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00681760 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00681920 BEGIN
00682000 BRESTARTED := TRUE;
00682080
00682240
00682320 T( STATUS = NEVERUSED ); % CLEAR TASK VARIABLE
00682400
00689680
00691040
00691120 % LET IT TRY TO DO ITS OWN THING
00691200 DISPLAY ("******************************");
00691280 DISPLAY ("*** RESTARTING " & LINCPFX & "/WFL ***");
00691360 DISPLAY ("******************************");
00691440 END;
00691520 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00691600 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00691680 %
00691760 % M A I N L I N E
00691840 %
00691920 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00692000 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
00692080 %
00692160 MAINLINE:
00692240 BPRINTSUMM:=FALSE; % WILL NOT NORMALLY PRIN
T JOB SUMM
00692320 BCOMPFAIL :=FALSE;
00692360 BRESTOREALLOWED := TRUE; % restore allowed initially
00692480
00692560 ANALYZEPARAMS;
00692640 CHECKDBLOCK;
00692720 TISTATUS(TASKVALUE= 1282 ); %% STARTGEN
00692800 SISTATUS;
00693280
00693360 %=============================================================
========
00693440
00693520 STARTLABEL:
00693600 %
00694400 %
00694480 % SEE IF THERE IS A SYSTEM TRANSFER CURRENT
00694560 %
00694640 IF FILE #PREFIX/SYSTEM/TRANSFERRING ON #DICTPACK IS RESIDENT
THEN
00694720 BEGIN
00694800 TISTATUS(TASKVALUE=1289);
00694880 SISTATUS;
00695040 DISPLAY ("** "&PREFIX&" SYSTEM TRANSFER PENDING/RUNNIN
G **");
00695120 ASKQUESTION("** DO YOU WISH TO ABORT THIS RUN,AX YES O
R NO **",
00695200 C);
00695760 IF C = 0 THEN
00695840 BEGIN
00695920 REMOVEIT(PREFIX&"/SYSTEM/TRANSFERRING",DICTPACK);
00696000 REMOVEIT("DMSUPPORT/"&DBPREFIX,OBJECTPACK);
00696240 END %copybnagen will restore correct dmsupport
version
00696320 ELSE
00696960 BEGIN
00697040 DOABORT ("** JOB TERMINATED **");
00697120 END;
00697600 END;
00697680 %
00697760 %- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
00697840 % SEE IF THERE IS A SYSTEM GENERATE CURRENT
00697920 %
00698000 IF FILE #(SYSUSER & PREFIX)/SYSTEM/GENERATING ON #LINCDICTPA
CK
00698080 IS RESIDENT THEN
00698160 BEGIN
00698240 TISTATUS(TASKVALUE=1289);
00698320 SISTATUS;
00698352 DISPLAY ("** PREVIOUS "&PREFIX&" SYSTEM GENERATE DID
NOT "&
00698368 "COMPLETE SUCCESSFULLY **");
00698560 ASKQUESTION("** DO YOU WISH TO ABORT THIS RUN,AX YES O
R NO **",
00698640 C);
00699200 IF C = 0 THEN
00699280 BEGIN
00699360 REMOVEIT(SYSUSER & PREFIX&"/SYSTEM/GENERATING",LINCD
ICTPACK);
00699440 REMOVEIT(SYSUSER & PREFIX&"/DISALLOWREP/GENERATE",PR
IMARYPACK)
00699760 END
00699840 ELSE
00700560 DOABORT ("** JOB TERMINATED **");
00701120 END;
00701200 %
00701280 % SEE IF THERE IS EXISTING CONTROL FILE FOR REORG DATAB
ASE
00701360 %
00701440 IF NOT BNEWDB
00701520 AND NOT BBNAGEN
00701680 AND FILE #DBPREFIX/CONTROL ON #DICTPACK ISNT RESIDENT THEN
00701760 BEGIN
00701840 TISTATUS(TASKVALUE=1289); %% WAITWAIT
00701920 SISTATUS;
00702080 CHECKCONTROL:
00702160 IF FILE #DBPREFIX/CONTROL ON #DICTPACK ISNT RESIDENT THEN
00702240 BEGIN
00702320 DISPLAY (DBPREFIX
00702400 & "/CONTROL ON " & DICTPACK & " DOES NOT EXIST
");
00702480 WAIT ("** WHEN CONTROL FILE IS PRESENT , ENTER <MIX> O
K",OK );
00702560 GO TO CHECKCONTROL;
00702640 END;
00702720 END;
00702800
00702880 IF (NOT BNEWDB) AND BCLONE AND BRDBPARAM
00702960 AND FILE #(SYSUSER & DBPREFIX)/RDB/CONTROL ON #DICTPACK IS R
ESIDENT
00703040 THEN
00703200 BEGIN
00703280 TISTATUS(TASKVALUE=1289); %% WAITWAIT
00703360 SISTATUS;
00703520 ASKQUESTION("** DO YOU WISH TO RECLONE ,AX YES OR NO **",C
);
00704080 IF C = 0 THEN BCLONE:=FALSE;
00706720 END;
00706800
00707840 IF FILE #(SYSUSER & DBPREFIX)/RDB/CONTROL ON #DICTPACK ISNT
RESIDENT
00707920 AND BRDBPARAM AND NOT BCLONE THEN
00708000 BEGIN
00708080 TISTATUS(TASKVALUE=1289); %% WAITWAIT
00708160 SISTATUS;
00708240 DISPLAY("NO RDB FILES PRESENT CLONE IS REQUIRED");
00708320 ASKQUESTION("NO RDB FILES PRESENT RDB CLONE REQUIRED,AX YE
S OR NO"
00708400 ,C);
00708480 IF C = 1 THEN BCLONE:=TRUE ELSE BRDBPARAM:=FALSE;
00708560 END;
00708720 %
00708800 % SEE IF THERE IS EXISTING CONTROL FILE FOR NEW DATABAS
E
00708880 %
00708960 IF( BNEWDB
00709200 OR BBNAGEN)
00709280 AND FILE #DBPREFIX/CONTROL ON #DICTPACK IS RESIDENT THEN
00709360 BEGIN
00709440 CHECKDBEX:
00709520 T( STATUS = NEVERUSED );
00709600 RUN #(LINCUSER & LINCPFX)/CFC ON #LINCDICTPACK [T];
00709680 FILE CONTROL = #(SYSUSER&DBPREFIX)/CONTROL ON #DICTPA
CK;
00709690 LIBRARY LINCSUPPORT(
00709700 TITLE = #(LINCUSER & LINCPFX)/1/LINCSUPPORT ON #LINCD
ICTPACK);
00709760
00709840 IF T(SW1) THEN % DATABASE IN USE CONTROL FI
LE LOCK
00709920 BEGIN
00710000 TISTATUS(TASKVALUE=1287); %% WAITDBCLOSE
00710080 SISTATUS;
00710240 DISPLAY (DBPREFIX & " CONTROL FILE IN USE");
00710320 WAIT ("** WHEN DATABASE CLOSED , ENTER <MIX> OK", OK);
00710400 GO TO CHECKDBEX;
00710480 END;
00710560 IF T(SW2) THEN % DATABASE LOCK WORD SET
00710640 BEGIN
00710720 TISTATUS(TASKVALUE=1287); %% WAITDBCLOSE
00710800 SISTATUS;
00710960 DISPLAY (DBPREFIX & " DATABASE LOCK WORD SET");
00711040 WAIT ("** WHEN RUN COMPLETE , ENTER <MIX> OK", OK);
00711120 GO TO CHECKDBEX;
00711200 END;
00711280
00711680 REMOVEIT(DBPREFIX&"/CONTROL",DICTPACK);
00711840 REMOVEIT(DBPREFIX&"/RDB/CONTROL",DICTPACK);
00712000 END;
00712080 %
00712160 % IF A BNA GENERATE, GET THE TARGET PACK AND USERCODE
00712320 IF BBNAGEN THEN
00712400 BEGIN
00712480 SETUPTARGETS; % Get target pack/user
names
00712560 IF NOT BNEWDB THEN
00712640 % Need bnagen Description file
00712720 COPYBNAGEN;
00712800 END;
00712880 %
00712960 % DELETE FILES FOR NEW DATABASE
00713040 %
00713120 IF BNEWDB THEN
00713280 BEGIN
00713360 REMOVEIT(DBPREFIX&"/CONTROL",DICTPACK);
00713600 REMOVEIT(DBPREFIX&"/RDB/CONTROL",DICTPACK);
00713760 REMOVE DMSUPPORT/#DBPREFIX/= FROM #OBJECTPACK;
00713840 REMOVEIT("DMSUPPORT/"&DBPREFIX,OBJECTPACK);
00713920 REMOVEIT("RMSUPPORT/"&DBPREFIX,OBJECTPACK);
00714160 REMOVEIT(PREFIX&"/ROCSUPPORT",OBJECTPACK);
00714400 REMOVEIT(PREFIX&"/LINCWCF",DICTPACK);
00714480 REMOVEIT(PREFIX&"/LINCWCF/KEY01",DICTPACK);
00715200 REMOVEIT(PREFIX&"/LINCWB",DICTPACK);
00715280 REMOVEIT(PREFIX&"/LINCWB/KEY01",DICTPACK);
00715600 END;
00715616 %
00715632 % remove error file created in prvious generation.
00715648 %
00715664 REMOVE #PREFIX/ERRORS/BUILD/= ON #OBJECTPACK;
00715680 %
00715760 %
00715840 % SEE IF PREVIOUS REORG FAILED
00715920 %
00716000 IF FILE DESCRIPTION/#DBPREFIX/SAVED ON #DICTPACK IS RESIDENT
AND
00716080 FILE #PREFIX/SOURCE/DMS/SAVED ON #DICTPACK IS RESIDENT TH
EN
00716160 BEGIN
00716240 DISPLAY ("** LAST " & LINCPFX & "/WFL DATABASE REORG R
UN FAILED **");
00716320 ASKQUESTION("** DO YOU WISH TO ABORT THIS RUN,AX YES O
R NO **",
00716400 C);
00716960 IF C = 1 THEN % YES
00718560 DOABORT ("** MANUAL RESTART REQUIRED **");
00719120 END;
00719200
00719280 REMOVEIT("DESCRIPTION/"&DBPREFIX&"/SAVED",DICTPACK);
00719360 REMOVEIT(DBPREFIX&"/CONTROL/SAVED",DICTPACK);
00719440 REMOVEIT(PREFIX&"/SOURCE/DMS/SAVED",DICTPACK);
00719520 %-------------------------------------------------------------
----------
00719840
00719920 IF TISTATUS(TASKVALUE) > 1286 % ENTERED WAIT STATE
00720000 AND TISTATUS(TASKVALUE) < 1290 THEN
00720080 BEGIN
00720160 TISTATUS(TASKVALUE = 1291); % GOING
00720240 SISTATUS;
00720400 END;
00720480
00720560 %-------------------------------------------------------------
----------
00720640 %
00720720 CREATEFILE (SYSUSER & PREFIX&"/SYSTEM/GENERATING",LINCDICTPA
CK);
00720800 CREATEFILE (SYSUSER & PREFIX&"/DISALLOWREP/GENERATE", PRIMAR
YPACK);
00721040 %
00721200 REMOVEIT("DMSUPPORT/"&DBPREFIX&"/NEW",OBJECTPACK);
00721280 REMOVEIT("RMSUPPORT/"&DBPREFIX&"/NEW",OBJECTPACK);
00721440 %
00721520 %- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00721600 %
00722000 %
00722080 PROCESS RUNLINCDAC[T1]; % GENERATE ON THIS
MACHINE
00723840 %
00724960 %- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00725040 %
00725760 COMPILEDATABASE;
00725800
00726000 % STORE THE DMSUPPORT NUMBER
00726800 IF BBNAGEN THEN
00726880 BEGIN
00726960 T(STATUS=NEVERUSED);
00727040 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK("DMNUM " &
00727056 SDATABASE & " " & SBNACFGNAME & " ") [T];
00727072 VALUE=IDMSUPPORTNEW;
00727088 CHECKTASK(T, BWARNDMNUM);
00727104 END;
00727120 %
00727200 IF BNEWDB
00727280 OR BCHANGEDB
00727360 OR (FILE DMSUPPORT/#DBPREFIX ON #OBJECTPACK ISNT RESIDENT AN
D
00727440 NOT BBNAGEN) THEN
00727520 BEGIN
00727600 IF MYJOB(VALUE) = 0 THEN
00727680 BEGIN
00727760 SDMSUPPORTNEW := "NEW";
00727840 END
00727920 ELSE
00728000 BEGIN
00728080 SDMSUPPORTNEW := STRING (MYJOB (VALUE),*);
00728160 END;
00728240 PROCESS COMPILEDMSUPPORT[T2];
00728320 END;
00728400
00728480 IF BRMSUPPORT THEN
00728560 IF BNEWDB OR
00728640 BCHANGEDB OR
00728720 BDMSLEVELCHANGED OR
00728800 ( NOT BBNAGEN AND
00728880 FILE RMSUPPORT/#DBPREFIX ON #OBJECTPACK ISNT RESIDENT
) THEN
00728960 BEGIN
00729040 PROCESS COMPILERMSUPPORT[T3];
00729120 END;
00729200
00729285
00729287 S1 := PREFIX & "/DBINTERFACE";
00729290
00729295 IF FILE #(S1 & " ON " & OBJECTPACK) IS RESIDENT THEN
00729300 BEGIN
00729305 INITIALIZE(T);
00729310 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK("COMPARE"
) [T];
00729315 FILE FILE1=#(LINCUSER&LINCPFX)/1/DBINTERFACE ON #LINCDI
CTPACK;
00729320 FILE FILE2=#S1 ON #OBJECTPACK;
00729325 IF T(VALUE) = 2 THEN
00729326 BEGIN
00729330 BNEEDDBINT:=TRUE;
00729332 DISPLAY("GENERATE HAS DETERMINED A NEW DBINTERFACE I
S REQUIRED");
00729334 END;
00729335 END;
00729340
00729345 IF BNEWDB OR BREORGUT OR BDASDLREORG OR BDELETESTRUCTURE OR
00729350 BREORGUPDATEDB OR BVERSIONCHANGE OR BCHANGEDB OR
00729355 FILE #(S1 & " ON " & OBJECTPACK) ISNT RESIDENT OR
00729360 BNEEDDBINT THEN %maybe a new IC skeleton inctalled?
00729365 BEGIN
00729384 PROCESS COMPILEDBINTERFACE[T4]
00729385 END
00729386 ELSE
00729387 IF FILE #(S1 & " ON " & OBJECTPACK) IS RESIDENT THEN
00729388 BEGIN %IN CASE OF MANUAL COPY OF FILES.........
00729389 MODIFY #S1 ON #OBJECTPACK;
00729390 LIBRARY SYSLIB(TITLE=#(SYSUSER & SYSPREFIX)/LINCSUPPORT
00729391 ON #OBJECTPACK);
00729392 END;
00729393
00729394 IF NOT BNEWDB THEN
00729395 BEGIN
00729396 INITIALIZE(T);
00729397 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK ("TSTAMP_CH
ECK") [T];
00729398 FILE DBREC_IN(TITLE=#PREFIX/GEN_SOURCE/DBRECORD/LAYOUT
00729399 ON #DICTPACK);
00729400 FILE DBREC_OLD(TITLE=#PREFIX/SOURCE_FILE/DBRECORD/LAYO
UT
00729401 ON #DICTPACK);
00729402 FILE DBREC_DAC(TITLE=#PREFIX/#TWORKLIT/UPDDBREC_DAC
00729403 ON #DICTPACK);
00729408 WAITSTATUS(T,"TSTAMP_CHECK FAILED: ");
00729409
00729410 END;
00729504
00729506 REMOVEIT(SYSUSER & PREFIX&"/DISALLOWREP/GENERATE",PRIMARYPAC
K);
00729508
00729510
00729600 %
00729680 IF BROC THEN
00729760 COMPILEROC;
00729840 %
00729845 S2 := PREFIX & "/DBILIBRARY";
00729850
00729855 IF FILE #(S2 & " ON " & OBJECTPACK) IS RESIDENT THEN
00729860 BEGIN
00729865 INITIALIZE(T);
00729870 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK("COMPARE"
) [T];
00729875 FILE FILE1=#(LINCUSER&LINCPFX)/1/LGLOBALDBI ON #LINCDIC
TPACK;
00729880 FILE FILE2=#S2 ON #OBJECTPACK;
00729885 IF T(VALUE) = 2 THEN
00729886 BEGIN
00729890 BNEEDDBI:=TRUE;
00729892 DISPLAY("GENERATE HAS DETERMINED A NEW DBILIBRARY IS
REQUIRED");
00729894 END;
00729895 END;
00729900
00729920 COMPILESPECIAL; %wait for T1 in this subroutine....
00729925
00729930 WHILE (T2(STATUS) ISNT NEVERUSED AND
00729935 T2(STATUS) ISNT TERMINATED) DO
00729940 WAIT(T2); %wait for dmsupport compile
00729942 %
00729944 IF BADHOC THEN
00729946 COMPILEADHOC;
00729948
00729950 WHILE (T3(STATUS) ISNT NEVERUSED AND
00729955 T3(STATUS) ISNT TERMINATED) DO
00729960 WAIT(T3); %wait for rmsupport compile
00729962
00729964 WHILE (T4(STATUS) ISNT NEVERUSED AND
00729966 T4(STATUS) ISNT TERMINATED) DO
00729968 WAIT(T4); %wait for dbinterface compile
00729970
00729972 INITIALIZE(T);
00729974 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK ("DESC") [T];
00729976 LIBRARY DBLIB(TITLE=#S1 ON #OBJECTPACK);
00729978 LIBRARY SYSLIB(TITLE=#PREFIX/LINCSUPPORT ON #OBJECTPACK)
;
00729980 FILE DBREC_IN(TITLE=#PREFIX/GEN_SOURCE/DBRECORD/LAYOUT
00729982 ON #DICTPACK);
00729984 FILE LINCCONTROL=#(SYSUSER & PREFIX)/WORK/LINCCNTL ON #D
ICTPACK;
00729986 WAITSTATUS(T,"DESC FAILED: ");
00729988
00729990 CHANGE #PREFIX/SOURCE_FILE/DBRECORD/LAYOUT
00729992 TO #PREFIX/SOURCE_FILE/DBRECORD/LAYOUT/SAVED
00729994 FROM #DICTPACK;
00729996 BDBRECSAVED:=TRUE;
00729998
00730000 COPY #PREFIX/GEN_SOURCE/DBRECORD/LAYOUT AS
00730002 #PREFIX/SOURCE_FILE/DBRECORD/LAYOUT
00730004 FROM #DICTPACK(PACK) TO #DICTPACK(PACK);
00730006
00730008 %
00730080 %- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00730160 % IF ANY COMPILES FAILED , DONT CONTINUE - OTHERWISE UPDATE DA
TABASE
00730240 % AND FILES NOW
00730320 %
00730400 IF BCOMPFAIL THEN
00730480 BEGIN
00730560 RESTOREDMSFILES;
00730640 IF BBNAGEN THEN REMOVEIT(SYSUSER&DBPREFIX&"/CONTROL",DIC
TPACK);
00734320 ABORTCOMPILE ("SYNTAX ERRORS IN COMPILES");
00734400 END;
00734480 %
00734560 %- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00734640 %
00734720 % ALL COMPILES ARE COMPLETE , NOW CHANGE THE DATABASE IF RE
QUIRED
00734800 %
00734880 IF BBNAGEN THEN
00735360 GO TO FIXFILES;
00735440 %
00735520 IF BREORGDB THEN
00735600 DBHOOKBEGIN;
00735680 %
00735760 IF (BCLONE OR BRDBPARAM) AND (BCLONE OR BNEWDB OR BCHANGEDB)
THEN
00735840 BEGIN
00735880 T(STATUS=NEVERUSED);
00736000 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK("DASDL
") [T];
00736160 FILE DASDL=#(SYSUSER & PREFIX)/SOURCE/DMS ON #DICTPACK;
00736240 FILE REMFILE=#(SYSUSER & PREFIX)/RDB/PARAMS ON #OBJECTPAC
K; % flag
00736320 FILE GLOBALXP= #(SYSUSER & PREFIX)/RDB/DMS ON #DICTPACK;
00736360 FILE LINCCONTROL = #(SYSUSER & PREFIX)/WORK/LINCCNTL ON #
DICTPACK;
00736380 CHECKTASK(T, BWARNDASDLUPDATE);
00737360 END;
00737520 %
00738480 IF BCHANGEDB OR
00739040 BCOMPILEALL OR
00739120 FILE #(SYSUSER&SYSPREFIX)/#TWORKLIT/LINCSUPPORT ON #OBJEC
TPACK
00739200 IS RESIDENT OR
00739280 BSUSPENDIFCOMPILE OR
00739360 BVERSIONCHANGE THEN
00739440 IF NOT BNEWDB THEN
00739600 BEGIN
00739680 CHECKDBSTATUS; % SYSTEM NEEDS TO GO DOWN
NOW
00739760 %%
00739840 IF FILE #(SYSUSER & DBPREFIX)/RDB/CONTROL ON #DICTPACK I
S RESIDENT
00739920 AND BCLONE THEN
00740000 BEGIN
00740080 T(STATUS=NEVERUSED);
00740160 RUN #(LINCUSER & LINCPFX)/RDB ON #LINCDICTPACK[T] ;
00740240 FILE DBCONTROL = #(SYSUSER & DBPREFIX)/#SYSPREFIX
00740320 ON #DICTPACK;
00740400 TASKVALUE = 10; % DISABLE THE RDB SECONDARY
00740480 IF T(SW1) OR T ISNT COMPLETEDOK THEN
00740560 BEGIN
00740640 TISTATUS(TASKVALUE=1289);
00740720 SISTATUS;
00740800 WAIT("SECONDARY FAILED TO DISABLE OK WHEN FIXED",OK
);
00740880 END;
00740960 END;
00741060 IF INOPOSTDUMP NEQ 3 THEN
00741680 LOCKDATABASE; % LOCK THE DATABASE, & ENSUR
E
00741920 CHECKDBSTATUS; % SYSTEM IS STILL DOWN
00742080 %%
00742160 IF BCHANGEDB AND NOT BCONTROLSAVED THEN
00742240 SAVEDMSFILES;
00742320 END;
00742400 %%
00745200 %%
00745520 IF BCONVERT THEN CONVERTDB; % INITIALIZE DATA
SETS
00745680
00745760 IF FILE DMSUPPORT/#DBPREFIX/NEW ON #OBJECTPACK IS RESIDENT T
HEN
00745840 CHANGE DMSUPPORT/#DBPREFIX/NEW TO
00745920 DMSUPPORT/#DBPREFIX FROM #OBJECTPACK;
00746000 IF FILE RMSUPPORT/#DBPREFIX/NEW ON #OBJECTPACK IS RESIDENT T
HEN
00746080 CHANGE RMSUPPORT/#DBPREFIX/NEW TO
00746160 RMSUPPORT/#DBPREFIX FROM #OBJECTPACK;
00746240
00748240 %
00748320 IF BPACKCHANGED THEN %COPY DB FILES FROM OLD PACKS
00748400 BEGIN
00748480 T(STATUS=NEVERUSED);
00748560 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK ("REM") [
T];
00748576 FILE REMFILE =
00748592 #(SYSUSER & PREFIX)/#TWORKLIT/COPY/FILES ON #OBJECTPA
CK;
00748608 CHECKTASK(T, BWARNDBCOPY);
00748624 END;
00748640
00749280 IF BSETTYPECHANGED THEN
00749360 REORGINTERIMDATABASE; % REORG INTERIM
DSETS/SETS
00749440
00749840 IF BNEWDB
00750000 OR (BCHANGEDB AND NOT BDASDLREORG) THEN
00750080 BEGIN
00750160 BFINALUPDATE:=TRUE;
00750240 RUNDMCONTROL; % UPDATE OR INIT
CONTROL
00750480 END;
00750560
00750580 IF NOT BNEWDB AND NOT BREORGDB THEN
00750600 CHECKPOPOPTIONS;
00750620
00750640 BRESTARTED := FALSE;
00750720
00751040 IF BNEWDB OR
00751120 (BREORGUT AND NOT BDASDLREORG) THEN
00751200 RUNUTILITY;
00751280 %
00751360 IF BREORGDB THEN
00751440 BEGIN
00751520 STARTREORG:
00751600 REORGDATABASEPREP; % PREP. REORGANIZE DAT
ASETS/SETS
00751760 TREORG ( STATUS = NEVERUSED );
00751920 S9 := STRING((IDMSUPPORTNEW - 1),*);
00752000 REMOVEIT("DMSUPPORT/"&DBPREFIX&"/"&S9,OBJECTPACK);
00752160 IF BNORESTART THEN
00752240 BEGIN
00752560 RUN REORGANIZATION/#DBPREFIX ON #OBJECTPACK [TREORG];
00752640 FILE DASDL=DESCRIPTION/#DBPREFIX ON #DICTPACK;
00752720 OPTION = (SORTLIMITS);
00752800 END
00752880 ELSE
00752960 BEGIN
00753280 PROCESS RUN REORGANIZATION/#DBPREFIX ON #OBJECTPACK [TR
EORG];
00753360 FILE DASDL=DESCRIPTION/#DBPREFIX ON #DICTPACK;
00753440 OPTION = (SORTLIMITS);
00753520 DO
00753600 WAIT (2)
00753680 UNTIL
00753760 ( TREORG IS COMPLETED OR % finished already
00753840 TREORG(TASKVALUE) = 1 ); % ok to run in par
allel
00753920 END;
00754000
00754080 IF BRESTARTED AND
00754160 FILE #PREFIX/SYSTEM/TRANSFERRING ON #DICTPACK IS RESID
ENT THEN
00754240 GO TO RECOVER2;
00754320
00754400 IF BRESTARTED AND
00754480 FILE #PREFIX/#TWORKLIT/LINCCNTL ON #DICTPACK
00754560 ISNT RESIDENT THEN
00754640 GO TO RECOVER1;
00754720
00754880 IF ( NOT ( BNORESTART AND TREORG ISNT COMPLETEDOK))
00754930 AND INOPOSTDUMP NEQ 3 THEN
00754960 LOCKDATABASE;
00755480
00755600 IF (T ISNT COMPLETEDOK AND T IS INUSE) OR
00755680 (TREORG IS COMPLETED AND TREORG ISNT COMPLETEDOK) THE
N
00755760 BEGIN
00755800 CHECKREORGDATABASE;
00756960 END;
00757000 IF INOPOSTDUMP NEQ 3 THEN
00757520 BLOCKEDDB := TRUE;
00757840 END;
00758160 %- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00758240
00758320 IF NOT BBNAGEN THEN
00758400 BEGIN
00759440
00759520 IF BCECFAILED THEN
00759600 BEGIN
00759680 TISTATUS(TASKVALUE=1290); %% WAITCOMSERROR
00759760 SISTATUS;
00759840 S1 := ">> FAILURE IN CEC: COMS CONFIGURATION FILES NO
T "
00759920 & "CREATED <<";
00760000 WAIT(S1, OK);
00760080 BPRINTSUMM := TRUE;
00760160 END;
00760240 END;
00760320
00760400 %-----------------------------------------------------------
-------
00761760
00772720 %
00772800 %- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00772880 %
00772960 % ALL COMPILES AND DATABASE CHANGES COMPLETE ,
00773040 % CHANGE NAMES FROM "WORK" TO FINAL FORM
00773120 %
00773200 IF (BRESTARTED AND
00773280 FILE #(SYSUSER & PREFIX)/#TWORKLIT/OLDFILESSAVED ON #DIC
TPACK
00773360 ISNT RESIDENT) OR
00773440 NOT BRESTARTED THEN
00773520 BEGIN
00773600 IF TREORG IS INUSE OR
00773680 TREORG IS COMPLETED THEN
00773920 SAVENAMES; % save original files
00774000 CREATEFILE( PREFIX&"/"&TWORKLIT&"/OLDFILESSAVED",DICTPACK);
00774080 END;
00774160 RECOVER1:
00774240 %
00774320 FIXFILES:
00774400
00774480 IF (BRESTARTED AND
00774560 FILE #(SYSUSER & PREFIX)/#TWORKLIT/OLDFILESSAVED ON #DIC
TPACK
00774640 IS RESIDENT) OR
00774720 NOT BRESTARTED THEN
00774800 BEGIN
00774880 CHANGENAMES; % install new files
00774960 REMOVEIT( PREFIX&"/"&TWORKLIT&"/OLDFILESSAVED",DICTPACK);
00775040 END;
00775045
00775048 IF BNEWDB OR BBNAGEN THEN
00775052 CHANGE #PREFIX/#TWORKLIT/LINCCNTL TO #PREFIX/LINCCNTL FROM
#DICTPACK
00775056 ELSE
00775060 BEGIN
00775064 IF FILE #PREFIX/OLD/#TWORKLIT/LINCCNTL ON #DICTPACK IS RESI
DENT THEN
00775068 CHANGE #PREFIX/OLD/#TWORKLIT/LINCCNTL TO #PREFIX/LINCCNTL
00775072 FROM #DICTPACK;
00775076 CHANGE #PREFIX/#TWORKLIT/LINCCNTL TO #PREFIX/LINCCNTL/NEW
00775080 FROM #DICTPACK;
00775081 % Don't install new files until any reorg is completed OK
00775082 IF TREORG IS INUSE OR TREORG IS COMPLETED
00775083 THEN
00775084 CHECKREORGDATABASE;
00775085
00775086 % IF ROC HAS BEEN SWITCHED OFF, WE MUST REMOVE THE OLD ROCSUPP
ORT
00775087 % LIBRARY BEFORE LINCSUPPORT STARTS AGAIN
00775088 IF NOT BROC THEN
00775089 IF FILE #PREFIX/ROCSUPPORT ON #OBJECTPACK IS RESIDENT THE
N
00775090 CHANGE #PREFIX/ROCSUPPORT
00775091 TO #PREFIX/OLD/#TWORKLIT/ROCSUPPORT FROM #OBJECTPAC
K;
00775092
00775093 % CFG SWITCHES FILES AND UPDATES LOG FILE NUMBER
00775098 T(STATUS=NEVERUSED);
00775103 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK("LINCCNTL")
[T];
00775108 FILE LINCSUPPORT = #PREFIX/LINCSUPPORT ON #OBJECTPACK;
00775110 IF T ISNT COMPLETEDOK THEN
00775113 DOABORT("LINCCNTL UPDATE FAILED.");
00775118 END;
00775119
00775120 IF DODBSCHEMA THEN
00775121 XMLSCHEMA; %%% FOR HDBA
00775123
00775124 IF NOT BBNAGEN AND NOT BCLONE THEN
00775125 BEGIN
00775126 IF BCOMSLOAD THEN
00775127 LOADCOMSCONFIG;
00775128 T(STATUS=NEVERUSED);
00775129
00775130 IF ABAUTOSWAP AND
00775131 INOPOSTDUMP = 3 AND %REORGDB WAS SELECTED
00775132 (BREORGWORKSIZE OR
00775133 BVERSIONCHANGE OR
00775134 BCOMPILEALL OR
00775135 BCHANGEDB OR
00775136 BDELETESTRUCTURE) OR
00775138 BNEEDDBINT THEN %we have a new dbinterface library
00775140 BEGIN
00775142 IF BNEWDBI THEN
00775144 BEGIN
00775146 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK("CU
TOVER**") [T];
00775148 LIBRARY LINCSUPPORT(TITLE=#PREFIX/LINCSUPPORT ON #
OBJECTPACK);
00775150 END
00775152 ELSE
00775154 BEGIN
00775156 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK("CU
TOVERDB") [T];
00775158 LIBRARY LINCSUPPORT(TITLE=#PREFIX/LINCSUPPORT ON #
OBJECTPACK);
00775160 END;
00775162 END
00775164 ELSE
00775166 BEGIN
00775168 IF BNEWDBI THEN %new DBI, ask LSS to reconnect
00775170 BEGIN
00775180 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK("CU
TOVERLS") [T];
00775190 LIBRARY LINCSUPPORT(TITLE=#PREFIX/LINCSUPPORT ON #
OBJECTPACK);
00775200 END
00775210 ELSE
00775220 BEGIN
00775230 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK("CU
TOVER") [T];
00775240 LIBRARY LINCSUPPORT(TITLE=#PREFIX/LINCSUPPORT ON #
OBJECTPACK);
00775250 END;
00775260 END;
00775270 WAITSTATUS(T, "CODE CUTOVER FAILED: ");
00775280 END;
00775290
00775300 IF FILE #PREFIX/#TWORKLIT/LINCFORM ON #DICTPACK IS RESIDENT T
HEN
00775310 BEGIN
00775320 CHANGE #PREFIX/#TWORKLIT/LINCFORM
00775330 TO #PREFIX/LINCFORM FROM #DICTPACK;
00775340 T(STATUS=NEVERUSED);
00775350 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK("FORMS")[T]
;
00775360 FILE LINCFORM = #PREFIX/LINCFORM ON #DICTPACK;
00775370 LIBRARY LINCSUPPORT(TITLE=#PREFIX/LINCSUPPORT ON #OBJECT
PACK) ;
00775380 WAITSTATUS(T,"BUILD LINCFORM INDEX FAILED: ");
00775390 END;
00775400
00775410 IF NOT BBNAGEN THEN
00775420 BEGIN
00775430 % Ensure there is a GLB-CRITICAL-ID = 0 record
00775440 % but don't run /CFG ("CRITIC") until reorg has successfull
y finished
00775450 IF TREORG IS INUSE OR TREORG IS COMPLETED
00775460 THEN
00775470 CHECKREORGDATABASE;
00775480 %
00775490 T(STATUS=NEVERUSED);
00775500 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK("CRITIC")[T]
;
00775510 FILE REMFILE = #(SYSUSER & PREFIX)/DBILIBRARY ON #OBJECTPA
CK;
00775520 FILE UNIQUEFILE = #(SYSUSER&PREFIX)/UNIQUE/SAVE ON #DICTPA
CK;
00775530 CHECKTASK(T, BWARNCRITIC);
00775540 END;
00775550 %
00775600 IF BADHOC AND NOT BBNAGEN THEN
00775680 IF BNEWDB
00775760 OR BREORGUPDATEDB OR BREORGUT OR BDASDLREORG OR BDELETEST
RUCTURE
00775800 THEN
00776080 ADHOCLOAD; % LOAD ADHOC INFORMATION
00776240
00779520
00779600 %- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00779680 IF BLOCKEDDB THEN
00779760 BEGIN
00779840 UNLOCKDATABASE;
00779920 IF BLOCKEDDB THEN % UNLOCK FAILED
00780000 BEGIN
00780080 ASKQUESTION(
00780160 "DB UNLOCK FAILED; REPLY: YES=CONTINUE, NO=RESTORE &
ABORT",
00780240 C );
00780320 IF C = 0 THEN % RESTORE FILES & ABORT
00780400 BEGIN
00780480 IF BCHANGEDB AND NOT BNEWDB THEN
00780560 RESTOREDMSFILES;
00780640 IF BREORGDB THEN
00780720 RESTORELINCFILES;
00780800 ABORTCOMPILE("ERRORS UNLOCKING DATABASE")
00780880 END;
00780960 BPRINTSUMM := TRUE; % LEAVE TRACKS
00781040 END;
00781120 END;
00781140
00781160 IF ABAUTOSWAP AND
00781180 INOPOSTDUMP = 3 THEN
00781280 BEGIN
00781300 T(STATUS=NEVERUSED);
00781320 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK("UNFREEZE
") [T];
00781340 LIBRARY LINCSUPPORT(TITLE=#PREFIX/LINCSUPPORT ON #OB
JECTPACK);
00781360 WAITSTATUS(T, "UNFREEZE OF INPUT FAILED: ");
00781380 END;
00781440
00781520 IF NOT BBNAGEN AND NOT BCLONE AND BRDBPARAM AND
00781600 (TREORG IS COMPLETEDOK OR TREORG IS INUSE) AND BREORGDB TH
EN
00781680 BEGIN
00781760 TISTATUS(TASKVALUE= 1330);
00781840 SISTATUS;
00781920 T(STATUS = NEVERUSED);
00782240 RUN #(LINCUSER & LINCPFX)/RDB ON #LINCDICTPACK [T];
00782320 FILE DBCONTROL = #(SYSUSER & DBPREFIX)/#SYSPREFIX
00782400 ON #DICTPACK;
00782480 TASKVALUE=4; TARGET=0;SW3=BINTERIMREORG;
00782560 IF T(SW1) OR T ISNT COMPLETEDOK THEN
00782640 BEGIN
00782720 TISTATUS(TASKVALUE=1331);
00782800 SISTATUS;
00782880 S1 := "";
00782960 DBHOOKRDBFAIL (S1);
00783040 IF LENGTH (S1) = 0 THEN
00783120 BEGIN
00783200 S1:="SECONDARY REORG FAILURE; TO RESTART; FIX AND EN
TER OK";
00783280 WAIT (S1,OK);
00783360 TISTATUS(TASKVALUE= 1291);
00783440 SISTATUS;
00783520 END;
00783680 END;
00783920 END ;
00784000
00784080 IF BNEWDB OR BCHANGEDB THEN
00784240 BEGIN
00787760 COMPILERECONSTRUCT;
00787840 % UPDATE THE BASE DMS LEVEL IN LINCCNTL FILE
00787853 T(STATUS = NEVERUSED);
00787866 IF BBNAGEN THEN
00787893 BEGIN
00787920 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK("BASE")
[T];
00788000 FILE LINCCONTROL = #(SYSUSER & PREFIX)/LINCCNTL ON #
DICTPACK;
00788080 FILE DESCRIPTION = DESCRIPTION/#DBPREFIX ON #DICTPAC
K;
00788133 END
00788146 ELSE
00788233 BEGIN
00788243 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK("BASE")
[T];
00788256 FILE LINCCONTROL = #(SYSUSER & PREFIX)/LINCSUPPORT
00788275 ON #OB
JECTPACK;
00788303 FILE DESCRIPTION = DESCRIPTION/#DBPREFIX ON #DICTPAC
K;
00788350 SW6 = TRUE;
00788445 END;
00788462 CHECKTASK(T, BWARNDMSLEVELUPDATE);
00789440 END;
00789600
00789680 IF BBNAGEN THEN
00789760 BEGIN
00790000 % STOP FURTHER GENERATES , BUT ALLOW REPORT GENERATES
00790080 % THIS APPLIES , TILL TRANSFER IS COMPLETE
00790160 % ANY REPORTS COMPILED AFTER SYSTEM GENERATE ARE USERS
00790240 % RESPONSIBILITY TO GET TO TARGET MACHINE (USE RUNTIME TR
ANSFER).
00790320 %
00790400 IF FILE #(SYSUSER & PREFIX)/SYSTEM/GENERATING ON #LINCDIC
TPACK
00790480 IS RESIDENT THEN
00790560 CREATEFILE(PREFIX&"/SYSTEM/TRANSFERRING",DICTPACK);
00790800 REMOVE #(SYSUSER & DBPREFIX)/CONTROL ON #DICTPACK;
00790880 IF BNEWDB OR BCHANGEDB THEN
00790960 COPY DMSUPPORT/#DBPREFIX/#SDMSUPPORTNEW AS
00791040 DMSUPPORT/#DBPREFIX
00791120 FROM #OBJECTPACK(PACK) TO #OBJECTPACK(PACK);
00791200 END;
00791280
00791360 RECOVER2:
00791440
00791520 IF TREORG IS INUSE OR
00791600 TREORG IS COMPLETED THEN
00791680 BEGIN
00791760 CHECKREORGDATABASE;
00791840 DBHOOKEND;
00791920 END;
00792000 %
00792080 % REORG COMPLETED OK
00792160 %
00792240 IF NOT BBNAGEN THEN
00792320 IF TREORG IS COMPLETED THEN
00792400 REMOVESAVENAMES;
00792480
00792513 TISTATUS(TASKVALUE= 141);
00792514 SISTATUS;
00792515
00792520 IF FILE #PREFIX/SYS_CODE/EXPORTS ON #OBJECTPACK IS RESIDENT
THEN
00792525 BEGIN
00792530 COPY #PREFIX/SYS_CODE/EXPORTS AS #PREFIX/EXPORTS/LIBRARY
00792540 FROM #DICTPACK(PACK) TO #DICTPACK(PACK);
00792545 REMOVE #PREFIX/SYS_CODE/EXPORTS ON #OBJECTPACK;
00792550 END;
00792552
00792554 LHOSTNAME:= CHOSTNAME;
00792556
00792578 IF TAKE(CHOSTNAME,1) NEQ "." AND
00792580 LENGTH(CHOSTNAME) GTR 0 THEN %using remote compile host
00792582 IF REBUILD THEN %remote REBUILD: REMOVE and CHANGEFILE
00792584 BEGIN
00792586
00792588 T(STATUS=NEVERUSED);
00792590 T(HOSTNAME=#LHOSTNAME);
00792592 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK("REMOVE
"
00792595 & PREFIX & "/SOURCE_FILE/= ON " & DICTPACK & "."
)[T];
00792600 WAITSTATUS(T,"CFG GEN_SOURCE DELETE FAILED: ");
00792602
00792604 T(STATUS=NEVERUSED);
00792606 T(HOSTNAME=#LHOSTNAME);
00792608 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK("CHANGE
"
00792610 & PREFIX & "/GEN_SOURCE.\"
00792612 & PREFIX & "/SOURCE_FILE ON " & DICTPACK &".\")[
T];
00792614 WAITSTATUS(T,"CFG CHANGE GEN_SOURCE FAILED: ");
00792616
00792620 T(STATUS=NEVERUSED);
00792625 T(HOSTNAME=#LHOSTNAME);
00792630 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK("REMOVE
"
00792635 & PREFIX & "/CODE_FILE/= ON " & DICTPACK & ".")[
T];
00792640 WAITSTATUS(T,"CFG CODE_FILE DELETE FAILED: ");
00792642
00792644
00792646 T(STATUS=NEVERUSED);
00792648 T(HOSTNAME=#LHOSTNAME);
00792650 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK("CHANGE
"
00792652 & PREFIX & "/GEN_CODE.\"
00792654 & PREFIX & "/CODE_FILE ON " & DICTPACK & ".\")[T
];
00792656 WAITSTATUS(T,"CFG CHANGE GEN_CODE FAILED: ");
00792658
00792660
00792662 T(STATUS=NEVERUSED);
00792664 T(HOSTNAME=#LHOSTNAME);
00792666 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK("REMOVE
"
00792668 & PREFIX & "/GEN_LIBRARY/= ON " & OBJECTPACK & "
.")[T];
00792670 WAITSTATUS(T,"CFG GEN_LIBRARY DELETE FAILED: ");
00792675 END
00792680 ELSE %remote BUILD: COPY and REMOVE
00792685 BEGIN
00792690 COPY #PREFIX/GEN_SOURCE/= AS #PREFIX/SOURCE_FILE/=
00792695 FROM #DICTPACK(PACK,HOSTNAME=#LHOSTNAME)
00792700 TO #DICTPACK(PACK,HOSTNAME=#LHOSTNAME);
00792705 T(STATUS=NEVERUSED);
00792710 T(HOSTNAME=#LHOSTNAME);
00792715 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK("REMOVE
"
00792720 & PREFIX & "/GEN_SOURCE/= ON " & DICTPACK & ".")
[T];
00792725 WAITSTATUS(T,"CFG GEN_SOURCE DELETE FAILED: ");
00792730 COPY #PREFIX/GEN_CODE/= AS #PREFIX/CODE_FILE/=
00792735 FROM #OBJECTPACK(PACK,HOSTNAME=#LHOSTNAME)
00792740 TO #OBJECTPACK(PACK,HOSTNAME=#LHOSTNAME);
00792745 T(STATUS=NEVERUSED);
00792750 T(HOSTNAME=#LHOSTNAME);
00792755 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK("REMOVE
"
00792760 & PREFIX & "/GEN_CODE/= ON " & DICTPACK & ".")[T
];
00792765 WAITSTATUS(T,"CFG GEN_CODE DELETE FAILED: ");
00792770
00792775 T(STATUS=NEVERUSED);
00792780 T(HOSTNAME=#LHOSTNAME);
00792785 RUN #(LINCUSER & LINCPFX)/CFG ON #LINCDICTPACK("REMOVE
"
00792790 & PREFIX & "/GEN_LIBRARY/= ON " & OBJECTPACK & "
.")[T];
00792795 WAITSTATUS(T,"CFG GEN_LIBRARY DELETE FAILED: ");
00792800 END
00792805 ELSE
00792806 BEGIN
00792808 IF REBUILD THEN %local REBUILD: REMOVE and CHANGEFILE
00792810 BEGIN
00792812 REMOVE #PREFIX/SOURCE_FILE/= FROM #DICTPACK;
00792814 CHANGE #PREFIX/GEN_SOURCE/= ON #DICTPACK TO
00792816 #PREFIX/SOURCE_FILE/=;
00792818 REMOVE #PREFIX/CODE_FILE/= FROM #OBJECTPACK;
00792820 CHANGE #PREFIX/GEN_CODE/= ON #OBJECTPACK TO
00792822 #PREFIX/CODE_FILE/=;
00792824 END
00792826 ELSE %local BUILD: COPY and REMOVE
00792828 BEGIN
00792830 COPY #PREFIX/GEN_SOURCE/= AS #PREFIX/SOURCE_FILE/=
00792832 FROM #DICTPACK(PACK) TO #DICTPACK(PACK);
00792834 REMOVE #PREFIX/GEN_SOURCE/= FROM #DICTPACK;
00792836 COPY #PREFIX/GEN_CODE/= AS #PREFIX/CODE_FILE/=
00792838 FROM #OBJECTPACK(PACK) TO #OBJECTPACK(PACK);
00792840 REMOVE #PREFIX/GEN_CODE/= FROM #OBJECTPACK;
00792850 END;
00792852 REMOVE #PREFIX/GEN_LIBRARY/= FROM #OBJECTPACK;
00792855 END;
00792860 CLEANUPFILES;
00792880 %
00793440
00793520 %-----------------------------------------------------------
--------
00793600
00796000 % Enable further Generates
00796080 REMOVEIT(SYSUSER & PREFIX&"/SYSTEM/GENERATING",LINCDICTPACK)
;
00796320
00796384
00796960 IF BSAVERDB THEN % REMOVE SAVED RDB FILES ON SECONDARY
00797040 BEGIN
00797120 T(STATUS = NEVERUSED);
00797280 RUN #(LINCUSER & LINCPFX)/RDB ON #LINCDICTPACK [T];
00797360 FILE DBCONTROL = #(SYSUSER & DBPREFIX)/#SYSPREFIX
00797440 ON #DICTPACK;
00797520 TASKVALUE=5;
00797600 END ;
00797680
00797920 IF BCLONE THEN
00798000 BEGIN
00798240 T(STATUS = NEVERUSED);
00798320 I:=0;
00798400 IF NOT BNEWDB THEN I:=1;
00798480 RUNCLONE:
00798560 TISTATUS(TASKVALUE=1330); %WAITING FOR SECONDARY
00798640 SISTATUS;
00798720 RUN #(LINCUSER & LINCPFX)/RDB ON #LINCDICTPACK [T];
00798800 FILE DBCONTROL = #(SYSUSER & DBPREFIX)/#SYSPREFIX
00798880 ON #DICTPACK;
00798960 FILE ADEFILE = #(SYSUSER & SYSPREFIX)/RDB
00799040 ON #OBJECTPACK;
00799120 TASKVALUE=I;
00799200 IF T(SW1) OR T ISNT COMPLETEDOK THEN
00799280 BEGIN
00799360 TISTATUS(TASKVALUE=1449); % CLONE FAILED
00799440 SISTATUS;
00799600 ASKQUESTION("** DO YOU WISH TO DO A RESTART CLONE,AX YE
S OR NO",
00799680 C);
00800320 IF C EQL 0 THEN DISPLAY ("** MANUAL CLONE REQUIRED **
")
00800960 ELSE IF C = 1 THEN
00801040 BEGIN
00801120 DISPLAY("** CLONE RUN WILL BE RESTARTED **");
00801200 T(STATUS=NEVERUSED);
00801280 IF FILE #(SYSUSER & DBPREFIX)/RDB/CONTROL ON #DICTPAC
K IS
00801360 RESIDENT THEN I:=1; %REINITIALIZE RDB CONTROL
FILE
00801440 GO RUNCLONE;
00801520 END
00802000 END
00802080 ELSE
00802160 BEGIN
00802320 TISTATUS(TASKVALUE=1374); % CLONE COMPLETE
00802560 SISTATUS;
00802640 RUN #(LINCUSER & LINCPREFIX)/FLAG ON #LINCOBJECTPACK
00802720 ("CLONEOK " & SDATABASE );
00802800 END;
00802880 IF BCOMSLOAD THEN LOADCOMSCONFIG;
00802960 IF BLOCKEDDB THEN UNLOCKDATABASE;
00803120 END ; % OF CLONE
00803200
00809440 %-----------------------------------------------------------
--
00809520
00809600 TISTATUS(TASKVALUE=1280);%% SYSTEMOK
00809680 SISTATUS;
00809840
00810320 %-----------------------------------------------------------
--
00810400 %
00810480 XIT:
00810482
00810484 CHECKLOGSECURITY; %check if anything for linclog masking
00810490
00810500 IF WANTSUPPORT THEN
00810510 BEGIN
00810520 COPY #(SYSUSER & PREFIX)/DG_FILEINFO/GENINFO AS
00810530 #(SYSUSER & PREFIX)/SUPPORT_BACKUP/GENINFO/#TIMEDATE(
YYYYMMDDHHMMSS)
00810540 FROM #DICTPACK(PACK) TO #DICTPACK(PACK);
00810550 COPY #(SYSUSER & PREFIX)/DG_WORK/LINCCNTL AS
00810560 #(SYSUSER & PREFIX)/SUPPORT_BACKUP/LINCCNTL/#TIMEDATE
(YYYYMMDDHHMMSS)
00810570 FROM #DICTPACK(PACK) TO #DICTPACK(PACK);
00810580 COPY #(SYSUSER & PREFIX)/DG_WORK/LINCGLI AS
00810590 #(SYSUSER & PREFIX)/SUPPORT_BACKUP/LINCGLI/#TIMEDATE(
YYYYMMDDHHMMSS)
00810600 FROM #DICTPACK(PACK) TO #DICTPACK(PACK);
00810610 COPY #(SYSUSER & PREFIX)/WORK/SCREENDATA AS
00810620 #(SYSUSER & PREFIX)/SUPPORT_BACKUP/SCREENDATA/#TIMEDA
TE(YYYYMMDDHHMMSS)
00810630 FROM #DICTPACK(PACK) TO #DICTPACK(PACK);
00810640 END;
00810720 %
00810730 %% Make the LINCCNTL file private
00810740 SECURITY #(SYSUSER & PREFIX)/LINCCNTL ON #DICTPACK PRIVATE;
00810750
00810751 %% We have had a successful generate, save critical files
00810752 COPY #(SYSUSER & PREFIX)/SOURCE_FILE/DBRECORD/LAYOUT AS
00810753 #(SYSUSER & PREFIX)/DONT_REMOVE/DBRECORD/LAYOUT FROM
00810754 #DICTPACK(PACK) TO #DICTPACK(PACK);
00810756
00810758 COPY #(SYSUSER & PREFIX)/SOURCE_FILE/GSD/PROGRAM AS
00810760 #(SYSUSER & PREFIX)/DONT_REMOVE/GSD/PROGRAM FROM
00810762 #DICTPACK(PACK) TO #DICTPACK(PACK);
00810764
00810766 COPY #(SYSUSER & PREFIX)/SOURCE_FILE/BUILD/MEMDB AS
00810768 #(SYSUSER & PREFIX)/DONT_REMOVE/BUILD/MEMDB FROM
00810770 #DICTPACK(PACK) TO #DICTPACK(PACK);
00810772
00810774 DISPLAYWARNING;
00810800 IF BPOPWARN THEN
00810880 WAIT ("POP. OPTIONS WARNING - SEE CFG REPORT MIX " &
00810960 STRING (TCFG(MIXNUMBER),*) ,OK);
00811520
00811920 IF NOT BPRINTSUMM AND NOT BPRINTJOB THEN % NO ERRORS + DON
'T WANT --
00812000 MYJOB(JOBSUMMARY = SUPPRESSED); % SUPPRESSES GOOD OUTP
UT SUMMARY
00812080 END JOB.
J O B S U M M A R Y
Fri, Apr 15, 2011
05:17:56 EI 5558 TASKNAME: BPSAMP/GEN.
STACK NUMBER: 0061 TASK TYPE: JOB STACK
USERCODE: UTEST.
05:17:56 JOB 5558 DSED: INVALID QUEUE SPECIFIED: QUEUE 70
05:17:56 EI 5558 *** END OF IDENTITY ***
>>> (UTEST)BPSAMP/GEN_SOURCE/GSD/PROGRAM/ERRORS ON USER.
type structure block gsd_control_type;
00000005(00000000) WARNING:THE DEFAULT VALUE FOR THE LINEINFO OPTION
WILL CHANGE TO TRUE IN A FUTURE RELEASE. =TYPE
end; % of gsd_control_type
00000049 WARNING:USER OPTION SET/RESET, BUT NOT USED.
**** WARNING: VALID FOR BINDING ONLY: GSD_CONTROL_TYPE

You might also like