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

ACRFSTOK.m

Go to the documentation of this file.
  1. ACRFSTOK ;IHS/OIRM/DSD/THL,AEF - ADD/EDIT STOCK ITEMS; [ 11/01/2001 9:44 AM ]
  1. ;;2.1;ADMIN RESOURCE MGT SYSTEM;;NOV 05, 2001
  1. ;;ROUTINE TO ADD OR EDIT STANDARD ITEMS
  1. ITEM F D ITEM1 Q:$D(ACRQUIT)!$D(ACROUT)
  1. K ACRQUIT,ACR,ACRSEQ,ACRDA,ACRSET,ACRSTOCK
  1. Q
  1. ITEM1 W @IOF
  1. K ACRQUIT,ACR,ACRSEQ,ACRDA,ACRSET,ACRSTOCK
  1. W !?22,"ADD/EDIT STANDARD ITEMS"
  1. W !?21,"|==============================|"
  1. S DIR(0)="FO^1:30"
  1. S DIR("A")="STANDARD ITEM......."
  1. S DIR("?")="^ S DIC=""^ACRITEM("",DIC(0)=""EMZ"" D DIC^ACRFDIC K DIC"
  1. D DIR^ACRFDIC
  1. Q:$D(ACRQUIT)!$D(ACROUT)!(X="")!($E(X)=U)!($E(X)="?")
  1. S ACRX=X
  1. S DIC="^ACRITEM("
  1. S DIC(0)="EMZ"
  1. S DIC("S")="Q:'$D(^ACRITEM(+Y,""DT1"")) I $P(^(""DT1""),U,3)=1!($P(^(""DT1""),U,3)="""")"
  1. D DIC^ACRFDIC
  1. I $D(ACRQUIT)!$D(ACROUT)!('$L(X)) K ACRQUIT Q
  1. S ACRDA=Y
  1. I +ACRDA<1,$L(X)>2 D I $D(ACRQUIT) K ACRQUIT Q
  1. .S DIR(0)="YOA"
  1. .S DIR("A")=" ADD "_X_" AS A NEW ARMS STANDARD ITEM? "
  1. .D DIR^ACRFDIC
  1. .I Y'=1 S ACRQUIT="" Q
  1. .S DIC("DR")="1////"_ACRX
  1. .D NEW^ACRFSTK1
  1. ITEM11 ;EDIT A STANDARD ITEM
  1. Q:+ACRDA<1
  1. I $P($G(^ACRITEM(+ACRDA,"DT1")),U,3)'=1,$P($G(^ACRITEM(+ACRDA,"DT")),U)]"" D
  1. .S ACRPDA=$P(^ACRITEM(+ACRDA,"DT"),U,15)
  1. .Q:'ACRPDA
  1. .S ACRYY=0
  1. .F S ACRYY=$O(^ACRITEM("G",ACRPDA,ACRYY)) Q:'ACRYY I $D(^ACRITEM(ACRYY,"DT1")),$P(^("DT1"),U,3)=1 S ACRDA=ACRYY Q
  1. S (ACRD0,ACRITMDA)=+ACRDA
  1. S ACRSEQ=1
  1. N ACRY
  1. S ACRY=$P(ACRDA,U,3)
  1. F D ITEM2 Q:$D(ACRQUIT)!$D(ACROUT)
  1. K ACRQUIT
  1. I ACRSEQ<3,$G(ACR(1)),'$D(ACRDEL),$P($G(^ACRITEM(+ACR(1),"DT1")),U) D
  1. .F D ITEM5 Q:$D(ACRQUIT)!$D(ACROUT)!(ACRSEQ>2)
  1. K ACRQUIT,ACRDEL
  1. Q
  1. ITEM2 I ACRY=1 S ACRSEQ=1 D ITEM3 Q:$D(ACRQUIT)!$D(ACROUT)
  1. D DISP^ACRFSTK1
  1. I ACRSEQ>1 D
  1. .S DIR(0)="YO"
  1. .S DIR("A")="Change Vendor priority"
  1. .S DIR("B")="NO"
  1. .D DIR^ACRFDIC
  1. .I Y=1 D
  1. ..I ACRSEQ=2 D
  1. ...S ACRX=ACR(2)
  1. ...S ACR(2)=ACR(1)
  1. ...S ACR(1)=ACRX
  1. ...F ACRX=1,2 D
  1. ....S DA=+ACR(ACRX)
  1. ....S DIE="^ACRITEM("
  1. ....S DR="15////"_+ACR(1)_";26////"_ACRX
  1. ....D DIE^ACRFDIC
  1. ..I ACRSEQ=3 D
  1. ...F ACRX=1:1:3 S ACRX(ACRX)=$G(ACR(ACRX))
  1. ...S ACRPRI=0
  1. ...W !
  1. ...F S ACRPRI=$O(ACR(ACRPRI)) Q:'ACRPRI
  1. ...S DIR(0)="SOB^2:"_$P(ACR(2),U,3)_";3:"_$P(ACR(3),U,3)
  1. ...S DIR("A")="New Primary Vendor"
  1. ...D DIR^ACRFDIC
  1. ...I Y D
  1. ....S ACRX=Y
  1. ....S ACRX(Y)=ACR(1)
  1. ....S ACRX(1)=ACR(Y)
  1. ....S ACRSET="1:"_$P(ACR(1),U,3)_";"
  1. ....S ACRSET=$S(Y=2:ACRSET_"3:"_$P(ACR(3),U,3),1:ACRSET_"2:"_$P(ACR(2),U,3))
  1. ...Q:'Y
  1. ...S DIR(0)="SOB^"_ACRSET
  1. ...S DIR("A")="New Secondary Vendor"
  1. ...D DIR^ACRFDIC
  1. ...I Y=1 D
  1. ....S ACRX(2)=ACR(Y)
  1. ....S ACRX(3)=ACR($S(ACRX+Y=3:3,ACRX+Y=4:2,1:1))
  1. ...F ACRX=1:1:3 D
  1. ....S ACR(ACRX)=ACRX(ACRX)
  1. ....S DA=+ACR(ACRX)
  1. ....S DIE="^ACRITEM("
  1. ....S DR="15////"_+ACR(1)_";26////"_ACRX
  1. ....D DIE^ACRFDIC
  1. K ACRQUIT
  1. S DIR(0)="YO"
  1. S DIR("A")="Edit Item Data........"
  1. S DIR("B")="NO"
  1. D DIR^ACRFDIC
  1. I Y'=1 S ACRQUIT="" Q
  1. D ITEM3
  1. Q
  1. ITEM3 S ACRY=""
  1. D:'$D(ACRADD) ITEM4
  1. ITEM31 Q:$D(ACRQUIT)!$D(ACROUT)
  1. S:'$D(Y) Y="G"
  1. S:"123G"'[Y Y="G"
  1. S:Y="G" ACRG=""
  1. S DA=+ACRDA
  1. S DR=$S(Y:"[ACR DI VENDOR]",1:"[ACR ADD DIRECT ISSUE]")
  1. K ACRSSITM
  1. ITEM311 S DIE="^ACRITEM("
  1. S ACRITEM=""
  1. S:$D(^ACRITEM(ACRDA,"DT1")) ACRMESS=$S(DR["SEC":"VENDOR - "_$S($P(^("DT1"),U)]"":$P(^AUTTVNDR($P(^ACRITEM(ACRDA,"DT1"),U),0),U),1:""),1:"STANDARD ITEM GENERAL INFO")
  1. D DIE^ACRFDIC
  1. K ACRITEM
  1. I $D(ACRG) F ACR=2,3 D:$D(ACR(ACR))
  1. .S ^ACRITEM(+ACR(ACR),"DT")=^ACRITEM(ACRDA,"DT")
  1. .S:$D(^ACRITEM(ACRDA,"DT2")) ^ACRITEM(+ACR(ACR),"DT2")=^ACRITEM(ACRDA,"DT2")
  1. .K ACRG
  1. I $D(ACRDEL) D DELETE^ACRFSTK1
  1. Q
  1. ITEM4 K ACRADD
  1. S ACRSET="G:GENERAL INFORMATION;"_$S(ACRSEQ=1:"1:PRIMARY VENDOR",ACRSEQ=2:"1:PRIMARY VENDOR;2:SECONDARY VENDOR",1:"1:PRIMARY VENDOR;2:SECONDARY VENDOR;3:TERTIARY VENDOR")
  1. S DIR(0)="SO^"_ACRSET
  1. S DIR("A")="Which OPTION"
  1. D DIR^ACRFDIC
  1. Q:$D(ACRQUIT)!$D(ACROUT)
  1. Q:Y=""
  1. Q:'$D(ACR(Y))&'$D(ACR(1))
  1. S ACRDA=$S(Y&$D(ACR(Y)):+ACR(Y),1:+ACR(1))
  1. S:Y>1 ACRDEL=+ACR(Y)_U_Y
  1. Q
  1. ITEM5 S DIR(0)="YO"
  1. S DIR("A")="Add a "_$S(ACRSEQ=1:"Secondary",1:"Tertiary ")_" Vendor"
  1. S DIR("B")="NO"
  1. D DIR^ACRFDIC
  1. I Y'=1 S ACRQUIT="" Q
  1. S DIC="^AUTTVNDR("
  1. S DIC(0)="AEMQZ"
  1. S DIC("A")="VENDOR..............: "
  1. D DIC^ACRFDIC
  1. Q:+Y<1!$D(ACRQUIT)!$D(ACROUT)
  1. S ACRVDA=+Y,ACR=0
  1. S ACRSEQ=ACRSEQ+1
  1. S X=ACRINDEX
  1. S DIC(0)="L"
  1. S DIC="^ACRITEM("
  1. S DIC("DR")="24////"_ACRVDA_";26////"_ACRSEQ
  1. D FILE^ACRFDIC
  1. Q:+Y<1
  1. S (DA,ACRDA)=+Y
  1. S $P(^ACRITEM(+Y,0),U,2)=$P(^ACRITEM(ACRDA(1),0),U,2)
  1. S ^ACRITEM(+Y,"DT")=^ACRITEM(+ACRDA(1),"DT")
  1. S DIK="^ACRITEM("
  1. D IX1^ACRFDIC
  1. S DA=+ACRDA
  1. S DIE="^ACRITEM("
  1. S DR=".03////"_ACRSEQ_";15////"_+ACRDA(1)_";26////"_ACRSEQ
  1. D DIE^ACRFDIC
  1. S (DA,ACRDA(ACRSEQ))=ACRDA
  1. S DR="[ACR DI VENDOR]"
  1. D ITEM311
  1. Q
  1. ADD ;EP;TO ADD ITEM TO SI FILE DURING PO PROCESSING
  1. S ACRADD=""
  1. S ACRSSITM=""
  1. S X=^ACRSS(ACRSSDA,0)
  1. S ACRDT=$G(^ACRSS(ACRSSDA,"DT"))
  1. S ACRKW=$G(^ACRSS(ACRSSDA,"NMS"))
  1. S ACRVND=$G(^ACRSS(ACRSSDA,"VND"))
  1. S ACRDSC=$G(^ACRSS(ACRSSDA,"DESC"))
  1. S:ACRDSC[";" ACRDSC=$TR(ACRDSC,";",",")
  1. S DIC="^ACRITEM("
  1. S DIC(0)="LZ"
  1. S DIC("DR")=".02////"_$E($P(ACRKW,U,5),1,16)_";1////"_$P(ACRDSC,U)_";2////"_$P(ACRDSC,U,2)_";4////"_$P(ACRDT,U,4)_";29////"_$P(ACRDT,U,2)_";12////"_$P(ACRDT,U,2)_";13////"_$P(ACRDT,U,3)_";8////"_DT_";6////"_$P(X,U,4)
  1. S DIC("DR")=DIC("DR")_";24////"_+ACRVND_";50////"_$P(ACRDSC,U,3)_";51////"_$P(ACRDSC,U,4)_";52////"_$P(ACRDSC,U,5)
  1. D NEW^ACRFSTK1
  1. D ITEM11
  1. K ACRSSITM
  1. Q