- %ZISS ;AC/SF,SLC/RWF - Collect screen parameters ;11/5/97 16:01
- ;;8.0;KERNEL;**69**;JUL 10, 1995
- KV K %ZIS,%ZISXX,%ZISYY,%ZISE,%ZISFN,%ZISN,%ZISNP,%ZISX,%ZISY,%ZISZ,%ZISI,ZISCH,ZISEND,ZISNUM,ZISQ,ZISXL,ZISXLN,ZISNP
- Q
- KILL ;REMOVES EXTENDED OUTPUT VARIABLES.
- K IOARM0,IOARM1,IOAWM0,IOAWM1,IOBOFF,IOBON,IOCUB,IOCUD,IOCUF,IOCUU,IODCH,IODHLB,IODHLT,IODL,IODWL,IOECH,IOEDBOP,IOEDEOP,IOEDALL,IOEFLD,IOELBOL,IOELEOL,IOELALL,IOHDWN,IOHOME,IOHTS,IOHUP
- K IOICH,IOIL,IOIND,IOINHI,IOINLOW,IOINORM,IOIRM0,IOIRM1,IOIS,IOKPAM,IOKPNM,IOMC,IONEL,IOPROP,IOPTCH10,IOPTCH12,IOPTCH16,IORC,IORESET,IORI,IORLF,IORVOFF,IORVON,IOSC,IOSGR0,IOSWL,IOSTBM,IOTBC,IOTBCALL,IOUOFF,IOUON
- K IOKP0,IOKP1,IOKP2,IOKP3,IOKP4,IOKP5,IOKP6,IOKP7,IOKP8,IOKP9,IOPF1,IOPF2,IOPF3,IOPF4,IOFIND,IOSELECT,IOPREVSC,IONEXTSC,IOCOMMA,IOMINUS,IOPERIOD,IOENTER,IOINSERT,IOREMOVE
- K IOSMPLX,IODPLXL,IODPLXS
- Q
- ;
- GSET G SETZ^%ZISS2
- ;
- GKILL G KILL^%ZISS2
- ;
- ENDR ;Entry point for DR Value entered into variable X.
- Q:'$D(IOST(0))!'$D(X)#2 S %ZISZ="" D DR,SET2^%ZISS1,KV Q
- ;
- ENS ;Entry point to retrieve all screen parameters.
- Q:'$D(IOST(0)) D KILL,SET1,SET2^%ZISS1,KV Q
- ;
- SET1 ;D SETZ
- SETZ F %ZISI=1:1 S %ZISZ=$T(Z+%ZISI) Q:%ZISZ="" D SETDR
- Q
- DR ;Process variable X.
- F %ZISN=1:1:$L(X,";") S (%,%ZISZ)=$P(X,";",%ZISN),%ZISZ=$T(@%ZISZ) S:%ZISZ="" %ZISZ=$T(@$E(%,3,$L(%))) I %ZISZ]"",$P(X,";",%ZISN)=$P(%ZISZ,";",3)!($E($P(X,";",%ZISN),3,999)=$P(%ZISZ,";",3)) D SETDR
- Q
- SETDR ;SET VARIABLES
- I $P(%ZISZ,";",6)="E" S %ZISX=$G(^%ZIS(2,IOST(0),$P(%ZISZ,";",5)))
- E S %ZISX=$P($G(^%ZIS(2,IOST(0),$P(%ZISZ,";",5))),"^",$P(%ZISZ,";",6))
- S %ZISZ($P(%ZISZ,";",3))=%ZISX S:$P(%ZISZ,";",7)!$D(%ZISSALL) %ZISZ($P(%ZISZ,";",3),1)=""
- Q
- ;
- LODUTL ;Load global subscripts and piece positions into ^UTILITY($J,"%ZISS",glob loc,piece pos)
- K ^UTILITY($J)
- F %ZISI=1:1 S %ZISZ=$T(Z+%ZISI) Q:%ZISZ="" S ^UTILITY($J,"%ZISS",$P(%ZISZ,";",5),$P(%ZISZ,";",6))=""
- Q
- LODUTL1 ;Load data element numbers into ^UTILITY($J,"%ZISSDD",data element number
- K ^UTILITY($J)
- F %ZISI=1:1 S %ZISZ=$T(Z+%ZISI) Q:%ZISZ="" S ^UTILITY($J,"%ZISSDD",$P(%ZISZ,";",4))=""
- Q
- Z ;;Variable name;Element number;Global subscript;Piece position;1=input key
- IOPTCH10 ;;IOPTCH10;10;5;1
- IOPTCH12 ;;IOPTCH12;12;5;2
- IOPTCH16 ;;IOPTCH16;12.1;12.1;E
- IOHOME ;;IOHOME;13;5;3
- IORVON ;;IORVON;14;5;4
- IORVOFF ;;IORVOFF;15;5;5
- IOELEOL ;;IOELEOL;16;5;6
- IOEDEOP ;;IOEDEOP;17;5;7
- IOBON ;;IOBON;18;5;8
- IOBOFF ;;IOBOFF;19;5;9
- IORESET ;;IORESET;20;6;1
- IOSGR0 ;;IOSGR0;20.5;6;8
- IOHUP ;;IOHUP;21;6;2
- IOHDWN ;;IOHDWN;22;6;3
- IOUON ;;IOUON;23;6;4
- IOUOFF ;;IOUOFF;24;6;5
- IORLF ;;IORLF;25;6;6
- IOPROP ;;IOPROP;26;6;7
- IOINHI ;;IOINHI;27;7;1
- IOINLOW ;;IOINLOW;28;7;2
- IOINORM ;;IOINORM;29;7;3
- IOIRM1 ;;IOIRM1;30;7;4
- IOIRM0 ;;IOIRM0;30;7;5
- IOEDBOP ;;IOEDBOP;32;13;1
- IOEDALL ;;IOEDALL;33;13;2
- IOELBOL ;;IOELBOL;34;13;3
- IOELALL ;;IOELALL;35;13;4
- IOECH ;;IOECH;36;13;5
- IOEFLD ;;IOEFLD;37;13;6
- IOCUU ;;IOCUU;40;8;1;1
- IOCUD ;;IOCUD;41;8;2;1
- IOCUF ;;IOCUF;42;8;3;1
- IOCUB ;;IOCUB;43;8;4;1
- IODL ;;IODL;45;8;6
- IOIL ;;IOIL;46;8;7
- IODCH ;;IODCH;47;8;8
- IOICH ;;IOICH;48;8;9
- IOCUON ;;IOCUON;49;8.1;1
- IOCUOFF ;;IOCUOFF;49.1;8.1;2
- IOIND ;;IOIND;70;14;1
- IORI ;;IORI;71;14;2
- IOSC ;;IOSC;72;14;3
- IORC ;;IORC;73;14;4
- IONEL ;;IONEL;74;14;5
- IOAWM1 ;;IOAWM1;75;15;1
- IOAWM0 ;;IOAWM0;76;15;2
- IOARM1 ;;IOARM1;77;15;3
- IOARM0 ;;IOARM0;78;15;4
- IOKPAM ;;IOKPAM;79;15;5
- IOKPNM ;;IOKPNM;79.1;15;6
- IOHTS ;;IOHTS;80;16;1
- IOTBC ;;IOTBC;81;16;2
- IOTBCALL ;;IOTBCALL;82;16;3
- IOSTBM ;;IOSTBM;83;16;4
- IODHLT ;;IODHLT;85;17;1
- IODHLB ;;IODHLB;86;17;2
- IODWL ;;IODWL;87;17;3
- IOSWL ;;IOSWL;88;17;4
- IOMC ;;IOMC;112;PRT;1
- IOSMPLX ;;IOSMPLX;1001;1001;1
- IODPLXL ;;IODPLXL;1002;1001;2
- IODPLXS ;;IODPLXS;1003;1001;3
- KP0 ;;KP0;120;18;1;1
- KP1 ;;KP1;121;18;2;1
- KP2 ;;KP2;122;18;3;1
- KP3 ;;KP3;123;18;4;1
- KP4 ;;KP4;124;18;5;1
- KP5 ;;KP5;125;18;6;1
- KP6 ;;KP6;126;18;7;1
- KP7 ;;KP7;127;18;8;1
- KP8 ;;KP8;128;18;9;1
- KP9 ;;KP9;129;18;10;1
- PF1 ;;PF1;130;19;1;1
- PF2 ;;PF2;131;19;2;1
- PF3 ;;PF3;132;19;3;1
- PF4 ;;PF4;133;19;4;1
- MINUS ;;MINUS;134;19;5;1
- COMMA ;;COMMA;135;19;6;1
- ENTER ;;ENTER;136;19;7;1
- PERIOD ;;PERIOD;137;19;8;1
- FIND ;;FIND;140;20;1;1
- SELECT ;;SELECT;141;20;2;1
- INSERT ;;INSERT;142;20;3;1
- REMOVE ;;REMOVE;143;20;4;1
- PREVSCRN ;;PREVSCRN;144;20;5;1
- NEXTSCRN ;;NEXTSCRN;145;20;6;1
- HELP ;;HELP;146;21;1;1
- DO ;;DO;147;21;2;1
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HZISS 4385 printed Jan 18, 2025@03:16:24 Page 2
- %ZISS ;AC/SF,SLC/RWF - Collect screen parameters ;11/5/97 16:01
- +1 ;;8.0;KERNEL;**69**;JUL 10, 1995
- KV KILL %ZIS,%ZISXX,%ZISYY,%ZISE,%ZISFN,%ZISN,%ZISNP,%ZISX,%ZISY,%ZISZ,%ZISI,ZISCH,ZISEND,ZISNUM,ZISQ,ZISXL,ZISXLN,ZISNP
- +1 QUIT
- KILL ;REMOVES EXTENDED OUTPUT VARIABLES.
- +1 KILL IOARM0,IOARM1,IOAWM0,IOAWM1,IOBOFF,IOBON,IOCUB,IOCUD,IOCUF,IOCUU,IODCH,IODHLB,IODHLT,IODL,IODWL,IOECH,IOEDBOP,IOEDEOP,IOEDALL,IOEFLD,IOELBOL,IOELEOL,IOELALL,IOHDWN,IOHOME,IOHTS,IOHUP
- +2 KILL IOICH,IOIL,IOIND,IOINHI,IOINLOW,IOINORM,IOIRM0,IOIRM1,IOIS,IOKPAM,IOKPNM,IOMC,IONEL,IOPROP,IOPTCH10,IOPTCH12,IOPTCH16,IORC,IORESET,IORI,IORLF,IORVOFF,IORVON,IOSC,IOSGR0,IOSWL,IOSTBM,IOTBC,IOTBCALL,IOUOFF,IOUON
- +3 KILL IOKP0,IOKP1,IOKP2,IOKP3,IOKP4,IOKP5,IOKP6,IOKP7,IOKP8,IOKP9,IOPF1,IOPF2,IOPF3,IOPF4,IOFIND,IOSELECT,IOPREVSC,IONEXTSC,IOCOMMA,IOMINUS,IOPERIOD,IOENTER,IOINSERT,IOREMOVE
- +4 KILL IOSMPLX,IODPLXL,IODPLXS
- +5 QUIT
- +6 ;
- GSET GOTO SETZ^%ZISS2
- +1 ;
- GKILL GOTO KILL^%ZISS2
- +1 ;
- ENDR ;Entry point for DR Value entered into variable X.
- +1 if '$DATA(IOST(0))!'$DATA(X)#2
- QUIT
- SET %ZISZ=""
- DO DR
- DO SET2^%ZISS1
- DO KV
- QUIT
- +2 ;
- ENS ;Entry point to retrieve all screen parameters.
- +1 if '$DATA(IOST(0))
- QUIT
- DO KILL
- DO SET1
- DO SET2^%ZISS1
- DO KV
- QUIT
- +2 ;
- SET1 ;D SETZ
- SETZ FOR %ZISI=1:1
- SET %ZISZ=$TEXT(Z+%ZISI)
- if %ZISZ=""
- QUIT
- DO SETDR
- +1 QUIT
- DR ;Process variable X.
- +1 FOR %ZISN=1:1:$LENGTH(X,";")
- SET (%,%ZISZ)=$PIECE(X,";",%ZISN)
- SET %ZISZ=$TEXT(@%ZISZ)
- if %ZISZ=""
- SET %ZISZ=$TEXT(@$EXTRACT(%,3,$LENGTH(%)))
- IF %ZISZ]""
- IF $PIECE(X,";",%ZISN)=$PIECE(%ZISZ,";",3)!($EXTRACT($PIECE(X,";",%ZISN),3,999)=$PIECE(%ZISZ,";",3))
- DO SETDR
- +2 QUIT
- SETDR ;SET VARIABLES
- +1 IF $PIECE(%ZISZ,";",6)="E"
- SET %ZISX=$GET(^%ZIS(2,IOST(0),$PIECE(%ZISZ,";",5)))
- +2 IF '$TEST
- SET %ZISX=$PIECE($GET(^%ZIS(2,IOST(0),$PIECE(%ZISZ,";",5))),"^",$PIECE(%ZISZ,";",6))
- +3 SET %ZISZ($PIECE(%ZISZ,";",3))=%ZISX
- if $PIECE(%ZISZ,";",7)!$DATA(%ZISSALL)
- SET %ZISZ($PIECE(%ZISZ,";",3),1)=""
- +4 QUIT
- +5 ;
- LODUTL ;Load global subscripts and piece positions into ^UTILITY($J,"%ZISS",glob loc,piece pos)
- +1 KILL ^UTILITY($JOB)
- +2 FOR %ZISI=1:1
- SET %ZISZ=$TEXT(Z+%ZISI)
- if %ZISZ=""
- QUIT
- SET ^UTILITY($JOB,"%ZISS",$PIECE(%ZISZ,";",5),$PIECE(%ZISZ,";",6))=""
- +3 QUIT
- LODUTL1 ;Load data element numbers into ^UTILITY($J,"%ZISSDD",data element number
- +1 KILL ^UTILITY($JOB)
- +2 FOR %ZISI=1:1
- SET %ZISZ=$TEXT(Z+%ZISI)
- if %ZISZ=""
- QUIT
- SET ^UTILITY($JOB,"%ZISSDD",$PIECE(%ZISZ,";",4))=""
- +3 QUIT
- Z ;;Variable name;Element number;Global subscript;Piece position;1=input key
- IOPTCH10 ;;IOPTCH10;10;5;1
- IOPTCH12 ;;IOPTCH12;12;5;2
- IOPTCH16 ;;IOPTCH16;12.1;12.1;E
- IOHOME ;;IOHOME;13;5;3
- IORVON ;;IORVON;14;5;4
- IORVOFF ;;IORVOFF;15;5;5
- IOELEOL ;;IOELEOL;16;5;6
- IOEDEOP ;;IOEDEOP;17;5;7
- IOBON ;;IOBON;18;5;8
- IOBOFF ;;IOBOFF;19;5;9
- IORESET ;;IORESET;20;6;1
- IOSGR0 ;;IOSGR0;20.5;6;8
- IOHUP ;;IOHUP;21;6;2
- IOHDWN ;;IOHDWN;22;6;3
- IOUON ;;IOUON;23;6;4
- IOUOFF ;;IOUOFF;24;6;5
- IORLF ;;IORLF;25;6;6
- IOPROP ;;IOPROP;26;6;7
- IOINHI ;;IOINHI;27;7;1
- IOINLOW ;;IOINLOW;28;7;2
- IOINORM ;;IOINORM;29;7;3
- IOIRM1 ;;IOIRM1;30;7;4
- IOIRM0 ;;IOIRM0;30;7;5
- IOEDBOP ;;IOEDBOP;32;13;1
- IOEDALL ;;IOEDALL;33;13;2
- IOELBOL ;;IOELBOL;34;13;3
- IOELALL ;;IOELALL;35;13;4
- IOECH ;;IOECH;36;13;5
- IOEFLD ;;IOEFLD;37;13;6
- IOCUU ;;IOCUU;40;8;1;1
- IOCUD ;;IOCUD;41;8;2;1
- IOCUF ;;IOCUF;42;8;3;1
- IOCUB ;;IOCUB;43;8;4;1
- IODL ;;IODL;45;8;6
- IOIL ;;IOIL;46;8;7
- IODCH ;;IODCH;47;8;8
- IOICH ;;IOICH;48;8;9
- IOCUON ;;IOCUON;49;8.1;1
- IOCUOFF ;;IOCUOFF;49.1;8.1;2
- IOIND ;;IOIND;70;14;1
- IORI ;;IORI;71;14;2
- IOSC ;;IOSC;72;14;3
- IORC ;;IORC;73;14;4
- IONEL ;;IONEL;74;14;5
- IOAWM1 ;;IOAWM1;75;15;1
- IOAWM0 ;;IOAWM0;76;15;2
- IOARM1 ;;IOARM1;77;15;3
- IOARM0 ;;IOARM0;78;15;4
- IOKPAM ;;IOKPAM;79;15;5
- IOKPNM ;;IOKPNM;79.1;15;6
- IOHTS ;;IOHTS;80;16;1
- IOTBC ;;IOTBC;81;16;2
- IOTBCALL ;;IOTBCALL;82;16;3
- IOSTBM ;;IOSTBM;83;16;4
- IODHLT ;;IODHLT;85;17;1
- IODHLB ;;IODHLB;86;17;2
- IODWL ;;IODWL;87;17;3
- IOSWL ;;IOSWL;88;17;4
- IOMC ;;IOMC;112;PRT;1
- IOSMPLX ;;IOSMPLX;1001;1001;1
- IODPLXL ;;IODPLXL;1002;1001;2
- IODPLXS ;;IODPLXS;1003;1001;3
- KP0 ;;KP0;120;18;1;1
- KP1 ;;KP1;121;18;2;1
- KP2 ;;KP2;122;18;3;1
- KP3 ;;KP3;123;18;4;1
- KP4 ;;KP4;124;18;5;1
- KP5 ;;KP5;125;18;6;1
- KP6 ;;KP6;126;18;7;1
- KP7 ;;KP7;127;18;8;1
- KP8 ;;KP8;128;18;9;1
- KP9 ;;KP9;129;18;10;1
- PF1 ;;PF1;130;19;1;1
- PF2 ;;PF2;131;19;2;1
- PF3 ;;PF3;132;19;3;1
- PF4 ;;PF4;133;19;4;1
- MINUS ;;MINUS;134;19;5;1
- COMMA ;;COMMA;135;19;6;1
- ENTER ;;ENTER;136;19;7;1
- PERIOD ;;PERIOD;137;19;8;1
- FIND ;;FIND;140;20;1;1
- SELECT ;;SELECT;141;20;2;1
- INSERT ;;INSERT;142;20;3;1
- REMOVE ;;REMOVE;143;20;4;1
- PREVSCRN ;;PREVSCRN;144;20;5;1
- NEXTSCRN ;;NEXTSCRN;145;20;6;1
- HELP ;;HELP;146;21;1;1
- DO ;;DO;147;21;2;1