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

XMDIR1A.m

Go to the documentation of this file.
  1. XMDIR1A ;(WASH ISC)/CAP-Load VACO Directories (WANG) ;04/17/2002 08:47
  1. ;;8.0;MailMan;;Jun 28, 2002
  1. I $$NEWERR^%ZTER N $ETRAP,$ESTACK S $ETRAP=""
  1. S X="EOF^XMDIR1A",@^%ZOSF("TRAP"),XMB0=^%ZOSF("UPPERCASE")
  1. G P:'$D(ZTQUEUED)
  1. ;Batch processing begins here
  1. R1 U IO R Y:DTIME I '$D(ZTQUEUED) U IO(0)
  1. S XMA=XMA+1 I '$D(ZTQUEUED),XMA#10=0 W "."
  1. P S X=Y X XMB0 F %=0:0 Q:$E(Y)'?1P S Y=$E(Y,2,99)
  1. F %=$L(Y):-1:0 Q:$E(Y,%)?1A S Y=$E(Y,1,%-1)
  1. K X S X=$P(Y,"*")
  1. G R1:X[" ",R1:X["@",R1:X["::",R1:X[".."
  1. S XMY=Y
  1. ;
  1. 1 ;Name
  1. S X("LN")=$P(X,".",$L(X,".")),X=$P(X,".",1,$L(X,".")-1)
  1. G R1:'$L(X("LN")),R1:X("LN")?1.N,R1:X("LN")?.E3N.E,R1:X("LN")["/"
  1. G R1:X("LN")?.E1C.E
  1. S X("FN")=$P(X,"."),X=$P(X,".",2,9),X("RN")=X
  1. ;
  1. ;Mail code
  1. S X=$P(Y,"*",2),X("MC")=$P(X," "),X("EMC")=X G R1:X("MC")?.E1C.E
  1. ;
  1. ;Location
  1. S X("L")=$P(Y,"*",3)
  1. ;
  1. ;Network address
  1. S Y=$P(XMY,"*") G R1:'$L(Y),R1:Y?.E1C.E S X("NET")=Y_"@VACOWMAIL.DOMAIN.EXT"
  1. I $D(^XMD(4.2997,"B",X("LN"))) S %="" F S %=$O(^XMD(4.2997,"B",X("LN"),%)) Q:%="" I $D(^XMD(4.2997,%,0)) S %6=^XMD(4.2997,%,0) I X("NET")=$P(%6,U,7) S XME="Already on file - not filed " D ER^XMDIR1 G R1
  1. ;
  1. D FILE(.X)
  1. G R1
  1. FILE(X) ;HARD CODE
  1. ;
  1. ;X("EMC")=Extended Mail Code
  1. ;X("FN")=First name
  1. ;X("L")=Location
  1. ;X("LN")=Last name
  1. ;X("MC")=Mail Code
  1. ;X("NET")=full NETwork address
  1. ;X("PHONE")=Phone number
  1. ;X("PHONE/E")=Telephone Extension
  1. ;X("RN")=Restofname
  1. ;
  1. ;Get new entry number
  1. N %,N,Y L +^XMD(4.2997,0)
  1. S Y=^XMD(4.2997,0) F N=$P(Y,U,4)+1:1 Q:'$D(^(N))
  1. L +^XMD(4.2997,N) S $P(Y,U,4)=N,^XMD(4.2997,0)=Y
  1. ;File entry
  1. S ^XMD(4.2997,N,0)=X("LN")_U_X("FN")_U_X("RN")_U_X("MC")_U_X("EMC")_U_X("L")_U_X("NET")_U_+$H_U_XMDIR1,^("AUTO")=XMDIR1A("CODE")
  1. I $D(X("PHONE"))!$D(X("PHONE/X")) S %=$G(X("PHONE")) S:$L($G(X("PHONE/X"))) %=%_U_X("PHONE/X") S ^XMD(4.2997,N,1)=%
  1. ;Create cross references for one entry
  1. S DIK="^XMD(4.2997,",DA=N D IX^DIK L -^XMD(4.2997,0),-^XMD(4.2997,N)
  1. Q
  1. EOF D ^%ZISC,END("WANG",90) Q
  1. END(X,Y) ;END PROCESSING
  1. ;X=NAME OF FILE (WANG or NOAVA)
  1. ;Y=Subscript of text array
  1. N A S A=X,XMDIR1($E(X))=XMA
  1. S ^TMP("XMDIR1",$J,.01)="Normal error reported here",^(.02)="("_$ZE_")",^(.03)="should be end of File."
  1. S ^TMP("XMDIR1",$J,.04)="Done processing "_A_" file on "_$$HTE^XLFDT($H,5)
  1. S ^TMP("XMDIR1",$J,.05)=""
  1. Q