MCSKJ CATJOB MCSKJ JOB NAME=(MCS-KERMIT) **************************** * COPYRIGHT NCR CORP. * * DAYTON, OHIO * * 1990 * **************************** USERID=PUBLIC ACCT=PUBLICACCTNUMBER *PASSWORD=PUBLIC *USERID=XXX,ACCT=NNNN,PASSWORD=XXX CPTY=7,JPTY=1,CNTLSTKLEN=808 MAXT=INFINITE,IOCT=9999999 VMAXMEM=1000,LOCALDSA=2500 PROTECTDSA=1000,SIZE=124,STACKSIZE=124 JOBCONTROL=SCL SPCEND % % ************************************************* % * % * THIS JOB INITIALIZES MCS-KERMIT % * FOR TRANSFERRING % * FILES TO/FROM THE CATALOG OR SUD=D02 % * % * % * % * UPDATED ON 6-1-90 % * UPDATED ON 6-8-90 % * UPDATED ON 6-15-90 % * % ************************************************* % % % ************************************************* % * VARIABLE DEFINITIONS % ************************************************* % % LOCAL MSG : STRING, LPN : STRING, ENV : STRING, VSN : STRING, DTYPE : STRING, VOL_INT : INTEGER, NODE : STRING, NODENAME : NAME, ACTION : STRING, FILESIZ : STRING, RSTRT_FLAG: BOOLEAN, DEFAULTS : STRING, FONT_FORM : STRING, REC_TYPE : STRING, P1 : PROCESS; % % ******************************************************* % * ASSIGNING THE DEFAULT VALUES % ******************************************************* % LOCAL LPN_DFLT : STRING, ENV_DFLT : STRING, NODE_DFLT : STRING, REC_TYP_DFLT : STRING, FONT_FORM_DFLT : STRING, FILESIZ_DFLT : STRING; % % ******************************************************* % * WARNING: % * DEFAULT STRING LENGTHS CANNOT BE SO LONG AS TO % * CAUSE ANY OF THE 'MSG' STRINGS TO BE > 105 CHARS. % ******************************************************* % LPN_DFLT := '0104'; ENV_DFLT := 'CAT'; NODE_DFLT := '$'; REC_TYP_DFLT := 'VARIABLE'; FONT_FORM_DFLT := 'SEQUENTIAL'; FILESIZ_DFLT := '500'; % FILECREATION CAT; % % ********************************************* % * SOLICITATION OF SETUP OPTIONS % * % * -LPN? % * % * -FILE SOURCE AND DEST? % * -IF CAT, WHICH NODE? % * -IF DISK, WHIC VOLUME AND TYPE? % * % * -FILE SPECIFICATIONS FOR REF=DATAFILE? % * -REGULAR FILE STRUCTURE OR 6437/38 LASER % * PRINTER FONT/FORMS? % * -FILESIZE FOR D02 AND FONT/FORMS? % * % ******************************************************* % % % % ****************************************************** % * ASKING USER FOR ACCEPTANCE OF DEFAULTS % * % * USER ACCEPTS DEFAULTS(DEFAULTS IN PARENS)? % * % * -LPN ( 0150 ) % * % * -FILE SOURCE/DEST ( CAT ) % * -NODE ( $ ) % * % * % * -FILE SPECIFICATIONS FOR REF=DATAFILE % * -FIXED LENGTH DATAFILE RECORDS ( NO ) % * -FONT/FORMS ORGANIZATION ( NO ) % * -FILESIZE FOR D02 AND FONT/FORMS ( 500 BLOCKS ) % * % * % ****************************************************** % % * NOTE: ASKOP WILL ONLY DISPLAY A 105 CHARACTER STRING. % * AND IT LOSES THE 1ST 2 CHARACTERS. % BEGIN MSG := ' ACCEPT DEFAULTS OF LPN=' & #LPN_DFLT & ',SOURCE/DEST=' & #ENV_DFLT & ',' & 'NODE=' & #NODE_DFLT & ',' & SUBSTRING(REC_TYP_DFLT,0,3) & ' RECS,' & SUBSTRING(FONT_FORM_DFLT,0,3) & ' ORG,SIZE=' & #FILESIZ_DFLT & '/BLOCKS' & '?[Y,N]'; ASKPROC (#MSG,/DEFAULTS/); % IF (SUBSTRING(DEFAULTS,0,1) /= 'N') THEN % * SET UP DEFAULT VALUES LPN := LPN_DFLT; ENV := ENV_DFLT; NODE := NODE_DFLT; VSN := ''; REC_TYPE := REC_TYP_DFLT; FONT_FORM := FONT_FORM_DFLT; FILESIZ := FILESIZ_DFLT; DEFAULTS := 'YES'; NODENAME := #NODE; FILENODE #NODENAME; ELSE DEFAULTS := 'NO'; IFEND; % % % ******************************************************* % * DEFAULTS NOT ACCEPTED % * % * THE 'X' RESPONSE STOPS THE QUESTIONS % * % ******************************************************* IF (DEFAULTS = 'NO' ) THEN $TAG1 % ***************************************************** % * ASKING FOR LPN OF SUD=A02. % ***************************************************** MSG := ' SPECIFY LPN FOR MCS-KERMIT COMMUNICATION LINK.' & ' DEFAULT LPN IS ' & #LPN_DFLT & '.' & ' ''X'' TO STOP ASKING.[NNNN,X]'; ASKPROC (#MSG,/LPN/); % IF (LPN = '') THEN LPN := LPN_DFLT; IFEND; % IF (LPN = 'X') THEN DEFAULTS := 'YES'; % * SET UP DEFAULT VALUES LPN := LPN_DFLT; ENV := ENV_DFLT; NODE := NODE_DFLT; VSN := ''; REC_TYPE := REC_TYP_DFLT; FONT_FORM := FONT_FORM_DFLT; FILESIZ := FILESIZ_DFLT; DEFAULTS := 'YES'; NODE := NODE_DFLT; NODENAME := #NODE; FILENODE #NODENAME; IFEND; % IFEND; % % ****************************************************** % * ASSIGN A02 IN BOTH 'DEFAULT' AND 'SOLICITED' CASES. % ****************************************************** ASSIGN UNIT A02(SUD=A02,TYPE=C1,LPN=#LPN) [P1]; % IF (P1(STATUS) /= COMPLETED) THEN MSG := ' LPN ' & #LPN & ' WAS INVALID OR IN USE. DO YOU WANT ' & 'TO TRY ANOTHER LPN? [Y,N]'; ASKPROC (#MSG,/ACTION/); % IF (SUBSTRING(ACTION,0,1) = 'N') THEN BYE; ELSE GOTO TAG1; IFEND; % IFEND; % $TAG2 % IF (DEFAULTS = 'YES' ) THEN GOTO TAG5; IFEND; % % ****************************************************** % * ASKING FOR FILE SOURCE/DESTINATION. % ****************************************************** MSG := ' SELECT MCS-KERMIT SOURCE/DESTINATION ENVIRONMENT.' & ' DEFAULT ENVIRONMENT IS ' & #ENV_DFLT & '.' & '[CAT,DISK,X]'; ASKPROC (#MSG,/ENV/); % IF ((SUBSTRING(ENV,0,1) /= 'C') AND (SUBSTRING(ENV,0,1) /= 'D') AND (SUBSTRING(ENV,0,1) /= 'X') AND (SUBSTRING(ENV,0,1) /= '')) THEN GOTO TAG2; IFEND; % IF (SUBSTRING(ENV,0,1) = 'X') THEN DEFAULTS := 'YES'; % * SET UP DEFAULT VALUES ENV := ENV_DFLT; NODE := NODE_DFLT; VSN := ''; REC_TYPE := REC_TYP_DFLT; FONT_FORM := FONT_FORM_DFLT; FILESIZ := FILESIZ_DFLT; DEFAULTS := 'YES'; NODE := NODE_DFLT; NODENAME := #NODE; FILENODE #NODENAME; GOTO TAG5; IFEND; % IF ((SUBSTRING(ENV,0,1) = 'C') OR (SUBSTRING(ENV,0,1) = '')) THEN $TAG3 % ****************************************************** % * CATALOG SELECTED;ASKING FOR NODE. % ****************************************************** MSG := ' PLEASE ENTER SUBCATALOG NODE NAME. DEFAULT IS' & ' THE ' & #NODE_DFLT & ' NODE.' & '[NODE NAME,X]'; ASKPROC (#MSG,/NODE/); % IF (NODE = '') THEN NODE := NODE_DFLT; IFEND; % IF (NODE = 'X') THEN DEFAULTS := 'YES'; % * SET UP DEFAULT VALUES VSN := ''; REC_TYPE := REC_TYP_DFLT; FONT_FORM := FONT_FORM_DFLT; FILESIZ := FILESIZ_DFLT; DEFAULTS := 'YES'; NODE := NODE_DFLT; NODENAME := #NODE; FILENODE #NODENAME; GOTO TAG5; ELSE NODENAME := #NODE; IFEND; % FILENODE #NODENAME [P1]; % IF (P1(STATUS) /= COMPLETED) THEN MSG := ' CANT POSITION TO ' & #NODE & ' DO YOU WANT' & ' TO TRY ANOTHER SUBCATALOG?[Y,N]'; ASKPROC (#MSG,/ACTION/); % IF (SUBSTRING(ACTION,0,1) = 'N') THEN BYE; ELSE GOTO TAG3; IFEND; % IFEND; % % **************************************************** % * ASKING FOR FIXED/VARIABLE RECORD TYPE. % * IN THE CATALOG CASE. % **************************************************** MSG := ' DO YOU WANT DATAFILES TO HAVE FIXED OR' & ' VARIABLE LENGTH RECORDS?' & ' DEFAULT IS ' & #REC_TYP_DFLT & '.' & '[F,V,X]'; ASKPROC (#MSG,/REC_TYPE/); % IF (SUBSTRING(REC_TYPE,0,1) = 'X') THEN DEFAULTS := 'YES'; % * SET UP DEFAULT VALUES VSN := ''; REC_TYPE := REC_TYP_DFLT; FONT_FORM := FONT_FORM_DFLT; FILESIZ := FILESIZ_DFLT; DEFAULTS := 'YES'; GOTO TAG5; IFEND; % IF (SUBSTRING(REC_TYPE,0,1) /= 'F') THEN REC_TYPE := 'VAR'; % ************************************************** % * ASKING ABOUT THE TRANSFER OF FONT/FORM FILES % * IN THE CATALOG CASE. % ************************************************** MSG := ' WILL YOU UPLOAD FONT/FORM FILES?' & ' IF YES,ALL DATA FILES HAVE' & ' ''REL'' ORGANIZATION;' & 'DEFAULT IS ' & SUBSTRING(FONT_FORM_DFLT,0,3) & '.[Y,N]'; ASKPROC (#MSG,/FONT_FORM/); % IF (SUBSTRING(FONT_FORM,0,1) /= 'Y') THEN % ******************************************* % * FILE 'REFERENCE' OF 'DATAFILE' IS USED FOR % * BINARY AND TEXT 'DATA' FILES % * % * % ******************************************* % $TAG5 % % ************************************************ % * ASSIGNING REF=DATAFILE % * IN THE VARIABLE LENGTH RECORDS, NON FONT/FORM % * CASE USING CATALOG. % * % * THIS IS CONSIDERED TO BE THE OVERALL % * DEFAULT CASE. % * % ************************************************ ASSIGN FILE DATAFILE(REF=DATAFILE,RMS=YES, FILESIZE='NO LIMIT', RECORDSIZE=1/485, DATESCHEME=GEN,FILETYPE=DATA,FREEUP,CATALOG); ELSE % ********************************************* % * ASKING ABOUT FILE SIZE % * IN THE CATALOG,VARIABLE,FONT/FORM CASE. % * % * FONT/FORM FILES % * % * FILESIZE MUST BE FOR THE LARGEST % * FILE ANTICIPATED BECAUSE RELATIVE FILES % * ARE NOT RMS. % * % ************************************************ % % MSG := ' SPECIFY FILESIZE' & ' BIG ENOUGH FOR THE LARGEST' & ' FONT/FORM FILE UPLOADED.' & ' DEFAULT SIZE IS ' & #FILESIZ_DFLT & '/BLOCKS.[NNNN]'; ASKPROC (#MSG,/FILESIZ/); % IF ((SUBSTRING(FILESIZ,0,1) = '') OR (SUBSTRING(FILESIZ,0,1) = 'A')) THEN FILESIZ := FILESIZ_DFLT; IFEND; % % ************************************************ % * ASSIGNING REF=DATAFILE % * IN THE FONT/FORM CASE USING CATALOG. % ************************************************ ASSIGN FILE DATAFILE(REF=DATAFILE,RMS=YES, % ************************************ % * THE FOLLOWING 5 PARAMETERS ARE % * FOR FONT/FORM UPLOADS % ************************************ ORGANIZATION=RELATIVE, BLOCKSIZE=1/RECORDS, CAMHEADER, RECORDSIZE=1/485, FILESIZE=#FILESIZ/BLOCKS, DATESCHEME=GEN,FILETYPE=DATA,FREEUP,CATALOG); IFEND; % ELSE % % ************************************************ % * ASSIGNING REF=DATAFILE % * IN THE FIXED LENGTH RECORDS, NON FONT/FORM % * CASE USING CATALOG. % ************************************************ ASSIGN FILE DATAFILE(REF=DATAFILE,RMS=YES, % ************************************ % * THE FOLLOWING PARAMETERS ARE % * FOR FIXED LENGTH RECORDS % ************************************ RECORDSIZE=80, FILESIZE='NO LIMIT', DATESCHEME=GEN,FILETYPE=DATA,FREEUP,CATALOG); IFEND; % FILEN; % **************************************************** % * ASSIGNING THE OTHER FILE REFERENCES IN THE % * CATALOG CASE. % **************************************************** ASSIGN FILE SRCFILE(REF=SRCFILE,RMS=YES,FILESIZE='NO LIMIT', RECORDSIZE=1/83, DATESCHEME=GEN,FILETYPE=SOURCE,FREEUP,CATALOG), FILE OBJFILE(REF=OBJFILE,RMS=YES,FILESIZE='NO LIMIT', RECORDSIZE=1/490, DATESCHEME=GEN,FILETYPE=OBJECT,FREEUP,CATALOG), FILE CSFILE(REF=CSFILE,RMS=YES,FILESIZE='NO LIMIT', FREEUP,DATESCHEME=GEN, RECORDSIZE=1/82, FILETYPE='CONTROL STRING',CATALOG); FILEL CAT/NOCAT; % **************************************************** % * END OF THE CATALOG CASE. % **************************************************** ELSE % ****************************************************** % * BEGINNING OF THE SUD=D02 CASE. % ****************************************************** DISPLAY :'MCS-KERMIT USING NON-CATALOG ENVIRONMENT' TO JD; $TAG4 % ****************************************************** % * ASKING ABOUT SUD=D02. % ****************************************************** MSG := ' PLEASE ENTER VOLUME NUMBER AND DEVICE TYPE.' & '[NNNNNN/XX]'; ASKPROC (#MSG,/VSN/); VOL_INT := INT(SUBSTRING(VSN,0,6)); DTYPE := SUBSTRING(VSN,7,2); ASSIGN UNIT D02(SUD=D02,VOL=#VOL_INT,TYPE=#DTYPE) [P1]; % IF (P1(STATUS) /= COMPLETED) THEN MSG := ' CANT ASSIGN VOLUME ' & SUBSTRING(VSN,0,6) & ' WITH DEVICE TYPE ' & DTYPE & '. DO YOU WANT' & ' TO TRY ANOTHER VOLUME?[Y,N]'; ASKPROC (#MSG,/ACTION/); % IF (SUBSTRING(ACTION,0,1) = 'N') THEN BYE; ELSE GOTO TAG4; IFEND; % IFEND; % % % **************************************************** % * ASKING FOR FIXED/VARIABLE RECORD TYPE. % * IN THE D02 CASE. % **************************************************** % MSG := ' DO YOU WANT DATAFILES TO HAVE FIXED OR' & ' VARIABLE LENGTH RECORDS?' & ' DEFAULT IS ' & #REC_TYP_DFLT & '.' & '[F,V,X]'; ASKPROC (#MSG,/REC_TYPE/); % % IF (SUBSTRING(REC_TYPE,0,1) = 'X') THEN DEFAULTS := 'YES'; % * SET UP DEFAULT VALUES REC_TYPE := REC_TYP_DFLT; FONT_FORM := FONT_FORM_DFLT; FILESIZ := FILESIZ_DFLT; GOTO TAG6; IFEND; % IF (SUBSTRING(REC_TYPE,0,1) /= 'F') THEN REC_TYPE := 'VAR'; % ************************************************** % * ASKING ABOUT THE TRANSFER OF FONT/FORM FILES % * IN THE D02 CASE. % ************************************************** MSG := ' WILL YOU UPLOAD FONT/FORM FILES?' & ' IF YES,ALL DATA FILES HAVE' & ' ''REL'' ORGANIZATION;' & 'DEFAULT IS ' & SUBSTRING(FONT_FORM_DFLT,0,3) & '.' & '[Y,N,X]'; ASKPROC (#MSG,/FONT_FORM/); % % IF (SUBSTRING(FONT_FORM,0,1) = 'X') THEN DEFAULTS := 'YES'; % * SET UP DEFAULT VALUES FONT_FORM := FONT_FORM_DFLT; FILESIZ := FILESIZ_DFLT; GOTO TAG6; IFEND; % IF (SUBSTRING(FONT_FORM,0,1) /= 'Y') THEN % ******************************************* % * ASKING ABOUT FILE SIZE % * IN THE D02, VARIABLE, NON FONT/FORM CASE. % * % * THIS IS CONSIDERED TO BE THE 'NORMAL' AND % * DEFAULT CASE % * WHEN USING D02. % * % * % * % ******************************************* % MSG := ' SPECIFY FILESIZE' & ' BIG ENOUGH FOR THE LARGEST' & ' DATA FILE UPLOADED.' & ' DEFAULT SIZE IS ' & #FILESIZ_DFLT & '/BLOCKS.' & '[NNNN]'; ASKPROC (#MSG,/FILESIZ/); % IF ((SUBSTRING(FILESIZ,0,1) = '') OR (SUBSTRING(FILESIZ,0,1) = 'A')) THEN FILESIZ := FILESIZ_DFLT; IFEND; $TAG6 % % % ************************************************ % * ASSIGNING REF=DATAFILE % * IN THE VARIABLE LENGTH RECORD, NON FONT/FORM % * CASE USING D02. % * % * THIS IS CONSIDERED TO BE THE 'NORMAL' AND % * DEFAULT CASE % * WHEN USING D02. % * % ************************************************ ASSIGN FILE DATAFILE(REF=DATAFILE,RMS=NO,SUD=D02,FREEUP, RECORDSIZE=1/485, DATESCHEME=GEN, FILESIZE=#FILESIZ/BLOCKS, NOCAT, FILETYPE=DATA); ELSE % ********************************************* % * ASKING ABOUT FILE SIZE % * IN THE D02, VARIABLE, FONT/FORM CASE. % * % * FONT/FORM FILES % * % * FILESIZE MUST BE FOR THE LARGEST % * FONT/FORM FILE ANTICIPATED. % * % ************************************************ % % MSG := ' SPECIFY FILESIZE' & ' BIG ENOUGH FOR THE LARGEST' & ' FONT/FORM FILE UPLOADED.' & ' DEFAULT SIZE IS ' & #FILESIZ_DFLT & '/BLOCKS.' & '[NNNN]'; ASKPROC (#MSG,/FILESIZ/); % IF ((SUBSTRING(FILESIZ,0,1) = '') OR (SUBSTRING(FILESIZ,0,1) = 'A')) THEN FILESIZ := FILESIZ_DFLT; IFEND; % % % ************************************************ % * ASSIGNING REF=DATAFILE % * IN THE FONT/FORM CASE USING D02. % ************************************************ ASSIGN FILE DATAFILE(REF=DATAFILE,RMS=NO,SUD=D02,FREEUP, % ************************************ % * THE FOLLOWING 5 PARAMETERS ARE % * FOR FONT/FORM UPLOADS % ************************************ ORGANIZATION=RELATIVE, BLOCKSIZE=1/RECORDS, CAMHEADER, RECORDSIZE=1/485, FILESIZE=#FILESIZ/BLOCKS, NOCAT, FILETYPE=DATA); IFEND; % ELSE % % ********************************************* % * ASKING ABOUT FILE SIZE % * IN THE D02, FIXED LENGTH RECORDS, NON % * FONT/FORM CASE. % * % * FIXED LENGTH RECORDS. % * % * CUSTOMIZED FOR FIX ACQUISITION USE. % * % * FILE 'REFERENCE' OF 'DATAFILE' IS USED FOR % * DATA FILES % * % * FILESIZE MUST BE FOR THE LARGEST % * FILE ANTICIPATED. % * % ************************************************ % % MSG := ' SPECIFY FILESIZE' & ' BIG ENOUGH FOR THE LARGEST' & ' DATA FILE UPLOADED.' & ' DEFAULT SIZE IS ' & #FILESIZ_DFLT & '/BLOCKS.' & '[NNNN]'; ASKPROC (#MSG,/FILESIZ/); % IF ((SUBSTRING(FILESIZ,0,1) = '') OR (SUBSTRING(FILESIZ,0,1) = 'A')) THEN FILESIZ := FILESIZ_DFLT; IFEND; % % % ************************************************ % * ASSIGNING REF=DATAFILE % * IN THE FIXED LENGTH RECORD, NON FONT/FORM CASE % * USING D02. % * % * THIS IS CONSIDERED TO BE THE % * 'FIXED ACQUISITION' CASE. % ************************************************ ASSIGN FILE DATAFILE(REF=DATAFILE,RMS=NO,SUD=D02,FREEUP, DATESCHEME=GEN,NOCAT, % ************************************ % * THE FOLLOWING PARAMETERS ARE % * FOR FIXED LENGTH RECORDS % ************************************ RECORDSIZE=80, % ************************************ % * THE FOLLOWING PARAMS ARE FOR % * FIX ACQUISITION % ************************************ % NOCAMHEADER, BLOCKSIZE=6/RECORDS, FILESIZE=#FILESIZ/BLOCKS, NOCAT, FILETYPE=DATA); IFEND; % % % **************************************************** % * ASSIGNING THE OTHER FILE REFERENCES IN THE % * D02 CASE. % **************************************************** ASSIGN FILE SRCFILE(REF=SRCFILE,RMS=NO,SUD=D02,FREEUP, RECORDSIZE=1/82, FILESIZE=300/BLOCKS,DATESCHEME=GEN,NOCAT, FILETYPE=SOURCE), FILE OBJFILE(REF=OBJFILE,RMS=NO,SUD=D02,FREEUP, FILESIZE=1000/BLOCKS,RECORDSIZE=1/490, DATESCHEME=GEN,FILETYPE=OBJECT,NOCAT), FILE CSFILE(REF=CSFILE,RMS=NO,SUD=D02,FREEUP, FILESIZE=100/BLOCKS,RECORDSIZE=1/82,NOCAT, DATESCHEME=GEN,FILETYPE='CONTROL STRING'); FILEL NOCAT/CAT; % ****************************************************** % * END OF THE SUD=D02 CASE. % ****************************************************** IFEND; % END; ASSIGN PRINTER P09(SUD=P09); MCLBEGIN; MEMORYREALTIME=YES SWAP OUT TIME=NEVER SCLBGN % MUST SPECIFY LOCATION OF LOAD MODULE EXECUTE MCSKERM; QUEUE P09; FREE P09; % IF (VSN /= '') THEN FREE D02; IFEND; % JOB END