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

ACRFTR1.m

Go to the documentation of this file.
  1. ACRFTR1 ;IHS/OIRM/DSD/THL,AEF - TRAINING REPORTS; [ 11/22/2006 9:44 AM ]
  1. ;;2.1;ADMIN RESOURCE MGT SYSTEM;**19,22**;NOV 05, 2001
  1. ;;UTILITY TO SELECT AND PRINT VARIOUS TRAINING SUMMARY REPORTS
  1. W @IOF
  1. H1 I $D(ACRSMRY) D
  1. .W !?3,"REPORT TYPE: "
  1. .N X
  1. .S X=ACRTYPE
  1. .W $S(X=1:"PURPOSE OF TRAINING",X=2:"TYPE OF TRAINING",X=3:"SOURCE OF TRAINING",X=4:"SPECIAL INTEREST CODE",X=5:"SKILL CODE",X=6:"PROFESIONAL CATEGORY",X=7:"ALL TRAINING",1:"UNSPECIFIED")
  1. W !!,"SUMMARY FOR...: ",ACRFOR
  1. S ACRDC=$S($D(ACRDC):ACRDC+1,1:1)
  1. W ?60,"PAGE: ",ACRDC
  1. W !,"REPORT DATE...: "
  1. S Y=DT
  1. X ^DD("DD")
  1. W Y
  1. W !,"BEGINNING DATE: "
  1. S Y=ACRBEGIN
  1. X ^DD("DD")
  1. W Y
  1. W !,"ENDING DATE...: "
  1. S Y=ACREND
  1. X ^DD("DD")
  1. W Y
  1. W !,"--------------------------------------------------------------------------------"
  1. W !,"AUTHORIZA-"
  1. W ?11,"EMPLOYEE"
  1. W !,"TION NO."
  1. W ?11,"COURSE TITLE"
  1. W ?28,"SERIES/GRD"
  1. W ?41,"TUITION"
  1. W ?49,"BOOKS"
  1. W ?57,"TRAVEL"
  1. W ?65,"M & IE"
  1. W ?73,"OTHER"
  1. W !,"---------- ----------------------------- ------- ------- ------- ------- -------"
  1. Q
  1. PL ;PRINT LINE SUMMARY OF EACH DOCUMENT
  1. W !,$E(ACRTGNO,1,10)
  1. W ?11,ACRTRNEE
  1. W ?32,ACRGRD
  1. W !?11,ACRTITLE
  1. W ?40,$J($P(ACR4,"."),8)
  1. W ?48,$J($P(ACR5,"."),8)
  1. W ?56,$J($P(ACR1,"."),8)
  1. W ?64,$J($P(ACR2,"."),8)
  1. W ?72,$J($P(ACR3,"."),8)
  1. W !?11,"HOURS: ",$J(ACRDUTHR,4),$J(ACRNDHR,5)
  1. W:+ACRDATES ?$X+1,ACRDATES
  1. W ?48,$J($P(ACR4+ACR5,"."),8)
  1. W ?72,$J($P(ACR1+ACR2+ACR3,"."),8)
  1. W $$DASH^ACRFMENU
  1. Q
  1. START ;EP;TO PRINT TRAINING SUMMARY
  1. I ACRTYPE=8 D ALL Q
  1. S1 K ^TMP("ACRTRNG",$J)
  1. D H
  1. S ACRDOCDA=0
  1. ;F S ACRDOCDA=$O(^ACRDOC(ACRXREF,ACRDFN,ACRDOCDA)) Q:'ACRDOCDA!$D(ACRQUIT)!$D(ACROUT) I $E($G(^ACROBL(ACRDOCDA,"APV")))'="D",$P(^ACRDOC(ACRDOCDA,0),U,13)=53 S ACRDOC0=^(0) D ;ACR*2.1*22.05 IM22816
  1. F S ACRDOCDA=$O(^ACRDOC(ACRXREF,ACRDFN,ACRDOCDA)) Q:'ACRDOCDA!$D(ACRQUIT)!$D(ACROUT) D ;ACR*2.1*22.05 IM22816
  1. .Q:$E($G(^ACROBL(ACRDOCDA,"APV")))'="A" ;ACR*2.1*22.05 IM22816
  1. .Q:$P(^ACRDOC(ACRDOCDA,0),U,13)'=53 ;ACR*2.1*22.05 IM22816
  1. .S ACRDOC0=^ACRDOC(ACRDOCDA,0) ;ACR*2.1*22.05 IM22816
  1. .I $G(ACRPOZ),$P(ACRDOC0,U,8)'=ACRPOZ Q
  1. .I $G(ACRLOC),$P($G(^ACRLOCB(+$P(ACRDOC0,U,6),"DT")),U,11)'=ACRLOC Q
  1. .I $G(ACRAREA),$P($G(^ACRPO(+$P(ACRDOC0,U,8),0)),U,19)'=ACRAREA Q
  1. .I $G(ACRCAN),$P($G(^ACRDOC(ACRDOCDA,"REQ")),U,10)'=ACRCAN Q
  1. .S ACRTRNG=$G(^ACRDOC(ACRDOCDA,"TRNG"))
  1. .S ACRTRNG3=$G(^ACRDOC(ACRDOCDA,"TRNG3"))
  1. .S ACRTRNG4=$G(^ACRDOC(ACRDOCDA,"TRNG4"))
  1. . I $G(ACRSG)]"" D Q:ACRSG'=ACRSGX
  1. . . S ACRSGX=$P(ACRTRNG3,U,11,12)
  1. . . Q:$P(ACRSGX,U)'=""&($P(ACRSGX,U,2)'="")
  1. . . Q:$P(ACRTRNG,U,2)=""
  1. . . S ACRSGX=$P($G(^ACRAU($P(ACRTRNG,U,2),1)),U,8)_U_$P($G(^ACRAU($P(ACRTRNG,U,2),1)),U,4)
  1. . K ACRSGX
  1. . I $G(ACRTT),$P(ACRTRNG3,U,7)'=ACRTT Q
  1. .I ACRBEGIN,ACRBEGIN>$P(ACRTRNG,U,11)!(ACREND<$P(ACRTRNG,U,12)) Q
  1. .I $D(ACRNVAL),$P($G(^ACROBL(ACRDOCDA,"APV")),U)="A",$D(^ACRTVAL("B",ACRDOCDA)) Q
  1. .D TYPET
  1. .S ^TMP("ACRTRNG",$J,ACRTYPET,$P(^ACRDOC(ACRDOCDA,0),U))=ACRDOCDA
  1. Q:'$D(^TMP("ACRTRNG",$J))
  1. DTL S (ACRTOTD,ACRTOTND,ACRT4,ACRT5,ACRT6,ACRT1,ACRT2,ACRT3)=0
  1. S ACRTYPET=""
  1. F S ACRTYPET=$O(^TMP("ACRTRNG",$J,ACRTYPET)) Q:ACRTYPET=""!$D(ACRQUIT) D
  1. .S ACRDOC=""
  1. .F S ACRDOC=$O(^TMP("ACRTRNG",$J,ACRTYPET,ACRDOC)) Q:ACRDOC=""!$D(ACRQUIT) D
  1. ..S ACRDOCDA=+$G(^TMP("ACRTRNG",$J,ACRTYPET,ACRDOC))
  1. ..Q:'ACRDOCDA
  1. ..S ACRTRNG=$G(^ACRDOC(ACRDOCDA,"TRNG"))
  1. ..S ACRTRNG3=$G(^ACRDOC(ACRDOCDA,"TRNG3"))
  1. ..S ACRTRNG4=$G(^ACRDOC(ACRDOCDA,"TRNG4"))
  1. ..D DOCS
  1. I $D(ACRSMRY) D I $D(ACRDTAIL) D PAUSE^ACRFWARN,H G DTL
  1. .S ACRTYPET=""
  1. .F S ACRTYPET=$O(^TMP("ACRTRNG",$J,ACRTYPET)) Q:ACRTYPET=""!$D(ACRQUIT) D STAIL
  1. .D TAIL
  1. .K ACRSMRY
  1. D TAIL
  1. D EXIT^ACRFTR:'$D(ACRXT)
  1. D PAUSE^ACRFWARN
  1. W:$E($G(IOST),1,2)="P-" @IOF
  1. Q
  1. H I $E(IOST,1,2)="C-" D HEAD I 1
  1. E D H1
  1. Q
  1. GATHER ;GATHER DATA ON EACH TRAVEL DOCUMENT
  1. D EN2^ACRFCLM
  1. N I
  1. F I=1:1:6 S @("ACR"_I)=$TR(@("ACR"_I)," ","")
  1. D TYPET
  1. S ACRDUZ=$P(ACRTRNG,U,2)
  1. S ACRDUTHR=$P(ACRTRNG,U,9)
  1. S ACRNDHR=$P(ACRTRNG,U,10)
  1. S ACRTOTD=ACRTOTD+ACRDUTHR
  1. S ACRTOTD(ACRTYPET)=$G(ACRTOTD(ACRTYPET))+ACRDUTHR
  1. S ACRTOTND=ACRTOTND+ACRNDHR
  1. S ACRTOTND(ACRTYPET)=$G(ACRTOTND(ACRTYPET))+ACRNDHR
  1. S ACRT1=ACRT1+ACR1
  1. S ACRT2=ACRT2+ACR2
  1. S ACRT3=ACRT3+ACR3
  1. S ACRT4=ACRT4+ACR4
  1. S ACRT5=ACRT5+ACR5
  1. S ACRT6=ACRT6+ACR6
  1. S ACRT1(ACRTYPET)=$G(ACRT1(ACRTYPET))+ACR1
  1. S ACRT2(ACRTYPET)=$G(ACRT2(ACRTYPET))+ACR2
  1. S ACRT3(ACRTYPET)=$G(ACRT3(ACRTYPET))+ACR3
  1. S ACRT4(ACRTYPET)=$G(ACRT4(ACRTYPET))+ACR4
  1. S ACRT5(ACRTYPET)=$G(ACRT5(ACRTYPET))+ACR5
  1. S ACRT6(ACRTYPET)=$G(ACRT6(ACRTYPET))+ACR6
  1. Q:$D(ACRSMRY)
  1. S ACRFROM=$P(ACRTRNG,U,11)
  1. S ACRTO=$P(ACRTRNG,U,12)
  1. S ACRTITLE=$E($P(ACRTRNG,U,18),1,29)
  1. S ACRTGNO=$P(^ACRDOC(ACRDOCDA,0),U)
  1. ;S ACRTRNEE=$E($P($G(^VA(200,+ACRDUZ,0)),U),1,20) ;ACR*2.1*19.02 IM16848
  1. S ACRTRNEE=$E($$NAME2^ACRFUTL1(+ACRDUZ),1,20) ;ACR*2.1*19.02 IM16848
  1. S ACRGRD=$G(^ACRAU(+ACRDUZ,1))
  1. S ACRGRD=$P(ACRGRD,U,3)_$P(ACRGRD,U,8)_"-"_$P(ACRGRD,U,4)
  1. S ACRDATES=$E(ACRFROM,4,5)_"/"_$E(ACRFROM,6,7)_"-"_$E(ACRTO,4,5)_"/"_$E(ACRTO,6,7)_"/"_$E(ACRTO,2,3)
  1. Q
  1. DOCS ;GATHER AND PRINT INFO ON EACH TRAINING DOCUMENT
  1. D GATHER
  1. Q:$D(ACRSMRY)
  1. D PL
  1. D GROUP:$D(^ACRTPAR("B",ACRDOCDA))
  1. I $Y+5>IOSL D
  1. .D PAUSE^ACRFWARN
  1. .D HEAD
  1. Q
  1. TAIL ;
  1. W !?18,"---- ----"
  1. W ?41,"------- ------- ------- ------- -------"
  1. W !?5,"TOTAL HOURS: ",$J(ACRTOTD,4),$J(ACRTOTND,5)
  1. W ?32,"DOLLARS:"
  1. W ?40,$J($P(ACRT4,"."),8)
  1. W ?48,$J($P(ACRT5,"."),8)
  1. W ?56,$J($P(ACRT1,"."),8)
  1. W ?64,$J($P(ACRT2,"."),8)
  1. W ?72,$J($P(ACRT3,"."),8)
  1. W !?30,"SUB-TOTAL:"
  1. W ?48,$J($P(ACRT4+ACRT5,"."),8)
  1. W ?72,$J($P(ACRT1+ACRT2+ACRT3,"."),8)
  1. W !?28,"TOTAL COSTS:"
  1. W ?72,$J($P(ACRT1+ACRT2+ACRT3+ACRT4+ACRT5,"."),8)
  1. Q
  1. STAIL ;
  1. W !?5,$$TYPE(ACRTYPET,ACRTYPE("G"))
  1. W !?11,"HOURS: ",$J(+$G(ACRTOTD(ACRTYPET)),4),$J(+$G(ACRTOTND(ACRTYPET)),5)
  1. W ?32,"DOLLARS:"
  1. W ?40,$J($P($G(ACRT4(ACRTYPET)),"."),8)
  1. W ?48,$J($P($G(ACRT5(ACRTYPET)),"."),8)
  1. W ?56,$J($P($G(ACRT1(ACRTYPET)),"."),8)
  1. W ?64,$J($P($G(ACRT2(ACRTYPET)),"."),8)
  1. W ?72,$J($P($G(ACRT3(ACRTYPET)),"."),8)
  1. W !?21,"CATEGORY SUB-TOTAL:"
  1. W ?48,$J($P($G(ACRT4(ACRTYPET))+$G(ACRT5(ACRTYPET)),"."),8)
  1. W ?72,$J($P($G(ACRT1(ACRTYPET)),".")+$P($G(ACRT2(ACRTYPET)),".")+$P($G(ACRT3(ACRTYPET)),"."),8)
  1. W !?19,"CATEGORY TOTAL COSTS:"
  1. W ?72,$J($P($G(ACRT4(ACRTYPET))+$G(ACRT5(ACRTYPET))+$G(ACRT1(ACRTYPET))+$G(ACRT2(ACRTYPET))+$G(ACRT3(ACRTYPET)),"."),8)
  1. I $Y+5>IOSL D
  1. .D PAUSE^ACRFWARN
  1. .D HEAD
  1. Q
  1. GROUP ;INCLUDE GROUP TRAINING PARTICIPANTS IN TRAINING REPORT
  1. Q
  1. TYPE(X,Y) ;DETERMINE NAME TO PRINT
  1. I X=999 S X=$S(ACRTYPE=7:"ALL",1:"OTHER")_" TRAINING" Q X
  1. S X=$G(@(Y_X_",0)"))
  1. S X=$P(X,U,2)
  1. Q X
  1. ALL ;PRINT ALL SUMMARY REPORTS
  1. N ACRXT
  1. F ACRXT=1:1:7 D:'$D(ACRQUIT)&'$D(ACROUT)
  1. .S ACRSMRY=""
  1. .S ACRTYPE=ACRXT
  1. .Q:ACRTYPE=7
  1. .S ACRTYPE("G")=$$TTYPE^ACRFTR(ACRTYPE)
  1. .D S1
  1. Q
  1. TYPET S ACRTYPET=$S(ACRTYPE=7:999,ACRTYPE=6:$P(ACRTRNG4,U,14),ACRTYPE=5:$P(ACRTRNG,U,22),ACRTYPE=6:$P(ACRTRNG4,U,14),1:$P(ACRTRNG3,U,$S(ACRTYPE=1:6,ACRTYPE=2:7,ACRTYPE=3:8,ACRTYPE=4:9,1:999)))
  1. S:ACRTYPET="" ACRTYPET=999
  1. Q