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

TIUAUD00.m

Go to the documentation of this file.
  1. TIUAUD00 ; SPFO/AJB - AUDIT SIGNED DOCUMENTS ;07/19/22 08:09
  1. ;;1.0;TEXT INTEGRATION UTILITIES;**343**;Jun 20, 1997;Build 17
  1. ;
  1. Q
  1. EN ;
  1. D HOME^%ZIS,PREP^XGF ; ICR # 3173
  1. D EN^VALM("TIU VIEW FM AUDITS")
  1. D CLEAN^XGF
  1. Q
  1. HDR ;
  1. K VALMHDR S VALMHDR(1)="",VALMHDR(2)=$$CJ^XLFSTR("Signed Documents [Edited]",IOM)
  1. Q
  1. INIT ;
  1. K @VALMAR S VALMCNT=0
  1. I '$D(^TIU(8925,"AUD")) D SET^VALM10(2,$$CJ^XLFSTR("<no entries>",IOM),0),XQORM Q
  1. N ENTRY,PREVIOUS S ENTRY="" F S ENTRY=$O(^TIU(8925,"AUD",ENTRY),-1) Q:'+ENTRY D
  1. . N FLD,NODE0 S NODE0=^TIU(8925,"AUD",ENTRY,0),FLD=$P(NODE0,U,3)
  1. . S PREVIOUS=$O(^TIU(8925,"AUD",ENTRY)) S:+PREVIOUS PREVIOUS=$P($G(^TIU(8925,"AUD",PREVIOUS,0)),U,2)
  1. . D FIELD^DID(8925,FLD,,"LABEL","FLD")
  1. . S VALMCNT=VALMCNT+1,X=""
  1. . S X=$$SETFLD^VALM1(VALMCNT,X,"ENTRY")
  1. . S X=$$SETFLD^VALM1(+NODE0,X,"DOCUMENT")
  1. . N VALUE S VALUE=$$FMTE^XLFDT($P(NODE0,U,2)) I +PREVIOUS,$P(NODE0,U,2)>PREVIOUS S VALUE=VALUE_"*"
  1. . S X=$$SETFLD^VALM1(VALUE,X,"DATE/TIME")
  1. . S X=$$SETFLD^VALM1(FLD("LABEL"),X,"FIELD")
  1. . D SET^VALM10(VALMCNT,X,ENTRY)
  1. D XQORM
  1. Q
  1. SELECT ;
  1. I VALMCNT=0 Q
  1. N SEL S SEL=$S(VALMCNT=1:"1,",+XQORNOD(0):$$LOR(.SEL),1:$P(XQORNOD(0),"=",2)) Q:'+SEL
  1. I '$D(SEL(0)) S SEL(0)=SEL
  1. N END,ZTSAVE S ZTSAVE("SEL")="" W !,IOCUON
  1. D EN^XUTMDEVQ("DISPLAY^TIUAUD00(.SEL)","TIU Audit Display",.ZTSAVE)
  1. Q
  1. BRK ;
  1. I $E(IOST,1,2)="C-" S END=$$FMR("EA","Press <Enter> to continue or '^' to exit ")
  1. Q:END=U
  1. CLS ;
  1. W:$E(IOST,1,2)="C-" @IOF
  1. Q
  1. DISPLAY(SEL) ;
  1. S END=0
  1. D:$E(IOST,1,2)="C-" CLS
  1. N NODE S NODE="" F S NODE=$O(SEL(NODE)) Q:NODE=""!(END=U) S SEL=($L(SEL(NODE),",")-1) N PIECE F PIECE=1:1:SEL D Q:END=U
  1. . N ENTRY,IEN S ENTRY=$P(SEL(NODE),",",PIECE),IEN=$O(@VALMAR@("IDX",ENTRY,""))
  1. . N NODE0 S NODE0=$G(^TIU(8925,"AUD",IEN,0))
  1. . N DTE S DTE=$$FMTE^XLFDT($P(NODE0,U,2))
  1. . N FLD S FLD=$P(NODE0,U,3) D FIELD^DID(8925,FLD,,"LABEL","FLD")
  1. . N RTX S RTX=$S(FLD=2:1,1:0)
  1. . N TTL S TTL=$P(^TIU(8925.1,$P(^TIU(8925,+NODE0,0),U),0),U)
  1. . N USR S USR=$$GET1^DIQ(200,$P(NODE0,U,4),.01)
  1. . N NV S NV=$G(^TIU(8925,"AUD",IEN,3),"<deleted>")
  1. . N OV S OV=$G(^TIU(8925,"AUD",IEN,2),"<null>")
  1. . N LINE,X F X=1:1 S LINE=$P($T(OUTPUT+X),";;",2) Q:LINE="EOM"!(END=U) D
  1. . . D BRK:$Y+4>IOSL Q:END=U W @LINE,!
  1. . Q:END=U
  1. . I 'RTX W ! F X="OV","NV" D BRK:$Y+4>IOSL Q:END=U W ?13,$S(X="NV":"New",1:"Old")," Value: ",@X,! W:X="NV" !
  1. . I +RTX D
  1. . . N NODE F NODE=2.14,3.14 D Q:END=U
  1. . . . D BRK:$Y+4>IOSL Q:END=U W !
  1. . . . D BRK:$Y+4>IOSL Q:END=U W $S(NODE=2.14:$$CJ^XLFSTR("< original REPORT TEXT>",IOM),NODE=3.14:$$CJ^XLFSTR("< updated REPORT TEXT>",IOM))
  1. . . . S LINE=0 F S LINE=$O(^TIU(8925,"AUD",IEN,NODE,LINE)) Q:'+LINE!(END=U) D
  1. . . . . D BRK:$Y+4>IOSL Q:END=U W !
  1. . . . . D BRK:$Y+4>IOSL Q:END=U W ^TIU(8925,"AUD",IEN,NODE,LINE,0)
  1. . . . Q:END=U
  1. . . . D BRK:$Y+4>IOSL Q:END=U W !
  1. . . . D BRK:$Y+4>IOSL Q:END=U W $S(NODE=2.14:$$CJ^XLFSTR("</original REPORT TEXT>",IOM),NODE=3.14:$$CJ^XLFSTR("</updated REPORT TEXT>",IOM)) W:NODE=3.14 !!
  1. . . Q:END=U
  1. . Q:END=U
  1. . I IOSL=24 F Q:$Y+4>IOSL W !
  1. . I $E(IOST,1,2)="C-",$O(SEL(NODE))="",PIECE=SEL S END=$$FMR("EA",IOCUOFF_IORVON_"Press <ENTER> to continue "_IORVOFF)
  1. D INIT ; refresh entries
  1. Q
  1. RTXINF ;
  1. ;;""
  1. ;;$$CJ^XLFSTR("<original REPORT TEXT>",IOM)
  1. ;;EOM
  1. OUTPUT ;
  1. ;;?5," Audit Entry #: ",ENTRY
  1. ;;?5,"=================================================="
  1. ;;?5,"Date/Time of Edit: ",DTE
  1. ;;?5," Field Edited: ",FLD("LABEL")
  1. ;;?5," Document #: ",+NODE0
  1. ;;?5," Document Title: ",$E(TTL,1,60)
  1. ;;?5," Edited By: ",USR
  1. ;;EOM
  1. HTXT ;
  1. ;;
  1. ;; Detailed View allows you to select one or more entries from the AUDIT data and
  1. ;; ouput the information to the desired DEVICE for display or printing.
  1. ;;
  1. ;; Entries should always be in descending order by Date/Time of Edit.
  1. ;; An asterisk (*) with the Date/Time of Edit indicates that audit data has been
  1. ;; deleted via programmer mode since these entries will never be removed by TIU
  1. ;; or FileMan.
  1. ;;EOM
  1. HELP ;
  1. D FULL^VALM1 W @IOF
  1. N LINE,X F X=1:1 S LINE=$P($T(HTXT+X),";;",2) Q:LINE="EOM" D
  1. . W LINE,!
  1. I VALMANS="?" D FMR("EA"," Press <Enter> to continue or '^' to exit. ")
  1. S VALMBCK="R"
  1. Q
  1. EXIT ;
  1. D XQORM,FULL^VALM1
  1. Q
  1. XQORM ;
  1. S XQORM("#")=$O(^ORD(101,"B","TIU FM AUDIT VIEW",0))_U_"1:"_VALMCNT
  1. Q
  1. EXPND ;
  1. Q
  1. FMR(DIR,PRM,DEF,HLP,SCR) ; fileman reader
  1. N DILN,DILOCKTM,DISYS
  1. N DIROUT,DIRUT,DTOUT,DUOUT,X,Y
  1. S DIR(0)=DIR S:$G(PRM)'="" DIR("A")=PRM S:$G(DEF)'="" DIR("B")=DEF S:$G(SCR)'="" DIR("S")=SCR
  1. I $G(HLP)'="" S DIR("?")=HLP
  1. I $D(HLP) M DIR=HLP
  1. W $G(IOCUON) D ^DIR W $G(IOCUOFF)
  1. Q $S($D(DIROUT):U,$D(DIRUT):U,$D(DTOUT):U,$D(DUOUT):U,1:Y)
  1. LOR(SEL) ; list or range of numbers
  1. N DIR,X,Y
  1. S DIR(0)="LOA^1:"_VALMCNT_":0",DIR("A")="Select one or more ENTRIES (1-"_VALMCNT_"): "
  1. S DIR("?")="Enter a list or range of numbers from 1 to "_VALMCNT
  1. D ^DIR
  1. M SEL=Y
  1. Q SEL