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

ASUV0NT.m

Go to the documentation of this file.
  1. ASUV0NT ; IHS/ASDST/WAR -INVTR INITIALIZE INVENTORY ;
  1. ;;4.2T2;Supply Accounting Mgmt. System;;JUN 30, 2000
  1. ;;4.2T1;SUPPLY ACCOUNTING MGMT SYSTEM;;JAN 28, 2000
  1. ;This routine initializes the Physical Inventory Master (in ^ASUMV) for
  1. ;an account after verifying there is no current inventory active for
  1. ;that account. The Physical Inventory Master contains information from
  1. ;the Station Master (in ^ASUMS) concerning quantity and value at the
  1. ;beginning of an inventory. Once the Physical Inventory Master is
  1. ;initialized, a Physical Inventory can be conducted at the same time
  1. ;items are being issued from the account. It in effect 'freezes' the
  1. ;inventory information from the Station master for the items of that
  1. ;account.
  1. D:'$D(DT) ^XBKVAR
  1. D:$G(ASUK("DT","FM"))']"" DATE^ASUUDATE
  1. S ASUV("DT")=ASUK("DT","FM")
  1. D CLS^ASUUHDG
  1. I $G(ASUL(2,"STA","E#"))']"" D STA I $D(DTOUT)!($D(DUOUT)) G EXIT
  1. S DIC("A")="CREATE AN INVENTORY MASTER FILE 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. 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. S ASUMS("E#","STA")=$O(^ASUMS("B",ASUL(2,"STA","E#"),"")) ;;CHG 3/13/95 CSC
  1. Q:ASUMS("E#","STA")'?1N.N
  1. I $D(^ASUMV(ASUMV("E#","ASA"),0)) D
  1. .D ACCOUNT^ASUV9IMR
  1. .I ASUMV("MODE")=4 D
  1. ..D REPACCT^ASUV9IMW
  1. .E D
  1. ..W !!,"YOU HAVE REQUESTED AN PHYSICAL INVENTORY BE INITIALIZED, BUT AN"
  1. ..W !,"INVENTORY IS ALREADY ACTIVE FOR ACCOUNT ",ASUMV("ACC")," ",ASUL(9,"ACC","NM")
  1. ..W !,"THE STATUS OF THAT INVENTORY IS ",$S(ASUMV("MODE")=0:"INITIALIZED",ASUMV("MODE")=1:"INITIAL COUNT",ASUMV("MODE")=2:"RE-COUNT",ASUMV("MODE")=3:"RESEARCH",1:"COMPLETE")," MODE",!
  1. ..S DIR("A")="DO YOU WANT TO CANCEL THE CURRENT INVENTORY AND START AGAIN"
  1. ..S DIR(0)="Y",DIR("B")="N"
  1. ..S DIR("?")="Answer 'Y' to cancel the inventory or 'N' end the Inventory file Initialzation"
  1. ..D ^DIR K DIR
  1. ..Q:$D(DUOUT) Q:$D(DTOUT)
  1. ..I Y=0 S DUOUT=1 Q
  1. ..W !!,"WARNING! THIS WILL CAUSE ALL COUNTS TO BE LOST FOR THE CURRENT INVENTORY!",!!
  1. ..S DIR("A")="ARE YOU SURE YOU WANT TO CANCEL THE CURRENT INVENTORY"
  1. ..S DIR(0)="Y",DIR("B")="N"
  1. ..D ^DIR K DIR
  1. ..Q:$D(DUOUT) Q:$D(DTOUT)
  1. ..I Y=0 S DUOUT=1 Q
  1. ..D REPACCT^ASUV9IMW
  1. E D
  1. .D NEWACCT^ASUV9IMW
  1. G:$D(DUOUT)!($D(DTOUT)) EXIT
  1. W !
  1. S DIR("A")="ENTER A VOUCHER NUMBER FOR THE INVENTORY ADJUSTMENTS"
  1. S DIR(0)="F^8:8^D VOU^ASUJVALF(.X,.DDSERROR)"
  1. S DIR("?")="Voucher Number must be 8 numeric digits, not all zeors in format FYMMNNNN"
  1. D ^DIR K DIR
  1. I $D(DUOUT)!($D(DTOUT)) D DELACCT^ASUV9IMW G EXIT
  1. S ASUR("VOU")=X
  1. S ASUMV("VOU")=ASUR("VOU")
  1. S ASUMV("MODE")=0
  1. D ACCOUNT^ASUV9IMW
  1. ;D ASUV0NT1
  1. ASUV0NT1 ;
  1. S ASUMS("E#","STA")=$O(^ASUMS("B",ASUL(2,"STA","E#"),"")) ;;CHG 3/13/95 CSC
  1. Q:ASUMS("E#","STA")'?1N.N
  1. S (ASUC("ITEMS"),ASUMS("E#","IDX"))=0
  1. F S ASUMS("E#","IDX")=$O(^ASUMS(ASUMS("E#","STA"),1,ASUMS("E#","IDX"))) Q:((ASUMS("E#","IDX")'?1N.N)!(ASUMS("E#","IDX")[999999)) D
  1. .S (ASUMV("IDX"),ASUMX("E#","IDX"))=ASUMS("E#","IDX") D READ^ASUMXDIO
  1. .; ** LMH 6/15/00 QUIT IF INDEX MSTR. HAS BEEN DELETED **
  1. .Q:ASUMX("IDX")[999999!(ASUMX("IDX")="")
  1. .Q:'$D(ASUMX("ACC"))
  1. .Q:ASUMV("ACC")'=ASUMX("ACC")
  1. .S ASUC("ITEMS")=ASUC("ITEMS")+1
  1. .S ASUMV("E#","INDX")=ASUMX("IDX") D ^ASUMSTRD
  1. .Q:$G(ASUMS("DEL"))]""
  1. .S:ASUMS("SLC")=""!(ASUMS("SLC")=" ") ASUMS("SLC")="W"
  1. .S ASUMV("E#","SLC")=$O(^ASUL(10,"B",ASUMS("SLC"),""))
  1. .D NEWSLC^ASUV9IMW
  1. .S ASUMV("STA")=ASUMS("E#","STA")
  1. .I ASUMS("QTY","O/H")>0,ASUMS("VAL","O/H")>0 D
  1. ..S ASUMV("U/C")=$FN(ASUMS("VAL","O/H")/ASUMS("QTY","O/H"),"",2)
  1. .E D
  1. ..S ASUMV("U/C")=ASUMS("LPP")
  1. .S ASUMV("QTY","STAM")=ASUMS("QTY","O/H")
  1. .I ASUMV("QTY","STAM")=""!(ASUMV("QTY","STAM")=" ") S ASUMV("QTY","STAM")=0
  1. .D NEWIDX^ASUV9IMW
  1. I ASUC("ITEMS") D
  1. .S ASUMV("E#","SLC")=""
  1. .F S ASUMV("E#","SLC")=$O(^ASUMV(ASUMV("E#","ASA"),1,"B",ASUMV("E#","SLC"))) Q:ASUMV("E#","SLC")']"" D XREF^ASUV9IMW
  1. .W !!,ASUC("ITEMS")," ITEMS SCHEDULED FOR PHYSICAL INVENTORY FOR ACCOUNT ",ASUMV("ACC")," ",ASUL(9,"ACC","NM")
  1. .W !!,"NOW PRINT REPORT 37, 'PHYSICAL INVENTORY LIST' TO BEGIN THE INVENTORY",!!
  1. E D
  1. .W !!,"NO ITEMS FOUND FOR ACCOUNT ",ASUMV("ACC")," ",ASUL(9,"ACC","NM"),!
  1. S DIR(0)="E" D ^DIR K DIR
  1. ;Q
  1. K DIK,DA
  1. EXIT ;
  1. K ASUC("TR"),ASUMV,ASUMX,ASUMS,ASUR,ASUV
  1. K DTOUT,DUOUT,DIC,X,Y,X2
  1. K ASUL(3),ASUL(5),ASUL(6),ASUL(8),ASUL(9),ASUL(10)
  1. Q
  1. STA ;EP ;
  1. D:'$D(DT) ^XBKVAR
  1. D:$G(ASUK("DT","FM"))']"" DATE^ASUUDATE
  1. D:$G(ASUL(1,"AR","AP"))']"" SETAREA^ASULARST
  1. S ASUV("DT")=ASUK("DT","FM")
  1. W !!
  1. S DIC("A")="PROCESS INVENTORY FOR WHAT STATION? "
  1. S DIC="9002039.02",DIC(0)="AMEZQ"
  1. D ^DIC K DIC
  1. I $D(DTOUT)!($D(DUOUT)) Q
  1. I Y>0 D
  1. .S ASUL(2,"STA","E#")=+Y
  1. .S X=ASUL(1,"AR","AP"),X1=$P(Y,U,1) D STAT^ASULARST
  1. .S ASUL(2,"STA","E#")=ASUL(1,"AR","AP")_"0"_ASUL(2,"STA","CD")
  1. .W ?30,ASUL(2,"STA","NM")
  1. E S DUOUT=1
  1. W !
  1. Q