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

ACRFDI.m

Go to the documentation of this file.
  1. ACRFDI ;IHS/OIRM/DSD/THL,AEF - DUE IN REPORT; [ 02/02/2005 1:01 PM ]
  1. ;;2.1;ADMIN RESOURCE MGT SYSTEM;**16**;NOV 05, 2001
  1. ;;ROUTINE USED TO PRINT DUI IN REPORTS
  1. EN D SHIPTO^ACRFRR
  1. Q:$D(ACRQUIT)!$D(ACROUT)!'$D(ACRRL)
  1. D DUE
  1. Q:$D(ACRQUIT)!$D(ACROUT)!'$D(ACRDAT)!'$D(ACRBEFOR)
  1. D ZIS
  1. EXIT K ACRDAT,ACRJ,ACRDUET,ACRX,ACRQUIT,ACRDOCDA,ACRLATE,ACRDAT1,ACRBEFOR,ACRAFTER,ACRUI,ACRINDEX,ACRDAYS,ACRDSC1,ACRDSC2,ACRQTY,ACRDIR,ACRDOC1,ACR,ACRRTN,ACRRL
  1. Q
  1. ZIS S ZTDESC="ARMS DUE IN REPORT"
  1. S ACRRTN="LIST^ACRFDI"
  1. D ^ACRFZIS
  1. Q
  1. LIST ;EP;TO PRINT DUE IN REPORT
  1. D HEAD
  1. S ACRJ=0
  1. F S ACRDAT=$O(^ACRDOC("DI",ACRRL,ACRDAT)) Q:'ACRDAT!$D(ACRQUIT)!$D(ACROUT)!(ACRDAT>ACRBEFOR) D LIST1
  1. I 'ACRJ W !?10,"There are NO PO'S ",$G(ACRDUET)
  1. D PAUSE^ACRFWARN
  1. K ACRQUIT
  1. Q
  1. LIST1 D DAT
  1. N DATA
  1. Q:$D(ACRQUIT)!$D(ACROUT)
  1. S ACRJ=ACRJ+1,ACRDOCDA=0
  1. F S ACRDOCDA=$O(^ACRDOC("DI",ACRRL,ACRDAT,ACRDOCDA)) Q:'ACRDOCDA!$D(ACRQUIT)!$D(ACROUT) D
  1. . Q:'$D(^ACRSS("J",ACRDOCDA))
  1. . S DATA=$G(^ACRDOC(ACRDOCDA,0))
  1. . Q:$P(DATA,U,4)=35 ; cc purchase
  1. . Q:$P(DATA,U,12) ; draft payment
  1. . Q:$P(DATA,U,18) ; total dollars for BPA
  1. . S DATA=$G(^ACROBL(ACRDOCDA,"APV"))
  1. . Q:$P(DATA,U)'="A" ; request approved
  1. . Q:$P(DATA,U,8)'="A" ; PO authorized
  1. . Q:$P(DATA,U,6)=1 ; 1=final RR
  1. . Q:$P(DATA,U,9)=1 ; 1=final invoice
  1. . D DOC1
  1. Q
  1. DAT K ACRQUIT
  1. S ACRDAT1=$E(ACRDAT,4,5)_"/"_$E(ACRDAT,6,7)_"/"_$E(ACRDAT,2,3)
  1. S X1=$S(ACRBEFOR=9999999:DT,1:ACRBEFOR)
  1. S X2=ACRDAT
  1. Q:ACRDUET["DUE BETWEEN"
  1. D ^%DTC
  1. K X1,X2
  1. I X<ACRDAYS S ACRQUIT="" Q
  1. S ACRLATE=X
  1. Q
  1. DOC1 N X
  1. S X=^ACRDOC(ACRDOCDA,0)
  1. S ACRDOC=$E($P(X,U,2),1,10)
  1. S ACRDOC1=$P(X,U)
  1. I ACRDOC="" S ACRDOC=ACRDOC1 ;ACR*2.1*16.04 IM11579
  1. S:$P(X,U,9) ACRDOC=ACRDOC_"-MOD"_+$P(X,U,9)
  1. ;W !,ACRDOC ;ACR*2.1*16.04 IM11579
  1. N ACRHD ;ACR*2.1*16.04 IM11579
  1. S ACRHD=1 ;ACR*2.1*16.04 IM11579
  1. S (ACRSSDA,ACRJ)=0
  1. F S ACRSSDA=$O(^ACRSS("J",ACRDOCDA,ACRSSDA)) Q:'ACRSSDA!$D(ACRQUIT)!$D(ACROUT) D SS1
  1. Q
  1. SS1 S ACRINDEX=$P($G(^ACRSS(ACRSSDA,"NMS")),U,4)
  1. S ACRUI=^ACRSS(ACRSSDA,"DT")
  1. S ACRQTY=$P(ACRUI,U)
  1. S ACRUI=$P(ACRUI,U,2)
  1. S ACRDSC1=$G(^ACRSS(ACRSSDA,"DESC"))
  1. S ACRDSC2=$E($P(ACRDSC1,U,2),1,30)
  1. S ACRDSC1=$E($P(ACRDSC1,U),1,30)
  1. S ACRUI=$S($D(^ACRUI(+ACRUI,0)):$P(^(0),U),1:"**")
  1. D QADJST
  1. Q:ACRQTY<1
  1. I ACRHD W !,ACRDOC S ACRHD=0 ;ACR*2.1*16.04 IM11579
  1. S ACRJ=ACRJ+1
  1. W W:ACRJ>1 !
  1. W ?17,ACRINDEX
  1. W ?24,ACRDSC1
  1. W ?55,ACRUI
  1. W ?58,$J(ACRQTY,4)
  1. W ?63,$J($G(ACRLATE),4)
  1. I ACRJ=1 D
  1. .W ?68,ACRDAT1
  1. .W !?3,"(",ACRDOC1,")"
  1. I ACRDSC2]"" W:ACRJ>1 ! W ?24,ACRDSC2
  1. D:$Y#IOSL>20 PAUSE^ACRFWARN
  1. Q
  1. DUE S (ACRDIR,DIR(0))="SO^1:DUE NOW;2:7 DAYS PAST DUE;3:30 DAYS PAST DUE;4:DUE BETWEEN DATES"
  1. D DIR^ACRFDIC
  1. I "1234"'[+Y S ACRQUIT="" Q
  1. S ACRDUET=$P($P($P(ACRDIR,U,2),";",X),":",2)
  1. I Y<4 D
  1. .S X2=$S(X=1:0,X=2:-7,3:-30)
  1. .S X1=DT
  1. .S ACRDAYS=X2*-1
  1. .S ACRDAT=0
  1. .D C^%DTC
  1. .S ACRBEFOR=(X-1)
  1. I Y=4 D DATES
  1. Q
  1. W !?17,"DUE IN REPORT"
  1. W !?17,"RECEIVING LOCATION: ",$P($G(^AUTTPRG(+$G(ACRRL),0)),U)
  1. W !?17,"REPORT DATE.......: "
  1. S Y=DT
  1. X ^DD("DD")
  1. W Y
  1. W !?17,"REPORT FOR ORDERS.: ",$G(ACRDUET)
  1. W !!?58,"DUE"
  1. W ?63,"NO."
  1. W ?77,"STO"
  1. W !?17,"INDEX"
  1. W ?58,"IN"
  1. W ?63,"DAYS"
  1. W ?68,"DATE"
  1. W ?77,"RES"
  1. W !,"PO NUMBER"
  1. W ?17,"NUMBER"
  1. W ?24,"DESCRIPTION"
  1. W ?55,"UI"
  1. W ?58,"QTY"
  1. W ?63,"LATE"
  1. W ?68,"DUE IN"
  1. W ?77,"ITM"
  1. W !,"----------------"
  1. W ?17,"------"
  1. W ?24,"------------------------------"
  1. W ?55,"--"
  1. W ?58,"----"
  1. W ?63,"----"
  1. W ?68,"--------"
  1. W ?77,"---"
  1. Q
  1. DATES ;EP;TO DETERMINE DATES DURING WHICH ITEMS ARE DUE IN
  1. S DIR(0)="DO^::AE"
  1. S DIR("A")="Delivery Due On or After"
  1. D DIR^ACRFDIC
  1. Q:$D(ACRQUIT)!$D(ACROUT)!'$D(Y)
  1. S ACRDAT=+Y-1
  1. S DIR(0)="DO^::AE"
  1. S DIR("A")="Delivery Due On or Before"
  1. D DIR^ACRFDIC
  1. Q:$D(ACRQUIT)!$D(ACROUT)!'$D(Y)
  1. S (X1,ACRBEFOR)=+Y
  1. S X2=DT
  1. D ^%DTC
  1. S ACRDAYS=X
  1. Q
  1. QADJST ;ADJUST QUANTITY ORDERED BY DELETING QUANTITY ALREADY ACCEPTED
  1. N ACRRRDA
  1. S ACRRRDA=0
  1. F S ACRRRDA=$O(^ACRRR("B",ACRSSDA,ACRRRDA)) Q:'ACRRRDA D
  1. .I $D(^ACRRR(ACRRRDA,"DT")) S ACRQTY=ACRQTY-$P(^("DT"),U,3)
  1. Q