perm filename RUNP2.SAI[PUB,TES] blob sn#229495 filedate 1976-07-30 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00005 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	BEGOF("RUNP2")
C00003 00003	PUBLIC SIMPLE PROCEDURE INTERMEDIATEFILES $"#
C00008 00004	PUBLIC PROCEDURE RUNPASS2 $"#
C00011 00005	FINISHED
C00012 ENDMK
C⊗;
BEGOF("RUNP2")

COMMENT

         *** Variations at Different Sites are Extensive ***

;

PROCEDURES
PUBLIC SIMPLE PROCEDURE INTERMEDIATEFILES ;$"#
BEGIN "INTERMEDIATEFILES"
L ← WRITEON(FALSE,IFC TENEX THENC IFILENAME&".FILES" ELSEC "PUPSEQ"&PUIEXT ENDC) ;
OUT(L, TMPFILE&ALTMODE&OUTFILE&ALTMODE&CVSR(DEBUG)&CVSR(ABS(DEVICE))&DELINT&ALTMODE) ;
OUT(L, CVSR(LOFONT)&CVSR(HIFONT)) ; TES 8/24/74 ;
FOR J ← LOFONT THRU HIFONT DO OUT(L, FNTNAME[J]&ALTMODE) ; TES 8/24/74 ;
TES 1/7/74 ;
IFC PARCVER THENC
IF ABS(DEVICE)=XGP THEN
	BEGIN
	CMDFILE ← NULL ;
	FOR J ← 1 THRU HIFONT DO CMDFILE ← CMDFILE &
		(IF NULSTR(XFNTNAME[J]) THEN "F DEFONT" & CR
		 ELSE "F " & XFNTNAME[J] & CR) ;
	OUT(L,CMDFILE&ALTMODE)
	END
ELSEC
IFC SAILVER THENC
	IF ABS(DEVICE)=XGP THEN
		OUT(L,CMDFILE&(IF SIMLOOK("!XGPCOMMANDS") THEN
			EVALV("!XGPCOMMANDS", SYMIX, SYMTYPE) ELSE NULL)
			& ALTMODE)
ELSEC
IFC ITSVER THENC PJ 8/24/74 ;
	IF ABS(DEVICE)=XGP THEN
	    BEGIN "WRITECMD"
	    STRING CMDLINE; INTEGER BRC;
	    CMDFILE ← NULL ;
	    FOR J ← 1 THRU HIFONT DO CMDFILE ← CMDFILE&XFNTNAME[J]&",";
	    CMDFILE ← ";KSET "&CMDFILE[1 TO ∞-1]&CR;
	    IF SIMLOOK("!XGPCOMMANDS") THEN
		BEGIN
		CMDLINE←EVALV("!XGPCOMMANDS",SYMIX,SYMTYPE);
		SETBREAK(LOCAL_TABLE,"↔",NULL,"IS");
		DO OUT(L,SCAN(CMDLINE,LOCAL_TABLE,BRC)&CR) UNTIL BRC NEQ "↔";
		SETBREAK(LOCAL_TABLE,NULL,NULL,"IS");
		END;
	    OUT(L,CMDFILE&ALTMODE);
	    END "WRITECMD"
ELSEC
IFC CMUVER THENC RKJ: 6-FEB-75;
	IF XCRIBL AND SIMLOOK("!XGPCOMMANDS") THEN
	        OUT(L,MASH(EVALV("!XGPCOMMANDS",SYMIX,SYMTYPE))&ALTMODE)
ELSEC
IF FALSE THEN BEGIN END
ENDC ENDC ENDC ENDC
ELSE OUT(L, ALTMODE) ;
OUT(L, VUNDERLINE & ALTMODE) ; TES 10/22/73 ;
OUT(L,CVSR(CHARW));
OUT(L, CVSR(IF NEEDMILLVERTI THEN -MILLVERTI ELSE MILLVERTI)) ;
	TES 11/2/74 NORMAL INTER-LINE SPACING ;
