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

BSDX15.m

Go to the documentation of this file.
  1. BSDX15 ; IHS/OIT/HMW/MSC/SAT - WINDOWS SCHEDULING RPCS ;
  1. ;;3.0;IHS WINDOWS SCHEDULING;;DEC 09, 2010
  1. ;
  1. ;
  1. GRPTYP(BSDXY) ;EP
  1. ;Called by BSDX GET ACCESS GROUP TYPES
  1. ;Returns ADO recordset containing ACTIVE Access types ordered alphabetically
  1. ;by Access Group
  1. ;AccessGroupID, AccessGroup, AccessTypeID, AccessType
  1. ;
  1. ;Test Code:
  1. ;D GRPTYP^BSDX15(.RES) ZW RES
  1. ;
  1. S BSDXY="^BSDXTMP("_$J_")"
  1. N BSDX1
  1. S BSDXI=0
  1. S X="ETRAP^BSDX15",@^%ZOSF("TRAP")
  1. S ^BSDXTMP($J,BSDXI)="I00020ACCESS_GROUP_TYPEID^I00020ACCESS_GROUP_ID^T00030ACCESS_GROUP^I00020ACCESS_TYPE_ID^T00030ACCESS_TYPE"_$C(30)
  1. ;
  1. ;N BSDX0,BSDX1,BSDXNOD,BSDXGPN,BSDXTN
  1. ;$O Through "B" x-ref of BSDX ACCESS GROUP file
  1. ;S BSDXGPN=0 F S BSDXGPN=$O(^BSDXAGP("B",BSDXGPN)) Q:BSDXGPN="" D
  1. ;. S BSDX0=$O(^BSDXAGP("B",BSDXGPN,0))
  1. ;. Q:'+BSDX0
  1. ;. Q:'$D(^BSDXAGP(BSDX0,0)) ;INDEX VALIDITY CHECK
  1. ;. Q:'$D(^BSDXAGTP("B",BSDX0))
  1. ;. ;$O through "B" x-ref of BSDX ACCESS GROUP TYPE
  1. ;. S BSDX1=0 F S BSDX1=$O(^BSDXAGTP("B",BSDX0,BSDX1)) Q:'+BSDX1 D
  1. ;. . Q:'$D(^BSDXAGTP(BSDX1,0))
  1. ;. . S BSDX2=$P(^BSDXAGTP(BSDX1,0),U,2)
  1. ;. . Q:'+BSDX2
  1. ;. . Q:'$D(^BSDXTYPE(BSDX2,0))
  1. ;. . S BSDXNOD=^BSDXTYPE(BSDX2,0)
  1. ;. . Q:$P(BSDXNOD,U,2)=1 ;INACTIVE
  1. ;. . S BSDXTN=$P(BSDXNOD,U)
  1. ;. . S BSDXI=BSDXI+1
  1. ;. . S ^BSDXTMP($J,BSDXI)=BSDX1_U_BSDX0_U_BSDXGPN_U_BSDX2_U_BSDXTN_$C(30)
  1. ;. . Q
  1. ;. Q
  1. ;
  1. ;$O Through "AC" x-ref of BSDX ACCESS GROUP TYPE file
  1. N BSDXAGID,BSDXAGN,BSDXATID,BSDXATN,BSDXAGTID
  1. S BSDXAGID=0
  1. F S BSDXAGID=$O(^BSDXAGTP("AC",BSDXAGID)) Q:'+BSDXAGID D
  1. . I '$D(^BSDXAGP(BSDXAGID,0)) Q
  1. . S BSDXAGN=$P(^BSDXAGP(BSDXAGID,0),U)
  1. . S BSDXATID=0 F S BSDXATID=$O(^BSDXAGTP("AC",BSDXAGID,BSDXATID)) Q:'+BSDXATID D
  1. . . S BSDXNOD=$G(^BSDXTYPE(BSDXATID,0))
  1. . . I BSDXNOD="" Q
  1. . . I $P(BSDXNOD,U,2)=1 Q ;Inactive
  1. . . S BSDXATN=$P(BSDXNOD,U)
  1. . . S BSDXAGTID=$O(^BSDXAGTP("AC",BSDXAGID,BSDXATID,0))
  1. . . I '+BSDXAGTID Q
  1. . . I '$D(^BSDXAGTP(BSDXAGTID,0)) Q
  1. . . S BSDXI=BSDXI+1
  1. . . S ^BSDXTMP($J,BSDXI)=BSDXAGTID_U_BSDXAGID_U_BSDXAGN_U_BSDXATID_U_BSDXATN_$C(30)
  1. . . Q
  1. . Q
  1. ;
  1. S BSDXI=BSDXI+1
  1. S ^BSDXTMP($J,BSDXI)=$C(31)
  1. Q
  1. ;
  1. ERR(BSDXI,BSDXID,BSDXERR) ;Error processing
  1. S BSDXI=BSDXI+1
  1. S ^BSDXTMP($J,BSDXI)=BSDXERR_"^^^^"_$C(30)
  1. S BSDXI=BSDXI+1
  1. S ^BSDXTMP($J,BSDXI)=$C(31)
  1. Q
  1. ;
  1. ETRAP ;EP Error trap entry
  1. I '$D(BSDXI) N BSDXI S BSDXI=999
  1. S BSDXI=BSDXI+1
  1. D ERR(BSDXI,99,70)
  1. Q