Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: ORY377B

ORY377B.m

Go to the documentation of this file.
ORY377B ;ISP/RFR - ENVIRONMENT CHECK FOR CPRS VERSION 31 ;Jun 20, 2018@11:34
 ;;3.0;ORDER ENTRY/RESULTS REPORTING;**377**;Dec 17, 1997;Build 582
ENV ;ENVIRONMENT CHECK SECTION
 ;CHECK EXISTING NOTIFICATION(S)
 N ORENTRY,ORERROR,OROW,ORI,ORCHKSUM
 F ORI=79,84:1:87,90 D  Q:$G(ORERROR)
 .Q:$D(^ORD(100.9,ORI))<10
 .S ORCHKSUM=$$NOTCHKSM(ORI)
 .N ORTMSTMP,ORASK
 .S ORASK=1,ORTMSTMP=0
 .F  S ORTMSTMP=$O(@XPDGREF@("ORCHKSUMS",ORI,ORTMSTMP)) Q:'ORTMSTMP!('ORASK)  D
 ..S:$G(@XPDGREF@("ORCHKSUMS",ORI,ORTMSTMP))=ORCHKSUM ORASK=0
 .S:ORASK ORERROR=$$OW(1,ORI)
 Q:$G(XPDQUIT)=2
 Q
OW(OROW,DA) ;ASK THE USER TO CONTINUE WITH INSTALLATION
 Q:'$G(OROW) 0
 N DIC,DIQ,DIR,X,Y,DTOUT,DUOUT,DIRUT,DIROUT
 S DIC="^ORD(100.9,",DIQ(0)="CR"
 D EN^DIQ
 W !,"The above notification will be overwritten.",!
 S DIR(0)="Y^",DIR("A")="Do you wish to proceed with installation of this patch",DIR("B")="NO"
 D ^DIR
 W !
 S:+$G(Y)=0 XPDQUIT=2
 Q:$G(XPDQUIT)=2 1
 Q 0
PRE ; PRE-TRANSPORTATION SECTION
 ;SAVE OE/RR NOTIFICATION CHECKSUMS FOR COMPARE AT SITE
 N ORI,ORNOW
 S ORNOW=$$NOW^XLFDT
 S ^XTMP("ORCHKSUMS",0)=$$FMADD^XLFDT(DT,1095)_U_DT_U_"OE/RR NOTIFICATION CHECKSUMS"
 F ORI=79,84:1:87,90 D
 .N ORTMSTMP,ORCHKSUM,ORSAVE
 .S ORSAVE=1,ORCHKSUM=$$NOTCHKSM(ORI)
 .S ORTMSTMP=0 F  S ORTMSTMP=$O(^XTMP("ORCHKSUMS",ORI,ORTMSTMP)) Q:'ORTMSTMP!('ORSAVE)  D
 ..S:$G(^XTMP("ORCHKSUMS",ORI,ORTMSTMP))=ORCHKSUM ORSAVE=0
 .S:ORSAVE ^XTMP("ORCHKSUMS",ORI,ORNOW)=ORCHKSUM
 M @XPDGREF@("ORCHKSUMS")=^XTMP("ORCHKSUMS")
 K @XPDGREF@("ORCHKSUMS",0)
 Q
NOTCHKSM(ORI) ;CALCULATE OE/RR NOTIFICATION CHECKSUM
 ;INPUT: ORI - IEN IN FILE #100.9
 N ORRET,ADDR,DATA,CHAR
 K ^TMP($J,"ORCHKSUM")
 M ^TMP($J,"ORCHKSUM")=^ORD(100.9,ORI)
 ;STRIP TRAILING CARETS FROM ALL NODES
 S ADDR=$NA(^TMP($J,"ORCHKSUM")) F  S ADDR=$Q(@ADDR) Q:ADDR=""  D
 .S DATA=$G(@ADDR)
 .F CHAR=$L(DATA):-1:1 Q:$E(DATA,CHAR)'=U  S DATA=$E(DATA,1,($L(DATA)-1))
 .S @ADDR=DATA
 I $P($G(^TMP($J,"ORCHKSUM",6)),U,2)?1.N D
 .S $P(^TMP($J,"ORCHKSUM",6),U,2)=$$EXTERNAL^DILFD(100.9,6.2,"",$P(^TMP($J,"ORCHKSUM",6),U,2))
 I $P($G(^TMP($J,"ORCHKSUM",6)),U,4)?1.N D
 .S $P(^TMP($J,"ORCHKSUM",6),U,4)=$$EXTERNAL^DILFD(100.9,6.4,"",$P(^TMP($J,"ORCHKSUM",6),U,4))
 I $P($G(^TMP($J,"ORCHKSUM",6)),U,5)?1.N D
 .S $P(^TMP($J,"ORCHKSUM",6),U,5)=$$EXTERNAL^DILFD(100.9,7,"",$P(^TMP($J,"ORCHKSUM",6),U,5))
 S ORRET=$$CHKSUM^XUSESIG1($NA(^TMP($J,"ORCHKSUM")))
 K ^TMP($J,"ORCHKSUM")
 Q ORRET