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

ASUCOMOR.m

Go to the documentation of this file.
  1. ASUCOMOR ; IHS/ITSC/LMH -MONTH REPORT DRIVER ;
  1. ;;4.2T2;Supply Accounting Mgmt. System;;JUN 30, 2000
  1. ;This routine controls the sequence for processing during a monthly
  1. ;closeout update run.
  1. D TIME^ASUUDATE
  1. S:$G(ASUP("TYP"))']"" ASUP("TYP")=2
  1. S ASUP("CKM")=+$G(ASUP("CKM"))
  1. Q:ASUP("CKM")>20
  1. S ASURX="W !,""S.A.M.S. Monthly Reports Procedure begun "_ASUK("DT","TIME")_"""" D ^ASUUPLOG
  1. G:ASUP("CKM")>1 SORT
  1. XTR ;
  1. I ASUP("CKM")=0 D
  1. .I ASUP("UPLD")=1!(ASUP("UPLD")=3) D
  1. ..D TIME^ASUUDATE
  1. ..S ASURX="W !,""Month end Upload for SAMS Processing "_ASUK("DT","TIME")_"""" D ^ASUUPLOG
  1. ..I ASUP("CKM")=0
  1. ..D MO^ASUW2SAM(ASUP("MO")) Q:ASUP("HLT") S ASUP("CKM")=1 D SETSM^ASUCOSTS
  1. ..D TIME^ASUUDATE
  1. ..S ASURX="W !,""Month end Upload for SAMS Completed "_ASUK("DT","TIME")_"""" D ^ASUUPLOG
  1. .I ASUP("UPLD")=2!(ASUP("UPLD")=3) D
  1. ..D TIME^ASUUDATE
  1. ..S ASURX="W !,""Month end Extract for STORES Processing "_ASUK("DT","TIME")_"""" D ^ASUUPLOG
  1. ..I ASUP("CKM")=0
  1. ..D MO^ASUW2STO(ASUP("MO")) Q:ASUP("HLT") S ASUP("CKM")=1 D SETSM^ASUCOSTS
  1. ..D TIME^ASUUDATE
  1. ..S ASURX="W !,""Month end Extract for STORES Completed "_ASUK("DT","TIME")_"""" D ^ASUUPLOG
  1. SORT ;
  1. I ASUP("CKM")=1 S ASUP("CKM")=2 D SETSM^ASUCOSTS
  1. I ASUP("CKM")=2 D Q:ASUP("HLT")
  1. .S ASURX="W !?3,""Monthly Extracts being built for reports: 10V""" D ^ASUUPLOG
  1. .;D ^ASUMCPSM,TRANS^ASUMCPSM Q:ASUP("HLT")
  1. .S ASUP("CKM")=3 D SETSM^ASUCOSTS
  1. I ASUP("CKM")=3 D Q:ASUP("HLT")
  1. .S ASURX="W "" 12""" D ^ASUUPLOG
  1. .D SORT^ASURM12P Q:ASUP("HLT") S ASUP("CKM")=4 D SETSM^ASUCOSTS
  1. I ASUP("CKM")=4 D Q:ASUP("HLT")
  1. .S ASURX="W "" 14""" D ^ASUUPLOG
  1. .;D SORT^ASURM14P Q:ASUP("HLT")
  1. .S ASUP("CKM")=5 D SETSM^ASUCOSTS
  1. I ASUP("CKM")=5 D Q:ASUP("HLT")
  1. .S ASURX="W "" 15""" D ^ASUUPLOG
  1. .;beginning Y2K
  1. .;S ASUDT=$E(ASUK("DT","FM"),1,5)_"00",ASUTYP="M"
  1. .D Y2K ;Y2000
  1. .;end Y2K fix block
  1. .D GET^ASURM15P Q:ASUP("HLT")
  1. .S ASUP("CKM")=6 D SETSM^ASUCOSTS
  1. I ASUP("CKM")=6 D Q:ASUP("HLT")
  1. .S ASURX="W "" 16""" D ^ASUUPLOG
  1. .;begin Y2K
  1. .;S ASUDT=$E(ASUK("DT","FM"),1,5)_"00",ASUTYP="M"
  1. .D Y2K ;Y2000
  1. .;end Y2K fix block
  1. .D GET^ASURM16P Q:ASUP("HLT")
  1. .S ASUP("CKM")=7 D SETSM^ASUCOSTS
  1. I ASUP("CKM")=7 D Q:ASUP("HLT")
  1. .S ASURX="W "" 17""" D ^ASUUPLOG
  1. .;begin Y2K
  1. .;S ASUDT=$E(ASUK("DT","FM"),1,5)_"00",ASUTYP="M"
  1. .D Y2K ;Y2000
  1. .;end Y2K fix block
  1. .D GET^ASURM17P Q:ASUP("HLT")
  1. .S ASUP("CKM")=8 D SETSM^ASUCOSTS
  1. I ASUP("CKM")=8 D Q:ASUP("HLT")
  1. .S ASURX="W "" 23""" D ^ASUUPLOG
  1. .D SORT^ASURM23P Q:ASUP("HLT") S ASUP("CKM")=9 D SETSM^ASUCOSTS
  1. I ASUP("CKM")=9 D Q:ASUP("HLT")
  1. .S ASURX="W "" 24""" D ^ASUUPLOG
  1. .D SORT^ASURM24P Q:ASUP("HLT") S ASUP("CKM")=10 D SETSM^ASUCOSTS
  1. I ASUP("CKM")=10 D Q:ASUP("HLT")
  1. .S ASURX="W "" 74""" D ^ASUUPLOG
  1. .D CMPT^ASURM74P Q:ASUP("HLT") S ASUP("CKM")=11 D SETSM^ASUCOSTS
  1. I ASUP("CKM")=11 D Q:ASUP("HLT")
  1. .S ASURX="W "" 76""" D ^ASUUPLOG
  1. .D ^ASURO760 Q:ASUP("HLT") S ASUP("CKM")=12 D SETSM^ASUCOSTS
  1. I ASUP("CKM")=12 D Q:ASUP("HLT")
  1. .S ASURX="W "" 79""" D ^ASUUPLOG
  1. .D CMPT^ASURM79P Q:ASUP("HLT") S ASUP("CKM")=13 D SETSM^ASUCOSTS
  1. ;WAR 4/15/99 TEMP FIX FOR NOW... NEED TO REMOVE LATER
  1. S ASUP("CKM")=18 D SETSM^ASUCOSTS
  1. G SKIP ; AGAIN, REMOVE THIS LATER
  1. I ASUP("CKM")=13 D Q:ASUP("HLT")
  1. .S ASURX="W "" DBA""" D ^ASUUPLOG
  1. .;begin Y2K
  1. .;S ASUDT=$E(ASUK("DT","FM"),1,5)_"00",ASUTYP="M"
  1. .D Y2K ;Y2000
  1. .;end Y2K fix block
  1. .D GET^ASURMDBA Q:ASUP("HLT") S ASUP("CKM")=14 D SETSM^ASUCOSTS
  1. I ASUP("CKM")=14 D Q:ASUP("HLT")
  1. .S ASURX="W "" DBC""" D ^ASUUPLOG
  1. .;begin Y2K
  1. .;S ASUDT=$E(ASUK("DT","FM"),1,5)_"00",ASUTYP="M"
  1. .D Y2K ;Y2000
  1. .;end Y2K fix block
  1. .D GET^ASURMDBC Q:ASUP("HLT") S ASUP("CKM")=15 D SETSM^ASUCOSTS
  1. I ASUP("CKM")=15 D Q:ASUP("HLT")
  1. .S ASURX="W "" DBH""" D ^ASUUPLOG
  1. .;begin Y2K
  1. .;S ASUDT=$E(ASUK("DT","FM"),1,5)_"00",ASUTYP="M"
  1. .D Y2K ;Y2000
  1. .;end Y2K fix block
  1. .D GET^ASURMDBH Q:ASUP("HLT") S ASUP("CKM")=16 D SETSM^ASUCOSTS
  1. I ASUP("CKM")=16 D Q:ASUP("HLT")
  1. .S ASURX="W "" DBK""" D ^ASUUPLOG
  1. .;begin Y2K
  1. .;S ASUDT=$E(ASUK("DT","FM"),1,5)_"00",ASUTYP="M"
  1. .D Y2K ;Y2000
  1. .;end Y2K fix block
  1. .N X F X=1:1:5,9,999 D
  1. ..S ASURPT="K"_X
  1. ..D GET^ASURMDBK Q:ASUP("HLT")
  1. .S ASUP("CKM")=17 D SETSM^ASUCOSTS
  1. I ASUP("CKM")=17 D Q:ASUP("HLT")
  1. .S ASURX="W "" DBL""" D ^ASUUPLOG
  1. .;begin Y2K
  1. .;S ASUDT=$E(ASUK("DT","FM"),1,5)_"00",ASUTYP="M"
  1. .D Y2K ;Y2000
  1. .;end Y2K fix block
  1. .D GET^ASURMDBL Q:ASUP("HLT") S ASUP("CKM")=18 D SETSM^ASUCOSTS
  1. SKIP ;
  1. I ASUP("CKM")=18 D Q:ASUP("HLT")
  1. .S ASURX="W !?3,""Station Master PAMIQ and RPQ recalculating""" D ^ASUUPLOG
  1. .D PAMIQ Q:ASUP("HLT") S ASUP("CKM")=19 D SETSM^ASUCOSTS
  1. I ASUP("CKM")=19 D Q:ASUP("HLT")
  1. .S ASURX="W !?3,""Clearing and Updating YTD ISSUE DATA fields""" D ^ASUUPLOG
  1. .D MO^ASUMYDPS Q:ASUP("HLT") S ASUP("CKM")=20 D SETSM^ASUCOSTS
  1. I ASUP("CKM")=20 D Q:ASUP("HLT")
  1. .S ASURX="W !?3,""Clearing and Updating ISSUE BOOK fields""" D ^ASUUPLOG
  1. .D CLMO^ASUMKBPS Q:ASUP("HLT") S ASUP("CKM")=21 D SETSM^ASUCOSTS
  1. .I ASUP("OLIB") D CRMSTR^ASUJOLIB
  1. D TIME^ASUUDATE
  1. S ASURX="W !,""S.A.M.S. Monthly Closeout Procedure ended "_ASUK("DT","TIME")_"""" D ^ASUUPLOG
  1. Q
  1. PAMIQ ;END OF MONTH RECALCULATE PAMIQ
  1. ;This sub routine is used to calculate a new Projected
  1. ;Average Issue Quantity (PAMIQ) for each Index number. The PAMIQ is
  1. ;used in calculating the Economic Order Quantity (EOQ) whenever stock
  1. ;for the Index item gets low enough appear on the Requirements
  1. ;Analysis Report (Report 13) entry.
  1. S (ASUMS("RPQ"),ASUMS("E#","IDX"),ASUMS("PMIQ"))=""
  1. S ASUMS("E#","STA")=0
  1. F S ASUMS("E#","STA")=$O(^ASUMS(ASUMS("E#","STA"))) Q:ASUMS("E#","STA")'?1N.N S ASUMS("E#","IDX")=0 D
  1. .F S ASUMS("E#","IDX")=$O(^ASUMS(ASUMS("E#","STA"),1,ASUMS("E#","IDX"))) Q:ASUMS("E#","IDX")'?1N.N D
  1. ..D ^ASUMSTRD
  1. ..Q:ASUF("DLIDX")
  1. ..S ASUMS("RPQ-O")=ASUMS("RPQ") ;Save Old Review Point Quantity
  1. ..S X=ASUMS("ESTB") S:+($E(X,6,7))=0 X=X+30 ;If day = 0 set to 30
  1. ..D H^%DTC S X(2)=%H
  1. ..S X=ASUK("DT","FM") D H^%DTC S X(3)=%H
  1. ..S X(2)=X(3)-X(2) K X(3) ;Get diff of today - date estb
  1. ..I X(2)<366 D ;Less than a year since established
  1. ...S ASUMS("PMIQ-F")=ASUMS("PMIQ")*.60 ;Old PAMIQ weight 60%
  1. ...S ASUV("CISSWT")=ASUMS("DMD","QTY",+ASUP("MO"))*.40 ;Current Month issues weight 40%
  1. ..I X(2)>365 D ;More than a year since established
  1. ...S ASUMS("PMIQ-F")=ASUMS("PMIQ")*.90 ;Old PAMIQ weight 90%
  1. ...S ASUV("CISSWT")=ASUMS("DMD","QTY",+ASUP("MO"))*.10 ;Current Month issues weight 10%
  1. ..K X
  1. ..S ASUMS("PMIQ")=$FN(ASUMS("PMIQ-F")+ASUV("CISSWT"),"-",0) ;Calculate new PAMIQ and round to even number
  1. ..S ASUV("MO")=ASUP("MO")+1 S:ASUV("MO")=13 ASUV("MO")=1
  1. ..S ASUMS("DMD","QTY",ASUV("MO"))="" ;Reset Demand Quantity for this month next year
  1. ..S ASUMS("DMD","CALL",ASUV("MO"))="" ;Reset Demand Calls for this month next year
  1. ..I ASUMS("EOQ","TP")'="P" D
  1. ...S ASUMS("RPQ")=$FN(((ASUMS("LTM")+ASUMS("SFSKM"))*ASUMS("PMIQ")),"-",0) ;Calculate new RPQ and round off to even quantity
  1. ..D ^ASUMSTWR ;Update Station master
  1. Q
  1. Y2K ;begin Y2K
  1. S X=$E(ASUK("DT","FM"),2,5) ;Y2000 CYYMM
  1. D START^ASUUY2K(.X,1,U,"Y") ;Y2000
  1. S ASUDT=Y ;Y2000
  1. S ASUTYP="M" ;Y2000
  1. ;end Y2K fix block
  1. Q