| 1 | ABSVMRV1 ;OAKLANDFO/DPC-VSS MIGRATION;7/23/2002
 | 
|---|
| 2 |  ;;4.0;VOLUNTARY TIMEKEEPING;*31*;Jul 1994
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 |  ;Reference file validation
 | 
|---|
| 5 | ORGVAL(FLAG,VALRES) ;
 | 
|---|
| 6 |  N ORGIEN,ORG0,ORGIDEN
 | 
|---|
| 7 |  N CODE
 | 
|---|
| 8 |  K ^TMP("ABSVM",$J,"ORGCODES")
 | 
|---|
| 9 |  S VALRES("ERRCNT")=0
 | 
|---|
| 10 |  S VALRES("DA")=$$CRERRLOG^ABSVMUT1("G",$G(FLAG))
 | 
|---|
| 11 |  I VALRES("DA")=0 W !,"There was an error creating VALIDATION RESULTS entry for Organizations." Q
 | 
|---|
| 12 |  S ORGIEN=899
 | 
|---|
| 13 |  F  S ORGIEN=$O(^ABS(503334,ORGIEN)) Q:ORGIEN=""  D
 | 
|---|
| 14 |  . N ERRS
 | 
|---|
| 15 |  . S ERRS=0
 | 
|---|
| 16 |  . S ORG0=$G(^ABS(503334,ORGIEN,0))
 | 
|---|
| 17 |  . S ORGIDEN="Volunteer Organizations Codes record #"_ORGIEN
 | 
|---|
| 18 |  . I ORG0="" D ADDERR^ABSVMVV1(ORGIDEN_" does not exist.",.ERRS) Q
 | 
|---|
| 19 |  . ;CODE
 | 
|---|
| 20 |  . D
 | 
|---|
| 21 |  . . S CODE=$P(ORG0,U)
 | 
|---|
| 22 |  . . I CODE="" D ADDERR^ABSVMVV1(ORGIDEN_" is missing a Code.",.ERRS) Q
 | 
|---|
| 23 |  . . I CODE'?3N D ADDERR^ABSVMVV1(ORGIDEN_" has an incorrect Code.",.ERRS) Q
 | 
|---|
| 24 |  . . I $D(^TMP("ABSVM",$J,"ORGCODES",CODE)) D ADDERR^ABSVMVV1(ORGIDEN_" has a duplicate Code of "_CODE_" with record #"_$G(^TMP("ABSVM",$J,"ORGOCDES",CODE))_".",.ERRS) Q
 | 
|---|
| 25 |  . . S ^TMP("ABSVM",$J,"ORGCODES",CODE)=ORGIEN ;array of local org codes.
 | 
|---|
| 26 |  . . S OCDS(ORGIEN)="" ;array of acceptable Org Code entries.
 | 
|---|
| 27 |  . ;ORG NAME
 | 
|---|
| 28 |  . I $P(ORG0,U,2)="" D ADDERR^ABSVMVV1(ORGIDEN_" is missing an organization name.",.ERRS)
 | 
|---|
| 29 |  . I $L($P(ORG0,U,2))>35 D ADDERR^ABSVMVV1(ORGIDEN_" has an Organization Name that is longer than 35 characters.",.ERRS)
 | 
|---|
| 30 |  . ;ABBREV.
 | 
|---|
| 31 |  . I $L($P(ORG0,U,3))>6!($L($P(ORG0,U,4))>6) D ADDERR^ABSVMVV1(ORGIDEN_" has an Abbreviation longer than 6 characters.",.ERRS)
 | 
|---|
| 32 |  . ;INACTIVE
 | 
|---|
| 33 |  . I ",0,1,,"'[(","_$P(ORG0,U,5)_",") D ADDERR^ABSVMVV1(ORGIDEN_" has an invalid Inactive Code.",.ERRS)
 | 
|---|
| 34 |  . I ERRS>0 D RECERR^ABSVMUT1(.VALRES,.ERRS) Q
 | 
|---|
| 35 |  . S OCDS(ORGIEN)="" ;Array of good org IENS for validating hours.
 | 
