1 | ABSVSER3 ;VAMC ALTOONA/CTB - SERVER TO FILE DATA FROM AUSTIN ;11/4/99 1:19 PM
|
---|
2 | V ;;4.0;VOLUNTARY TIMEKEEPING;**3,9,18**;JULY 6, 1994
|
---|
3 | HDR K X,DELIM,SITE,MSGDATE
|
---|
4 | S X=XMRG,DELIM=$E(X,6),SITE=$$STRIP($P(X,DELIM,2)),MSGDATE=$P(X,DELIM,3)
|
---|
5 | S MSG="PROCESSING ANNUAL PURGE MESSAGE" D MSG
|
---|
6 | S MSG=" " D MSG
|
---|
7 | F X XMREC Q:XMER'=0 D
|
---|
8 | . S X=XMRG,TYPE=$P(X,DELIM)
|
---|
9 | . I TYPE=1 D ONE(X,SITE,DELIM)
|
---|
10 | . QUIT
|
---|
11 | S $P(^ABS(503339.1,MFILEDA,0),"^",3)="S"
|
---|
12 | I '$D(MSGLINE) S XQSTXT(1)=" ",XQSTXT(2)="No errors found during processing for station "_$G(SITE) S MSGLINE=3
|
---|
13 | S XQSTXT(MSGLINE)=RECCOUNT_" records processed into master file." S MSGLINE=MSGLINE+1
|
---|
14 | S XQSTXT(MSGLINE)=ERRCOUNT_" records bypassed."
|
---|
15 | S DONE=1 QUIT
|
---|
16 | ONE(X,SITE,DEL) N PSEUDO,SSN,DPURGED,SITEDA,MSG
|
---|
17 | S PSEUDO=$P(X,DEL,2),SSN=$P(X,DEL,3),DPURGED=$P(X,DEL,4),DPURGED=($E(DPURGED,3,6)-1700)_$E(DPURGED,1,2)_"00"
|
---|
18 | ;LOOKUP STATION NUMBER FOR INTERNAL NUMBER ON 4 NODE
|
---|
19 | S SITEDA=$O(^ABS(503338,"AD",SITE,0)) I SITEDA="" S MSG="Station number "_SITE_" on record "_$$EXTSSN^ABSVU2(SSN)_" not found in file 503338." D ERR QUIT
|
---|
20 | ;LOOKUP VOLUNTEER
|
---|
21 | S VOLDA=$O(^ABS(503330,"D",SSN,0)) I $S(VOLDA="":1,'$D(^ABS(503330,VOLDA)):1,1:0) S MSG="No volunteer record found with SSN "_$$EXTSSN^ABSVU2(SSN)_"." D ERR QUIT
|
---|
22 | ;CHECK FOR STATION ENTRY
|
---|
23 | I '$D(^ABS(503330,VOLDA,4,SITEDA,0)) S MSG="Volunteer "_$$EXTSSN^ABSVU2(SSN)_" has no record for station "_SITE_".~" D ERR QUIT
|
---|
24 | L +^ABS(503330,VOLDA,4,SITEDA,0):20 ELSE S MSG="Unable to post record for SSN "_$$EXTSSN^ABSVU2(SSN)_" due to record lock.~" D ERR QUIT
|
---|
25 | S X=^ABS(503330,VOLDA,4,SITEDA,0),$P(X,"^",10,11)="Y^"_DPURGED
|
---|
26 | S:$P(X,"^",8)="" $P(X,"^",8)=DPURGED
|
---|
27 | S MSG=$$EXTSSN^ABSVU2(SSN)_" MARKED AS PURGED." D MSG
|
---|
28 | S ^ABS(503330,VOLDA,4,SITEDA,0)=X
|
---|
29 | S RECCOUNT=RECCOUNT+1
|
---|
30 | L -^ABS(503330,VOLDA,4,SITEDA,0)
|
---|
31 | QUIT
|
---|
32 | YEAR(X) ;CONVERT COBOL YEAR TO FM YEAR EG 89 TO 289
|
---|
33 | Q $S($E(X)>3:2_X,1:3_X)
|
---|
34 | STRIP(X) ;STRIP TRAILING BLANKS
|
---|
35 | F Q:$E(X,$L(X))'=" " S X=$E(X,1,($L(X)-1))
|
---|
36 | Q X
|
---|
37 | BLANK(X) ;SET 0 TO BLANKS
|
---|
38 | I +X=0 S X=""
|
---|
39 | Q X
|
---|
40 | ERR ;PROCESS ERROR MESSAGE
|
---|
41 | S ERRCOUNT=ERRCOUNT+1
|
---|
42 | MSG S MSGLINE=$G(MSGLINE)+1
|
---|
43 | S XQSTXT(MSGLINE)=MSG
|
---|
44 | QUIT
|
---|
45 | AWD(X,Y,Z) ;
|
---|
46 | S X=$$BLANK(X)
|
---|
47 | I +X=0,Y="",Z="" Q ""
|
---|
48 | I Y="",Z="" Q +X
|
---|
49 | I Y="" S Y=" "
|
---|
50 | Q (+X_"/"_$$FULLDAT^ABSVU2(Y)_"/"_Z)
|
---|