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

ASUV3AL.m

Go to the documentation of this file.
  1. ASUV3AL ; IHS/ITSC/LMH -INITIAL INVENTORY OVER/SHORT LIST ;
  1. ;;4.2T2;Supply Accounting Mgmt. System;;JUN 30, 2000
  1. ;This routine creates the Inventory Over/Short List Report
  1. D:'$D(DT) ^XBKVAR S %H=$H D YX^%DTC S ASUK("RUN","DT")=$P(Y,"@") K X,Y,%H
  1. D:'$D(IO(0)) HOME^%ZIS
  1. D CLS^ASUUHDG
  1. I $G(ASUL(2,"STA","E#"))']"" D STA^ASUV0NT I $D(DTOUT)!($D(DUOUT)) G EXIT
  1. S DIC("A")=" PRINT RPT 37B 'OVERAGE/SHORTAGE LIST' FOR WHAT ACCOUNT? "
  1. S DIC="9002039.09",DIC(0)="AMEZQ"
  1. D ^DIC K DIC
  1. I $D(DTOUT)!($D(DUOUT)) G EXIT
  1. Q:'$D(Y) Q:Y=""
  1. I Y>0 D
  1. .S ASUMV("ACC")=$P(Y,U),ASUMV("E#","ASA")=ASUL(2,"STA","E#")_ASUMV("ACC")
  1. .D ACC^ASULDIRF(ASUMV("ACC"))
  1. E G EXIT
  1. G:ASUMV("E#","ASA")="" EXIT
  1. I $D(^ASUMV(ASUMV("E#","ASA"),0)) D
  1. .D ACCOUNT^ASUV9IMR
  1. E D Q
  1. .W !!,"NO INVENTORY IS ACTIVE FOR ACCOUNT '",ASUMV("ACC"),"' -",ASUL(9,"ACC","NM")
  1. .S DIR(0)="E" D ^DIR K DIR
  1. S ASUV("ASA")=ASUMV("E#","ASA")
  1. S ASUF=$G(ASUF)
  1. I ASUF=2 D
  1. .S ASUF=0,ASUMV("MODE")=3
  1. E D
  1. .S ASUV("MSG",1)="YOU HAVE REQUESTED AN OVERAGE/SHORTAGE LIST BUT "
  1. .D ASUV2RN0^ASUV2RN
  1. G:ASUF EXIT
  1. D ASUV3AL0
  1. I '$D(IO) D HOME^%ZIS
  1. I '$D(DUZ(2)) W !,"Report must be run from Kernel option" Q
  1. I '$D(ASUL(1,"AR","AP")) D SETAREA^ASULARST
  1. S ZTRTN="PSER^ASUV3AL",ZTDESC="SAMS OVER/SHORT LIST" D O^ASUUZIS
  1. I POP S IOP=$I D ^%ZIS Q
  1. I ASUK(ASUK("PTR"),"Q") K IOP,POP,ZTDESC,ZTRTN,ZTSK,ASUK(ASUK("PTR")),ASUK("PTR"),ASUK("PTR-Q") G EXIT
  1. PSER ;EP;FOR TASKMAN QUEUE OF PRINT
  1. D U^ASUUZIS
  1. S (ASUC("PG"),ASUC("LN"))=0
  1. S ASUMV("E#","SLC")=""
  1. I ASUL(2,"STA","E#")'=ASUL(2,"STA","CD") S X=ASUL(1,"AR","E#"),(ASUL(2,"STA","CD"),X1)=$P(^ASUMS(ASUL(2,"STA","E#"),0),U) D STAT^ASULARST
  1. S ASUMV("E#","INDX")=""
  1. D:ASUC("LN")<1 HEADING
  1. F S ASUMV("E#","INDX")=$O(^ASUV("OS",ASUMV("E#","ASA"),ASUMV("E#","INDX"))) Q:ASUMV("E#","INDX")'?1N.N D
  1. .S ASUMV("E#","SLC")=^ASUV("OS",ASUMV("E#","ASA"),ASUMV("E#","INDX"))
  1. .D ^ASUV9IMR
  1. .D:ASUC("LN")>55 HEADING
  1. .S ASUV("CNT","LST")=$S(ASUMV("CNT","2ND"):ASUMV("CNT","2ND"),1:ASUMV("CNT","1ST"))
  1. .S ASUV("VALO/S")=ASUMV("QTY","DIF")*ASUMV("U/C")
  1. .I ASUV("VALO/S")<25,ASUV("VALO/S")'<-25 D Q
  1. ..S ASUMV("CNT-ENT")=3 D INDEX^ASUV9IMW ;CHANGE TO UPDATE AS ADJUSTED
  1. .D READ^ASUMXDIO
  1. .S ASUMS("E#","IDX")=$O(^ASUMS(ASUL(2,"STA","E#"),1,"B",ASUMX("E#","IDX"),""))
  1. .S ASUMS("ORD#")=$P(^ASUMS(ASUL(2,"STA","E#"),1,ASUMS("E#","IDX"),0),U,3)
  1. .S ASUV("ORD#")=$S(ASUMS("ORD#")'=" ":ASUMS("ORD#"),1:ASUMX("NSN"))
  1. .W !?1,ASUMV("SLC"),?8,$E(ASUMX("IDX"),1,5),".",$E(ASUMX("IDX"),6,6)
  1. .W ?20,ASUMX("DESC",1),?52,ASUMX("AR U/I"),?56,$J(ASUMV("U/C"),6)
  1. .W ?63,$J(ASUMV("QTY","STAM"),6),?70,$J(ASUV("CNT","LST"),6)
  1. .W !?2,ASUV("ORD#"),?20,ASUMX("DESC",2)
  1. .W !?5,$S(ASUMV("QTY","DIF")<0:"SHT",1:"OVR"),?11,"QTY: ",$FN(ASUMV("QTY","DIF"),"-,")
  1. .W ?25,"VAL: ",$FN(ASUV("VALO/S"),"-,",2),?40,"RSCH/ADJ MASTER QUANTITY:"
  1. .W !?1,"REMARKS:",!!
  1. .D SEPERATE
  1. .S ASUC("LN")=ASUC("LN")+7
  1. D:ASUC("LN")>7 FOOTING
  1. I $G(ASUK(ASUK("PTR"),"S")) D C^ASUUZIS
  1. I '$G(ASUF("RPRN")) U IO(0) D FLAGIT3^ASUV2RN
  1. EXIT ;
  1. K ASUC,ASUR,ASUF,ASUMS,ASUMV,ASUV,ASUMX
  1. K DTOUT,DUOUT,ZTRTN,ZTDESC,X,Y,X1
  1. D:$D(ASUK("PTR")) C^ASUUZIS
  1. Q
  1. HEADING ;
  1. D CLS^ASUUHDG S ASUC("PG")=ASUC("PG")+1,ASUC("LN")=7
  1. W "REPORT 37B INITIAL INVENTORY OVERAGE/SHORTAGE LIST DATE: ",ASUK("RUN","DT"),?70," PAGE: ",ASUC("PG")
  1. W !,"AREA: ",ASUL(1,"AR","E#")," ",ASUL(1,"AR","NM")
  1. W !,"STAT: ",ASUL(2,"STA","CD")," ",ASUL(2,"STA","NM"),?35,"ACCOUNT : ",ASUL(9,"ACC","NM")
  1. W !!,"SLC INDEX",?52,"U UNIT RECORD INV"
  1. W !," ORD/NSN NUMBER DESCRIPTION",?53,"I COST BALANCE QTY"
  1. D SEPERATE
  1. Q
  1. SEPERATE ;
  1. W !,"_______________________________________________________________________________"
  1. Q
  1. FOOTING ;
  1. S ASUC("LN")=0
  1. Q
  1. ASUV3AL0 ;
  1. K ^ASUV("OS")
  1. S ASUMV("E#","SLC")=0
  1. F S ASUMV("E#","SLC")=$O(^ASUMV(ASUMV("E#","ASA"),1,ASUMV("E#","SLC"))) Q:ASUMV("E#","SLC")'?1N.N D
  1. .S ASUMV("E#","INDX")=0
  1. .F S ASUMV("E#","INDX")=$O(^ASUMV(ASUMV("E#","ASA"),1,ASUMV("E#","SLC"),1,ASUMV("E#","INDX"))) Q:ASUMV("E#","INDX")'?1N.N D
  1. ..D ^ASUV9IMR
  1. ..I ASUMV("QTY","DIF")<2,ASUMV("QTY","DIF")'<-1 D Q
  1. ...S ASUMV("CNT-ENT")=3 D INDEX^ASUV9IMW
  1. ..S ^ASUV("OS",ASUMV("E#","ASA"),ASUMV("E#","INDX"))=ASUMV("E#","SLC")
  1. Q