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

ACRFIRS4.m

Go to the documentation of this file.
  1. ACRFIRS4 ;IHS/OIRM/DSD/AEF - CALCULATE YTD PAYMENTS TO VENDORS [ 11/01/2001 9:44 AM ]
  1. ;;2.1;ADMIN RESOURCE MGMT SYSTEM;;NOV 05, 2001
  1. ;
  1. ;This routine loops through the payments in the 1166 Approvals for
  1. ;Payment file for the export date range specified and totals up all the
  1. ;payment amounts and places the total amount in the YTD PAID field
  1. ;of the Vendor file.
  1. ;
  1. EN ;----- MAIN ENTRY POINT
  1. ;
  1. N Z
  1. D ^XBKVAR
  1. D HOME^%ZIS
  1. D DATES
  1. Q:'+Z
  1. D ZERO
  1. D LOOP(Z)
  1. Q
  1. LOOP(Z) ;----- LOOP THROUGH PAYMENTS AND SET TOTALS
  1. ;
  1. ; Z = BEGINNING DATE^ENDING DATE
  1. ;
  1. N AMOUNT,DATA,DATE,DIR,END,FY,SEQ,VENDOR
  1. S DATE=$P(Z,U)-1
  1. S END=$P(Z,U,2)
  1. F S DATE=$O(^AFSLAFP("EXP",DATE)) Q:'DATE Q:DATE>END D
  1. . S FY=0
  1. . F S FY=$O(^AFSLAFP("EXP",DATE,FY)) Q:'FY D
  1. . . S BCH=0
  1. . . F S BCH=$O(^AFSLAFP("EXP",DATE,FY,BCH)) Q:'BCH D
  1. . . . S SEQ=0
  1. . . . F S SEQ=$O(^AFSLAFP(FY,1,BCH,1,SEQ)) Q:'SEQ D
  1. . . . . S DATA=$G(^AFSLAFP(FY,1,BCH,1,SEQ,0))
  1. . . . . S VENDOR=$P(DATA,U,10)
  1. . . . . Q:'VENDOR
  1. . . . . S AMOUNT=$P(DATA,U,11)
  1. . . . . D SET(VENDOR,AMOUNT)
  1. W !,"DONE"
  1. S DIR(0)="E"
  1. D ^DIR
  1. Q
  1. SET(VENDOR,AMOUNT) ;
  1. ;----- SET DATA INTO 1166 AFP 1099-VENDORS FILE
  1. ;
  1. N YTD,DA,DIE,DR
  1. S YTD=$P(^AUTTVNDR(VENDOR,11),U,7)
  1. S YTD=YTD+AMOUNT
  1. S DA=VENDOR
  1. S DIE="^AUTTVNDR("
  1. S DR="1107///^S X=YTD"
  1. D ^DIE
  1. Q
  1. DATES ;----- ASK FOR BEGINNING AND ENDING DATES
  1. ;
  1. ; Returns Z = BEGIN^END
  1. ;
  1. N DIR,X,Y
  1. W !
  1. S Z=""
  1. S DIR(0)="DO^::E"
  1. S DIR("A")="Enter BEGINNING DATE"
  1. D ^DIR
  1. Q:Y'>0
  1. S Z=Y
  1. S DIR("A")="Enter ENDING DATE"
  1. D ^DIR
  1. Q:Y'>0
  1. I Y<Z W !,*7,"ENDING DATE cannot be less than BEGINNING DATE!" G DATES
  1. S $P(Z,U,2)=Y
  1. Q
  1. ENZ ;EP -- ENTRY POINT TO SET VENDOR YTD FIELDS TO NULL
  1. ;
  1. S DIR(0)="Y"
  1. S DIR("A")="Do you want to ZERO out the Year-To-Date field for all Vendors"
  1. S DIR("B")="NO"
  1. D ^DIR
  1. I Y D ZERO W !," DONE!"
  1. Q
  1. ZERO ;----- SET YTD FIELDS TO NULL
  1. ;
  1. N DA,DIE,DR,VENDOR,X,Y
  1. S VENDOR=0
  1. F S VENDOR=$O(^AUTTVNDR(VENDOR)) Q:'VENDOR D
  1. . S DA=VENDOR
  1. . S DIE="^AUTTVNDR("
  1. . S DR="1107///^S X=""@"""
  1. . D ^DIE
  1. Q