File:  [Coherent Logic Development] / freem_fileman / USER / DINIT24.m
Revision 1.1: download - view: text, annotated - select for diffs
Mon Apr 28 14:13:20 2025 UTC (3 months ago) by snw
Branches: MAIN
CVS tags: HEAD
Restructure repository

    1: DINIT24	;SFISC/GFT-INITIALIZE VA FILEMAN ;09:09 AM  15 Sep 1994
    2: 	;;21.0;VA FileMan;;Dec 28, 1994
    3: 	;Per VHA Directive 10-93-142, this routine should not be modified.
    4: 	K ^DD(.5)
    5: 	;BRING IN DD FOR FUNCTION FILE .5
    6: 	S ^DIC(.5,"%D",0)="^^4^4^2940908^"
    7: 	S ^DIC(.5,"%D",1,0)="This file stores information about FUNCTIONS used by FileMan.  The first"
    8: 	S ^DIC(.5,"%D",2,0)="100 records in this file are reserved for functions brought in during the"
    9: 	S ^DIC(.5,"%D",3,0)="FileMan INIT process.  The rest of the file is available for other"
   10: 	S ^DIC(.5,"%D",4,0)="developers to enter their own functions."
   11: DD	F I=1:1 S X=$T(DD+I),Y=$P(X," ",3,99) G ^DINIT25:X?.P S @("^DD(.5,"_$E($P(X," ",2),3,99)_")=Y")
   12: 	;;0 ATTRIBUTE^
   13: 	;;0,"NM","FUNCTION"
   14: 	;;.01,0 NAME^RF^^0;1^K:$L(X)<2!($L(X)>30)!(X'?1U.ANP)!(X["$") X
   15: 	;;.01,1,0 ^.1^1^1
   16: 	;;.01,1,1,0 .5^B
   17: 	;;.01,1,1,1 S @(DIC_"""B"",X,DA)=""""")
   18: 	;;.01,1,1,2 K @(DIC_"""B"",X,DA)")
   19: 	;;.01,3 Function Name must be 2-30 characters long, beginning with Alpha.
   20: 	;;.01,"DEL",1,0 I DA<100
   21: 	;;.02,0 MUMPS CODE^FR^^1;E1,255^D ^DIM I $D(X),'$D(DIQUIET),'$D(DDS) W "  ..OK"
   22: 	;;.02,3 Enter MUMPS code that sets a value into 'X'.
   23: 	;;.02,4 N D1 S D1(1)="For a 1-argument function, use 'X' as the argument.",D1(2)="For a 2-argument function, use 'X1' and 'X'.",D1(3)="Avoid FORs, IFs, and single-character scratch variables.",D1(4)="" D EN^DDIOL(.D1)
   24: 	;;.02,9 @
   25: 	;;1,0 EXPLANATION^F^^9;E1,245^K:$L(X)>245 X
   26: 	;;2,0 DATE-VALUED^S^D:YES;X:NO;O:OPTIONAL (DEPENDS ON VALUE OF ARGUMENT);^2;1^Q
   27: 	;;9,0 NUMBER OF ARGUMENTS^N^^3;1^K:X\1'=X!(X>8) X
   28: 	;;10,0 WORD-PROCESSING^S^W:MEANINGFUL ONLY FOR W-P;^10;1
   29: 	;;
   30: OSDD	; BRING IN DD FOR MUMPS OS FILE .7 (CALLED FROM ^DINIT)
   31: 	F I=2:1 S X=$T(OSDD+I),Y=$P(X," ",3,99) Q:X?.P  S @("^DD(.7,"_$E($P(X," ",2),3,99)_")=Y")
   32: 	;;0 FIELD^
   33: 	;;.01,0 NAME^F^^0;1^Q
   34: 	;;.01,1,0 ^.1^1^1
   35: 	;;.01,1,1,0 .7^B
   36: 	;;.01,1,1,1 S ^DD("OS","B",X,DA)=""
   37: 	;;.01,1,1,2 K ^DD("OS","B",X,DA)
   38: 	;;.01,21,0 ^^1^1^2940909^^
   39: 	;;.01,21,1,0 Name of a MUMPS operating system that is supported by VA FileMan.
   40: 	;;1,0 BREAK LOGIC^RF^^1;E1,250^D ^DIM
   41: 	;;1,9 @
   42: 	;;1,21,0 ^^2^2^2940909^^
   43: 	;;1,21,1,0 MUMPS code to enable terminal break, i.e., to allow the user to interrupt
   44: 	;;1,21,2,0 processing with <CTRL-C>.
   45: 	;;419,0 MINIMUM SAFE $S^N^^0;2^K:+X'=X X
   46: 	;;419,21,0 ^^1^1^2940909^
   47: 	;;419,21,1,0 The minimum value for $S that will allow routines to process successfully.
   48: 	;;2,0 GLOBAL LENGTH (MAX)^RN^^0;3^K:+X'=X!(X<30) X
   49: 	;;2,21,0 ^^1^1^2940909^^
   50: 	;;2,21,1,0 Maximum allowable length of a global.
   51: 	;;3,0 ROUTINE SIZE (MAX)^RN^^0;4^K:+X'=X!(X<2048) X
   52: 	;;3,21,0 ^^1^1^2940909^
   53: 	;;3,21,1,0 Maximum allowable size of a routine.
   54: 	;;4,0 CLOSING PRINCIPAL DEVICE^S^1:ALLOWED;^0;5^Q
   55: 	;;4,21,0 ^^1^1^2940909^
   56: 	;;4,21,1,0 Is closing a job's principal device allowed?
   57: 	;;5,0 NEW COMMAND^S^1:SUPPORTED;^0;6^Q
   58: 	;;5,21,0 ^^1^1^2940909^
   59: 	;;5,21,1,0 Is the NEW command supported?
   60: 	;;7,0 INDIVIDUAL SUBSCRIPT LENGTH^N^^0;7^K:X\1'=X!(X<9) X
   61: 	;;7,21,0 ^^1^1^2940909^
   62: 	;;7,21,1,0 Maximum length of an individual subscript.
   63: 	;;8,0 SAVE SYMBOL TABLE^F^^8;E1,250^D ^DIM
   64: 	;;8,9 @
   65: 	;;8,21,0 ^^1^1^2940909^
   66: 	;;8,21,1,0 MUMPS code that saves the contents of the local symbol table.
   67: 	;;1820,0 ROUTINE EXISTENCE TEST^F^^18;E1,250^D ^DIM
   68: 	;;1820,9 @
   69: 	;;1820,21,0 ^^1^1^2940909^
   70: 	;;1820,21,1,0 MUMPS code that tests for the existence of a routine.
   71: 	;;2425,0 SET $X & $Y FROM 'IOX' & 'IOY'^F^^XY;E1,250^D ^DIM
   72: 	;;2425,9 @
   73: 	;;2425,21,0 ^^2^2^2940909^^
   74: 	;;2425,21,1,0 MUMPS code to XECUTE to move the position of the cursor to the position
   75: 	;;2425,21,2,0 specified by the variables IOX and IOY.
   76: 	;;190416,0 WRITE FROM SDP^F^^SDP;E1,250^D ^DIM
   77: 	;;190416,9 @
   78: 	;;190416,21,0 ^^4^4^2940909^
   79: 	;;190416,21,1,0 MUMPS code that READs data from SDP and WRITEs it to a device.  The $I
   80: 	;;190416,21,2,0 value of the SDP device should be in variable DIO and the $I value
   81: 	;;190416,21,3,0 for the output device in IO.  The DLP variable should contain the open
   82: 	;;190416,21,4,0 parameters of the SDP device.
   83: 	;;190416.1,0 FIND SDP END^F^^SDPEND;E1,250^D ^DIM
   84: 	;;190416.1,9 @
   85: 	;;190416.1,21,0 ^^1^1^2940909^
   86: 	;;190416.1,21,1,0 MUMPS code that tests for the end of SDP.
   87: 	;;2619,0 ZSAVE CODE^F^^ZS;E1,250^D ^DIM
   88: 	;;2619,9 @
   89: 	;;2619,21,0 ^^4^4^2940909^
   90: 	;;2619,21,1,0 MUMPS code that will save a routine to disk.  The name of the routine
   91: 	;;2619,21,2,0 must be in variable X.  The source code of the routine should be stored
   92: 	;;2619,21,3,0 in ^UTLITY($J,0,%Y).  Each node of the array will become a line of the
   93: 	;;2619,21,4,0 routine.

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>