|---|
| 36 |  . I $G(FLAG)["S" S ^XTMP("ABSVMORG","IEN",ORGIEN)=""
 | 
|---|
| 37 |  . Q
 | 
|---|
| 38 |  D ERRCNT^ABSVMUT1(.VALRES)
 | 
|---|
| 39 |  K ^TMP("ABSVM",$J,"ORGCODE")
 | 
|---|
| 40 |  Q
 | 
|---|
| 41 |  ;
 | 
|---|
| 42 | SRVVAL(FLAG,VALRES) ;
 | 
|---|
| 43 |  N SRVIEN,SRV0,SRVIDEN
 | 
|---|
| 44 |  N CODE,SRVNAME
 | 
|---|
| 45 |  K ^TMP("ABSVM",$J,"SRVCODES")
 | 
|---|
| 46 |  S VALRES("ERRCNT")=0
 | 
|---|
| 47 |  S VALRES("DA")=$$CRERRLOG^ABSVMUT1("S",$G(FLAG))
 | 
|---|
| 48 |  I VALRES("DA")=0 W !,"There was an error creating VALIDATION RESULTS entry for Services." Q
 | 
|---|
| 49 |  S SRVIEN=0
 | 
|---|
| 50 |  F  S SRVIEN=$O(^ABS(503332,SRVIEN)) Q:SRVIEN=""  D
 | 
|---|
| 51 |  . N ERRS,LOWCODE
 | 
|---|
| 52 |  . S ERRS=0
 | 
|---|
| 53 |  . S SRV0=$G(^ABS(503332,SRVIEN,0))
 | 
|---|
| 54 |  . S SRVIDEN="Voluntary Service Assignment Codes record #"_SRVIEN
 | 
|---|
| 55 |  . I SRV0="" D ADDERR^ABSVMVV1(SRVIDEN_" does not exist.",.ERRS) Q
 | 
|---|
| 56 |  . ;CODE
 | 
|---|
| 57 |  . D  Q:LOWCODE
 | 
|---|
| 58 |  . . S LOWCODE=0
 | 
|---|
| 59 |  . . S CODE=$P(SRV0,U)
 | 
|---|
| 60 |  . . I CODE="" D ADDERR^ABSVMVV1(SRVIDEN_" is missing a Code.",.ERRS) Q
 | 
|---|
| 61 |  . . I CODE'?3N.1A D ADDERR^ABSVMVV1(SRVIDEN_" has an incorrect Code.",.ERRS) Q
 | 
|---|
| 62 |  . . I CODE<800 S LOWCODE=1 Q
 | 
|---|
| 63 |  . . I $D(^TMP("ABSVM",$J,"SRVCODES",CODE)) D ADDERR^ABSVMVV1(SRVIDEN_" has a duplicate Code of "_CODE_" with record #"_^TMP("ABSVM",$J,"SRVCODES",CODE)_".",.ERRS) Q
 | 
|---|
| 64 |  . . S ^TMP("ABSVM",$J,"SRVCODES",CODE)=SRVIEN ;Array of local service codes.
 | 
|---|
| 65 |  . . S SCDS(SRVIEN)="" ;Array of usable service code IENs
 | 
|---|
| 66 |  . ;SERVICE NAME
 | 
|---|
| 67 |  . S SRVNAME=$P(SRV0,U,2)
 | 
|---|
| 68 |  . I SRVNAME="" D ADDERR^ABSVMVV1(SRVIDEN_" is missing service name.",.ERRS)
 | 
|---|
| 69 |  . I $L($P(SRVNAME,"-"))>35 D ADDERR^ABSVMVV1(SRVIDEN_" has Service Name that is longer than 35 characters.",.ERRS)
 | 
|---|
| 70 |  . I $L($P(SRVNAME,"-",2))>30 D ADDERR^ABSVMVV1(SRVIDEN_" has a Service Subdivision longer than 30 characters.",.ERRS)
 | 
|---|
| 71 |  . ;ABBREV.
 | 
|---|
| 72 |  . I $L($P(SRV0,U,3))>7 D ADDERR^ABSVMVV1(SRVIDEN_" has an Abbreviation longer than 6 characters.",.ERRS)
 | 
|---|
| 73 |  . I ERRS>0 D RECERR^ABSVMUT1(.VALRES,.ERRS) Q
 | 
|---|
| 74 |  . S SCDS(SRVIEN)="" ;Array of good service IENS used in hours' validation.
 | 
|---|
| 75 |  . I $G(FLAG)="S" S ^XTMP("ABSVMSERV","IEN",SRVIEN)=""
 | 
|---|
| 76 |  . Q
 | 
|---|
| 77 |  D ERRCNT^ABSVMUT1(.VALRES)
 | 
|---|
| 78 |  K ^TMP("ABSVM",$J,"SRVCODE")
 | 
|---|
| 79 |  Q
 | 
|---|