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