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

ABMXUS9.m

Go to the documentation of this file.
ABMXUS9 ;IHS/SD/SDR - Find a user ;06/18/2007 08:45 
 ;;2.6;IHS 3P BILLING SYSTEM;;NOV 12, 2009
EP ;PEP -
 N %,%H,DA,DIC,I,Y,X,ABMXU1,ABMXU2,ABMXU3,ABMXU4,ABMXU5,ABMXU6
 N ABMXUSER,ABMXUJOB,ABMXUVOL,ABMXUCI,ABMXUDT
 K ABMOPFLG
1 X ^%ZOSF("UCI") S ABMXU1=$P(Y,",",1),ABMXU2=^%ZOSF("VOL"),X="T-1",%DT="" D ^%DT S ABMXU4=Y
A S DIC="^VA(200,"
 S DIC(0)="MQ"
 S X="`"_ABMDUZ
 D ^DIC
 G EXIT:Y'>0
 S DA=+Y,ABMXUSER=$P(Y,"^",2)
 F ABMXU5=0:0 S ABMXU5=$O(^XUSEC(0,"CUR",DA,ABMXU5)) Q:ABMXU5'>0  D B
 Q
EXIT ;K %,%H,DA,DIC,I,Y,X
EX2 ;K XU1,XU2,XU3,XU4,XU5,XU6,XUSER,XUJOB,XUVOL,XUCI,XUDT
 Q
B ;Find
 G:ABMXU5<ABMXU4 REMOVE ;Sign-on more than 24 hours old.
 S ABMXU3=$S($D(^XUSEC(0,ABMXU5,0)):^(0),1:"") G REMOVE:'$L(ABMXU3),REMOVE:$P(ABMXU3,"^",4)
 S ABMXUCI=$P(ABMXU3,"^",8),ABMXUVOL=$P(ABMXU3,"^",5),Y=ABMXU5,ABMXUJOB=$P(ABMXU3,"^",3),ABMXU6=ABMXUJOB D DD^%DT S ABMXUDT=Y
 I ABMXUJOB>2048 S X1=16,X=ABMXUJOB D CNV^XTBASE S ABMXU6=ABMXUJOB_" ("_Y_")"
 Q:ABMXUCI'=ABMXU1!(ABMXUVOL'=ABMXU2)  G:$S($D(^XUTL("XQ",ABMXUJOB,"DUZ")):^("DUZ"),1:0)'=DA REMOVE
 I $D(^XUTL("XQ",ABMXUJOB,"T")) D
 .S ABMOPTLS=999999999
 .F  S ABMOPTLS=$O(^XUTL("XQ",ABMXUJOB,ABMOPTLS),-1) Q:+ABMOPTLS=0  D  Q:$G(ABMOPFLG)=1
 ..I $P($G(^XUTL("XQ",ABMXUJOB,ABMOPTLS)),U,2)="ABMMENU" S ABMOPFLG=1
 Q
REMOVE ;Questionable entry removed
 ;If we have a sign-off time just remove the "CUR" X-ref.
 I $P($G(^XUSEC(0,ABMXU5,0)),"^",4) K ^XUSEC(0,"CUR",DA,ABMXU5) Q
 N FDA
 S FDA(3.081,ABMXU5_",",3)=$$NOW^XLFDT,FDA(3.081,ABMXU5_",",16)=1
 D UPDATE^DIE("","FDA")
 Q
INQ Q:'$D(D0)  N DA X ^%ZOSF("UCI") S ABMXU1=$P(Y,",",1),ABMXU2=^%ZOSF("VOL"),DA=D0,ABMXU4=DT-1
 F ABMXU5=0:0 S ABMXU5=$O(^XUSEC(0,"CUR",DA,ABMXU5)) Q:ABMXU5'>0  D B
 G EX2