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

ACRFFDH.m

Go to the documentation of this file.
  1. ACRFFDH ;IHS/OIRM/DSD/AEF - PRINT FUNDS DISTRIBUTION ACCOUNTS HIERARCHICAL STRUCTURE [ 10/27/2004 4:18 PM ]
  1. ;;2.1;ADMIN RESOURCE MGT SYSTEM;**5,13**;NOV 05, 2001
  1. ;;SPECIAL DIAGNOSTIC REPORTS
  1. ;
  1. ;
  1. ;This routine loops through the FMS Department, FMS Sub-Allowance, FMS
  1. ;Allowance and FMS Appropriation files and produces a report showing
  1. ;the hierarchical structure of the accounts
  1. ;
  1. EN ;EP -- MAIN ENTRY POINT
  1. ;
  1. N X,Y,ZTDESC,ZTRTN,ZTSAVE
  1. D ^XBKVAR,HOME^%ZIS
  1. D QUE^ACRFUTL("DQ^ACRFFDH",.ZTSAVE,"FUNDS DISTRIBUTION REPORT") ;ACR*2.1*13.02 IM13574
  1. Q
  1. DQ ;EP -- QUEUED JOB STARTS HERE
  1. ;
  1. N ALLOW,APPROP,DEPT,SUBALLOW
  1. K ^TMP("ACRFFDH",$J)
  1. D DEPT
  1. D SUB
  1. D ALLOW
  1. D APP
  1. I $D(^TMP("ACRFFDH",$J)) D ^ACRFFDH1
  1. D QUIT
  1. Q
  1. DEPT ;----- LOOP THROUGH DEPARTMENT FILE
  1. ;
  1. S DEPT("D","IEN")=0 F S DEPT("D","IEN")=$O(^ACRLOCB(DEPT("D","IEN"))) Q:'DEPT("D","IEN") D
  1. . D D(DEPT("D","IEN"))
  1. . S ^TMP("ACRFFDH",$J,4,DEPT("D","IEN"),0)=DEPT("D","FY")_U_DEPT("D","CREATE FY")_U_DEPT("D","AMOUNT")_U_U_U_DEPT("D","SUBALLOW IEN")
  1. . I $G(DEPT("D","SUBALLOW IEN")) D
  1. . . D S(DEPT("D","SUBALLOW IEN"))
  1. . . S ^TMP("ACRFFDH",$J,3,SUBALLOW("D","IEN"),4,DEPT("D","IEN"),0)=DEPT("D","FY")_U_DEPT("D","CREATE FY")_U_DEPT("D","AMOUNT")_U_U_U_DEPT("D","SUBALLOW IEN")
  1. . I $G(SUBALLOW("D","ALLOW IEN")) D
  1. . . D A(SUBALLOW("D","ALLOW IEN"))
  1. . . S ^TMP("ACRFFDH",$J,2,ALLOW("D","IEN"),3,SUBALLOW("D","IEN"),4,DEPT("D","IEN"),0)=DEPT("D","FY")_U_DEPT("D","CREATE FY")_U_DEPT("D","AMOUNT")_U_U_U_DEPT("D","SUBALLOW IEN")
  1. . I $G(ALLOW("D","APPROP IEN")) D
  1. . . D P(ALLOW("D","APPROP IEN"))
  1. . . S ^TMP("ACRFFDH",$J,1,APPROP("D","IEN"),2,ALLOW("D","IEN"),3,SUBALLOW("D","IEN"),4,DEPT("D","IEN"),0)=DEPT("D","FY")_U_DEPT("D","CREATE FY")_U_DEPT("D","AMOUNT")_U_U_U_DEPT("D","SUBALLOW IEN")
  1. Q
  1. SUB ;EP -- LOOP THROUGH SUB-ALLOWANCE FILE
  1. ;
  1. S SUBALLOW("D","IEN")=0 F S SUBALLOW("D","IEN")=$O(^ACRALC(SUBALLOW("D","IEN"))) Q:'SUBALLOW("D","IEN") D
  1. . D S(SUBALLOW("D","IEN"))
  1. . S ^TMP("ACRFFDH",$J,3,SUBALLOW("D","IEN"),0)=SUBALLOW("D","FY")_U_SUBALLOW("D","CREATE FY")_U_SUBALLOW("D","AMOUNT")_U_U_SUBALLOW("D","ALLOW IEN")
  1. . I $G(SUBALLOW("D","ALLOW IEN")) D
  1. . . D A(SUBALLOW("D","ALLOW IEN"))
  1. . . S ^TMP("ACRFFDH",$J,2,ALLOW("D","IEN"),3,SUBALLOW("D","IEN"),0)=SUBALLOW("D","FY")_U_SUBALLOW("D","CREATE FY")_U_SUBALLOW("D","AMOUNT")_U_U_SUBALLOW("D","ALLOW IEN")
  1. . I $G(ALLOW("D","APPROP IEN")) D
  1. . . D P(ALLOW("D","APPROP IEN"))
  1. . . S ^TMP("ACRFFDH",$J,1,APPROP("D","IEN"),2,ALLOW("D","IEN"),3,SUBALLOW("D","IEN"),0)=SUBALLOW("D","FY")_U_SUBALLOW("D","CREATE FY")_U_SUBALLOW("D","AMOUNT")_U_U_SUBALLOW("D","ALLOW IEN")
  1. Q
  1. ALLOW ;EP -- LOOP THROUGH ALLOWANCE FILE
  1. ;
  1. S ALLOW("D","IEN")=0 F S ALLOW("D","IEN")=$O(^ACRALW(ALLOW("D","IEN"))) Q:'ALLOW("D","IEN") D
  1. . D A(ALLOW("D","IEN"))
  1. . S ^TMP("ACRFFDH",$J,2,ALLOW("D","IEN"),0)=ALLOW("D","FY")_U_ALLOW("D","CREATE FY")_U_ALLOW("D","AMOUNT")_U_ALLOW("D","APPROP IEN")
  1. . I $G(ALLOW("D","APPROP IEN")) D
  1. . . D P(ALLOW("D","APPROP IEN"))
  1. . . S ^TMP("ACRFFDH",$J,1,APPROP("D","IEN"),2,ALLOW("D","IEN"),0)=ALLOW("D","FY")_U_ALLOW("D","CREATE FY")_U_ALLOW("D","AMOUNT")_U_ALLOW("D","APPROP IEN")
  1. Q
  1. APP ;EP -- LOOP THROUGH APPROPRIATION FILE
  1. ;
  1. S APPROP("D","IEN")=0 F S APPROP("D","IEN")=$O(^ACRAPP(APPROP("D","IEN"))) Q:'APPROP("D","IEN") D
  1. . D P(APPROP("D","IEN"))
  1. . S ^TMP("ACRFFDH",$J,1,APPROP("D","IEN"),0)=APPROP("D","FY")_U_APPROP("D","CREATE FY")_U_APPROP("D","AMOUNT")
  1. Q
  1. D(X) ;----- SET DEPARTMENT VARIABLES
  1. ;
  1. ; X = DEPARTMENT IEN
  1. ;
  1. N DATA
  1. K DEPT("D")
  1. S DEPT("D","IEN")=X
  1. S DATA=$G(^ACRLOCB(DEPT("D","IEN"),0))
  1. S DEPT("D","PTR")=$P(DATA,U,5)
  1. I DEPT("D","PTR") S DEPT("D","NAME")=$P($G(^AUTTPRG(DEPT("D","PTR"),0)),U)
  1. I $G(DEPT("D","NAME"))']"" S DEPT("D","NAME")="UNKNOWN"
  1. S DEPT("D","SUBALLOW IEN")=$P(DATA,U,4)
  1. S DEPT("D","AMOUNT")=$P(DATA,U)
  1. S DEPT("D","CREATE FY")=$P(DATA,U,16)
  1. S DEPT("D","FY")=$P($G(^ACRLOCB(DEPT("D","IEN"),"DT")),U)
  1. Q
  1. S(X) ;EP -- SET SUB ALLOWANCE VARIABLES
  1. ;
  1. ; X = SUBALLOWANCE IEN
  1. ;
  1. N DATA
  1. K SUBALLOW("D")
  1. S SUBALLOW("D","IEN")=X
  1. S DATA=$G(^ACRALC(SUBALLOW("D","IEN"),0))
  1. S SUBALLOW("D","NAME")=$P(DATA,U,12) ;ACR*2.1*5.16
  1. I SUBALLOW("D","NAME")']"" S SUBALLOW("D","NAME")="UNKNOWN" ;ACR*2.1*5.16
  1. S SUBALLOW("D","ALLOW IEN")=$P(DATA,U,3)
  1. S SUBALLOW("D","AMOUNT")=$P(DATA,U)
  1. S SUBALLOW("D","CREATE FY")=$P(DATA,U,16)
  1. S SUBALLOW("D","FY")=$P($G(^ACRALC(SUBALLOW("D","IEN"),"DT")),U)
  1. Q
  1. A(X) ;EP -- SET ALLOWANCE VARIABLES
  1. ;
  1. ; X = ALLOWANCE IEN
  1. ;
  1. N DATA
  1. K ALLOW("D")
  1. S ALLOW("D","IEN")=X
  1. S DATA=$G(^ACRALW(ALLOW("D","IEN"),0))
  1. S ALLOW("D","NAME")=$P(DATA,U,12) ;ACR*2.1*5.16
  1. S ALLOW("D","APPROP IEN")=$P(DATA,U,2)
  1. S ALLOW("D","AMOUNT")=$P(DATA,U)
  1. S ALLOW("D","CREATE FY")=$P(DATA,U,16)
  1. S DATA=$G(^ACRALW(ALLOW("D","IEN"),"DT"))
  1. S ALLOW("D","FY")=$P(DATA,U)
  1. S ALLOW("D","PTR")=$P(DATA,U,5)
  1. I ALLOW("D","PTR")]"" S ALLOW("D","NAME")=$P($G(^AUTTALLW(ALLOW("D","PTR"),0)),U)_" "_ALLOW("D","NAME") ;ACR*2.1*5.16
  1. I $G(ALLOW("D","NAME"))']"" S ALLOW("D","NAME")="UNKNOWN"
  1. Q
  1. P(X) ;EP -- SET APPROPRIATION VARIABLES
  1. ;
  1. ; X = APPROPRIATION IEN
  1. ;
  1. N DATA
  1. K APPROP("D")
  1. S APPROP("D","IEN")=X
  1. S DATA=$G(^ACRAPP(APPROP("D","IEN"),0))
  1. S APPROP("D","PTR")=$P(DATA,U,2)
  1. I APPROP("D","PTR")]"" S APPROP("D","NAME")=$P($G(^AUTTPRO(APPROP("D","PTR"),0)),U)
  1. I $G(APPROP("D","NAME"))']"" S APPROP("D","NAME")="UNKNOWN"
  1. S APPROP("D","AMOUNT")=$P(DATA,U)
  1. S APPROP("D","CREATE FY")=$P(DATA,U,16)
  1. S APPROP("D","FY")=$P($G(^ACRAPP(APPROP("D","IEN"),"DT")),U)
  1. Q
  1. QUIT ;----- CLEAN UP, CLOSE DEVICE, QUIT JOB
  1. ;
  1. K ZTSAVE
  1. K ^TMP("ACRFFDH",$J)
  1. D ^%ZISC
  1. Q