- XPDE ;SFISC/RSD - Package Edit ; Apr 15, 2022@08:55:47
- ;;8.0;KERNEL;**2,15,21,44,51,68,131,182,201,229,302,399,507,539,672,768**;Jul 10, 1995;Build 8
- ;Per VHA Directive 2004-038, this routine should not be modified.
- Q
- ;these tags are called from options.
- EDIT ;edit Build file package
- N DA,DIR,DDSFILE,DR,Y,Z
- Q:'$$DIC("AEMQLZ","",1) S DA=+Y
- I $P(Y,U,3) D NEW(DA)
- S Z=$P(^XPD(9.6,DA,0),U,3)+1,DR="["_$P("XPD EDIT BUILD^XPD EDIT MP^XPD EDIT GP",U,Z)_"]",DDSFILE="^XPD(9.6,"
- D ^DDS Q:'$G(DA)
- ;if full DD, kill multiple for partial DD
- S Y=0 F S Y=$O(^XPD(9.6,DA,4,Y)) Q:'Y S Z=$G(^(Y,222)) D
- .K:$P(Z,U,3)="f" ^XPD(9.6,DA,4,Y,2),^XPD(9.6,DA,4,"APDD",Y)
- D QUIT(DA)
- Q
- COPY ;copy a Build file package
- N DA,DIK,DIR,FR,FR0,TO,TO0,X,Y,Z W !
- Q:'$$DIC("QEAMZ","Copy FROM what Package: ")
- S FR=+Y,FR0=Y(0),Z="QEAMZL",Z("S")="I Y'="_FR
- I '$$DIC(.Z,"Copy TO what Package: ") D QUIT(FR) Q
- S TO=Y,TO0=Y(0)
- ;if this is not new, then it will be purged before copy.
- I '$P(TO,U,3) W !,$P(TO0,U)," package will be PURGED before the copy."
- W ! S DIR(0)="Y",DIR("A")="OK to continue",DIR("B")="YES" D ^DIR
- S DIK="^XPD(9.6,",DA=+TO
- I 'Y!$D(DIRUT) D W ! Q
- .;they didn't want to continue, kill if it was a new package.
- .I $P(TO,U,3) D ^DIK W $P(TO0,U)," being deleted!"
- .;unlock both packages
- .D QUIT(FR),QUIT(TO)
- D WAIT^DICD
- ;if not new, kill old data
- K:'$P(TO,U,3) ^XPD(9.6,DA)
- M ^XPD(9.6,DA)=^XPD(9.6,FR) S $P(^(DA,0),U)=$P(TO0,U)
- D NEW(+TO)
- ;if new National Package name, then kill x-ref
- I $P(TO0,U,2)]"",$P(FR0,U,2)'=$P(TO0,U,2) K ^XPD(9.6,"C",$E($P(TO0,U,2),1,30),DA) S DIK(1)=1 D EN1^DIK
- D QUIT(FR),QUIT(TO)
- W "...Done.",!
- Q
- BUILD ;build package from a namespace
- N DIR,DIRUT,XPDA,XPDI,XPDF,XPDN,XPDX,XPDXL,X,X1,Y,Y1 W !
- Q:'$$DIC("QEAML")
- S XPDA=+Y W !
- I $P(^XPD(9.6,XPDA,0),U,3) W !,"The Build Type must be SINGLE PACKAGE!!",! Q
- ;if not a new package
- I '$P(Y,U,3) D I $D(DIRUT) D QUIT(XPDA) Q
- .S DIR(0)="Y",DIR("A")="Package already exists, Want to PURGE the existing data",DIR("B")="NO",DIR("?")="YES will delete all the KERNEL FILE information for this package in the BUILD file."
- .D ^DIR K DIR Q:'Y
- .S Y=0 F S Y=$O(^XPD(9.6,XPDA,"KRN",Y)) Q:'Y K ^(Y,"NM")
- E D NEW(XPDA)
- ;XPDN(0=excluded names or 1=include names, namespace)=""
- W ! S DIR(0)="FO^1:15^K:X'?.1""-""1U.15UNP X",DIR("A")="Namespace",DIR("?")="Enter 1 to 15 characters, precede with ""-"" to exclude namespace"
- F D ^DIR Q:$D(DIRUT) S X=$E(Y,$L(Y))="*",%=$E(Y)="-",XPDN('%,$E(Y,%+1,$L(Y)-X))=""
- I '$D(XPDN)!$D(DTOUT)!$D(DUOUT) D QUIT(XPDA) Q
- W !!,"NAMESPACE INCLUDE",?35,"EXCLUDE",!,?11,"-------",?35,"-------"
- S (X,Y)="",(X1,Y1)=1
- F D W !?11,X,?35,Y Q:'X1&'Y1
- .S:X1 X=$O(XPDN(1,X)),X1=X]"" S:Y1 Y=$O(XPDN(0,Y)),Y1=Y]""
- S DIR(0)="Y",DIR("A")="OK to continue",DIR("B")="YES" D ^DIR
- I 'Y!$D(DIRUT) D QUIT(XPDA) Q
- D WAIT^DICD S XPDX="",XPDI("IEN")=0
- F S XPDX=$O(XPDN(1,XPDX)),XPDXL=$L(XPDX),XPDF=0 Q:XPDX="" D
- .F S XPDF=$O(^XPD(9.6,XPDA,"KRN",XPDF)) Q:'XPDF D
- ..N XPD,XPDIC,XPDJ,XPCNT W "."
- ..;XPDIC is used in $$SCR1^XPDET
- ..S XPDIC="^XPD(9.6,"_XPDA_",""KRN"","_XPDF_",""NM"",",XPCNT=0
- ..D LIST^DIC(XPDF,"","","","*",.XPDI,XPDX,"","I $E(^(0),1,XPDXL)=XPDX,$$SCR1^XPDET(Y)")
- ..F XPDJ=1:1 S X=$G(^TMP("DILIST",$J,1,XPDJ)) Q:X="" D
- ...S:XPDF<.404 %=^TMP("DILIST",$J,2,XPDJ)_",",X=$$TX^XPDET(X,$$GET1^DIQ(XPDF,%,$$TF^XPDET(XPDF),"I"))
- ...S Y="+"_XPDJ_","_XPDF_","_XPDA_",",XPD(9.68,Y,.01)=X,XPD(9.68,Y,.03)=0
- ...;Keep XPD from getting too big.
- ...S XPCNT=XPCNT+1 I XPCNT>100 D UPDATE^DIE("","XPD") S XPCNT=0 K XPD
- ..Q:'$D(XPD) D UPDATE^DIE("","XPD")
- D QUIT(XPDA)
- W "...Done.",!
- Q
- VER ;verify a Build file package
- N XPDA,Y
- Q:'$$DIC("AEMQZ") S XPDA=+Y
- D EN^XPDV
- Q
- DIC(DIC,A,XPDL) ;DIC lookup to Build file, 9.6
- N DLAYGO
- S DIC(0)=$G(DIC),DIC="^XPD(9.6," S:$G(A)]"" DIC("A")=A
- S:DIC(0)["L" DLAYGO=9.6,DIC("DR")="1;2//SINGLE PACKAGE;5//YES"
- D ^DIC Q:Y<0 0
- I '$G(XPDL) L +^XPD(9.6,+Y):0 E W !,"Being accessed by another user" Q 0
- Q +Y
- ;
- NEW(DA) ;create Kernel Files multiple for package DA
- N I,J,X,XPDNEWF,XPD,XPDI
- S:'$D(^XPD(9.6,DA,"KRN",0)) ^XPD(9.6,DA,"KRN",0)=U_$P(^DD(9.6,7,0),U,2)
- S I=0
- F J=1:1 S X=+$P($T(FILES+J),";;",2) Q:'X S:$D(^DD(X))&'$D(^XPD(9.6,DA,"KRN",X)) I=I+1,(XPDI(I),XPD(9.67,"+"_I_","_DA_",",.01))=X
- Q:'$D(XPD)
- ;XPDNEWF is a flag in INPUT transform of BUILD COMPONENT multiple
- S XPDNEWF=1
- D UPDATE^DIE("","XPD","XPDI")
- Q
- QUIT(Y) ;unlock Y
- L -^XPD(9.6,Y)
- Q
- ;
- ;;file;install order;x-ref;file build;entry build;file pre;entry pre;file post;entry post;delete
- ;You must put in code to delete anything
- FILES ;kernel files for field 7 in file 9.6
- ;;9.8;;1;RTNF^XPDTA;RTNE^XPDTA
- ;;9.2;1;;;HELP^XPDTA1;HLPF1^XPDIA1;HLPE1^XPDIA1;HLPF2^XPDIA1;;HLPDEL^XPDIA1
- ;;3.6;2;1;;BUL^XPDTA1;;BULE1^XPDIA1;;;BULDEL^XPDIA1
- ;;19.1;3;;;KEY^XPDTA1;KEYF1^XPDIA1;KEYE1^XPDIA1;KEYF2^XPDIA1;;KEYDEL^XPDIA1
- ;;.5;4;;;EDEOUT^DIFROMSO(.5,DA,"",XPDA);FPRE^DIFROMSI(.5,"",XPDA);EPRE^DIFROMSI(.5,DA,"",XPDA,"",OLDA);;EPOST^DIFROMSI(.5,DA,"",XPDA)
- ;;.4;5;;;EDEOUT^DIFROMSO(.4,DA,"",XPDA);FPRE^DIFROMSI(.4,"",XPDA);EPRE^DIFROMSI(.4,DA,$E("N",$G(XPDNEW)),XPDA,"",OLDA);;EPOST^DIFROMSI(.4,DA,"",XPDA);DEL^DIFROMSK(.4,"",%)
- ;;.401;6;;;EDEOUT^DIFROMSO(.401,DA,"",XPDA);FPRE^DIFROMSI(.401,"",XPDA);EPRE^DIFROMSI(.401,DA,$E("N",$G(XPDNEW)),XPDA,"",OLDA);;EPOST^DIFROMSI(.401,DA,"",XPDA);DEL^DIFROMSK(.401,"",%)
- ;;.402;7;;;EDEOUT^DIFROMSO(.402,DA,"",XPDA);FPRE^DIFROMSI(.402,"",XPDA);EPRE^DIFROMSI(.402,DA,$E("N",$G(XPDNEW)),XPDA,"",OLDA);;EPOST^DIFROMSI(.402,DA,"",XPDA);DEL^DIFROMSK(.402,"",%)
- ;;.403;8;;;EDEOUT^DIFROMSO(.403,DA,"",XPDA);FPRE^DIFROMSI(.403,"",XPDA);EPRE^DIFROMSI(.403,DA,$E("N",$G(XPDNEW)),XPDA,"",OLDA);;EPOST^DIFROMSI(.403,DA,"",XPDA);DEL^DIFROMSK(.403,"",%)
- ;;.84;9;;;EDEOUT^DIFROMSO(.84,DA,"",XPDA);FPRE^DIFROMSI(.84,"",XPDA);EPRE^DIFROMSI(.84,DA,$E("N",$G(XPDNEW)),XPDA,"",OLDA);;EPOST^DIFROMSI(.84,DA,"",XPDA);DEL^DIFROMSK(.84,"",%)
- ;;3.8;11;;;MAILG^XPDTA1;MAILGF1^XPDIA1;MAILGE1^XPDIA1;MAILGF2^XPDIA1;;MAILGDEL^XPDIA1(%)
- ;;870;13;1;;HLLL^XPDTA1;;HLLLE^XPDIA1;;;HLLLDEL^XPDIA1(%)
- ;;771;14;;;HLAP^XPDTA1;HLAPF1^XPDIA1;HLAPE1^XPDIA1;HLAPF2^XPDIA1;;HLAPDEL^XPDIA1(%)
- ;;101;15;;;PRO^XPDTA;PROF1^XPDIA;PROE1^XPDIA;PROF2^XPDIA;;PRODEL^XPDIA
- ;;8994;16;1;;;;RPCE1^XPDIA1;;;RPCDEL^XPDIA1
- ;;409.61;17;1;;;;LME1^XPDIA1;;;LMDEL^XPDIA1
- ;;19;18;;;OPT^XPDTA;OPTF1^XPDIA;OPTE1^XPDIA;OPTF2^XPDIA;;OPTDEL^XPDIA
- ;;8994.2;19;1;;;;CRC32PE^XPDIA1;;;CRC32DEL^XPDIA1
- ;;8989.51;20;;;PAR1E1^XPDTA2;PAR1F1^XPDIA3;PAR1E1^XPDIA3;PAR1F2^XPDIA3;;PAR1DEL^XPDIA3(%)
- ;;8989.52;21;1;;PAR2E1^XPDTA2;PAR2F1^XPDIA3;PAR2E1^XPDIA3;PAR2F2^XPDIA3;;PAR2DEL^XPDIA3(%)
- ;;779.2;22;1;;HLOAP^XPDTA1;;HLOE^XPDIA1;;;HLODEL^XPDIA1(%)
- ;;8993;23;1;;XULM^XPDTA2;;XULM^XPDIA3;;;
- ;;9002226;24;1;;BLD^XPDIHS;BLD1^XPDIHS;BLD^XPDIHS;BLD1^XPDIHS;;BLD^XPDIHS
- ;;1.62;25;;;;;POLFE1^XPDIA0;;;POLFDEL^XPDIA0(%)
- ;;1.6;26;;;POL^XPDTA2;POLF1^XPDIA0;POLE1^XPDIA0;POLF2^XPDIA0;POLE2^XPDIA0;POLDEL^XPDIA0(%)
- ;;1.61;27;1;;POLE^XPDTA2;;POLEE1^XPDIA0;;;POLEDEL^XPDIA0(%)
- ;;1.5;28;;;ENT^XPDTA2;ENTF1^XPDIA0;ENTE1^XPDIA0;ENTF2^XPDIA0;;ENTDEL^XPDIA0(%)
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HXPDE 7188 printed Jan 18, 2025@03:04:36 Page 2
- XPDE ;SFISC/RSD - Package Edit ; Apr 15, 2022@08:55:47
- +1 ;;8.0;KERNEL;**2,15,21,44,51,68,131,182,201,229,302,399,507,539,672,768**;Jul 10, 1995;Build 8
- +2 ;Per VHA Directive 2004-038, this routine should not be modified.
- +3 QUIT
- +4 ;these tags are called from options.
- EDIT ;edit Build file package
- +1 NEW DA,DIR,DDSFILE,DR,Y,Z
- +2 if '$$DIC("AEMQLZ","",1)
- QUIT
- SET DA=+Y
- +3 IF $PIECE(Y,U,3)
- DO NEW(DA)
- +4 SET Z=$PIECE(^XPD(9.6,DA,0),U,3)+1
- SET DR="["_$PIECE("XPD EDIT BUILD^XPD EDIT MP^XPD EDIT GP",U,Z)_"]"
- SET DDSFILE="^XPD(9.6,"
- +5 DO ^DDS
- if '$GET(DA)
- QUIT
- +6 ;if full DD, kill multiple for partial DD
- +7 SET Y=0
- FOR
- SET Y=$ORDER(^XPD(9.6,DA,4,Y))
- if 'Y
- QUIT
- SET Z=$GET(^(Y,222))
- Begin DoDot:1
- +8 if $PIECE(Z,U,3)="f"
- KILL ^XPD(9.6,DA,4,Y,2),^XPD(9.6,DA,4,"APDD",Y)
- End DoDot:1
- +9 DO QUIT(DA)
- +10 QUIT
- COPY ;copy a Build file package
- +1 NEW DA,DIK,DIR,FR,FR0,TO,TO0,X,Y,Z
- WRITE !
- +2 if '$$DIC("QEAMZ","Copy FROM what Package
- QUIT
- +3 SET FR=+Y
- SET FR0=Y(0)
- SET Z="QEAMZL"
- SET Z("S")="I Y'="_FR
- +4 IF '$$DIC(.Z,"Copy TO what Package: ")
- DO QUIT(FR)
- QUIT
- +5 SET TO=Y
- SET TO0=Y(0)
- +6 ;if this is not new, then it will be purged before copy.
- +7 IF '$PIECE(TO,U,3)
- WRITE !,$PIECE(TO0,U)," package will be PURGED before the copy."
- +8 WRITE !
- SET DIR(0)="Y"
- SET DIR("A")="OK to continue"
- SET DIR("B")="YES"
- DO ^DIR
- +9 SET DIK="^XPD(9.6,"
- SET DA=+TO
- +10 IF 'Y!$DATA(DIRUT)
- Begin DoDot:1
- +11 ;they didn't want to continue, kill if it was a new package.
- +12 IF $PIECE(TO,U,3)
- DO ^DIK
- WRITE $PIECE(TO0,U)," being deleted!"
- +13 ;unlock both packages
- +14 DO QUIT(FR)
- DO QUIT(TO)
- End DoDot:1
- WRITE !
- QUIT
- +15 DO WAIT^DICD
- +16 ;if not new, kill old data
- +17 if '$PIECE(TO,U,3)
- KILL ^XPD(9.6,DA)
- +18 MERGE ^XPD(9.6,DA)=^XPD(9.6,FR)
- SET $PIECE(^(DA,0),U)=$PIECE(TO0,U)
- +19 DO NEW(+TO)
- +20 ;if new National Package name, then kill x-ref
- +21 IF $PIECE(TO0,U,2)]""
- IF $PIECE(FR0,U,2)'=$PIECE(TO0,U,2)
- KILL ^XPD(9.6,"C",$EXTRACT($PIECE(TO0,U,2),1,30),DA)
- SET DIK(1)=1
- DO EN1^DIK
- +22 DO QUIT(FR)
- DO QUIT(TO)
- +23 WRITE "...Done.",!
- +24 QUIT
- BUILD ;build package from a namespace
- +1 NEW DIR,DIRUT,XPDA,XPDI,XPDF,XPDN,XPDX,XPDXL,X,X1,Y,Y1
- WRITE !
- +2 if '$$DIC("QEAML")
- QUIT
- +3 SET XPDA=+Y
- WRITE !
- +4 IF $PIECE(^XPD(9.6,XPDA,0),U,3)
- WRITE !,"The Build Type must be SINGLE PACKAGE!!",!
- QUIT
- +5 ;if not a new package
- +6 IF '$PIECE(Y,U,3)
- Begin DoDot:1
- +7 SET DIR(0)="Y"
- SET DIR("A")="Package already exists, Want to PURGE the existing data"
- SET DIR("B")="NO"
- SET DIR("?")="YES will delete all the KERNEL FILE information for this package in the BUILD file."
- +8 DO ^DIR
- KILL DIR
- if 'Y
- QUIT
- +9 SET Y=0
- FOR
- SET Y=$ORDER(^XPD(9.6,XPDA,"KRN",Y))
- if 'Y
- QUIT
- KILL ^(Y,"NM")
- End DoDot:1
- IF $DATA(DIRUT)
- DO QUIT(XPDA)
- QUIT
- +10 IF '$TEST
- DO NEW(XPDA)
- +11 ;XPDN(0=excluded names or 1=include names, namespace)=""
- +12 WRITE !
- SET DIR(0)="FO^1:15^K:X'?.1""-""1U.15UNP X"
- SET DIR("A")="Namespace"
- SET DIR("?")="Enter 1 to 15 characters, precede with ""-"" to exclude namespace"
- +13 FOR
- DO ^DIR
- if $DATA(DIRUT)
- QUIT
- SET X=$EXTRACT(Y,$LENGTH(Y))="*"
- SET %=$EXTRACT(Y)="-"
- SET XPDN('%,$EXTRACT(Y,%+1,$LENGTH(Y)-X))=""
- +14 IF '$DATA(XPDN)!$DATA(DTOUT)!$DATA(DUOUT)
- DO QUIT(XPDA)
- QUIT
- +15 WRITE !!,"NAMESPACE INCLUDE",?35,"EXCLUDE",!,?11,"-------",?35,"-------"
- +16 SET (X,Y)=""
- SET (X1,Y1)=1
- +17 FOR
- Begin DoDot:1
- +18 if X1
- SET X=$ORDER(XPDN(1,X))
- SET X1=X]""
- if Y1
- SET Y=$ORDER(XPDN(0,Y))
- SET Y1=Y]""
- End DoDot:1
- WRITE !?11,X,?35,Y
- if 'X1&'Y1
- QUIT
- +19 SET DIR(0)="Y"
- SET DIR("A")="OK to continue"
- SET DIR("B")="YES"
- DO ^DIR
- +20 IF 'Y!$DATA(DIRUT)
- DO QUIT(XPDA)
- QUIT
- +21 DO WAIT^DICD
- SET XPDX=""
- SET XPDI("IEN")=0
- +22 FOR
- SET XPDX=$ORDER(XPDN(1,XPDX))
- SET XPDXL=$LENGTH(XPDX)
- SET XPDF=0
- if XPDX=""
- QUIT
- Begin DoDot:1
- +23 FOR
- SET XPDF=$ORDER(^XPD(9.6,XPDA,"KRN",XPDF))
- if 'XPDF
- QUIT
- Begin DoDot:2
- +24 NEW XPD,XPDIC,XPDJ,XPCNT
- WRITE "."
- +25 ;XPDIC is used in $$SCR1^XPDET
- +26 SET XPDIC="^XPD(9.6,"_XPDA_",""KRN"","_XPDF_",""NM"","
- SET XPCNT=0
- +27 DO LIST^DIC(XPDF,"","","","*",.XPDI,XPDX,"","I $E(^(0),1,XPDXL)=XPDX,$$SCR1^XPDET(Y)")
- +28 FOR XPDJ=1:1
- SET X=$GET(^TMP("DILIST",$JOB,1,XPDJ))
- if X=""
- QUIT
- Begin DoDot:3
- +29 if XPDF<.404
- SET %=^TMP("DILIST",$JOB,2,XPDJ)_","
- SET X=$$TX^XPDET(X,$$GET1^DIQ(XPDF,%,$$TF^XPDET(XPDF),"I"))
- +30 SET Y="+"_XPDJ_","_XPDF_","_XPDA_","
- SET XPD(9.68,Y,.01)=X
- SET XPD(9.68,Y,.03)=0
- +31 ;Keep XPD from getting too big.
- +32 SET XPCNT=XPCNT+1
- IF XPCNT>100
- DO UPDATE^DIE("","XPD")
- SET XPCNT=0
- KILL XPD
- End DoDot:3
- +33 if '$DATA(XPD)
- QUIT
- DO UPDATE^DIE("","XPD")
- End DoDot:2
- End DoDot:1
- +34 DO QUIT(XPDA)
- +35 WRITE "...Done.",!
- +36 QUIT
- VER ;verify a Build file package
- +1 NEW XPDA,Y
- +2 if '$$DIC("AEMQZ")
- QUIT
- SET XPDA=+Y
- +3 DO EN^XPDV
- +4 QUIT
- DIC(DIC,A,XPDL) ;DIC lookup to Build file, 9.6
- +1 NEW DLAYGO
- +2 SET DIC(0)=$GET(DIC)
- SET DIC="^XPD(9.6,"
- if $GET(A)]""
- SET DIC("A")=A
- +3 if DIC(0)["L"
- SET DLAYGO=9.6
- SET DIC("DR")="1;2//SINGLE PACKAGE;5//YES"
- +4 DO ^DIC
- if Y<0
- QUIT 0
- +5 IF '$GET(XPDL)
- LOCK +^XPD(9.6,+Y):0
- IF '$TEST
- WRITE !,"Being accessed by another user"
- QUIT 0
- +6 QUIT +Y
- +7 ;
- NEW(DA) ;create Kernel Files multiple for package DA
- +1 NEW I,J,X,XPDNEWF,XPD,XPDI
- +2 if '$DATA(^XPD(9.6,DA,"KRN",0))
- SET ^XPD(9.6,DA,"KRN",0)=U_$PIECE(^DD(9.6,7,0),U,2)
- +3 SET I=0
- +4 FOR J=1:1
- SET X=+$PIECE($TEXT(FILES+J),";;",2)
- if 'X
- QUIT
- if $DATA(^DD(X))&'$DATA(^XPD(9.6,DA,"KRN",X))
- SET I=I+1
- SET (XPDI(I),XPD(9.67,"+"_I_","_DA_",",.01))=X
- +5 if '$DATA(XPD)
- QUIT
- +6 ;XPDNEWF is a flag in INPUT transform of BUILD COMPONENT multiple
- +7 SET XPDNEWF=1
- +8 DO UPDATE^DIE("","XPD","XPDI")
- +9 QUIT
- QUIT(Y) ;unlock Y
- +1 LOCK -^XPD(9.6,Y)
- +2 QUIT
- +3 ;
- +4 ;;file;install order;x-ref;file build;entry build;file pre;entry pre;file post;entry post;delete
- +5 ;You must put in code to delete anything
- FILES ;kernel files for field 7 in file 9.6
- +1 ;;9.8;;1;RTNF^XPDTA;RTNE^XPDTA
- +2 ;;9.2;1;;;HELP^XPDTA1;HLPF1^XPDIA1;HLPE1^XPDIA1;HLPF2^XPDIA1;;HLPDEL^XPDIA1
- +3 ;;3.6;2;1;;BUL^XPDTA1;;BULE1^XPDIA1;;;BULDEL^XPDIA1
- +4 ;;19.1;3;;;KEY^XPDTA1;KEYF1^XPDIA1;KEYE1^XPDIA1;KEYF2^XPDIA1;;KEYDEL^XPDIA1
- +5 ;;.5;4;;;EDEOUT^DIFROMSO(.5,DA,"",XPDA);FPRE^DIFROMSI(.5,"",XPDA);EPRE^DIFROMSI(.5,DA,"",XPDA,"",OLDA);;EPOST^DIFROMSI(.5,DA,"",XPDA)
- +6 ;;.4;5;;;EDEOUT^DIFROMSO(.4,DA,"",XPDA);FPRE^DIFROMSI(.4,"",XPDA);EPRE^DIFROMSI(.4,DA,$E("N",$G(XPDNEW)),XPDA,"",OLDA);;EPOST^DIFROMSI(.4,DA,"",XPDA);DEL^DIFROMSK(.4,"",%)
- +7 ;;.401;6;;;EDEOUT^DIFROMSO(.401,DA,"",XPDA);FPRE^DIFROMSI(.401,"",XPDA);EPRE^DIFROMSI(.401,DA,$E("N",$G(XPDNEW)),XPDA,"",OLDA);;EPOST^DIFROMSI(.401,DA,"",XPDA);DEL^DIFROMSK(.401,"",%)
- +8 ;;.402;7;;;EDEOUT^DIFROMSO(.402,DA,"",XPDA);FPRE^DIFROMSI(.402,"",XPDA);EPRE^DIFROMSI(.402,DA,$E("N",$G(XPDNEW)),XPDA,"",OLDA);;EPOST^DIFROMSI(.402,DA,"",XPDA);DEL^DIFROMSK(.402,"",%)
- +9 ;;.403;8;;;EDEOUT^DIFROMSO(.403,DA,"",XPDA);FPRE^DIFROMSI(.403,"",XPDA);EPRE^DIFROMSI(.403,DA,$E("N",$G(XPDNEW)),XPDA,"",OLDA);;EPOST^DIFROMSI(.403,DA,"",XPDA);DEL^DIFROMSK(.403,"",%)
- +10 ;;.84;9;;;EDEOUT^DIFROMSO(.84,DA,"",XPDA);FPRE^DIFROMSI(.84,"",XPDA);EPRE^DIFROMSI(.84,DA,$E("N",$G(XPDNEW)),XPDA,"",OLDA);;EPOST^DIFROMSI(.84,DA,"",XPDA);DEL^DIFROMSK(.84,"",%)
- +11 ;;3.8;11;;;MAILG^XPDTA1;MAILGF1^XPDIA1;MAILGE1^XPDIA1;MAILGF2^XPDIA1;;MAILGDEL^XPDIA1(%)
- +12 ;;870;13;1;;HLLL^XPDTA1;;HLLLE^XPDIA1;;;HLLLDEL^XPDIA1(%)
- +13 ;;771;14;;;HLAP^XPDTA1;HLAPF1^XPDIA1;HLAPE1^XPDIA1;HLAPF2^XPDIA1;;HLAPDEL^XPDIA1(%)
- +14 ;;101;15;;;PRO^XPDTA;PROF1^XPDIA;PROE1^XPDIA;PROF2^XPDIA;;PRODEL^XPDIA
- +15 ;;8994;16;1;;;;RPCE1^XPDIA1;;;RPCDEL^XPDIA1
- +16 ;;409.61;17;1;;;;LME1^XPDIA1;;;LMDEL^XPDIA1
- +17 ;;19;18;;;OPT^XPDTA;OPTF1^XPDIA;OPTE1^XPDIA;OPTF2^XPDIA;;OPTDEL^XPDIA
- +18 ;;8994.2;19;1;;;;CRC32PE^XPDIA1;;;CRC32DEL^XPDIA1
- +19 ;;8989.51;20;;;PAR1E1^XPDTA2;PAR1F1^XPDIA3;PAR1E1^XPDIA3;PAR1F2^XPDIA3;;PAR1DEL^XPDIA3(%)
- +20 ;;8989.52;21;1;;PAR2E1^XPDTA2;PAR2F1^XPDIA3;PAR2E1^XPDIA3;PAR2F2^XPDIA3;;PAR2DEL^XPDIA3(%)
- +21 ;;779.2;22;1;;HLOAP^XPDTA1;;HLOE^XPDIA1;;;HLODEL^XPDIA1(%)
- +22 ;;8993;23;1;;XULM^XPDTA2;;XULM^XPDIA3;;;
- +23 ;;9002226;24;1;;BLD^XPDIHS;BLD1^XPDIHS;BLD^XPDIHS;BLD1^XPDIHS;;BLD^XPDIHS
- +24 ;;1.62;25;;;;;POLFE1^XPDIA0;;;POLFDEL^XPDIA0(%)
- +25 ;;1.6;26;;;POL^XPDTA2;POLF1^XPDIA0;POLE1^XPDIA0;POLF2^XPDIA0;POLE2^XPDIA0;POLDEL^XPDIA0(%)
- +26 ;;1.61;27;1;;POLE^XPDTA2;;POLEE1^XPDIA0;;;POLEDEL^XPDIA0(%)
- +27 ;;1.5;28;;;ENT^XPDTA2;ENTF1^XPDIA0;ENTE1^XPDIA0;ENTF2^XPDIA0;;ENTDEL^XPDIA0(%)