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

ACRFSAMT.m

Go to the documentation of this file.
  1. ACRFSAMT ;IHS/OIRM/DSD/AEF - SEARCH FOR PAYMENT BY AMOUNT [ 11/01/2001 9:44 AM ]
  1. ;;2.1;ADMIN RESOURCE MGT SYSTEM;;NOV 05, 2001
  1. ;
  1. ;This routine will loop through the 1166 Approvals for Payment
  1. ;file ^AFSLAFP global and find batches containing the specified
  1. ;payment amount. An optional date range can be included to narrow the
  1. ;search.
  1. ;
  1. ;
  1. EN ;----- MAIN ENTRY POINT
  1. ;
  1. N AMT,BEG,END
  1. D AMT(.AMT)
  1. Q:AMT=""
  1. D DATES(.BEG,.END)
  1. Q:'$G(BEG)
  1. Q:'$G(END)
  1. D SEARCH(AMT,BEG,END)
  1. Q
  1. AMT(AMT) ;----- PROMPT FOR DOLLAR AMOUNT
  1. ;
  1. N DIR,DIRUT,DTOUT,DUOUT,X,Y
  1. S AMT=""
  1. S DIR(0)="N^::2"
  1. S DIR("A")="Enter DOLLAR AMOUNT"
  1. D ^DIR
  1. Q:Y["^"
  1. Q:$D(DTOUT)!($D(DUOUT))!($D(DIRUT))
  1. S AMT=Y
  1. S AMT=$J(AMT,$L(AMT),2)
  1. Q
  1. DATES(BEG,END) ;
  1. ;----- PROMPT FOR BEGINNING AND ENDING DATES
  1. ;
  1. D ;
  1. N DIR,DIRUT,DTOUT,DUOUT,X,Y
  1. K BEG,END
  1. S DIR(0)="D^::E"
  1. S DIR("A")="Enter BEGINNING DATE"
  1. D ^DIR
  1. Q:$D(DTOUT)!($D(DUOUT))!($D(DIRUT))
  1. S BEG=Y
  1. S DIR("A")="Enter ENDING DATE"
  1. D ^DIR
  1. Q:$D(DTOUT)!($D(DUOUT))!($D(DIRUT))
  1. S END=Y
  1. I END<BEG D G D
  1. . W !?5,"ENDING DATE cannot be less than BEGINNING DATE",!
  1. Q
  1. ;----- SEARCH AFSLAFP GLOBAL BY EXPORT DATE AND AMOUNT
  1. ;
  1. I BEG="" S BEG=0
  1. I END="" S END=9999999
  1. F X=BEG:1:END D EXP(X,AMT)
  1. Q
  1. EXP(X,AMT) ;
  1. ;----- SEARCH AFSLAFP GLOBAL
  1. ;
  1. S D0=0
  1. F S D0=$O(^AFSLAFP("EXP",X,D0)) Q:'D0 D
  1. . S D1=0
  1. . F S D1=$O(^AFSLAFP("EXP",X,D0,D1)) Q:'D1 D
  1. . . S D2=0
  1. . . F S D2=$O(^AFSLAFP(D0,1,D1,1,D2)) Q:'D2 D
  1. . . . S DOL=$P($G(^AFSLAFP(D0,1,D1,1,D2,0)),U,11)
  1. . . . I +DOL=+AMT D DISP(D0,D1,D2)
  1. Q
  1. DISP(D0,D1,D2) ;
  1. ;----- DISPLAY DATA
  1. ;
  1. S BATCH=$P($G(^AFSLAFP(D0,1,D1,0)),U)
  1. S SCHNO=$P($G(^AFSLAFP(D0,1,D1,2)),U,6)
  1. S CERT=$P($G(^AFSLAFP(D0,1,D1,0)),U,5)
  1. S CERT=$E(CERT,4,5)_"/"_$E(CERT,6,7)_"/"_$E(CERT,2,3)
  1. S EXP=$P($G(^AFSLAFP(D0,1,D1,2)),U)
  1. S EXP=$E(EXP,4,5)_"/"_$E(EXP,6,7)_"/"_$E(EXP,2,3)
  1. S AMT=$P($G(^AFSLAFP(D0,1,D1,1,D2,0)),U,11)
  1. S AMT=$J(AMT,$L(AMT),2)
  1. W !
  1. W EXP
  1. W ?10,AMT
  1. W ?30,BATCH
  1. W ?40,SCHNO
  1. W ?55,CERT
  1. W ?65,EXP
  1. Q