/MACRO LIBRARY FOR HUME COMPANYS. .TITLE MACROS FOR RASBOL .DISABL FILL EXPUNGE LAS,ION,IOF,KSF,KCC,KRS,KRB,TSF EXPUNGE TCF,TPC,TLS,RIB,RMF,SCA,SCL,MUY EXPUNGE DVI,NMI,SHL,ASR,LSR,SKON,SRQ,SGT EXPUNGE RPE,RSF,RRB,RFC,PCE,PSF,PCF,PPC EXPUNGE PLS,KCF,KIE,TFL,TSK,SPF,SPI,OSR IFNDEF WAIT <.INCLUDE ESTRAS.LI XFILEX=XFILES > XOPENC=0 IFDEF WAIT < .START .,XFLD > XLIST PRINTA=PRINTC 1 / .MACRO IFWAIT IFDEF WAIT .ENDM IFWAIT / / / .MACRO READS F,R,E,C,CN .IF NB CN .IF NB C < LOADIM;1 ADDTO2;C LOAD2;C > IFWAIT READSQ;F GONEG;E GETREC;R GOWDEQ;E;R+1;-1 .ENDM READS / / / .MACRO SFORMS A,B PRINTW;A$;5 GOTO;B$ A$: ESCAPE;"[;"A;"B;"t B$, .ENDM SFORMS .MACRO DISPLAY A PRINT!;TEXT "A" B$, .ENDM DISPLAY / IFDEF $ASK <.MACRO ASK Q,K,Z,PN,ST,NW DISPLAY "Q" TYPIN K .IF NB Z < GOZERO;Z > .IF NB PN < PRINT'PN > .IF NB ST < STORE'NW;ST > .ENDM ASK / / .MACRO ASKOK AD A$: PRINT 4;TEXT " OK=" TYPIN K10 GOZERO;Y$ GOIFEQ;N$;99 PRINTA;BELL GOTO;A$ N$: PRINT 4;TEXT "NO**" GOTO;AD Y$, PRINT 4;TEXT "YES " .ENDM ASKOK > / / .MACRO DISPCO IFDEF COMPNO < PRINTC 1;SPACE LOADX1;COMPNO MULTX1 4 PRINTX;CONAME;8. > .ENDM DISPCO / IFNDEF WAIT < .MACRO OPENS D,F,$N,E,LK,CO,Q $N=XFILEX IFNDEF HQ < .IF NB CO < LOAD1;COMPNO ADDTO1;.+7 > > OPEN;DEVICE D F$: FILENA F;$N GONEG;E .PUSH F$ Z$, XFILEX=XFILEX+9. .PUSH $N ABORT;E Y$, XOPENC=XOPENC+1 .ENDM OPENS > IFDEF WAIT < .MACRO OPENS D,F,$N,E,LK,CO,Q WAIT .IF NB CO < LOAD1;COMPNO ADDTO1;$N+6 > CHANNEL;$N;$N+1;OPEN'LK GONEG;E GOTO;D$ $N: -1; DEVICE D F$: FILENA F XINDIC=0 .IF NB Q .PUSH XINDIC D$: .PUSH $N ABORT;E Y$, XOPENC=XOPENC+1 .ENDM OPENS > / .MACRO CLOSALL .REPT XOPENC .POP $N,FA IFNDEF WAIT < MOVE;FA;.+3;4 CLOSE;FILENA X.X;$N > IFDEF WAIT < CHANNEL;$N;$N+1 IFZERO FA IFNZRO FA > .ENDR .ENDM CLOSALL / IFDEF COMPNO <$C=COMPNO> $O=OPENER .MACRO OPENGL LK IFDEF $CRSW < OPENS DK1,GLMAST.MA,GLMAST,$O,LK,$C > IFNDEF $CRSW < OPENS DSK,GLMAST.MA,GLMAST,$O,LK,$C > .ENDM OPENGL IFDEF $CR < .MACRO OPENCR LK OPENS DK1,CRMAST.MA,CRMAST,$O,LK,$C .ENDM OPENCR .MACRO OPENCD LK OPENS DK1,CDETAL.DA,CDETAL,$O,LK,$C,Q .ENDM OPENCD > IFDEF $DR < .MACRO OPENDR LK OPENS DK1,DRMAST.MA,DRMAST,$O,LK,$C .ENDM OPENDR .MACRO OPENDN LK OPENS DK1,DNAMES.MA,DNAMES,$O,LK .ENDM OPENDN .MACRO OPENDD LK OPENS DK1,DDETAL.DA,DDETAL,$O,LK,$C,Q .ENDM OPENDD > .MACRO OPENGD LK IFDEF $CRSW < OPENS DK1,GDETAL.DA,GDETAL,$O,LK,$C,Q > IFNDEF $CRSW < OPENS DSK,GDETAL.DA,GDETAL,$O,LK,$C,Q > .ENDM OPENGD .MACRO OPENPD LK OPENS DK1,PRODUC.MA,PRODUC,$O,LK,$C .ENDM OPENPD .MACRO OPENSA LK OPENS DK1,SALESA.MA,SALESA,$O,LK,$C .ENDM OPENSA .MACRO OPENDO OPENS DK1,DOCNUM.DA,DOCNUM,$O .ENDM OPENDO / / / .MACRO OPENR OPENER, GONEG;OPNF DISPLAY "_ABORTED_" GOTO;B$ OPNF: DISPLAY "_FILE ERROR_" B$, .ENDM OPENR / .MACRO CLOSES F,N,Q,CO IFNDEF WAIT < .IF NB Q < .IF NB CO < IFNDEF HQ < LOAD1;$C ADDTO1;.+5 > > CLOSE;FILENA F;N > > IFDEF WAIT < WAIT CHANNEL;N ;N+1 ;CLOSE'Q > .ENDM CLOSES / .MACRO READR F,REC,ER,K,L .IF NB K < LOAD'L;K > READ;F GONEG;ER GETREC;REC .ENDM READR / .MACRO WRITEN F,REC,ER CLEAR READSQ;F GONEG;ER PUTREC;REC WRITSQ GONEG;ER .ENDM WRITEN / .MACRO WRITEB F,REC,ER,K,L .IF NB K < LOAD'L;K READ;F GONEG;ER > PUTREC;REC WRITE GONEG;ER .ENDM WRITEB / IFDEF $DSORT < .MACRO DSORT FIL,A,B,C,D,E,F,G,H IFDEF WAIT < LOAD1;FIL > IFNDEF WAIT .IF NB A < MOVE;A$;KEYS;8 GOTO;B$ A$: 0A;0B;0C;0D;0E;0F;0G;0H B$, > GOSUB;SORT .ENDM DSORT > / XLIST