%ZTF ; JSH,GFT,ESS,Hrubovcak ; 14 Jan 98 07:52; Function Library for MSM/Windows NT
Source file <ZTFNTM.m>
| Name | Comments | DBIA/ICR reference | 
|---|---|---|
| DIR(X) | ; return proper directory ; input: 0 = common user directory (default) ; 1 = application exe directory | |
| TYPAHEAD(X) | ;Enable or disable type-ahead on the current device. ;*** | |
| BREAK(X) | ;Enable/Disable Control-C.  1 = Enable, 0 = Disable ;*** | |
| ERR | ||
| UPCASE(X) | ;Convert all lowercase letters in X to uppercase | |
| ERRNL | ||
| ACTIVJ(XJB,XUCI,XVOL,XNOD) | ; Start ACTIV^%ZTF on a remote node | |
| ETYPE(X) | ;check for certain error conditions ; input: X = "C" checks for ^C error ; = "A" checks for memory allocation error ; output: TRUE if specified error accured, FALSE otherwise | |
| FOLLOWS(X,Y) | ;Returns truth value 'X follows Y', whether string or numeric | |
| UCICHECK(W) | ;Returns true if the specified UCI [,volume set] is valid ;*** | |
| ROUTEST(X) | ;Returns true if routine X exists in current UCI | |
| DNCASE(X) | ; | |
| MAX(X,Y) | ;Returns the maximum of X and Y, or of all values in array .X | |
| READ(FLAG,LEN,PROMPT,DEFAULT,TERM,FUNC,X,Y) | ; general reader utility | |
| SETXY(X,Y,C) | ;Set $X=X, $Y=Y.  Unless C is present and true, move cursor. | |
| ACTIV(XJB) | ;Return true if job number active, false if inactive (logged off) ; pass the result to the remote process in the ^%ZTSCH("ACTIVE" global ; Input: XJB = $J for the process to check | |
| EON(X) | ;Turn on echo on device X | |
| MIN(X,Y) | ;Returns the minimum of X and Y, or of all values in array .X | |
| ESCAPE(X) | ;Enable or disable escape sequence processing | |
| EDIT(S,N) | ;Edit a string based on the value of N | |
| FDEL(NAME) | ;delete spool file from current directory | |
| EOFF(X) | ;Turn off echo on device X | |
| ZH() | ; return DSM $ZH or OS equivilent | |
| ACTIVE(XJB,XNOD) | ;Return true if job number active, false if inactive (logged off) ; Input: XJB = $J for the process to check ; XNOD = Node name of the job to check | |
| PRIINQ(J) | ;Return base priority of job X | |
| ROUSIZE(X) | ;Returns the size of a routine X's executable code | |
| PRG() | ;Return 1 if in program mode, 0 if not. | |
| DUP(X,N) | ; | |
| UCICHK1 | ||
| DIRE | ; external call to DIR function in DVX, this tag is a placeholder | |
| ET | ; log error in error trap | |
| NODENAME(E) | ;Returns the current node name | |
| OS() | ;Return the current M Version | |
| UCI(X) | ;Returns UCI, Volume if X is true | |
| ABS(X) | ;Returns the absolute value of X. | |
| SQRT(X) | ;Return the square-root of X.  Returns zero for an illegal X. | |
| ERR0 | ||
| ZE(C) | ;Return the last error code ; If C is TRUE, add on explanation | |
| YN(YN,S) | ;Return True for yes, false for no.  YN=1 for yes default, 0=no | |
| SETPRIN(JOB) | ;Resets the $Principal to the bit-bucket | |
| YN1 | ||
| SETPRI(X,J) | ;Set job J (defaults to our job) to priority X ;*** | |
| RMARGIN(X,I) | ;Set the right margin of device I to X, return current setting. | |
| XORB(X) | ;Return the exclusive-or of all the bytes in X.  (Returned as a number, not a single byte.) | |
| CRC(X,Y) | ; | |
| POWER(B,E) | ;Returns B raised to E | |
| DIRCHK(X) | ||
| ACTERR | ; Trap error if not able to job on remote node ; assume job being not active | 
| Name | Field # of Occurrence | 
|---|---|
| $$ACTIVE^%ACTJOB | ACTIVE+6, ACTIVE+9, ACTIV+4 | 
| ^%ERRCODE | ZE+2 | 
| $$DDPNODES^%MSMOPS | NODENAME+1 | 
| $$PRG^%SAICOPS | PRG+1 | 
| $$PRIINQ^%SAICOPS | PRIINQ+1 | 
| $$RMARGIN^%SAICOPS | RMARGIN+2 | 
| $$ROUSIZE^%SAICOPS | ROUSIZE+1 | 
| $$ZH^%SAICOPS | ZH+2 | 
| SETPRIN^%SAICOPS | SETPRIN+1 | 
| ^%SQRT | SQRT+1 | 
| INT^%ZET | ET+1 | 
| $$NODENAME^%ZTF | ACTIVE+7 | 
| ET^%ZTF | ACTERR+3 | 
| READ^%ZTF1 | READ+1 | 
| $$NODES^%ZTOS | ACTIVE+12 | 
| Name | Line Occurrences | 
|---|---|
| Function Call: WRITE | 
 | 
| Function Call: WRITE | 
 | 
| Function Call: WRITE | 
 | 
| Function Call: WRITE | 
 | 
| Function Call: READ | 
 | 
| Name | Line Occurrences (* Changed, ! Killed) | 
|---|---|
| ^$R( | ROUTEST+1 | 
| ^%ZOSF("DIR_APPL" | DIR+3 | 
| ^%ZOSF("DIR_USER" | DIR+3 | 
| ^%ZOSF("PROD" | ACTIVE+12 | 
| ^%ZOSF("TRAP" | ACTIVJ+9 | 
| ^%ZTSCH("ACTIVE" | ACTIVE+10!, ACTIVE+20, ACTIVE+21, ACTIVE+22, ACTIVE+25!, ACTIV+4*, ACTERR+2* | 
| Name | Line Occurrences | 
|---|---|
| $$EDIT | EDIT+3 | 
| $$UPCASE | EDIT+8 | 
| YN1 | YN1+3 | 
| >> | Not killed explicitly | 
| * | Changed | 
| ! | Killed | 
| ~ | Newed | 
| Name | Field # of Occurrence | 
|---|---|
| % | %ZTF+5~, %ZTF+7*, CRC+1~, DUP+1~*, EDIT+1~, EDIT+2*, EDIT+3, EDIT+7*, EDIT+10*, EDIT+11* , ETYPE+4~*, ETYPE+5*, ETYPE+6*, ETYPE+7, MAX+2~*, MIN+2~*, XORB+1~, YN+4~, YN1+1*, YN1+2* , YN1+3, YN1+6, YN1+7 | 
| %0 | MAX+2~*, MAX+3, MIN+2~*, MIN+3 | 
| %RES | SQRT+1~, SQRT+2 | 
| %X | SQRT+1~*, YN+4~, YN1*, YN1+5, YN1+6 | 
| B | POWER~, POWER+1 | 
| BS | YN+4~*, YN1+5 | 
| C | SETXY~, SETXY+1, SETXY+2, ZE~, ZE+2 | 
| >> CUP( | SETXY+2 | 
| DEFAULT | READ~ | 
| DTIME | YN1+1 | 
| >> DTOUT | YN1+1* | 
| E | NODENAME~, POWER~, POWER+1 | 
| EC | ZE+2~*, ZE+3 | 
| FLAG | READ~ | 
| FUNC | READ~ | 
| H | ZH+1~*, ZH+2 | 
| I | RMARGIN~, RMARGIN+1*, RMARGIN+2 | 
| J | PRIINQ~, PRIINQ+1, SETPRI~ | 
| JOB | SETPRIN~, SETPRIN+1 | 
| L | %ZTF+5~, %ZTF+8*, %ZTF+9 | 
| LEN | READ~ | 
| N | %ZTF+5~, %ZTF+7*, %ZTF+9*, %ZTF+10, DUP~, DUP+1, EDIT~, EDIT+1, EDIT+3, EDIT+4 , EDIT+5, EDIT+6, EDIT+7, EDIT+8, EDIT+9, EDIT+10, EDIT+11 | 
| NAME | FDEL~, FDEL+2 | 
| PROMPT | READ~ | 
| R | %ZTF+5~, %ZTF+7*, %ZTF+8 | 
| S | EDIT~, EDIT+1, EDIT+2, EDIT+3*, EDIT+4*, EDIT+5*, EDIT+6*, EDIT+7*, EDIT+8*, EDIT+9* , EDIT+10*, EDIT+11*, EDIT+12, YN~, YN+4*, YN1+4 | 
| T | %ZTF+5~, %ZTF+8*, %ZTF+9, %ZTF+10 | 
| TERM | READ~ | 
| V | UCICHECK+1~, UCICHECK+4*, UCICHECK+5 | 
| W | UCICHECK~, UCICHECK+2*, UCICHECK+3, UCICHECK+4 | 
| X | ABS~, ABS+1, ACTIVJ+8~, ACTIVJ+9*, BREAK~, BREAK+1, CRC~, DIR~, DIR+3*, DIR+4 , DIRCHK~, DIRCHK+1, DNCASE~, DNCASE+1, DUP~, DUP+1, EOFF~, EON~, ESCAPE~, ESCAPE+1* , ETYPE~, ETYPE+4*, ETYPE+5, ETYPE+6, FDEL+1~, FDEL+2*, FOLLOWS~, FOLLOWS+1, MAX~, MAX+1 , MAX+2, MIN~, MIN+1, MIN+2, READ~, RMARGIN~, RMARGIN+1*, RMARGIN+2, ROUSIZE~, ROUSIZE+1 , ROUTEST~, ROUTEST+1, SETPRI~, SETPRI+1, SETXY~, SETXY+1, SETXY+2, SQRT~, SQRT+1, TYPAHEAD~ , UCI~, UCI+1, UPCASE~, UPCASE+1, XORB~ | 
| XACT | ACTIVE+4~, ACTIVE+25*, ACTIVE+26 | 
| XALLNODS | ACTIVE+4~, ACTIVE+12*, ACTIVE+15 | 
| XCNT | ACTIVE+4~, ACTIVE+19*, ACTIVE+23* | 
| XCURNOD | ACTIVE+4~, ACTIVE+7*, ACTIVE+9 | 
| XJB | ACTIVE~, ACTIVE+6, ACTIVE+9, ACTIVE+10, ACTIVE+20, ACTIVE+21, ACTIVE+22, ACTIVE+25, ACTIVJ~, ACTIV~ , ACTIV+4, ACTERR+2 | 
| XNOD | ACTIVE~, ACTIVE+6*, ACTIVE+9, ACTIVE+15, ACTIVJ~ | 
| XRES | ACTIVE+4~, ACTIVE+19, ACTIVE+21* | 
| XUCI | ACTIVE+4~, ACTIVE+12*, ACTIVE+13*, ACTIVE+15, ACTIVJ~ | 
| XVOL | ACTIVE+4~, ACTIVE+12*, ACTIVE+15, ACTIVJ~ | 
| Y | CRC~, FOLLOWS~, FOLLOWS+1, MAX~, MAX+1, MIN~, MIN+1, READ~, SETXY~, SETXY+1 , SETXY+2 | 
| YN | YN~, YN1, YN1+1, YN1+5 | 
| Name | Field # of Occurrence | 
|---|---|
| $T( | %ZTF+6, %ZTF+7 | 
| $T(@EC^%ERRCODE | ZE+2 |