├── tests ├── .gitignore └── VPE.cfg ├── docs ├── vpe_db4.html └── vpe_db3.html ├── Routines ├── XVST.m ├── XVSQ.m ├── XVSC.m ├── XVVMINI5.m ├── XVSR.m ├── XVSO.m ├── XVEMDUM.m ├── XVEMSGR.m ├── XVEMBLDL.m ├── XVEMSHY.m ├── XVEMSY2.m ├── XVEMSCU.m ├── XVEMSG.m ├── XVVMVPE.m ├── XVEMRHW.m ├── XVEMRS1.m ├── XVVMINI4.m ├── XVEMKE.m ├── XVEMS.m ├── XVEMKP.m ├── XVEMBLDB.m ├── XVEMDH1.m ├── XVEMDLM.m ├── XVSE.m ├── XVEMBLD.m ├── XVEMRUS.m ├── XVVMINI2.m ├── XVEMDH3.m ├── XVSK.m ├── XVEMKDT.m ├── XVEMD1.m ├── XVEMGM.m ├── XVEMDC.m ├── XVEMRY.m ├── XVVMINIS.m ├── XVEMKU1.m ├── XVEMSH9.m ├── XVEMDL1.m ├── XVEMSQU.m ├── XVEMRUM.m ├── XVEMGH2.m ├── XVEMDY.m ├── XVEMSLB.m ├── XVEMDLB.m ├── XVVMINI1.m ├── XVEMKEB.m ├── XVEMRHK.m ├── XVEMGUM.m ├── XVSS.m ├── XVEMGY.m ├── XVEMSO.m ├── XVEMSD.m ├── XVEMDLE.m ├── XVEMKTU.m ├── XVEMDPR.m ├── XVEMSQV.m ├── XVEMGS.m ├── XVEMGM1.m ├── XVEMKI5.m ├── XVVMI00S.m ├── XVEMDH2.m ├── XVEMGMC.m ├── XVEMSS1.m ├── XVEMDN.m ├── XVEMSLD.m ├── XVEMRLX.m ├── XVEMSLC.m ├── XVEMSQW.m ├── XVEMKST.m ├── XVEMSGH.m ├── XVEMBLDA.m ├── XVEMKEC.m ├── XVEMRH.m ├── XVEMSQA.m ├── XVEMDLI.m ├── XVEMGH.m ├── XVEMDH4.m ├── XVEMSO1.m ├── XVEMSQ.m ├── XVSA.m ├── XVEMKC.m ├── XVEMSL.m ├── XVEMG1.m ├── XVEMDM.m ├── XVVMI001.m ├── XVEMDH5.m ├── XVEMRI1.m ├── XVEMSH7.m ├── XVEMREM.m ├── XVEMDU.m ├── XVEMGR1.m ├── XVEMSF1.m ├── XVEMKEA.m ├── XVEMDPT.m ├── XVEMDU1.m ├── XVEMRE1.m ├── XVEMGH1.m ├── XVEMSU2.m ├── XVEMSPS.m ├── XVEMKT2.m ├── XVEMRLO.m ├── XVEMSF4.m ├── XVEMSYN1.m ├── XVEMSH1.m └── XVEMDT.m ├── LICENSE ├── PACKAGING.md └── NOTICE /tests/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | -------------------------------------------------------------------------------- /docs/vpe_db4.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shabiel/VPE/HEAD/docs/vpe_db4.html -------------------------------------------------------------------------------- /tests/VPE.cfg: -------------------------------------------------------------------------------- 1 | [RemoteDetails] 2 | RemoteConnect=0 3 | ;ServerLocation=127.0.0.1 4 | Instance=gtm 5 | ;UseDefaultNamespace=0 ; Whether to send a ZN "[Namespace]" or not. 1-> no ZN, 0-> ZN to namepace. 6 | -------------------------------------------------------------------------------- /Routines/XVST.m: -------------------------------------------------------------------------------- 1 | XVST ; Paideia/SMH - VPE handle timeout ;2017-08-16 10:59 AM 2 | ;;15.2;VICTORY PROG ENVIRONMENT;;Aug 27, 2019 3 | ; (c) 2010-2016 Sam Habiel 4 | S XVVSHC=$G(^XVEMS("QU",XVV("ID"),"TO")) 5 | Q:XVVSHC="" 6 | S:XVVSHC="HALT"!(XVVSHC="halt") XVVSHC="^" 7 | -------------------------------------------------------------------------------- /Routines/XVSQ.m: -------------------------------------------------------------------------------- 1 | XVSQ ; Paideia/SMH - VPE Process QWIKs ;2017-08-16 10:57 AM 2 | ;;15.2;VICTORY PROG ENVIRONMENT;;Aug 27, 2019 3 | ; (c) 2010-2016 Sam Habiel 4 | ; 5 | N HLD 6 | S XVVWARN="QWIK" 7 | S HLD=$$ALLCAPS^XVEMKU($P(XVVSHC," "))_" "_$P(XVVSHC," ",2,99) 8 | D QWIK^XVEMSQS(HLD) 9 | QUIT 10 | -------------------------------------------------------------------------------- /Routines/XVSC.m: -------------------------------------------------------------------------------- 1 | XVSC ; Paideia/SMH - VPE warn of a global kill;2017-08-16 10:56 AM; 10/17/09 11:16pm 2 | ;;15.2;VICTORY PROG ENVIRONMENT;;Aug 27, 2019 3 | ; (c) 2010-2016 Sam Habiel 4 | ; 5 | Q:$G(XVVWARN)="QWIK" 6 | N HLD 7 | S HLD=$$ALLCAPS^XVEMKU(XVVSHC) 8 | I HLD["K",HLD["^" DO 9 | . N FLAGG S FLAGG="GLB" 10 | . D KILLCHK^XVEMKU(HLD) 11 | QUIT 12 | -------------------------------------------------------------------------------- /Routines/XVVMINI5.m: -------------------------------------------------------------------------------- 1 | XVVMINI5 ; ; 04-JAN-2004 2 | ;;15.2;VICTORY PROG ENVIRONMENT;;Aug 27, 2019 3 | K ^UTILITY("DIF",$J) S DIFRDIFI=1 F I=1:1:10 S ^UTILITY("DIF",$J,DIFRDIFI)=$T(IXF+I),DIFRDIFI=DIFRDIFI+1 4 | Q 5 | IXF ;;VPE SHELL^XVVM 6 | ;;19200.11I;VPE RTN LBRY;^XVV(19200.11,;0;y;;;y 7 | ;; 8 | ;;19200.111I;VPE PERSON;^XVV(19200.111,;0;y;;;y 9 | ;; 10 | ;;19200.112O;VPE RTN VERSIONING;^XVV(19200.112,;0;y;;;y 11 | ;; 12 | ;;19200.113I;VPE PROGRAMMER CALL;^XVV(19200.113,;0;y;;;y;;;y;o;y 13 | ;; 14 | ;;19200.114I;VPE PROGRAMMER PARAMETER;^XVV(19200.114,;0;y;;;y;;;y;o;y 15 | ;; 16 | -------------------------------------------------------------------------------- /Routines/XVSR.m: -------------------------------------------------------------------------------- 1 | XVSR ; Paideia/SMH - VPE Single Character Reads ;Aug 21, 2019@13:53 2 | ;;15.2;VICTORY PROG ENVIRONMENT;;Aug 27, 2019 3 | ; (c) 2010-2016,2019 Sam Habiel 4 | ; 5 | ZR1 ; Main 6 | N CD,FLAGCLH,PROMPT,Y 7 | S:'$D(XVV("IOM")) XVV("IOM")=80 8 | D ZR2 9 | S CD="",FLAGCLH=">>" 10 | D SCREEN^XVEMKEA(PROMPT,0,XVV("IOM")-2,1) 11 | D ZR4,ZR3 12 | QUIT 13 | ZR2 ; Special prompt handling (like $ZPROMPT) 14 | I $D(^%ZOSF("UCI"))&($D(^XVEMS("PARAM",XVV("ID"),"PROMPT"))) X ^%ZOSF("UCI") 15 | S PROMPT=$G(Y)_">>" 16 | D ZR5 17 | QUIT 18 | ZR3 ; 19 | S XVVSHC=$S(XVVSHC="":CD,XVVSHC?1"<".E1">".E&(CD']""):XVVSHC,1:"") 20 | QUIT 21 | ZR4 ; 22 | I XVVSHC="TOO LONG" W ! D CLHSET^XVEMSCL("VSHL",CD) S XVVSHC="" 23 | QUIT 24 | ZR5 ; 25 | KILL ^XVEMS("ERROR",XVV("ID")) 26 | QUIT 27 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Most code is public domain. Various portions are: 2 | 3 | Copyright 2005 Brian Lord 4 | Copyright 2010-2015, 2019 David Wicksell 5 | Copyright 2010-2017, 2019 Sam Habiel 6 | 7 | Authors are noted in each routine. 8 | 9 | Licensed under the Apache License, Version 2.0 (the "License"); 10 | you may not use this file except in compliance with the License. 11 | You may obtain a copy of the License at 12 | 13 | http://www.apache.org/licenses/LICENSE-2.0 14 | 15 | Unless required by applicable law or agreed to in writing, software 16 | distributed under the License is distributed on an "AS IS" BASIS, 17 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | See the License for the specific language governing permissions and 19 | limitations under the License. 20 | -------------------------------------------------------------------------------- /Routines/XVSO.m: -------------------------------------------------------------------------------- 1 | XVSO ; Paideia/SMH - VPE 'Other' functions ;2017-08-16 10:57 AM 2 | ;;15.2;VICTORY PROG ENVIRONMENT;;Aug 27, 2019 3 | ; (c) 2010-2016 Sam Habiel 4 | ; Notes: This corresponds to ^XVEMS("ZO") 5 | ; 6 | ZO1 ; Reset $ZR and $T 7 | N X 8 | S:$G(XVV("$ZR"))]"" @("X=$"_$S(XVV("$ZR")["(":"O",1:"D")_"("_XVV("$ZR")_")") 9 | I $G(XVV("$T")) 10 | Q 11 | ; 12 | ZO2 ; 13 | Q:'$D(XVV("ID")) 14 | Q:'$D(^%ZOSF("UCI")) 15 | N Y 16 | X ^("UCI") ; put UCI in Y 17 | Q:$G(^XVEMS("CLH","UCI",XVV("ID")_$G(^XVEMS("SY"))))=Y 18 | D ZO3 19 | Q 20 | ; 21 | ZO3 ; Kill VShell's CLH if user switches UCIs 22 | S ^XVEMS("CLH","UCI",XVV("ID")_$G(^XVEMS("SY")))=Y 23 | K ^XVEMS("CLH",XVV("ID"),"VSHL") 24 | QUIT 25 | ; 26 | ZO4 ; Reset X after ^%ZOSF("TRAP") 27 | S:$D(%1) X=%1 28 | KILL:'$D(%1) X 29 | KILL %1 30 | QUIT 31 | -------------------------------------------------------------------------------- /Routines/XVEMDUM.m: -------------------------------------------------------------------------------- 1 | XVEMDUM ;DJB/VEDD**Scroll Messages [9/24/95 3:26pm];2017-08-15 12:23 PM 2 | ;;15.2;VICTORY PROG ENVIRONMENT;;Aug 27, 2019 3 | ; Original Code authored by David J. Bolduc 1985-2005 4 | ; 5 | MSG(NUM,PAUSE) ;Messages 6 | ;NUM=Subroutine number PAUSE=Pause screen 7 | Q:$G(NUM)'>0 8 | S DX=0,DY=XVVT("S2")+XVVT("FT")-2 9 | D CURSOR^XVEMKU1(DX,DY,1),@NUM 10 | S DX=0,DY=DY+1 I $G(PAUSE) X XVVS("CRSR") D PAUSE^XVEMKU(0) 11 | Q 12 | 1 W $C(7),"You may only branch from pointer fields (marked with ""<-Pntr"")" Q 13 | 2 W $C(7),"Pointed-to file doesn't exist." Q 14 | 3 W $C(7),"No files on record." Q 15 | 4 W $C(7),"Enter REF number from left hand column" Q 16 | 5 W "Enter field name or part of field name." Q 17 | 6 W $C(7),"Invalid field name." Q 18 | 7 W $C(7),"There is no reference to a data global in ^DD." Q 19 | -------------------------------------------------------------------------------- /Routines/XVEMSGR.m: -------------------------------------------------------------------------------- 1 | XVEMSGR ;DJB/VSHL**VShell Global - ZOSF Nodes ;2017-08-15 4:52 PM 2 | ;;15.2;VICTORY PROG ENVIRONMENT;;Aug 27, 2019 3 | ; Original Code authored by David J. Bolduc 1985-2005 4 | ; 5 | ZOSF ;Load system specific code into ZOSF nodes 6 | NEW I,ND,TXT,VEND 7 | KILL ^XVEMS("ZOSF") 8 | S ^XVEMS("ZOSF")="System specific code" 9 | F I=1:1 S TXT=$T(SYS+I) Q:$P(TXT,";",3)="***" D ; 10 | . S ND=$P(TXT,";",3) 11 | . S VEND=$P(TXT,";",4) 12 | . S ^XVEMS("ZOSF",VEND,ND)=$P(TXT,";",5,999) ;Vendor specific code 13 | Q 14 | SYS ;System specific code 15 | ;;EON;8;U $I:(:::::1) 16 | ;;EOFF;8;U $I:(::::1) 17 | ;;TRMON;8;U $I:(::::::::$C(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127)) 18 | ;;TRMOFF;8;U $I:(::::::::$C(13,27)) 19 | ;;TRMRD;8;S Y=$ZB 20 | ;;EON;18;U $I:("":"-S") 21 | ;;EOFF;18;U $I:("":"+S") 22 | ;;TRMON;18;U $I:("":"+I+T") 23 | ;;TRMOFF;18;U $I:("":"-I-T":$C(13,27)) 24 | ;;TRMRD;18;S Y=$A($ZB),Y=$S(Y<32:Y,Y=127:Y,1:0) 25 | ;;*** 26 | -------------------------------------------------------------------------------- /Routines/XVEMBLDL.m: -------------------------------------------------------------------------------- 1 | XVEMBLDL ;DJB/VSHL**VPE Setup - Load Editor & Shell ; 6/12/19 11:05am 2 | ;;15.2;VICTORY PROG ENVIRONMENT;;Aug 27, 2019 3 | ; Original Code authored by David J. Bolduc 1985-2005 4 | ; Sam habiel OLD EP (c) 2019. 5 | ; 6 | TOP ; 7 | D SHELL 8 | I FLAGQ D G EX 9 | . W !!,"VPE Shell global not loaded." 10 | W !!,"VPE Programmer Shell successfully loaded." 11 | W !,"Initialization finished." 12 | W !!,"NOTE: To start the VPE Shell, type: D ^XV" 13 | D OLD 14 | R !!," to continue..",XX:300 15 | D DISCLAIM^XVEMKU1 16 | EX ; 17 | Q 18 | ;=================================================================== 19 | SHELL ;Load VPE Shell Global - ^XVEMS 20 | S FLAGQ=0 21 | D YESNO^XVEMBLD("Load VPE Shell global: YES// ") 22 | Q:FLAGQ 23 | D ALL^XVEMSG 24 | Q 25 | ; 26 | OLD ; Old VPE Warning 27 | I $D(^%ZVEMS) D 28 | . W !! 29 | . W "Old VPE (v12) seems to be installed here",! 30 | . W "Old VPE can still be used by running X ^%ZVEMS",! 31 | . W "New VPE can be invoked by running D ^XV",! 32 | Q 33 | -------------------------------------------------------------------------------- /Routines/XVEMSHY.m: -------------------------------------------------------------------------------- 1 | XVEMSHY ;DJB/VSHL**Help Text Menu Init [11/12/95 8:57am];2017-08-15 5:01 PM 2 | ;;15.2;VICTORY PROG ENVIRONMENT;;Aug 27, 2019 3 | ; Original Code authored by David J. Bolduc 1985-2005 4 | ; 5 | HD ;Heading 6 | NEW MAR 7 | S MAR=$G(XVV("IOM")) S:MAR'>0 MAR=80 8 | W @XVV("IOF") S DX=1,DY=22 X XVVS("CRSR") W @XVV("RON") 9 | W !," ,'^'=Quit HIGHLIGHT,Enter Name=Select Menu Option",?(MAR-1),@XVV("ROFF") 10 | S DX=0,DY=0 X XVVS("CRSR") W @XVV("RON") 11 | W !?(MAR-$L(HD)/2),HD,?(MAR-1),@XVV("ROFF") 12 | Q 13 | INIT ;Initialize variables 14 | I '$D(XVV("OS")) D OS^XVEMKY Q:FLAGQ 15 | D IO^XVEMKY,SCRNVAR^XVEMKY2,REVVID^XVEMKY2,BLANK^XVEMKY3 16 | S (COL,CNT)=1 17 | S PROMPT="S DX=8,DY=21 X XVVS(""CRSR"") W ""SELECT: "",@XVVS(""BLANK_C_EOL"")" 18 | S SET="S DX=$P(TXT,"";"",7),DY=$P(TXT,"";"",8),TXT=$P(TXT,"";"",4)" 19 | S WRITE="X XVVS(""CRSR"") W "" ""_TXT_$E(SPACES,1,WIDTH-$L(TXT))" 20 | S LAST=0 F I=1:1 Q:$P(COLUMNS,"^",I)'>0 S COL(I)=$P(COLUMNS,"^",I),LAST=LAST+COL(I) 21 | S COLCNT=I-1,$P(SPACES," ",XVV("IOM"))="" 22 | Q 23 | -------------------------------------------------------------------------------- /Routines/XVEMSY2.m: -------------------------------------------------------------------------------- 1 | XVEMSY2 ;DJB/VSHL**Init cont.. [01/11/94];2017-08-16 10:46 AM 2 | ;;15.2;VICTORY PROG ENVIRONMENT;;Aug 27, 2019 3 | ; Original Code authored by David J. Bolduc 1985-2005 4 | ; 5 | RVCHK ;Check reverse video 6 | NEW NODE5,RVOFF,RVON,X 7 | Q:$G(IOST(0))'>0 Q:'$D(^%ZIS(2,IOST(0),0)) S NODE5=$G(^(5)) 8 | S RVON=$P(NODE5,"^",4),RVOFF=$P(NODE5,"^",5) 9 | I RVON']""!(RVOFF']"") D RVMSG1 Q 10 | W @RVON,@RVOFF D RVMSG2 11 | Q 12 | RVMSG1 ; 13 | W $C(7),!!!!?1,"TERMINAL TYPE: " W $P(^%ZIS(2,IOST(0),0),"^",1) 14 | W !?1,"The REVERSE VIDEO ON and REVERSE VIDEO OFF fields in the TERMINAL TYPE" 15 | W !?1,"file are not filled in for your terminal type.",! 16 | Q 17 | RVMSG2 ; 18 | W !!!!?1,"TERMINAL TYPE: " W $P(^%ZIS(2,IOST(0),0),"^",1) 19 | W !?1,"If your screen is now in Reverse Video, the REVERSE VIDEO OFF field in the" 20 | W !?1,"TERMINAL TYPE file may not be correct for your terminal type. This will" 21 | W !?1,"adversely effect some VSHELL screens and should be corrected." 22 | W !?1,"Type 'W $C(27,91,109)' if you need to return your screen to normal.",! 23 | Q 24 | -------------------------------------------------------------------------------- /Routines/XVEMSCU.m: -------------------------------------------------------------------------------- 1 | XVEMSCU ;DJB/VSHL**Command Line History Utility [11/06/94];2017-08-15 4:46 PM 2 | ;;15.2;VICTORY PROG ENVIRONMENT;;Aug 27, 2019 3 | ; Original Code authored by David J. Bolduc 1985-2005 4 | ; 5 | QWIK(CLHCODE) ;Make a QWIK using CODE from Command Line History 6 | Q:$G(CLHCODE)']"" 7 | NEW BOX,BX,FLAGJMP,FLAGQ,NAM,PROMPT,TXT 8 | S (FLAGJMP,FLAGQ)=0 9 | D GETQWIK Q:FLAGQ S ^XVEMS("QU",XVV("ID"),NAM)=CLHCODE 10 | I $G(^XVEMS("QU",XVV("ID"),NAM))']"" Q 11 | D TEXT^XVEMSQE("DSC") Q:XVVSHC=""!FLAGQ 12 | D TEXT^XVEMSQE("PARAM") Q:XVVSHC=""!FLAGQ 13 | D BOX^XVEMSQE 14 | Q 15 | GETQWIK ; 16 | D GETNAM^XVEMSQ(1) S:$G(NAM)']"" FLAGQ=1 Q:FLAGQ D S:'$$YN(PROMPT) FLAGQ=1 17 | . I $D(^XVEMS("QU",XVV("ID"),NAM)) S PROMPT="This QWIK already exists. Shall I overwrite? YES// " Q 18 | . S PROMPT="Do you want to add as a new QWIK? YES// " 19 | Q 20 | YN(PROMPT) ;1=Ok to delete, 0=No delete 21 | NEW XX S PROMPT=$G(PROMPT) 22 | YN1 ; 23 | W !?1,PROMPT R XX:500 S:'$T!(XX="^") XX="N" S:XX="" XX="Y" S XX=$E(XX) 24 | I "YyNn"'[XX W " Y=YES N=NO" G YN1 25 | I "Yy"'[XX Q 0 26 | Q 1 27 | -------------------------------------------------------------------------------- /Routines/XVEMSG.m: -------------------------------------------------------------------------------- 1 | XVEMSG ;DJB/VSHL**Global Loader ;2017-08-16 12:06 PM 2 | ;;15.2;VICTORY PROG ENVIRONMENT;;Aug 27, 2019 3 | ; Original Code authored by David J. Bolduc 1985-2005 4 | ; Heavily refactored by David Wicksell and then Sam Habiel to remove all 5 | ; references to code in globals. 6 | ; (c) David Wicksell 2010-2011 7 | ; (c) Sam Habiel 2010,2016 8 | ; 9 | Q 10 | ALL ;Load entire ^XVEMS global 11 | NEW I,RTN,TAG,TXT 12 | D INIT 13 | D SY 14 | ; 15 | ;Build System QWIKs 16 | D ^XVEMSGS 17 | D ^XVEMSGT 18 | D ^XVEMSGU 19 | ; 20 | ;Load ZOSF nodes 21 | ;D ^XVEMSGR 22 | ; 23 | ;Load Help and other text 24 | D TEXT^XVEMSGH 25 | Q 26 | ; 27 | ; 28 | ; 29 | SY ;Use to guarantee unique subscript - $J_$G(^XVEMS("SY")) 30 | ;Necessary because not all systems support $SY. 31 | S ^XVEMS("SY")="" 32 | ;Set error trap to test if vendor supports $SY 33 | D ; 34 | . N $ESTACK,$ETRAP S $ETRAP="S $EC=""""" 35 | . I $SY]"" S ^XVEMS("SY")="-"_$SY 36 | Q 37 | ; 38 | INIT ; 39 | S U="^" 40 | S ^XVEMS("%")="Scratch area" 41 | S ^XVEMS("CLH")="Command line history" 42 | S ^XVEMS("ID")="User IDs" 43 | S ^XVEMS("PARAM")="Shell parameters" 44 | Q 45 | ; 46 | ERROR ; 47 | Q 48 | -------------------------------------------------------------------------------- /Routines/XVVMVPE.m: -------------------------------------------------------------------------------- 1 | XVVMVPE ;DJB/VPE**Edit PERSON ;2017-08-16 11:00 AM 2 | ;;15.2;VICTORY PROG ENVIRONMENT;;Aug 27, 2019 3 | ; Original Code authored by David J. Bolduc 1985-2005 4 | ; 5 | EN ; 6 | NEW FLAGQ,XVVPERI,XVVPERN 7 | TOP W @IOF 8 | W !,"*** ENTER/EDIT PERSON ***",! 9 | S FLAGQ=0 10 | D GETPER G:FLAGQ EX 11 | D EDIT 12 | G TOP 13 | EX ; 14 | Q 15 | ; 16 | GETPER ;Select a Person 17 | ;Return: 18 | ; XVVPERI...Person IEN 19 | ; XVVPERN...Person name 20 | ; FLAGQ.....Quit variable 21 | ; 22 | NEW %,%Y,DDH,DIC,X,Y 23 | S DIC="^XVV(19200.111," 24 | S DIC(0)="QEAML" 25 | S DIC("A")="Select PERSON: " 26 | D ^DIC I Y<0 S FLAGQ=1 Q 27 | S XVVPERI=+Y,XVVPERN=$P(Y,"^",2) 28 | Q 29 | ; 30 | EDIT ;Edit Person 31 | NEW DA,DIERR,DIMSG,DINUM,DR,DTOUT,DUTOUT,I 32 | NEW DDSFILE,DDSPAGE,DDSPARM,DDSSAVE,DIERR 33 | ; 34 | S DDSFILE=19200.111 35 | S DA=XVVPERI 36 | S DR="[XVVM PER]" 37 | S DDSPARM="CE" 38 | D ^DDS 39 | I $G(DIERR) D DDSERR Q ;... process error & quit 40 | Q 41 | ; 42 | DDSERR ;Form couldn't load 43 | NEW I 44 | W @IOF,!!,"Screenman couldn't load this form." 45 | S I=0 46 | F S I=$O(^TMP("DIERR",$J,1,"TEXT",I)) Q:I'>0 W !,^(I) 47 | D PAUSE^XVEMKU(2,"R") 48 | KILL ^TMP("DIERR",$J) 49 | Q 50 | -------------------------------------------------------------------------------- /Routines/XVEMRHW.m: -------------------------------------------------------------------------------- 1 | XVEMRHW ;DJB/VRR**Help Text - Web [12/14/96 6:34pm];2017-08-15 1:48 PM 2 | ;;15.2;VICTORY PROG ENVIRONMENT;;Aug 27, 2019 3 | ; Original Code authored by David J. Bolduc 1985-2005 4 | ; 5 | WEB ;;; 6 | ;;; Insert HTML code onto new lines 7 | ;;; --------------------------------------------------------------------------- 8 | ;;; xxx ...... Generic 9 | ;;; C ........ Comment 10 | ;;; I ........ Image 11 | ;;; L ........ List