Changeset 623 for WorldVistAEHR/trunk/r/KERNEL-XU-A4A7-USC-XG-XLF-XNOA-XPD-XQ-XVIR-ZI-ZOSF-ZOSV-ZT-ZU-%Z-XIP--XQAB--XUC--XUR--ZIN--ZTED/XQALSET1.m
- Timestamp:
- Dec 4, 2009, 12:11:15 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
WorldVistAEHR/trunk/r/KERNEL-XU-A4A7-USC-XG-XLF-XNOA-XPD-XQ-XVIR-ZI-ZOSF-ZOSV-ZT-ZU-%Z-XIP--XQAB--XUC--XUR--ZIN--ZTED/XQALSET1.m
r613 r623 1 XQALSET1 ;ISC-SF.SEA/JLI - SETUP ALERTS (OVERFLOW) ;4/9/07 10:26 2 ;;8.0;KERNEL;**285,443**;Jul 10, 1995;Build 4 3 ;; 4 Q 5 GROUP ; 6 N XQI,XQL,XQL1,XQL2,XQLIST 7 S XQL=$E(XQJ,3,$L(XQJ)) ; P443 - changed from code that forced upper case 8 I $D(^TMP("XQAGROUP",$J,XQL)) Q ; P443 group has already been processed - prevent cycling 9 S ^TMP("XQAGROUP",$J,XQL)="" ; P443 mark that the group has been seen 10 S XQI=$$FIND1^DIC(3.8,,"X",XQL) Q:XQI'>0 11 N XQLIST D LIST^DIC(3.81,","_XQI_",",".01","I",,,,,,,.XQLIST) I XQLIST("ORDER")>0 D 12 . N XQI F XQI=0:0 S XQI=$O(@XQLIST@("ID",XQI)) Q:XQI'>0 S XQA(^(XQI,.01))="" 13 . Q 14 K @XQLIST,XQLIST D LIST^DIC(3.811,","_XQI_",",".01",,,,,,,,.XQLIST) I XQLIST("ORDER")>0 D 15 . N XQAGROUP M XQAGROUP=@XQLIST@("ID") ; P443 - store group list data locally so it is not over written by recursive call to LIST^DIC 16 . N XQI F XQI=0:0 S XQI=$O(XQAGROUP(XQI)) Q:XQI'>0 N XQJ S XQJ="G."_XQAGROUP(XQI,.01) D GROUP ; P443 - change to reference XQAGROUP 17 . Q 18 K @XQLIST,XQLIST 19 K XQA(XQJ) 20 D CHEKACTV(.XQA) 21 Q 22 ; 23 ; Check and remove any entries in array that don't have active surrogates and aren't active 24 CHEKACTV(XQARRAY) ; 25 N XQJ 26 F XQJ=0:0 S XQJ=$O(XQARRAY(XQJ)) Q:XQJ'>0 I $$CHEKUSER(XQJ)'>0 K XQARRAY(XQJ) 27 Q 28 ; 29 CHEKUSER(XQAUSER) ; Returns 0 if no valid user or surrogate, otherwise returns IEN of user or surrogate 30 N VALUE 31 S VALUE=$$ACTVSURO^XQALSURO(XQAUSER) 32 I VALUE'>0 S VALUE=XQAUSER I '$$ACTIVE^XUSER(XQAUSER) Q 0 33 Q VALUE 34 ; 1 XQALSET1 ;ISC-SF.SEA/JLI - SETUP ALERTS (OVERFLOW) ;10/20/03 15:03 2 ;;8.0;KERNEL;**285**;Jul 10, 1995 3 ;; 4 Q 5 GROUP ; 6 N XQI,XQL,XQL1,XQL2,XQLIST 7 S XQL="" F XQI=3:1:$L(XQJ) S XQL1=$E(XQJ,XQI) S:XQL1?1L XQL1=$C($A(XQL1)-32) S XQL=XQL_XQL1 8 ;S XQI=$O(^XMB(3.8,"B",XQL,0)) I XQI'>0 S XQL1=$O(^XMB(3.8,"B",XQL)) I $E(XQL1,1,$L(XQL))=XQL S XQL2=$O(^(XQL1)) I $E(XQL2,1,$L(XQL))'=XQL S XQI=$O(^(XQL1,0)) 9 ;I XQI>0 F XQL=0:0 S XQL=$O(^XMB(3.8,XQI,1,XQL)) Q:XQL'>0 S XQA(+^(XQL,0))="" 10 ; Above code replaced to use Fileman calls, also code added to walk through member groups as well 030203 JLI P285 11 S XQI=$$FIND1^DIC(3.8,,"X",XQL) Q:XQI'>0 12 N XQLIST D LIST^DIC(3.81,","_XQI_",",".01","I",,,,,,,.XQLIST) I XQLIST("ORDER")>0 D 13 . N XQI F XQI=0:0 S XQI=$O(@XQLIST@("ID",XQI)) Q:XQI'>0 S XQA(^(XQI,.01))="" 14 . Q 15 K @XQLIST,XQLIST D LIST^DIC(3.811,","_XQI_",",".01",,,,,,,,.XQLIST) I XQLIST("ORDER")>0 D 16 . N XQI F XQI=0:0 S XQI=$O(@XQLIST@("ID",XQI)) Q:XQI'>0 N XQJ S XQJ="G."_^(XQI,.01) D GROUP 17 . Q 18 K XQA(XQJ) 19 D CHEKACTV(.XQA) 20 Q 21 ; 22 ; Check and remove any entries in array that don't have active surrogates and aren't active 23 CHEKACTV(XQARRAY) ; 24 N XQJ 25 F XQJ=0:0 S XQJ=$O(XQARRAY(XQJ)) Q:XQJ'>0 I $$CHEKUSER(XQJ)'>0 K XQARRAY(XQJ) 26 Q 27 ; 28 CHEKUSER(XQAUSER) ;SR. Returns 0 if no valid user or surrogate, otherwise returns IEN of user or surrogate 29 N VALUE 30 S VALUE=$$ACTVSURO^XQALSURO(XQAUSER) 31 I VALUE'>0 S VALUE=XQAUSER I '$$ACTIVE^XUSER(XQAUSER) Q 0 32 Q VALUE 33 ;
Note:
See TracChangeset
for help on using the changeset viewer.