OUT(L,CVSR(BASELINE));
OUT(L,CVSR(DOPASS3));	RKJ:  1-4-74;
OUT(L, CVSR(VBPI)&CVSR(HBPI)&CVSR(MINLFTMAR)) ;
OUT(L, CVSR(TOPBORDER) & CVSR(BOTTOMBORDER)) ; TES 1/26/74 ;
OUT(L,LF);
IFC TENEX THENC COMMENT PASS2 COMMUNICATION FILE ;
J←OPENFILE(JOBNO&".PASS2","WT") ;
OUT(J, IFILENAME & ALTMODE) ;
RELEASE(J) ;
ENDC
J ← PORSEQ(PORTLL) ;
IFC NOT TENEX THENC OPEN(K ← GETCHAN, "DSK", 0,1,0,20, BRC, EOF) ; ENDC
WHILE J > 0 DO
	BEGIN
	M← PORSTR(J) ; TES 3/20/74 ;
	IF FULSTR(PORINT(M)) THEN OUT(L, PORINT(M) & ALTMODE) ;
	IF PORCH(J) = -5 OR PORSEQ(J) < 0 THEN WARN("=","INSERT PORTION not found") ;
	IF FULSTR(PORFIL(M)) THEN
	    FOR N←0,1 DO IF N=0 OR PORCH(J)=-6 THEN
		BEGIN COMMENT DELETE GENERATED FILES ;
		IFC TENEX THENC
		    K ← OPENFILE(IFILENAME&(CASE N OF (GENEXT,ALFEXT))&PORFIL(M)&";*", "RO*") ;
		    DO DELF(K) UNTIL NOT INDEXFILE(K) ;
		ELSEC
		    LOOKUP(K, PORFIL(M) & (CASE N OF(PUGEXT,PUZEXT)), DUMMY) ;
		    RENAME(K, NULL, 0, DUMMY) ;
		ENDC
		END ;
	J ← PORSEQ(J) ;
	END ;
RELEASE(L) ; RELEASE(K) ;
END "INTERMEDIATEFILES" ;
PUBLIC PROCEDURE RUNPASS2 ;$"#
BEGIN "RUNPASS2"
IFC TENEX THENC   TES 10/25/73 ;
	BEGIN "PASS 2"
	SETPRINT(NULL,"T"); JFR 7-30-76 SO LOG FILE GETS CLOSED;
	IF (EQU(CONDIR,"PUB") OR EQU(CONDIR,"TESLER")) AND (J←GTJFN("PUB2.SAV",0))>-1 THEN
		BEGIN
		RLJFN(J) ;
		RUNPRG("PUB2.SAV",1,0) ;
		END
	ELSE RUNPRG("<SUBSYS>PUB2.SAV",1,0) ;
	END "PASS 2"
ENDC
IFC CMUVER THENC
	BEGIN "PASS 2"	TES 10/8/74 CHANGED TO CALL RUNLIBPROG ;
	STRING S;
	SETPRINT(NULL,"T"); JFR 7-30-76 SO LOG FILE GETS CLOSED;
	S←CVXSTR(CALL('777777000003,"GETTAB"))&"2";
	SETBREAK(1,NULL," ","IS");
	RUNLIBPROG(SCAN(S,1,DUMMY)); RKJ: 28-SEP-74 NEW CALLING SEQUENCE ;
	START!CODE CALLI 0,'12 END ;
	END "PASS 2"
ENDC
IFC SAILVER OR ITSVER THENC
	BEGIN "PASS 2"
	IFC SAILVER
	    THENC DEFINE PUB2!DMP=["PUB2.DMP"];
	    ELSEC DEFINE PUB2!DMP=["TS PUB2"]; ENDC PJ 5/27/74 ;
	INTEGER SIMPLE PROCEDURE CORELOC(INTEGER ARRAY A) ; START!CODE MOVE 1,A ; END ;
	
	INTEGER ARRAY SECONDPASS[0:4] ;
	EXTERNAL SIMPLE PROCEDURE K!OUT ; K!OUT ; COMMENT * * * * * * * * * * * ;
	IFC SAILVER
	    THENC SETPRINT(NULL,"T"); JFR 7-30-76 SO LOG FILE GETS CLOSED;
	    ENDC
	SECONDPASS[0] ← CVSIX("DSK") ;
	SECONDPASS[1] ← CVFIL(
		IFC SAILVER THENC JOBNAM&"2.DMP" ELSEC "TS "&JOBNAM&"2" ENDC
		&LIBPPN, SECONDPASS[2], SECONDPASS[4]) ;
	BH 3/14/75 IF PASS1 WAS NPUB PASS2 SHOULD BE NPUB2;
	SECONDPASS[3] ← 1 ; COMMENT Do an RPGSTART so DEVICE will be taken from PUI file ;
	CALL(CORELOC(SECONDPASS), "SWAP") ;
	END "PASS 2" 
ENDC
END "RUNPASS2" ;
FINISHED

ENDOF("RUNP2")